@charset "utf-8";

/* =Layout
-------------------------------------------------------------- */
p {
	margin-top: 0;
}
#wrapper {
	min-width: 1080px;
	padding-top: 84px;
	overflow: hidden;
}
.mod-leftward-sec {
	width: 440px;
}
.mod-centered-vertically {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.op0 {
	opacity: 0;
}

@media screen and (max-width: 640px) {
	#wrapper {
		min-width: 480px;
	}
}

/*===============================================================
	Module
===============================================================*/

/* = .modal
-------------------------------------------------------------- */
.modal {
	height: auto !important;
}
.modal .iziModal-wrap {
	padding: 50px 100px;
	box-sizing: border-box;
}
.modal .left-box {
	float: left;
	padding-top: 20px;
	width: 360px;
}
.modal .right-box {
	float: right;
	padding-top: 20px;
	width: 442px;
}
.modal .right-box .catch {
	text-align: left;
}
.modal .right-box .catch_sub {
	font-size: 1.9rem;
	margin-top: .5em;
}
.modal .right-box .member-name {
	color: #004471;
	font-size: 1.9rem;
	font-weight: normal;
	margin: 1em 0 1.5em;
}
.modal .right-box .info-box .item-ttl {
	font-size: 2rem;
	font-weight: bold;
	margin: .3em 0;
}
.modal .right-box .info-box p {
	margin: 0;
}
.modal .close-btn {
	display: none;
}

@media screen and (max-width: 640px) {
	.modal .iziModal-wrap {
		padding: 50px 20px;
	}
	.modal .left-box,
	.modal .right-box {
		float: none;
		width: 100%;
	}
	.modal .left-box.img-box {
		padding-top: 0;
		margin-bottom: 40px;
	}
	.modal .left-box.img-box img {
		width: 60%;
	}
	.modal .close-btn {
		/*position: fixed;*/
		position: absolute;
		top: 15px;
		right: 20px;
		display: inline-block;
		font-size: 30px;
		width: 40px;
		height: 40px;
		text-align: center;
		background: #fff;
	}
	.iziModal.hasScroll .iziModal-wrap {
		overflow-y: auto;
	}
}

/* = .btn
-------------------------------------------------------------- */
a.btn.bg-white {
	color: #00aaff;
}
a.btn.bg-white:hover {
	background: #00aaff;
	border: 2px solid #fff;
	color: #fff;
}
a.btn.color-secondary {
	border: 2px solid #004471;
	color: #004471;
}
a.btn.color-secondary:hover {
	background: #004471;
	border: 2px solid #fff;
	color: #fff;
}

/* = .mod-simple-table
-------------------------------------------------------------- */
.mod-simple-table {
	border: none;
}
.mod-simple-table th,
.mod-simple-table td {
	background: transparent;
	border-right: none;
	border-bottom: none;
	vertical-align: top;
}
.mod-simple-table th {
	width: 100px;
	padding-left: 0;
	color: #666;
	text-align: left;
}
.mod-simple-table .table .cell {
	padding: 24px 0;
	border-top: 2px solid #80a2b8;
	vertical-align: top;
}
.mod-simple-table .table .cell:first-child {
	width: 240px;
	color: #004471;
	font-size: 1.8rem;
	font-weight: bold;
}
.mod-simple-table .table:last-child .cell {
	border-bottom: 2px solid #80a2b8;
}

@media screen and (max-width: 640px) {
	.mod-simple-table .table,
	.mod-simple-table .table .cell {
		display: block;
	}
	.mod-simple-table .table .cell {
		border-top: none;
	}
	.mod-simple-table .table .cell:first-child {
		width: 100%;
		padding-bottom: .5em;
	}
	.mod-simple-table .table .cell:nth-child(2) {
		padding-top: 0;
		border-top: none;
	}
	.mod-simple-table .table:last-child .cell {
		border: none;
	}
}

/* = .mod-mutual-table
-------------------------------------------------------------- */
.mod-mutual-table,
.mod-mutual-table th,
.mod-mutual-table td {
	margin: 0;
	background: none;
	border: none;
	text-align: left;
	vertical-align: top;
}
.mod-mutual-table th {
	width: 420px;
	padding-left: 80px;
	padding-right: 80px;
	box-sizing: border-box;
}
.mod-mutual-table th,
.mod-mutual-table td {
	border-bottom: 1px solid #004471;
}
.mod-mutual-table tr:nth-child(odd) th,
.mod-mutual-table tr:nth-child(odd) td {
	background: #e5f7ff;
}
.mod-mutual-table tr:first-child th,
.mod-mutual-table tr:first-child td {
	border-top: 1px solid #004471;
}

/* = .mod-border-table
-------------------------------------------------------------- */
.mod-border-table,
.mod-border-table th,
.mod-border-table td {
	border: none;
}
.mod-border-table {
	margin-top: 40px;
}
.mod-border-table th {
	width: 190px;
	padding-left: 40px;
	padding-right: 40px;
	box-sizing: border-box;
}
.mod-border-table th,
.mod-border-table td {
	border-bottom: 1px solid #00aaff;
	background: none;
	text-align: left;
	vertical-align: top;
}
.mod-border-table tr:first-child th,
.mod-border-table tr:first-child td {
	border-top: 1px solid #00aaff;
}

