@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap&text=%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40%C2%A9ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D%7E'); /* URLエンコード→ !"#$%&'()*+,-./0123456789:;<=>?@©ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ */



:root {
	--color-main: #0070c0;
}


/*================================================
 *  一般・共通設定
 ================================================*/

body {
	font-size:16px;
	font-family: "Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Helvetica,sans-serif;
	color: #333;
	text-align: justify;
	text-justify: inter-ideograph;
}

[lang=en] body {
	text-align: left;
}

a,.linearAnime {
	color: inherit;
	text-decoration: none;
	-webkit-transition: all 0.1s linear;
	transition: all 0.1s linear;
}
a.underline {
	text-decoration: underline;
	text-decoration-thickness: 1px;
}
a:hover {
	opacity: 0.7;
}
a.underline:hover {
	opacity: 1;
	text-decoration: none;
}
@media screen and (min-width:767.1px) {
	a[href^="tel"] {
		pointer-events: none;
	}
}

img,svg {
	vertical-align: bottom;
}

/*色*/
.color_main {
	color: #0070c0;
}
.color_red {
	color: #bf0000;
}
.color_white {
	color: #fff;
}


/*背景*/
.bg_main {
	background-color: #0070c0;
}
.bg_white {
	background-color: #fff;
}
.bg_transparent {
	background-color: transparent;
}


.bg_lightblue {
	background-color: #e6f1f9;
}


/*線の色*/
.bdc_main {
	border-color:  #0070c0!important;
}
.bdc_white {
	border-color: #fff!important;
}


/* position */
.relative{
	position: relative;
}
.absolute{
	position: absolute;
}

.of-h {
	overflow: hidden;
}

/* sp/pcの切替 */
.sp,.sp_inline {
	display: none;
}

/*文字揃え*/
.ta-l {
	text-align: justify;
	text-justify: inter-ideograph;
}
.ta-r {
	text-align: right;
}
.ta-c {
	text-align: center;
}
.pcspText { /*PC：中央揃え・SP左揃え用*/
	text-align: center;
}


/*文字種類*/
.ff_oswald {
	font-family: "Oswald", sans-serif;
	font-weight: 400;
}

/*文字太さ*/
.fontThin {
	font-weight: 100;
}
.fontExLight {
	font-weight: 200;
}
.fontLight {
	font-weight: 300;
}
.fontRegular {
	font-weight: 400;
}
.fontMedium {
	font-weight: 500;
}
.fontSemiBold {
	font-weight: 600;
}
.fontBold {
	font-weight: 700;
}
.fontExBold {
	font-weight: 800;
}
.fontBlack {
	font-weight: 900;
}

/*文字スタイル*/
.fs_italic {
	font-style: italic;
}

/*Text Crop*/
.textcrop {
	display: block;
}
.textcrop::before,
.textcrop::after {
	content: '';
	display: block;
	height: 0;
	width: 0;
}
.textcrop::before {
	margin-bottom: -0.133em;
}
.textcrop::after {
	margin-top: -0.133em;
}
.textcrop.ff_oswald::before {
	margin-bottom: -0.13em;
}
.textcrop.ff_oswald::after {
	margin-top: -0.04em;
}

/*文字詰め*/
.ffs_palt {
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1; /*プロポーショナルメトリクス*/
}
.ffs_halt {
	-webkit-font-feature-settings: 'halt' 1;
	font-feature-settings: 'halt' 1; /*字幅半角メトリクス*/
}

/*上付き文字*/
.sup {
	font-size: 60%;
	vertical-align: super;
}

/*幅*/
.wrap,
.wrap_wide {
	margin: 0 auto;
	width: 100%;
	padding-left: 50px;
	padding-right: 50px;
}
.wrap {
	max-width: 1040px;
}
.wrap_wide {
	max-width: 1200px;
}
.maxw_100 {
	max-width: 100%;
	height: auto;
}

/*PC用左右padding用*/
@media screen and (min-width: 767.1px) {
	.padding_lr {
		padding-left: 50px;
		padding-right: 50px;
	}
}


/*高さ*/
.h100vh {
	height: 100vh;
	height: calc((var(--vh, 1vh) * 100));
}

/*Animate.css用*/
.animated,
.animated-dly-item,
.animation,
.animated-child {
	opacity: 0;
	animation-duration: 1s;
	animation-fill-mode: both;
}
.animated.move,
.animated-dly-item.move,
.animation.move,
.animated-child.move {
	opacity: 1;
}
.lazyload {
	opacity: 0;
}

/*object-fit*/
[class*="object-fit"] {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	font-family: 'object-fit: cover; object-position: center center;';
}
.object-fit-ct {
	object-fit: contain;
	font-family: 'object-fit: contain; object-position: center center;';
}
.object-fit-p-tc {
	object-position: top center;
}
.object-fit-p-bc {
	object-position: bottom center;
}



