@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Barlow+Condensed:400,400i,500,500i,600,600i');

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
}

ol,
ul,
li {
	list-style: none;
}

body {
	font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'メイリオ', Meiryo, sans-serif;
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
	color: #222;
	text-align: justify;
	text-justify: distribute;
	word-break: normal;
	line-break: strict;
	min-width: 1000px;
	letter-spacing: 0.05em;
	position: relative;
	font-size: 15px;
}

.clearfix:after {
	content: ' ';
	display: block;
	clear: both;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.opa {
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.opa:hover {
	opacity: 0.8;
	-moz-opacity: 0.8;
	filter: alpha(opacity=80);
}

a {
	text-decoration: none;
	color: #222;
}

a.line {
	text-decoration: underline;
}

a.txt-link {
	color: #5b94ea;
}

a.txt-link:hover {
	text-decoration: underline;
}

.inr {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}

.info {
	max-width: 1300px;
	margin: 0 auto;
	text-align: center;
}

.info2 {
	display: inline-block;
	font-size: 20px;
	line-height: 2.5;
	margin-top: 3px;
	text-align: left;
	text-decoration: underline;
}

.info3 {
	display: inline-block;
	font-size: 20px;
	line-height: 3.5;
	margin-top: 3px;
	text-align: left;
}

.pc-inr {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}

.narrow-inr {
	width: 800px;
	margin: 0 auto;
	position: relative;
}

.pc {
	display: block !important;
}

.sp {
	display: none !important;
}

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

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

.pc-flex {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
}

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

.w10 {
	width: 10% !important;
}

.w15 {
	width: 15% !important;
}

.w20 {
	width: 20% !important;
}

.w25 {
	width: 25% !important;
}

.w30 {
	width: 30% !important;
}

.w33 {
	width: 33.3% !important;
}

.w35 {
	width: 35% !important;
}

.w40 {
	width: 40% !important;
}

.w45 {
	width: 45% !important;
}

.w50 {
	width: 50% !important;
}

.w55 {
	width: 55% !important;
}

.w60 {
	width: 60% !important;
}

.w65 {
	width: 65% !important;
}

.w70 {
	width: 70% !important;
}

.w75 {
	width: 75% !important;
}

.w80 {
	width: 80% !important;
}

.w85 {
	width: 85% !important;
}

.w90 {
	width: 90% !important;
}

.w95 {
	width: 95% !important;
}

.w100 {
	width: 100% !important;
	height: auto;
}

.txt  {
	line-height: 1.8;
}

.f-s {
	font-size: 0.9em;
}

.f-xs {
	font-size: 0.8em;
}

.f-l {
	font-size: 1.2em;
}

.bold {
	font-weight: bold;
}

.ta-l {
	text-align: left;
}

.ta-r {
	text-align: right;
}

.ta-c {
	text-align: center;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.en {
	font-family: 'Barlow Condensed', sans-serif;
}

.wrapper {
	padding-top: 86px;
}

.split {
    display: flex;
    justify-content: space-between;
    margin-left: 10%;
    margin-right: 10%;
    flex-wrap: wrap;
    gap: 2%;
}

/******************************
 header
*******************************/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 1000px;
	z-index: 1000;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	/* -ms-flex-wrap: wrap;
	flex-wrap: wrap; */
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 0 0 0 2rem;
	background: #fff;
	border-bottom: 1px solid #eee;
}

.head-col {
	display: flex;
	align-items: center;
}

.check-btn {
	width: 225px;
	height: 40px;
	margin: 8px 16px;
	position: relative;
	transition: all 0.3s ease;
}

.check-btn:hover {
	opacity: 0.7;
}

.check-btn::before {
	content: '';
	position: absolute;
	width: 68px;
	height: 25px;
	top: -8px;
	left: 15px;
	background: url(../images/icon_check.png) no-repeat center center / 100% auto;
}

.check-btn a {
	width: 100%;
	height: 100%;
	color: #3f87b9;
	background: #eaea18;
	border-radius: 29px;
	border: 1px solid #3f87b9;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.check-btn a span {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	padding-right: 14px;
	position: relative;
	z-index: 2;
}

.check-btn a span::after {
	content: '';
	position: absolute;
	width: 12px;
	height: 11px;
	right: 0;
	top: 50%;
	transform: translateY(-75%);
	background: url(../images/icon_link.png) no-repeat center center / 100% auto;
}

@media screen and (min-width: 769px) {
	nav {
		display: block !important;
	}

	nav .menu02 {
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
	}
}

nav .menu01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

nav .menu01 > li {
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

nav .menu01 > li > a {
	height: 86px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 16px;
	margin: 0 20px;
	letter-spacing: 0.1em;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

nav .menu01 > li > a.current,
nav .menu01 > li > a:hover {
	color: #5b94ea;
}

nav .menu01 > li.menu-wrap:hover > a:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 8px 10px 8px;
	border-color: transparent transparent rgba(34, 34, 34, 0.9) transparent;
}

nav .menu01 > li > a svg {
	width: 30px;
	height: 30px;
	fill: #999;
	margin: 0 auto 5px;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

nav .menu01 > li > a:hover svg {
	fill: #5b94ea;
}

nav .menu01 > li.contact > a {
	margin-right: 0;
	display: block;
	position: relative;
	width: 170px;
	height: 86px;
	line-height: 86px;
	color: #fff;
	font-size: 1.1rem;
	text-align: center;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	background: #63b7c6;
	background: -o-linear-gradient(315deg, #63b7c6 0%, #5b83bf 100%);
	background: linear-gradient(135deg, #63b7c6 0%, #5b83bf 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#63b7c6', endColorstr='#5b83bf', GradientType=1);
}

nav .menu01 > li.contact > a:hover {
	-webkit-filter: brightness(1.1);
	filter: brightness(1.1);
}

nav .menu02 {
	-webkit-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	position: absolute;
	left: 0;
	width: 100%;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 0;
	overflow: hidden;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	background-color: rgba(34, 34, 34, 0.9);
}

nav .menu01 > li:hover > .menu02 {
	z-index: 100;
	padding: 30px 40px 150px;
}

nav .menu02 > li {
	width: 12%;
	margin: 0.8%;
}

nav .menu02 > li > a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 100px;
	background: #000;
	color: #fff;
	padding: 15px;
	overflow: hidden;
	position: relative;
}

nav .menu02 > li > a .txt {
	z-index: 1;
	position: relative;
	line-height: 1.5;
	font-size: 14px;
}

nav .menu02 > li > a .bg img {
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	vertical-align: middle;
	-webkit-transition: all 0.3s cubic-bezier(0.045, 0.495, 0.685, 0.97);
	-o-transition: all 0.3s cubic-bezier(0.045, 0.495, 0.685, 0.97);
	transition: all 0.3s cubic-bezier(0.045, 0.495, 0.685, 0.97);
	opacity: 0.6;
}

nav .menu02 > li > a:hover .bg img {
	-ms-transform: translate(-50%, -50%) scale(1.1);
	-webkit-transform: translate(-50%, -50%) scale(1.1);
	transform: translate(-50%, -50%) scale(1.1);
	opacity: 0.9;
}

/******************************
 footer
*******************************/
footer {
	background: #222;
	padding: 60px 0;
	color: #fff;
	position: relative;
}

footer a {
	color: #fff;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

footer a:hover {
	color: #5b94ea;
}

.footer-block-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.footer-block-wrap01 {
	margin-bottom: 60px;
}

.footer-block {
	width: 23.5%;
}

.footer-address {
	font-size: 13px;
	line-height: 1.6;
	margin: 10px 0 40px;
}

.footer-nav {
	line-height: 1.5;
	font-size: 13px;
}

.footer-nav dt {
	border-bottom: 1px solid #666;
	font-size: 1.1em;
	padding-bottom: 10px;
	margin-bottom: 15px;
}

.footer-nav dd {
	margin-bottom: 10px;
}

.footer-link {
	font-size: 12px;
}

.copyright {
	font-size: 12px;
	font-family: 'Barlow Condensed', sans-serif;
}

.totop {
	cursor: pointer;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 60px;
	height: 60px;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	background: #63b7c6;
	background: -o-linear-gradient(315deg, #63b7c6 0%, #5b83bf 100%);
	background: linear-gradient(135deg, #63b7c6 0%, #5b83bf 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#63b7c6', endColorstr='#5b83bf', GradientType=1);
}

.totop:hover {
	-webkit-filter: brightness(1.1);
	filter: brightness(1.1);
}

.totop:before {
	content: '';
	position: absolute;
	top: 6px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 12px;
	height: 12px;
	border: 0px;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	-ms-transform: rotate(315deg);
	-webkit-transform: rotate(315deg);
	transform: rotate(315deg);
}

/******************************
 common
*******************************/
.breadcrumbs {
	padding: 20px 0;
}

.breadcrumbs ul {
	font-size: 0;
}

.breadcrumbs ul li {
	display: inline;
	font-size: 13px;
	padding-left: 18px;
	margin-left: 12px;
	position: relative;
	color: #fff;
}

.breadcrumbs ul li:first-child {
	padding-left: 0;
	margin-left: 0;
}

.breadcrumbs ul li:before {
	content: '';
	width: 6px;
	height: 6px;
	border: 0px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 3px;
	left: 0;
}

.breadcrumbs ul li:first-child:before {
	border: none;
}

.breadcrumbs ul li a {
	font-size: 13px;
	display: inline-block;
	color: #fff;
}

.breadcrumbs ul li a:hover {
	text-decoration: underline;
}

.btn-a {
	display: inline-block;
	color: #fff !important;
	font-size: 15px;
	letter-spacing: 0.1em;
	padding: 1.5em 4em;
	text-align: center;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	background: #63b7c6;
	background: -o-linear-gradient(315deg, #63b7c6 0%, #5b83bf 100%);
	background: linear-gradient(135deg, #63b7c6 0%, #5b83bf 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#63b7c6', endColorstr='#5b83bf', GradientType=1);
}

.btn-b {
	display: inline-block;
	color: #fff !important;
	font-size: 25px;
	letter-spacing: 0.1em;
	padding: 1.5em 4em;
	text-align: center;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	background: #63b7c6;
	background: -o-linear-gradient(315deg, #63b7c6 0%, #5b83bf 100%);
	background: linear-gradient(135deg, #2e3092 0%, #32c3a9 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#63b7c6', endColorstr='#5b83bf', GradientType=1);
}

.btn-a:hover {
	-webkit-filter: brightness(1.1);
	filter: brightness(1.1);
}

.btn-a-disabled {
	display: inline-block;
	color: #fff !important;
	font-size: 15px;
	letter-spacing: 0.1em;
	padding: 1.5em 4em;
	text-align: center;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	background: #ccc;
}

.pagettl-block {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	background-image: url(/images/pagettl-bg.png);
	width: 100%;
	padding: 0 0 70px;
	margin-bottom: 80px;
	position: relative;
	z-index: 1;
}

.pagettl-block .txt-area-wrap {
	background: #fff;
	width: 60%;
	height: 200px;
	margin: 25px auto 0;
	-webkit-transform: skewX(-28deg);
	-ms-transform: skewX(-28deg);
	transform: skewX(-28deg);
}

.pagettl-block .txt-area {
	-webkit-transform: skewX(28deg);
	-ms-transform: skewX(28deg);
	transform: skewX(28deg);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 0 50px;
	height: 100%;
}

.pagettl-block .pagettl {
	font-size: 40px;
	line-height: 1.4;
	letter-spacing: 0.15em;
	text-align: center;
}

.pagettl-block .lead {
	font-size: 15px;
	line-height: 1.8;
	margin-top: 10px;
	text-align: center;
}

.ttl-a {
	font-size: 28px;
	line-height: 1.4;
	letter-spacing: 0.2em;
	margin-bottom: 40px;
}

.ttl-a2 {
	font-size: 20px;
	line-height: 1;
	letter-spacing: 0.2em;
	margin-bottom: 30px;
}

.ttl-a .en {
	display: block;
	font-size: 0.8em;
	color: #999;
	font-style: italic;
	letter-spacing: 0.1em;
}

.ttl-b {
	font-size: 28px;
	line-height: 1.4;
	letter-spacing: 0.2em;
	margin-bottom: 40px;
	text-align: center;
}

.ttl-b span {
	display: inline-block;
	position: relative;
	padding: 0 15px;
}

.ttl-b span:before,
.ttl-b span:after {
	content: '';
	width: 70px;
	height: 1px;
	background: #ccc;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}

.ttl-b span:before {
	left: 100%;
}

.ttl-b span:after {
	right: 100%;
}

.ttl-c {
	font-size: 28px;
	line-height: 1.4;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
	position: relative;
	padding-left: 20px;
}

.ttl-c:before {
	content: '';
	position: absolute;
	top: 2px;
	left: 0;
	width: 6px;
	height: 32px;
	background: #63b7c6;
	background: -o-linear-gradient(315deg, #63b7c6 0%, #5b83bf 100%);
	background: linear-gradient(135deg, #63b7c6 0%, #5b83bf 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#63b7c6', endColorstr='#5b83bf', GradientType=1);
}

.sec {
	padding-bottom: 100px;
}

/*list*/
.disc-list {
	margin-left: 18px;
}

.disc-list > li {
	list-style: disc;
	list-style-position: outside;
	line-height: 1.8;
}

.disc-list .disc-list li {
	list-style: circle;
}

.decimal-list {
	margin-left: 18px;
}

.decimal-list > li {
	list-style: decimal;
	list-style-position: outside;
	line-height: 1.8;
}

.decimal-list02 {
	counter-reset: number;
	list-style-type: none !important;
}

.decimal-list02 li {
	position: relative;
	line-height: 1.8;
	padding: 0.5em 0.5em 0.5em 38px;
}

.decimal-list02 li:before {
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display: inline-block;
	background: #58a6d0;
	color: #fff;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 15px;
	border-radius: 50%;
	left: 0;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.roman-list {
	margin-left: 18px;
}

.roman-list > li {
	list-style: lower-roman;
	list-style-position: outside;
	line-height: 1.8;
}

.alpha-list {
	margin-left: 18px;
}

.alpha-list > li {
	list-style: lower-alpha;
	list-style-position: outside;
	line-height: 1.8;
}

.asterisk-list > li {
	line-height: 1.6;
	padding-left: 1.5em;
	/*text-indent: -1.5em;*/
	position: relative;
	list-style-position: inside;
}

.asterisk-list > li::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}

.disc-list > li a:hover,
.decimal-list > li a:hover,
.roman-list > li a:hover,
.alpha-list > li a:hover {
	text-decoration: underline;
}

.accordion-list {
	line-height: 1.6;
}

.accordion-list dt {
	font-weight: bold;
	font-size: 16px;
	position: relative;
	margin: 10px 0 0 0;
	padding: 15px 50px 15px 30px;
	background: #f2f2f2;
	cursor: pointer;
}

.accordion-list dt .ico {
	background: #222;
	border-radius: 50%;
	width: 27px;
	height: 27px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 30px;
}

.accordion-list dt .ico:before {
	content: '';
	width: 12px;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.accordion-list dt .ico:after {
	content: '';
	width: 2px;
	height: 12px;
	background: #fff;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.accordion-list dt.is-open .ico:after {
	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.accordion-list dd {
	display: none;
	padding: 10px 40px;
	position: relative;
}

/*table*/
.table-a {
	width: 100%;
	margin: 0 0 1em;
	border: 1px solid #ccc;
	border-collapse: collapse;
}

.table-a th,
.table-a td {
	padding: 1em;
	border: 1px solid #ccc;
	line-height: 1.6;
}

.table-b {
	width: 100%;
	margin: 0 0 1em;
	border-collapse: collapse;
}

.table-b th,
.table-b td {
	padding: 1em;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	line-height: 1.6;
}

.table-b th {
	padding: 1em 0;
	font-weight: bold;
}

.table-c {
	width: 100%;
	margin: 0 0 1em;
	border-collapse: collapse;
}

.table-c th,
.table-c td {
	padding: 1em;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	line-height: 1.6;
}

.table-c th {
	font-weight: bold;
	background: #f6f6f6;
}

.table-d {
	border-spacing: 0;
	max-width: 800px;
	width: 100% !important;
	margin: 0 auto;
}

.table-d th {
	font-weight: 700;
}

.table-d thead th {
	color: #fff;
	background: #7AD59C;
	width: 80% !important;
	padding: 18px 10px;
}

.table-d thead th:first-child {
	width: 20% !important;
}

.table-d thead th:not(:last-child) {
	border-right: 1px solid #fff;
}

.table-d tbody th,
.table-d tbody td {
	border-bottom: 1px solid #CCCCCC;
	padding: 1rem;
}

.table-d tbody th {
	background: #F2F2F2;
	border-right: 1px solid #CCCCCC;
}

.table-d tbody td {
	font-weight: 500;
	line-height: 1.7;
}

/*form*/
button {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

.form-control {
	display: inline-block;
	height: 50px;
	padding: 6px 10px;
	font-size: 14px;
	line-height: 1.5;
	border: 1px solid #e4e4e3;
	background: #f8fafa;
	margin: 5px 0;
}

.form-control::-webkit-input-placeholder {
	color: #cecfcf;
}

.form-control::-moz-placeholder {
	color: #cecfcf;
	opacity: 1;
}

.form-control:-ms-input-placeholder {
	color: #cecfcf;
}

textarea.form-control {
	height: 130px;
}

.btn-form {
	padding-top: 0;
	padding-bottom: 0;
	height: 36px;
	line-height: 36px;
	font-size: 14px;
	text-align: center;
	cursor: pointer;
}

.select-a {
	position: relative;
	display: inline-block;
	cursor: pointer;
}

.select-a:after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 4px 0 4px;
	border-color: #999 transparent transparent transparent;
	position: absolute;
	top: 27px;
	right: 10px;
	pointer-events: none;
	cursor: pointer;
}

.select-a .form-control {
	padding-right: 40px;
}

.checkbox-a-input {
	display: none;
}

.checkbox-a-parts {
	padding-left: 28px;
	position: relative;
	height: 22px;
	line-height: 22px;
	margin: 5px 0;
	display: inline-block;
}

.checkbox-a-parts::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 22px;
	height: 22px;
	border: 1px solid #e4e4e3;
	background: #f8fafa;
}

.checkbox-a-input:checked + .checkbox-a-parts::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 7px;
	margin-top: -7px;
	width: 6px;
	height: 11px;
	-ms-transform: rotate(40deg);
	-webkit-transform: rotate(40deg);
	transform: rotate(40deg);
	border-bottom: 2px solid #666;
	border-right: 2px solid #666;
}

.radio-a label {
	display: inline-block;
	line-height: 1.5;
}

.radio-a label + label {
	margin-left: 20px;
}

.radio-a-input {
	display: none;
}

.radio-a-parts {
	padding-left: 22px;
	position: relative;
	display: block;
}

.radio-a-parts::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 17px;
	height: 17px;
	border: 1px solid #e5e5e4;
	border-radius: 50%;
	background: #f9fafa;
}

.radio-a-input:checked + .radio-a-parts::after {
	content: '';
	display: block;
	position: absolute;
	top: 6px;
	left: 6px;
	width: 5px;
	height: 5px;
	background: #666;
	border-radius: 50%;
}

.txt-required {
	display: inline-block;
	color: #fff;
	background: #f84d60;
	width: 40px;
	height: 20px;
	text-align: center;
	line-height: 20px;
	font-size: 12px;
	font-weight: bold;
	margin: 0 5px;
	vertical-align: middle;
}

.form-label {
	position: relative;
	font-weight: bold;
}

table .form-label {
	padding-left: 55px;
}

.required-field .form-label:before {
	content: '必須';
	position: absolute;
	top: -2px;
	left: 0;
	display: inline-block;
	color: #fff;
	background: #f84d60;
	width: 40px;
	height: 20px;
	text-align: center;
	line-height: 20px;
	font-size: 12px;
	font-weight: bold;
}

.layout-2col {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

/******************************
 index.html
*******************************/
.index-mv {
	height: calc(100vh - 86px);
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.index-mv .mv-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.index-mv .mv-slider li {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	height: calc(100vh - 86px);
}

.index-mv .mv-slider .mv01 {
	background-image: url(/images/index-mv01.jpg);
}

.index-mv .mv-slider .mv02 {
	background-image: url(/images/index-mv02.jpg);
}

.index-mv .mv-slider .mv03 {
	background-image: url(/images/index-mv03.jpg);
}

.index-mv .mv-slider .mv04 {
	background-image: url(/images/index-mv04.jpg);
}

.index-mv .txt-block {
	padding-left: 100px;
	z-index: 1;
	position: relative;
}

.index-mv .txt-block .catch {
	font-size: 110px;
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: #fff;
	text-shadow: -6px -6px 0 rgba(0, 27, 77, 0.5);
	margin-bottom: 20px;
	line-height: 1.1;
}

.index-mv .txt-block .description {
	color: #fff;
	font-size: 20px;
	letter-spacing: 0.1em;
	line-height: 1.7;
	margin-bottom: 40px;
}

.index-mv .scroll {
	color: #fff;
	z-index: 1;
	position: absolute;
	bottom: 20px;
	left: 50%;
	-ms-transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	text-align: center;
}

.index-mv .mv-banner {
	position: absolute;
	right: 30px;
	bottom: 22px;
	transition: all 0.3s ease;
	z-index: 5;
}

.index-mv .mv-banner a {
	display: block;
}

.index-mv .mv-banner a img {
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 768px) {
	.index-mv .mv-banner {
		width: 165px;
		right: 4px;
		bottom: 27px;
	}
}

.index-mv .mv-banner:hover {
	opacity: 0.7;
}

@-webkit-keyframes arrowAnimation {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, -8px, 0);
		transform: translate3d(0, -8px, 0);
	}

	80% {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}

	100% {
		opacity: 0;
	}
}

@keyframes arrowAnimation {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, -8px, 0);
		transform: translate3d(0, -8px, 0);
	}

	80% {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}

	100% {
		opacity: 0;
	}
}

.index-mv .scroll .icon {
	-webkit-animation-name: arrowAnimation;
	animation-name: arrowAnimation;
	-webkit-animation-duration: 2s;
	animation-duration: 2s;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
	animation-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
	fill: #fff;
	width: 36px;
	height: 36px;
	margin: 0 auto;
}

.index-mv .scroll p {
	font-style: italic;
	letter-spacing: 0.1em;
	font-size: 15px;
}

.index-sec {
	padding: 0 0 100px;
}

.info-sec {
	padding: 0 0 100px;
}

.index-solution-sec,
.index-company-sec {
	background: #f2f2f2;
}

.index-recruit-sec {
	background: #63b7c6;
	background: -o-linear-gradient(315deg, #63b7c6 0%, #5b83bf 100%);
	background: linear-gradient(135deg, #63b7c6 0%, #5b83bf 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#63b7c6', endColorstr='#5b83bf', GradientType=1);
}

.info-sec .ttl {
	padding: 60px 0 30px;
	text-align: center;
	position: relative;
	overflow-x: hidden;
}

.info-sec .ttl .jp {
	font-size: 40px;
	letter-spacing: 0.2em;
	font-weight: normal;
	z-index: 1;
	position: relative;
}

.index-sec .ttl {
	padding: 150px 0 90px;
	text-align: center;
	position: relative;
	overflow-x: hidden;
}

.index-sec .ttl .jp {
	font-size: 40px;
	letter-spacing: 0.2em;
	font-weight: normal;
	z-index: 1;
	position: relative;
}

.index-sec .ttl .en {
	font-size: 258px;
	font-style: italic;
	font-weight: 600;
	color: #e6e6e6;
	position: absolute;
	bottom: 10px;
	right: -20px;
}

.index-recruit-sec .ttl .en {
	right: auto;
	left: -20px;
	color: rgba(255, 255, 255, 0.2);
}

.index-sec .lead {
	text-align: center;
	font-size: 16px;
	line-height: 1.8;
	margin-bottom: 60px;
	letter-spacing: 0.1em;
}

.index-solution-sec .btn-a,
#solution .btn-modal .btn-a {
	font-size: 18px;
}

#solution_chart {
	min-width: auto;
	background: #fff;
	padding: 80px 60px;
	position: relative;
}

#solution_chart .modal-ttl {
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 10px;
}

#solution_chart .modal-txt {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 30px;
	text-align: center;
}

.index-sec .block {
	margin-top: 80px;
}

.index-sec .subttl {
	text-align: center;
	font-size: 20px;
	margin-bottom: 40px;
	letter-spacing: 0.1em;
}

.index-sec .subttl span {
	position: relative;
	display: inline-block;
	padding: 0 1em;
}

.index-sec .subttl span:before,
.index-sec .subttl span:after {
	content: '';
	width: 70px;
	height: 1px;
	background: #999;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}

.index-sec .subttl span:before {
	right: 100%;
}

.index-sec .subttl span:after {
	left: 100%;
}

.index-sec .list,
#solution .list,
#solution_sub .list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.index-sec .list li,
#solution .list li,
#solution_sub .list li {
	background: #fff;
	text-align: center;
	padding: 30px 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.index-sec .category-list li,
#solution_sub .category-list li {
	width: 192px;
}

.index-sec .category-list li {
	margin: 0 0 10px;
	position: relative;
}

.index-sec .solution-list,
#solution .solution-list {
	margin: 0 -45px;
	padding: 0 40px;
	position: relative;
	/*overflow-y: hidden;*/
}

.index-sec .solution-list li,
#solution .solution-list li {
	margin: 0 5px;
	position: relative;
}

.index-sec .solution-list li.new:before,
#solution .solution-list li.new:before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 120px 120px 0 0;
	border-color: #ffee00 transparent transparent transparent;
	position: absolute;
	top: 0;
	left: 0;
}

.index-sec .solution-list li.new:after,
#solution .solution-list li.new:after {
	content: 'NEW!';
	font-family: 'Barlow Condensed', sans-serif;
	font-style: italic;
	font-size: 25px;
	font-weight: bold;
	width: 120px;
	height: 120px;
	position: absolute;
	top: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	color: #333;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	padding-bottom: 60px;
}

.index-sec .list .icon,
#solution .list .icon,
#solution_sub .list .icon {
	width: 50px;
	height: 50px;
	margin: 0 auto 10px;
}

.index-sec .list .txt01,
#solution .list .txt01,
#solution_sub .list .txt01 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
	letter-spacing: 0.1em;
	line-height: 1.4;
}

.index-sec .list .txt02,
#solution .list .txt02,
#solution_sub .list .txt02 {
	font-size: 14px;
	line-height: 1.8;
	text-align: left;
	margin-bottom: 15px;
}

.index-sec .list .btn-more,
#solution .list .btn-more,
#solution_sub .list .btn-more {
	display: block;
	padding: 10px;
	color: #fff;
	font-size: 16px;
	letter-spacing: 0.1em;
	margin-top: auto;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.index-sec .list .btn-more:hover,
#solution .list .btn-more:hover,
#solution_sub .list .btn-more:hover {
	-webkit-filter: brightness(1.1);
	filter: brightness(1.1);
}

.index-solution-sec .list .item01 .icon,
#solution_sub .list .item01 .icon {
	fill: #98a3f2;
}

.index-solution-sec .list .item01 .txt01,
#solution_sub .list .item01 .txt01 {
	color: #98a3f2;
}