/* .mod-general-link */
.mod-general-link {
	position: relative;
	padding-left: 20px;
	color: #00416c;
	font-weight: bold;
}
.mod-general-link::before {
	content: ''; 
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 2px solid #00416c;
	border-right: 2px solid #00416c;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* .mod-twin-link */
.mod-twin-link {
	margin-top: 3em;
	table-layout: fixed;
	text-align: center;
}
.mod-twin-link .cell {
	box-sizing: border-box;
}
.mod-twin-link .cell:not(:last-child) {
	border-right: 1px solid #fff;
}
.mod-twin-link a {
	display: block;
	padding: 36px 0;
	background: #00aaff;
	color: #fff;
}
.mod-twin-link .lang-en {
	font-size: 2.6rem;
	font-weight: bold;
}

@media screen and (max-width: 640px) {
	.mod-twin-link .lang-en {
		font-size: 1.8rem;
	}
}

/* .mod-cmn-mgn */
.mod-cmn-mgn {
	margin-top: 80px;
}

/* .mod-trns */
.mod-trns {
	transition: all 1s;
}

/* .mod-flow-list */
.mod-flow-list {
	margin-top: 100px;
	padding: 0 100px;
}
.mod-flow-list .item-box {
	position: relative;
}
.mod-flow-list .item-box:not(:last-child) {
	min-height: 320px;
}
.mod-flow-list .item-box:not(:last-child)::before {
	content: '';
	position: absolute;
	top: 2px;
	left: 95px;
	width: 3px;
	height: 100%;
	background: url('../img/c_dotted.png') repeat-y top center;
	z-index: 0;
}
.mod-flow-list .item-title {
	margin: 0;
	font-size: 2.0rem;
}
.mod-flow-list .left {
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 640px) {
	.mod-flow-list {
		margin-top: 40px;
		padding: 0 20px;
	}
	.mod-flow-list .left {
		float: left;
		width: 120px;
		text-align: left;
	}
	.mod-flow-list .item-box:not(:last-child) {
		min-height: auto;
	}
	.mod-flow-list .item-box:not(:last-child)::before {
		left: 60px;
	}
	.mod-flow-list .item-box .txt-box p {
		margin-top: 1em;
	}
}

/* .item-title-with-border */
.item-title-with-border {
	border-bottom: 1px solid #004471;
	font-size: 3.0rem;
	font-weight: bold;
}

/* .item-title-with-big-arrow */
.item-title-with-big-arrow .pre {
	position: relative;
	display: inline-block;
	padding: 8px;
	width: 270px;
	color: #fff;
	font-size: 2.4rem;
	box-sizing: border-box;
	line-height: 1;
}
.item-title-with-big-arrow .pre::before {
	content: '';
	position: absolute;
	top: 0;
	right: -20px;
	bottom: 0;
	width: 0;
	height: 0;
	margin: auto;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	border-left: 20px solid #004471;
}
.item-title-with-big-arrow .pre.bg-secondary::before {
	border-left-color: #004471;
}
.item-title-with-big-arrow .pre.bg-orange::before {
	border-left-color: #fd9440;
}
.item-title-with-big-arrow .txt {
	color: #004471;
	font-size: 3.0rem;
}
.item-title-with-big-arrow .cell:first-child {
	width: 300px;
}
.item-title-with-big-arrow .cell:nth-child(2) {
	padding: 6px 0;
}

/* .none */
.none {
	display: none;
}

/* .opacity0 */
.opacity0 {
	opacity: 0;
}

@media screen and (max-width: 640px) {
	/*#wrapper {
		width: 480px;
		min-width: initial;
		margin: auto;
	}*/
}

/*===============================================================
	Header
===============================================================*/

#site-title {
	width: auto !important;
	text-align: left;
}
#site-title img {
	width: auto !important;
}
#header {
/*	position: absolute; */
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 1080px;
	line-height: 1.88;
	z-index: 10;
}
#header-content {
	position: relative;
	padding: 20px 0;
/*	background: #fff; */
	background: #ffffff;
	z-index: 11;
	box-shadow:0px 0px 3px 3px #eaeaea;
transition: .3s;
backdrop-filter: blur(2px);
}

.scroll_cl #header-content {
    padding: 10px 0;
	background: #ffffffdb;
}


#header .content-width {
	padding-left: 0;
	padding-right: 0;
}
/*.nav-opened #header-content {
	z-index: 12;
}*/
#header-contact a.facebook {
	margin-right: 28px;
	display: inline-block;
}
#header-contact a.facebook img {
	vertical-align: middle;
	padding-bottom: 10px; border-bottom: 1px solid #3b5998;
}
#header-contact a.btn-primary {
	display: inline-block;
	width: 150px;
	font-size: 1.8rem;
}
#mmenu-btn {
	display: none;
}
body#recruit {
	line-height: 1.5;
}

@media screen and (max-width: 640px) {
	#header {
		min-width: 480px;
		height: 84px;
	}
	#header .content-width {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* = #gnav
-------------------------------------------------------------- */
#gnav {
	position: relative;
	text-align: center;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,.15);
	background: #fff;
	opacity: 0;
	transition: all .5s;
	transform: translateY(-30px);
	z-index: 10;
	box-shadow:0px 0px 3px 3px #eaeaea;
}
.nav-opened #gnav {
	opacity: 1;
	transform: translateY(0);
}
#gnav.content-width {
	padding-left: 0;
	padding-right: 0;
}

/* .gnav-primary */
#gnav .gnav-primary > li {
	color: #004471;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
}
#gnav .gnav-primary > li:not(:last-child) {
	margin-right: 95px;
}
#gnav .gnav-primary > li > .nav-wrap {
	position: relative;
	display: block;
}
#gnav .gnav-primary > li > .nav-wrap > a {
	padding: 12px 0 8px;
	display: block;
}

@media screen and (min-width: 641px) {
#gnav {
    opacity: 1;
    transform: translateY(0);
}
.hamburger.bg-secondary{
display: none;
}

}

@media screen and (max-width: 640px) {
.hamburger.bg-secondary{
display: block;
}

	#gnav {
		transform: translateY(-364px);
	}
	#gnav .gnav-primary > li,
	#gnav .gnav-primary > li:not(:last-child) {
		display: block;
		margin-right: 0;
	}
	#gnav .gnav-primary > li > .nav-wrap > a {
		padding: 0;
		margin: 35px 0;
		font-size: 2rem;
	}
}