/*******flexbox*******/
[class*="flex_start"] {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
[class*="flex_end"] {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
[class*="flex_between"] {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
[class*="flex_center"] {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
[class*="flex_inline"] {
	display: -webkit-inline-box;
	display: inline-flex;
}
.nowrap {
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.shrink0 {
	flex-shrink: 0;
}
.align_items_start {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.align_items_center {
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.align_items_end {
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	align-items: flex-end;
}
.direction_column {
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	flex-direction: column;
}
.row_reverse {
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}


/*================================================
 *  切替共通用
 ================================================*/

body:not([id^="en"]) .change_en,
body#entry .change_en,
body[id^="en"]:not(#entry) .change_ja {
	display: none!important;
}


/*================================================
 *  矢印フォント
 ================================================*/

.icon-circle-arrow42,
.icon-circle-arrow-hover42 {
	font-size: 42px;
}

.icon-circle-arrow62,
.icon-circle-arrow-hover62 {
	font-size: 62px;
}
.icon-circle-arrow82,
.icon-circle-arrow-hover82 {
	font-size: 82px;
}
.icon-circle-arrow92,
.icon-circle-arrow-hover92 {
	font-size: 92px;
}

.hover_icon_ca:hover [class*="icon-circle-arrow"]:not([class*="icon-circle-arrow-hover"]),
.hover_icon_ca:not(:hover) [class*="icon-circle-arrow-hover"] {
	display: none;
}


/*================================================
 *  ホバー
 ================================================*/
.hover_opa:hover,
.hover_list_opa a:hover {
	opacity: 1;
}


.hover_color_main:hover {
	color: var(--color-main)!important;
}
.hover_color_white:hover {
	color: #fff!important;
}

.hover_bg_main:hover {
	background-color: var(--color-main)!important;
}
.hover_bg_white:hover {
	background-color: #fff!important;
}


.hover_bdc_main:hover {
	border-color: var(--color-main)!important;
}
.hover_bdc_white:hover {
	border-color: #fff!important;
}





/*================================================
 *  ボタン系（お問い合わせ除く）
 ================================================*/
/*******上左＋下右 角丸*******/
[class*="btn_corner"] {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	border: 1px solid;
	border-top-left-radius: 20px;
	border-bottom-right-radius: 20px;
	-webkit-transition: all 0.1s linear;
    transition: all 0.1s linear;
	position: relative;
}
[class*="btn_corner"].bg_main:not(:hover) > * {
	color: #fff;
}
[class*="btn_corner"]:hover {
	opacity: 1;
}
[class*="btn_corner"].bg_main:hover {
	background-color: transparent;
}

/*矢印有*/
.btn_corner_more {
	border-width: 2px;
	font-weight: bold;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding: 0 28px 0 50px;
	height: 120px;
	width: 400px;
}
.btn_corner_more > span:first-child {
	font-size: 26px;
}



/*================================================
 *  ヘッダー
 ================================================*/
header {
	width: 100%;
	z-index: 100;
}
#index header {
	position: absolute;
	top: 0;
	left: 0;
}

.header_inner {
	width: 100%;
	height: 165px;
	padding: 0 30px 0 50px;
}

.header_inner .logo {
	display: block;
	padding-right: 30px;
}
.header_inner .logo img {
	max-width: 100%;
}
#index .header_inner .logo img.normal,
.header_inner:not(.fixed_clone) .logo img.clone,
body:not(#index) .header_inner .logo img.white,
.header_inner.fixed_clone .logo img:not(.clone) {
	display: none;
}

/*新明和グループ*/
.header_inner .btn_group {
	position: absolute;
	top: 0;
	right: 0;
	width: 260px;
	height: 46px;
	z-index: 10;
}
#index .header_inner .btn_group,
body:not(#index) .header_inner .btn_group:hover {
	background-color: #fff;
}
#index .header_inner .btn_group:hover,
body:not(#index) .header_inner .btn_group {
	border-left: 1px solid #004ea2;
	border-bottom: 1px solid #004ea2;
	background-color: #004ea2;
}
#index .header_inner .btn_group:hover .replace-svg path,
body:not(#index) .header_inner .btn_group .replace-svg path {
	fill: #fff;
}
body:not(#index) .header_inner .btn_group:hover .replace-svg path {
	fill: #004ea2;
}

.header_inner.fixed_clone .btn_group {
	display: none;
}


/*ナビゲーション*/
.header_inner nav {
	margin-left: auto;
}

#index .header_inner:not(.fixed_clone) nav {
	color: #fff;
}
.header_inner nav .nav_list {
	font-size: 20px;
	font-weight: bold;
}
.header_inner nav .nav_list > li {
	position: relative;
}
.header_inner nav .nav_list > li + li {
	margin-left: 1.5em;
}
.header_inner nav .nav_list > li > a,
.header_inner nav .nav_list > li > div {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	padding: 0.7em 0;
	white-space: nowrap;
}
.header_inner nav .nav_list > li > a::after,
.header_inner nav .nav_list > li > div::after {
	position: absolute;
	content: '';
	width: 100%;
	height: 1px;
	bottom: -1px;
	left: 0;
	background-color: currentColor;
	transition: all .2s ease-out;
	-webkit-transition: all .2s ease-out;
	transform: scale(0,1);
	-webkit-transform: scale(0,1);
	transform-origin: top left;
	-webkit-transform-origin: top left;
	opacity: 0;
}
.header_inner nav .nav_list > li > a.active::after,
.header_inner nav .nav_list > li > a:hover::after,
.header_inner nav .nav_list > li > div.active::after {
	transform: scale(1,1);
	-webkit-transform: scale(1,1);
	opacity: 1;
}
.header_inner nav .nav_list > li > a.no_active:not(:hover)::after { /*現在地アンダーライン非表示用*/
	content: none;
}

.header_inner nav .nav_list > li > a .icon-english {
	color: var(--color-main);
	font-size: 26px;
	margin-right: 10px;
}
#index .header_inner:not(.fixed_clone) nav .nav_list li > a .icon-english {
	color: #fff;
}


.header_inner nav .nav_list ul {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translate(-50%,0);
	-webkit-transform: translate(-50%,0);
	margin-top: 5px;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	color: var(--color-main);
	z-index: 100;
	width: 220px;
}
.header_inner nav .nav_list > li:hover > div::after {
	transform: scale(0,1);
	-webkit-transform: scale(0,1);
	opacity: 0;
}
.header_inner nav .nav_list > li:hover ul {
	opacity: 1;
	visibility: visible;
}
.header_inner nav .nav_list ul li + li {
	margin-top: 10px;
}
.header_inner nav .nav_list ul li a {
	display: block;
	border: 2px solid var(--color-main);
	background-color: #fff;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.06em;
	padding: 0.92em 0;
	text-align: center;
	
}
.header_inner nav .nav_list ul li a:hover {
	background-color: var(--color-main);
	color: #fff;
}


.header_inner nav .btn_list {
	margin-left: 30px;
}
#index .header_inner:not(.fixed_clone) .btn_list {
	color: #fff;
}

.header_inner nav .btn_list li + li {
	margin-left: 10px;
}
.header_inner nav .btn_list li a {
	width: 170px;
	height: 80px;
	letter-spacing: 0.1em;
}
.header_inner nav .btn_list li a span {
	font-size: 24px;
	white-space: nowrap;
}
.header_inner nav .btn_list li a em {
	font-size: 14px;
	margin-top: 0.8em;
}
.header_inner nav .btn_list li a:hover {
	background-color: currentColor;
}
.header_inner nav .btn_list li a:hover > * {
	color: #fff;
}
#index .header_inner:not(.fixed_clone) nav .btn_list li a:hover > * {
	color: var(--color-main);
}


@media screen and (min-width:767.1px) {
	.header_inner:not(.fixed_clone) nav,
	.header_inner:not(.fixed_clone) .btn_drawer {
		align-self: flex-start;
		margin-top: 65px;
	}
	.header_inner:not(.fixed_clone) nav .nav_list {
		align-self: flex-start;
	}
}

/*コーポレート⇔リクルート⇔英語版 切替用*/
body[id^="recruit"] .header_inner nav.nav_corp,
body[id^="en"] .header_inner nav.nav_corp,
body#entry .header_inner nav.nav_corp,
body:not([id^="recruit"]):not(#entry) .header_inner nav.nav_rec,
body:not([id^="en"]) .header_inner nav.nav_en,
body#entry .header_inner nav.nav_en {
	display: none;
}

/*contact用*/
#contact .header_inner nav {
	padding-right: 50px;
}
#contact .header_inner nav .btn_list {
	display: none;
}

/* entry用*/
#entry .header_inner nav.nav_rec .btn_list li.btn_entry {
	display: none;
}


/* recruit/guide.php用*/
#recruit_guide .header_inner nav.nav_rec .btn_list li.btn_guide {
	display: none;
}


/*ドロワー用ボタン*/
.btn_drawer {
	background-color: var(--color-main);
	color: #fff;
	cursor: pointer;
	width: 80px;
	height: 80px;
	margin-left: 10px;
	flex-shrink: 0;
}
#index .header_inner:not(.fixed_clone) .btn_drawer,
#drawer .btn_drawer {
	background-color: transparent;
}
.btn_drawer:hover {
	color: var(--color-main)!important;
	background-color: #fff!important;
}

.btn_drawer .hamburger-icon {
	height: 12px;
	width: 32px;
	position: relative;
	margin-top: 5px;
}
.btn_drawer .hamburger-icon::before,
.btn_drawer .hamburger-icon::after {
	position: absolute;
	content: '';
	left: 50%;
	width: 100%;
	transform: translate(-50%,0);
	-webkit-transform: translate(-50%,0);
	-webkit-transition: all .3s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transition: all .3s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
.btn_drawer .hamburger-icon::before {
	border-top: 1px solid;
	top: 0;
}
.btn_drawer .hamburger-icon::after {
	border-bottom: 1px solid;
	bottom: 0;
}
.btn_drawer.active .hamburger-icon::before {
	top: 50%;
	-webkit-transform: translate(-50%,-50%) rotate(45deg);
}
.btn_drawer.active .hamburger-icon::after {
	bottom: auto;
	top: 50%;
	-webkit-transform: translate(-50%,-50%) rotate(-45deg);
}
.btn_drawer em {
	font-size: 14px;
	letter-spacing: 0.1em;
	margin-top: 1.1em;
}

@media screen and (max-width: 1900px) {
	body:not([id^="en"]) header .header_inner .logo img {
		width: 22.315vw;
		height: auto;
	}
}
@media screen and (min-width: 1450px) {
	body:not(.sp_fixed_none):not([id^="en"]) header .header_inner .btn_drawer {
		display: none;
	}
}
@media screen and (max-width: 1450px) {
	body:not([id^="en"]) header .header_inner .logo img {
		height: auto;
		width: auto;
	}
	body:not(.sp_fixed_none):not([id^="en"]) header .header_inner nav .nav_list {
		display: none;
	}
}
@media screen and (max-width: 1000px) {
	.sp_fixed_none header .header_inner nav .nav_list {
		display: none;
	}
	.sp_fixed_none header .header_inner .btn_drawer {
		margin-left: auto;
	}
}
@media screen and (min-width: 1000.1px) {
	.sp_fixed_none header .header_inner .btn_drawer {
		display: none;
	}
}
@media screen and (max-width: 900px) {
	header .header_inner nav {
		display: none;
	}
	header .header_inner .btn_drawer {
		margin-left: auto;
	}
}

/*英語版用*/
body#en_contact .header_inner nav .btn_list {
	display: none;
}
@media screen and (min-width: 1100.1px) {
	body#en header .header_inner .btn_drawer {
		display: none;
	}
}
@media screen and (max-width: 1100px) {
	body#en header .header_inner nav .nav_list {
		display: none;
	}
}