.index-solution-sec .list .item01 .btn-more,
#solution_sub .list .item01 .btn-more {
	background: #98a3f2;
}

.index-solution-sec .list .item02 .icon,
#solution_sub .list .item02 .icon {
	fill: #90b9fc;
}

.index-solution-sec .list .item02 .txt01,
#solution_sub .list .item02 .txt01 {
	color: #90b9fc;
}

.index-solution-sec .list .item02 .btn-more,
#solution_sub .list .item02 .btn-more {
	background: #90b9fc;
}

.index-solution-sec .list .item03 .icon,
#solution_sub .list .item03 .icon {
	fill: #84cae7;
}

.index-solution-sec .list .item03 .txt01,
#solution_sub .list .item03 .txt01 {
	color: #84cae7;
}

.index-solution-sec .list .item03 .btn-more,
#solution_sub .list .item03 .btn-more {
	background: #84cae7;
}

.index-solution-sec .list .item04 .icon,
#solution_sub .list .item04 .icon {
	fill: #94e4d9;
}

.index-solution-sec .list .item04 .txt01,
#solution_sub .list .item04 .txt01 {
	color: #94e4d9;
}

.index-solution-sec .list .item04 .btn-more,
#solution_sub .list .item04 .btn-more {
	background: #94e4d9;
}