/* .btn-for-sp-nav */
.btn-for-sp-nav {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 60px;
	height: 60px;
	margin: auto;
	padding-left: 30px;
	cursor: pointer;
	overflow: hidden;
	z-index: 10;
}
.btn-for-sp-nav::before,
.btn-for-sp-nav::after {
	content: '';
	position: absolute;
	margin: auto;
}
.btn-for-sp-nav.btn-form-plus::before,
.btn-for-sp-nav.btn-form-plus::after {
	top: 0;
	bottom: 0;
}
.btn-for-sp-nav.btn-form-plus::before {
	transition: all .2s linear;
	right: 10px;
	width: 2px;
	height: 22px;
	background: #c9282c;
}
.btn-for-sp-nav.btn-form-plus::after {
	transition: all .2s linear;
	right: 0;
	width: 22px;
	height: 2px;
	background: #c9282c;
	opacity: 1;
}
.btn-for-sp-nav.btn-form-plus.clicked::after {
	transition: all .2s linear;
	opacity: 0;
}
.btn-for-sp-nav.btn-form-plus.clicked::before {
	transition: all .2s linear;
	-webkit-transform: rotate(270deg);
	transform: rotate(270deg);
}
.btn-for-sp-nav.btn-form-arrow::before {
	top: 0;
	bottom: 0;
	right: 8px;
	width: 14px;
	height: 14px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btn-for-sp-nav.btn-form-arrow::after {
	content: none;
}

/* = .breadcrumbs
-------------------------------------------------------------- */
.breadcrumbs {
	padding: 8px 0;
	background: #000;
	font-size: 1.2rem;
}
.breadcrumbs,
.breadcrumbs a,
.breadcrumbs span {
	color: #fff;
}

/* = #back-to-top
-------------------------------------------------------------- */
#back-to-top {
	position: fixed;
	width: 120px;
	right: 0;
	bottom: 30px;
	margin-left: 1000px;
	text-align: right;
	z-index: 10;
}
#back-to-top .item-chara {
	position: absolute;
	top: -44px;
	right: 8px;
}
#back-to-top .item-btn {
	position: relative;
	display: inline-block;
	width: 50px;
	height: 50px;
	border-radius: 10px;
	z-index: 20;
}
#back-to-top .item-btn::after {
	content: '';
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0;
	top: 8px;
	width: 14px;
	height: 14px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


/* = Hamburger
-------------------------------------------------------------- */
.hamburger {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 40px;
	height: 40px;
	margin: auto auto;
	border-radius: 8px;
	display: block;
}
.hamburger__icon {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto auto;
}
.hamburger__icon, .hamburger__icon::before, .hamburger__icon::after {
	display: block;
	width: 18px;
	height: 2px;
	background-color: #fff;
	transition: all .2s linear;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}
.hamburger__icon::before, .hamburger__icon::after {
	position: absolute;
	content: "";
}
.hamburger__icon::before {
	top: -6px;
}
.hamburger__icon::after {
	top: 6px;
}
.nav-opened .hamburger__icon::before {
	top: -12px;
	-webkit-transform: translateY(12px) rotate(-45deg);
	transform: translateY(12px) rotate(-45deg);
}
.nav-opened .hamburger__icon {
	background: rgba(0,0,0,0);
}
.nav-opened .hamburger__icon::after {
	top: 12px;
	-webkit-transform: translateY(-12px) rotate(45deg);
	transform: translateY(-12px) rotate(45deg);
}

@media screen and (max-width: 640px) {
	.hamburger {
		right: 20px;
	}
}

/*===============================================================
	Footer
===============================================================*/

#footer {
	box-sizing: border-box;
	width: 100%;
	background: transparent;
}
.f-title {
	margin: 0;
	font-size: 1.4rem;
}

@media screen and (max-width: 640px) {
#footer { margin-bottom: 4em; }
}


/* = #footer-head
-------------------------------------------------------------- */
/*
#footer-head .cell:nth-child(odd) {
	border-right: 2px solid #fff;
}
*/

#footer-head .cell a {
	display: block;
	padding: 30px 0;
	color: #fff;
}
#footer-head h4 {
	margin-bottom: 0;
}
#footer-head .lang-en {
	font-size: 2.6rem;
	line-height: 1.25;
}

@media screen and (max-width: 640px) {
	#footer-head .content-width {
		padding: 0;
	}
}

/* = #footer-sitemap
-------------------------------------------------------------- */
/* #footer-sitemap */
#footer-sitemap {
    padding: 40px 0;
    margin: 0 auto;
    max-width: 680px;
}
#footer-sitemap .cell {
	margin-top: -.5em;
}
#footer-sitemap .cell:first-child {
	vertical-align: middle;
	border-right: 1px solid #b3b3b3;
}
#footer-sitemap .cell:nth-child(2) {
	/* width: 30%; */
	padding-left: 5%;
}
#footer-sitemap .cell:nth-child(3) {
	/* width: 30%; */
	width: 21%;
}
#footer-sitemap .cell:nth-child(4) {
	/* width: 15%; */
}

@media screen and (max-width: 640px) {
	#footer-sitemap .cell {
		margin-top: 0;
	}
	#footer-sitemap .cell:nth-child(2),
	#footer-sitemap .cell:nth-child(3),
	#footer-sitemap .cell:nth-child(4) {
		width: 100%;
		padding: 0;
	}
	#footer-sitemap .cell:first-child {
		border-right: 0;
	}
	#footer-sitemap ul {
		font-size: 0;
		margin-left: 1px;
	}
	#footer-sitemap ul.cell li {
		padding: 5px 6px;
		border-left: 1px solid #ccd7df;
		border-right: 1px solid #ccd7df;
		border-bottom: 1px solid #ccd7df;
		width: 50%;
		box-sizing: border-box;
		display: inline-block;
		margin-left: -1px;
	}
	#footer-sitemap ul.cell li.prop-bold {
		width: 100%;
		display: block;
		margin-top: 20px;
		border-left: 0;
		border-right: 0;
		padding-left: 0;
	}
}

/* #footer-content */
#footer-content {
	position: relative;
	padding: 1em 0;
	border-top: 1px solid #b3b3b3;
	border-bottom: 1px solid #b3b3b3;
}
#footer-content li {
	margin: 0 1em;
}

@media screen and (max-width: 640px) {
	#footer-content li {
		font-size: 1.3rem;
	}
}