/*fixed用*/
.header_inner.fixed_clone {
	position: fixed!important;
	height: 100px;
	top: -100px;
	left: 0;
	background-color: #fff;
	transition: all 0.4s;
	-webkit-transition: all 0.4s;
	z-index: 900;
}
.header_inner.fixed_clone.on {
	top: 0;
}

.header_inner.fixed_clone nav .btn_list li a {
	height: 70px;
	width: 150px;
}
.header_inner.fixed_clone nav .btn_list li a span {
	font-size: 22px;
}
.header_inner.fixed_clone nav .btn_list li a em {
	display: none;
}
.header_inner.fixed_clone .btn_drawer {
	width: 70px;
	height: 70px;
}

@media screen and (min-width: 1300.1px) {
	body:not([id^="en"]) .header_inner.fixed_clone .btn_drawer {
		display: none;
	}
}
@media screen and (max-width: 1300px) {
	body:not([id^="en"]) .header_inner.fixed_clone nav .nav_list {
		display: none;
	}
}

/*英語版用*/
@media screen and (min-width: 1100.1px) {
	body[id^="en"] .header_inner.fixed_clone .btn_drawer {
		display: none;
	}
}
@media screen and (max-width: 1100px) {
	body[id^="en"] .header_inner.fixed_clone nav .nav_list {
		display: none;
	}
}



/*================================================
 *  ドロワー
 ================================================*/
#drawer {
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
	z-index: 999;
	-webkit-transform: translate3d(100%, 0, 0);
	transform: translate3d(100%, 0, 0);
	visibility: hidden;
	opacity: 0;
	overflow-y: auto;
	height: 100%;
	width: 100%;
	max-width: 400px;
	background-color: #0067ce;
}
#drawer.active {
	visibility: visible;
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

#drawer .drawer_head {
	padding: 0 30px;
	height: 105px;
}
#drawer .drawer_head .logo img {
	height: 35px;
	width: auto;
}

#drawer .drawer_head .btn_drawer {
	border: 1px solid #fff;
	background-color: transparent;
	width: 70px;
	height: 70px;
}

#drawer nav .img_bg {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 500px;
	z-index: -1;
}



#drawer nav {
	padding: 30px 50px 250px;
	min-height: calc(100% - 105px);
}
#drawer nav dl dt {
	font-size: 26px;
	letter-spacing: 0.12em;
}
#drawer nav dl dd + dt {
	margin-top: 50px;
}
#drawer nav dl dt + dd {
	margin-top: 20px;
}
#drawer nav dl dd {
	border-bottom: 1px solid;
	width: 290px;
	margin: 0 auto;
}
#drawer nav dl dd > a,
#drawer nav dl dd > div {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	font-size: 18px;
	font-weight: bold;
	line-height: 2;
	padding: 15px 10px;
	cursor: pointer;
}
#drawer nav dl dd > a [class*="icon-drawer"],
#drawer nav dl dd > div [class*="icon-drawer"] {
	font-size: 200%;
}
#drawer nav dl dd > ul {
	border-top: 1px solid;
	display: none;
	font-size: 18px;
	line-height: 2.5;
	padding: 0.5em 1.1em 1.25em;
}

#drawer nav .btn_list {
	width: 290px;
	margin: 50px auto 0;
}
#drawer nav .btn_list li + li {
	margin-top: 15px;
}
#drawer nav .btn_list li a {
	border-width: 1px;
	height: 75px;
	font-size: 23px;
}


/*日本語版*/
#drawer nav .btn_list.change_ja li a span:first-child {
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translate(0,-50%);
	-webkit-transform: translate(0,-50%);
	width: 25px;
	height: 25px;
	font-size: 17px;
}
#drawer nav .btn_list.change_ja li a span:first-child:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
}
#drawer nav .btn_list.change_ja li a span.icon-tel {
	font-size: 22px;
}
#drawer nav .btn_list.change_ja li a span:last-child {
	letter-spacing: 0.1em;
}





/*英語版*/
#drawer nav dl.change_en {
	width: 290px;
	margin: 50px auto 0;
}

#drawer nav .btn_list.change_en {
	margin-top: 0;
}
#drawer nav .btn_list.change_en li a  {
	font-size: 17px;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding: 0 17px;
}
#drawer nav .btn_list.change_en li a span:first-child {
	font-weight: bold;
}
#drawer nav .btn_list.change_en li a span:last-child {
	font-size: 30px;
}




/*================================================
 *  パンくずリスト
 ================================================*/
ol.breadcrumb {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	color: #808080;
	padding: 0 30px;
}
ol.breadcrumb li {
	position: relative;
}
ol.breadcrumb li + li {
	padding-left: 1.1em;
	margin-left: 0.5em;
}
ol.breadcrumb li + li:before {
	position: absolute;
	content: '';
	top: 50%;
	left: 0;
	width: 0.5em;
	height: 0.5em;
	border-top: 1px solid;
	border-right: 1px solid;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}
ol.breadcrumb li a {
	text-decoration: underline;
}
ol.breadcrumb li a:hover {
	opacity: 1;
	text-decoration: none;
}



/*================================================
 *  ページタイトル＋ sectionタイトル
 ================================================*/
#pageTitle h2,
h2[class*="title_section"] {
	padding: 120px 30px 90px;
	max-width: 1230px;
	margin: 0 auto;
}
h2.title_section {
	padding-top: 180px;
}
#pageTitle h2 span,
h2[class*="title_section"] span {
	display: block;
}
#pageTitle h2 em,
h2[class*="title_section"] em {
	display: block;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.12em;
	margin: 35px 0 0 35px;
}


/*404*/
#notofound #pageTitle h2 {
	text-align: center;
	max-width: inherit;
}
#notofound #pageTitle h2 span {
	display: inline-block;
	font-size: 90px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}
@media screen and (max-width: 960px) {
	#notofound #pageTitle h2 span {
		font-size: clamp(4.375rem, -0.593rem + 10.36vw, 5.625rem);
	}
}


/*英語版contact*/
[lang=en] #pageTitle h2 {
	max-width: 1160px;
}
[lang=en] #pageTitle h2 span {
	font-size: 110px;
	letter-spacing: 0.06em;
	white-space: nowrap;
}





/*================================================
 *  コンテンツ
 ================================================*/
main {
	overflow: hidden;
}
.contents {
	padding: 0 0 50px;
}


/*******箇条書きリスト*******/
.kome_list > li,
.indent_list > li {
	list-style-position:inside;
	padding-left: 1em;
	text-indent: -1em;
}
.disc_list > li,
.circle_list > li,
.square_list > li,
.number_list > li,
.decimal_list > li {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
}
.disc_list > li:before,
.circle_list > li:before,
.square_list > li:before,
.number_list > li:before,
.decimal_list > li:before {
	width: 1em;
	flex-shrink: 0;
}