.index-solution-sec .list .item05 .txt01,
#solution_sub .list .item05 .txt01 {
	color: #acacac;
	margin-top: 20px;
}

.index-solution-sec .list .item05 .btn-more,
#solution_sub .list .item05 .btn-more {
	background: #acacac;
}

.index-sec .solution-list .slick-arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	display: inline-block;
	padding: 0;
	border: none;
	color: transparent;
	background: transparent;
	outline: none;
	width: 30px;
	height: 30px;
	border: 0px;
	border-top: solid 8px #ccc;
	border-right: solid 8px #ccc;
	cursor: pointer;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.index-sec .solution-list .slick-prev {
	-ms-transform: rotate(225deg);
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
	left: 10px;
}

.index-sec .solution-list .slick-next {
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	right: 10px;
}

.index-sec .solution-list .slick-arrow:hover {
	-webkit-filter: brightness(1.1);
	filter: brightness(1.1);
}

.index-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 0 -50px;
}

.index-list li {
	width: 320px;
	margin: 0 0 50px;
	position: relative;
}

.index-list li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 270px;
	background: #000;
	color: #fff;
	padding: 15px;
	overflow: hidden;
	position: relative;
}

.index-list li .txt {
	z-index: 1;
	line-height: 1;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.3em;
	text-align: center;
	position: absolute;
	top: -0.5em;
	left: 0;
	width: 100%;
}