/* = #copyright
-------------------------------------------------------------- */
#copyright {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	padding: 8px 10px;
	background: #fff;
	z-index: 2;
}

/*===============================================================
	Front-page
===============================================================*/

/* = #front-page
-------------------------------------------------------------- */
#front-page .mod-leftward-sec h2,
#front-page .mod-leftward-sec h3 {
	white-space: nowrap;
}
#front-page .sec-title {
	margin-bottom: 10px;
}
#front-page .sub-title {
	padding-right: 0;
	padding-left: 0;
	text-align: left;
}

@media screen and (max-width: 640px) {
	#front-page p {
		margin-bottom: 0;
	}
}

/* = .top-mv
-------------------------------------------------------------- */
#top-mv {
	height: 700px;
	background: url('../img/top_mv_bg.jpg') no-repeat center center;
	background-size: cover;
}
#top-mv video {
	width: 100%;
}
#top-mv .content-width {
	height: 100%;
	padding-left: 0;
	padding-right: 0;
	overflow: hidden;
}
#top-mv,
.top-mv-inner,
.top-mv-inner .bx-wrapper,
.top-mv-inner .bx-viewport,
.top-mv-inner .bx-viewport .slider,
.top-mv-inner .bx-viewport .slider li {
	max-height: 750px;
}
#top-mv .bx-wrapper {
	margin: 0;
	padding: 0;
	border: none;
	box-shadow: none;
}
#top-mv .bx-wrapper img {
	margin: 0 auto;
	width: 100%;
	font-size: 0;
	line-height: 0;
	display: block;
}
#top-mv .bx-wrapper .bx-viewport {
	z-index: 0;
}
#top-mv .slider-item {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	font-size: 0;
	line-height: 0;
}
#top-mv .bx-wrapper .bx-pager {
	bottom: 20px;
	z-index: 10;
}
#top-mv .bx-wrapper .bx-pager.bx-default-pager a {
	width: 15px;
	height: 15px;
	margin: 0 10px;
	background: #fff;
	border-radius: 50%;
}
#top-mv .bx-wrapper .bx-pager.bx-default-pager a.active {
	background: #c42e32;
}
#top-mv-video {
	transition: opacity 1s;
}
#top-mv-copy {
	bottom: 284px;
	width: 214px;
	height: 30px;
	z-index: 1;
}
#top-mv-logo {
	width: 260px;
	height: 266px;
	z-index: 0;
}
#top-mv-lead {
	top: 360px;
	width: 394px;
	height: 28px;
	z-index: 1;
}
#top-mv-deco-good {
	position: absolute;
	bottom: 0;
	left: -160px;
}
#top-mv-deco-pointing {
	position: absolute;
	top: -30px;
	left: -30px;
}
#top-mv-deco-pointing.with-anime {
	animation-name: pointing;
	animation-duration: 5s;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}

@keyframes pointing {
	0% {
		top: -30px;
		left: -30px;
	}
	5% {
		top: 0;
		left: 0;
	}
	10% {
		top: -10px;
		left: -10px;
	}
	100% {
		top: -30px;
		left: -30px;
	}
}

#top-mv-deco-typing {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}
#top-mv-chara {
	position: absolute;
	width: 200px;
	right: 100px;
	bottom: -130px;
	z-index: 2;
}
#top-mv-chara .img-box:first-of-type {
	transform: rotate(-7deg);
}
#top-mv-chara .top-mv-chara-message {
	position: absolute;
	z-index: 2;
}
#top-mv-chara .top-mv-chara-message.with-anime {
	animation-name: message;
	animation-duration: 8s;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}

@keyframes message {
	0% {
		transform: translateY(0);
		opacity: 0;
	}
	2% {
		transform: translateY(-20px);
		opacity: 1;
	}
	80% {
		opacity: 1;
	}
	100% {
		transform: translateY(0);
		opacity: 0;
	}
}

#top-mv-chara .top-mv-chara-message {
	top: -105px;
	left: -120px;
	width: 410px;
}
#top-mv-chara .top-mv-chara-message-01 {
	top: -100px;
	right: -90px;
}
#top-mv-chara .top-mv-chara-message-02 {
	top: -60px;
	left: -120px;
}

@media screen and (max-width: 640px) {
	#top-mv-copy {
		width: 200px;
		bottom: 240px;
	}
	#top-mv-logo {
		width: 200px;
		height: 204px;
	}
	#top-mv-lead {
		width: 280px;
		top: 260px;
	}
	#top-mv-deco-good {
		width: 250px;
		left: -60px;
	}
	#top-mv-deco-pointing {
		width: 220px;
		top: 0;
		left: 0;
	}
	#top-mv-deco-typing {
		width: 240px;
	}
	#top-mv-chara {
		width: 100px;
		right: 90px;
		bottom: -90px;
	}
	#top-mv-chara .top-mv-chara-message {
		top: -68px;
		left: -80px;
		width: 250px;
	}
	#top-mv-chara .top-mv-chara-message-01 {
		width: 120px;
		top: -60px;
		right: -70px;
	}
	#top-mv-chara .top-mv-chara-message-02 {
		width: 130px;
		top: -40px;
		left: -100px;
	}
}

/* = #top-company
-------------------------------------------------------------- */
#top-company {
	padding-bottom: 130px;
	position: relative;
	background: #fff;
	z-index: 2;
}
#top-company .content-width:first-child {
	z-index: 1;
}
#top-company-patapata {
	position: absolute;
	top: 0;
	right: -140px;
	left: 0;
	width: 100%;
	height: 100%;
	margin: auto;
	background: url(../img/top_patapata_base.gif) no-repeat right top 20px;
	/*background: url(../img/top_patapata.gif) no-repeat right top 20px;*/
	z-index: 0;
}
#top-company-patapata.with-gif {
	background-image: url('../img/top_patapata.gif');
}

/*
#top-company .btn.bg-primary{
margin-top: 0.7em;
}
*/