/*※箇条書き*/
.kome_list > li:before{
	display: inline;
	content: "\203b";
}
/*・箇条書き*/
.disc_list > li:before{
	content: "\30fb";
}
/*●箇条書き*/
.circle_list > li:before{
	content: "\25CF";
	
}
/*■箇条書き*/
.square_list > li:before{
	content: "\25A0";
}
/*()数字*/
.number_list {
	counter-reset: cnt 0;
}
.number_list > li{
	counter-increment: cnt;
}
.number_list > li:before{
	content: "（" counter(cnt) "）";
	margin-left: -0.5em;
}
/*数字.*/
.decimal_list {
	counter-reset: dcnt 0;
}
.decimal_list > li{
	counter-increment: dcnt;
}
.decimal_list > li:before{
	width: 1.4em;
	content: counter(dcnt) ".";
	padding-right: 0.5em;
}

/*色変更用*/
.before_color_main li:before {
	color: var(--color-main);
}

/*インデントflex版*/
.indentflex_list > li {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
}
.indentflex_list > li > span:first-child {
	flex-shrink: 0;
}
.indentflex_list > li > div {
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

/*******見出し*******/
.title_anime_mask > span {
	display: block;
	overflow: hidden;
}
.title_anime_mask > span img,
.title_anime_mask > span > span {
	display: inline-block;
	transform: translate(0, 110%);
	transition: all 0.7s cubic-bezier(0.25, 1, 0.5, 1);
	max-width: 100%;
	height: auto;
}
.title_anime_mask.move > span img,
.title_anime_mask.move > span > span {
	transform: translate(0, 0);
}
.title_anime_mask em {
	display: block;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.12em;
	transition: all 0.4s 0.7s linear;
	margin-top: 40px;
	opacity: 0;
}
.title_anime_mask.move em {
	opacity: 1;
}

/*画像clip-path*/
.title_clippath img {
	display: block;
	animation-delay: 0.7s;
}
.title_clippath.ta-c img {
	margin: 0 auto;
}
.title_clippath em {
	display: block;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.12em;
	transition: all 0.4s 0.7s linear;
	margin-top: 40px;
	opacity: 0;
}
.title_clippath img.move+ em {
	opacity: 1;
}

/*英語版section*/
[lang=en] .title_section_langen {
	font-size: 90px;
	letter-spacing: 0.06em;
	margin-bottom: 80px;
}



/*******1文字アニメーション（テキスト or SVG）*******/
.js-txt-one-anime,
.js-txt-one-anime span,
.js-title-anime .replace-svg,
.js-title-anime .replace-svg path {
	opacity: 0;
}
.js-txt-one-anime.move,
.js-txt-one-anime span.move,
.js-title-anime .replace-svg.move,
.js-title-anime .replace-svg path.move {
	opacity: 1;
}
.js-txt-one-anime span,
.js-title-anime .replace-svg path {
	filter: blur(0.5rem);
	transition: opacity 0.8s ease-out, filter 0.5s ease-out;
}
.js-txt-one-anime span.move,
.js-title-anime .replace-svg path.move {
	filter: blur(0);
}






/*******上左＋下右 角丸マスク*******/
[class*="mask_corner"] {
	border-top-left-radius: 80px;
	border-bottom-right-radius: 80px;
	overflow: hidden;
	z-index: 1;
}
.mask_corner_small {
	border-top-left-radius: 40px;
	border-bottom-right-radius: 40px;
}






/*******テーブル*******/
table {
	width:100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}


/*共通テーブル*/
table.table_common {
	font-size: 20px;
	line-height: 1.75;
}
table.table_common th {
	color: var(--color-main);
	border-top: 1px solid;
	width: 235px;
	padding: 22px 0;
}
table.table_common tr:last-of-type th {
	border-bottom: 1px solid;
}
table.table_common td {
	border-top: 1px solid #ccc;
	padding: 22px 20px;
	text-align: left;
}
table.table_common tr:last-of-type td {
	border-bottom: 1px solid #ccc;
}




/*******お問い合わせ系ボタン*******/
.button {
	text-align:center;
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: 26px;
	font-weight: bold;
	margin: 0 auto;
	width: 400px;
}
.page-confirm .button {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	flex-direction: column-reverse;
}
.button::after {
	position: absolute;
	content: "\e900"; /*.icon-arrow*/
	top: 0;
	right: 28px;
	font-size: 62px;
	font-family: 'icomoon' !important;
	font-weight: normal;
	height: 120px;
	width: 1em;
	z-index: 1;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
}


.button input[type=submit],
.button button[type=submit] {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	width: 400px;
	height: 120px;
	cursor: pointer;
	line-height: 1.25;
	letter-spacing: 0.06em;
	text-align: left;
	padding: 0;
	-webkit-transition: all 0.1s linear;
    transition: all 0.1s linear;
	border: none;
	border-top-left-radius: 20px;
	border-bottom-right-radius: 20px;
	background-color: var(--color-main);
	color: #fff;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	padding-left: 50px;
}
.button input[type=submit]:hover,
.button button[type=submit]:hover {
	opacity: 0.7;
}

.button input.gray {
	border: none;
	border-bottom: 1px solid;
	background-color: transparent;
	cursor: pointer;
	color: #999;
	display: inline-block;
	font-size: 18px;
	font-weight: normal;
	letter-spacing: 0.08em;
	padding: 0 0 0.5em;
	margin-top: 60px;
	-webkit-transition: all 0.1s linear;
    transition: all 0.1s linear;
}
.button input.gray:hover {
	color: var(--color-main);
}


/*英語版用*/
[lang=en] .button button[type=submit] {
	letter-spacing: normal;
	padding-left: 40px;
}




/*================================================
 *  リクルートスタッフリスト
 ================================================*/
 
/*スライダー*/
@media screen and (min-width: 767.1px) {
	section#job_area #job_list_slider > .swiper-wrapper,
	#recruit_job[class*="page-job"] #job_list_slider > .swiper-wrapper {
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		justify-content: center;-webkit-box-pack: center;
		-webkit-justify-content: center;
		justify-content: center;-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
}




#job_list_slider > .swiper-wrapper > .swiper-slide {
	width: 472px;
	padding: 0 20px;
}
#job_list_slider > .swiper-wrapper > .swiper-slide a {
	display: block;
}
#job_list_slider .thumb {
	border: 4px solid;
	height: 0;
	position: relative;
	padding-top: 125%;
}
#job_list_slider .job_thumb_slider {
	position: absolute;
	top: -2px;
	left: -2px;
	width: 100%;
	width: calc(100% + 4px);
	height: 100%;
	height: calc(100% + 4px);
	z-index: -1;
}
#job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption {
	padding: 25px 0 0 20px;
	max-width: 405px;
}
#job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div em {
	display: block;
	font-size: 38px;
	font-weight: bold;
	line-height: 1.25;
	letter-spacing: 0.04em;
}
#job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div span {
	color: #989898;
	font-size: 20px;
	letter-spacing: 0.16em;
	margin-top: 0.8em;
}

@media screen and (max-width: 1900px) and (min-width: 1400.1px) {
	section#job_area #job_list_slider > .swiper-wrapper > .swiper-slide {
		width: calc(100% / 4);
	}
	section#job_area #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div em {
		font-size: clamp(1.75rem, 2vw, 2.375rem); /*min28 max38 min1400 max1900*/
	}
	section#job_area #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption [class*="icon-"] {
		font-size: clamp(3.875rem, 0.375rem + 4vw, 5.125rem); /*min62 max82 min1400 max1900*/
	}
}

