﻿@charset "UTF-8";

/* 文字基本サイズ 14px */

/* @group webfont */

@import url('https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c:400,500,700&subset=japanese');

.f-marugo {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 400;
}

/* IE表示用のCSS　*/
_:lang(x)::-ms-backdrop, .f-marugo {
	transform: rotate(.03deg);
}

@font-face {
  font-family: 'Montserrat';
  src: url(../fonts/Montserrat/Montserrat-Regular.ttf) format('truetype'), url(../fonts/Montserrat/Montserrat-Regular.eot) , url("../fonts/Montserrat/Montserrat-Regular.woff") format('woff');
}

@font-face {
  font-family: 'Montserrat-Italic';
  src: url(../../common_butsuryu/fonts/Montserrat/Montserrat-Italic.ttf) format('truetype'), url(../fonts/Montserrat/Montserrat-Italic.eot) , url("../fonts/Montserrat/Montserrat-Italic.woff") format('woff');
}

/* @group icon-font */

@font-face {
	font-family: 'font-library';
	src: url('../fonts/font-library.ttf?iftez1') format('truetype'), url('../fonts/font-library.woff?iftez1') format('woff'), url('../fonts/font-library.svg?iftez1#font-library') format('svg');
	font-weight: normal;
	font-style: normal;
}

.ai {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'font-library' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	padding-left: 7px;
	padding-right: 5px;
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.ai-out::after {
  content: "\e904";
  color: #4d4d4d;
	font-size:1em;
}

.ai-pdf::after {
  content: "\e905";
	color: #B2220B;
	font-size:1em;
	background: #fff;
}

.ai-word::before {
  content: "\e903";
  color: #4d63b8;
	font-size:1em;
	background: #fff;
}

.ai-excel::before {
  content: "\e901";
  color: #779c51;
	font-size:1em;
	background: #fff;
}

.ai-mail::after {
  content: "\e902";
  color: #4d4d4d;
	font-size:1em;
	background: #fff;
}

/* @end */

/* @end */

/* @group 初期設定 */

html {
	overflow: auto;
	color: #333;
}

body {
	background:
url("../images/bg_body_btm3_pc.png") no-repeat center bottom / 2000px auto,
url("../images/bg_body_btm2_pc.png") no-repeat center bottom / 2000px auto,
url("../images/bg_body_btm_pc.png") repeat-x left bottom / 1000px auto;
	font-family: Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 14px;
	-webkit-text-size-adjust: 100%;
	position: relative;
	min-height: 100vh;
	min-width: 1084px;
	overflow-x: hidden;/* コンテンツ幅を超える背景対策 */
	overflow-y: hidden;/* コンテンツ幅を超える背景対策 */
}

ul ol,
ol ul {
	font-size: 100% !important;
}

ul {
	list-style: none;
}

sup {
	vertical-align: top;
	font-size: 0.77em;
}

sub {
	vertical-align: baseline;
	font-size: 0.77em;
}

img {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

label {
	cursor: pointer;
}

a {
	color: #322c93;
	-webkit-transition: all .3s;
	transition: all .3s;
}

a:visited {
	color: #322c93;
}

a img {
	-webkit-transition: all .3s;
	transition: all .3s;
}

strong {}

address {
	font-style: normal;
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.clear {
	clear: both;
}

a[href^="tel:"] {
	cursor: default;
	text-decoration: none;
	color: #333 !important;
}

.pc-none {
	display: none !important;
}

.sp-none {
	display: block !important;
}

/* @end */

/* @group header */

#header-area {
	padding-top: 30px;
	width: 100%;
	position: relative;
	z-index: 91;
}

#header-area::before {
	background-color: #2132a1;
	content: "";
	height: 30px;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#header-area > div {
	margin: 0 auto;
	width: 1084px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

#header-area > div.fixed {
	position: fixed;
}

#header {	/* js対応 */
	background: rgba(255,255,255,1);
	border-radius: 0 0 10px 10px;
	box-shadow: 5px 0px 20px 0px rgba(0,0,0,.15);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#header a {
	text-decoration: none;
}

/* @group logo */

#header-logo {
	width: 320px;
	margin: 0 auto;
	text-align: center;
}

#header-logo img {
	margin: auto;
	width: 238px;
}

/* @end */

/* @group gnav */

#toggle-nav {
	display: none;
}

#gnav {
	width: calc(100% - 320px);
	z-index: 100;
}

#gnav > ul.gnav-lv1 {
	width: 100%;
}

#gnav > ul > li {
	cursor: pointer;
	line-height: 1;
	width: calc((100% - 190px) / 4);
}

#gnav > ul > li > span {
	display: block;
	position: relative;
}

#gnav > ul > li:not(.tozan-net) > span::before {
	background-color: #d5d5d5;
	content: "";
	display: block;
	height: 35px;
	width: 2px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}

#gnav > ul > li > span a {
	color: #f05f04;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.07em;
	height: 62px;
  transition: all .3s;
	text-decoration: none;
	position: relative;
	z-index: 10;
}

/* IE表示用のCSS　*/
_:lang(x)::-ms-backdrop, #gnav > ul > li > span a {
	transform: rotate(.03deg);
}

#gnav > ul > li > span a::before {
	background-color: #2132a1;
	content: "";
	display: block;
	height: 4px;
	width: 0;
	-webkit-transition: all .3s;
	transition: all .3s;
	position: absolute;
	bottom: 0;
	left: 15px;
}

#gnav > ul > li.hover > span a,
#gnav > ul > li.current > span a {
	color: #2132a1;
}

#gnav > ul > li.hover > span a::before,
#gnav > ul > li.current > span a::before {
	width: calc(100% - 30px);
}

#gnav > ul > li.tozan-net {
	text-align: left;
	width: 190px;
}

#gnav > ul > li.tozan-net a {
	background-color: #f05f04;
	border-radius: 0 0 10px 0;
	justify-content: flex-start;
}

#gnav > ul > li.tozan-net a::before {
	background: #3b49ab;
	border-radius: 0 0 10px 0;
	z-index: -1;
}

#gnav > ul > li.tozan-net a::before,
.bounce-to-right::before {
	content: "";
	height: 100%;
	width: 100%;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 0 100%;
	transform-origin: 0 100%;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

#gnav > ul > li.tozan-net > span a::before {
	width: 100%;
}

#gnav > ul > li.tozan-net a:hover:before,
.bounce-to-right:hover::before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
	transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

#gnav > ul > li.tozan-net img {
	max-width: 156px;
}

#gnav > ul.gnav-lv1 li.gnav-other {
	display: none;
}

@media screen and (min-width: 769px) {

#gnav > ul.gnav-lv1 {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
}

	#gnav .gnav-lv2 {
		display: none;
		padding-top: 20px;
		width: 100%;
		position: absolute;
		left: 0;
	}

	#gnav .gnav-lv2 span.arrow {
		display: block;
		position: absolute;
		top: -8px;
	}

	#gnav .gnav-lv2 span.arrow::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		margin-left: -15px;
		border: 12px solid transparent;
		border-bottom: 12px solid #2132A1;
		transform: scale(1,1.6);
		z-index: 0;
	}

	#gnav .gnav-lv2 span.arrow::after {
		content: "";
		position: absolute;
		top: 5px;
		left: 50%;
		margin-left: -15px;
		border: 12px solid transparent;
		border-bottom: 12px solid #FFF;
		transform: scale(.8,1.4);
		z-index: 1;
	}

	#gnav .gnav-lv2 ul {
		background-color: #FFF;
		border: 3px solid #2132A1;
		border-radius: 8px;
		display: flex;
		flex-wrap: wrap;
		padding: 36px 49px 33px;
	}

	#gnav .gnav-lv2 ul li {
		border-bottom: 1px dotted #000;
		margin-bottom: 16px;
		padding-bottom: 14px;
		margin-right: 30px;
		width: calc((99.9% - 60px) / 3);
		position: relative;
		z-index: 0;
	}

	#gnav .gnav-lv2 ul li:nth-of-type(3n) {
		margin-right: 0;
	}

	#gnav .gnav-lv2 ul li::before {
		background-color: #F7F7EE;
		content: "";
		height: 70px;
		width: 100%;
		-webkit-transition: all .3s;
		transition: all .3s;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		opacity: 0;
	}

	#gnav .gnav-lv2 ul li a {
		background-repeat: no-repeat;
		background-position: left top;
		background-size: auto 70px;
		color: #322C93;
		display: flex;
		align-items: center;
		font-family: 'M PLUS Rounded 1c', sans-serif;
		font-size: 20px;
		font-weight: 600;
		letter-spacing: 0.05em;
		height: 70px;
		padding-left: 90px;
	}

	#gnav .gnav-company ul li:nth-of-type(1) a {
		background-image: url("../../wp-content/uploads/images/company/image01_sp.jpg");
	}

	#gnav .gnav-company ul li:nth-of-type(2) a {
		background-image: url("../../wp-content/uploads/images/company/image02_sp.jpg");
	}

	#gnav .gnav-company ul li:nth-of-type(3) a {
		background-image: url("../../wp-content/uploads/images/company/image03_sp.jpg");
	}

	#gnav .gnav-company ul li:nth-of-type(4) a {
		background-image: url("../../wp-content/uploads/images/company/image04_sp.jpg");
	}

	#gnav .gnav-company ul li:nth-of-type(5) a {
		background-image: url("../../wp-content/uploads/images/company/image05_sp.jpg");
	}

	#gnav .gnav-company ul li:nth-of-type(6) a {
		background-image: url("../../wp-content/uploads/images/company/image06_sp.jpg");
	}

	#gnav .gnav-business ul li:nth-of-type(1) a {
		background-image: url("../../wp-content/uploads/images/business/image01_sp.jpg");
	}

	#gnav .gnav-business ul li:nth-of-type(2) a {
		background-image: url("../../wp-content/uploads/images/business/image02_sp.jpg");
	}

	#gnav .gnav-business ul li:nth-of-type(3) a {
		background-image: url("../../wp-content/uploads/images/business/image03_sp.jpg");
	}

	#gnav .gnav-business ul li:nth-of-type(4) a {
		background-image: url("../../wp-content/uploads/images/business/image04_sp.jpg");
	}

	#gnav .gnav-business ul li:nth-of-type(5) a {
		background-image: url("../../wp-content/uploads/images/business/image05_sp.jpg");
	}
	
	#gnav .gnav-business ul li:nth-of-type(6) a {
		background-image: url("../../wp-content/uploads/images/business/image06_sp.jpg");
	}

	#gnav .gnav-recruit ul li::after {
		background-color: #F7F7EE;
		content: "";
		width: 70px;
		height: 70px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}

	#gnav .gnav-recruit ul li a {
		background-size: 42px auto;
		background-position: 14px center;
	}

	#gnav .gnav-recruit ul li:nth-of-type(1) a {
		background-image: url("../../wp-content/uploads/images/recruit/icon_recruit01.png");
	}

	#gnav .gnav-recruit ul li:nth-of-type(2) a {
		background-image: url("../../wp-content/uploads/images/recruit/icon_recruit02.png");
	}

	#gnav .gnav-recruit ul li:nth-of-type(3) a {
		background-image: url("../../wp-content/uploads/images/recruit/icon_recruit03.png");
	}

	#gnav .gnav-recruit ul li:nth-of-type(4) a {
		background-image: url("../../wp-content/uploads/images/recruit/icon_recruit04.png");
	}

	#gnav .gnav-recruit ul li:nth-of-type(5) a {
		background-image: url("../../wp-content/uploads/images/recruit/icon_recruit05.png");
	}

	#gnav .gnav-recruit ul li:nth-of-type(6) a {
		background-image: url("../../wp-content/uploads/images/recruit/icon_recruit06.png");
	}

	#gnav .gnav-recruit ul li:nth-of-type(7) a {
		background-image: url("../../wp-content/uploads/images/recruit/icon_recruit07.png");
	}

	#gnav .gnav-recruit ul li:nth-of-type(8) a {
		background-image: url("../../wp-content/uploads/images/recruit/icon_recruit08.png");
	}

	#gnav .gnav-company ul li:nth-last-of-type(-n+3),
	#gnav .gnav-business ul li:nth-last-of-type(-n+2),
	#gnav .gnav-recruit ul li:nth-last-of-type(-n+2) {
		border-bottom: none;
		margin-bottom: 0;
		padding-bottom: 0;
	}

	#gnav .gnav-lv2 ul li:hover::before {
		opacity: 1;
	}

	#gnav .gnav-lv2 ul li:hover a {
		color: #F05F04;
	}

}

/* @end */

/* @end */

/* @group breadcrumb */

#breadcrumb-area {
	position: absolute;
	width: 100%;
	bottom: 0;
}

.breadcrumb {
	background-color: #FFF;
	border-radius: 10px 10px 0 0;
	color: #4d4d4d;
	font-size: 12px;
	width: 1084px;
	line-height: 1.3;
	padding: 20px 30px 0;
	margin: 0 auto;
	position: relative;
}

.breadcrumb::before {
	border-radius: 10px 10px 0 0;
	box-shadow: 0 0 15px rgba(80,130,190,.2);
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.breadcrumb a:hover {
	text-decoration: none;
}

.breadcrumb ul {
	display: flex;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: -ms-flexbox; /*IE10*/
	-ms-flex-wrap:wrap;	/*IE10*/
}

.breadcrumb ul li {
	display: block;
	list-style: none;
	margin-bottom: 5px;
}

.breadcrumb ul li a {
	color: #4f4aa2;
	padding-right: calc(.8em * 2);
	position: relative;
}

.breadcrumb ul li a::before {
	border-bottom: 1px solid #4f4aa2;
	border-right: 1px solid #4f4aa2;
	content: "";
	display: block;
	height: 5px;
	width: 5px;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 5px;
	right: calc(.8em - 2px);
}

.breadcrumb ul li a:hover {
	opacity: .7;
	text-decoration-color: transparent;
}

.breadcrumb ul li.home {
	position: relative;
	display: block;
	padding: 0 0 0 22px;
}

.breadcrumb ul li.home::before {
	content: '';
	height: 0px;
	width: 0px;
	display: block;
	position: absolute;
	top:1px;
	left: 0px;
	border: 6px solid transparent;
	border-bottom-color: #4f4aa2;
	border-top: 0;
}

.breadcrumb ul li.home::after {
	content: '';
	height: 4px;
	width: 4px;
	display: block;
	position: absolute;
	top: 7px;
	left: 0px;
	border: 4px #4f4aa2 solid;
	border-bottom: 0;
}

/* @end */

/* @group h1-area */

#h1-area {
	background:
url("../images/h1_bg2_pc.png") no-repeat center top / 2000px auto,
url("../images/h1_bg_pc.png") repeat-x center top / cover;
	width: 100%;
	margin: 0;
	overflow: hidden;
	position: relative;
}

#h1-area h1 {
	color: #322c93;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 600;
	font-size: 32px;
	min-height: 215px;
	margin: 0 auto;
	padding: 53px 30px 0 30px;
	width: 1084px;
	position: relative;
}

#h1-area h1::before {
	background: url("../images/bg_photo01_pc.png") no-repeat center / 100% auto;
	content: "";
	height: 100%;
	width: 504px;
	position: absolute;
	bottom: 0;
	right: -258px;
}

#h1-area h1::after {
	background: url("../images/bg_photo02_pc.png") no-repeat center / 100% auto;
	content: "";
	height: 100%;
	width: 343px;
	position: absolute;
	top: 0;
	right: 135px;
	z-index: 1;
}