.index-list li .txt-s {
	letter-spacing: 0;
	font-size: 21px;
}

.index-recruit-sec .index-list li .txt {
	color: #fff;
}

.index-list li a .bg img {
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%) scale(1.05);
	-webkit-transform: translate(-50%, -50%) scale(1.05);
	transform: translate(-50%, -50%) scale(1.05);
	width: 100%;
	vertical-align: middle;
	-webkit-transition: all 0.3s cubic-bezier(0.045, 0.495, 0.685, 0.97);
	-o-transition: all 0.3s cubic-bezier(0.045, 0.495, 0.685, 0.97);
	transition: all 0.3s cubic-bezier(0.045, 0.495, 0.685, 0.97);
	opacity: 0.8;
}

.index-list li a:hover .bg img {
	-ms-transform: translate(-50%, -50%) scale(1.15);
	-webkit-transform: translate(-50%, -50%) scale(1.15);
	transform: translate(-50%, -50%) scale(1.15);
	opacity: 1;
}

.index-recruit-sec .ttl,
.index-recruit-sec .lead {
	color: #fff;
}

/******************************
 /solution/index.html
*******************************/
#solution .btn-modal {
	margin-bottom: 80px;
}

#solution .sec {
	padding: 60px 0;
}

#solution .sec-a {
	background: #f2f2f2;
}

#solution .sec-b {
	background: #f8f8f8;
}

#solution .list li {
	margin: 0 0 20px;
	width: 325px;
}

#solution .list:after {
	content: '';
	display: block;
	width: 325px;
}

#solution .sec05 .list {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

#solution .sec05 .list:after {
	width: 0;
}

#solution .list .txt01 {
	font-size: 20px;
}

#solution .sec01 .list .icon {
	fill: #98a3f2;
}

#solution .sec01 .list .txt01 {
	color: #98a3f2;
}

#solution .sec01 .list .btn-more {
	background: #98a3f2;
}

#solution .sec02 .list .icon {
	fill: #90b9fc;
}

#solution .sec02 .list .txt01 {
	color: #90b9fc;
}

#solution .sec02 .list .btn-more {
	background: #90b9fc;
}

#solution .sec03 .list .icon {
	fill: #84cae7;
}

#solution .sec03 .list .txt01 {
	color: #84cae7;
}

#solution .sec03 .list .btn-more {
	background: #84cae7;
}

#solution .sec04 .list .icon {
	fill: #94e4d9;
}

#solution .sec04 .list .txt01 {
	color: #94e4d9;
}

#solution .sec04 .list .btn-more {
	background: #94e4d9;
}

#solution .sec05 .list .txt01 {
	color: #acacac;
}

#solution .sec05 .list .btn-more {
	background: #acacac;
}

.solution-contact {
	background: #63b7c6;
	background: -o-linear-gradient(315deg, #63b7c6 0%, #5b83bf 100%);
	background: linear-gradient(135deg, #63b7c6 0%, #5b83bf 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#63b7c6', endColorstr='#5b83bf', GradientType=1);
	padding: 80px 0;
}

.solution-contact .lead {
	color: #fff;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 30px;
}

.solution-contact .box-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 680px;
	margin: 0 auto;
}

.solution-contact .box {
	width: 320px;
	height: 80px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	border: 1px solid #fff;
}

.solution-contact .box-contact {
	color: #58a6d0;
	font-size: 20px;
	font-weight: bold;
	background: #fff;
}

.solution-contact .box-tel {
	color: #fff;
}

.solution-contact .box-tel .en {
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.solution-contact .box .icon {
	width: 32px;
	height: 32px;
	margin-right: 10px;
}

.solution-contact .box-contact .icon {
	fill: #58a6d0;
}

.solution-contact .box-tel .icon {
	fill: #fff;
}

#solution_sub .solution-nav {
	background: rgba(34, 34, 34, 0.8);
	width: 100%;
	position: fixed;
	z-index: 100;
}

#solution_sub .solution-nav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

#solution_sub .solution-nav li {
	margin: 0 25px;
}

#solution_sub .solution-nav a {
	font-size: 14px;
	display: inline-block;
	padding: 25px 5px;
	color: #fff;
	position: relative;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

#solution_sub.solution01 .solution-nav a:hover,
#solution_sub.solution01 .solution-nav a.current {
	color: #98a3f2;
}

#solution_sub.solution02 .solution-nav a:hover,
#solution_sub.solution02 .solution-nav a.current {
	color: #90b9fc;
}

#solution_sub.solution03 .solution-nav a:hover,
#solution_sub.solution03 .solution-nav a.current {
	color: #84cae7;
}

#solution_sub.solution04 .solution-nav a:hover,
#solution_sub.solution04 .solution-nav a.current {
	color: #94e4d9;
}

#solution_sub .solution-nav a:after {
	content: '';
	width: 100%;
	height: 4px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: transparent;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

#solution_sub.solution01 .solution-nav a:hover:after,
#solution_sub.solution01 .solution-nav a.current:after {
	background: #98a3f2;
}

#solution_sub.solution02 .solution-nav a:hover:after,
#solution_sub.solution02 .solution-nav a.current:after {
	background: #90b9fc;
}

#solution_sub.solution03 .solution-nav a:hover:after,
#solution_sub.solution03 .solution-nav a.current:after {
	background: #84cae7;
}

#solution_sub.solution04 .solution-nav a:hover:after,
#solution_sub.solution04 .solution-nav a.current:after {
	background: #94e4d9;
}

#solution_sub .pagettl-block {
	height: 500px;
	color: #fff;
	padding: 70px 0 0;
}

#solution_sub.solution01-01 .pagettl-block {
	background-image: url(/images/solution01-01-mv.jpg);
}

#solution_sub.solution01-02 .pagettl-block {
	background-image: url(/images/solution01-02-mv.jpg);
}