@media screen and (min-width: 1400.1px) {
	section#job_area #job_list_slider > .swiper-wrapper > .swiper-slide:nth-of-type(1) {
		padding-top: 150px;
	}
	section#job_area #job_list_slider > .swiper-wrapper > .swiper-slide:nth-of-type(2) {
		padding-top: 100px;
	}
	section#job_area #job_list_slider > .swiper-wrapper > .swiper-slide:nth-of-type(3) {
		padding-top: 50px;
	}
}
@media screen and (max-width: 1400px) and (min-width: 767.1px) {
	section#job_area #job_list_slider > .swiper-wrapper > .swiper-slide:nth-of-type(odd) {
		padding-top: 50px;
	}
}
@media screen and (max-width: 960px) {
	section#job_area #job_list_slider > .swiper-wrapper > .swiper-slide {
		width: calc(100% / 2);
	}
	section#job_area #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div em {
		font-size: 3.95vw;
	}
	
}


/*pagination*/
@media screen and (min-width:767.1px) {
	#job_list_slider .swiper-pagination {
		display: none;
	}
}
#recruit_job.page-list #job_list_slider .swiper-pagination {
	display: none;
}




/*仕事と働く人 一覧用（job_list.php）*/
#recruit_job.page-list #job_list_slider > .swiper-wrapper {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

#recruit_job.page-list #job_list_slider > .swiper-wrapper > .swiper-slide {
	width: 492px;
	width: min(50%, 492px);
	padding: 0 30px;
}
#recruit_job.page-list #job_list_slider > .swiper-wrapper > .swiper-slide:nth-of-type(n+3) {
	margin-top: 100px;
}


@media screen and (max-width: 984px) and (min-width:767.1px) {
	#recruit_job.page-list #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div em {
		font-size: clamp(1.75rem, -0.459rem + 4.61vw, 2.375rem); /*min28 max38 min767 max984*/
	}
	#recruit_job.page-list #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption [class*="icon-"] {
		font-size: clamp(3.875rem, -0.543rem + 9.22vw, 5.125rem); /*min62 max82 min767 max984*/
	}
}


/*仕事と働く人 詳細用（job01.php～）*/
@media screen and (min-width:767.1px) {
	#recruit_job[class*="page-job"] #job_list_slider {
		margin-top: -100px;
	}
	#recruit_job[class*="page-job"] #job_list_slider > .swiper-wrapper > .swiper-slide {
		width: 440px;
		width: min(100% / 3, 440px);
		padding: 0 20px;
		margin-top: 100px;
	}
}
@media screen and (max-width: 1320px) and (min-width: 960.1px) {
	#recruit_job[class*="page-job"] #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div em {
		font-size: clamp(1.75rem, 0.083rem + 2.78vw, 2.375rem); /*min28 max38 min960 max1320*/
	}
	#recruit_job[class*="page-job"] #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption [class*="icon-"] {
		font-size: clamp(3.875rem, 0.542rem + 5.56vw, 5.125rem); /*min62 max82 min960 max1320*/
	}
}
@media screen and (max-width: 960px) {
	#recruit_job[class*="page-job"] #job_list_slider > .swiper-wrapper {
		-webkit-box-pack: start;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
	}
	#recruit_job[class*="page-job"] #job_list_slider > .swiper-wrapper > .swiper-slide {
		width: calc(100% / 2);
	}
}
@media screen and (max-width: 960px) and (min-width:767.1px) {
	#recruit_job[class*="page-job"] #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div em {
		font-size: clamp(1.75rem, -0.734rem + 5.18vw, 2.375rem); /*min28 max38 min767 max960*/
	}
	#recruit_job[class*="page-job"] #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption [class*="icon-"] {
		font-size: clamp(3.875rem, -1.093rem + 10.36vw, 5.125rem); /*min62 max82 min767 max960*/
	}
}







/*================================================
 *  ページナビ
 ================================================*/

nav#page_nav {
	margin: 0 auto;
	padding-top: 140px;
	max-width: 1120px;
	width: 100%;
}
nav#page_nav ul {
	margin-top: -20px;
}
nav#page_nav ul li {
	width: 260px;
	margin: 20px 10px 0;
}
nav#page_nav ul li a {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	border: 1px solid ;
	border-top-left-radius: 20px;
	border-bottom-right-radius: 20px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
	padding: 0.6em 0.8em 0.6em 1.3em;
	min-height: 100px;
	height: 100%;
}
nav#page_nav ul li a:hover,
nav#page_nav ul li a.active {
	background-color: currentColor;
}
nav#page_nav ul li a:hover > span,
nav#page_nav ul li a.active > span {
	color: #fff;
}

@media screen and (max-width: 1200px) {
	html:not([lang=en]) nav#page_nav {
		max-width: 840px;
	}
}
@media screen and (max-width: 920px) {
	html:not([lang=en]) nav#page_nav {
		max-width: 560px;
	}
}


/*英語版*/
[lang=en] nav#page_nav {
	max-width: 1125px;
	padding-top: 180px;
}
[lang=en] nav#page_nav ul {
	margin-top: -25px;
}
[lang=en] nav#page_nav ul li {
	width: 350px;
	margin: 25px 12.5px 0;
}
@media screen and (max-width: 1125px) {
	[lang=en] nav#page_nav ul li {
		width: calc((100% - 75px) / 3);
	}
}




/*================================================
 *  Modaal
 ================================================*/


.modaal-wrapper { 
	z-index: 20001;
}
.modaal-overlay {
	z-index: 20000;
}

.modaal-inner-wrapper {
	padding: 70px 80px!important;
}

.modaal-close {
    position: fixed;
    right: .3em;
    top: .3em;
    width: 1em;
    height: 1em;
    font-size: 50px;
    color: #fff;
    cursor: pointer;
    opacity: 1;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
	background: var(--color-main)!important;
}
.modaal-close:focus,.modaal-close:hover {
    outline: 0;
    background: transparent!important;
}

.modaal-close:focus:after,.modaal-close:focus:before,.modaal-close:hover:after,.modaal-close:hover:before {
    background:#fff
}

.modaal-close span {
    position: absolute!important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px,1px,1px,1px);
    padding: 0!important;
    border: 0!important;
    height: 1px!important;
    width: 1px!important;
    overflow: hidden
}

.modaal-close:before,.modaal-close:after {
    position: absolute;
    display: block;
    content: '';
    top: 50%;
    left: 50%;
    width: 4px;
    height: 0.6em;
    border-radius: 4px;
    background: #fff;
    -webkit-transition: background .2s ease-in-out;
    transition: background .2s ease-in-out
}

.modaal-close:before {
    -webkit-transform: translate(-50%,-50%) rotate(-45deg);
    -ms-transform: translate(-50%,-50%) rotate(-45deg);
    transform: translate(-50%,-50%) rotate(-45deg)
}

.modaal-close:after {
    -webkit-transform: translate(-50%,-50%) rotate(45deg);
    -ms-transform: translate(-50%,-50%) rotate(45deg);
    transform: translate(-50%,-50%) rotate(45deg)
}

/*================================================
 *  フッター
 ================================================*/

footer {
	overflow: hidden;
	
}

/*募集要項＋エントリー*/
body:not(.footer_ge) footer #footer_guide_entry {
	display: none;
}
footer #footer_guide_entry .title_fge {
	font-size: 58px;
	line-height: 1.5;
	letter-spacing: 0.08em;
	margin: 160px 0 50px;
	text-align: center;
}
@media screen and (max-width: 1200px) {
	footer #footer_guide_entry .title_fge {
		font-size: clamp(2.5rem, -3.988rem + 13.53vw, 3.625rem);
	}
}

