@charset "utf-8";

/*	レイアウト
---------------------------------*/
html {
	font-size: 62.5%;
}
body {
	position: relative;
	margin: 0;
	padding: 0px 0 0;
	width: 100%;
	line-height: 1.8;
	color: #333333;
    font-family: 'Oswald', sans-serif;
	font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
#wrapper {
	overflow: hidden;
}
.sponly {
    display: none;
}
.pconly {
    display: inline;
}

#strength {
    margin-top: -100px;
    padding-top: 100px;
}
#merit, #flow, #recruit, #faq, #contact {
    margin-top: -120px;
    padding-top: 120px;
}

@media screen and (max-width:1279px) {
    body {
        padding: 0px 0 0;
    }
    #strength {
        margin-top: -80px;
        padding-top: 80px;
    }
    #merit, #flow, #recruit, #faq, #contact {
        margin-top: -100px;
        padding-top: 100px;
    }
}

@media screen and (max-width:599px) {
    .sponly {
        display: inline;
    }
    .pconly {
        display: none;
    }
}

/*	contact-btn
---------------------------------*/
.contact-btn {
	position: fixed;
	top: 100px;
	right: 50px;
	line-height: 1;
	z-index: 1010;
}
.contact-btn ul {
	margin: 0;
    font-size: 0;
}
.contact-btn ul li {
    display: inline-block;
    vertical-align: top;
	background: #ffffff;
}
.contact-btn ul li a {
    width: 250px;
    display: block;
    vertical-align: top;
    text-align: center;
	padding: 10px 0 10px 30px;
	font-size: 20px;
    line-height: 1.6;
	font-weight: 900;
	letter-spacing: 1px;
    color: #ffffff;
	background: #c10202 url("../img/cmn/icon_hd_mail.png") no-repeat 20% center;
}

@media screen and (max-width:1279px) {
    .contact-btn {
        top: 60px;
    }
}

@media screen and (max-width:767px) {
    .contact-btn {
        right: 30px;
    }
}

@media screen and (max-width:599px) {
    .contact-btn {
        right: 10px;
    }
    .contact-btn ul li a {
        width: 150px;
        padding: 5px 0 5px 25px;
        font-size: 16px;
        background: #c10202 url("../img/cmn/icon_hd_mail.png") no-repeat 10% center;
    }
}

/*	ヘッダー
---------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
    background-color: #fff;
	line-height: 1;
	z-index: 1010;
}
.hd-inr {
	position: relative;
	margin: 0 auto;
	padding: 0 50px 0px 50px;
	width: 100%;
    height: 100px;
}
.hd-logo {
	position: relative;
	margin: 0px 0 0 0;
	width: 120px;
	text-align: left;
}
.hd-logo img {
}
.hd-info {
	width: calc(100% - 120px);
    vertical-align: top;
}
.hd-menu {
	margin: 0;
	padding: 0px 0 0;
}
.hd-contact {
}
.hd-tel {
	margin: 0 0px 0 50px;
	font-size: 24px;
	font-weight: 400;
    font-family: 'Oswald', sans-serif;
	letter-spacing: 1px;
}
.hd-tel strong {
	display: inline-block;
	position: relative;
	padding: 0 0 0 10px;
	font-size: 30px;
	font-weight: 700;
    font-family: 'Oswald', sans-serif;
	letter-spacing: 1px;
}

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

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

@media screen and (max-width: 1279px) {
	.hd-inr {
        padding: 5px 15px 5px 15px;
        height: 60px;
	}
	.hd-logo {
        width: 80px;
	}
    .hd-logo img {
    }
	.hd-info {
		width: calc(100% - 320px);
		padding: 0 40px 0 0;
		align-items: center;
	}
    .hd-contact {
        height: 40px;
    }
	.hd-menu {
		margin: 0;
		padding: 0;
	}
    .hd-tel {
        margin: 0 15px 0 0px;
    }
	.hd-tel a {
		display: block;
		position: relative;
		padding: 0;
		width: 40px;
		height: 40px;
        border: #333333 1px solid;
	}
	.hd-tel a::before {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		margin: 0;
		width: 18px;
		height: 18px;
		background: url("../img/cmn/icon_hd_tel.png") no-repeat center center;
		background-size: contain;
	}
	.hd-tel a span.spantxt {
		display: none;
	}
	.hd-tel a strong,
	.hd-tel a small {
		display: none;
	}
}

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

@media screen and (max-width: 599px) {
    .hd-tel {
        margin: 0 10px 0 0px;
    }
}

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

/*	フッター
---------------------------------*/
footer {
}
footer .contents-inr {
	padding-top: 60px;
	padding-bottom: 60px;
}
.ft-left {
    width: 63%;
}
.ft-left .ft-logo {
    margin: 0px 0 12px 0;
}
.ft-left .ft-address {
	font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 1px;
    text-align: left;
}
.ft-nav {
    margin-top: 0px;
    width: 37%;
    display: block;
}
.ft-nav > ul {
	margin: 0;
    font-size: 0;
}
.ft-nav > ul > li {
    display: inline-block;
    vertical-align: top;
    width: 60%;
}
.ft-nav > ul > li:last-of-type {
    width: 40%;
}
.ft-nav > ul > li p {
	margin: 0px 0px 10px 0px;
	font-size: 18px;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1.6;
}
.ft-copyright {
	padding: 15px 0px 15px 0px;
    font-weight: 400;
	font-size: 12px;
    text-align: center;
    color: #ffffff;
    background-color: #121212;
}

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