#solution_sub.solution01-03 .pagettl-block {
	background-image: url(/images/solution01-03-mv.jpg);
}

#solution_sub.solution01-04 .pagettl-block {
	background-image: url(/images/solution01-04-mv.jpg);
}

#solution_sub.solution01-05 .pagettl-block {
	background-image: url(/images/solution01-05-mv.jpg);
}

#solution_sub.solution01-06 .pagettl-block {
	background-image: url(/images/solution01-06-mv.jpg);
}

#solution_sub.solution01-07 .pagettl-block {
	background-image: url(/images/solution01-07-mv.jpg);
}

#solution_sub.solution02-01 .pagettl-block {
	background-image: url(/images/solution02-01-mv.jpg);
}

#solution_sub.solution03-01 .pagettl-block {
	background-image: url(/images/solution03-01-mv.jpg);
}

#solution_sub.solution04-01 .pagettl-block {
	background-image: url(/images/solution04-01-mv.jpg);
}

#solution_sub.solution04-02 .pagettl-block {
	background-image: url(/images/solution04-02-mv.jpg);
}

#solution_sub.solution05-01 .pagettl-block {
	background-image: url(/images/solution05-01-mv.jpg);
}

#solution_sub .pagettl-block .cate {
	display: inline-block;
	margin: 40px 0 20px;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: bold;
}

#solution_sub.solution01 .pagettl-block .cate {
	background: #98a3f2;
}

#solution_sub.solution02 .pagettl-block .cate {
	background: #90b9fc;
}

#solution_sub.solution03 .pagettl-block .cate {
	background: #84cae7;
}

#solution_sub.solution04 .pagettl-block .cate {
	background: #94e4d9;
}

#solution_sub.solution05 .pagettl-block .cate {
	background: #acacac;
}

#solution_sub .pagettl-block .pagettl {
	text-align: left;
	margin-bottom: 10px;
}

#solution_sub .pagettl-block .lead {
	text-align: left;
	margin-bottom: 40px;
}

#solution_sub .pagettl-block .btn-contact a {
	border: 2px solid #fff;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 280px;
	height: 60px;
	font-weight: bold;
	font-size: 16px;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

#solution_sub .pagettl-block .btn-contact a .icon {
	fill: #fff;
	width: 24px;
	height: 24px;
	margin-right: 8px;
}

#solution_sub .pagettl-block .btn-contact a:hover {
	background: #fff;
}

#solution_sub.solution01 .pagettl-block .btn-contact a:hover {
	color: #98a3f2;
}

#solution_sub.solution02 .pagettl-block .btn-contact a:hover {
	color: #90b9fc;
}

#solution_sub.solution03 .pagettl-block .btn-contact a:hover {
	color: #84cae7;
}

#solution_sub.solution04 .pagettl-block .btn-contact a:hover {
	color: #94e4d9;
}

#solution_sub.solution05 .pagettl-block .btn-contact a:hover {
	color: #acacac;
}

#solution_sub.solution01 .pagettl-block .btn-contact a:hover .icon {
	fill: #98a3f2;
}

#solution_sub.solution02 .pagettl-block .btn-contact a:hover .icon {
	fill: #90b9fc;
}

#solution_sub.solution03 .pagettl-block .btn-contact a:hover .icon {
	fill: #84cae7;
}

#solution_sub.solution04 .pagettl-block .btn-contact a:hover .icon {
	fill: #94e4d9;
}

#solution_sub.solution05 .pagettl-block .btn-contact a:hover .icon {
	fill: #acacac;
}

#solution_sub .ttl-a .num {
	font-size: 60px;
	color: #d7d7d7;
	letter-spacing: 0.05em;
	margin-right: 20px;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 500;
	font-style: italic;
}

#solution_sub .comment-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: -40px;
}

#solution_sub .comment-list li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 48%;
	margin-bottom: 40px;
}

#solution_sub .comment-list li > div {
	width: 50%;
}

#solution_sub .comment-list li.w100 .q-block {
	width: 30%;
}

#solution_sub .comment-list li.w100 .a-block {
	width: 70%;
}

#solution_sub .comment-list .q-block {
	color: #fff;
	text-align: center;
	padding: 30px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
}

#solution_sub.solution01 .comment-list .q-block {
	background: #98a3f2;
}

#solution_sub.solution02 .comment-list .q-block {
	background: #90b9fc;
}

#solution_sub.solution03 .comment-list .q-block {
	background: #7AD59C;
}

#solution_sub.solution04 .comment-list .q-block {
	background: #94e4d9;
}

#solution_sub .comment-list .q-block:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 100%;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 11px;
	border-color: transparent;
}

#solution_sub.solution01 .comment-list .q-block:after {
	border-left-color: #98a3f2;
}

#solution_sub.solution02 .comment-list .q-block:after {
	border-left-color: #90b9fc;
}

#solution_sub.solution03 .comment-list .q-block:after {
	border-top-color: #7AD59C;
}

#solution_sub.solution04 .comment-list .q-block:after {
	border-left-color: #94e4d9;
}

#solution_sub .comment-list .q-block .icon {
	fill: #fff;
	width: 32px;
	height: 32px;
	margin-bottom: 5px;
}

#solution_sub .comment-list .q-block .txt {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.05em;
}

#solution_sub .comment-list .a-block {
	padding: 20px 30px;
	background: #f2f2f2;
}

#solution_sub .comment-list .a-block .ttl {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
	position: relative;
	display: inline-block;
}

#solution_sub .comment-list .a-block .ttl:after {
	content: '';
	width: 100%;
	display: block;
	height: 6px;
	margin-top: -8px;
}

#solution_sub.solution01 .comment-list .a-block .ttl:after {
	background: #98a3f2;
}

#solution_sub.solution02 .comment-list .a-block .ttl:after {
	background: #90b9fc;
}

#solution_sub.solution03 .comment-list .a-block .ttl:after {
	background: #7AD59C;
}

#solution_sub.solution04 .comment-list .a-block .ttl:after {
	background: #94e4d9;
}

#solution_sub .comment-list .a-block .txt {
	font-size: 14px;
}

#solution_sub .point-list {
	width: 830px;
	margin: 0 auto;
}

#solution_sub .point-list > li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 50px;
}

#solution_sub .point-list .ico-block {
	margin-right: 40px;
}

#solution_sub .point-list .txt-block .ttl {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 10px;
}

#solution_sub #sec03 table, #solution_sub.solution03-01 #sec04 table {
	width: 80%;
	margin: 0 auto;
}

#solution_sub #sec03 table th, #solution_sub.solution03-01 #sec04 table th {
	text-align: center;
	vertical-align: middle;
	width: 20%;
}

#solution_sub .bottom-menu {
	background: #f2f2f2;
	padding: 60px 0;
}

#solution_sub.solution05 .pagettl-block {
	height: 430px;
	padding: 0;
}

#solution_sub.solution05 .sec .layout-2col .txt {
	margin-bottom: 30px;
}

#solution_sub.solution05 .sec03 .ph-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 40px;
}

#solution_sub.solution05 .sec03 .ph-wrap .ph {
	width: 30%;
}

/******************************
 /recruit/newgraduate.html
*******************************/
#recruit_newgraduate .txt-message {
	font-size: 20px;
	letter-spacing: 0.2em;
	line-height: 2.4;
	text-align: center;
	padding-top: 1em;
}

.txt-message2 {
	font-size: 18px;
	letter-spacing: 0.2em;
	line-height: 2;
	text-align: left;
	padding-top: 1em;
}

.txt-message-b {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.2em;
	line-height: 2;
	text-align: left;
	padding-top: 1em;
}

.btn-mynavi a {
	display: inline-block;
}

#recruit_newgraduate .sec03 .table-b {
	font-size: 0.95em;
}

#recruit_newgraduate .sec03 .table-b th,
#recruit_newgraduate .sec03 .table-b td {
	padding: 1em 0.5em;
}

#recruit_newgraduate .flow-list {
	width: 500px;
	margin: 0 auto;
}

#recruit_newgraduate .flow-list li {
	width: 100%;
	height: 65px;
	color: #fff;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 30px;
	position: relative;
	padding-top: 0.5em;
}

#recruit_newgraduate .flow-list .item01 {
	background: #98a3f2;
}

#recruit_newgraduate .flow-list .item02 {
	background: #90b9fc;
}

#recruit_newgraduate .flow-list .item03 {
	background: #84cae7;
}

#recruit_newgraduate .flow-list .item04 {
	background: #74c7bc;
}

#recruit_newgraduate .flow-list .item05 {
	background: #f84d60;
	padding-top: 0;
}

#recruit_newgraduate .flow-list li:after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 250px 0 250px;
	border-color: transparent;
}


/******************************
#recruit_newgraduate .flow-list .item01:after {
	border-top-color: #98a3f2;
}

#recruit_newgraduate .flow-list .item02:after {
	border-top-color: #90b9fc;
}

#recruit_newgraduate .flow-list .item03:after {
	border-top-color: #84cae7;
}

#recruit_newgraduate .flow-list .item04:after {
	border-top-color: #74c7bc;
}
*******************************/