@media screen and (max-width: 640px) {
	#top-company,
	#top-company > .content-width {
		padding: 0;
	}
	#top-company .item-container {
		padding: 40px 20px 100px;
		background: rgba(255,255,255,.7);
	}
	#top-company-patapata {
		right: 0;
		width: 74%;
		background-size: contain;
		left: auto;
		right: -20px;
		top: auto;
		bottom: -20px;
		background-position: bottom right;
	}

	#top-company .btn.bg-primary{
margin-top: 1.5em;
}



}

/* = #top-specialty
-------------------------------------------------------------- */
#top-specialty {
	background: url('../img/top_speciality_bg.png') no-repeat center center #77ccf6;
	position: relative;
	z-index: 2;
	background-size: cover;
}
#top-specialty .icon-box {
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
}
#top-specialty .icon-box .icon {
	position: absolute;
}
#top-specialty .icon-box .icon01 {
	top: 106px;
	right: 185px;
}
#top-specialty .icon-box .icon02 {
	top: 176px;
	right: 32px;
}
#top-specialty .icon-box .icon03 {
	top: 318px;
	right: 325px;
}
#top-specialty .icon-box .icon04 {
	top: 318px;
	right: 182px;
}
#top-specialty .icon-box .icon05 {
	top: 328px;
	right: 62px;
}

@media screen and (max-width: 640px) {
	#top-specialty .icon-box {
		display: none;
	}
}

/* = #top-recruit
-------------------------------------------------------------- */
#top-recruit {
	background: #dcdddd;
	/*background-size: cover;*/
	padding: 0;
}
#top-recruit .content-width {
	background: url('../img/top_recruit_bg.png') no-repeat bottom right;
	padding-top: 80px;
	padding-bottom: 80px;
}
#top-recruit .sub-title {
	padding: 0;
}

@media screen and (max-width: 640px) {
#top-recruit .content-width {
    background: url('../img/top_recruit_bg50.png') no-repeat bottom right;
}
}
/* = #top-project-h
-------------------------------------------------------------- */
#top-project-h {
	background: url('../img/top_project-h_bg.png') no-repeat center center #004471;
	background-size: cover;
}
#top-project-h .btn-wrap {
	margin-top: -135px;
}

@media screen and (max-width: 640px) {
	#top-project-h {
		padding-bottom: 60px;
	}
}

/* = #top-it-careus
-------------------------------------------------------------- */
#top-it-careus {
	padding-bottom: 210px;
	background-size: cover;
}
#top-it-careus .item-badge {
	position: absolute;
	top: -40px;
	left: 0;
}
#top-it-careus h2 {
	margin-top: 30px;
}

@media screen and (max-width: 640px) {
	#top-it-careus .item-badge {
		position: relative;
		margin-top: 30px;
	}
}

/*===============================================================
	Lower
===============================================================*/
#lower-mv {
	height: 300px;
}
#lower-mv.common-mv {
	height: 220px;
}
#lower-mv .content-width {
	height: 100%;
}
#lower-mv .page-title {
	margin: 0;
	padding-top: 30px;
	text-align: center;
	line-height: 1;
}
#lower-mv .page-title > span {
	display: block;
}
#lower-mv .page-title .lang-en {
	color: #fff;
	font-size: 7.2rem;
}
#lower-mv .page-title .lang-ja {
	margin-top: 12px;
}

.bg-vision {
	/*background: url('../img/bg_mv_company.png') no-repeat center center #00aaff;*/
	background: url('../img/bgimg_vision.jpg') no-repeat center center #00aaff;
	background-size: cover;
}
.bg-company {
	/*background: url('../img/bg_mv_company.png') no-repeat center center #00aaff;*/
	background: url('../img/bgimg_company.jpg') no-repeat center center #00aaff;
	background-size: cover;
}
.bg-specialty {
	/*background: url('../img/bg_specialty.png') no-repeat center center #77ccf6;*/
	background: url('../img/bg_mv_specialty.png') no-repeat center center #77ccf6;
	background-size: cover;
}
.bg-default {
	/*background: url('../img/bg_specialty.png') no-repeat center center #77ccf6;*/
	background: url('../img/bg_mv_company.png') no-repeat center center #77ccf6;
	background-size: cover;
}



.bg-project-h {
	background: no-repeat center bottom #c6e7f4;
}
.bg-it-careus {
	background: url('../img/top_careus_bg.jpg') no-repeat center bottom #c6e7f4;
}
.bg-recruit {
	background: url('../img/bg_recruit.png') no-repeat center bottom #00aaff;
}
#lower-mv.bg-it-careus {
	background-position: center bottom -98px;
}
#lower-mv.bg-it-careus .page-title {
	padding-bottom: 60px;
}
#lower-mv.bg-it-careus .item-badge {
	position: absolute;
	top: 22px;
	left: 48px;
}

.lower-sec-title {
	margin: 0 0 80px;
	line-height: 1;
}
.lower-sec-title .lang-en {
	font-size: 7.2rem;
}
.lower-sec-title .lang-ja {
	margin-left: 28px;
	font-size: 1.6rem;
}
.sub-title {
	padding: 1em;
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
}

@media screen and (max-width: 640px) {
	#lower-mv {
		height: 210px;
	}
	#lower-mv.common-mv {
		height: 170px;
	}
	#lower-mv .page-title {
		padding-top: 0;
	}
	#lower-mv .page-title .lang-en {
		font-size: 5rem;
	}
	#lower-mv.bg-it-careus .page-title {
		padding-bottom: 0;
	}
	#lower-mv.bg-it-careus .item-badge {
		width: 100px;
		top: 0;
		left: 0;
	}
	.lower-sec-title {
		margin-bottom: 40px;
	}
	.lower-sec-title .lang-en {
		font-size: 5rem;
	}
}

/* = #company
-------------------------------------------------------------- */
#company .top-company-lower-table th {
	/*padding-top: 36px;*/
	padding-top: 0;
}
#company .top-company-upper-table .img-box {
	position: absolute;
	top: 0;
	right: 0;
}