#h1-area h1 span.ja {
	padding-bottom: 5px;
	border-bottom: 3px solid #322c93;
	line-height: 2;
}

#h1-area h1 span.en {
  font-family: 'Montserrat-Italic';
	font-size: 14px;
	font-weight: normal;
	color: #f45f04;
	display: block;
	line-height: 1.2em !important;
	position: relative;
	letter-spacing: 0.02em;
	padding-top: .5em;
	font-style: normal;
}

/* @end */

/* @group content-area */

#content-area {
	margin-top: 30px;
	width: 100%;
	position: relative;
}

#main-content a:hover {
	text-decoration-color: transparent;
}

#main-content {
	width:1084px;
	margin: 0 auto;
	padding: 54px 30px 150px 30px;
	line-height: 1.6;
	position: relative;
	max-height: 999999px;
}

#main-content section {
	margin-bottom: 110px;
}

#main-content section:last-child,
#main-content section > *:last-child {
	margin-bottom: 0px;
}

#main-content p {
	line-height: 1.8;
	margin-bottom: 2em;
}

#main-content figure {
	margin-bottom: 1.0em;
}

#main-content img {
	max-width: 100%;
	height: auto;
}

#main-content figure img:not(.no-radius) {
	border-radius: 8px;
}

#main-content a:hover img {
	opacity: 0.7;
}

/* @group lead */

div.lead {
	background: url(../images/bg_stripe.png);
	background-size: 5px auto;
	border-radius: 5px;
	margin-bottom: 55px;
	padding: 30px 30px 20px 0;
	position: relative;
}

div.lead p {
	font-size: 20px;
	color: #ff5800;
	padding: 0px 0 10px 38px;
	line-height: 1.6;
	margin-bottom: 0 !important;
	position: relative;
  	font-weight: bold;
}

div.lead p::before {
	position: absolute;
	content: "";
	display: block;
	width: 0px;
	background: #322c93;
	height: 100%;
	bottom: 0;
	left: 0;
	border-right:5px solid transparent;
	border-bottom: 5px solid #fff;
}

div.lead p::after {
	position: absolute;
	content: "";
	display: block;
	width: 0px;
	height: 10px;
	top: -10px;
	left: 0;
	border-left:5px solid #322c93;
	border-top: 5px solid transparent;
}

/* @end */

/* @group heading */

#main-content h2,
#main-content h3,
#main-content h4,
#main-content h5,
#main-content h6 {
	font-weight: bold;
	line-height: 1.4;
}

#main-content h2 {
	position: relative;
	font-size: 24px;
	color: #322c93;
	padding-bottom: 12px;
	margin-bottom: 2em;
	background: url(../images/h2_back.png) bottom right no-repeat;
}

#main-content h2::before {
	position: absolute;
	content: "";
	display: block;
	width: calc(100% + 500px);
	bottom: 0px;
	right: 1024px;
	background: #f45f04;
	height: 3px;
}

#main-content h2::after {
	position: absolute;
	content: "";
	display: block;
	width: calc(100% - 2px);
	height: 4px;
	bottom: 0;
	right: 2px;
	border-bottom: 3px solid #322c93;
}

#main-content h3 {
	margin-bottom: 25px;
	font-size: 18px;
	padding: 0 0 10px 4px !important;
	color: #ff5800;
	border-bottom: 2px dotted #322c93;
}

#main-content h4 {
	margin-bottom: 18px;
	font-size: 16px;
	color: #ff5800;
}

#main-content h5 {
	margin-bottom: 18px;
	font-size: 15px;
	color: #000;
}

#main-content h6 {
	margin-bottom: 15px;
	font-size: 14px;
	color: #000;
}

/* @end */

/* @group pattern */

.caption {
	margin-top: -5px;
	margin-bottom: 0 !important;
	line-height: 1.6 !important;
	font-size: 12px !important;
}

.caption_mov {
	margin-top: 3px;
	margin-bottom: 0 !important;
	line-height: 1.6 !important;
	font-size: 12px !important;
}

.col {}

.left-col {
	float: left;
}

.right-col {
	float: right;
}

[class*="pattern1-"],
[class*="pattern2-"],
[class*="pattern3-"],
[class*="pattern5-"],
[class*="pattern6-"] {
	overflow: hidden;
	position: relative;
	margin-bottom: 2em;
}


.pattern1-1:not(.no-flex),
[class*="pattern1-1-1"] {
	display: flex;
	flex-wrap: wrap;
}

.pattern1-1:not(.no-flex) {
	justify-content: space-between;
}

.pattern1-1 [class*="col"] {
	width: calc((100% - 40px) / 2);
}

.pattern1-1 .col {
	margin-bottom: 2em;
}

.pattern1-2 .left-col,
.pattern2-1 .right-col {
	width: calc((100% - 40px) / 3);
}

.pattern1-2 .right-col,
.pattern2-1 .left-col {
	width: calc(((100% - 40px) / 3) * 2);
}

.pattern2-3 .left-col,
.pattern3-2 .right-col {
	width: calc(((100% - 40px) / 5) * 2);
}

.pattern2-3 .right-col,
.pattern3-2 .left-col {
	width: calc(((100% - 40px) / 5) * 3);
}

.pattern1-5 .left-col,
.pattern5-1 .right-col {
	width: calc(((100% - 40px) / 5) * 1);
}

.pattern1-5 .right-col,
.pattern5-1 .left-col {
	width: calc(((100% - 40px) / 5) * 4);
}

.pattern1-6 .left-col,
.pattern6-1 .right-col {
	width: calc(((100% - 40px) / 6) * 1);
}

.pattern1-6 .right-col,
.pattern6-1 .left-col {
	width: calc(((100% - 40px) / 6) * 5);
}

.pattern1-1-1 .col {
	margin-bottom: 2em;
	margin-right: 40px;
	width: calc((99.9% - 80px) / 3);
}

.pattern1-1-1-1 .col {
	margin-bottom: 2em;
	margin-right: 40px;
	width: calc((100% - 120px) / 4);
}

[class*="pattern"] [class*="col"] > *:last-child {
	margin-bottom: 0 !important;
}

@media screen and (min-width: 769px) {

	.pattern1-1 .col:nth-last-of-type(-n+2),
	.pattern1-1-1 .col:nth-last-of-type(-n+3),
	.pattern1-1-1-1 .col:nth-last-of-type(-n+4) {
		margin-bottom: 0 !important;
	}

	.pattern1-1-1 .col:nth-of-type(3n),
	.pattern1-1-1-1 .col:nth-of-type(4n) {
		margin-right: 0;
	}
	
}

/* @end */

/* @group index-pattern1 */

#main-content .index-pattern {
	display: flex;
	flex-wrap: wrap;
}

#main-content .index-pattern .col {
	margin-bottom: 40px;
	margin-right: 40px;
	width: calc((99.9% - (40px * 2)) / 3);
}

#main-content .index-pattern a {
	display: block;
	padding: 47px 0 0 28px;
	text-decoration: none;
	position: relative;
}

#main-content .index-pattern figure {
	overflow: hidden;
}

#main-content .index-pattern .title {
	color: #322c93;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: .05em;
	line-height: 1;
	padding: .7em 0 0 .75em;
	width: calc(100% - 28px);
}

#main-content .index-pattern .title::before {
	background: url("../images/balloon_arrow.png") no-repeat center / 100% auto;
	content: "";
	height: 30px;
	width: 26px;
	position: absolute;
	bottom: -32px;
	left: 136px;
}

#main-content .index-pattern span.en {
	font-size: 10px;
	display: block;
	color: #ff5800;
	font-weight: normal;
	font-style: normal;
	font-family: 'Montserrat-Italic';
	letter-spacing: 0;
	margin-top: .5em;
}

#main-content .index-pattern .arrow {
	content: "";
	width: 16px;
	height: 16px;
	margin: auto !important;
	background-color: #f45f04;
	position: absolute;
	right: 10px;
	top: 0;
	border-radius: 50%;
	bottom: 0;
}

#main-content .index-pattern .arrow::before {
	border-color: #FFF;
	border-style: solid;
	border-width: 2px 2px 0 0;
	content: '';
	height: 4px;
	width: 4px;
	margin: auto;
	-webkit-transform: scale(1, 1) rotate(45deg);
	transform: scale(1, 1) rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 6px;
}

#main-content .index-pattern img,
#main-content .index-pattern .title,
#main-content .index-pattern .title span,
#main-content .index-pattern .title span::before {
	transition: all 0.3s ease-out;
}

#main-content .index-pattern a:hover .arrow {
	background-color: #FFF;
}

#main-content .index-pattern a:hover .arrow::before {
	border-color: #f45f04;
}

#main-content .index-pattern a:hover img {
	opacity: inherit;
	transform: scale(1.05);
}

@media screen and (min-width: 769px) {

	#main-content .index-pattern .col:nth-child(3n)  {
		margin-right: 0;
	}

	#main-content .index-pattern :nth-last-of-type(-n+3) {
		margin-bottom: 0;
	}

	#main-content .index-pattern figure {
		border: 6px solid #FFF;
		border-radius: 6px;
		box-shadow: 0px 0px 7px 0px rgba(0,0,0,.2);
	}

	#main-content .index-pattern img {
		border-radius: 4px;
		width: 100%;
		transform: scale(1);
	}

	#main-content .index-pattern .title {
		background-color: #f9f9f2;
		border: 6px solid #FFF;
		border-radius: 6px;
		box-shadow: 0px 0px 7px 0px rgba(0,0,0,.2);
		height: 76px;
		position: absolute;
		top: 0;
		left: 0;
	}

	#main-content .index-pattern a:hover .title {
		background-color: #f45f04;
		color: #FFF;
		top: -15px;
	}

	#main-content .index-pattern a:hover .title span {
		color: #FFF;
	}

}

/* @end */

/* @group caution */

p.caution::before,
#main-content ul.caution li::before,
#main-content span.caution::before {
	font-family: 'font-library' !important;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\e900";
	color: #ff2f00;
	font-size: 0.9em;
	position: absolute;
	left: -1.5em;
}

#main-content .caution {
	position: relative;
	margin-left: 1.5em;
}

#main-content span.caution::before {
	top: -0.1em;
	left: -1.3em;
}

#main-content ul.caution {
	margin-bottom: 2em;
}

#main-content ul.caution li {
	list-style: none;
	margin-bottom: 10px;
	line-height: 1.8;
}

#main-content .caution-box {
	border: 1px solid #fbbc8f;
	background-color: #fffaf7;
	margin-bottom: 2em;
	padding: 25px;
	width: 100%;
}

#main-content .caution-box *:last-child,
#main-content .caution-box-green *:last-child{
	margin-bottom: 0;
}

#main-content dl.caution {
	border: 1px solid #fbbc8f;
	background-color: #fffaf7;
	margin-bottom: 2em;
	margin-left: 0;
	padding: 22px 25px 25px 25px;
}

#main-content .caution-box .bold {
	font-size: 16px;
	font-weight: bold;
	color: #f56600;
	padding-left: 0;
}

#main-content dl.caution dt {
	font-size: 16px;
	color: #f56600;
	padding-left: 0;
}

#main-content dl.caution dt::before {
	display: none !important;
}

#main-content dl.caution dd {
	padding-left: 0;
	font-size: 14px;
	color: #333;
	margin-bottom: 1.3em;
}

#main-content dl.caution *:last-child {
	margin-bottom: 0;
}

/* @end */

/* @group box-strong */

.box-strong {
	background: #fff7f3;
	border: 1px solid #ff5800;
	border-radius: 5px;
	margin-bottom: 2em;
	padding: 22px 18px;
}

.box-strong *:last-child {
	margin-bottom: 0 !important;
}

/* @end */

/* @group hover-fade */

.link-fade a,
a.link-fade,
.link-fade li {
  -webkit-transition: all .3s;
  transition: all .3s;
}

/* @end */

/* @group link */

img.link-icon {
	height: 16px !important;
	padding-left: 6px;
	vertical-align: middle;
}

.link {
	margin-bottom: 2em;
}

span.link {
	margin-bottom: 0;
}

.link a {
	display: inline;
	position: relative;
	padding-left: 22px;
}

.link a::before,
.link a::after {
	position: absolute;
	content: "";
	display: block;
}

.link a::before {
	left: 0px;
	top: calc(.8em - 1px);
	width: 13px;
	height: 1px;
	background: #322c93;
}

.link a::after {
	left: 6px;
	top: calc(.8em - 4px);
	width: 6px;
	height: 4px;
	border-top: 1px solid #322c93;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

a.link-url {
	width: 100%;
	word-wrap: break-word;
}

.link a:hover {
	opacity: .7;
}

/* @end */

/* @group link-list */

#main-content ul.link-list {
	margin-bottom: 2em;
}

#main-content ul.link-list li {
	margin-bottom: 1.2em;
	padding-left: 22px;
}

#main-content ul.link-list li a {
	position: relative;
}

ul.link-list li a::before,
ul.link-list li a::after {
	position: absolute;
	content: "";
	display: block;
}

ul.link-list li a::before {
	left: -22px;
	top: calc(.8em - 1px);
	width: 13px;
	height: 1px;
	background: #322c93;
}

ul.link-list li a::after {
	left: calc(-22px + 6px);
	top: calc(.8em - 4px);
	width: 6px;
	height: 4px;
	border-top: 1px solid #322c93;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#main-content ul.link-list ul {
	margin: 15px 0 20px;
}

#main-content ul.link-list ul ul{
	margin: 10px 0 20px 20px;
}

#main-content ul.list li ul li {
	padding-left: 13px;
	position: relative;
}

ul.link-list li a:hover {
	opacity: .7;
}

/* @end */

/* @group link-btn */

p.link-btn,
p.back-btn {
	position: relative;
	text-align: center;
	width: 290px;
	max-width: 100%;
}
p.back-btn{
	margin: 0 auto;
}

p.link-btn::before,
p.link-btn::after,
p.back-btn::before,
p.back-btn::after {
	position: absolute;
	content: "";
	display: block;
	z-index: 1;
	-webkit-transition: all .3s;
	transition: all .3s;
}