/******************************
 /recruit/shigotalk.html
*******************************/
.shigotalk-index-list li {
	margin-bottom: 30px;
}

.shigotalk-index-list li a {
	display: block;
	width: 100%;
	height: 300px;
	position: relative;
	padding: 60px;
	background-repeat: no-repeat;
	background-size: 120% auto;
	background-position: 70% 30%;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.shigotalk-index-list li a:hover {
	-webkit-filter: brightness(1.04);
	filter: brightness(1.04);
}

.shigotalk-index-list li.oa a {
	background-image: url(/images/recruit_shigotalk-oa-mv.jpg);
}

.shigotalk-index-list li.dk a {
	background-image: url(/images/recruit_shigotalk-dk-mv.jpg);
}

.shigotalk-index-list li.ir a {
	background-image: url(/images/recruit_shigotalk-ir-mv.jpg);
}

.shigotalk-index-list li.un a {
	background-image: url(/images/recruit_shigotalk-un-mv.jpg);
}

.shigotalk-index-list li.tr a {
	background-image: url(/images/recruit_shigotalk-tr-mv.jpg);
}

.shigotalk-index-list li.my a {
	background-image: url(/images/recruit_shigotalk-my-mv.jpg);
}

.shigotalk-index-list .catch {
	color: #5b94ea;
	font-size: 26px;
	line-height: 1.6;
	letter-spacing: 0.15em;
	font-weight: bold;
}

.shigotalk-index-list .profile {
	position: absolute;
	bottom: 40px;
	left: 60px;
}

.shigotalk-index-list .name {
	font-size: 20px;
	margin-bottom: 10px;
}

.shigotalk-index-list .cate {
	font-size: 13px;
	line-height: 1.6;
}

.shigotalk-index-list .more {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 80px;
	height: 80px;
	line-height: 80px;
	text-align: center;
	background: #63b7c6;
	background: -o-linear-gradient(315deg, #63b7c6 0%, #5b83bf 100%);
	background: linear-gradient(135deg, #63b7c6 0%, #5b83bf 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#63b7c6', endColorstr='#5b83bf', GradientType=1);
	color: #fff;
	letter-spacing: 0.15em;
	font-size: 16px;
}

#recruit_shigotalk .mv {
	height: 500px;
	margin-bottom: 100px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.recruit_shigotalk-oa .mv {
	background-image: url(/images/recruit_shigotalk-oa-mv.jpg);
}

.recruit_shigotalk-dk .mv {
	background-image: url(/images/recruit_shigotalk-dk-mv.jpg);
}

.recruit_shigotalk-ir .mv {
	background-image: url(/images/recruit_shigotalk-ir-mv.jpg);
}

.recruit_shigotalk-un .mv {
	background-image: url(/images/recruit_shigotalk-un-mv.jpg);
}

.recruit_shigotalk-tr .mv {
	background-image: url(/images/recruit_shigotalk-tr-mv.jpg);
}

.recruit_shigotalk-my .mv {
	background-image: url(/images/recruit_shigotalk-my-mv.jpg);
}




#recruit_shigotalk .mv .txt-block {
	height: 100%;
	width: 60%;
	margin-left: -10%;
	padding-left: 10%;
	background: #63b7c6;
	background: -o-linear-gradient(315deg, #63b7c6 0%, #5b83bf 100%);
	background: linear-gradient(135deg, #63b7c6 0%, #5b83bf 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#63b7c6', endColorstr='#5b83bf', GradientType=1);
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	-webkit-transform: skewX(-15deg);
	-ms-transform: skewX(-15deg);
	transform: skewX(-15deg);
}

#recruit_shigotalk .mv .catch {
	font-size: 38px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	padding-bottom: 2em;
	-webkit-transform: skewX(15deg);
	-ms-transform: skewX(15deg);
	transform: skewX(15deg);
}

#recruit_shigotalk .mv .profile {
	position: absolute;
	-webkit-transform: skewX(15deg);
	-ms-transform: skewX(15deg);
	transform: skewX(15deg);
	bottom: 50px;
	left: 30%;
}

#recruit_shigotalk .mv .name {
	font-size: 24px;
	margin-bottom: 10px;
}

#recruit_shigotalk .mv .cate {
	font-size: 14px;
	line-height: 1.6;
}

#recruit_shigotalk .sec {
	position: relative;
}

#recruit_shigotalk .interview-ttl {
	text-align: center;
	font-size: 30px;
	letter-spacing: 0.2em;
	position: relative;
	padding-bottom: 16px;
}

#recruit_shigotalk .honne {
	font-size: 42px;
	color: #5b94ea;
	display: block;
	padding-top: 10px;
	margin-bottom: 10px;
	letter-spacing: 0;
	background-image: url(/images/recruit_shigotalk-txt-honne.png);
	background-position: center top;
	background-repeat: no-repeat;
}

#recruit_shigotalk .interview-txt {
	padding-top: 40px;
}

#recruit_shigotalk .sec-a .interview-txt {
	padding-left: 55%;
}

#recruit_shigotalk .sec-b .interview-txt {
	padding-right: 55%;
}

#recruit_shigotalk .interview-txt .ttl {
	font-size: 20px;
	line-height: 1.6;
	margin-bottom: 10px;
	color: #5b94ea;
}

#recruit_shigotalk .interview-txt .txt {
	line-height: 2;
}

#recruit_shigotalk .interview-ph {
	width: 50%;
	height: auto;
	margin-top: -15px;
}

#recruit_shigotalk .sec-a .interview-ph {
	float: left;
}

#recruit_shigotalk .sec-b .interview-ph {
	float: right;
}

#recruit_shigotalk .sec-oneday {
	background: #63b7c6;
	background: -o-linear-gradient(315deg, #63b7c6 0%, #5b83bf 100%);
	background: linear-gradient(135deg, #63b7c6 0%, #5b83bf 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#63b7c6', endColorstr='#5b83bf', GradientType=1);
	overflow-x: hidden;
	margin-bottom: 100px;
	padding-top: 100px;
}

#recruit_shigotalk .en-ttl {
	font-size: 220px;
	font-style: italic;
	font-weight: 700;
	color: #fff;
	position: absolute;
	top: -70px;
}

#recruit_shigotalk .sec-oneday .en-ttl {
	right: -10px;
	opacity: 0.3;
}

#recruit_shigotalk .sec-oneday .oneday-list-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

#recruit_shigotalk .sec-oneday .oneday-list {
	border-spacing: 30px 20px;
}

#recruit_shigotalk .sec-oneday .oneday-list .time {
	background: #fff;
	-webkit-transform: skewX(-20deg);
	-ms-transform: skewX(-20deg);
	transform: skewX(-20deg);
	padding: 7px 15px;
	text-align: center;
	vertical-align: middle;
}

#recruit_shigotalk .sec-oneday .oneday-list .time span {
	-webkit-transform: skewX(20deg);
	-ms-transform: skewX(20deg);
	transform: skewX(20deg);
	font-size: 20px;
	color: #5b83bf;
	font-weight: 500;
	letter-spacing: 0.1em;
	display: block;
}

#recruit_shigotalk .sec-oneday .oneday-list .txt {
	color: #fff;
	font-size: 18px;
}

#recruit_shigotalk .sec-mycareer {
	background: #f2f2f2;
	padding-top: 170px;
	padding-bottom: 50px;
}

#recruit_shigotalk .sec-mycareer .en-ttl {
	left: -10px;
	opacity: 0.8;
}

#recruit_shigotalk .sec-mycareer .txt {
	padding-right: 260px;
}

#recruit_shigotalk .sec-mycareer .ph {
	position: absolute;
	bottom: -50px;
	right: -60px;
}

#recruit_shigotalk .bottom-menu {
	padding: 80px 0;
}

#recruit_shigotalk .bottom-menu-inr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

#recruit_shigotalk .bottom-menu .person a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 400px;
}

#recruit_shigotalk .bottom-menu .txt-block {
	margin-left: 20px;
}

#recruit_shigotalk .bottom-menu .name {
	font-size: 20px;
	margin-bottom: 10px;
}

#recruit_shigotalk .bottom-menu .cate {
	font-size: 14px;
	line-height: 1.8;
}

#recruit_shigotalk .bottom-menu .all {
	text-align: center;
}

#recruit_shigotalk .bottom-menu .all svg {
	width: 60px;
	height: 60px;
	padding: 10px;
	fill: #5b94ea;
}

#recruit_shigotalk .bottom-menu .all span {
	color: #5b94ea;
	font-size: 11px;
	font-weight: bold;
	display: block;
	letter-spacing: 0;
}

/******************************
 /recruit/kisculture.html
*******************************/
#recruit_kisculture .sec01 {
	background: #f2f2f2;
	padding-top: 120px;
	margin-top: -120px;
}

#recruit_kisculture .kisculture-list li + li {
	margin-top: 60px;
	position: relative;
}