footer #footer_guide_entry .btn_list {
	max-width: 1060px;
	margin: 0 auto;
	z-index: 10;
}
footer #footer_guide_entry .btn_list li {
	width: 50%;
}
footer #footer_guide_entry .btn_list li + li {
	border-left: 2px solid #fff;
}
footer #footer_guide_entry .btn_list li a {
	height: 300px;
	padding: 0 50px 0 70px;
}
footer #footer_guide_entry .btn_list li a div span {
	display: block;
	font-size: 84px;
	letter-spacing: 0.14em;
}
footer #footer_guide_entry .btn_list li a div em {
	display: block;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.12em;
	padding: 1.2em 0 0 1em;
}

/*/recruit/guide.php用*/
#recruit_guide footer #footer_guide_entry .btn_list {
	max-width: 530px;
}
#recruit_guide footer #footer_guide_entry .btn_list li.btn_guide {
	display: none;
}
#recruit_guide footer #footer_guide_entry .btn_list li.btn_entry {
	border: none!important;
	width: 100%;
}

@media screen and (max-width: 1060px) and (min-width:767.1px) {
	body:not(#recruit_guide) footer #footer_guide_entry .btn_list li a {
		padding: 0 4.7vw 0 6.6vw;
	}
	body:not(#recruit_guide) footer #footer_guide_entry .btn_list li a div span {
		font-size: 7.92vw;
	}
	body:not(#recruit_guide) footer #footer_guide_entry .btn_list li a div em {
		font-size: 2.83vw;
	}
	body:not(#recruit_guide) footer #footer_guide_entry .btn_list li a [class*="icon-"] {
		font-size: 8.67vw;
	}
}








/*背景*/
footer .footer_bg {
	margin-top: 110px;
}
footer .footer_bg::after {
	position: absolute;
	content: '';
	top: 10px;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #0466cc;
	z-index: -2;
}
footer .footer_bg #footer_bg_slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

/*フッター用ナビゲーション*/
footer #footer_nav_area {
	padding: 320px 0 40px;
}
footer #footer_nav_area .inner .info_box {
	max-width: 420px;
	width: 100%;
}
footer #footer_nav_area .inner .info_box .logo {
	display: block;
}
footer #footer_nav_area .inner .info_box .name {
	font-size: 28px;
	font-weight: bold;
	margin: 1.3em 0 0.7em;
}
footer #footer_nav_area .inner .info_box .btn_list {
	margin-top: 40px;
}
footer #footer_nav_area .inner .info_box .btn_list li + li {
	margin-top: 20px;
}
footer #footer_nav_area .inner .info_box .btn_list li a {
	border-width: 2px;
	height: 100px;
	font-size: 32px;
}
footer #footer_nav_area .inner .info_box .btn_list li a span:first-child {
	position: absolute;
	top: 50%;
	left: 40px;
	transform: translate(0,-50%);
	-webkit-transform: translate(0,-50%);
	width: 32px;
	height: 32px;
	font-size: 32px;
}
footer #footer_nav_area .inner .info_box .btn_list li a span:first-child:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
}
footer #footer_nav_area .inner .info_box .btn_list li a span.icon-tel {
	font-size: 36px;
}
footer #footer_nav_area .inner .info_box .btn_list li a span:last-child {
	letter-spacing: 0.1em;
}


footer #footer_nav_area .inner nav {
	display: grid; 
	grid-template-columns: auto auto; 
	grid-template-rows: min-content auto; 
	gap: 40px 50px; 
	grid-template-areas: "nav01 nav02" "nav03 nav02"; 
	padding: 30px 0 0 30px;
}
footer #footer_nav_area .inner nav dl:nth-of-type(1) {
	grid-area: nav01;
}
footer #footer_nav_area .inner nav dl:nth-of-type(2) {
	grid-area: nav02;
}
footer #footer_nav_area .inner nav dl.change_en,
footer #footer_nav_area .inner nav dl.change_ja {
	grid-area: nav03;
}

footer #footer_nav_area .inner nav dl dt {
	font-size: 28px;
	letter-spacing: 0.12em;
}
footer #footer_nav_area .inner nav dl dd {
	font-size: 20px;
	font-weight: bold;
	line-height: 2;
	padding-left: 0.5em;
}
footer #footer_nav_area .inner nav dl dt + dd {
	padding-top: 1em;
}
footer #footer_nav_area .inner nav dl dd ul {
	font-size: 18px;
	font-weight: normal;
	padding: 0 0 0.5em 20px;
}


@media screen and (max-width:1000px) {
	footer #footer_nav_area .inner {
		display: block;
		max-width: 540px;
	}
	footer #footer_nav_area .inner .info_box {
		max-width: inherit;
	}
	footer #footer_nav_area .inner nav {
		padding: 50px 0 0;
	}
}


/*フッター最下部*/
footer #footer_bottom_area {
	padding-top: 60px;
	padding-bottom: 40px;
}
footer #footer_bottom_area .group p {
	line-height: 1.5;
	margin-bottom: 0.8em;
}
footer #footer_bottom_area .group .btn_group {
	background-color: #fff;
	width: 260px;
	height: 52px;
	padding-top: 0.25em;
}
footer #footer_bottom_area .group .btn_group:hover {
	background-color: #004ea2;
}
footer #footer_bottom_area .group .btn_group:hover .replace-svg path {
	fill: #fff;
}
footer #footer_bottom_area .link_copyright .link {
	font-size: 18px;
}
footer #footer_bottom_area .link_copyright .link a + a {
	margin-left: 1.5em;
}
footer #footer_bottom_area .link_copyright .copyright {
	display: block;
	font-size: 14px;
	letter-spacing: 0.1em;
	margin-top: 1.5em;
}






/*================================================================================================
 *  タブレット向けデザイン
 ================================================================================================*/
@media (min-width: 768px) {
	/*body {
		min-width: 1400px;
	}*/
   /* body {
		min-width: initial;
		max-width: 1400px;
		margin: 0 auto;
    }
	img {
		max-width: 100%;
	}*/
	
}

/*================================================================================================
 *  スマートフォン向けデザイン
 ================================================================================================*/
@media screen and (max-width:767px) {

body {
	font-size: 4vw;
}	

img {
	max-width: 100%;
}



/*文字揃え*/
.pcspText { /*PC：中央揃え・SP左揃え用*/
	text-align: justify;
	text-justify: inter-ideograph;
}

/* sp/pcの切替 */
.sp {
	display: block;
}
.sp_inline {
	display: inline;
}
.pc,.sp_none {
	display: none;
}

/*幅*/
.wrap,
.wrap_wide {
	max-width: inherit;
	width: 90vw;
	padding-left: 0;
	padding-right: 0;
}
.wrap_sp_small,
.wrap_sp_medium {
	max-width: inherit!important;
	margin-left: auto!important;
	margin-right: auto!important;
	padding-left: 0!important;
	padding-right: 0!important;
}
.wrap_sp_small {
	width: 80vw!important;
}
.wrap_sp_medium {
	width: 85vw!important;
}

.sp_wid100 {
	width: 100%!important;
}

/*******flexbox*******/
.flex_start_spblock,
.flex_end_spblock,
.flex_between_spblock,
.flex_center_spblock,
.flex_inline_spblock {
	display: block;
}


/*================================================
 *  矢印フォント
 ================================================*/

.icon-circle-arrow42,
.icon-circle-arrow-hover42 {
	font-size: 8vw;
}

.icon-circle-arrow62,
.icon-circle-arrow-hover62 {
	font-size: 8vw;
}
.icon-circle-arrow82,
.icon-circle-arrow-hover82 {
	font-size: 11vw;
}
.icon-circle-arrow92,
.icon-circle-arrow-hover92 {
	font-size: 12vw;
}






/*================================================
 *  ボタン系（お問い合わせ除く）
 ================================================*/
/*******上左＋下右 角丸*******/
[class*="btn_corner"] {
	border-top-left-radius: 2.7vw;
	border-bottom-right-radius: 2.7vw;
}

/*矢印有*/
.btn_corner_more {
	padding: 0 4vw 0 6vw;
	height: 20vw;
	width: 60vw;
}
.btn_corner_more > span:first-child {
	font-size: 4.5vw;
}







/*================================================
 *  ヘッダー
 ================================================*/
.header_inner {
	height: auto;
	height: 23vw;
	padding: 0 0 0 4vw;
}

.header_inner .logo img,
#drawer .drawer_head .logo img {
	height: 9vw!important;
	min-height: inherit!important;
}