p.link-btn::before{
	left: 17px;
	top: 50%;
	width: 14px;
	height: 2px;
	background: #322c93;
}
p.link-btn::after{
	left: 24px;
	top: calc(50% - 2px);
	width: 6px;
	height: 4px;
	border-top: 2px solid #322c93;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

p.link-btn:hover::before,
p.link-btn.current::before {
	background: #fff;
}

p.link-btn:hover::after,
p.link-btn.current::after {
	border-color: #fff;
}

p.link-btn.center-position {
	margin: 0 auto;
	min-width: 400px;
	max-width: 100%;
}

p.link-btn a,
p.link-btn button,
p.back-btn button {
	border: 2px solid #47419e;
	border-radius: 25px;
 	color: #322c93;
	display: block;
	font-weight: bold;
	line-height: 1.3;
	padding: 11px 25px 11px 40px;
	text-decoration: none;
}

p.link-btn a:hover,
p.link-btn button:hover,
p.link-btn.current a {
 	color: #fff;
}

p.back-btn button{
	margin: 0 auto;
}

.hover-slide a,
.hover-slide a::before,
.hover-slide a::after,
.hover-slide button,
.hover-slide button::before,
.hover-slide button::after,
.back-btn button {
  -webkit-transition: all .3s;
  transition: all .3s;
}

.hover-slide a,
.hover-slide button,
.back-btn button {
  position: relative;
  background-color: #fff;
}

.hover-slide a:hover,
.hover-slide button:hover ,
.back-btn button:hover ,
.hover-slide.current a {
  background-color: #47419e;
  color: #fff;
 }

.hover-slide a::before,
.hover-slide a::after,
.hover-slide button::before,
.hover-slide button::after {
  background-color: #fff;
  content: '';
  display: block;
  width: 100%;
  height: 50%;
  position: absolute;
  z-index: -1;
  left: 0;
 }

.hover-slide a::before,
.hover-slide button::before {
	border-radius: 25px 25px 0 0;
  top: 0;
}

.hover-slide a::after,
.hover-slide button::after {
	border-radius: 0 0 25px 25px;
  bottom: 0;
}

.hover-slide a:hover::before,
.hover-slide a:hover::after,
.hover-slide button:hover::before,
.hover-slide button:hover::after {
  background-color: #fff;
  height: 0;
}

.hover-slide a:hover .ai-out::after,
.hover-slide a:hover .ai-mail::after {
	color: #fff;
	background: none;
}

/* @end */

/* @group anchor-link */

ul.anchor-link {
	display: flex;
	margin-bottom:2.5em;
}

ul.anchor-link li {
	position: relative;
	width: calc(99.9% / 3);
	text-align: center;
	background: #fff;
	color: #47419e;
	font-size: 15px;
	font-weight: bold;
	border: 2px solid #47419e;
	margin-right: 20px;
}

ul.anchor-link li.col2 {
	width: calc(99.9% / 2);
}

ul.anchor-link li:hover {
	cursor: pointer;
	background: #47419e;
}

ul.anchor-link li:nth-of-type(3n) {
	margin-right: 0;
}

ul.anchor-link li::before {
	position: absolute;
	display: block;
	content: "";
	left: 20px;
	top: 15px;
	width: 2px;
	height: 14px;
	background: #322c93;
	-webkit-transition: all .3s;
	transition: all .3s;
}

ul.anchor-link li::after {
	position: absolute;
	top: 22px;
	margin: auto;
	content: "";
	left: 17px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #322c93;
	border-right: 2px solid #322c93;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	-webkit-transition: all .3s;
	transition: all .3s;
}

ul.anchor-link li:hover::before {
	background: #fff;
}

ul.anchor-link li:hover::after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

ul.anchor-link li a {
	display: block;
	padding: 10px;
	text-decoration: none;
}

ul.anchor-link li:hover a {
	color: #fff;
}

/* @end */

/* @group ul */

#main-content ul.list {
	line-height: 1.8;
	margin: 0 0 2em 10px;
}

#main-content ul.list li {
	position: relative;
	list-style: none;
	margin-bottom: .5em;
	padding-left: 15px;
}

#main-content ul.list li::after {
	display: block;
	content: '';
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 6px;
	height: 6px;
	background-color: #ff5800;
	border-radius: 100%;
}

#main-content ul.list ul {
	margin: 1em 0;
}

#main-content ul.list.horizontal {
	display: flex;
	flex-wrap:wrap;
}

#main-content ul.list.horizontal li {
	width: calc((100% - 20px) / 3);
	margin-right: 10px;
}

#main-content ul.list.horizontal li:nth-child(3n) {
	margin-right: 0 !important;
}

#main-content ul.list.colm3 {
	display: flex;
	flex-wrap: wrap;
}

#main-content ul.list.colm3 > li {
	width: calc(100% / 3);
}

/* @end */

/* @group ol */

#main-content ol {
	line-height: 1.8;
	margin-bottom: 2em;
}

#main-content ol li {
	list-style: none;
	margin-bottom: .5em;
	padding-left: 1.8em;
	position: relative;
}

#main-content ol li ol {
	margin: .7em 0;
}

#main-content table ol {
	margin-bottom: 0;
}

ol {
	counter-reset: li;	/* li のカウンタを 0 にセット */
}

ol > li::before {
	color: #ff5800;
	font-weight: bold;
	counter-increment: li;   /* li の数を一つずつ増加 */
	content: counter(li) ". ";		  /* 数を表示 */
	position: absolute;
	top: 0;
	left: .2em;
}

ol > li > ol {
	list-style-type: decimal;
}


ol > li > ol > li {
	margin-left: 0;
	padding-left: 0;
	text-indent: 0;
}

ol > li > ul > li {
	margin-left: 0;
	padding-left: 0;
	text-indent: 0;
}

/* li のカウンタ値 調整 */ 

ol[class^="list-no"]{
  display: block;
}

ol[class^="list-no"] li::before {
  content: counter(item) ". ";
  counter-increment: item;
}

#main-content ul > li:last-of-type,
#main-content ol > li:last-of-type {
	margin-bottom: 0;
}

/* @end */

/* @group dl */

#main-content dl {
	margin-bottom: 2em;
}

#main-content dl dt {
	position: relative;
	margin-bottom: 1.5em;
	padding: 0 0 7px 16px;
	font-weight: bold;
	line-height: 1.8;
	color: #000;
}

#main-content dl dt::before {
	display: block;
	content: '';
	position: absolute;
	top: 0.6em;
	left: 2px;
	width: 6px;
	height: 6px;
	background-color: #ff5800;
	border-radius: 100%;
}

#main-content dl dt::after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 16px;
	width: calc(100% - 16px);
	height: 1px;
	border-bottom: 1px solid #ccc;
}

#main-content dl dd {
	margin: 0 0 2.5em 0;
	line-height: 2.0;
	padding-left: 19px;
}

#main-content dl dd:last-child {
	margin-bottom: 0;
}

#main-content dl dd p {
	margin-bottom: 1em;
}

/* @end */

/* @group table */

#main-content table {
  border-collapse: separate;
	border: 1px solid #d9d9d9;
	border-radius: 8px;
	margin-bottom: 2.5em;
	width: 100%;
	overflow: hidden;
}

#main-content table th {
	background-color: #f5f5f5;
	border-left: 1px solid #d9d9d9;
	border-bottom: 1px solid #d9d9d9;
	color: #322c93;
	line-height: 1.7;
	padding: 11px 15px;
	text-align: left;
}

#main-content table td {
	padding: 11px 11px;
	border-left: 1px solid #d9d9d9;
	border-bottom: 1px solid #d9d9d9;
	vertical-align: top;
	line-height: 1.7;
}

#main-content table tr *:first-child {
	border-left: none;
}

#main-content table tr:last-child th,
#main-content table tr:last-child td {
	border-bottom: none;
}

#main-content table th.sub-head {
	background: #fbf8f1;
}

#main-content table p {
	margin-bottom: 0.5em;
}

#main-content table.seino-kenpou p {
	margin-bottom: 1.8em;
}

#main-content table ul,
#main-content table ul.list {
	margin-bottom: 20px;
}

.word-wrap {
	word-wrap: break-word;
}

#main-content table th.middle-position,
#main-content table td.middle-position,
#main-content table.middle-position,
#main-content table.middle-position {
	vertical-align: middle !important;
}

#main-content table th.top-position {
	vertical-align: top !important;
}

#main-content table th *:last-child,
#main-content table td *:last-child {
	margin-bottom: 0;
}

#main-content table.outline {
	background: #f7f7f7;
	border: none;
}

#main-content table.outline th {
	width: 25%;
	color: #322c93;
	background: none;
	border-top: none;
	border-right: none;
	border-left: none;
	border-bottom: none;
	padding: 20px 20px;
}

#main-content table.outline td {
	width: 75%;
	position: relative;
	background: none;
	border-top: none;
	border-right: none;
	border-bottom: none;
	border-left: none;
	padding: 20px 20px;
}

table.outline td::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 17px;
	width: 2px;
	height: calc(100% - 34px);
	background: #ccc;
}

table.outline tr:nth-child(odd) {
	background: #f0f0f0;
}

table dl dt {
	color: #322c93 !important;
}

#main-content table.outline tr:first-of-type th:first-child {
	border-top-left-radius: 8px;
}

/* @end */

/* @group modal-area */

.modal-overlay {
	z-index:100;
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:120%;
	background-color:rgba(0,0,0,0.85);
}

.modal-wrap {
	z-index:201;
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	overflow:auto;
}

.modal {
	background-color: #FFF;
	border-radius: 10px;
	display: none;
	height: auto;
	width: auto;
	overflow: hidden;
	max-height: 80vh;
	max-width: 90%;
	padding: 15px 5px;
	position: absolute;
}

.modal-inner {
	height: auto;
	max-height: calc(80vh - 50px);
	width: 100%;
	overflow-y: auto;
	padding: 25px 40px 0;
	position: relative;
}

#main-content .modal .modalClose {
	margin: 2.5em auto 0;
	width: 130px;
}

#main-content .modal .modalClose a {
	background-color: #808080;
	width: 100%;
	display: block;
	padding: .4em 0.5em .4em 1.5em;
}

#main-content .modal .modalClose a::before,
#main-content .modal .modalClose a::after {
	background: #FFF;
	border: none;
	content: "";
	display: block;
	height: 12px;
	width: 3px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	position: absolute;
	top: 0;
	left: 20px;
	margin: auto;
	bottom: 0;
}

#main-content .modal .modalClose a::after {
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
}

body.locked{
	overflow: hidden;
	position: fixed;
  width: 100%;
	overflow-y: scroll;
}

p.modalClose.link-btn::before,
p.modalClose.link-btn::after {
	content: none;
}

p.modalClose.link-btn a,
p.modalClose.link-btn button {
	border: none;
 	color: white;
	font-weight: normal;
	line-height: 1.8;
}

p.modalClose.link-btn.center-position {
	margin: 0 auto;
	min-width: 100px;
	max-width: 100%;
}

.modal-inner > *:last-child {
	margin-bottom: 40px !important;
}


/* オーバーレイのスタイル */
#modal-bg {
	background: rgba(0,0,0,0.8);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}

/* @end */

/* @group form */

#main-content .form-area .row-wrap {
	border-radius: 8px;
	overflow: hidden;
}

#main-content .form-area div.row {
	display: table;
	width: 100%;
	background-color: #f0f0f0;
}

#main-content .form-area div.row:nth-child(even) {
	background-color: #f7f7f7;
}

#main-content .form-area div.cell1,
#main-content .form-area div.cell2 {
	display: table-cell;
	padding: 21px 0 21px 15px;
	vertical-align: top;
}

#main-content .form-area div.cell1 {
	color: #322c93;
	font-weight: bold;
	width: 238px;
}

#main-content .form-area div.cell2 {
	padding-left: 35px;
	width: calc(100% - 238px);
	line-height: 2.5;
	position: relative;
}

#main-content .form-area div.cell2::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 17px;
	width: 2px;
	height: calc(100% - 34px);
	background: #ccc;
}

#main-content .form-area div.cell1 span {
	color: #ff5800;
	margin-left: 5px;
}

#main-content .form-area div.cell2 input[type="text"],
#main-content .form-area div.cell2 select,
#main-content .form-area div.cell2 textarea {
	font-family: Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 14px;
}

#main-content .form-area div.cell2 input[type="text"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
	border: 1px solid #d9d9d9;
	border-radius: 0;
	box-shadow: 2px 2px rgba(217, 217, 217,1) inset;
	height: 38px;
	padding: 0 0.5em;
	width: 95%;
}

#main-content .form-area div.cell2 input[type="text"].input-text02 {
	width: 25%;
}

#main-content .form-area div.cell2 input[type="text"].input-text03 {
	width: 15%;
}

#main-content .form-area div.cell2 textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
	border: 1px solid #d9d9d9;
	border-radius: 0;
	box-shadow: 2px 2px rgba(217, 217, 217,1) inset;
	line-height: 1.8;
	min-height: 7em;
	padding: 0 1em;
	resize: vertical;
	width: 95%;
}

#main-content .form-area div.cell2 select {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
	background: url(../images/icon_select.png) no-repeat right 50% / auto 100%;
	border: 1px solid #d9d9d9;
	border-radius: 0;
	box-shadow: 2px 2px rgba(217, 217, 217,1) inset;
	font-size: 14px;	
	height: 2.8em;
	min-width: 242px;
	padding: 0 0 0 1em;
	color: #666;
	background-color: #fff;
}

#main-content select::-ms-expand {
  display: none;
}

#main-content .form-area div.cell2 select::-ms-expand {
 	display: none;
}

#main-content .form-area div.cell2 ul.form-checkbox,
#main-content .form-area div.cell2 ul.form-list {
	display: flex;
	display: -ms-flexbox; /*IE10*/
	flex-wrap: wrap;
	-ms-flex-wrap:wrap;	/*IE10*/
}

#main-content .form-area div.cell2 ul.form-checkbox li,
#main-content .form-area div.cell2 ul.form-list li {
	float: left;
	margin-bottom: 1.2em;
	width: calc(100% / 3);
	line-height: initial;
}

#main-content .form-area div.cell2 ul.form-checkbox li:last-of-type,
#main-content .form-area div.cell2 ul.form-list li:last-of-type {
	margin-bottom: 0;
}

#main-content .form-area div.cell2 input[type="radio"],
#main-content .form-area div.cell2 input[type="checkbox"] {
	display: inline-block;
	margin-right: .5em;
}

#main-content .form-area div.cell2 input[type="radio"] ~ label,
#main-content .form-area div.cell2 input[type="checkbox"] + label {
	position: relative;
	display: inline-block;
	margin-right: 12px;
	font-size: 0.875rem;	/* 16px → 14px */
	line-height: 1.4;
	vertical-align: middle;
	cursor: pointer;
}

#main-content .form-area div.cell2 .caution {
	font-size: 93%;
	margin-top: 1em;
}

#main-content .form-area div.cell2 > *:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 769px) {
	
#main-content .form-area div.cell2 ul.form-checkbox li:nth-last-of-type(-n+3),
#main-content .form-area div.cell2 ul.form-list li:nth-last-of-type(-n+3) {
	margin-bottom: 0;
}
	
}

@media (min-width: 1px) {	/* 〜IE8は適用外*/

#main-content .form-area div.cell2 input[type="radio"],
#main-content .form-area div.cell2 input[type="checkbox"] {
	display: none;
	margin: 0;
}
	
#main-content .form-area div.cell2 input[type="radio"] ~ label,
#main-content .form-area div.cell2 input[type="checkbox"] + label {
	padding: 0 0 0 26px;
}
	
#main-content .form-area div.cell2 input[type="radio"] ~ label::before,
#main-content .form-area div.cell2 input[type="checkbox"] + label::before {
	background: #FFF;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	content: "";
	display: block;
	height: 16px;
	margin: auto;
	width: 16px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}
	
#main-content .form-area div.cell2 input[type="radio"] ~ label::before {
	border: 2px solid #bfbfbf;
	border-radius: 30px;
}
	
#main-content .form-area div.cell2 input[type="checkbox"] + label::before {
	border: 2px solid #bfbfbf;
}
	
#main-content .form-area div.cell2 input[type="radio"]:checked ~ label::after,
#main-content .form-area div.cell2 input[type="checkbox"]:checked + label::after {
	content: "";
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	position: absolute;
	top: 50%;
}
	
#main-content .form-area div.cell2 input[type="radio"]:checked ~ label::after {
	background: #ff5800;
	border-radius: 8px;
	height: 8px;
	margin: auto;
	width: 8px;
	left: 4px;
	top: 0;
	bottom: 0;
}
	