/* #company-history */
#company-history .mod-flow-list .item-box .txt-box {
	margin-left: 108px;
}
#company-history .mod-flow-list .item-box:not(:last-child)::before {
	left: 45px;
}
#company-history .mod-flow-list .item-box:nth-child(3) .img-box,
#company-history .mod-flow-list .item-box:nth-child(4) .img-box {
	margin-top: -15px;
}
#company-history .mod-flow-list .item-title {
	padding: 8px 0;
	font-size: 3.8rem;
	line-height: 1.25;
}
#company-history .mod-flow-list .item-comment {
	margin-top: 0;
	margin-bottom: 2em;
}

/* #company-greeting */
#company-greeting .item-president {
	margin-top: -32px;
	margin-bottom: 24px;
}
#company-greeting .item-name {
	margin-top: 24px;
}

/* #company-philosophy */
#company-philosophy .item-nav li {
	text-align: left;
	margin-bottom: 30px;
	cursor: pointer;
}
#company-philosophy .item-nav li:last-child {
	margin-bottom: 0;
}
#company-philosophy .item-nav li img {
	opacity: .5;
}
#company-philosophy .item-nav li.active img,
#company-philosophy .item-nav li.hover img {
	opacity: 1;
}

/* #company-philosophy-chara */
/*
#company-philosophy-chara {
	position: absolute;
	bottom: -80px;
	left: 100px;
}
*/
#company-philosophy-chara {
    position: absolute;
    bottom: 300px;
    left: 150px;
}

#company-philosophy-chara img {
	display: none;
}
#company-philosophy-chara img.active {
	display: block;
}

@media screen and (min-width: 641px) {
	#company-greeting .item-box {
		margin-top: 20px;
		margin-left: 430px;
	}
	#company-philosophy .item-content {
		margin-left: 360px;
		position: relative;
	}
	/*#company-philosophy .item-content li {
		position: absolute;
		top: 0;
		left: 0;
	}
	#company-philosophy .item-content li.none {
		opacity: 0;
		display: block;
	}*/
}

@media screen and (max-width: 640px) {
	#company .top-company-lower-table th {
		padding-top: 0;
	}
	#company .top-company-upper-table .img-box {
		position: relative;
	}
	#company .top-company-upper-table .img-box iframe {
		height: 310px;
	}
	#company .top-company-lower-table th {
		margin-top: 10px;
	}
	#company-greeting .left {
		margin-bottom: 30px;
	}
	#company-greeting .item-name {
		text-align: center;
	}
	#company-greeting .item-president {
		margin-top: 0;
	}
	#company-greeting .item-president img {
		width: 60%;
	}
	.mod-simple-table .table .cell:first-child {
		padding-top: 0;
	}
	#company-philosophy {
		padding-bottom: 230px !important;
	}
	#company-philosophy .item-nav {
		padding-bottom: 30px;
		margin-bottom: 30px;
		border-bottom: 1px solid rgba(255,255,255,.6);
	}
	#company-philosophy-chara {
		bottom: -230px;
		width: 150px;
		left: 270px;
	}
}

/* = #specialty
-------------------------------------------------------------- */
/* #specialty-about */
#specialty-about .content-width {
	padding-bottom: 150px;
}
#specialty-about .img-box {
	position: absolute;
	bottom: 0;
	right: 0;
}

/* #specialty-point */
#specialty-point {
	background: #00aaff;
	color: #fff;
	padding-top: 90px;
}
#specialty-point h2 {
	position: relative;
	margin-top: 0;
	font-size: 3.0rem;
}
#specialty-point h2::before {
	content: url('../img/c_triangle_arrow-under.png');
	position: absolute;
	top: -50px;
	left: 6px;
}
#specialty-point .lead {
	font-weight: bold;
	line-height: 1.55;
	margin-bottom: 2em;
	font-size: 1.7rem;
}
#specialty-point .cell {
	vertical-align: top;
}
#specialty-point p:last-of-type {
	margin-bottom: 0;
}

@media screen and (min-width: 641px) {
	#specialty-point .cell:nth-child(odd) {
		padding-right: 64px;
		border-right: 1px solid #fff;
	}
	#specialty-point .cell:nth-child(even) {
		padding-left: 64px;
	}
}

@media screen and (max-width: 640px) {
	#specialty-about .content-width {
		padding-bottom: 130px;
	}
	#specialty-point {
		padding-top: 40px;
	}
	#specialty-point .table,
	#specialty-point .cell {
		display: block;
	}
	#specialty-point .cell:nth-child(2) {
		margin-top: 40px;
	}
	#specialty-point h2 {
		padding-left: 2em;
	}
	#specialty-point h2::before {
		top: 8px;
		left: 0;
	}
}

/* #specialty-genre */
#specialty-genre .lead {
	color: #004471;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.55;
}
#specialty-genre .txt-box {
	margin-left: 216px;
}

@media screen and (max-width: 640px) {
	#specialty-genre .txt-box {
		margin-left: 140px;
	}
}

/* = #recruit
-------------------------------------------------------------- */
/* #recruit-about */
#recruit-about strong {
	font-size: 1.8rem;
	font-weight: bold;
}

/* #recruit-member */
#recruit-member h2 {
	margin-bottom: 1.4em;
}
#recruit-member li {
	width: 29%;
	border: 1px solid #00aaff;
	box-sizing: border-box;
}
#recruit-member li .txt-box {
	padding: 10px 20px;
	color: #004471;
}

#recruit-application table th {
	padding: 15px 0;
	width: 110px;
}
#recruit-application table td {
	padding: 15px 10px;
}

@media screen and (max-width: 640px) {
	#recruit #lower-mv {
		background-size: 942px auto;
	}
	#recruit-member li {
		width: 48%;
		margin: 0 4% 4% 0;
	}
	#recruit-member li:nth-child(2n) {
		margin-right: 0;
	}
	#recruit-member li .txt-box {
		padding: 10px 15px; 
	}
}

@media screen and (min-width: 1001px) {
	#recruit-member li:not(:nth-child(3n)) {
		margin-right: 6.5%;
	}
	#recruit-member li:nth-child(n+4) {
		margin-top: 6.5%;
	}
}