@media screen and (max-width: 959px) {
    .ft-left .ft-address {
        font-size: 16px;
    }
    .ft-nav > ul > li p {
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    .ft-left {
        width: 100%;
    }
    .ft-left .ft-logo img {
        max-width: 60%;
    }
    .ft-nav {
        display: none;
    }
}

@media screen and (max-width: 599px) {
    .btn-pagetop img {
        width: 40px;
        height: auto;
    }
    footer .contents-inr {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .ft-left .ft-address {
        font-size: 14px;
    }
    .ft-copyright {
        padding: 10px 0px 10px 0px;
        font-size: 11px;
    }
}

/*	グローバナビ（PC用）
---------------------------------*/
.pc-nav {
	line-height: 1;
}
.pc-nav > ul {
	margin: 0px 0px 0 0px;
}
.pc-nav > ul > li {
	position: relative;
	margin: 3px 0px 0 20px;
	padding: 0 0px 0px 20px;
	height: 60px;
}
.pc-nav > ul > ul li.first {
	margin: 3px 0px 0 0px;
	padding: 0;
}
.pc-nav > ul > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(50% - 7px);
	width: 1px;
	height: 16px;
	background: #666666;
}
.pc-nav > ul > li.first::before {
	display: none;
}
.pc-nav > ul > li > a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	padding: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	font-size: 15px;
	font-weight: 500;
    letter-spacing: 1px;
}
.pc-nav > ul > li > a span {
	position: relative;
}
.pc-nav > ul > li.current a,
.pc-nav > ul > li a:hover {
}
.pc-nav > ul > li.parent div {
	position: absolute;
	top: 100%;
	left: calc(50% + 0px);
	transform: translateX(-50%);
	padding: 20px 10px 20px 10px;
	width: 190px;
	max-height: 0;
	background: rgba(19,19,19,0.57);
	text-align: center;
	z-index: 100;
	opacity: 0;
	overflow: hidden;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.pc-nav > ul > li.parent div ul {
	display: inline-block;
}
.pc-nav > ul > li.parent div li a {
	display: block;
	padding: 15px 0px 15px 0px;
	text-align: center;
	font-size: 13px;
	color: #fff;
    border-bottom: #fff 1px solid;
}
.pc-nav > ul > li.parent div li:last-child a {
    border-bottom: none;
}
.pc-nav > ul > li.parent:hover div {
	max-height: 360px;
	opacity: 1;
}

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

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

@media screen and (max-width:1279px) {
	.pc-nav {
		display: none;
	}
	.pconly-nav {
		display: none;
	}
}

/*	グローバナビ（スマホ用）
---------------------------------*/
header .navToggle,
header nav.sp-nav {
	display:none;
}
@media screen and (max-width:1279px) {
	header nav.sp-nav {
		display: block;
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		padding: 10% 15%;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.8);
		font-size: 1.8rem;
		font-weight: 500;
		z-index: 1000;
		visibility: hidden;
		opacity: 0;
		transform: scale(0.9);
		transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
	}
	/* ナビゲーション アニメーション */
	header.open nav.sp-nav {
		visibility: visible;
		opacity: 1;
		transform: scale(1);
		transition: transform 0.4s, opacity 0.4s;
	}
	header nav.sp-nav a {
		color:#fff;
	}
	header nav.sp-nav a * {
		transition: 0s;
	}
	header nav.sp-nav > ul {
		display: block;
		position :absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	header nav.sp-nav > ul > li {
		margin: 20px 0;
		overflow: hidden;
		text-align: center;
		line-height: 1;
		text-transform: uppercase;
	}

	header nav.sp-nav > ul > li.parent {
		margin: 25px 0;
	}
	header nav.sp-nav > ul > li.parent > a {
		text-decoration: none;
		border: none;
	}
	header nav.sp-nav > ul > li.parent div ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 5px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li {
		margin: 10px 0 0;
		font-size: 0.875em;
	}
	header nav.sp-nav > ul > li.parent div li a {
		display: inline-block;
		color: #ccc;
	}
	header nav.sp-nav > ul > li.parent div li a:hover {
		display: inline-block;
		border-bottom: none;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type {
		margin: 10px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li::after {
		content: "/";
		display: inline;
		margin: 0 5px;
		color: #999;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type::after {
		content: "";
	}
	header nav.sp-nav ul li strong,
	header nav.sp-nav ul li br {
		display: none;
	}
	header nav.sp-nav ul li span span,
	header nav.sp-nav ul li br {
		display: none;
	}
	/*ハンバーガーボタン*/
	header .navToggle {
		display: block;
		position: absolute;
		right: 15px;
		top: 11px;
		margin: auto;
		width: 40px;
		height: 40px;
		background: #1c1c1c;
		cursor: pointer;
		z-index: 1002;
	}
	header .navToggle div {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 25px;
		height: 16px;
	}
	header .navToggle span {
		display: block;
		position: absolute;
		height:2px;
		width:100%;
		background: #fff;
		left:0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	header .navToggle span:nth-child(1) {
		top: 0;
	}
	header .navToggle span:nth-child(2) {
		top: 7px;
	}
	header .navToggle span:nth-child(3) {
		top: 14px;
	}
	/* ハンバーガーボタン 切り替えアニメーション */
	header.open .navToggle span {
	}
	header.open .navToggle span:nth-child(1) {
		top: 7px;
		transform: rotate(315deg);
	}
	header.open .navToggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	header.open .navToggle span:nth-child(3) {
		top: 7px;
		transform: rotate(-315deg);
	}
}
@media screen and (max-width:599px) {
	header nav.sp-nav {
		font-size: 14px;
	}
	header .navToggle {
		right: 10px;
	}
}

/*	基本レイアウト
---------------------------------*/
.contents-inr {
	position: relative;
	margin: 0 auto;
	padding-left: 15px;
	padding-right: 15px;
	max-width: 1280px;
}
.contents-inr.full {
	max-width: 100%;
	padding: 0;
}
.contents-inr.large {
	max-width: 1400px;
}

/*	汎用タイトル
---------------------------------*/
.ttl-cmn01 {
	margin: 0px 0 0px 0;
	padding: 0 0 0 0px;
	font-size: 100px;
	line-height: 1;
	font-weight: 500;
    font-family: 'Oswald', sans-serif;
    text-align: center;
}
.ttl-cmn01 span {
    display: block;
	margin: 0px 0px 0px 0px;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 500;
    color: #c10202;
	font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.ttl-cmn02 {
	margin: 0px 0 0px 0;
	padding: 0 0 0 0px;
	font-size: 100px;
	line-height: 1;
	font-weight: 500;
    color: #ffffff;
    font-family: 'Oswald', sans-serif;
    text-align: center;
}
.ttl-cmn02 span {
    display: block;
	margin: 0px 0px 0px 0px;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 500;
    color: #ffffff;
	font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

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

@media screen and (max-width: 767px) {
    .ttl-cmn01 {
        font-size: 80px;
    }
    .ttl-cmn01 span {
        margin: 5px 0px 0px 0px;
        font-size: 16px;
    }

    .ttl-cmn02 {
        font-size: 80px;
    }
    .ttl-cmn02 span {
        margin: 5px 0px 0px 0px;
        font-size: 16px;
    }
}

@media screen and (max-width: 599px) {
    .ttl-cmn01 {
        font-size: 50px;
    }

    .ttl-cmn02 {
        font-size: 50px;
    }
}

/*	汎用ボタン
---------------------------------*/
.btn-cmn01 {
	margin: 50px 0 0px 0;
    text-align: center;
}
.btn-cmn01 a {
    width: 300px;
    display: inline-block;
	margin: 0px 0px 0px 0px;
	padding: 16px 0px 16px 0px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.6;
    color: #ffffff;
	letter-spacing: 1px;
    text-align: center;
    background: #121212 url("../img/cmn/icon_arw04.png") no-repeat 90% center;
    background-size: auto;
}

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

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

@media screen and (max-width: 599px) {
    .btn-cmn01 {
        margin: 20px 0 0px 0;
    }
    .btn-cmn01 a {
        width: 230px;
        display: inline-block;
        margin: 0px 0px 0px 0px;
        padding: 10px 20px 10px 0px;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.6;
        color: #ffffff;
        letter-spacing: 1px;
        text-align: center;
        background: #121212 url("../img/cmn/icon_arw04.png") no-repeat 93% center;
        background-size: 30px;
    }
}

/*	メインイメージ
---------------------------------*/
.main-img-otr {
	position: relative;
	padding: 0;
    overflow: hidden;
}
.main-img-inr {
	position: relative;
	margin: 0 auto;
	width: 100%;
}
.main-img {
	position: relative;
	width: 100%;
	height: 1000px;
	background: no-repeat center center / auto 100%;
}
.main-img.img01 {
	background-image: url("../img/top/main-visual_bg.jpg");
}
.main-img.img02 {
	background-image: url("../img/top/img_main02.png");
}
.main-img.img03 {
	background-image: url("../img/top/img_main03.png");
}
.main-img.img04 {
	background-image: url("../img/top/img_main04.png");
}
.main-img.img05 {
	background-image: url("../img/top/img_main05.png");
}
.main-img.img06 {
	background-image: url("../img/top/img_main06.png");
}
.main-img.img07 {
	background-image: url("../img/top/img_main07.png");
}
.main-img.img08 {
	background-image: url("../img/top/img_main08.png");
}
.main-img.img09 {
	background-image: url("../img/top/img_main09.png");
}
.main-img.img10 {
	background-image: url("../img/top/img_main10.png");
}
.main-img-cap {
	position: absolute;
	bottom: -40px;
	right: 5%;
	z-index: 1001;
    text-align: right;
}
.main-img-cap2 {
	position: absolute;
	bottom: -11%;
	left: 60%;
	transform: translate(-50%,-50%);
	padding: 0 15px;
	width: 100%;
	text-align: left;
	z-index: 1001;
}
.main-img-cap3 {
	position: absolute;
	top: 42%;
	left: 59%;
	transform: translate(-50%,-50%);
	padding: 0 15px;
	width: 100%;
	text-align: left;
	z-index: 1001;
}
.main-img-otr .bx-controls {
	display: none!important;
}
.bx-pager-item {
	display: inline-block;
	margin: 0 15px;
}
.bx-pager-item a {
	display: block;
	width: 10px;
	height: 10px;
	background: #e6e6e6;
	border-radius: 100px;
	text-indent: -9999px;
	text-align: left;
}
.bx-pager-item a.active {
	background: #f6c3c5;
}

@media screen and (max-width:1700px) {
    .main-img-cap2 {
        bottom: -11%;
        left: 55%;
    }
    .main-img-cap3 {
        top: 42%;
        left: 54%;
    }
}

@media screen and (max-width:1279px) {
	.main-img {
		height: 62vw;
	}
	.main-img-cap img {
		max-width: 78%;
	}
	.main-img-cap2 img {
		max-width: 32%;
	}
	.main-img-cap3 img {
		max-width: 55%;
	}
}

@media screen and (max-width:1100px) {
	.main-img-cap img {
		max-width: 66%;
	}
}

@media screen and (max-width:959px) {
	.main-img {
		height: 68vw;
	}
	.main-img-cap img {
		max-width: 63%;
	}
	.main-img-cap2 img {
		max-width: 40%;
	}
	.main-img-cap3 img {
		max-width: 60%;
	}
}

@media screen and (max-width:767px) {
	.main-img {
		height: 73vw;
	}
	.main-img-cap img {
		max-width: 50%;
	}
	.main-img-cap2 img {
		max-width: 43%;
	}
	.main-img-cap3 img {
		max-width: 63%;
	}
}

@media screen and (max-width: 599px) {
	.main-img {
		height: 95vw;
	}
    .main-img-cap {
        bottom: -20px;
        right: 2%;
    }
	.main-img-cap img {
		max-width: 50%;
	}
    .main-img-cap2 {
        bottom: -8%;
        left: 50%;
    }
	.main-img-cap2 img {
		max-width: 45%;
	}
    .main-img-cap3 {
        top: 47%;
        left: 50%;
    }
	.main-img-cap3 img {
		max-width: 70%;
	}
}

/*	トップページ
---------------------------------*/
/*GREETING*/
.top-greeting {
	margin-top: 100px;
    margin-bottom: 100px;
	text-align: center;
	background: url("../img/top/img_greeting.jpg") calc(50% + 500px) top no-repeat;
    background-size: auto auto;
}
.top-greeting .contents-inr {
}
.top-greeting .top-greeting__ttl {
    width: 50%;
    margin: 0 0 25px 0px;
	background: url("../img/top/tit_greeting_bg.png") center center no-repeat;
    background-size: auto auto;
}
.top-greeting .top-greeting__ttl span {
    display: inline-block;
    padding: 10px 0 10px 0px;
	font-size: 44px;
    font-weight: 700;
    line-height: 1.2;
}
.top-greeting .top-greeting__txt {
    width: 50%;
    padding: 0 0 0 0px;
	font-size: 21px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
}

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

@media screen and (max-width:1100px) {
    .top-greeting .top-greeting__ttl {
        background: url("../img/top/tit_greeting_bg.png") center center no-repeat;
        background-size: 80% auto;
    }
    .top-greeting .top-greeting__ttl span {
        font-size: 36px;
    }
}

@media screen and (max-width: 767px) {
    .top-greeting {
        margin-top: 60px;
        margin-bottom: 60px;
        padding-bottom: 460px;
        background: url("../img/top/img_greeting.jpg") center bottom no-repeat;
        background-size: auto 400px;
    }
    .top-greeting .top-greeting__ttl {
        width: auto;
        background: url("../img/top/tit_greeting_bg.png") center center no-repeat;
        background-size: auto 100%;
    }
    .top-greeting .top-greeting__ttl span {
        font-size: 32px;
    }
    .top-greeting .top-greeting__txt {
        width: auto;
    }
}

@media screen and (max-width: 599px) {
    .top-greeting {
        margin-top: 40px;
        margin-bottom: 40px;
        padding-bottom: 300px;
        background: url("../img/top/img_greeting.jpg") center bottom no-repeat;
        background-size: auto 260px;
    }
    .top-greeting .top-greeting__ttl {
        width: auto;
        margin: 0 0 20px 0px;
        background: url("../img/top/tit_greeting_bg.png") center center no-repeat;
        background-size: 280px auto;
    }
    .top-greeting .top-greeting__ttl span {
        font-size: 24px;
    }
    .top-greeting .top-greeting__txt {
        width: auto;
        font-size: 14px;
    }
}

/*ABOUT*/
.top-about {
    padding-bottom: 70px;
	text-align: center;
	background: url("../img/top/img_about_bg.jpg") center bottom no-repeat;
    background-size: auto auto;
}
.top-about .contents-inr {
}
.top-about .top-about__txt {
    padding: 35px 0 40px 0px;
	font-size: 21px;
    font-weight: 400;
    line-height: 1.6;
    text-align: center;
}
.top-about .top-about__list {
	margin: 0 auto 30px auto;
	max-width: 1280px;
}
.top-about .top-about__list li {
	margin: 0 80px 80px 0;
    padding: 0 0 0 0;
	width: calc((100% - 80px) / 2);
}
.top-about .top-about__list li:nth-of-type(2n) {
	margin: 0 0px 80px 0;
}
.top-about .top-about__list li:last-of-type {
	margin: 0 0px 80px 0;
}
.top-about .top-about__list li iframe {
    width: 100%;
}
.top-about .top-about__list li video {
    width: 100%;
}
.top-about .top-about__list2 {
}
.top-about .top-about__list2 li {
	margin: 0 50px 50px 0;
    padding: 40px 0px 40px 0px;
	width: calc((100% - 100px) / 3);
	background: url("../img/top/img_about01.png") center center no-repeat;
    background-size: cover;
}
.top-about .top-about__list2 li:nth-of-type(2) {
	background: url("../img/top/img_about02.png") center center no-repeat;
    background-size: cover;
}
.top-about .top-about__list2 li:nth-of-type(3) {
	background: url("../img/top/img_about03.png") center center no-repeat;
    background-size: cover;
}
.top-about .top-about__list2 li:nth-of-type(3n) {
	margin: 0 0px 50px 0;
}
.top-about .top-about__list2 li:last-of-type {
	margin: 0 0px 50px 0;
}
.top-about .top-about__list2 li .top-about__ttl {
    margin-bottom: 20px;
    padding: 0px 10px 12px 10px;
	font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
    color: #ffffff;
	background: url("../img/cmn/icon_arw01.png") center bottom no-repeat;
    background-size: auto auto;
}
.top-about .top-about__list2 li .top-about__txt2 {
    padding: 0 20px 0 20px;
	font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
    color: #ffffff;
    text-align: left;
}

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

@media screen and (max-width: 959px) {
    .top-about .top-about__list {
        margin: 0 auto 0px auto;
    }
    .top-about .top-about__list li {
        margin: 0 30px 80px 0;
        width: calc((100% - 60px) / 2);
    }
    .top-about .top-about__list2 li {
        margin: 0 20px 50px 0;
        padding: 40px 0px 40px 0px;
        width: calc((100% - 40px) / 3);
    }
}

@media screen and (max-width: 767px) {
    .top-about .top-about__list2 li {
        margin: 0 0px 20px 0;
        padding: 30px 0px 30px 0px;
        width: 100%;
    }
    .top-about .top-about__list2 li:nth-of-type(3n) {
        margin: 0 0px 0px 0;
    }
    .top-about .top-about__list2 li:last-of-type {
        margin: 0 0px 0px 0;
    }
}

@media screen and (max-width: 599px) {
    .top-about {
        padding-bottom: 40px;
    }
    .top-about .top-about__txt {
        padding: 20px 0 30px 0px;
        font-size: 14px;
    }
    .top-about .top-about__list {
        margin: 0 auto 30px auto;
    }
    .top-about .top-about__list li {
        margin: 0 0px 30px 0;
        width: 100%;
    }
    .top-about .top-about__list li:nth-of-type(2n) {
        margin: 0 0px 30px 0;
    }
    .top-about .top-about__list li:last-of-type {
        margin: 0 0px 30px 0;
    }
    .top-about .top-about__list2 li {
        padding: 20px 0px 20px 0px;
    }
    .top-about .top-about__list2 li .top-about__ttl {
        margin-bottom: 15px;
        padding: 0px 10px 12px 10px;
        font-size: 22px;
        font-weight: 700;
        line-height: 1.2;
        color: #ffffff;
        background: url("../img/cmn/icon_arw01.png") center bottom no-repeat;
        background-size: auto auto;
    }
    .top-about .top-about__list2 li .top-about__txt2 {
        padding: 0 20px 0 20px;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.6;
        color: #ffffff;
        text-align: left;
    }
}

/*STRENGTH*/
.top-strength {
	text-align: center;
}
.top-strength .top-strength__ttl {
	padding-top: 70px;
    padding-bottom: 85px;
    background-color: #494949;
}
.top-strength .top-strength__ttl span {
}
.top-strength .top-strength01 {
	padding-top: 100px;
    height: 500px;
	background: #c10202 url("../img/top/img_strength01.jpg") calc(50% - 375px) top no-repeat;
    background-size: auto auto;
}
.top-strength .top-strength01 h4 {
    padding: 0px 2% 10px 63%;
	font-size: 58px;
    font-weight: 500;
    line-height: 1.2;
    text-align: left;
    color: #ffffff;
}
.top-strength .top-strength01 p {
    padding: 0 2% 0 63%;
	font-size: 26px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
    color: #ffffff;
}
.top-strength .top-strength02 {
	padding-top: 130px;
    height: 500px;
	background: #a30606 url("../img/top/img_strength02.jpg") calc(50% + 375px) top no-repeat;
    background-size: auto auto;
}
.top-strength .top-strength02 h4 {
    padding: 0px 60% 10px 10%;
	font-size: 58px;
    font-weight: 500;
    line-height: 1.2;
    text-align: left;
    color: #ffffff;
}
.top-strength .top-strength02 p {
    padding: 0 60% 0 10%;
	font-size: 26px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
    color: #ffffff;
}
.top-strength .top-strength03 {
	padding-top: 100px;
    height: 500px;
	background: #c10202 url("../img/top/img_strength03.jpg") calc(50% - 375px) top no-repeat;
    background-size: auto auto;
}
.top-strength .top-strength03 h4 {
    padding: 0px 2% 10px 63%;
	font-size: 58px;
    font-weight: 500;
    line-height: 1.2;
    text-align: left;
    color: #ffffff;
}
.top-strength .top-strength03 p {
    padding: 0 2% 0 63%;
	font-size: 26px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
    color: #ffffff;
}

@media screen and (max-width:1600px) {
    .top-strength .top-strength01 h4 {
        font-size: 50px;
    }
    .top-strength .top-strength02 h4 {
        font-size: 50px;
    }
    .top-strength .top-strength03 h4 {
        font-size: 50px;
    }
}

@media screen and (max-width:1279px) {
    .top-strength .top-strength01 h4 {
        padding: 0px 2% 10px 60%;
        font-size: 40px;
    }
    .top-strength .top-strength01 p {
        padding: 0 2% 0 60%;
        font-size: 22px;
    }
    .top-strength .top-strength02 h4 {
        padding: 0px 60% 10px 6%;
        font-size: 40px;
    }
    .top-strength .top-strength02 p {
        padding: 0 60% 0 6%;
        font-size: 22px;
    }
    .top-strength .top-strength03 h4 {
        padding: 0px 2% 10px 60%;
        font-size: 40px;
    }
    .top-strength .top-strength03 p {
        padding: 0 2% 0 60%;
        font-size: 22px;
    }
}

@media screen and (max-width: 767px) {
    .top-strength .top-strength__ttl span {
        display: inline-block;
        max-width: 80%;
    }
    .top-strength .top-strength01 h4 {
        padding: 0px 2% 10px 46%;
    }
    .top-strength .top-strength01 p {
        padding: 0 2% 0 46%;
    }
    .top-strength .top-strength02 h4 {
        padding: 0px 46% 10px 6%;
    }
    .top-strength .top-strength02 p {
        padding: 0 46% 0 6%;
    }
    .top-strength .top-strength03 h4 {
        padding: 0px 2% 10px 46%;
    }
    .top-strength .top-strength03 p {
        padding: 0 2% 0 46%;
    }
}

@media screen and (max-width: 599px) {
    .top-strength .top-strength__ttl {
        padding-top: 30px;
        padding-bottom: 36px;
    }
    .top-strength .top-strength01 {
        padding-top: 20px;
        padding-bottom: 280px;
        height: auto;
        background: #c10202 url("../img/top/img_strength01.jpg") right bottom no-repeat;
        background-size: auto 260px;
    }
    .top-strength .top-strength01 h4 {
        padding: 0px 20px 10px 20px;
        font-size: 32px;
    }
    .top-strength .top-strength01 p {
        padding: 0px 20px 0 20px;
        font-size: 14px;
    }
    .top-strength .top-strength02 {
        padding-top: 20px;
        padding-bottom: 280px;
        height: auto;
        background: #a30606 url("../img/top/img_strength02.jpg") left bottom no-repeat;
        background-size: auto 260px;
    }
    .top-strength .top-strength02 h4 {
        padding: 0px 20px 10px 20px;
        font-size: 32px;
    }
    .top-strength .top-strength02 p {
        padding: 0px 20px 0 20px;
        font-size: 14px;
    }
    .top-strength .top-strength03 {
        padding-top: 20px;
        padding-bottom: 280px;
        height: auto;
        background: #c10202 url("../img/top/img_strength03.jpg") right bottom no-repeat;
        background-size: auto 260px;
    }
    .top-strength .top-strength03 h4 {
        padding: 0px 20px 10px 20px;
        font-size: 32px;
    }
    .top-strength .top-strength03 p {
        padding: 0px 20px 0 20px;
        font-size: 14px;
    }
}

/*MERIT*/
.top-merit {
	padding-top: 90px;
    padding-bottom: 100px;
	text-align: center;
}
.top-merit .contents-inr {
}
.top-merit .top-merit__ttl {
    padding-bottom: 35px;
}
.top-merit .top-merit__ttl span {
}
.top-merit .top-merit__list {
}
.top-merit .top-merit__list li {
	margin: 0 50px 0px 0;
    padding: 0 0 0 0;
	width: calc((100% - 100px) / 3);
}
.top-merit .top-merit__list li:nth-of-type(3n) {
	margin: 0 0px 0px 0;
}
.top-merit .top-merit__list li:last-of-type {
	margin: 0 0px 0px 0;
}

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

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

@media screen and (max-width: 767px) {
    .top-merit .top-merit__ttl span {
        display: inline-block;
        max-width: 80%;
    }
    .top-merit .top-merit__list li {
        margin: 0 20px 0px 0;
        width: calc((100% - 40px) / 3);
    }
}

@media screen and (max-width: 599px) {
    .top-merit {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .top-merit .top-merit__ttl {
        padding-bottom: 25px;
    }
    .top-merit .top-merit__list li {
        margin: 0 0px 30px 0;
        width: 100%;
    }
    .top-merit .top-merit__list li:nth-of-type(3n) {
        margin: 0 0px 0px 0;
    }
    .top-merit .top-merit__list li:last-of-type {
        margin: 0 0px 0px 0;
    }
}

/*FLOW*/
.top-flow {
    padding-top: 105px;
    padding-bottom: 135px;
	text-align: center;
	background: url("../img/top/img_flow_bg.jpg") center center no-repeat;
    background-size: cover;
}
.top-flow .contents-inr {
}

.top-flow .top-flow-box {
    margin-top: 60px;
    position: relative;
}
.top-flow .top-flow-box:before {
    content: '';
    position: absolute;
    top: 45px;
    left: calc(50% - 1px);
    width: 2px;
    height: calc(100% - 106px);
    background-color: #ffffff;
}

.top-flow .top-flow-box .top-flow-box01 {
    margin-top: 0px;
    padding: 0 0 25px 0;
    width: calc(50% - 80px);
    background-color: #ffffff;
    border: #c10202 2px solid;
    text-align: left;
    position: relative;
    float: right;
}
.top-flow .top-flow-box .top-flow-box01:before {
    content: '';
    position: absolute;
    top: 80px;
    left: -82px;
    width: 80px;
    height: 2px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box01:after {
    border-radius: 50%;
    content: '';
    position: absolute;
    top: 75px;
    left: -88px;
    width: 12px;
    height: 12px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box01 h4 {
	background-color: #c10202;
    margin: 0 0 25px 0;
    padding: 10px 6% 14px 6%;
	font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box01 p {
    padding: 0px 6% 0px 6%;
	font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
}
.top-flow .top-flow-box .top-flow-box01 img {
    margin: 15px 6% 0 6%;
    max-width: 88%;
}

.top-flow .top-flow-box .top-flow-box02 {
    margin-top: 180px;
    padding: 0 0 25px 0;
    width: calc(50% - 80px);
    background-color: #ffffff;
    border: #c10202 2px solid;
    text-align: left;
    position: relative;
    float: left;
}
.top-flow .top-flow-box .top-flow-box02:before {
    content: '';
    position: absolute;
    top: 80px;
    right: -82px;
    width: 80px;
    height: 2px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box02:after {
    border-radius: 50%;
    content: '';
    position: absolute;
    top: 75px;
    right: -88px;
    width: 12px;
    height: 12px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box02 h4 {
	background-color: #c10202;
    margin: 0 0 25px 0;
    padding: 10px 6% 14px 6%;
	font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box02 p {
    padding: 0px 6% 0px 6%;
	font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
}
.top-flow .top-flow-box .top-flow-box02 img {
    margin: 15px 6% 0 6%;
    max-width: 88%;
}

.top-flow .top-flow-box .top-flow-box03 {
    margin-top: 120px;
    padding: 0 0 25px 0;
    width: calc(50% - 80px);
    background-color: #ffffff;
    border: #c10202 2px solid;
    text-align: left;
    position: relative;
    float: right;
}
.top-flow .top-flow-box .top-flow-box03:before {
    content: '';
    position: absolute;
    top: 80px;
    left: -82px;
    width: 80px;
    height: 2px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box03:after {
    border-radius: 50%;
    content: '';
    position: absolute;
    top: 75px;
    left: -88px;
    width: 12px;
    height: 12px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box03 h4 {
	background-color: #c10202;
    margin: 0 0 25px 0;
    padding: 10px 6% 14px 6%;
	font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box03 p {
    padding: 0px 6% 0px 6%;
	font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
}
.top-flow .top-flow-box .top-flow-box03 img {
    margin: 15px 6% 0 6%;
    max-width: 88%;
}

.top-flow .top-flow-box .top-flow-box04 {
    margin-top: 50px;
    padding: 0 0 25px 0;
    width: calc(50% - 80px);
    background-color: #ffffff;
    border: #c10202 2px solid;
    text-align: left;
    position: relative;
    float: left;
}
.top-flow .top-flow-box .top-flow-box04:before {
    content: '';
    position: absolute;
    top: 80px;
    right: -82px;
    width: 80px;
    height: 2px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box04:after {
    border-radius: 50%;
    content: '';
    position: absolute;
    top: 75px;
    right: -88px;
    width: 12px;
    height: 12px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box04 h4 {
	background-color: #c10202;
    margin: 0 0 25px 0;
    padding: 10px 6% 14px 6%;
	font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box04 p {
    padding: 0px 6% 0px 6%;
	font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
}
.top-flow .top-flow-box .top-flow-box04 img {
    margin: 15px 6% 0 6%;
    max-width: 88%;
}

.top-flow .top-flow-box .top-flow-box05 {
    margin-top: 50px;
    padding: 0 0 25px 0;
    width: calc(50% - 80px);
    background-color: #ffffff;
    border: #c10202 2px solid;
    text-align: left;
    position: relative;
    float: right;
}
.top-flow .top-flow-box .top-flow-box05:before {
    content: '';
    position: absolute;
    top: 80px;
    left: -82px;
    width: 80px;
    height: 2px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box05:after {
    border-radius: 50%;
    content: '';
    position: absolute;
    top: 75px;
    left: -88px;
    width: 12px;
    height: 12px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box05 h4 {
	background-color: #c10202;
    margin: 0 0 25px 0;
    padding: 10px 6% 14px 6%;
	font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box05 p {
    padding: 0px 6% 0px 6%;
	font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
}
.top-flow .top-flow-box .top-flow-box05 img {
    margin: 15px 6% 0 6%;
    max-width: 88%;
}

.top-flow .top-flow-box .top-flow-box06 {
    margin-top: 50px;
    margin-bottom: 250px;
    padding: 0 0 25px 0;
    width: calc(50% - 80px);
    background-color: #ffffff;
    border: #c10202 2px solid;
    text-align: left;
    position: relative;
    float: left;
}
.top-flow .top-flow-box .top-flow-box06:before {
    content: '';
    position: absolute;
    top: 80px;
    right: -82px;
    width: 80px;
    height: 2px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box06:after {
    border-radius: 50%;
    content: '';
    position: absolute;
    top: 75px;
    right: -88px;
    width: 12px;
    height: 12px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box06 h4 {
	background-color: #c10202;
    margin: 0 0 25px 0;
    padding: 10px 6% 14px 6%;
	font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box06 p {
    padding: 0px 6% 0px 6%;
	font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
}
.top-flow .top-flow-box .top-flow-box06 img {
    margin: 15px 6% 0 6%;
    max-width: 88%;
}

.top-flow .top-flow-box .top-flow-box07 {
    margin-top: 50px;
    padding: 0 0 25px 0;
    width: calc(50% - 80px);
    background-color: #ffffff;
    border: #c10202 2px solid;
    text-align: left;
    position: relative;
    float: right;
}
.top-flow .top-flow-box .top-flow-box07:before {
    content: '';
    position: absolute;
    top: 80px;
    left: -82px;
    width: 80px;
    height: 2px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box07:after {
    border-radius: 50%;
    content: '';
    position: absolute;
    top: 75px;
    left: -88px;
    width: 12px;
    height: 12px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box07 h4 {
	background-color: #c10202;
    margin: 0 0 25px 0;
    padding: 10px 6% 14px 6%;
	font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box07 p {
    padding: 0px 6% 0px 6%;
	font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
}
.top-flow .top-flow-box .top-flow-box07 img {
    margin: 15px 6% 0 6%;
    max-width: 88%;
}

.top-flow .top-flow-box .top-flow-box08 {
    margin-top: 0px;
    padding: 0 0 25px 0;
    width: calc(50% - 80px);
    background-color: #ffffff;
    border: #c10202 2px solid;
    text-align: left;
    position: relative;
    float: left;
}
.top-flow .top-flow-box .top-flow-box08:before {
    content: '';
    position: absolute;
    top: 80px;
    right: -82px;
    width: 80px;
    height: 2px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box08:after {
    border-radius: 50%;
    content: '';
    position: absolute;
    top: 75px;
    right: -88px;
    width: 12px;
    height: 12px;
    background-color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box08 h4 {
	background-color: #c10202;
    margin: 0 0 25px 0;
    padding: 10px 6% 14px 6%;
	font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    color: #ffffff;
}
.top-flow .top-flow-box .top-flow-box08 p {
    padding: 0px 6% 0px 6%;
	font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
}
.top-flow .top-flow-box .top-flow-box08 img {
    margin: 15px 6% 0 6%;
    max-width: 88%;
}

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

@media screen and (max-width:1100px) {
    .top-flow .top-flow-box:before {
        height: calc(100% - 110px);
    }
    .top-flow .top-flow-box .top-flow-box08 {
        margin-top: 60px;
    }
}

@media screen and (max-width:959px) {
    .top-flow .top-flow-box:before {
        height: calc(100% - 136px);
    }
    .top-flow .top-flow-box .top-flow-box08 {
        margin-top: 80px;
    }
}

@media screen and (max-width: 767px) {
    .top-flow .top-flow-box {
        margin-top: 60px;
    }
    .top-flow .top-flow-box:before {
        top: 0px;
        left: calc(0% + 10px);
        height: 100%;
    }
    .top-flow .top-flow-box .top-flow-box01 {
        margin-top: 0px;
        padding: 0 0 25px 0;
        width: calc(100% - 60px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box01:before {
        top: 80px;
        left: -52px;
        width: 50px;
    }
    .top-flow .top-flow-box .top-flow-box01:after {
        top: 75px;
        left: -57px;
    }
    .top-flow .top-flow-box .top-flow-box01 h4 {
        margin: 0 0 25px 0;
        padding: 10px 6% 14px 6%;
        font-size: 30px;
    }
    .top-flow .top-flow-box .top-flow-box01 p {
        padding: 0px 6% 0px 6%;
        font-size: 19px;
    }
    .top-flow .top-flow-box .top-flow-box01 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }

    .top-flow .top-flow-box .top-flow-box02 {
        margin-top: 40px;
        padding: 0 0 25px 0;
        width: calc(100% - 60px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box02:before {
        top: 80px;
        right: auto;
        left: -52px;
        width: 50px;
    }
    .top-flow .top-flow-box .top-flow-box02:after {
        top: 75px;
        right: auto;
        left: -57px;
    }
    .top-flow .top-flow-box .top-flow-box02 h4 {
        margin: 0 0 25px 0;
        padding: 10px 6% 14px 6%;
        font-size: 30px;
    }
    .top-flow .top-flow-box .top-flow-box02 p {
        padding: 0px 6% 0px 6%;
        font-size: 19px;
    }
    .top-flow .top-flow-box .top-flow-box02 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }
    .top-flow .top-flow-box .top-flow-box03 {
        margin-top: 40px;
        padding: 0 0 25px 0;
        width: calc(100% - 60px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box03:before {
        top: 80px;
        left: -52px;
        width: 50px;
    }
    .top-flow .top-flow-box .top-flow-box03:after {
        top: 75px;
        left: -57px;
    }
    .top-flow .top-flow-box .top-flow-box03 h4 {
        margin: 0 0 25px 0;
        padding: 10px 6% 14px 6%;
        font-size: 30px;
    }
    .top-flow .top-flow-box .top-flow-box03 p {
        padding: 0px 6% 0px 6%;
        font-size: 19px;
    }
    .top-flow .top-flow-box .top-flow-box03 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }

    .top-flow .top-flow-box .top-flow-box04 {
        margin-top: 40px;
        padding: 0 0 25px 0;
        width: calc(100% - 60px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box04:before {
        top: 80px;
        right: auto;
        left: -52px;
        width: 50px;
    }
    .top-flow .top-flow-box .top-flow-box04:after {
        top: 75px;
        right: auto;
        left: -57px;
    }
    .top-flow .top-flow-box .top-flow-box04 h4 {
        margin: 0 0 25px 0;
        padding: 10px 6% 14px 6%;
        font-size: 30px;
    }
    .top-flow .top-flow-box .top-flow-box04 p {
        padding: 0px 6% 0px 6%;
        font-size: 19px;
    }
    .top-flow .top-flow-box .top-flow-box04 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }
    .top-flow .top-flow-box .top-flow-box05 {
        margin-top: 40px;
        padding: 0 0 25px 0;
        width: calc(100% - 60px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box05:before {
        top: 80px;
        left: -52px;
        width: 50px;
    }
    .top-flow .top-flow-box .top-flow-box05:after {
        top: 75px;
        left: -57px;
    }
    .top-flow .top-flow-box .top-flow-box05 h4 {
        margin: 0 0 25px 0;
        padding: 10px 6% 14px 6%;
        font-size: 30px;
    }
    .top-flow .top-flow-box .top-flow-box05 p {
        padding: 0px 6% 0px 6%;
        font-size: 19px;
    }
    .top-flow .top-flow-box .top-flow-box05 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }

    .top-flow .top-flow-box .top-flow-box06 {
        margin-top: 40px;
        margin-bottom: 0px;
        padding: 0 0 25px 0;
        width: calc(100% - 60px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box06:before {
        top: 80px;
        right: auto;
        left: -52px;
        width: 50px;
    }
    .top-flow .top-flow-box .top-flow-box06:after {
        top: 75px;
        right: auto;
        left: -57px;
    }
    .top-flow .top-flow-box .top-flow-box06 h4 {
        margin: 0 0 25px 0;
        padding: 10px 6% 14px 6%;
        font-size: 30px;
    }
    .top-flow .top-flow-box .top-flow-box06 p {
        padding: 0px 6% 0px 6%;
        font-size: 19px;
    }
    .top-flow .top-flow-box .top-flow-box06 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }
    .top-flow .top-flow-box .top-flow-box07 {
        margin-top: 40px;
        padding: 0 0 25px 0;
        width: calc(100% - 60px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box07:before {
        top: 80px;
        left: -52px;
        width: 50px;
    }
    .top-flow .top-flow-box .top-flow-box07:after {
        top: 75px;
        left: -57px;
    }
    .top-flow .top-flow-box .top-flow-box07 h4 {
        margin: 0 0 25px 0;
        padding: 10px 6% 14px 6%;
        font-size: 30px;
    }
    .top-flow .top-flow-box .top-flow-box07 p {
        padding: 0px 6% 0px 6%;
        font-size: 19px;
    }
    .top-flow .top-flow-box .top-flow-box07 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }

    .top-flow .top-flow-box .top-flow-box08 {
        margin-top: 40px;
        padding: 0 0 25px 0;
        width: calc(100% - 60px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box08:before {
        top: 80px;
        right: auto;
        left: -52px;
        width: 50px;
    }
    .top-flow .top-flow-box .top-flow-box08:after {
        top: 75px;
        right: auto;
        left: -57px;
    }
    .top-flow .top-flow-box .top-flow-box08 h4 {
        margin: 0 0 25px 0;
        padding: 10px 6% 14px 6%;
        font-size: 30px;
    }
    .top-flow .top-flow-box .top-flow-box08 p {
        padding: 0px 6% 0px 6%;
        font-size: 19px;
    }
    .top-flow .top-flow-box .top-flow-box08 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }
}

@media screen and (max-width: 599px) {
    .top-flow {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .top-flow .top-flow-box {
        margin-top: 30px;
    }
    .top-flow .top-flow-box:before {
        top: 0px;
        left: calc(0% + 10px);
        height: 100%;
    }
    .top-flow .top-flow-box .top-flow-box01 {
        margin-top: 0px;
        padding: 0 0 20px 0;
        width: calc(100% - 40px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box01:before {
        top: 80px;
        left: -32px;
        width: 30px;
    }
    .top-flow .top-flow-box .top-flow-box01:after {
        top: 75px;
        left: -37px;
    }
    .top-flow .top-flow-box .top-flow-box01 h4 {
        margin: 0 0 20px 0;
        padding: 10px 6% 14px 6%;
        font-size: 20px;
    }
    .top-flow .top-flow-box .top-flow-box01 p {
        padding: 0px 6% 0px 6%;
        font-size: 14px;
    }
    .top-flow .top-flow-box .top-flow-box01 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }

    .top-flow .top-flow-box .top-flow-box02 {
        margin-top: 30px;
        padding: 0 0 20px 0;
        width: calc(100% - 40px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box02:before {
        top: 80px;
        right: auto;
        left: -32px;
        width: 30px;
    }
    .top-flow .top-flow-box .top-flow-box02:after {
        top: 75px;
        right: auto;
        left: -37px;
    }
    .top-flow .top-flow-box .top-flow-box02 h4 {
        margin: 0 0 20px 0;
        padding: 10px 6% 14px 6%;
        font-size: 20px;
    }
    .top-flow .top-flow-box .top-flow-box02 p {
        padding: 0px 6% 0px 6%;
        font-size: 14px;
    }
    .top-flow .top-flow-box .top-flow-box02 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }
    .top-flow .top-flow-box .top-flow-box03 {
        margin-top: 30px;
        padding: 0 0 20px 0;
        width: calc(100% - 40px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box03:before {
        top: 80px;
        left: -32px;
        width: 30px;
    }
    .top-flow .top-flow-box .top-flow-box03:after {
        top: 75px;
        left: -37px;
    }
    .top-flow .top-flow-box .top-flow-box03 h4 {
        margin: 0 0 20px 0;
        padding: 10px 6% 14px 6%;
        font-size: 20px;
    }
    .top-flow .top-flow-box .top-flow-box03 p {
        padding: 0px 6% 0px 6%;
        font-size: 14px;
    }
    .top-flow .top-flow-box .top-flow-box03 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }

    .top-flow .top-flow-box .top-flow-box04 {
        margin-top: 30px;
        padding: 0 0 20px 0;
        width: calc(100% - 40px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box04:before {
        top: 80px;
        right: auto;
        left: -32px;
        width: 30px;
    }
    .top-flow .top-flow-box .top-flow-box04:after {
        top: 75px;
        right: auto;
        left: -37px;
    }
    .top-flow .top-flow-box .top-flow-box04 h4 {
        margin: 0 0 20px 0;
        padding: 10px 6% 14px 6%;
        font-size: 20px;
    }
    .top-flow .top-flow-box .top-flow-box04 p {
        padding: 0px 6% 0px 6%;
        font-size: 14px;
    }
    .top-flow .top-flow-box .top-flow-box04 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }
    .top-flow .top-flow-box .top-flow-box05 {
        margin-top: 30px;
        padding: 0 0 20px 0;
        width: calc(100% - 40px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box05:before {
        top: 80px;
        left: -32px;
        width: 30px;
    }
    .top-flow .top-flow-box .top-flow-box05:after {
        top: 75px;
        left: -37px;
    }
    .top-flow .top-flow-box .top-flow-box05 h4 {
        margin: 0 0 20px 0;
        padding: 10px 6% 14px 6%;
        font-size: 20px;
    }
    .top-flow .top-flow-box .top-flow-box05 p {
        padding: 0px 6% 0px 6%;
        font-size: 14px;
    }
    .top-flow .top-flow-box .top-flow-box05 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }

    .top-flow .top-flow-box .top-flow-box06 {
        margin-top: 30px;
        margin-bottom: 0px;
        padding: 0 0 20px 0;
        width: calc(100% - 40px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box06:before {
        top: 80px;
        right: auto;
        left: -32px;
        width: 30px;
    }
    .top-flow .top-flow-box .top-flow-box06:after {
        top: 75px;
        right: auto;
        left: -37px;
    }
    .top-flow .top-flow-box .top-flow-box06 h4 {
        margin: 0 0 20px 0;
        padding: 10px 6% 14px 6%;
        font-size: 20px;
    }
    .top-flow .top-flow-box .top-flow-box06 p {
        padding: 0px 6% 0px 6%;
        font-size: 14px;
    }
    .top-flow .top-flow-box .top-flow-box06 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }
    .top-flow .top-flow-box .top-flow-box07 {
        margin-top: 30px;
        padding: 0 0 20px 0;
        width: calc(100% - 40px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box07:before {
        top: 80px;
        left: -32px;
        width: 30px;
    }
    .top-flow .top-flow-box .top-flow-box07:after {
        top: 75px;
        left: -37px;
    }
    .top-flow .top-flow-box .top-flow-box07 h4 {
        margin: 0 0 20px 0;
        padding: 10px 6% 14px 6%;
        font-size: 20px;
    }
    .top-flow .top-flow-box .top-flow-box07 p {
        padding: 0px 6% 0px 6%;
        font-size: 14px;
    }
    .top-flow .top-flow-box .top-flow-box07 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }

    .top-flow .top-flow-box .top-flow-box08 {
        margin-top: 30px;
        padding: 0 0 20px 0;
        width: calc(100% - 40px);
        float: right;
    }
    .top-flow .top-flow-box .top-flow-box08:before {
        top: 80px;
        right: auto;
        left: -32px;
        width: 30px;
    }
    .top-flow .top-flow-box .top-flow-box08:after {
        top: 75px;
        right: auto;
        left: -37px;
    }
    .top-flow .top-flow-box .top-flow-box08 h4 {
        margin: 0 0 20px 0;
        padding: 10px 6% 14px 6%;
        font-size: 20px;
    }
    .top-flow .top-flow-box .top-flow-box08 p {
        padding: 0px 6% 0px 6%;
        font-size: 14px;
    }
    .top-flow .top-flow-box .top-flow-box08 img {
        margin: 15px 6% 0 6%;
        max-width: 88%;
    }
}

/*RECRUIT*/
.top-recruit {
    padding-top: 110px;
    padding-bottom: 160px;
	text-align: center;
    background-color: #f0f3f5;
}
.top-recruit .contents-inr {
}

.top-recruit__tab {
    margin:80px 0 0px 0;
    text-align: left;
}
.top-recruit__tab ul {
    margin:0 0 0px 0;
}
.top-recruit__tab ul li {
    display: inline-block;
    vertical-align: top;
	margin: 0 20px 0px 0;
}
.top-recruit__tab ul li:last-child {
	margin: 0 0px 0px 0;
}
.top-recruit__tab ul li a {
    display: block;
    width: 260px;
	padding: 10px 0px 12px 0px;
	text-align: center;
	font-size: 26px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0px;
    color: #676767;
    background-color: #d1d1d1;
}
/*liにactiveクラスがついた時の形状*/
.top-recruit__tab ul li.active a {
    color: #ffffff;
    background-color: #c10202;
}
/*エリアの表示非表示と形状*/
.area {
    display: none;/*はじめは非表示*/
    opacity: 0;/*透過0*/
}
/*areaにis-activeというクラスがついた時の形状*/
.area.is-active {
    display: block;/*表示*/
    animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
@keyframes displayAnime{
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.top-recruit .top-recruit-bg {
    padding: 70px 3% 50px 3%;
    background-color: #ffffff;
    border-top: #c10202 2px solid;
}
.top-recruit .top-recruit-bg h4 {
	background: #c10202 url("../img/cmn/icon_arw03.png") 15px 12px no-repeat;
    background-size: auto auto;
    margin: 0 7% 0 7%;
    padding: 8px 10px 10px 30px;
	font-size: 28px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    color: #ffffff;
}
.top-recruit .top-recruit-bg p {
    padding: 30px 0px 30px 0px;
	font-size: 23px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
}
.top-recruit .top-recruit-bg table
{
    margin: 0px 7% 0px 7%;
    padding: 0px 0px 0px 0px;
    width:86%;
    border-collapse:separate;
    border-spacing:0px;
    border-top: #eeeeee 1px solid;
    border-right: #eeeeee 1px solid;
}
.top-recruit .top-recruit-bg table th
{
    width: 30%;
    vertical-align:middle;
    padding:18px 0px 18px 0px;
    font-size:21px;
    line-height:1.4;
    font-weight: 400;
    text-align: center;
    color: #ffffff;
    background-color: #c10202;
    border-bottom: #eeeeee 1px solid;
}
.top-recruit .top-recruit-bg table td
{
    vertical-align:middle;
    padding:18px 5px 18px 20px;
    font-size:21px;
    line-height:1.4;
    font-weight: 400;
    text-align: left;
    border-bottom: #eeeeee 1px solid;
}

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

@media screen and (max-width: 959px) {
    .top-recruit .top-recruit-bg h4 {
        margin: 0 0 0 0;
    }
    .top-recruit .top-recruit-bg table
    {
        margin: 0px 0 0px 0;
        width:100%;
    }
}

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

@media screen and (max-width: 599px) {
    .top-recruit {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .top-recruit__tab {
        margin:30px 0 0px 0;
    }
    .top-recruit__tab ul li {
        margin: 0 10px 0px 0;
    }
    .top-recruit__tab ul li:last-child {
        margin: 0 0px 0px 0;
    }
    .top-recruit__tab ul li a {
        width: 120px;
        padding: 10px 0px 12px 0px;
        font-size: 18px;
    }
    .top-recruit .top-recruit-bg {
        padding: 20px 10px 20px 10px;
    }
    .top-recruit .top-recruit-bg h4 {
        background: #c10202 url("../img/cmn/icon_arw03.png") 8px center no-repeat;
        background-size: 3px auto;
        margin: 0 0 0 0;
        padding: 10px 10px 10px 20px;
        font-size: 18px;
    }
    .top-recruit .top-recruit-bg p {
        padding: 15px 0px 20px 0px;
        font-size: 14px;
    }
    .top-recruit .top-recruit-bg table
    {
        margin: 0px 0 0px 0;
        width:100%;
    }
    .top-recruit .top-recruit-bg table th
    {
        padding:15px 0px 15px 0px;
        font-size:14px;
    }
    .top-recruit .top-recruit-bg table td
    {
        padding:15px 5px 15px 10px;
        font-size:14px;
    }
}

/*FAQ*/
.top-faq {
    padding-top: 105px;
    padding-bottom: 105px;
	text-align: center;
	background: url("../img/top/img_faq_bg.jpg") center center no-repeat;
    background-size: cover;
}
.top-faq .contents-inr {
}
.top-faq .top-faq__list {
    margin-top: 80px;
}
.top-faq .top-faq__list li {
	margin: 0 40px 40px 0;
    padding: 0 0 0 0;
	width: calc((100% - 80px) / 3);
    background-color: #ffffff;
}
.top-faq .top-faq__list li:nth-of-type(3n) {
	margin: 0 0px 40px 0;
}
.top-faq .top-faq__list li:last-of-type {
	margin: 0 0px 40px 0;
}
.top-faq .top-faq__list li h4 {
	background: #c10202 url("../img/cmn/icon_arw02.png") 23px center no-repeat;
    background-size: auto auto;
    margin: 0 0 30px 0;
    padding: 30px 10px 32px 90px;
	font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
    color: #ffffff;
}
.top-faq .top-faq__list li p {
    padding: 0px 30px 30px 30px;
	font-size: 23px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
}

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

@media screen and (max-width: 959px) {
    .top-faq .top-faq__list li {
        margin: 0 20px 30px 0;
        width: calc((100% - 20px) / 2);
    }
    .top-faq .top-faq__list li:nth-of-type(3n) {
        margin: 0 20px 30px 0;
    }
    .top-faq .top-faq__list li:nth-of-type(2n) {
        margin: 0 0px 30px 0;
    }
    .top-faq .top-faq__list li:last-of-type {
        margin: 0 0px 30px 0;
    }
}

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

@media screen and (max-width: 599px) {
    .top-faq {
        padding-top: 40px;
        padding-bottom: 60px;
    }
    .top-faq .top-faq__list {
        margin-top: 30px;
    }
    .top-faq .top-faq__list li {
        margin: 0 0px 30px 0;
        width: 100%;
    }
    .top-faq .top-faq__list li:nth-of-type(3n) {
        margin: 0 0px 30px 0;
    }
    .top-faq .top-faq__list li:nth-of-type(2n) {
        margin: 0 0px 30px 0;
    }
    .top-faq .top-faq__list li:last-of-type {
        margin: 0 0px 0px 0;
    }
    .top-faq .top-faq__list li h4 {
        background: #c10202 url("../img/cmn/icon_arw02.png") 10px center no-repeat;
        background-size: 40px auto;
        margin: 0 0 15px 0;
        padding: 15px 10px 15px 60px;
        font-size: 20px;
    }
    .top-faq .top-faq__list li p {
        padding: 0px 15px 15px 15px;
        font-size: 14px;
    }
}

/*	CONTACT	*/
.cmn-contact {
    padding-top: 100px;
    padding-bottom: 100px;
	text-align: center;
	background: url("../img/top/img_contact_bg.jpg") center center no-repeat;
    background-size: cover;
}
.cmn-contact .contents-inr {
    max-width: 1100px;
    padding-top: 40px;
    padding-bottom: 40px;
    background-color: #ffffff;
    box-shadow:0 0 30px rgba(0,0,0,0.2);
}
.cmn-contact .cmn-contact__ttl {
    text-align: center;
	background: url("../img/top/tit_contact_bg.png") center center no-repeat;
    background-size: auto auto;
}
.cmn-contact .cmn-contact__ttl span {
    display: inline-block;
    padding: 30px 0 30px 0;
	font-size: 30px;
	font-weight: 700;
    line-height: 1;
	letter-spacing: 0px;
}
.cmn-contact .cmn-contact__txt {
    padding: 5px 0 20px 0;
	font-size: 20px;
	font-weight: 500;
    line-height: 1.6;
	letter-spacing: 0px;
    text-align: center;
}
.cmn-contact .cmn-contact-inr {
	max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}
.cmn-contact-left {
    width: 50%;
    border-right: #666666 1px solid;
    text-align: left;
}
.cmn-contact-left .cmn-contact-tel {
	margin: 0 0px 0 0px;
	font-size: 30px;
	font-weight: 500;
    font-family: 'Oswald', sans-serif;
	letter-spacing: 0px;
}
.cmn-contact-left .cmn-contact-tel strong {
	display: inline-block;
	position: relative;
	padding: 0 0 0 10px;
	font-size: 45px;
	font-weight: 500;
    font-family: 'Oswald', sans-serif;
	letter-spacing: 0px;
}
.cmn-contact-left .cmn-contact-teltxt {
    margin-top: -15px;
	padding: 0 12% 10px 0px;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0px;
    text-align: right;
}
.cmn-contact__btn {
    width: 50%;
}
.cmn-contact__btn a {
    display: inline-block;
    width: 90%;
    background-color: #121212;
    text-align: center;
    margin: 15px 0 0 10%;
	padding: 20px 0 22px 0;
	font-size: 22px;
	font-weight: 500;
    line-height: 1.6;
	letter-spacing: 0px;
    color: #ffffff;
}

@media screen and (max-width:1279px) {
    .cmn-contact .contents-inr {
        max-width: 900px;
    }
}

@media screen and (max-width: 959px) {
    .cmn-contact .contents-inr {
        max-width: 90%;
    }
    .cmn-contact .cmn-contact__txt {
        padding: 5px 0 10px 0;
    }
    .cmn-contact-left {
        width: 100%;
        border-right: none;
        text-align: center;
    }
    .cmn-contact-left .cmn-contact-tel {
        margin: 0 0px 0 0px;
        font-size: 30px;
    }
    .cmn-contact-left .cmn-contact-tel strong {
        padding: 0 0 0 10px;
        font-size: 45px;
    }
    .cmn-contact-left .cmn-contact-teltxt {
        margin-top: -15px;
        padding: 0 0 10px 0px;
        font-size: 18px;
        text-align: center;
    }
    .cmn-contact__btn {
        width: 100%;
    }
    .cmn-contact__btn a {
        display: block;
        width: auto;
        margin: 15px 0 0 0;
        padding: 20px 0 22px 0;
        font-size: 22px;
    }
}

@media screen and (max-width: 599px) {
    .cmn-contact {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .cmn-contact .contents-inr {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .cmn-contact .cmn-contact__ttl {
        background-size: 230px auto;
    }
    .cmn-contact .cmn-contact__ttl span {
        padding: 20px 0 20px 0;
        font-size: 30px;
    }
    .cmn-contact .cmn-contact__txt {
        padding: 5px 0 20px 0;
        font-size: 18px;
        font-weight: 500;
    }
    .cmn-contact-left .cmn-contact-tel {
        font-size: 24px;
    }
    .cmn-contact-left .cmn-contact-tel strong {
        font-size: 36px;
    }
    .cmn-contact-left .cmn-contact-teltxt {
        margin-top: -10px;
        font-size: 16px;
    }
    .cmn-contact__btn a {
        padding: 10px 0 12px 0;
        font-size: 20px;
    }
}

@media screen and (max-width: 320px) {
    .cmn-contact-left .cmn-contact-tel {
        font-size: 22px;
    }
    .cmn-contact-left .cmn-contact-tel strong {
        font-size: 33px;
    }
}


.fix_btn{
    position: fixed;
    top: 30%;
    max-width: 50px;
    right: 0;
    z-index: 9999;
}