#main-content .form-area div.cell2 input[type="checkbox"]:checked + label::after {
	left: 3px;
	width: 16px;
	height: 8px;
	margin-top: -8px;
	border-left: 3px solid #ff5800;
	border-bottom: 3px solid #ff5800;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
	
}

#main-content #privacy-box {
	border: 1px solid #d9d9d9;
	border-radius: 8px;
	box-shadow: 2px 2px rgba(217, 217, 217,1) inset;
	max-height: 300px;
	overflow-y: auto;
	padding: 25px;
	width: 100%;
	margin-bottom: 40px;
}

#main-content .form-area p.link-btn,
#main-content .form-area p.back-btn{
	font-size: 16px;
	min-width: inherit;
}

#main-content .form-area button{
	width: 100%;
	max-width: 302px;
	font-size: 16px;
	padding: 11px 0;
}

#main-content .form-area button:hover {
	cursor: pointer;
}

#main-content .form-area .kakunin-btn-area {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto;
	max-width: 406px;
}

#main-content .form-area .kakunin-btn-area .link-btn {
	width: 183px;
}

#main-content .form-area .link-btn.correct::after {
    left: 17px;
    top: calc(50% - 6px);
    -webkit-transform: rotate(145deg);
    transform: rotate(145deg);
}

#main-content .form-area .link-btn.send::before {
    left: inherit;
		right: 17px;
}

#main-content .form-area .link-btn.send::after {
    left: inherit;
		right: 17px;
}

#main-content .form-area .msg-error {
	color: #f00;
	font-weight: 600;
	margin-bottom: 0;
}

/* @end */

/* @group FAQ */

dl.qa {
	margin-bottom: 2em;
}

dl.qa dt {
	padding: 3px 0 12px 53px !important;
	margin-bottom: 12px !important;
	font-size: 16px !important;
	color: #322c93 !important;
	line-height: 1.6 !important;
	min-height: 45px;
}

#main-content dl.qa dt::before {
	background: url(../images/icon_qa_q.png) no-repeat left top;
	background-size: 34px auto;
	border-radius: 5px;
	height: 34px;
	width: 34px;
	top: 0;
	left: 0;
}

#main-content dl.qa dt::after {
	display: none;
}

dl.qa dd {
	padding: 3px 0 35px 50px !important;
	margin-bottom: 30px !important;
	min-height: 45px;
	line-height: 2.0 !important;
	border-bottom: 2px solid #e5e5e5;
	position: relative;
}

#main-content dl.qa dd::before {
	background: url(../images/icon_qa_a.png) no-repeat left top;
	background-size: 34px auto;
	border-radius: 5px;
	content: "";
	height: 34px;
	width: 34px;
	position: absolute;
	top: 0;
	left: 0;
}

#main-content dl.qa dd > *:last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

dl.accordion dd {
	display: none;
}

/* @end */

/* @group news */

#info-area ul {
  margin-bottom: 30px;
}

#info-area li {
  margin-bottom: 15px;
}

#info-area li:hover a {
  text-decoration-color: transparent;
}

#info-area li span.date {
  width: 9em;
/*  display: inline-block;*/
  display: block;
  vertical-align: top;
}

#info-area li a {
/*  width: calc(100% - 9em);*/
  display: inline-block;
	line-height: 1.8;
}

/* @end */

/* @group voice-box */

.voice-box {
	background-color: #FFF;
	border: 3px solid #ff5800;
	border-radius: 5px;
	display: flex;
}

#main-content .voice-box p {
	display: flex;
	align-items: center;
	margin: 0;
}

.voice-box p.head {
	background-color: #f8f7ea;
	color: #ff5800;
	justify-content: center;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: .05em;
	padding: 1.3em 0;
	text-align: center;
	width: 174px;
	position: relative;
}

.voice-box p.head::before {
	background: url("../images/icon_voice.png") no-repeat center top / auto 38px;
	content: "";
	height: 38px;
	width: 100%;
	margin: auto;
	position: absolute;
	top: -20px;
	left: 0;
	z-index: 1;
}

.voice-box p:not(.head) {
	color: #322c93;
	font-size: 17px;
	font-weight: 600;
	padding: 1.3em 1em 1.3em 1.5em;
	width: calc(100% - 174px);
}

/* @end */

/* @group inquiry-banner */

#inquiry-banner {
	background: #f9f9f1 url("../images/banner_inquiry_back.png") no-repeat 45px center / 145px auto;
	border: 8px solid #FFF;
	border-radius: 10px;
	box-shadow: 0px 0px 7px 0px rgba(0,0,0,.2);
	/*display: flex;*/
	display: none;
	align-items: center;
	height: 145px;
	padding-left: 210px;
}

#inquiry-banner p.copy {
	color: #322c93;
	font-size: 17px;
	font-weight: 600;
	margin-bottom: 0;
}

#inquiry-banner p.copy span {
	position: relative;
}

#inquiry-banner p.copy span::before {
	background-color: #ffbe75;
	content: "";
	height: 3px;
	width: 100%;
	position: absolute;
	bottom: -5px;
	left: 0;
}

#inquiry-banner p.btn {
	margin: 0 auto;
	width: 287px;
	position: relative;
}

#inquiry-banner p.btn a {
	background: #f05f04 url("../images/icon_inquiry_on.png") right 23px center no-repeat;
	background-size: 34px auto;
	border-radius: 25px;
	color: #FFF;
	display: block;
	font-size: 20px;
	font-style: italic;
	font-weight: bold;
	letter-spacing: .1em;
	padding: 9px 35px;
	text-decoration: none;
	text-align: center;
	position: relative;
}

#inquiry-banner p.btn a::before {
	background: #FFF;
	content: "";
	display: block;
	width: 13px;
	height: 2px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 22px;
}

#inquiry-banner p.btn a::after {
	border-top: 2px solid #FFF;
	content: "";
	display: block;
	width: 6px;
	height: 5px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin: auto;
	position: absolute;
	left: 28px;
	bottom: 0px;
	top: 0;
}

#inquiry-banner p.btn a:hover {
	color: #fff;
	background-image: url(../images/icon_inquiry_on.png);
	background-color: #47419e;
}

#inquiry-banner p.btn a:hover::before {
	background-color: #FFF;
}

#inquiry-banner p.btn a:hover::after {
	border-color: #FFF;
}

/* @end */

/* @group footer-inquiry */

#footer-inquiry-area {
	margin: 0 auto 0;
	max-width: 1024px;
	width: 100%;
	position: relative;
}

#footer-inquiry-area p.head {
	color: #FFF;
	display: inline-block;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: .1em;
	transform: skewX(-7deg);
	padding: .8em 1.2em;
	position: relative;
	top: 0;
	left: 40px;
}

#footer-inquiry-area p.head::before {
	background-color: #322C93;
	border-radius: 6px;
	content: "";
	height: 100%;
	width: 100%;
	transform: skewX(7deg);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#footer-inquiry-area p.head::after {
	border-right: 5px solid transparent;
	border-bottom: 15px solid #322C93;
	border-left: 30px solid transparent;
	content: "";
	transform: rotate(-40deg);
	position: absolute;
	bottom: -7px;
	left: 50px;
}

#footer-inquiry {
	background: url(../images/footer_logo_tozan.png) no-repeat 36px center / 127px auto;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: calc(129px - 12px);
	padding: 0 43px 0 197px;
	line-height: 1.6;
	position: relative;
	top: -10px;
}

#footer-inquiry::before {
	background-color: #F05F04;
	border: 6px solid #FFF;
	border-radius: 10px;
	box-shadow: 0px 0px 15px 0 rgba(80,130,190,.5);
	content: "";
	height: 100%;
	width: calc(100% - 12px);
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: .85;
	z-index: -1;
}

#footer-inquiry p.copy {
	border-left: 2px dotted #FFF;
	color: #fff;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: .04em;
	padding-left: 1.9em;
}

#footer-inquiry p.btn {
	width: 273px;
	position: relative;
}

#footer-inquiry p.btn a {
	background: #FFF url(../images/icon_inquiry.png) right 23px center no-repeat;
	background-size: 34px auto;
	border-radius: 25px;
	box-shadow: 3px 3px rgba(0,0,0,0.3);
	color: #322c93;
	display: block;
	font-size: 19px;
	font-style: italic;
	font-weight: bold;
	letter-spacing: .08em;
	padding: 9px 35px;
	text-align: center;
	text-decoration: none;
	position: relative;
	-webkit-transition: all .3s;
	transition: all .3s;
}

#footer-inquiry p.btn a::before {
	background: #322c93;
	content: "";
	display: block;
	width: 13px;
	height: 2px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 22px;
	-webkit-transition: all .3s;
	transition: all .3s;
}

#footer-inquiry p.btn a::after {
	border-top: 2px solid #322c93;
	content: "";
	display: block;
	width: 6px;
	height: 5px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin: auto;
	position: absolute;
	left: 28px;
	bottom: 0px;
	top: 0;
	-webkit-transition: all .3s;
	transition: all .3s;
}

#footer-inquiry p.btn a:hover {
	color: #fff;
	background-image: url(../images/icon_inquiry_on.png);
	background-color: #47419e;
}

#footer-inquiry p.btn a:hover::before {
	background-color: #FFF;
}

#footer-inquiry p.btn a:hover::after {
	border-color: #FFF;
}

/* @end */

/* @group footer */

#footer-area {
	margin-bottom: 105px;
	width: 100%;
	position: relative;
}

/* @group footer-nav */

#footer-nav {
	width: 1064px;
	margin: 0 auto;
	padding: 20px 20px;
}

#footer-nav ul {
	display: -ms-flexbox; /*IE10*/
	display: flex;
	justify-content: flex-end;
}

#footer-nav ul li {
	margin-left: 23px;
}

#footer-nav ul li:first-child {
	margin-left: 0;
}

#footer-nav a {
	text-decoration-color: transparent;
	line-height: 1.3;
	padding-left: 17px;
	font-size: 14px;
	position: relative;
	color: #000;
	font-style: italic;
}

#footer-nav a::before,
#footer-nav a::after {
	position: absolute;
	content: "";
	display: block;
}

#footer-nav a::before {
	left: 0px;
	top: calc(.5em + 1px);
	width: 13px;
	height: 1px;
	background: #000;
}

#footer-nav a::after{
	left: 6px;
	top: calc(.5em - 2px);
	width: 6px;
	height: 4px;
	border-top: 1px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#footer-nav a:hover {
	text-decoration: underline;
	color: #322c93;
}

#footer-nav a:hover::before {
	background: #322c93;
}

#footer-nav a:hover::after {
	border-top: 1px solid #322c93;
}

/* @end */

/* @group footer-copyright */

#copyright {
	padding: 18px 0;
	width: 100%;
	position: absolute;
	bottom: 0;
}

#copyright p {
	color: #FFF;
	font-size: 11px;
	padding: 0 20px;
	text-align: center;
}

/* @end */

/* @group page-top */

#totop {
	position: fixed;
	right: 0px;
	bottom: 0px;
	z-index: 90;
	width: 96px;
	height: auto;
}

#totop img {
	width: 100%;
	height: auto;
}

#totop a:hover {
	opacity: 0.7;
}

/* @end */

/* @end */

/* @group home */

body.home {
	background:
url("../images/bg_body_btm3_pc.png") no-repeat center bottom / 2000px auto,
		#dcf5fe url("../../images/home_bg_body_pc.png") no-repeat center bottom / cover;
	min-height: 100vh;
	min-width: 1124px;
}

body.home h1 {
	width: 528px;
	margin: 0 auto 0;
	position: absolute;
	top: 72px;
	left: 0;
	right: 0;
}

body.home #content-area {
	margin-bottom: 100px;
	margin-top: 0;
}

body.home #content-area::before {
	display: none;
}

/* @group home main-visual */

#main-visual {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.mv-slider {
  width: 668px;
  height: 410px;
	margin: auto;
  perspective: 3000px;
	transform: rotate(0deg);
	visibility: hidden;
	transform-origin: 50% 50% 0px;
	opacity: 1;
  position: absolute;
  top: 150px;
	left: 0;
	right: 0;
}

.slider-image {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  will-change: transform;
  pointer-events: none;
}

.slider-image.active {
  pointer-events: auto;
}

.slider-image span {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  position: absolute;
}

.slider-image img {
	border-radius: 15px;
  position: absolute;
  left: 0;
  top: 0;
}

.slider-image::before {
	background: url("../../images/slider_bg.png") no-repeat center / 100% auto;
	content: "";
	height: calc(100% + 30px);
	width: calc(100% + 30px);
	position: absolute;
	top: -12px;
	bottom: 0;
	left: -15px;
	right: 0;
}

.slider-overcvs {
	display: none;
  position: absolute;
  width: 95%;
  height: 92%;
  left: 2.5%;
  top: 4%;
  overflow: hidden;
}

.slider-overcvs canvas {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 100%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
}

.slider-overblock {
	display: none;
  position: absolute;
  width: 95%;
  height: 92%;
  left: 2.5%;
  top: 4%;
  overflow: hidden;
  visibility: hidden;
}

.slider-circle {
  position: absolute;
  left: 50%;
  top: 50%;
  background: #fff;
  width: 9.5%;
  height: 15%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  border-radius: 50%;
  display: block;
  z-index: 2;
}

.slider-circle span {
  position: absolute;
  background-size: contain;
  left: 50%;
  top: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  width: 80%;
  height: 18%;
  display: block;
}

.mv-pager {
	display: none;
  position: absolute;
  left: 50%;
  bottom: 110px;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  margin: 0;
  padding: 0;
}

.pager-list {
  float: left;
  width: 12px;
  height: 13px;
  margin-right: 16px;
  background: url("../../images/pager_cir.png") no-repeat;
  cursor: pointer;
}

.pager-list.active {
  opacity: .5;
  pointer-events: none;
}

.pager-list:last-child {
  margin-right: 0;
}

.mv-btn-area {
	display: none;
	width: 804px;
	height: 38px;
	margin: auto;
	position: absolute;
	bottom: 39%;
	left: 0;
	right: 0;
}

.mv-btn {
	background-color: #f48743;
	border-radius: 50%;
  display: block;
  height: 38px;
  width: 38px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  position: absolute;
  top: 0;
}

.mb-btn-left {
  left: 0;
}

.mb-btn-right {
  right: 0;
}

.mb-btn-left,
.mb-btn-right {
	background-color: #f48743;
	border-radius: 50%;
}

.mb-btn-left::before,
.mb-btn-right::before,
.mb-btn-left .hover::before,
.mb-btn-right .hover::before {
	border-top: 3px solid #FFF;
	border-right: 3px solid #FFF;
	border-radius: 2px;
	content: '';
	height: 9px;
	width: 9px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	position: absolute;
	top: 0;
	left: 3px;
	margin: auto;
	right: 0;
	bottom: 0;
}

.mb-btn-right::before,
.mb-btn-right .hover::before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	left: 0;
	right: 3px;
}

.mv-btn .hover {
	background-color: #2132a1;
	border-radius: 50%;
  width: 38px;
  height: 38px;
  display: block;
  -ms-transform-origin: 50% 0;
      transform-origin: 50% 0;
  transition: transform 0.4s cubic-bezier(0.075, 0.47, 0.435, 1.495);
  position: absolute;
  top: 0;
  left: 0;
}