.header_inner nav {
	display: none;
}


/*ドロワー用ボタン*/
.btn_drawer {
	height: 14vw;
	width: 14vw;
	margin: 0;
	padding-top: 1vw;
}
.header_inner .btn_drawer {
	position: fixed;
	top: 4vw;
	right: 2.5vw;
	z-index: 900;
	color: #fff!important;
	background-color: var(--color-main)!important;
}
.header_inner .btn_drawer:hover {
	color: var(--color-main)!important;
	background-color: #fff!important;
}


.btn_drawer .hamburger-icon {
	height: 2.1vw;
	width: 6.4vw;
}
.btn_drawer em {
	font-size: 2.6vw;
}


/*fixed用*/
.header_inner.fixed_clone {
	display: none!important;
}


/*================================================
 *  ドロワー
 ================================================*/
#drawer {
	max-width: inherit;
}

#drawer .drawer_head {
	padding: 0 2.5vw 0 4vw;
	height: 23vw;
}

#drawer .drawer_head .btn_drawer {
	height: 14vw;
	width: 14vw;
}

#drawer nav .img_bg {
	height: 125vw;
}


#drawer nav {
	padding: 13vw 10vw 60vw;
	min-height: calc(100% - 23vw);
}
#drawer nav dl dt {
	font-size: 6.9vw;
}
#drawer nav dl dd + dt {
	margin-top: 13vw;
}
#drawer nav dl dt + dd {
	margin-top: 5vw;
}
#drawer nav dl dd {
	width: 77vw;
}
#drawer nav dl dd > a,
#drawer nav dl dd > div {
	font-size: 4.8vw;
	padding: 4vw 2.5vw;
}
#drawer nav dl dd > ul {
	font-size: 4.8vw;
}



#drawer nav .btn_list {
	width: 77vw;
	margin-top: 17vw;
}
#drawer nav .btn_list li + li {
	margin-top: 4vw;
}
#drawer nav .btn_list li a {
	height: 20vw;
	font-size: 6.1vw;
}


/*日本語版*/
#drawer nav .btn_list.change_ja  li a span:first-child {
	left: 7.5vw;
	width: 6.6vw;
	height: 6.6vw;
	font-size: 6.6vw;
}
#drawer nav .btn_list li a span.icon-tel {
	font-size: 5.8vw;
}


/*英語版*/
#drawer nav dl.change_en {
	margin-top: 13vw;
	width: 77vw;
}

#drawer nav .btn_list.change_en li a  {
	font-size: 4.5vw;
	padding: 0 3.7vw;
}
#drawer nav .btn_list.change_en li a span:last-child {
	font-size: 8vw;
}



/*================================================
 *  パンくずリスト
 ================================================*/
ol.breadcrumb {
	font-size: 2.66vw;
	padding: 4vw 4vw 0;
}


/*================================================
 *  ページタイトル＋ sectionタイトル
 ================================================*/
#pageTitle h2,
h2[class*="title_section"] {
	padding: 13vw 0 12vw 6.5vw;
	max-width: inherit;
}
h2.title_section {
	padding-top: 25vw;
}
#pageTitle h2 span img,
h2[class*="title_section"] img {
	height: 13.3vw;
}
#pageTitle h2 em,
h2[class*="title_section"] em {
	font-size: 3.7vw;
	margin: 5vw 0 0 4vw;
}



/*404*/
#notofound #pageTitle h2 {
	padding-left: 0;
}
#notofound #pageTitle h2 span {
	font-size: 9vw;
}



/*英語版contact*/
[lang=en] #pageTitle h2 {
	max-width: inherit;
	text-align: left;
}
[lang=en] #pageTitle h2 span {
	font-size: 14.6vw
}


/*================================================
 *  コンテンツ
 ================================================*/




/*******見出し*******/
.title_anime_mask > span img {
	width: auto;
	height: 13.3vw;
}
.title_anime_mask em {
	font-size: 4.2vw;
	margin-top: 5vw;
}

/*画像clip-path*/
.title_clippath img {
	width: auto;
	height: 13.3vw;
}
.title_clippath em {
	font-size: 4.2vw;
	margin-top: 5vw;
}


/*英語版section*/
[lang=en] .title_section_langen {
	font-size: 11vw;
	margin-bottom: 11vw;
}



/*******上左＋下右 角丸マスク*******/
[class*="mask_corner"] {
	border-top-left-radius: 10.6vw;
	border-bottom-right-radius: 10.6vw;
}
.mask_corner_small {
	border-top-left-radius: 5.3vw;
	border-bottom-right-radius: 5.3vw;
}





/*******テーブル*******/

/*共通テーブル*/
table.table_common {
	font-size: 4vw;
	margin: 0 auto;
}
table.table_common th,
table.table_common td {
	display: block;
}
table.table_common th {
	font-size: 4.5vw;
	font-weight: bold;
	width: 100%;
	padding: 5vw 0 3vw;
}
table.table_common tr:last-of-type th {
	border-bottom: none;
}
table.table_common td {
	border: none;
	padding: 0 0 6vw;
}
table.table_common tr:last-of-type td {
	border-bottom: 1px solid var(--color-main);
}

/*******お問い合わせ系ボタン*******/
.button {
	font-size: 5vw;
	width: 60vw!important;
}
body:not(.page-complete) .button::after {
	right: 4vw;
	font-size: 8vw;
	height: 20vw;
}
.button input[type=submit],
.button button[type=submit] {
	width: 100%;
	height: 20vw;
	padding-left: 6vw;
}

.button input.gray {
	font-size: 4vw;
	margin-top: 8vw;
}


/*英語版用*/
[lang=en] .button button[type=submit],
[lang=en] .page-complete #form_area .btn_corner_more {
	padding-left: 5vw!important;
}
#en_contact.page-index .button {
	width: 66vw!important;
}



/*================================================
 *  リクルートスタッフリスト
 ================================================*/
/*スライダー*/
#job_list_slider > .swiper-wrapper > .swiper-slide,
#recruit_job[class*="page-job"] #job_list_slider > .swiper-wrapper > .swiper-slide {
	width: 66vw!important;
	padding: 0 4vw;
}
#job_list_slider .thumb {
	border-width: 2px;
}
#job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption {
	padding: 4.5vw 3.5vw 0;
	max-width: inherit;
}
#job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div em,
#recruit_job[class*="page-job"] #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div em {
	font-size: 6.9vw!important;
}
#job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div span,
#recruit_job[class*="page-job"] #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div span {
	font-size: 3.2vw!important;
}