#recruit_kisculture .kisculture-list .num {
	text-align: center;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 26px;
	font-style: italic;
	width: 70px;
	height: 70px;
	line-height: 70px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	left: 0;
	right: 0;
	top: -35px;
	margin: auto;
}

#recruit_kisculture .kisculture-list .ttl {
	text-align: center;
	position: absolute;
	top: 30px;
	left: 0;
	right: 0;
	width: 100%;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 1.4;
}

#recruit_kisculture .kisculture-list .ttl strong {
	font-size: 2em;
	font-weight: bold;
}

#recruit_kisculture .kisculture-list .img img {
	vertical-align: bottom;
}

/******************************
 /recruit/training.html
*******************************/
#recruit_training .training-flow {
	position: relative;
	margin-bottom: 20px;
}

#recruit_training .training-flow:before {
	content: '';
	width: 85px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #63b7c6;
	background: -o-linear-gradient(315deg, #63b7c6 0%, #5b83bf 100%);
	background: linear-gradient(135deg, #63b7c6 0%, #5b83bf 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#63b7c6', endColorstr='#5b83bf', GradientType=1);
}

#recruit_training .training-flow .wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

#recruit_training .training-flow .term {
	width: 85px;
	line-height: 85px;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	position: relative;
}

#recruit_training .training-flow .step-list {
	width: 860px;
	position: relative;
}

#recruit_training .training-flow .step-list:after {
	content: '';
	position: absolute;
	top: 100%;
	left: -128px;
	width: 60px;
	height: 60px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
	margin-top: -50px;
}

#recruit_training .training-flow .step-list.last:after {
	border: none;
}

#recruit_training .training-flow .step-list li {
	margin-top: 30px;
}

#recruit_training .training-flow .step-list li.mt0 {
	margin-top: 0;
}

#recruit_training .training-flow .step-list .ttl {
	margin-left: -10px;
	font-size: 18px;
	font-weight: bold;
	color: #339fb9;
	padding: 5px 15px;
	line-height: 1.6;
	background: #fff;
	border: 2px solid #339fb9;
	display: inline-block;
}

#recruit_training .training-flow .step-list .txt {
	background: #f2f2f2;
	padding: 20px 30px;
	margin-top: -10px;
}

#recruit_training .box {
	border: 1px solid #999;
	padding: 0 30px 30px;
	margin-left: 50px;
	margin-top: 10px;
}

#recruit_training .box .ttl {
	color: #339fb9;
	font-size: 18px;
	text-align: center;
	margin-top: -10px;
	margin-bottom: 20px;
}

#recruit_training .box .ttl span {
	display: inline-block;
	padding: 0 20px;
	background: #fff;
}

/******************************
 /recruit/faq.html
*******************************/
#recruit_faq .accordion-list dt {
	padding-left: 60px;
}

#recruit_faq .accordion-list dt:before,
#recruit_faq .accordion-list dd:before {
	font-size: 35px;
	font-style: italic;
	font-weight: 500;
	color: #ccc;
	font-family: 'Barlow Condensed', sans-serif;
	position: absolute;
	top: 0;
	left: 30px;
}

#recruit_faq .accordion-list dt:before {
	content: 'Q';
}

#recruit_faq .accordion-list dd:before {
	content: 'A';
}

#recruit_faq .accordion-list dt .txt-newgraduate {
	display: inline-block;
	padding: 3px 12px;
	color: #fff;
	background: #5b94ea;
	font-size: 12px;
	line-height: 1;
	margin-left: 1em;
}

#recruit_faq .accordion-list dd {
	padding: 20px 60px;
}

/******************************
 /recruit/career.html
*******************************/
#recruit_career .sec01 .box {
	background: #f7f7f7;
	padding: 30px;
}

#recruit_career .update-list li {
	position: relative;
	padding-left: 8em;
	line-height: 1.6;
	margin-top: 10px;
	font-size: 0.95em;
}

#recruit_career .update-list li:first-child {
	margin-top: 0;
}

#recruit_career .update-list li .date {
	position: absolute;
	top: 0;
	left: 0;
}

#recruit_career form {
	margin-top: 30px;
}

#recruit_career form .btn-wrap,
#contact form .btn-wrap {
	margin-top: 30px;
}

/******************************
 /company/message.html
*******************************/
#company_message .pagettl-block {
	padding-bottom: 30px;
}

#company_message .mv {
	position: relative;
}

#company_message .mv .catch {
	position: absolute;
	top: 120px;
	left: 65px;
	font-size: 34px;
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 1.6;
	color: #fff;
}

#company_message .mv .pagettl {
	position: absolute;
	bottom: 130px;
	left: 65px;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 1.6;
	color: #fff;
}

#company_message .part {
	text-align: right;
	margin-top: 2em;
}

.pagettl-block .inr .mv .text_left {
	text-align: left;
}

.sec .narrow-inr .text_indent {
	text-indent: 1em;
}

.sec .narrow-inr .mt10 {
	margin-top: 10px !important;
}

/******************************
 /company/about.html
*******************************/
#company_about .sec01 .bg {
	margin-top: -30%;
}

#company_about .sec .table-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

#company_about .sec01 .table-b {
	width: 45%;
}

#company_about .sec03 .table-b {
	width: 48%;
}

#company_about .sec01 .table-b th,
#company_about .sec01 .table-b td {
	border: none;
}

.ggmap {
	position: relative;
	/*  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;*/
	height: 500px;
	overflow: hidden;
	margin-top: 40px;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/******************************
 /company/vision.html
*******************************/
#company_vision .logo-kanachu {
	text-align: center;
	margin-bottom: 70px;
}

#company_vision .sec01 .txt {
	font-size: 18px;
	text-align: center;
}

#company_vision .decimal-list02 {
	width: 550px;
	margin: 0 auto;
}

/******************************
 /company/history.html
*******************************/
#company_history .sec01 {
	background-image: url(/images/company_history-bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	padding-top: 120px;
	margin-top: -120px;
}

#company_history .history-list {
	position: relative;
	width: 700px;
	margin: 0 auto;
}

#company_history .history-list:before {
	content: '';
	background: #ccc;
	width: 1px;
	height: calc(100% - 15px);
	position: absolute;
	bottom: 0;
	left: 9px;
}

#company_history .history-list li {
	position: relative;
	padding-left: 160px;
	height: 80px;
}

#company_history .history-list li:before {
	content: '';
	width: 18px;
	height: 18px;
	border-radius: 50%;
	position: absolute;
	top: 4px;
	left: 0px;
}

#company_history .history-list li.color01:before {
	background: #63b7c6;
}

#company_history .history-list li.color02:before {
	background: #5f9cc2;
}

#company_history .history-list li.color03:before {
	background: #5b83bf;
}

#company_history .history-list li .year {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 40px;
	font-style: italic;
	font-weight: 600;
	width: 160px;
	text-align: center;
	padding-left: 18px;
	letter-spacing: 0.05em;
	position: absolute;
	top: -12px;
	left: 0;
}

/******************************
 /company/news.html
*******************************/
#company_news .pagettl {
	font-size: 32px;
	letter-spacing: 0.05em;
}

#company_news .news-bn-list {
	line-height: 1.8;
}

#company_news .news-bn-list a {
	color: #5b94ea;
}

#company_news .news-bn-list a:hover {
	text-decoration: underline;
}

/******************************
 /contact/
*******************************/
#contact form table {
	margin: 40px 0 60px;
}

#contact form table th {
	padding-left: 90px;
	vertical-align: middle;
}

#contact form table th.v-top {
	vertical-align: top;
}

#contact form table td {
	padding-right: 90px;
}

/******************************
 /policy/
*******************************/
#policy .sec {
	font-size: 14px;
}

#policy .sec .decimal-list,
#policy .sec .txt {
	margin-bottom: 1em;
}

#policy .sec02 .decimal-list > li {
	margin-bottom: 2em;
}

#submit {
	cursor: pointer;
}

#submit:disabled {
	cursor: default;
	background: #ccc;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