.mv-btn:hover .hover {
  -ms-transform: rotate(0deg);
      transform: rotate(0deg);
}

.mb-btn-left .hover {
  -ms-transform: rotate(-180deg);
      transform: rotate(-180deg);
}

.mb-btn-right .hover {
  -ms-transform: rotate(180deg);
      transform: rotate(180deg);
}

@media screen and (min-width: 769px) {

	#main-visual {
		height: 600px !important;
	}
	
}

/* @end */

#home-main-content {
  line-height: 1.8;
  position: relative;
}


#home-main-content p{
  margin-bottom: 2em;
}

body.home .inner{
  max-width: 1024px;
  margin: 0 auto;
  height: 100%;
}

#home-main-content .link a::before {}

#home-main-content .link a::after {}

#home-main-content a:hover {
	opacity: .7;
}

#home-bnr-area {
	margin: 35px auto 0;
	width: 100%;
	max-width: 1170px;
	padding: 0 15px;
	position: absolute;
	left: 0;
	right: 0;
}

#home-bnr-area ul {
	display: flex;
	justify-content: space-between;
}

#home-bnr-area ul li {
	background-color: #FFF;
	border: 3px solid #f05f04;
	border-radius: 10px;
	box-shadow: 0 0 20px 0 rgba(80,130,190,.3);
	width: 170px;
	position: relative;
	z-index: 0;
}

#home-bnr-area ul li::before {
	background-color: #f2772a;
	border-radius: 0 0 6px 6px;
	height: 100%;
	top: auto;
	bottom: 0;
}

#home-bnr-area ul li a {
	color: #f05f04;
	font-size: 20px;
	font-weight: 700;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 118px;
	letter-spacing: .1em;
	padding-bottom: .5em;
	text-decoration: none;
	position: relative;
	z-index: 1;
}

#home-bnr-area ul li a span {
	display: block;
	font-family: 'Montserrat-Italic';
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	height: 1em;
	margin: auto;
	line-height: 1;
	text-align: center;
	width: 100%;
	position: absolute;
	top: calc(20px * 1.7);
	bottom: 0;
	left: 0;
}

#home-bnr-area ul li a::before {
	background-color: #f2772a;
	border-radius: 50%;
	content: "";
	height: 17px;
	width: 17px;
	position: absolute;
	bottom: 7px;
	right: 7px;
}

#home-bnr-area ul li a::after {
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	content: '';
	height: 5px;
	width: 5px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(45deg);
	position: absolute;
	bottom: 12px;
	right: 13px;
}

#home-bnr-area ul li a::before,
#home-bnr-area ul li a::after {
	-webkit-transition: all .3s;
	transition: all .3s;
}

#home-bnr-area ul li:nth-of-type(2) {
	border-color: #2132a1;
}

#home-bnr-area ul li:nth-of-type(2)::before,
#home-bnr-area ul li:nth-of-type(2) a::before {
	background-color: #3b49ab;
}

#home-bnr-area ul li:nth-of-type(2) a {
	color: #2132a1;
}

#home-bnr-area ul li:hover a {
	color: #fff;
	opacity: inherit;
}

#home-bnr-area ul li:hover a::before {
	background-color: #FFF;
}

#home-bnr-area ul li:hover a::after {
	border-color: #f05f04;
}

#home-bnr-area ul li:nth-of-type(2):hover a::after {
	border-color: #2132a1;
}

#home-info-area {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 10px;
	max-width: 670px;
	position: relative;
	z-index: 1;
}

#home-info-area h2 {
  color: #2132a1;
  font-size: 21px;
	font-weight: 500;
  margin-bottom: .2em;
  line-height: 1.3;
  letter-spacing: .2em;
	width: 120px;
}

#home-info-area .h2-area p {
	padding-left: .5em;
}

#home-info-area .h2-area p a {
	color: #666;
	font-size: 12px;
	position: relative;
}

#home-info-area .h2-area p a::before {
	background-color: #666;
	border-radius: 2px;
	content: "";
	height: 13px;
	width: 13px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -20px;
}

#home-info-area .h2-area p a::after {
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	content: '';
	height: 3px;
	width: 3px;
	margin: auto;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: -15px;
}

#home-info-area #info-area li {
	background: none;
	box-shadow: none;
	font-size: 13px;
	padding: 0;
}

#home-group-area {
	background-color: #FFF;
	box-shadow: 0px 0px 10px 0px rgba(80,130,190,.2);
	border-radius: 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 40px;
	max-width: 363px;
	position: relative;
}

#home-group-area h2 {
	border-right: 1px solid rgba(33,50,161,.3);
	color: #2132a1;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .15em;
	margin-bottom: .2em;
	text-align: center;
	width: 190px;
}

#home-group-area ul {
	display: flex;
	justify-content: space-between;
	width: 540px;
}

#home-group-area ul li img {
	width: 262px;
}

body.home #footer-inquiry-area,
body.home #footer-area {
	display: none;
}

/* @end */

/* @group challenge */

.challenge-main figure {
	width: calc(100vw + 120px);
	max-width: 1280px;
	margin-left: -120px;
}

/* @end */

/* @group business */

 .kaizen h4 figure {
	width: 169px;
	height: auto;
	margin: 0 auto;
}

/* @end */

/* @group company - greeting */

.name span {
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 27px;
}

/* @end */

/* @group company - outline */

#outline table.outline th,
#history table.outline th {
	width: 19%;
}

/* @end */

/* @group recruit */

.blue {
	color: #322C91;
	font-size: 16px;
	margin-bottom: 90px !important;
}

#recruit-main {
	margin: -45px 0 50px;
	position: relative;
}

#recruit-main::before {
	background: url("../../images/recruit/main_bg.png") repeat center top / 6px auto;
	content: "";
	height: 387px;
	margin-left: calc((100vw - 1024px) / -2);
	width: 100vw;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

@media screen and (max-width: 1084px) {

	#recruit-main::before {
		margin-left: -30px;
	}

}

#recruit-main figure {
	margin: 0 calc((1500px - 1024px) / -2);
	height: 616px;
	text-align: center;
	width: 1500px;
	position: relative;
}

#recruit-main figure img {
	max-width: none;
	height: 100%;
	margin: auto;
}

.recruit-index-pattern {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
}

.recruit-index-pattern .col {
	width: calc((99.9% - (40px * 2)) / 3);
}

@media screen and (min-width: 769px) {

	.recruit-index-pattern .col:not(:nth-of-type(3n)) {
		margin-right: 40px;
	}

	.recruit-index-pattern .col:not(:nth-last-of-type(-n+3)) {
		margin-bottom: 20px;
	}
	
}

.recruit-index-pattern .col a {
	border: 6px solid #FFF;
	border-radius: 8px;
	box-shadow: 0px 0px 7px 0px rgba(0,0,0,.2);
	display: flex;
	align-items: center;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4;
	height: 97px;
	padding: 0 0 0 70px;
	text-decoration: none;
	position: relative;
}

.recruit-index-pattern .col a::before,
.recruit-index-pattern .col a::after {
	background-color: #f9f9f2;
	background-position: 16px center;
	background-repeat: no-repeat;
	background-size: 44px auto;
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.recruit-index-pattern .col a::after {
	background-color: #f45f04;
	opacity: 0;
}

.recruit-index-pattern .col:nth-of-type(1) a:before {
	background-image: url("../../images/recruit/icon_recruit01.png");
}

.recruit-index-pattern .col:nth-of-type(1) a:after {
	background-image: url("../../images/recruit/icon_recruit01_on.png");
}

.recruit-index-pattern .col:nth-of-type(2) a:before {
	background-image: url("../../images/recruit/icon_recruit02.png");
}

.recruit-index-pattern .col:nth-of-type(2) a:after {
	background-image: url("../../images/recruit/icon_recruit02_on.png");
}

.recruit-index-pattern .col:nth-of-type(3) a:before {
	background-image: url("../../images/recruit/icon_recruit03.png");
}

.recruit-index-pattern .col:nth-of-type(3) a:after {
	background-image: url("../../images/recruit/icon_recruit03_on.png");
}

.recruit-index-pattern .col:nth-of-type(4) a:before {
	background-image: url("../../images/recruit/icon_recruit04.png");
}

.recruit-index-pattern .col:nth-of-type(4) a:after {
	background-image: url("../../images/recruit/icon_recruit04_on.png");
}

.recruit-index-pattern .col:nth-of-type(5) a:before {
	background-image: url("../../images/recruit/icon_recruit05.png");
}

.recruit-index-pattern .col:nth-of-type(5) a:after {
	background-image: url("../../images/recruit/icon_recruit05_on.png");
}

.recruit-index-pattern .col:nth-of-type(6) a:before {
	background-image: url("../../images/recruit/icon_recruit06.png");
}

.recruit-index-pattern .col:nth-of-type(6) a:after {
	background-image: url("../../images/recruit/icon_recruit06_on.png");
}

.recruit-index-pattern .col:nth-of-type(7) a:before {
	background-image: url("../../images/recruit/icon_recruit07.png");
}

.recruit-index-pattern .col:nth-of-type(7) a:after {
	background-image: url("../../images/recruit/icon_recruit07_on.png");
}

.recruit-index-pattern .col:nth-of-type(8) a:before {
	background-image: url("../../images/recruit/icon_recruit08.png");
}

.recruit-index-pattern .col:nth-of-type(8) a:after {
	background-image: url("../../images/recruit/icon_recruit08_on.png");
}

.recruit-index-pattern .col a > span:first-of-type {
	display: block;
	width: 100%;
	position: relative;
}

.recruit-index-pattern .col a span:first-of-type::before {
	background-color: #f45f04;
	border-radius: 50%;
	content: "";
	height: 16px;
	width: 16px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
}

.recruit-index-pattern .col a span:first-of-type::after {
	border-color: #FFF;
	border-style: solid;
	border-width: 2px 2px 0 0;
	content: '';
	height: 4px;
	width: 4px;
	margin: auto;
	-webkit-transform: scale(1, 1) rotate(45deg);
	transform: scale(1, 1) rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 16px;
}

.recruit-index-pattern .col a,
.recruit-index-pattern .col a::before,
.recruit-index-pattern .col a::after,
.recruit-index-pattern .col a span,
.recruit-index-pattern .col a span:first-of-type::before,
.recruit-index-pattern .col a span:first-of-type::after {
	transition: all .3s ease-out;
}

.recruit-index-pattern .col a:hover {
	color: #FFF;
}

.recruit-index-pattern .col a:hover::before {
	opacity: 0;
}

.recruit-index-pattern .col a:hover::after {
	opacity: 1;
}

.recruit-index-pattern .col a:hover span:first-of-type::before {
	background-color: #FFF;
}

.recruit-index-pattern .col a:hover span:first-of-type::after {
	border-color: #f45f04;
}

/* @end of recruit */

/* @group recruit - about */

/* @group movie */

.movie-wrap {
	position:relative;
}

.movie-wrap::before {
	content: "";
	display: block;
	padding-top:56.5%;
}

.movie-wrap video {
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}

/* @end of movie */

body.recruit-about #main-content {
	padding-bottom: 90px;
}

#about-bnr-area {
	margin: 0 calc((100vw - 1024px) / -2);
	text-align: center;
	width: 100vw;
}

@media screen and (max-width: 1084px) {

	#about-bnr-area {
		margin: 0 -10px;
		width: 1044px;
	}

}

#about-bnr-area p {
	margin-bottom: 0;
}

body.recruit-about .modal {
	width: 90%;
	max-width: 1024px;
}

body.recruit-about #main-content .modal-inner figure {
	float: left;
	width: 35%;
	margin: 0 40px 30px 0;
}

body.recruit-about #main-content .modal-inner p:not(.modalClose) {
	margin-bottom: 1em;
}

/* @end of recruit - about */

/* @group recruit - interview */

body.interview .index-pattern #gas-station .title {
	letter-spacing: -.08em;
}

body.interview .index-pattern #gas-station .title span:not(.en) {
	font-size: 16px;
}

body.interview .other-link a img {
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,.2);
}

#recruit-main.interview-kv {
	margin: -15px 0 90px;
	padding-bottom: 40px;
}

#recruit-main.interview-kv::before {
	height: 390px;
}

#recruit-main.interview-kv figure {
	margin: 0 calc((1048px - 1024px) / -2);
	max-width: 1048px;
	height: auto;
}

#recruit-main.interview-kv figure img {
	height: auto;
}

/* @end */

/* @group recruit - success */

#recruit-main.success-kv {
	margin: 0 0 50px;
}

#recruit-main.success-kv::before {
	top: calc((100% - 387px) / 2);
	bottom: auto;
}

#recruit-main.success-kv figure {
	height: 554px;
}

/* @end */

/* @group recruit - number */

#pattern-number {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

#pattern-number .col {
	border-radius: 8px;
	box-shadow: 0px 0px 7px 0px rgba(0,0,0,.2);
	color: #322c93;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 600;
	margin-right: 38px;
	margin-bottom: 80px;
	text-align: center;
	width: calc((99.9% - (38px * 2)) / 3);
	position: relative;
}

#pattern-number .col:nth-of-type(3n) {
	margin-right: 0;
}

#pattern-number .head {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: #f4f4e8;
	border: 10px solid #FFF;
	border-radius: 8px 8px 0 0;
	font-size: 20px;
	height: 95px;
	letter-spacing: .05em;
	line-height: 1.5;
	margin-bottom: 1.1em;
	position: relative;
}

#pattern-number .head::before {
	border-style: solid;
	border-width: 0 15px 15px 15px;
	border-color: transparent transparent #f4f4e8 transparent;
	content: "";
	height: 0;
	width: 0;
	margin: auto;
	transform-origin: center;
	transform: rotate(30deg);
	position: absolute;
	bottom: -8px;
	left: 0;
	right: 0;
}

#pattern-number .head span span {
	display: block;
	line-height: 1.1;
}

#pattern-number div.data {
	display: flex;
	justify-content: center;
	align-items: baseline;
	margin-bottom: 61px;
}

#pattern-number div.data p {
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	line-height: 1;
	margin-bottom: 0;
	position: relative;
}

#pattern-number div.data p:not(.num) {
	font-size: 28px;
	bottom: 7px;
}

#pattern-number div.data p.num {
	color: #f05f04;
	font-size: 70px;
}

#pattern-number .col figure {
	margin: auto;
	width: 278px;
	position: absolute;
	bottom: -61px;
	left: 0;
	right: 0;
}