/*pagination*/
#job_list_slider .swiper-pagination {
	position: relative;
	bottom: auto;
	margin-top: 7vw;
}
#job_list_slider .swiper-pagination .swiper-pagination-bullet {
	border-radius: 0;
	height: 1vw;
	width: 4.5vw;
}
#job_list_slider .swiper-pagination .swiper-pagination-bullet {
	border-radius: 0;
	height: 1vw;
	width: 4.5vw;
	margin: 0 1.3vw;
}
#job_list_slider .swiper-pagination .swiper-pagination-bullet-active {
	background: var(--color-main);
}
 
 
/*仕事と働く人 一覧用（job_list.php）*/
#recruit_job.page-list #job_list_slider > .swiper-wrapper {
	display: block;
}
#recruit_job.page-list #job_list_slider > .swiper-wrapper > .swiper-slide {
	width: 100%!important;
	padding: 0;
}
#recruit_job.page-list #job_list_slider > .swiper-wrapper > .swiper-slide:nth-of-type(n+2) {
	margin-top: 15vw;
}
#recruit_job.page-list #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div em {
	font-size: 7.4vw;
}
#recruit_job.page-list #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div em br.sp {
	display: none;
}
#recruit_job.page-list #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption div span {
	font-size: 3.4vw;
}
#recruit_job.page-list #job_list_slider > .swiper-wrapper > .swiper-slide figure figcaption [class*="icon-"] {
	font-size: 12vw;
}


 

/*================================================
 *  ページナビ
 ================================================*/

nav#page_nav {
	padding-top: 25vw!important;
	max-width: inherit!important;
}
nav#page_nav ul {
	margin-top: 0;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
html:not([lang=en]) nav#page_nav ul li {
	width: calc(50% - 1.3vw);
	margin: 0;
}
html:not([lang=en]) nav#page_nav ul li:nth-of-type(n+3) {
	margin-top: 2.6vw;
}
nav#page_nav ul li a {
	border-top-left-radius: 2.6vw;
	border-bottom-right-radius: 2.6vw;
	padding: 2.5vw 3.5vw 2.5vw 4vw;
	font-size: 4.5vw;
	min-height: 20vw;
}


/*英語版*/
[lang=en] nav#page_nav {
	width: 77vw;
}
[lang=en] nav#page_nav ul {
	margin-top: -4vw;
}
[lang=en] nav#page_nav ul li {
	width: 100%;
	margin: 4vw 0 0;
}



/*================================================
 *  Modaal
 ================================================*/
 
.modaal-close {
    font-size: 11vw;
}

.modaal-inner-wrapper {
	padding: 15vw 5vw!important;
}

/*画像拡大して見る用*/
.js_modaal_scale .modaal-gallery-item {
	padding: 5vw;
}
.js_modaal_scale .modaal-gallery-item img {
	width: 200vw!important;
	max-width: inherit;
}



/*================================================
 *  フッター
 ================================================*/

/*募集要項＋エントリー*/
footer #footer_guide_entry .title_fge {
	font-size: 7vw;
	margin: 20vw 0 8vw;
}

footer #footer_guide_entry .btn_list {
	max-width: inherit;
}
footer #footer_guide_entry .btn_list li {
	width: 100%;
}
footer #footer_guide_entry .btn_list li + li {
	border-left: none;
	border-top: 2px solid;
}
footer #footer_guide_entry .btn_list li a {
	height: 40vw;
	padding: 0 8vw 0 10vw;
}
footer #footer_guide_entry .btn_list li a div span {
	font-size: 11.7vw;
}
footer #footer_guide_entry .btn_list li a div em {
	font-size: 4.2vw;
}



/*背景*/
footer .footer_bg {
	margin-top: 20vw;
}
body:not(.sp_fixed_none) footer .footer_bg {
	padding-bottom: 18.5vw;
}
footer .footer_bg #footer_bg_slider {
	height: 70vw;
}


/*フッター用ナビゲーション*/
footer #footer_nav_area {
	padding: 40vw 0 0;
}



footer #footer_nav_area .inner {
	width: 77vw;
}
footer #footer_nav_area .inner .info_box .logo {
	width: 75vw;
}
footer #footer_nav_area .inner .info_box .name {
	font-size: 4.5vw;
	text-align: center;
	margin: 8vw 0 3vw;
}
footer #footer_nav_area .inner .info_box .add {
	text-align: center;
}

footer #footer_nav_area .inner .info_box .btn_list {
	margin-top: 7vw;
}
footer #footer_nav_area .inner .info_box .btn_list li + li {
	margin-top: 4vw;
}
footer #footer_nav_area .inner .info_box .btn_list li a {
	font-size: 6.1vw;
	height: 20vw;
}
footer #footer_nav_area .inner .info_box .btn_list li a span:first-child {
	left: 7.5vw;
	width: 6.6vw;
	height: 6.6vw;
	font-size: 6.6vw;
}
footer #footer_nav_area .inner .info_box .btn_list li a span.icon-tel {
	font-size: 5.8vw;
}


footer #footer_nav_area .inner nav {
	display: block;
	gap: inherit; 
	padding-top: 15vw;
}
footer #footer_nav_area .inner nav dl + dl {
	margin-top: 10vw;
}
footer #footer_nav_area .inner nav dl dt {
	font-size: 6.6vw;
}
footer #footer_nav_area .inner nav dl dd {
	font-size: 4.8vw;
	padding-left: 4vw;
}
footer #footer_nav_area .inner nav dl dd ul {
	font-size: 4.5vw;
	padding-left: 4.8vw;
}



/*フッター最下部*/
/*footer #footer_bottom_area {
	font-size: 4vw;
	padding: 20vw 0 12vw;
	text-align: center;
}

footer #footer_bottom_area .copyright {
	font-size: 3vw;
	margin-top: 6vw;
}
*/


/*フッター最下部*/
footer #footer_bottom_area {
	padding: 17vw 0 12vw;
	text-align: center;
}

footer #footer_bottom_area .group .btn_group {
	height: 13vw;
	width: 64vw;
	margin: 0 auto;
}
footer #footer_bottom_area .group .btn_group .replace-svg {
	width: 49vw;
}
footer #footer_bottom_area .link_copyright .link {
	font-size: 4vw;
	margin-top: 15vw;
}
footer #footer_bottom_area .link_copyright .copyright {
	font-size: 3vw;
	margin-top: 7vw;
}
















/*================================================
 *  SP下タブ
 ================================================*/
#sp_fixed_bottom {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s, visibility 0.5s;
}
#sp_fixed_bottom.move {
	opacity: 1;
	visibility: visible;
}


#sp_fixed_bottom li {
	border-top: 1px solid;
	width: 50%;
}
#sp_fixed_bottom li.btn_contact_en {
	width: 54vw;
}
#sp_fixed_bottom li.btn_contact,
#sp_fixed_bottom li.btn_entry,
#sp_fixed_bottom li.btn_contact_en {
	border-left: 1px solid;
}
body#recruit_guide #sp_fixed_bottom li.btn_entry,
#sp_fixed_bottom li.btn_contact_en {
	border-right: 1px solid;
}
#sp_fixed_bottom li a {
	background-color: #fff;
	height: 18.5vw;
	padding: 1vw 4vw 0 7.5vw;
}
#sp_fixed_bottom li.btn_contact_en a {
	padding-left: 4vw;
}
#sp_fixed_bottom li a > span:first-child > span {
	font-size: 5.6vw;
	letter-spacing: 0.1em;
}
#sp_fixed_bottom li a > span:first-child > em {
	display: block;
	font-size: 3vw;
	font-weight: bold;
	letter-spacing: 0.04em;
	padding: 2vw 0 0 1.3vw;
}
#sp_fixed_bottom li a > span:last-child {
	font-size: 8vw;
}


/*表示非表示*/
.sp_fixed_none #sp_fixed_bottom,
body#recruit_guide #sp_fixed_bottom .btn_guide,
body:not([id*="recruit"]) #sp_fixed_bottom .btn_guide,
body:not([id*="recruit"]) #sp_fixed_bottom .btn_entry,
body[id*="recruit"] #sp_fixed_bottom .btn_rec,
body[id*="recruit"] #sp_fixed_bottom .btn_contact,
html[lang=en] #sp_fixed_bottom li:not(.btn_contact_en),
html:not([lang=en]) #sp_fixed_bottom .btn_contact_en {
	display: none;
}






}