/* 2021.01.05 add */
.video {
	position: relative;
	padding-bottom: 56.25%;
	/*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}

.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* 2022.03.11 add */
.flow-group {
	margin-bottom: 26px;
}

.flow-title {
	line-height: 1;
}

.flow-title span {
	display: inline-block;
	background-color: #f2f2f2;
	font-size: 15px;
	font-weight: 600;
	padding: 10px 22px 10px 20px;
	position: relative;
	height: 35px;
}

.flow-title span::after {
	content: '';
	width: 0;
	height: 0;
	border-left: 35px solid #f2f2f2;
	border-top: 25px solid transparent;
	border-bottom: 25px solid transparent;
	transform: rotate(-90deg);
	position: absolute;
	right: -17px;
	bottom: -8px;
	z-index: -1;
}

.flow-list {
	background-color: #f2f2f2;
	padding: 27px 82px;
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro';
}

.flow-item {
	border: 1px solid #363636;
	display: flex;
	flex-wrap: wrap;
	position: relative;
}

.flow-item:not(:last-child)::after {
	content: '';
	width: 6px;
	height: 30px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -31px;
	background: url(../images/solution01-07_arrow.png) no-repeat left bottom / 100% auto;
}

.flow-item:not(:last-child) {
	margin-bottom: 30px;
}

.flow-head {
	width: 124px;
	position: relative;
	text-align: center;
	line-height: 1;
	padding: 18px 5px 14px;
}

.flow-head::after {
	content: '';
	width: 1px;
	height: 20px;
	background-color: #363636;
	position: absolute;
	right: 0;
	top: 26px;
}

.flow-step {
	margin-bottom: 10px;
}

.flow-step span,
.flow-step small {
	display: block;
}

.flow-step span {
	font-weight: 400;
	font-size: 32px;
	margin-bottom: 5px;
}

.flow-step small {
	font-size: 9px;
	font-weight: 600;
}

.flow-body {
	width: calc(100% - 124px);
	padding: 22px 20px 15px 36px;
}

.flow-body h4 {
	font-weight: 600;
	font-size: 18px;
	line-height: 1.3;
	margin-bottom: 9px;
}

.flow-body p {
	font-weight: 400;
	font-size: 15px;
	line-height: 1.7;
}

.flow-thumb {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 206px;
	background-color: #fff;
	text-align: center;
	padding: 15px 0 0 0;
}

.flow-thumb img {
	height: 92px;
	width: auto;
}

.has-thumb .flow-body {
	padding-right: 226px;
}

.flow-set1 {
	background: url(../images/solution01-07_img01.png) no-repeat left top / 100% 100%;
	width: 136px;
	height: 56px;
	position: absolute;
	left: 50%;
	margin-left: 4px;
	bottom: -68px;
}

.flow-item.has-set1 {
	margin-bottom: 80px !important;
}

.flow-item.has-set1::after {
	height: 80px;
	bottom: -81px;
}

.flow-set2 {
	background: url(../images/solution01-07_img02pc.png) no-repeat left top / 100% 100%;
	width: 303px;
	height: 125px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -120px;
}

.flow-popup {
	display: block;
	background: #c2c2c2 url(../images/solution01-07_zoom01.png) no-repeat 7px center / 22px 22px;
	width: 33px;
	height: 33px;
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 0;
	text-decoration: none;
	border-radius: 8px 0 0 0;
}

.flow-popup-content {
	margin: 0 auto;
	max-width: 1000px;
	background-color: #fff;
	padding: 35px 30px 40px;
	position: relative;
}

.flow-popup-content h4 {
	font-size: 18px;
	margin-bottom: 6px;
	font-weight: bold;
}

.flow-popup-content p {
	font-size: 15px;
	line-height: 1.5;
}

.flow-popup-content figure {
	border-top: 2px solid #363636;
	padding-top: 25px;
	margin-top: 20px;
}

.flow-popup-content figure img {
	width: 100%;
}

.flow-popup-content .mfp-close {
	z-index: 1;
	top: -44px !important;
	font-size: 0;
	background: url(../images/solution01-07_close.png) no-repeat left top;
	width: 27px !important;
	height: 27px;
}

.flow-popup-content .mfp-close::before,
.flow-popup-content .mfp-close::after {
	display: none !important;
}


/* 2025.01.24 add */
.bottom-menu .category-list li {
	position: relative;
}
.index-sec .category-list li.new::before,
.bottom-menu .category-list li.new::before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 80px 80px 0 0;
	border-color: #ffee00 transparent transparent transparent;
	position: absolute;
	top: 0;
	left: 0;
}
.index-sec .category-list li.new::after,
.bottom-menu .category-list li.new::after {
	content: 'NEW!';
	font-family: 'Barlow Condensed', sans-serif;
	font-style: italic;
	font-size: 20px;
	font-weight: bold;
	width: 80px;
	height: 80px;
	position: absolute;
	top: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	color: #333;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	padding-bottom: 40px;
}

/* 2026.02.25 add */
/*
.split p.ta-c.new:before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 80px 80px 0 0;
	border-color: #ffee00 transparent transparent transparent;
	position: absolute;
	top: 0;
	left: 0;
}
.split p.ta-c.new:after {
	content: 'NEW!';
	font-family: 'Barlow Condensed', sans-serif;
	font-style: italic;
	font-size: 20px;
	font-weight: bold;
	width: 80px;
	height: 80px;
	position: absolute;
	top: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	color: #333;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	padding-bottom: 40px;
}
*/
/* 2025.02.20 add */
#solution_sub.solution03 .comment-list li {
	flex-direction: column;
}

#solution_sub.solution03 .comment-list li .q-block,
#solution_sub.solution03 .comment-list li .a-block {
	width: 100% !important;
}

#solution_sub.solution03 .comment-list li .q-block {
	justify-content: flex-start;
	min-height: 200px;
}

#solution_sub.solution03 .comment-list .q-block:after {
	top: 100%;
	bottom: auto;
	left: 0;
	right: 0;
	border-width: 11px 8px 0 8px;
}
#solution_sub.solution03 .comment-list .a-block {
	letter-spacing: 0;
	flex: 1 1;
}

#solution_sub.solution03 .comment-list .a-block .txt {
	text-align: left;
}

#solution_sub.solution03 #sec03 .txt {
	font-weight: 500;
	line-height: 1.7;
}

#solution_sub.solution03 #sec03 .txt strong {
	font-weight: 700;
	display: block;
	margin-bottom: 6px;
}

#solution_sub.solution03 #sec03 img {
	display: block;
	max-width: 678px;
	width: 100%;
	margin: 42px auto 65px;
}

#solution_sub.solution03 #sec03 .table-d {
	margin-top: 22px;
}

@media screen and (min-width: 769px) {
	#solution_sub.solution03 .comment-list li {
		width: 24%;
	}

	#solution_sub.solution03 .comment-list li .q-block {
		min-height: 200px;
	}
}

@media screen and (max-width: 768px) {
	#solution_sub.solution03 .comment-list li .q-block {
		min-height: auto;
	}

	#solution_sub.solution03 .comment-list .q-block:after {
		border-width: 5px 4px 0 4px;
	}
}

#solution_sub .plan-group {
	counter-reset: section;
	display: flex;
	flex-direction: column;
}

#solution_sub .plan-block {
	margin-top: 70px;
}

#solution_sub .plan-block >.ttl {
	font-weight: 700;
	font-size: 30px;
	line-height: 1.5;
	border-bottom: 2px solid #8CA9E7;
	padding-bottom: 15px;
	padding-left: 50px;
	text-indent: -50px;
	text-align: left;
	margin-bottom: 26px;
}

#solution_sub .plan-block >.ttl::before {
	counter-increment: section;
  content: counter(section, decimal-leading-zero) ".";
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 40px;
	font-weight: 500;
	margin-right: 12px;
}

#solution_sub .plan-block >.ttl span {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	background: #F2F2F2;
	border-radius: 100px;
	padding: 6px 21px;
	display: inline-block;
	vertical-align: text-bottom;
	text-indent: 0;
	margin-left: 20px;
}

#solution_sub .plan-block .text {
	font-weight: 700;
	margin-bottom: 12px;
}

#solution_sub .plan-block .list {
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 32px;
}

#solution_sub .plan-block .list li {
	background: transparent;
	display: block;
	text-align: left;
	padding: 0;
}

#solution_sub .plan-block .list li .ttl {
	font-weight: 700;
	padding-left: 18px;
	margin-bottom: 7px;
	position: relative;
}

#solution_sub .plan-block .list li .ttl::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 14px;
	height: 14px;
	background: url(/images/icon_list.png) no-repeat center center / 100% auto;
}

#solution_sub .plan-block .list li .txt {
	font-weight: 500;
}

#solution_sub .plan-block .img-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
}

#solution_sub .plan-block .img-list .img01 {
	max-width: 440px;
}
#solution_sub .plan-block .img-list .img02 {
	max-width: 433px;
}
#solution_sub .plan-block .img-list .img03 {
	max-width: 552px;
}
#solution_sub .plan-block .img-list .img04 {
	max-width: 678px;
}
#solution_sub .plan-block .img-list .img05 {
	max-width: 465px;
}
#solution_sub .plan-block .img-list .img06 {
	max-width: 402px;
}

#solution_sub .plan-block .img-list img {
	max-width: 100%;
}

#solution_sub .plan-block .img-list figcaption {
	font-weight: 500;
	text-align: center;
	margin-top: 9px;
}

@media screen and (max-width: 768px) {
	#solution_sub .plan-block >.ttl {
		font-size: 17px;
		padding-left: 24px;
    text-indent: -24px;
	}

	#solution_sub .plan-block >.ttl::before {
		font-size: 25px;
	}

	#solution_sub .plan-block >.ttl span {
		font-size: 10px;
		padding: 3px 10px;
		margin-left: 5px;
	}

	#solution_sub .plan-block .list {
		gap: 0;
	}
	#solution_sub .plan-block .img-list figure {
		max-width: 100% !important;
	}
}

.pb0 {
	padding-bottom: 0!important;
}
.pb200_sp150 {
	padding-bottom: 200px;
}