@media screen and (min-width: 769px) {

	/* 創業年数 */
	#pattern-number .col-since div.data p:nth-of-type(1) {
		letter-spacing: -.04em;
		left: -3px;
	}

	#pattern-number .col-since div.data p:nth-of-type(2) {
		bottom: 4px;
		left: 2px;
	}

	#pattern-number .col-since figure {
		left: -1px;
	}

	/* 平均年齢 */
	#pattern-number .col-age div.data p:nth-of-type(1) {
		letter-spacing: -.08em;
		left: -7px;
	}

	#pattern-number .col-age div.data p:nth-of-type(2) {
		bottom: 4px;
		left: -1px;
	}

	#pattern-number .col-age div.data p:nth-of-type(3) {
		letter-spacing: -.08em;
	}

	#pattern-number .col-age div.data p:nth-of-type(4) {
		letter-spacing: -.1em;
		left: 5px;
		bottom: 4px;
	}

	#pattern-number .col-age figure {
		left: -6px;
	}

	/* 男女比 */
	#pattern-number .col-menwomen div.data {
		align-items: center;
	}

	#pattern-number .col-menwomen div.data p:nth-of-type(1) {
		left: -20px;
	}

	#pattern-number .col-menwomen div.data p:nth-of-type(2) {
		bottom: 0px;
		left: -1px;
	}

	#pattern-number .col-menwomen div.data p:nth-of-type(3) {
		left: 20px;
	}

	#pattern-number .col-menwomen figure {
		left: 1px;
	}

	/* 定着率 */
	#pattern-number .col-stay div.data p:nth-of-type(1) {
		letter-spacing: -.04em;
		left: -6px;
	}

	#pattern-number .col-stay figure {
		left: -7px;
	}

	/* 継続率 */
	#pattern-number .col-retirement div.data p:nth-of-type(1) {
		letter-spacing: -.02em;
		left: -4px;
	}

	/* 増加率 */
	#pattern-number .col-increase div.data p:nth-of-type(1) {
		letter-spacing: -.06em;
		left: -4px;
	}

	#pattern-number .col-increase figure {
		left: -4px;
	}

	/* 女性の割合 */
	#pattern-number .col-women div.data p:nth-of-type(1) {
		left: -2px;
	}

	#pattern-number .col-women div.data p:nth-of-type(2) {
		left: 3px;
	}

	/* 通勤距離 */
	#pattern-number .col-distance div.data p:nth-of-type(1) {
		letter-spacing: -.08em;
		top: -5px;
		left: -3px;
	}

	#pattern-number .col-distance div.data p:nth-of-type(2) {
		left: 8px;
		bottom: 8px;
	}

	#pattern-number .col-distance figure {
		left: -6px;
	}

	/* 生まれた季節 */
	#pattern-number div.data-wrap {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 6px;
	}

	#pattern-number .col-season div.data {
		margin-bottom: 0;
	}

	#pattern-number .col-season div.data:nth-of-type(2) {
		margin-left: 13px;
	}

	#pattern-number .col-season div.data p.num {
		font-size: 42px;
	}

	#pattern-number .col-season div.data p:not(.num) {
		letter-spacing: .3em;
	}

	#pattern-number .col-season div.data p:nth-of-type(1) {
		left: .25em;
	}

	#pattern-number .col-season div.data p:nth-of-type(2) {
		top: -5px;
		left: 6px;
	}

	#pattern-number .col-season div.data p:nth-of-type(3) {
		font-size: 25px;
		left: 5px;
		bottom: 5px;
	}
	
}

/* @end */

/* @group recruit - requirements */

#requirements-link {
	margin-bottom: 100px;
}

#requirements-link .col a {
	display: flex;
	align-items: center;
	height: calc(137px + 2vw);
	text-decoration: none;
	padding-top: 2vw;
	position: relative;
}

#requirements-link .col div {
	padding-left: 60px;
	position: relative;
}

#requirements-link .col figure {
	margin-bottom: 0;
	width: 246px;
	position: absolute;
	bottom: 0;
	right: 0;
}

#requirements-link .col a::before {
	border: 3px solid #474190;
	border-radius: 10px;
	content: "";
	height: 137px;
	width: calc(100% - 6px);
	position: absolute;
	bottom: 0;
	left: 0;
}

#requirements-link .col a div::before {
	background-color: #f45f04;
	border-radius: 50%;
	content: "";
	height: 16px;
	width: 16px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 24px;
}

#requirements-link .col a div::after {
	border-color: #FFF;
	border-style: solid;
	border-width: 2px 2px 0 0;
	content: '';
	height: 4px;
	width: 4px;
	margin: auto;
	-webkit-transform: scale(1, 1) rotate(45deg);
	transform: scale(1, 1) rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 28px;
}

#requirements-link .col div p {
	margin-bottom: 0;
}

#requirements-link .col div p:not(.en) {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 600;
	font-size: 28px;
	letter-spacing: .08em;
	line-height: 1.3;
}

#requirements-link .col p:not(.en) span {
	font-size: 18px;
	margin-left: .5em;
}

#requirements-link .col p.en {
	color: #e65f04;
	font-family: 'Montserrat-Italic';
	font-weight: normal;
	font-size: 12px;
	letter-spacing: .05em;
}

#requirements-link .col a::before,
#requirements-link .col a div::before,
#requirements-link .col a div::after {
	transition: all .3s ease-out;
}

#requirements-link .col a:hover {
	color: #FFF;
}

#requirements-link .col a:hover::before {
	background-color: #f45f04;
	border-color: #f45f04;
}

#requirements-link .col a:hover div::before {
	background-color: #FFF;
}

#requirements-link .col a:hover div::after {
	border-color: #f45f04;
}

#requirements-link .col a:hover p.en {
	color: #FFF;
}

#requirements-link .col a:hover img {
	opacity: 1;
}

body.requirements #footer-inquiry-area {
	/*display: none;*/
}

.requirements-btn {
	width: 730px;
	margin: 0 auto 3em;
	display: flex;
}

p.link-btn.requirements {
	width: 350px;
	margin-right: 30px;
}

/* @end */

/* @group qa */

#main-content .recruit-contact-area {
	text-align: center;
}

#main-content .recruit-contact-area p:first-child {
	font-size: 16px;
	margin-bottom: 1em;
	color: #000;
}

/* @end */

/* @group privacy */

.privacy dl dt {
	font-size: 18px;
}

.privacy dl dd {
	margin-bottom: 3em !important;
}

.privacy dl dt::before {
	top: 0.8em !important;
}

/* @end */

/* @group sitemap */

.sitemap #main-content ul.list li {
	margin-bottom: 1em;
}

.sitemap #main-content ul.list ul {
	margin: 1em 0 1.2em;
}

/* @end */

/* @group 404error */

body.error404 #header-area {
}

body.error404 #header {
	width: 1024px;
	margin: 50px auto 0;
	box-shadow: none;
	display: block;
}

body.error404 #header-area > div {
	position: static;
}

body.error404 #header-logo {
	text-align: left;
	width: auto;
}

body.error404 #main-content {
	padding: 0 30px;
}

body.error404 h1 {
	margin: 30px 0;
	padding-bottom: 10px;
	font-size:23px;
	color: #322c93;
	border-bottom: 2px solid #322c93;
}

/* @end */

/* @group common */

/* position */

.left-position,
tr.left-position th,
tr.left-position td,
table.left-position th,
table.left-position td {
	text-align: left !important;
}

.right-position,
tr.right-position th,
tr.right-position td,
table.right-position th,
table.right-position td {
	text-align: right !important;
}

.center-position,
tr.center-position th,
tr.center-position td,
table.center-position th,
table.center-position td,
table.center-position-th th {
	text-align: center !important;
}

.middle-position,
tr.middle-position th,
tr.middle-position td,
table.middle-position th,
table.middle-position td {
	vertical-align: middle !important;
}

.nowrap,
table.nowrap th,
table.nowrap td,
table tr.nowrap th,
table tr.nowrap td,
table.nowrap-th th {
	white-space: nowrap;
}

.inline-block {
	display: inline-block;
}

/* fontstyle */

.italic {
	font-style: italic !important;
}

.fw-normal {
	font-weight: normal !important;
}

.red {
	color: #FF1563;
}

/* fontsize */

.fz-ss  { font-size:  69% !important;}
.fz-s   { font-size:  85% !important;}
.fz-m   { font-size: 100% !important;}
.fz-l   { font-size: 115% !important;}
.fz-ll  { font-size: 130% !important;}
.fz-lll { font-size: 146% !important;}
.fz-llll { font-size: 176% !important;}


/* margin */

.mb-0 {margin-bottom: 0px !important;}
.mb-5 {margin-bottom: 5px !important;}
.mb-10 {margin-bottom: 10px !important;}
.mb-15 {margin-bottom: 15px !important;}
.mb-20 {margin-bottom: 20px !important;}
.mb-25 {margin-bottom: 25px !important;}
.mb-30 {margin-bottom: 30px !important;}
.mb-35 {margin-bottom: 35px !important;}
.mb-40 {margin-bottom: 40px !important;}
.mb-45 {margin-bottom: 45px !important;}
.mb-50 {margin-bottom: 50px !important;}
.mb-55 {margin-bottom: 55px !important;}
.mb-60 {margin-bottom: 60px !important;}
.mb-70 {margin-bottom: 70px !important;}
.mb-80 {margin-bottom: 80px !important;}
.mb-90 {margin-bottom: 90px !important;}
.mb-100 {margin-bottom: 100px !important;}
.mb-200 {margin-bottom: 200px !important;}

.mb05em { margin-bottom: 0.5em !important; }
.mb1em { margin-bottom: 1em !important; }
.mb2em { margin-bottom: 2em !important; }

.ml-0 {margin-left: 0px !important;}
.ml-5 {margin-left: 5px !important;}
.ml-10 {margin-left: 10px !important;}
.ml-15 {margin-left: 15px !important;}
.ml-20 {margin-left: 20px !important;}
.ml-25 {margin-left: 25px !important;}
.ml-30 {margin-left: 30px !important;}
.ml-35 {margin-left: 35px !important;}
.ml-40 {margin-left: 40px !important;}

.mr-0 {margin-right: 0px !important;}
.mr-5 {margin-right: 5px !important;}
.mr-10 {margin-right: 10px !important;}
.mr-15 {margin-right: 15px !important;}
.mr-20 {margin-right: 20px !important;}
.mr-25 {margin-right: 25px !important;}
.mr-30 {margin-right: 30px !important;}
.mr-35 {margin-right: 35px !important;}
.mr-40 {margin-right: 40px !important;}

.mt-0 {margin-top: 0px !important;}
.mt-5 {margin-top: 5px !important;}
.mt-10 {margin-top: 10px !important;}
.mt-15 {margin-top: 15px !important;}
.mt-20 {margin-top: 20px !important;}
.mt-25 {margin-top: 25px !important;}
.mt-30 {margin-top: 30px !important;}
.mt-35 {margin-top: 35px !important;}
.mt-40 {margin-top: 40px !important;}
.mt-50 {margin-top: 50px !important;}
.mt-60 {margin-top: 60px !important;}
.mt-70 {margin-top: 70px !important;}


/* padding */

.pb-0 {padding-bottom: 0px !important;}
.pb-5 {padding-bottom: 5px !important;}
.pb-10 {padding-bottom: 10px !important;}
.pb-15 {padding-bottom: 15px !important;}
.pb-20 {padding-bottom: 20px !important;}
.pb-25 {padding-bottom: 25px !important;}
.pb-30 {padding-bottom: 30px !important;}
.pb-35 {padding-bottom: 35px !important;}
.pb-40 {padding-bottom: 40px !important;}

.pr-0 {padding-right: 0px !important;}
.pr-5 {padding-right: 5px !important;}
.pr-10 {padding-right: 10px !important;}
.pr-15 {padding-right: 15px !important;}
.pr-20 {padding-right: 20px !important;}
.pr-25 {padding-right: 25px !important;}
.pr-30 {padding-right: 30px !important;}
.pr-35 {padding-right: 35px !important;}
.pr-40 {padding-right: 40px !important;}

.pl-0 {padding-left: 0px !important;}
.pl-5 {padding-left: 5px !important;}
.pl-10 {padding-left: 10px !important;}
.pl-15 {padding-left: 15px !important;}
.pl-20 {padding-left: 20px !important;}
.pl-25 {padding-left: 25px !important;}
.pl-30 {padding-left: 30px !important;}
.pl-35 {padding-left: 35px !important;}
.pl-40 {padding-left: 40px !important;}

.pt-0 {padding-top: 0px !important;}
.pt-5 {padding-top: 5px !important;}
.pt-10 {padding-top: 10px !important;}
.pt-15 {padding-top: 15px !important;}
.pt-20 {padding-top: 20px !important;}
.pt-25 {padding-top: 25px !important;}
.pt-30 {padding-top: 30px !important;}
.pt-35 {padding-top: 35px !important;}
.pt-40 {padding-top: 40px !important;}

/* width */
.wd-100p { width: 100% !important; }
.wd-95p { width: 95% !important; }
.wd-90p { width: 95% !important; }
.wd-85p { width: 85% !important; }
.wd-80p {	width: 80% !important; }
.wd-75p {	width: 75% !important; } 
.wd-70p {	width: 70% !important; } 
.wd-65p {	width: 65% !important; }
.wd-60p {	width: 60% !important; }
.wd-50p {	width: 50% !important; }
.wd-40p {	width: 40% !important; }
.wd-30p {	width: 30% !important; } 
.wd-25p {	width: 25% !important; }
.wd-20p {	width: 20% !important; } 
.wd-15p {	width: 15% !important; }


.last-para {
	margin-bottom: 50px !important;
}

.last-para2 {
	margin-bottom: 70px !important;
}

.last-para3 {
	margin-bottom: 90px !important;
}

figure.img-w-80 {
	text-align: center !important;
}

figure.sp-img-w-100 {
	margin: 0 -20px;
}

figure.img-w-80 img {
	width: 80% !important;
}

/* @end */


/* スマホ */
@media screen and (max-width: 768px) {

body {
	background:
url("../images/bg_body_btm3_sp.png") no-repeat center bottom / 100% auto,
url("../images/bg_body_btm_sp.png") no-repeat center bottom / 100% auto;
	min-width: 100%;
	font-size: 14px;
}

body.fixed {
	width: 100%;
	height: 100%;
}

a[href^="tel:"] {
	text-decoration: underline;
	color: #333 !important;
}

.tel-link a {
	text-decoration: none;
}

#main-content .tel-link a {
	text-decoration: underline;
}
	
.pc-none {
	display: block !important;
}
	
.sp-none {
	display: none !important;
}

/* @group header */

#header-area {
	height: 58px;
	padding-top: 10px;
}

#header-area::before {
	height: 10px;
}

#header-area > div {
	width: 100%;
	padding: 0;
	position: relative;
	top: 0;
}

#header {
	border-radius: 0;
	box-shadow: none;
	display: block;
}

#header-logo {
	border-bottom: 1.5px solid #322c93;
	width: 100%;
	height: 58px;
	display: flex;
	align-items: center;
	padding-left: 15px;
}

#header-logo img {
	width: 206px;
}

#header-nav {
	display: none;
}

/* @group gnav */

#toggle-nav {
	display: block;
	z-index: 99;
	position: absolute;
	top: 25px;
	right: 14px;
}

.toggle-menu {
	cursor: pointer;
  height: 26px;
  width: 26px;
}

.toggle-menu span {
  display: block;
  position: absolute;
  top: 0;
	bottom: 0;
  left: 0;
	right: 0;
  width: 26px;
  height: 3px;
  margin: auto;
  background: #2132a1;
  transition: .2s;
}

.toggle-menu span:before,
.toggle-menu span:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 26px;
  height: 3px;
  background: #2132a1;
  transition: .3s;
}

.toggle-menu span:before{
  margin-top: -9px;
}

.toggle-menu span:after{
  margin-top: 6px;
}

.toggle-menu .close{
  background: transparent;
}

.toggle-menu .close:before,
.toggle-menu .close:after{
  margin-top: 0;
}

.toggle-menu .close:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.toggle-menu .close:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}


#gnav {
	width: 100%;
	position: relative;
	top: -68px;
}

#gnav > ul.gnav-lv1 {
	background: #322c93;
	display: none;
	padding: 0;
	height: 100%;
	width: 100%;
	overflow-y: scroll;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	position: fixed;
	top: 68px;
	left: 0;
}