/* = #it-careus
-------------------------------------------------------------- */
/* #it-careus-about */
#it-careus-about h2 {
	margin-bottom: 0;
	font-size: 4.0rem;
}
#it-careus-about .img-box {
	margin-top: 70px;
}

/* #it-careus-curriculum */
#it-careus-curriculum h2 {
	margin-bottom: 0;
	border-bottom: none;
}

/* #it-careus-strength */
#it-careus-strength h2 {
	padding: 10px 0;
}
#it-careus-strength .item-content .cell {
	vertical-align: top;
}
#it-careus-strength .item-content .cell:first-child {
	padding-right: 40px;
}
#it-careus-strength .item-content .cell:nth-child(2) {
	width: 400px;
}

/* .it-careus-support */
#it-careus-support .item-content .cell {
	vertical-align: top;
}
#it-careus-support .item-content .cell:first-child {
	padding-right: 40px;
}
#it-careus-support .item-content .cell:nth-child(2) {
	width: 370px;
}
#it-careus-support .item-content h3 {
	margin-top: 0;
	margin-bottom: .5em;
	font-size: 2.0rem;
	font-weight: bold;
}
#it-careus-support .item-content h3.color-secondary.with-border {
	margin-top: 2em;
}
#it-careus-support .item-content h4 {
	margin-bottom: 0;
	color: #004471;
	font-size: 2.0rem;
}
#it-careus-support .item-content p {
	margin: .5em 0;
}
#it-careus-support .with-border {
	border-bottom: 1px solid #004471;
}

/* #it-careus-recommend */
#it-careus-recommend .item-content .cell {
	vertical-align: top;
}
#it-careus-recommend .item-content .cell:first-child p:last-child {
	margin-bottom: 0;
}
#it-careus-recommend .item-content .cell:nth-child(2) {
	width: 400px;
	padding-top: 16px;
	padding-left: 30px;
}
#it-careus-recommend .item-content a {
	color: #fd9440;
}
#it-careus-recommend p.small {
	line-height: 1.25;
}
#it-careus-recommend .contact-info {
	display: inline-block;
	margin-top: 0;
	border-bottom: 1px solid #004471;
	color: #004471;
	font-size: 2.0rem;
	font-weight: bold;
}

/* #it-careus-feature */
#it-careus-feature .item-content .cell {
	vertical-align: top;
}
#it-careus-feature .item-content .cell:first-child {
	width: 375px;
	padding-right: 65px;
}
#it-careus-feature .item-content .cell:first-child .img-box {
	margin-top: 20px;
}

@media screen and (max-width: 640px) {
	#it-careus-about .cell,
	#it-careus-strength .cell,
	#it-careus-support .cell,
	#it-careus-recommend .cell,
	#it-careus-feature .item-container .cell {
		display: block;
		width: 100% !important;
	}
	#it-careus .cell:not(:last-child) {
		margin-bottom: 20px;
	}
	.it-careus-page #lower-mv .page-title .img-box img {
		width: 70%;
	}
	.it-careus-page #lower-mv.bg-it-careus .item-badge {
		width: 80px;
		top: 20px;
		left: 20px;
	}
	#it-careus-about h2 {
		font-size: 2.8rem;
	}
	#it-careus-about .img-box {
		margin-top: 40px;
	}
	#it-careus-curriculum .mod-mutual-table th {
		width: auto;
		padding-left: 10px;
		padding-right: 10px;
	}
	#it-careus-recommend .item-content .cell:nth-child(2) {
		padding: 0;
	}
	#it-careus .item-title-with-big-arrow .txt {
		font-size: 2.4rem;
	}
}

/* = #project-h
-------------------------------------------------------------- */
#project-h #content {
	background: #00416c;
}
#project-h #lower-mv {
	background: url('../img/bg_project-h.png') no-repeat top center /cover, #00416c;
}
#project-h #lower-mv .lower-mv-inner {
	padding-top: 30px;
}
#project-h #lower-mv .page-title {
	padding: 0;
}
#project-h #lower-mv .page-title .lang-ja {
	margin-top: 0;
}

#project-h-about {
	padding-top: 90px;
}

/* #project-h-list */
#project-h-list .floatlist li {
	width: 45.4%;
	background: #fff;
}
#project-h-list .floatlist li:nth-child(odd) {
	margin-right: 9.2%;
}
#project-h-list .floatlist li:nth-child(n+3) {
	margin-top: 9.2%;
}
#project-h-list .floatlist li .txt-box {
	padding: 2px 20px 12px;
}
#project-h-list .floatlist li .txt-box .item-num {
	font-family: 'Oswald', sans-serif;
	color: #00416c;
	font-weight: bold;
}
#project-h-list .floatlist li .txt-box .item-num .pre {
	font-size: 2.2rem;
}
#project-h-list .floatlist li .txt-box .item-num .num {
	font-size: 3rem;
}
#project-h-list .floatlist li a {
	display: block;
}

@media screen and (max-width: 640px) {
	#project-h #lower-mv .page-title .lang-ja img {
		width: 80%;
	}
	#project-h-about {
		padding-top: 70px;
	}
	#project-h-list .floatlist li {
		width: 100% !important;
		margin: 0 0 50px !important;
	}
}

/* = #project-h_single
-------------------------------------------------------------- */
/* #project-h_single */
#project-h_single #content {
	color: #fff;
	background: #00416c;
}

/* #project-h_single-about */
#project-h_single-about {
	padding-bottom: 1px;
}
#project-h_single-about .item-meta {
	margin-top: -50px;
}
#project-h_single-about .item-meta p {
	margin-top: 20px;
	margin-bottom: 0;
}
#project-h_single-about .item-pre-headline {
	margin: 52px 0 8px;
}

#project-h_single-about-01 .item-container {
	background: url('../img/p_project-h_single_01_portrait.png') no-repeat right bottom;
}
#project-h_single-about-02 .item-container {
	background: url('../img/p_project-h_single_02_portrait.png') no-repeat right bottom;
}
#project-h_single-about-03 .item-container {
	background: url('../img/p_project-h_single_03_portrait.png') no-repeat right bottom;
}
#project-h_single-about-04 .item-container {
	background: url('../img/p_project-h_single_04_portrait.png') no-repeat right bottom;
	padding-bottom: 16px;
}

/* #project-h_single-txt */
#project-h_single-txt {
	padding-top: 40px;
}
#project-h_single-txt p {
	margin: 2em 0;
	line-height: 2;
}
#project-h_single-txt .img-box {
	margin: 70px 0;
}

#project-h_single-txt .after-content .img-box {
	margin: 70px 0 30px;
}
#project-h_single-txt .after-content .back-btn {
	display: inline-block;
	margin-top: 30px;
}

@media screen and (max-width: 640px) {
	#project-h_single-about-01,
	#project-h_single-about-02,
	#project-h_single-about-03,
	#project-h_single-about-04 {
		padding: 0;
	}
	#project-h_single-about-01 .item-container,
	#project-h_single-about-02 .item-container,
	#project-h_single-about-03 .item-container,
	#project-h_single-about-04 .item-container {
		background-position: right -130px bottom;
		padding: 0 20px;
	}
	#project-h_single-txt .img-box {
		margin: 50px 0;
	}
}

/* = #videos
-------------------------------------------------------------- */
#videos-list h2 {
	margin: 0;
	font-size: 4.0rem;
}
#videos-list h3 {
	margin: 0 0 5px;
	padding: 5px 10px;
}
#videos-list .img-box {
	margin-bottom: 10px;
}
#videos-list p {
	margin-bottom: 0;
}


@media screen and (min-width: 641px) {
	#videos-list li {
		width: 45.4%;
	}
	#videos-list li:nth-child(odd) {
		margin-right: 9.2%;
	}
	#videos-list li:nth-child(n+3) {
		margin-top: 9.2%;
	}
}

@media screen and (max-width: 640px) {
	#videos-list h2 {
		font-size: 3rem;
	}
	#videos-list li p {
		margin-top: 1em;
	}
	#videos-list li:not(:last-child) {
		margin-bottom: 30px;
	}
}

/* = #contact
-------------------------------------------------------------- */
/* #contact-form */
#contact-form {
	width: 630px;
	margin: auto;
}
#contact-form table,
#contact-form th,
#contact-form td {
	border: none;
	background: #fff;
	vertical-align: top;
	text-align: left;
}
#contact-form th {
	padding-right: 70px;
	text-align: right;
}
#contact-form td {
	padding-right: 0;
}
#contact-form input[type="text"],
#contact-form input[type="tel"],
#contact-form input[type="email"],
#contact-form textarea {
	width: 100%;
	border: none;
	background: #e7e7de;
	box-shadow: none;
}
#contact-form label {
	margin-right: 1em;
}
#contact-form th {
    position: relative;
    font-size: 1.2em;
    padding-bottom: 5px;
    display: flex !important;
    align-items: center;
}
#contact-form .recuired {
	position: absolute;
	top: 14px;
	right: 10px;
	padding: 4px 6px 4px;
	background: #e10f1a;
	border-radius: 3px;
	color: #fff;
	line-height: 1;
}
#contact-form .submit,
#contact-form .back {
	position: relative;
	width: 224px;
	margin: 0 auto 20px;
	border-radius: 3px;
	display: inline-block;
}
#contact-form .back {
	margin-right: 30px;
}
#contact-form .submit:hover,
#contact-form .back:hover {
	opacity: .7;
}
#contact-form .submit::before,
#contact-form .back::before {
	content: '';
	position: absolute;
	top: -2px;
	bottom: 0;
	width: 10px;
	height: 10px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}
#contact-form .submit::before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	right: 20px;
}
#contact-form .back::before {
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	left: 20px;
}
#contact-form .submit input,
#contact-form .back input {
	width: 100%;
	padding: 5px;
	background: none;
	border: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: #fff;
	font-weight: bold;
	font-size: 2.0rem;
	cursor: pointer;
}





	#contact-form table,
	#contact-form tbody,
	#contact-form tr,
	#contact-form th,
	#contact-form td {
		display: block;
		width: 100%;
		padding-right: 0;
		padding-left: 0;
		text-align: left;
	}
	#contact-form td {
		padding-top: 0;
padding-bottom: 1em;
	}
	#contact-form input[type="text"],
	#contact-form input[type="tel"],
	#contact-form input[type="email"],
	#contact-form textarea {
		box-sizing: border-box;
	}

#contact-form .recuired {
    position: relative;
    top: 0;
    right: 0;
    margin-left: 10px;
    display: table;
    font-size: 0.8em;
}



@media screen and (max-width: 640px) {
	#contact-form {
		width: 100%;
	}
	#contact-form table,
	#contact-form tbody,
	#contact-form tr,
	#contact-form th,
	#contact-form td {
		display: block;
		width: 100%;
		padding-right: 0;
		padding-left: 0;
		text-align: left;
	}
	#contact-form td {
		padding-top: 0;
	}
	#contact-form input[type="text"],
	#contact-form input[type="tel"],
	#contact-form input[type="email"],
	#contact-form textarea {
		box-sizing: border-box;
	}

	#contact-form .recuired {
		position: relative;
		top: 0;
		right: 0;
		margin-left: 10px;
	}
#contact-form label {
    margin-right: 4em;
    width: calc(50% - 4em);
    display: block;
    float: left;
    margin-bottom: 0.5em;
    margin-top: 0.5em;
}
}

/* = #confirm
-------------------------------------------------------------- */
#confirm-content table {
	border-top: 1px solid #eee;
}
#confirm-content table th,
#confirm-content table td {
	border-bottom: 1px solid #eee;
}

@media screen and (max-width: 640px) {
	#confirm-content table th {
		border-bottom: 0;
		padding-bottom: 6px;
	}
	#confirm-content #contact-form .submit,
	#confirm-content #contact-form .back {
		width: 194px;
	}
}

/* = #privacy
-------------------------------------------------------------- */
#privacy-about h4 {
	margin-bottom: 0;
}
#privacy-about p:not(:first-child) {
	margin-top: 0;
}