#header-area div.fixed #gnav > ul.gnav-lv1 {
	top: 58px;
}

#gnav > ul.gnav-lv1 > li {
	background-color: #322c93;
	width: 100%;
	z-index: 1;
}

#gnav > ul > li:not(.tozan-net) > span::before {
	display: none !important;
}

#gnav > ul > li > span a {
	border-bottom: 1px solid rgba(247,247,247,.6);
	display: block;
	font-size: 18px;
	font-weight: 600;
	height: auto;
	letter-spacing: .1em;
	margin: 0 15px;
	padding: 2em .5em 1em;
}
	
#gnav > ul > li span a {
	color: #FFF !important;
}

#gnav > ul > li > span a::before {
	display: none;
}

#gnav > ul.gnav-lv1 li.tozan-net {
	padding: 30px 0 35px;
	margin: 0 auto;
}

#gnav > ul.gnav-lv1 li.tozan-net a {
	background-color: #ee6100;
	border-bottom: none;
	border-radius: 4px;
	margin: 0 auto;
	padding: 10px 0;
	max-width: 233px;
}

#gnav > ul.gnav-lv1 li.tozan-net a img {
	max-width: 175px;
}

#gnav > ul.gnav-lv1 li.gnav-other {
	background-color: rgba(0,0,0,.1);
	display: block;
	padding: 30px 0 100px;
}

#gnav > ul.gnav-lv1 li.gnav-other ul {
	display: flex;
	flex-wrap: wrap;
	z-index: 1;
}

#gnav > ul.gnav-lv1 li.gnav-other ul li {
	width: 50%;
	position: relative;
}

#gnav > ul.gnav-lv1 li.gnav-other a {
	display: block;
	padding: .8em 0 .8em 1.5em;
	position: relative;
	line-height: 1.4;
}

#gnav > ul.gnav-lv1 li.gnav-other a::after {
	background-color: #fff;
	border-radius: 100%;
	content: '';
	display: block;
	width: 3px;
	height: 3px;
	position: absolute;
	top: calc((2.4em - 3px) / 2);
	left: .8em;
}

#gnav .gnav-lv2 {
	display: block !important;
	padding: 15px 15px 0;
}

#gnav .gnav-lv2 li a {
	color: #FFF;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.4;
	padding: .7em 1.4em;
	display: block;
	position: relative;
}

#gnav .gnav-lv2 li a::before {
	border-right: 1.5px solid #FFF;
	border-bottom: 1.5px solid #FFF;
	content: '';
	height: 4px;
	width: 4px;
	margin: auto;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 5px;
}

#gnav .gnav-lv2 li a br {
	display: none;
}

/* @end */

/* @end */

/* @group breadcrumb */

#breadcrumb-area {
	z-index: 1;
}

#breadcrumb-area::before {
	right: auto;
}

.breadcrumb {
	border-radius: 0;
	font-size: 10px;
	margin: 0 auto;
	padding: 15px 15px 2px 15px;
	width: 100%;
}

.breadcrumb::before {
	display: none;
}

.breadcrumb ul li a::before {
	top: 5px;
	height: 3px;
	width: 3px;
	right: .8em;
}

.breadcrumb ul li.home {
	padding: 0 0 0 18px;
}

.breadcrumb ul li.home::before {
	top: -5px;
	border: 5px solid transparent;
	border-bottom-color: #4f4aa2;
}

.breadcrumb ul li.home::after {
	height: 3px;
	width: 2px;
	top: 5px;
}

/* @end */

/* @group h1-area */

#h1-area {
	background:
url("../images/h1_bg2_sp.png") no-repeat left center / 100% auto,
url("../images/h1_bg_pc.png") repeat-x center top / cover;
}

#h1-area h1 {
	font-size: 20px;
	letter-spacing: .12em;
	min-height: 167px;
	padding: 34px 43% 60px 15px;
	width: 100%;
}

#h1-area h1::before {
	background: url("../images/bg_photo01_sp.png") no-repeat right top / 100% auto;
	width: 100%;
	max-width: 375px;
	right: 0;
}

#h1-area h1::after {
	background: url("../images/bg_photo02_sp.png") no-repeat right top / 100% auto;
	width: 100%;
	max-width: 375px;
	right: 0;
}

#h1-area h1 span.ja {
	padding-bottom: 5px;
	border-bottom: 2px solid #322c93;
	z-index: 2;
}

#h1-area h1 span.en {
	font-size: 10px;
	padding-top: 5px;
}

/* @end */

/* @group content-area */

#content-area {
	margin-top: 30px;
}

#content-area::before {
	display: none;
}

#main-content {
	width: 100%;
	overflow: hidden;
	padding: 0 15px 30px;
	margin: 0 auto 45px;
	float: none;
}

#main-content figure {
	text-align: center;
}

#main-content a:hover img {
	opacity: 1;
}

#main-content section {
	margin-bottom: 60px;
}

/* @group lead */

div.lead {
	padding: 17px 20px 10px 0;
	margin-bottom: 45px;
}

div.lead p {
	font-size: 15px;
	padding: 0px 0 10px 20px;
  	font-style: normal;
}

div.lead p::before {
	border-right:4px solid transparent;
	border-bottom: 4px solid #fff;
}

div.lead p::after {
	border-left:4px solid #322c93;
	border-top: 4px solid transparent;
}

/* @end */

/* @group heading */

#main-content h2 {
	font-size: 21px;
	padding: 0 15px 10px 15px;
	margin: 0 -15px 25px -15px !important;
	background: url(../images/h2_back.png) bottom 0 right 15px no-repeat;
}

#main-content h2::before {
	width: calc(100% - 2px);
	right: auto;
	left: -15px;
}

#main-content h2::after {
	width: calc(100% - 32px);
	left: 15px;
	right: auto;
}

#main-content h3 {
	margin-bottom: 22px;
	font-size: 18px;
	padding: 0 0 10px 0 !important;
}

#main-content h4 {
	margin-bottom: 21px;
	font-size: 16px;
}

#main-content h5 {
	margin-bottom: 18px;
}

/* @end */

/* @group pattern */

.col,
.left-col,
.right-col {
	float: none;
	width: 100%;
}

[class*="pattern"] [class*="col"] {
	margin-bottom: 1.5em;
	margin-right: 0;
	width: 100%;
}

[class*="pattern1-1-1"] [class*="col"] {
	margin-bottom: 2em;
}

[class*="pattern"] [class*="col"]:last-of-type {
	margin-bottom: 0;
}

.sp1-1 {}

.sp1-1 .col {
	width: calc((100% - 20px) / 2);
	margin-bottom: 1em;
}

.sp1-1 .col:not(:nth-child(2n)) {
	margin-right: 20px;
}

/* @end */

/* @end */

/* @group index-pattern1 */

#main-content .index-pattern {
	padding-top: 5px;
}

#main-content .index-pattern .col {
	margin-bottom: 17px;
	margin-right: 20px;
	width: calc((100% - 20px) / 2);
}

#main-content .index-pattern .col:nth-of-type(2n) {
	margin-right: 0;
}

#main-content .index-pattern a {
	background-color: #f9f9f2;
	border: 5px solid #FFF;
	border-radius: 8px;
	box-shadow: 0px 0px 7px 0px rgba(0,0,0,.2);
	display: flex;
	align-items: center;
	height: 90px;
	padding: 0;
}

#main-content .index-pattern figure {
	width: 80px;
	margin: 0;
}

#main-content .index-pattern img {
	border-radius: 0 !important;
}

#main-content .index-pattern .title {
	font-size: 20px;
	margin: 0;
	padding: 0 .7em;
	width: calc(100% - 80px);
	position: static;
}

#main-content .index-pattern .title::before {
	display: none;
}

#main-content .index-pattern span:not(.en) {
	display: inline-block;
}

#main-content .index-pattern span.en {
	font-size: 9px;
}

#main-content .index-pattern a:hover {
	background-color: #f45f04;
}

#main-content .index-pattern a:hover .title,
#main-content .index-pattern a:hover .title span {
	color: #FFF;
}

/* @end */

/* @group box-strong */

.box-strong {
	padding: 18px 14px;
}

/* @end */

/* @group hover-fade */

.link-fade a,
a.link-fade {
  -webkit-transition: none;
  transition: none;
}

/* @end */

/* @group anchor-link */

ul.anchor-link {
	display: block;
}

ul.anchor-link li {
	width: 100%;
	margin-right: 0;
	text-align: left;
	padding-left: 50px;
	margin-bottom: 1em;
}

ul.anchor-link li.col2{
	width: 100%;
}

/* @end */

/* @group ul */

#main-content ul.list.horizontal {
	display: block;
}

#main-content ul.list.horizontal li {
	width: 100%;
	margin-right: 0;
}

/* @end */

/* @group link */

img.link-icon {
	height: 16px !important;
	width: auto !important;
}

span.link {
	margin-bottom: .5em;
}

.link a {
	display: inline;
	position: relative;
	padding-left: 20px;
}

.link a::before {
	width: 12px;
}

.link a::after {
	left: 5px;
}

/* @end */

/* @group link-list */

#main-content ul.link-list li {
	padding-left: 20px;
}

#main-content ul.link-list ul {
	margin: 13px 0 20px;
}

#main-content ul.link-list li a:hover {
}

ul.link-list li a::before {
	width: 12px;
	left: -20px;
}

ul.link-list li a::after {
	width: 6px;
	left: calc(-20px + 5px);
}

/* @end */

/* @group link-btn */

p.link-btn,
p.link-btn.center-position,
p.back-btn {
	width: 100%;
}

p.link-btn:hover::before {
	background: #322c93;
}

p.link-btn:hover::after {
	border-color: #322c93;
}
	
p.link-btn.center-position {
	min-width: inherit;
}

p.link-btn a:hover,
p.link-btn button:hover {
 	color: #322c93 !important;
}

p.link-btn a.current:hover a {
 	color: fff !important;
}

.hover-slide a,
.hover-slide a::before,
.hover-slide a::after,
.hover-slide button,
.hover-slide button::before,
.hover-slide button::after{
  -webkit-transition: none;
  transition: none;
}

.hover-slide a:hover,
.hover-slide button:hover {
	background-color: #FFF;
 }

.hover-slide a::before,
.hover-slide a::after,
.hover-slide button::before,
.hover-slide button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
  left: 0;
  width: 100%;
  height: auto;
  background-color: #fff;
 }

.hover-slide a:hover .ai-out::after,
.hover-slide a:hover .ai-mail::after {
	color: #333;
	background: #fff;
}


/* @end */

/* @end */

/* @group dl */

#main-content dl dt {
	margin-bottom: 1em;
	padding-left: 19px;
}
	
#main-content dl dd {
	margin-bottom: 1.5em;
}

/* @end */

/* @group table */

#main-content table th {
	padding: 10px 8px;
}

#main-content table td {
	padding: 10px 8px;
}

#main-content table.outline th {
	display: block;
	width: 100%;
	padding: 15px 8px 0px 0;
}

#main-content table.outline th::before {
	display: none;
}

#main-content table.outline th {
	width: 100%;
	padding: 15px 15px 10px 15px;
}

#main-content table.outline td {
	display: block;
	width: 100%;
	padding: 0px 15px 23px;
}

#main-content table.outline td::before {
	display: none;
}

/* @end */

/* @group table-scroll */

/* テーブル　横スクロールバー表示 */

#main-content .scroll-box table {
	margin-bottom: 10px;
	white-space: nowrap;
}

.scroll-box {
     overflow-x: auto;
     margin-bottom: 20px;
}

.scroll-box::-webkit-scrollbar {
	height: 5px;
}

.scroll-box::-webkit-scrollbar-track {
     border-radius: 5px;
     background: #eee;
}
.scroll-box::-webkit-scrollbar-thumb {
	border-radius: 5px;
	background: #666;
}

/* @end */
	
/* @group modal-area */

.modal {}
	
.modal-inner {
	max-height: calc(80vh - 30px);
	padding: 15px 20px 0;
}

#main-content .modal .modalClose a:hover {
	color: #FFF !important;
}
	
.modal-inner > :last-child {
	margin-bottom: 20px !important;
}
	
/* @end */

/* @group form */

#main-content .form-area div.cell1, #main-content .form-area div.cell2 {
	display: block;
	width: 100%;
}
	
#main-content .form-area div.cell1 {
	background-color: transparent;
	border: none;
	padding: 20px 15px 0;
}

#main-content .form-area div.cell2 {
	padding: 15px 15px 20px;
}
	
#main-content .form-area div.cell2::before {
	display: none;
}
	
#main-content .form-area div.cell2 input[type="text"],
#main-content .form-area div.cell2 textarea {
	width: 100%;
}

#main-content .form-area div.cell2 input[type="text"].input-text02 {
	width: 50%;
}

#main-content .form-area div.cell2 input[type="text"].input-text03 {
	width: 20%;
}

#main-content .form-area div.cell2 ul.form-checkbox li, 
#main-content .form-area div.cell2 ul.form-list li{
	width: 100%;
	float: none;
}
	
#main-content .form-area div.cell2 .caution {
	margin-top: 1.5em;
}

#main-content .form-btn-area button {
	width: 100%;
	max-width: 360px;
}
	
#main-content .form-area button {
	max-width: inherit;
	font-size: 14px;
}
	
#main-content .form-area .kakunin-btn-area {
	justify-content: center;
	max-width: none;
}
	
#main-content .form-area .kakunin-btn-area .link-btn {
	width: 100%;
	margin-bottom: 1.5em;
}
	
/* @end */

/* @group FAQ */

dl.qa {
	margin-bottom: 2em;
}

dl.qa dt {
	font-size: 16px !important;
}

/* @end */

/* @group news */

#info-area li {
  margin-bottom: 2em;
}

#info-area li span.date {
  width: 100%;
  display: block;
  vertical-align: middle;
	margin-bottom: .5em;
}
    
#info-area li a {
  width: 100%;
  display: block;
  line-height: 1.6;
  margin-bottom: 5px;
}

#info-area .link-btn {
  width: 232px;
}

#info-area li:hover {
	opacity: 1;
}

/* @end */

/* @group voice-box */

.voice-box {
	border-width: 2px;
	border-radius: 4px;
	flex-wrap: wrap;
}

.voice-box p.head {
	font-size: 16px;
	padding: .9em 0;
	width: 100%;
}

.voice-box p.head::before {
	background-size: auto 29px;
	height: 29px;
	top: -15px;
}

.voice-box p:not(.head) {
	font-size: 15px;
	font-weight: 600;
	padding: 1.1em 1.2em;
	width: 100%;
}

/* @end */

/* @group inquiry-banner */

#inquiry-banner {
	background-position: center 15px;
	background-size: 100px auto;
	height: auto;
	padding: 110px 20px 0;
	/*display: block;*/
}

#inquiry-banner p.copy {
	font-size: 16px;
	margin-bottom: 1.5em;
	text-align: center;
}

#inquiry-banner p.btn {
	margin-bottom: 2em;
}

#inquiry-banner p.btn a {
	font-size: 18px;
}

/* @end */

/* @group footer-inquiry */

#footer-inquiry-area {
	height: auto;
	margin-bottom: 25px;
	padding: 0 15px;
	text-align: center;
}

#footer-inquiry-area p.head {
	font-size: 14px;
	max-width: 70%;
	line-height: 1.5;
	margin: auto;
	text-align: center;
	left: 0;
}

#footer-inquiry-area p.head span {
	display: inline-block;
}

#footer-inquiry-area p.head::after {
	border-bottom-width: 10px;
	border-left-width: 15px;
	margin: auto;
	width: 10px;
	left: 0;
	right: 0;
}

#footer-inquiry {
	background-position: center 40px;
	background-size: 110px auto;
	display: block;
	height: auto;
	padding: 90px 30px 30px;
	top: -15px;
}

#footer-inquiry p.copy {
	border: none;
	font-size: 15px;
	transform: none;
	margin-bottom: 1.5em;
	padding: 0;
}

#footer-inquiry p.btn {
	max-width: 261px;
	width: 100%;
	margin: 0 auto;
}

#footer-inquiry p.btn a {
	background-size: 30px auto;
	font-size: 16px;
	padding: 9px 40px 9px 35px;
}

/* @end */

/* @group page-top */

#totop {
	width: 80px;
	height: auto;
}

#totop:hover {
	opacity: 1;
}

/* @end */

/* @end */

/* @group footer */

/* @group footer-nav */

#footer-nav {
	width: 100%;
	padding: 0px;
}

#footer-nav ul {
	flex-wrap: wrap;
	justify-content: flex-start;
}

#footer-nav ul li {
	margin-left: 0;
	min-width: 50%;
}

#footer-nav a {
	display: block;
	padding: 1em 0 .7em 2.5em;
	font-size: 14px;
	text-decoration: none !important;
}

#footer-nav a::before {
	left: 15px;
	top: 50%;
	width: 12px;
}

#footer-nav a::after {
	left: 20px;
	top: calc(50% - 2px);
}

/* @end */

/* @group footer-copyright */

#copyright {
	padding: 0 0 10px;
}

#copyright p {
	padding: 0;
	line-height: 1.2;
}

/* @end */

/* @end */

/* @group home */
	
body.home {
	background:
		url("../images/bg_body_btm3_sp.png") no-repeat center bottom / 100% auto,
		url("../../images/home_bg_body_sp.png") no-repeat center bottom / 100% auto;
		min-width: 100%;
}
	
body.home::before {
	background: -webkit-linear-gradient(top, #dcf5fe 0%,#ffffff 100%);
	background: linear-gradient(to bottom, #dcf5fe 0%,#ffffff 100%);
	content: "";
	height: 565px;
	width: 100%;
	position: absolute;
	top: 58px;
	left: 0;
	z-index: -1;
}
	
body.home #header-logo {
	border-color: transparent;
	-webkit-transition: all .3s;
	transition: all .3s;
}
	
body.home .fixed #header-logo {
	border-color: #322c93;
}

body.home h1 {
	max-width: 297px;
	width: 100%;
	top: 0;
}
	
/* @group home-main-visual */

#main-visual {
}

.mv-slider {
	position: relative;
	width: 90%;
	top: 45px;
	left: 0;
	margin: 0 auto;
}
	
.slider-image {
}
	
.slider-image::before {
	height: calc(100% + 10px);
	width: calc(100% + 16px);
	top: 0;
	left: -9px;
}

.mv-btn-area {
	width: calc(100% - 10px);
	height: 29px;
	bottom: 50%;
}

.mv-btn {
  height: 29px;
  width: 29px;
}

.mb-btn-left::before,
.mb-btn-right::before,
.mb-btn-left .hover::before,
.mb-btn-right .hover::before {
	border-width: 2px;
	border-radius: 1px;
	content: '';
	height: 7px;
	width: 7px;
}

.mb-btn-right::before,
.mb-btn-right .hover::before {
}

.mv-btn .hover {
  width: 29px;
  height: 29px;
}

.mv-pager {
	display: none;
	bottom: 2.4rem;
	z-index: 1;
}
	
.pager-list {
	cursor: pointer;
	margin-right: 0.6rem;
	width: 23.1px;
	height: 23.8px;
	background: url(../../common_butsuryu/img/pager_cir_sp.png) no-repeat;
	background-size: contain;
}

/* @end */

body.home div#content-area {
	margin-top: 25px;
	margin-bottom: 70px;
}
	
#home-bnr-area {
	position: relative;
	margin: -30px auto 40px;
	padding: 0 20px;
}

#home-bnr-area ul {
	justify-content: center;
}

#home-bnr-area ul li {
	border-width: 2px;
	border-radius: 7px;
	width: calc((100% - 20px) / 2);
}

#home-bnr-area ul li:first-of-type {
	margin-right: 20px;
}

#home-bnr-area ul li a {
	font-size: 15px;
	font-weight: 600;
	height: 80px;
	padding-bottom: 1em;
}

#home-bnr-area ul li a span {
	font-size: 10px;
	top: calc(15px * 1.7);
}

#home-info-area {
	display: block;
	margin-bottom: 40px;
	padding: 0 15px;
}

#home-info-area .h2-area {
	margin-bottom: 20px;
}

#home-info-area h2 {
  font-size: 19px;
	text-align: center;
	width: 100%;
}

#home-info-area .h2-area p {
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 35px;
}

#home-info-area .h2-area p a {
	font-size: 13px;
}

#home-group-area {
	background-color: transparent;
	box-shadow: none;
	border-radius: 0;
	display: block;
	margin-bottom: 62px;
	text-align: center;
}

#home-group-area h2 {
	font-size: 18px;
	margin-bottom: 1.2em;
	width: 100%;
}

#home-group-area h2 br {
	display: none;
}

#home-group-area ul {
	display: block;
	text-align: center;
	width: 100%;
}

#home-group-area ul li:first-of-type {
	margin-bottom: 10px;
}

#home-group-area ul li img {
	box-shadow: 0px 0px 10px 0px rgba(80,130,190,.2);
	background-color: #FFF;
	border-radius: 5px;
	max-width: 264px;
	width: 100%;
}

/* @end of home */

/* @group challenge */

.challenge-main figure {
	width:100vw;
	margin-left: -15px;
	max-width: auto;
}

/* @end */

/* @group company - greeting */

.name span {
	font-size: 22px;
}

/* @end */

/* @group company - outline */

#outline table.outline th
#history table.outline th {
	width: 100%;
}

/* @end */

/* @group recruit */

.blue {
	color: #322C91;
	font-size: 14px;
	margin-bottom: 2em !important;
}

#recruit-main {
	margin-top: 0;
}

#recruit-main::before {
	background-size: 4px auto;
	margin-left: -15px;
	height: 60.6vw;
}

#recruit-main figure {
	margin: 0 -15px;
	height: auto;
	width: 100vw;
}

#recruit-main figure img {
	max-width: 100%;
	height: auto;
}

.recruit-index-pattern .col {
	width: calc((100% - 20px) / 2);
	margin-right: 20px;
	margin-bottom: 20px !important;
}

.recruit-index-pattern .col:nth-of-type(2n) {
	margin-right: 0;
}

.recruit-index-pattern .col a {
	font-size: 18px;
	height: 90px;
}

.recruit-index-pattern .col a::before,
.recruit-index-pattern .col a::after {
	background-size: 42px auto;
}

/* @end of recruit */

/* @group recruit - about */

body.recruit-about #main-content {
	padding-bottom: 0;
}

#about-bnr-area {
	margin: 0 -15px;
	width: 100vw;
}
	
body.recruit-about #main-content .modal-inner figure {
	float: none;
	width: 100%;
	margin: 0 0 20px 0;
}

/* @end */

/* @group recruit - interview */

#recruit-main.interview-kv {
	margin: 0 0 50px;
	padding-bottom: 26px;
}

#recruit-main.interview-kv::before {
	height: 60.6vw;
}

#recruit-main.interview-kv figure {
	margin: 0 -7px;
	max-width: calc(100% + 14px);
	height: auto;
}

body.interview figure.other-link {
	margin: 0 auto;
	max-width: 345px;
}

/* @end */

/* @group recruit - success */

#recruit-main.success-kv {}

#recruit-main.success-kv::before {
	top: calc((100% - 60.2vw) / 2);
	height: 60.2vw;
}

#recruit-main.success-kv figure {
	height: auto;
}

/* @end */

/* @group recruit - number */

#pattern-number {
	padding-top: 7px;
}

#pattern-number .col {
	border-radius: 5px;
	margin-right: 15px;
	margin-bottom: 36px;
	width: calc((100% - 15px) / 2);
}

#pattern-number .col:nth-of-type(3n) {
	margin-right: 13px;
}

#pattern-number .col:nth-of-type(2n) {
	margin-right: 0 !important;
}

#pattern-number .head {
	border-width: 5px;
	border-radius: 4px 4px 0 0;
	font-size: 10px;
	letter-spacing: .1em;
	height: auto;
	min-height: 50px;
	margin-bottom: 1.1em;
	padding: 5px 0;
}

#pattern-number .head::before {
	border-width: 0 10px 10px 10px;
	bottom: -5px;
}
	
#pattern-number .head span span {
}

#pattern-number div.data {
	margin-bottom: 32px;
}

#pattern-number div.data p.num {
	font-size: 37px;
	letter-spacing: -.07em;
}

#pattern-number div.data p:not(.num) {
	font-size: 15px;
	letter-spacing: -.18em;
	bottom: 2px;
}

#pattern-number .col figure {
	width: 145px;
	bottom: -32px;
}
	
/* 創業年数 */
#pattern-number .col-since div.data p:nth-of-type(1) {
	left: -3px;
}

#pattern-number .col-since div.data p:nth-of-type(2) {
	left: 1px;
}

/* 平均年齢 */
#pattern-number .col-age div.data p:nth-of-type(1) {
	left: -5px;
}

#pattern-number .col-age div.data p:nth-of-type(2) {
	left: -3px;
}

#pattern-number .col-age div.data p:nth-of-type(4) {
	left: 2px;
}

#pattern-number .col-age figure {
	left: -4px;
}

/* 男女比 */
#pattern-number .col-menwomen div.data {
	align-items: center;
}

#pattern-number .col-menwomen div.data p:nth-of-type(1) {
	left: -14px;
}

#pattern-number .col-menwomen div.data p:nth-of-type(2) {
	left: -2px;
	bottom: 0;
}

#pattern-number .col-menwomen div.data p:nth-of-type(3) {
	left: 11px;
}
	
/* 定着率 */
#pattern-number .col-stay div.data p:nth-of-type(1) {
	left: -3px;
}
	
#pattern-number .col-stay div.data p:nth-of-type(2) {
	left: 2px;
	bottom: 4px;
}

/* 継続率 */
#pattern-number .col-retirement div.data p:nth-of-type(1) {
	left: -3px;
	letter-spacing: 0;
}
	
#pattern-number .col-retirement div.data p:nth-of-type(2) {
	left: -2px;
	bottom: 4px;
}

/* 増加率 */
#pattern-number .col-increase div.data p:nth-of-type(1) {
	left: -4px;
}
	
#pattern-number .col-increase div.data p:nth-of-type(2) {
	bottom: 4px;
	left: -2px;
}

#pattern-number .col-increase figure {
	left: -3px;
}

/* 女性の割合 */
#pattern-number .col-women div.data p:nth-of-type(1) {
	left: -3px;
}

#pattern-number .col-women div.data p:nth-of-type(2) {
	left: 2px;
	bottom: 4px;
}

#pattern-number .col-women figure {
	left: -1px;
}

/* 通勤距離 */
#pattern-number .col-distance div.data p:nth-of-type(1) {
	letter-spacing: -.09em;
	top: -3px;
	left: -2px;
}

#pattern-number .col-distance div.data p:nth-of-type(2) {
	left: 4px;
	bottom: 4px;
	letter-spacing: -.05em;
}

#pattern-number .col-distance figure {
	left: -4px;
}

/* 生まれた季節 */
#pattern-number .col-season {
	padding-bottom: 18px;
}
	
#pattern-number div.data-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 3px;
}

#pattern-number .col-season div.data {
	margin-bottom: 0;
}

#pattern-number .col-season div.data:nth-of-type(2) {
	margin-left: 19px;
}
	
#pattern-number .col-season div.data p.num {
	font-size: 22px;
	letter-spacing: 0;
}
	
#pattern-number .col-season div.data p:not(.num) {
	bottom: 4px;
}

#pattern-number .col-season div.data p:nth-of-type(1) {
	left: -3px;
}

#pattern-number .col-season div.data p:nth-of-type(2) {
	top: -3px;
	left: 3px;
}
	
#pattern-number .col-season div.data p:nth-of-type(3) {
	font-size: 13px;
	bottom: 3px;
	left: 2px;
}

/* @end */

/* @group recruit - requirements */

#requirements-link {
	margin-bottom: 0;
	min-height: inherit;
}

#requirements-link .col a {
	max-height: calc(96px + 3vw);
	height: calc(25.6vw + 3vw);
}

#requirements-link .col div {
	padding-left: 44px;
	width: 100%;
}

#requirements-link .col a div::before {
	left: 16px;
}

#requirements-link .col a div::after {
	left: 20px;
}

#requirements-link .col figure {
	max-width: 172px;
	width: 48%;
}

#requirements-link .col a::before {
	border-width: 2px;
	max-height: calc(96px - 4px);
	width: calc(100% - 4px);
	height: 25.6vw;
}

#requirements-link .col div p {
	display: block;
}

#requirements-link .col div p:not(.en) {
	font-size: 20px;
}

#requirements-link .col p:not(.en) span {
	font-size: 13px;
}

#requirements-link .col p.en {
	font-size: 9px;
}

.requirements-btn {
	width: 100%;
	margin: 0 auto 3em;
	display: block;
}

p.link-btn.requirements {
	width: 100%;
	margin-right: 0;
	margin-bottom: 0 !important;
}

p.link-btn.requirements.current a {
	background: #322c93;
}

p.link-btn.requirements.current:hover a  {
	color: #fff !important;
}

/* @end */

/* @group recruit - entry */

#main-content .bnr-newcomer {
	margin: 0 auto 1em;
}

/* @end */

/* @group sitemap */

.sitemap .pattern1-1 {
}

.sitemap [class*="pattern"] [class*="col"] {
	margin-bottom: 0;
}

/* @end */

/* @group 404error */

body.error404 h1 {
	font-size:20px;
}

body.error404 #header {
	width: 100%;
	margin: 0 auto;
}

body.error404 #content-area {
	margin: 30px auto 90px;
}

/* @end */

/* @group common */

.last-para {
	margin-bottom: 45px !important;
}

.last-para2 {
	margin-bottom: 60px !important;
}

.last-para3 {
	margin-bottom: 80px !important;
}

figure.img-w-80 img {
	width: 100% !important;
}

figure.img-w-80-sp {
	text-align: center !important;
}

figure.img-w-80-sp img {
	width: 80% !important;
}

figure.img-w-auto img {
	max-width: 100%;
	width: auto !important;
}

/* @end */
}


@media screen and (max-width: 640px) {

	#main-content .index-pattern {
		display: block;
	}

	#main-content .index-pattern .col {
		margin-right: 0 !important;
		width: 100%;
	}

	.recruit-index-pattern .col {
		width: 100%;
	}

	.recruit-index-pattern .col {
		margin-right: 0;
	}
	
	#footer-inquiry p.copy {
		text-align: left;
	}
	
}


@media screen and (max-width : 380px ){

	#gnav .gnav-lv2 li a br {
		display: inline-block;
	}
	
}


@media screen and (max-width : 320px ){

	#pattern-number .head span span {
		display: inline-block;
	}
	
}

