@charset "UTF-8";

body {
    font-size: 16px;
}

body, #header { min-width: 1200px; }

/*====== Common Style =====*/
.for_sp { display: none !important; }

/* module */
.m-lb01 {
    text-align: center;
    margin-bottom: 65px;
}
.m-lb01__sub {
    display: block;
    color: #003b77;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 5px;
}
.m-lb01__main {
    display: block;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin-bottom: 17px;
}

.m-lb02 {
    margin-bottom: 15px;
}
.m-lb02__main {
    display: block;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin: 0;
}
.m-lb02__sub {
    display: block;
    color: #003b77;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    margin: 5px 0 0;
}

.m-link01 {
    position: relative;
    display: inline-block;
    background: #ef85a1;
    color: #fff;
    font-weight: 700;
    text-align: center;
    max-width: 100%;
    width: 340px;
    height: 62px;
    line-height: 62px;
}
.m-link01::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    display: block;
    border-top: solid 3px;
    border-right: solid 3px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
}

.m-link02 {
	position: relative;
	display: inline-block;
	border: solid 2px #1d428b;
	background: #fff;
	color: #003b77;
	font-weight: 700;
	text-align: center;
    max-width: 100%;
    width: 272px;
    height: 62px;
    line-height: 58px;
}
.m-link02::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    display: block;
    border-top: solid 3px;
    border-right: solid 3px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
}
.m-link02.is-b::after {
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);
}
.m-link02.is-r::after {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}

.m-link03 {
	position: relative;
	display: inline-block;
	border: solid 2px #1d428b;
	background: #fff;
	color: #003b77;
	font-weight: 700;
	text-align: center;
    max-width: 100%;
    width: 204px;
    height: 40px;
    line-height: 36px;
}
.m-link03::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    display: block;
    border-top: solid 3px;
    border-right: solid 3px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
}

.m-catch {
    font-size: 30px;
    letter-spacing: 0.05em;
    line-height: 1.47;
    margin-bottom: 28px;
}

.m-lead {
    text-align: center;
    margin-bottom: 105px;
}

.m-para p + p {
    margin-top: 2em;
}

.m-dlTable01 {
    display: table;
    border-collapse: collapse;
    width: 100%;
}
.m-dlTable01 > dl {
    display: table-row;
}
.m-dlTable01 > dl > dt,
.m-dlTable01 > dl > dd {
    display: table-cell;
    vertical-align: middle;
    border: solid 1px #e2e7ef;
    line-height: 1.75;
    height: 76px;
}
.m-dlTable01 > dl > dt {
    background: #869bb8;
    color: #fff;
    text-align: center;
    width: 180px;
    padding: 23px 5px;
}
.m-dlTable01 > dl > dd {
    background: #fff;
    padding: 23px 45px;
}

.m-dlTable02 {
    display: table;
    border-collapse: collapse;
    width: 100%;
}
.m-dlTable02 > dl {
    display: table-row;
}
.m-dlTable02 > dl > dt,
.m-dlTable02 > dl > dd {
    display: table-cell;
    border-bottom: solid 1px #e2e7ef;
    line-height: 1.75;
    padding: 20px 0;
}
.m-dlTable02 > dl > dt {
    width: 140px;
    padding-right: 10px;
}

/* box */
.flex-lr_sp,
.flex-lr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.flex-lr.is-reverse_sp,
.flex-lr.is-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
}
.flex-lr.is-vcenter_sp, 
.flex-lr.is-vcenter {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.area-link {
    text-align: center;
    padding: 85px 0 80px;
}
.area-link ul,
.area-link li {
    display: inline-block;
    vertical-align: middle;
}
.area-link li {
    margin: 15px;
}

.mainbox1 {
	display: flex;
	justify-content: space-between;
}
.flex_wrap_pc_sp,
.flex_wrap {
	flex-wrap: wrap;
}
.mainboxinner {
	width: 1200px;
	margin: 0 auto;
}
.mainboxouter {
	width: calc((100%-1200px)/2);
}

.padbox_ll {
	padding: 70px 0;
}

.padbox_l {
	padding: 48px 0;
}
.padbox_m {
	padding: 37px 0;
}
.padbox_s {
	padding: 27px 0;
}
.padbox_16 {
	padding: 20px 16px 70px;
}
.padbox_20 {
	padding: 20px;
}
.padbox_20pc {
	padding: 20px;
}


.padbox_15pc {
	padding: 15px;
}

.boxsizing {
	box-sizing: border-box;
}

/* top_sec1 */

#top_sec1 {
	background: url("/_common/image/top/bac_01.jpg?20220101") no-repeat;
	background-position: right;
	margin-top: 50px;
	margin-bottom: 70px;
	background-size: 60%;
}
@media screen and (max-width: 1700px) {
	#top_sec1 {
	background-size: auto 100%;
	}
}

.mainbox_tit {
	width: 80px;
}
.mainbox_cont {
	width: 1200px;
	margin: 20px auto;
}
.mainbox_cont h3 {
	font-size: 28px;
	color: #537BFF;
	margin: 30px 0 20px;
	font-weight: 400;
}
.mainbox_cont h4 {
	font-size: 50px;
	margin: 20px 0 20px;
	font-weight: 400;
	font-family: "Hiragino Mincho ProN",YuMincho, "Yu Mincho",  "serif"
}
.mainbox_cont_l {
	width: 400px;
	font-size: 16px;
}
.mainbox_cont_r {
	width: 600px;
}
.mainbox_cont_r .iframe {
	width: 100%;
	height: 400px;
}

.sub_tit1 {
	font-size: 26px;
	line-height: 38px;
	font-weight: 400;
}

.titleBox_l {
	width: 100%;
	text-align: left;
	background-position: right;
	position: relative;
}
.titleBox_r {
	width: 100%;
	text-align: right;
	background-position: left;
}
.titleBox_inner {
	width: 1200px;
	margin-top: 2px;
    padding: 18px 0;
	font-size: 40px;
	font-weight: 300!important;
	line-height: 20px;
}
.titleBox_inner h2 {
	line-height: 20px;
	font-family: zen-kaku-gothic-antique, sans-serif;
	font-weight: 400;
	font-style: normal;
	/*color: #999;*/
	font-size: 60px;
	margin-bottom: 20px;
}
.grad_bar_l {
  background: -moz-linear-gradient(left, rgba(255,255,255,1), rgba(255,255,255,0));
  background: -webkit-linear-gradient(left, rgba(255,255,255,1), rgba(255,255,255,0));
  background: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0));
	position: absolute;
	z-index: 5;
	top: 80px;
	left: 0;
	width: 1000px;
	height: 2px;
}

.grad_bar_r {
  background: -moz-linear-gradient(right, rgba(255,255,255,1), rgba(255,255,255,0));
  background: -webkit-linear-gradient(right, rgba(255,255,255,1), rgba(255,255,255,0));
  background: linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,0));
	position: absolute;
	z-index: 5;
	top: 80px;
	right: 0;
	width: 1000px;
	height: 2px;
}

@media screen and (min-width: 1200px) {
   
.grad_bar_l,
.grad_bar_r {
	width: calc( calc( calc(100% - 1200px) / 2) + 1200px);
	}
}


/* top_sec2 */

#top_sec2 {
	background: url("/_common/image/top/bac_02_2.jpg") no-repeat;
	background-position: left;
	margin-top: 0px;
	margin-bottom: 0px;
	background-size: 60%;
	position: relative;
	padding-bottom: 20px;
}
@media screen and (max-width: 1700px) {
	#top_sec2 {
	background-size: auto 100%;
	}
}


/* top_sec3 */

#top_sec3 {
	background: url("/_common/image/top/bac_03.jpg?20220101") no-repeat;
	background-position: left;
	margin-top: -50px;
	background-size: 60%;
	position: relative;
	padding-bottom: 30px;
}
@media screen and (max-width: 1700px) {
	#top_sec3 {
	background-size: auto 100%;
	}
}

#top_sec4 {
	width: 1200px;
	margin: 20px auto;
}

#top_sec4 h2 {
	font-size: 40px!important;
	font-weight: 700;
}

#top_sec4 h2 span {
	font-size: 14px!important;
}
#top_sec4 .business_txt1 {
	font-size: 24px;
	font-weight: bold;
	margin: -20px 0 20px;
	line-height: 40px;
}
.sec4_box {
	width: 575px;
	margin-bottom: 50px;
}
.sec4_box_img{
	position: relative;
	margin-bottom: 15px;
}
.sec4_box_img img {
	width: 100%;
}
.sec4_box_img h3 {
	position: absolute;
	bottom: 12px;
	right: 0px;
	font-family: zen-kaku-gothic-antique, sans-serif;
	font-weight: 400;
	font-style: normal;
  display: inline-block;
  vertical-align: text-top;
	width: 170px;
	color: #FFF;
	border-top: solid 1px #FFF;
	padding: 8px 0 14px!important;
}
.sec4_box_img h3 span {
	font-size: 55px;
	margin-left: 20px;
  display: inline-block;
	line-height: 40px;
  vertical-align: text-top;
	  transform : scale(1.2, 1.0); 
}
.sec4_box h4{
	font-size: 20px;
}

/* top_sec5 */

#top_sec5 {
	background: url("/_common/image/top/bac_04.jpg?20220101") no-repeat;
	background-position: top;
	margin-top: -20px;
	background-size: 100%;
	position: relative;
	padding-bottom: 0px;
	min-height: 651px;
}
@media screen and (max-width: 1520px) {
	#top_sec5 {
	background-size: auto 100%;
	}
}

#top_sec5 h2 {
	color: #FFF;
}
#top_sec5 h3 {
	margin: 200px auto;
	text-align: center;
	top: 20px;
	font-family:  "Hiragino Mincho ProN", YuMincho, "Yu Mincho","serif";
	font-size: 48px;
	font-weight: 700;
		
}
#top_sec5 h4 {
	position: absolute;
	width: 90px;
	text-align: center;
	top: 20px;
	right: 15%;
}

#top_sec5 h5 {
	margin: 180px auto 100px;
	text-align: center;
	font-family:  "Hiragino Mincho ProN", YuMincho, "Yu Mincho","serif";
	font-size: 40px;
	font-weight: 700;
}

/* top_sec6 */

#top_sec6 {
	/*background: url("/_common/image/top/bac_05.png?20220101") no-repeat;*/
	background-position: top center;
	margin-top: -20px;
	background-size: 100%;
	position: relative;
	padding-bottom: 0px;
	min-height: 1200px;
}
@media screen and (max-width: 1280px) {
	#top_sec6 {
	background-size: 1280px;
	}
}

#top_sec6 .btn-wrap_mgl {
	margin-left: 920px;
	margin-bottom: 250px;
}
@media screen and (min-width: 1400px) {
	#top_sec6 .btn-wrap_mgl {
		margin-bottom: 80px;
	}
}
.sec6_box {
	width: 500px;
	background: rgba(0,0,0,0.73);
	border-radius: 15px;
	padding: 17px;
	color: #FFF;
}
.sec6_box:nth-child(even) {
	margin-top: 150px;	
}
.sec6_box:nth-child(odd) {
	margin-bottom: 150px;	
}

.sec6_box p {
	padding-left: 20px;
}

.sec6_box2 {
	width: 290px;
	min-height: 300px;
	background: url("/_common/image/top/bac_06.png") no-repeat;
	background-size: 100%;
	padding: 50px 30px 30px;
	color: #000;
	text-align: center;
}

.sec6_box2 h4 {
	font-size: 22px;
}
.sec6_box2 p {
	/*text-align: left;*/
	line-height: 22px;
	font-size: 13px;
}

.sec6_txt {
	font-size: 30px;
	font-family:  "Hiragino Mincho ProN", YuMincho, "Yu Mincho","serif";
	font-weight: 700;
}

.top_contact {
	margin: 100px auto 20px;
	width: 600px;
	text-align: center!important;
}
.top_contact h2 {
	margin: 20px auto;
	width: 360px;
	padding: 10px;
	color: #FFF;
	background: #537BFF;
}
.top_contact .telBox {
	font-size: 32px;
	font-weight: bold;
	line-height: 50px;
	margin: 20px auto;
}
.top_contact p {
	margin: 20px auto;
	line-height: 24px;
}
.box3 {
	width: 370px;
	margin: 0 auto;
}

.box_bb {
	border-bottom: solid 1px #fff;
}

.p_title{ 
	font-size: 22px;
	line-height: 1.2;
    }
/*====== header =====*/
.area-anchor {
    padding-top: 80px;
    margin-top: -80px;
}

#header {
    width: 100%;
	margin-top: 12px;
    height: 150px;
	position: relative;
}
#header > .flex-lr {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
}

.header__logo {
    font-size: 1em;
    margin: 60px auto 37px;
	width: 1200px;
}
#header .toggle-menu-inner {
	background: url("/_common/image/header/navi_bg.png?20220101") repeat-y;
	background-size: 50%;
}
/*#header .toggle-menu-inner::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: calc((100% - 1200px) /2);
	height: 30px;
	background: #000;
}
*/
#header .toggle-menu-inner.fixed{
	position: fixed;/*fixedを設定して固定*/
  z-index: 999;/*最前面へ*/
  top:0;/*位置指定*/
  left:50%;/*位置指定*/
  transform: translateX(-50%);
	background: url("/_common/image/header/navi_bg.png?20220101") repeat-y;
	background-size: 50%;
}

#header nav {
	width: 1200px;
    margin: 0 auto;
}
#header .gnv {
background: -moz-linear-gradient(left,  rgba(0,0,0,1) 0%, rgba(83,123,255,1) 72%, rgba(83,123,255,0) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  rgba(0,0,0,1) 0%,rgba(83,123,255,1) 72%,rgba(83,123,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  rgba(0,0,0,1) 0%,rgba(83,123,255,1) 72%,rgba(83,123,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#00537bff',GradientType=1 ); /* IE6-9 */
	width: 850px;
	padding: 6px 0;
	box-sizing: border-box;
}
#header .gnv::before {
	
}
#header .gnv li {
    position: relative;
    display: inline-block;
    font-weight: 500;
	font-size: 18px;
    padding: 0 25px 0 10px;
	text-align: center;
	z-index: 100;
}
#header .gnv li a {
	color: #FFF;
}
#header .gnv  li::after {
    content: "|";
    font-weight: 300;
    position: absolute;
    right: 0;
	color: #FFF;
}
#header .gnv li:last-child::after {
    display: none;
}

.header__cv {
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
}
.header__cv a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #212a37;
    color: #fff;
    width: 100%;
    height: 100%;
}
.header__cv i {
    font-size: 20px;
}

#toggle-button {
    display: none;
}
/*.header_inner .toggle-menu-menu,
.header_inner .toggle-menu-logo, 
.header_inner .footer__logo
.header_inner .header_copy {
    display: none;
}
*/

.sub2 header {
	margin-top: 0!important;
	padding-top: 47px;
	position: relative;
	box-sizing: border-box;
}
.sub2 header h1 {
	position: absolute;
	top: 30px;
	left:  calc((100% - 1200px) /2);
}
.sub2 header h1 img {
	width: 170px;
}
.sub2 header .gnv {
	margin-left: 200px;
}
.sub2 .breadcrumbbox {
	padding-top: 15px ;
}

/* kv */
.area-kv {
    position: relative;
	width: 100%;
	height: 586px;
	overflow:hidden;
	margin-bottom: -80px;
}
.area-kv .video {
    z-index: 0;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
}

.area-kv video {
	position: absolute;
	left: 60%;
	object-fit: cover;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
    z-index: -100;
}

@media screen and (max-width: 1200px) {
	.area-kv video {
		width: auto;
		height: 100%;
	}
}

.area-kv_contact {
    position: relative;
	width: 100%;
	height: 210px;
}

.area-kv .kv_cover_l {
	position: absolute;
	left: 0;
	top: 0;
	width: calc((100% - 1200px) /2);
	height: 586px;
	background: #2D2D2D;
	z-index: 5;
}
.area-kv .kv_cover {
	width: 1200px;
	height: 586px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	background: url("/_common/image/top/kv_bac1.png?20210104") no-repeat;
	background-position: left;
}

.kv_logo2 { 
	position: absolute;
	top: 80px;
	left: calc((100% - 1200px) /2);
	z-index: 2;
}

.kv_logo { padding: 50px 0 30px;}
.kv__txt {
	font-size: 26px;
	padding: 30px 0px;
	color: #537BFF;
	font-weight: 700;
}

.sub_kv {
    position: relative;
	width: 100%;
	height: 250px;
	overflow:hidden;
	margin-bottom: -121px;

}
.sub_kv img.sub_kvimg {
    z-index: 0;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
}

.sub_kv img.sub_kvimg {
	position: absolute;
	left: 50%;
	object-fit: cover;
	top: 0%;
	transform: translate(-50%, -40%);
	width: 100%;
    z-index: 0;
}


.sub_kv_contact {
    position: relative;
	width: 100%;
	height: 210px;
}

.sub_kv .kv_cover_l {
	position: absolute;
	left: 0;
	top: 0;
	width: calc((100% - 1200px) /2);
	height: 250px;
	background: #2D2D2D;
	z-index: 5;
}
.sub_kv .kv_cover {
	width: 1200px;
	height: 250px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	background: url("/_common/image/top/kv_sub_bac1.png?20220105") no-repeat;
	background-position: 40% left;
}

.sub_kv img.sub_kvimg {
	position: absolute;
	left: 50%;
	object-fit: cover;
	top: 0%;
	transform: translate(-50%, -40%);
	width: 100%;
    z-index: 0;
}


.sub_kv2 {
    position: relative;
	width: 100%;
	height: 250px;
	overflow:hidden;
	margin-bottom: -121px;

}
.sub_kv2 .kv_cover {
	width: 1200px;
	height: 250px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
}

.sub_kv2 img.sub_kvimg {
	position: absolute;
	left:  calc((100% - 1200px) /2);
	object-fit: cover;
	bottom: 0%;
	width: 100%;
	border-radius: 0 0 0 250px;
    z-index: 0;
}

.scrollBtn {
	position: absolute;
	left: 0;
    bottom: 0;
    color: #fff;
    text-align: center;
    width: 100%;
    -webkit-animation: .8s ease-in 0s infinite scrollBtn;
            animation: .8s ease-in 0s infinite scrollBtn;
}
.scrollBtn a {
    position: relative;
    display: inline-block;
    color: #003b77;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    padding-bottom: 47px;
}
.scrollBtn a:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    display: block;
    border-right: solid 1px;
    height: 38px;
}

/* Page Header */
#page-title {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0;
    text-align: center;
    width: 100%;
}

/* breadcrumbs */

.breadcrumbbox {
	margin-top: -43px;
	position: relative;
		z-index: 1000;

}
.breadcrumbs {
	margin-left: calc((100% - 1200px) /2);

    font-size: 12px;
    padding: 8px 10px;
}
.breadcrumbs li {
    display: inline-block;
    vertical-align: middle;
    color: #8E8E8E;
    line-height: 1;
	margin-right: 5px;
}
.breadcrumbs li span {
	margin-left: 10px;
}
.breadcrumbs a {
    color: #8E8E8E;
	display: block;
    font-size: 1.167em;
}
.breadcrumbs i {
    margin: 0 .5em 0 .8em;
}
.breadcrumbs h2 {
    font-weight: 500;
}

/* Page Content */
#sub .article {
    padding: 95px 0;
}


/*====== footer =====*/


#pagetop {
	position: absolute;
    right: 0;
    bottom: 100%;
    padding: 15px 33px;
}
#pagetop a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding-top: 12px;
}
#pagetop a:before,
#pagetop a:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    display: block;
    background: #111;
    width: 1px;
    height: 35px;
    -webkit-transform-origin: 50% 0;
        -ms-transform-origin: 50% 0;
            transform-origin: 50% 0;
}
#pagetop a:before {
    -webkit-transform: rotate(60deg);
        -ms-transform: rotate(60deg);
            transform: rotate(60deg);
}
#pagetop a:after {
    -webkit-transform: rotate(-60deg);
        -ms-transform: rotate(-60deg);
            transform: rotate(-60deg);
}
#pagetop .font-en {
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

#footer {
}

.footer__logo {
    color: #686868;
    text-align: center;
	margin: 0px auto 20px;
}

.footer__main {
    background: url("/_common/image/footer/footer_bg.jpg?20220102") no-repeat;
	background-size: 100%;
	width: 100%;
	background-position: bottom;
	height: 1000px;
}

@media screen and (min-width: 1650px) {
.footer__main {
	background-position: center;
}
}

.footer__sub {
    background: url("/_common/image/footer/footer_sub_bg.png?20220103") no-repeat;
	background-size: 100%;
	width: 100%;
	background-position: bottom;
	height: 600px;
}

@media screen and (min-width: 1650px) {
.footer__sub {
	background-position: top 150px center;
}
}


#footer .gnv {
	text-align: center;
	margin: 20px auto 0px;
	box-sizing: border-box;
	padding: 0;
	height: 20px;
}
#footer .gnv li {
    display: inline-block;
	text-align: center;
    font-weight: 500;
	box-sizing: border-box;
	height: 20px;
	padding: 0;
	position: relative;
}
#footer .gnv li+li {
	margin-left: 30px;
	padding-left: 40px;
}
#footer .gnv li+li::after {
    content: "|";
    font-weight: 500;
    position: absolute;
    left: 0;
}
#footer .gnv li a {
	padding: 0!important;
	margin: 0!important;
	height: 20px;
}

.footer__info {
    line-height: 1.714;
}
.footer__info__ttl {
    font-size: 1.429em;
}

.sitemap {
	width: 1200px;
	margin: 20px auto 300px;
	display: flex;
	justify-content: space-between;
}
.sitemap li {
	width: 190px;
}
.sitemap li.li_sitemap {
	width: 30px;
}
.sitemap li.wit370 {
	width: 370px!important;
}
.sitemap li.wit280 {
	width: 280px!important;
}
.sitemap li:nth-child(n + 3) {
	border-left: solid 2px #AFAFAF!important;
	padding-left: 60px;
	box-sizing: border-box;
}
.sitemap h2 {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
text-orientation: sideways; 
	font-size: 24px;
	font-weight: bold;
	color: #999999;
}
.sitemap h3 {	
	margin: 20px 0;
	font-size: 18px;
}
.sitemap h3:before {
	content: "▶"
}
.sitemap li ul li {
	width: auto!important;
	border-left: none!important;
}
.sitemap li ul li:nth-child(n + 3) {
	border-left: none!important;
	padding-left: 0;
}
.sitemap li.circle::before {
	content: "●"
}
.footer__copy {
    color: #fff;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    padding: 20px 0px 40px;
  background: -moz-linear-gradient(left, rgba(0,0,0,1), rgba(93,97,171,1));
  background: -webkit-linear-gradient(left, rgba(0,0,0,1), rgba(93,97,171,1));
  background: linear-gradient(to right, rgba(0,0,0,1), rgba(93,97,171,1));
}
.totop{
    display: block;
    width: 80px;
    height: 80px;
    box-sizing: border-box;
  background: -moz-linear-gradient(-45deg, rgba(0,0,0,1), rgba(93,97,171,1));
  background: -webkit-linear-gradient(-45deg, rgba(0,0,0,1), rgba(93,97,171,1));
  background: linear-gradient(135deg, rgba(0,0,0,1), rgba(93,97,171,1));
    border-radius: 10px;
    padding-top: 33px;
    text-align: center;
    letter-spacing: -1px;
    font-size: 95%;
    text-decoration: none;
    color: #FFF;
    opacity: 1;
    position: fixed;
	right: 20px;
	bottom: 150px;
	z-index: 1000;
}
.totop::before{
    content: "";
    display: block;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    width: 35%;
    height: 35%;
    top: 25%;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    transform: rotate(-45deg);
}
.totop:hover{
    opacity: 0.5;
}

/* breadcrumb
============================================================ */
.breadcrumb {
  width: 100%;
	position: absolute;
	top: 235px;
}
.breadcrumb-list {
  width: 100%;
  max-width: 1200px;
  margin: 0px auto;
	padding: 0 10px;
  display: flex;
}
.breadcrumb-list li {
  font-size: 16px;
  font-weight: 500;
  margin-right: 5px;
  padding-right: 10px;
  line-height: 1;
}
.breadcrumb-list li+ li::before {
	content: ">";
	margin-right: 10px;
}
.breadcrumb-list li:last-child {
  margin: 0;
  padding: 0;
}


/*news*/
#news {
	width: 100%;
	padding: 0px 0;
}
#news .newsbox {
	width: 1200px;
	margin: 0 auto;
	position: relative;
	background: #fff;
	color: #231815;
	padding: 20px;
	box-sizing: border-box;
	height: 200px;
	overflow: auto;
}
#news .newsbox h2 {
	position: absolute;
	left: 20px;
	font-size: 38px;
	font-weight: 200;
	top: 50%;
	transform: translateY(-50%);
}
#news .newsbox dl {
	display: flex;
	justify-content: flex-start;
	margin-left: 150px;
	width: 1050px;
	margin-bottom: 10px;
}
#news .newsbox dl dt {
	width: 100px;
	font-size: 15px;
	padding-top: 0px;
}
#news .newsbox dl dd {
	width: 900px;
	margin-left: 15px;
	font-size: 18px;
	box-sizing: border-box;
	padding-right: 15px;
	line-height: 25px;
	padding-top: 4px;
}

.bg_black {
	background: #2D2D2D;
	color: #FFF;	
}

/*btn*/

.btn,
a.btn,
button.btn {
  position: relative;
  overflow: hidden;
	width: 400px;
  display: inline-block;
  padding: 0.0rem 0.2rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #FFF;
}
button.btn span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
}
a.btn2 {
  position: relative;
  overflow: hidden;
	width: 450px;
  display: inline-block;
  padding: 0.0rem 0.2rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #FFF;
}


.btn-wrap {
  display: block;
  width: 100%;
  margin: 0;
}
.btn-fix-right {
  display: block;
	width: 60px;
	height: 240px;
	position: fixed;
	top: 260px;
	right: -5px;
	z-index: 15;
}
a.btn-right {
  position: relative;
	width: 60px;
	height: 240px;
	background: #2D2D2D;
	border-radius: 7px 0 0 7px;
	display: flex;
	align-items: center;
	padding-top: 20px;
	writing-mode: vertical-rl;
	color: #FFF!important;
	font-size: 18px;
}
a.btn-right:before{
  content: "";
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
  border-bottom: solid 1px #fff;
  border-radius: 5px 0 0 5px;
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
}


a.btn-right:after{
  content: url("/_common/image/icon/ico_01.png?20220101");
  position: absolute;
  bottom: 25px;
  left: 0px;
}

a.btn-c2,
a.btn-c {
  font-size: 17px;

  display: block;
  overflow: hidden;
  font-weight: bold;
  padding: 0px 20px ;
}

a.btn-c2:before,
a.btn-c2:after,
a.btn-c:before,
a.btn-c:after {
  font-size: 2.0rem;
  font-weight: bold;
  position: absolute;
  top: 1.2rem;
  padding: 0 3rem;
  content: "";
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: top;
  transform-origin: top;
}
a.btn-c2:after,
a.btn-c:after {
	content: '';
    /*絶対配置で位置を指定*/
	position: absolute;
	z-index: 0;
	top: 0;
	left: -40px;
    /*色や形状*/
  background: -moz-linear-gradient(left, rgba(0,0,0,1), rgba(93,97,171,1));
  background: -webkit-linear-gradient(left, rgba(0,0,0,1), rgba(93,97,171,1));
  background: linear-gradient(to right, rgba(0,0,0,1), rgba(93,97,171,1));
	width:280px;
	height: 100%;
	transform: skewX(45deg);
}
a.btn-c2:after,
a.btn-c:after {
 /* border-bottom: solid 8px #8CC63F;
  left: 9rem;*/
}
a.btn-c2:hover,
a.btn-c:hover {
  transform: translateX(20px);
}


a.btn-c2:after {
	width:350px;
}

.btn-c3 {
  font-size: 17px;

  display: block;
  overflow: hidden;
  font-weight: bold;
  padding: 20px 20px ;
	cursor: default;
}

.btn-c3:before,
.btn-c3:after {
  font-size: 2.0rem;
  font-weight: bold;
  position: absolute;
  top: 1.2rem;
  padding: 0 2rem;
  content: "";
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: top;
  transform-origin: top;
}
.btn-c3:after {
	content: '';
    /*絶対配置で位置を指定*/
	position: absolute;
	z-index: 0;
	top: 0;
	left: -80px;
    /*色や形状*/
  background: -moz-linear-gradient(left, rgba(83,181,255,1), rgba(109,255,111,1));
  background: -webkit-linear-gradient(left, rgba(83,181,255,1), rgba(109,255,111,1));
  background: linear-gradient(to right, rgba(83,181,255,1), rgba(109,255,111,1));
	width:350px;
	height: 100%;
	transform: skewX(45deg);
}



/*ボタン内spanの形状*/
.btn span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
}


.btn-a {
  font-size: 18px;
	text-align: center;
	background: url("/_common/image/business/btn_01.png") no-repeat;
	width: 800px;
	height: 141px;
	box-sizing: border-box;
	margin: 20px auto;
	color: #FFF;
  display: block;
  overflow: hidden;
  font-weight: bold;
  padding: 50px 20px 0 ;
}

.btn-a:before,
.btn-a:after {
  font-size: 2.0rem;
  font-weight: bold;
  position: absolute;
  top: 1.2rem;
  padding: 0 12rem;
  content: "";
  -webkit-transform: rotate(55deg);
  transform: rotate(55deg);
  -webkit-transform-origin: top;
  transform-origin: top;
}
.btn-a:before {
  border-bottom: solid 8px #FFF;
  right: -4rem;
}
.btn-a:after {
  border-bottom: solid 8px #FFF;
  right: -5rem;
}

.btn-a:hover::before {
  right: -5rem;
}

.btn-a:hover::after {
  right: -6rem;
}
/*== 背景が流れる（斜め） */
.btn-b::before {
	content: '';
    /*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: -60px;
    /*色や形状*/
  background: -moz-linear-gradient(left, rgba(0,0,0,1), rgba(93,97,171,1));
  background: -webkit-linear-gradient(left, rgba(0,0,0,1), rgba(93,97,171,1));
  background: linear-gradient(to right, rgba(0,0,0,1), rgba(93,97,171,1));
	width:350%;
	height: 100%;
	transform: skewX(45deg);
}
a.btn-b:hover {
  transform: translateX(20px);

}

.btnarrow4{
    /*矢印の基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/
  border: 1px solid #fff;
    padding: 8px 30px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    color: #fff;
    outline: none;
	margin-top: 30px;
  background: -moz-linear-gradient(left, rgba(140,198,63,1), rgba(76,172,63,1));
  background: -webkit-linear-gradient(left, rgba(140,198,63,1), rgba(76,172,63,1));
  background: linear-gradient(to right, rgba(140,198,63,1), rgba(76,172,63,1));
    /*アニメーションの指定*/
    transition: all .2s linear;
}

.btnarrow4:hover{
  background: -moz-linear-gradient(left, rgba(76,172,63,1), rgba(140,198,63,1));
  background: -webkit-linear-gradient(left, rgba(76,172,63,1), rgba(140,198,63,1));
  background: linear-gradient(to right, rgba(76,172,63,1), rgba(140,198,63,1));
}

/*矢印と下線の形状*/
.btnarrow4::before{
  content:"";
    /*絶対配置で下線の位置を決める*/
  position: absolute;
  top:50%;
  right:-28px;
    /*下線の形状*/
  width:42px;
  height:1px;
  background:#fff;
    /*アニメーションの指定*/
    transition: all .2s linear;
}

.btnarrow4::after{
  content:"";
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top: 22%;
    right: -21px;
    /*矢印の形状*/
  width:1px;
  height:15px;
  background:#fff;
    transform:skewX(45deg);
    /*アニメーションの指定*/
    transition: all .2s linear;
}

/*hoverした際の移動*/
.btnarrow4:hover::before{
  right:-30px;
}

.btnarrow4:hover::after{
  right:-25px;
}


.btnarrow5{
    /*矢印の基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/
  border: 1px solid #999;
    padding: 8px 30px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    color: #fff;
    outline: none;
	margin-top: 30px;
  background: -moz-linear-gradient(left, rgba(140,198,63,1), rgba(76,172,63,1));
  background: -webkit-linear-gradient(left, rgba(140,198,63,1), rgba(76,172,63,1));
  background: linear-gradient(to right, rgba(140,198,63,1), rgba(76,172,63,1));
    /*アニメーションの指定*/
    transition: all .2s linear;
}

.btnarrow5:hover{
  background: -moz-linear-gradient(left, rgba(76,172,63,1), rgba(140,198,63,1));
  background: -webkit-linear-gradient(left, rgba(76,172,63,1), rgba(140,198,63,1));
  background: linear-gradient(to right, rgba(76,172,63,1), rgba(140,198,63,1));
}

/*矢印と下線の形状*/
.btnarrow5::before{
  content:"";
    /*絶対配置で下線の位置を決める*/
  position: absolute;
  top:50%;
  right:-28px;
    /*下線の形状*/
  width:42px;
  height:1px;
  background:#999;
    /*アニメーションの指定*/
    transition: all .2s linear;
}

.btnarrow5::after{
  content:"";
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top: 22%;
    right: -21px;
    /*矢印の形状*/
  width:1px;
  height:16px;
  background:#999;
    transform:skewX(45deg);
    /*アニメーションの指定*/
    transition: all .2s linear;
}

/*hoverした際の移動*/
.btnarrow5:hover::before{
  right:-30px;
}

.btnarrow5:hover::after{
  right:-25px;
}


/*---------- campany ------------------*/

/*campany_sec1*/

#campany_sec1 {
	background: url("/_common/image/company/pic_01.jpg?20220105");
	background-size: 100%;
	color: #FFF;
}
#campany_sec1 .mainbox_cont {
	position: relative;
	height: 800px;
}
#campany_sec1 .mainbox_cont .campany_txt1 {
	font-size: 20px;
}
#campany_sec1 .mainbox_cont .subTit {
	position: absolute;
	top: 250px;
	height: 500px;
	right: 350px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-family: "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
	font-size: 30px;
    line-height: 2.5;
}
#campany_sec1 .mainbox_cont .ceo {
	position: absolute;
	bottom: -20px;
	left: 0;
	z-index: 1;
	font-family: "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
	font-size: 15px;
	line-height: 22px;
}
#campany_sec1 .mainbox_cont .ceo span {
	font-size: 20px;	
	letter-spacing: 0.3em;
}
#campany_sec1 .mainbox_cont .ceo_img {
	position: absolute;
	bottom: -48px;
	left: -10%;
	z-index: 0;
}


/*---------- business ------------------*/

/*business_sec1*/

#business_sec1 {
	background: url("/_common/image/business/bg_01.jpg") no-repeat;
	background-size: 60%;
	background-position: top 0px right 0;
	padding-bottom: 60px;
}
#business_sec2 {
	background: url("/_common/image/business/bg_02.jpg") no-repeat;
	background-position: top 0px left 0;
	background-size: 60%;
	padding-bottom: 100px;
}

#business_sec3 {
	background: url("/_common/image/business/bg_03.jpg") no-repeat;
	background-position: top 0px right 0;
	background-size: 60%;
	padding-bottom: 160px;
}

#business_sec1 .mainbox_cont {
	position: relative;
}
#business_sec1 .mainbox_cont h3,
#business_sec2 .mainbox_cont h3,
#business_sec3 .mainbox_cont h3 {
	font-size: 66px;
	line-height: 90px;
	position: relative;
	font-family: futura-pt, sans-serif;
	font-weight: 600;
	font-style: oblique;
	color: #303263;
}
#business_sec2 .mainbox_cont h3 {
	text-align: right;
	color: #410000;
}
#business_sec3 .mainbox_cont h3 {
	color: #004400;
	padding-bottom: 30px;
}

#business_sec1 .mainbox_cont h3 span,
#business_sec2 .mainbox_cont h3 span,
#business_sec3 .mainbox_cont h3 span {
	position: absolute;
	top: 55px;
	font-size: 17px;
	font-family: "Noto Sans CJK JP", "Noto Sans", sans-serif,"游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-style: normal
}
#business_sec2 .mainbox_cont h3 span {
	right: 0px;
}
#business_sec1 .mainbox_cont p,
#business_sec2 .mainbox_cont p,
#business_sec3 .mainbox_cont p {
	margin-bottom: 20px;
}

#business_sec2 .mainbox_cont p {
	text-align: right;
}


/*---------- consulting ------------------*/

/*consulting_sec1*/

#consulting_sec1 .btnarrow5 {
	width: 420px;
	margin-top: 15px;
}
#consulting_sec1 .mainbox_cont p {
	margin-top: 30px;
}


/*swiper*/
.swiper--box {
  /* wrapperのサイズを調整 */
  width: 1200px;
  margin: 20px auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;

}
.swiper_outer {
	  width: 580px;
	margin-bottom: 20px;
	position: relative;
}

.swiper_outer h3 {
	width: 300px;
	color: #FFF!important;
	position: absolute;
	padding: 10px;
	top: 0;
	left: 0;
	z-index: 10;
  background: -moz-linear-gradient(right, rgba(44,80,63,0.8), rgba(140,198,63,0.8));
  background: -webkit-linear-gradient(right, rgba(44,80,63,0.8), rgba(140,198,63,0.8));
  background: linear-gradient(to left, rgba(140,198,63,0.8), rgba(44,80,63,0.8));
}

.swiper-slide {
  /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
  color: #ffffff;
  width: 580px;
  height: 100%;
  text-align: center;
  line-height: 400px;
}

.swiper-slide img {
	width: 100%
}

.mySwiper5,
.mySwiper4,
.mySwiper3,
.mySwiper2,
.mySwiper1 {
  height: 330px;
  width: 580px;
   overflow: hidden;
}
.mySwiper5_sum,
.mySwiper4_sum,
.mySwiper3_sum,
.mySwiper2_sum,
.mySwiper1_sum {
  height: 100px;
  box-sizing: border-box;
  padding: 10px 0;
}

.mySwiper5_sum .swiper-slide,		
.mySwiper4_sum .swiper-slide,		
.mySwiper3_sum .swiper-slide,		
.mySwiper2_sum .swiper-slide,		
.mySwiper1_sum .swiper-slide {
  width: 25%;
  height: 62px;
   overflow: hidden;
  opacity: 0.6;
	margin-bottom: 20px;
}

.mySwiper5_sum .swiper-slide-thumb-active,		
.mySwiper4_sum .swiper-slide-thumb-active,		
.mySwiper3_sum .swiper-slide-thumb-active,		
.mySwiper2_sum .swiper-slide-thumb-active,		
.mySwiper1_sum .swiper-slide-thumb-active {
  opacity: 1;
}

#consulting_sec2 {
	text-align: center;
}
#consulting_sec2 h3 {
	color: #8CC63F;
	font-weight: bold;
	margin: 20px auto;
	font-size: 20px;
}
#consulting_sec2 video {
	width: 100%;
}

#consulting_sec3 h4 {
	border: 1px solid #8CC63F;
	color: #8CC63F;
	text-align: center;
	padding: 6px;
	font-weight: bold;
	background: #FFF;
	border-radius: 100vh;
	position: relative;
	z-index: 21;
	margin: 10px 0 30px -20px;
	width: 800px;
}

/*========= バー表示のためのCSS ===============*/

/*タイムライン全体の設定*/
.timeline{
  width:100%;
  margin:50px auto 100px;
  padding:0 30px;
}

.timeline li{
    /*線の起点とするためrelativeを設定*/
    position: relative;
  list-style: none;
  padding:0 0 10px 0px;
}

.timeline dl{
  margin:0 0 10px 0em;
}

.timeline dt {
	padding-left: 25px;
	line-height: 22px;
}
.timeline dd {
  padding:10px 0 0px 20px;
	
}

/*絶対配置で線を設定*/
.border-line {
    /*線の位置*/
  position: absolute;
  left:0.3em;
  top:20px;
  width:2px;/*線の太さ*/
  height:0;/*はじめは高さを0に*/
  background: #FFF300;
	z-index: 20;
}

/*タイムラインの見出し横の丸の位置と形状*/
.timeline li::after{
  content:'';
  position: absolute;
  top:4px;
  left:-3px;
  width:18px;
  height: 18px;
  background:#FFF300;
  border-radius: 50%;
}


.button-hex1 {
    font-size: 14px;
    line-height: 28px;
    position: relative;
    z-index: -10;
    display: block;
    width: 250px;
    height: 28px;
    transition: .1s ease-in-out;
    text-decoration: none;
    color: #fff;
    border-top: 2px solid #696969;
    border-bottom: 2px solid #696969;
    background-color: #696969;
}
.button-hex1:before,
.button-hex1:after {
    position: absolute;
    top: 2px;
    width: 20px;
    height: 20px;
    content: '';
    transition: .1s ease-in-out;
    transform: perspective(12px);
    transform: rotate(45deg);
    border: 0;
    background-color: #696969;
}
.button-hex1:before {
    left: -10px;
    border-bottom: 2px solid #696969;
    border-left: 2px solid #696969;
}
.button-hex1:after {
    right: -10px;
    border-top: 2px solid #696969;
    border-right: 2px solid #696969;
}


.button-hex2 {
    font-size: 14px;
    line-height: 28px;
    position: relative;
    z-index: -10;
    display: block;
    width: 250px;
    height: 28px;
    transition: .1s ease-in-out;
    text-decoration: none;
    color: #fff;
    border-top: 2px solid #3F3F3F;
    border-bottom: 2px solid #3F3F3F;
    background-color: #3F3F3F;
}
.button-hex2:before,
.button-hex2:after {
    position: absolute;
    top: 2px;
    width: 20px;
    height: 20px;
    content: '';
    transition: .1s ease-in-out;
    transform: perspective(12px);
    transform: rotate(45deg);
    border: 0;
    background-color: #3F3F3F;
}
.button-hex2:before {
    left: -10px;
    border-bottom: 2px solid #3F3F3F;
    border-left: 2px solid #3F3F3F;
}
.button-hex2:after {
    right: -10px;
    border-top: 2px solid #3F3F3F;
    border-right: 2px solid #3F3F3F;
}


/*---------- sub_sec ------------------*/

#sub2_kv {
	width: 100%;
	margin: 0 auto 20px;
	display: flex;
	justify-content: space-between;
}
#sub2_kv .sub2_kvTxt {
	width: 49%;
	padding-top: 20px;
	padding-left: calc((100% - 1200px) /2);
	box-sizing: border-box;
}
#sub2_kv .sub2_kvImg {
	width: 49%;
}
#sub2_kv .sub2_kvImg img {
	width: 100%;
	height: 478px;
	border-radius: 0 0 0 150px;
	object-fit: cover;
	object-position: 0 50%
}

#sub2_kv h2 {
	font-size: 40px!important;
	color: #000;
	font-weight: 700;
}

#sub2_kv h2 span {
	font-size: 14px!important;
}
#sub2_kv .business_txt1 {
	font-size: 24px;
	font-weight: bold;
	margin: -20px 0 20px;
	line-height: 40px;
}
#sub2_kv .sec4_box {
	width: 100%;
}
#sub2_kv .sec4_box_img h3 {
	width: 300px;
	border-top: solid 2px #FFF;	
	bottom: 100px;
}

#sub2_kv .sec4_box_img h3 span {
	font-size: 80px;
	margin-left: 15px;
	padding-top: 5px;
}

/*---------- sub_nav ------------------*/

.sub_nav {
	width: 1200px;
	margin: 20px auto 0;
	display: flex;
	justify-content: space-between;
}
.sub_nav ul {
	display: flex;
	justify-content: space-between;
}

.sub_nav ul.menu5,
.sub_nav ul.menu2 {
	width: 66.6%;
}

.sub_nav ul.menu6,
.sub_nav ul.menu4,
.sub_nav ul.menu3 {
	width: 30%;
}
.sub_nav ul.menu7 {
	width: 75%;
}

.sub_nav ul.active3,
.sub_nav ul.active2,
.sub_nav ul.active1 {
	width: 30%;
}
.sub_nav ul.active4 {
	width: 25%;
}



.sub_nav ul .btn_sub,
.sub_nav ul a.btn_sub {
	color: #fff;
	display: block;
}
.sub_nav ul.menu7 a.btn_sub,
.sub_nav ul.menu6 a.btn_sub,
.sub_nav ul.menu5 a.btn_sub,
.sub_nav ul.menu4 a.btn_sub,
.sub_nav ul.menu3 a.btn_sub,
.sub_nav ul.menu2 a.btn_sub {
  font-size: 17px;

  display: block;
  overflow: hidden;
  font-weight: bold;
  padding: 0px 20px ;
	background: url("/_common/image/business/nav_01.png") no-repeat;
	background-position: right;
	background-size: 100%;
	width: 370px;
	box-sizing: border-box;
}
.sub_nav ul.menu7 a.btn_sub {
	width: 300px;
}

.sub_nav ul.active4 .btn_sub,
.sub_nav ul.active3 .btn_sub,
.sub_nav ul.active2 .btn_sub,
.sub_nav ul.active1 .btn_sub {
  font-size: 17px;
  margin-bottom: 10px;
  display: block;
  overflow: hidden;
  font-weight: bold;
  padding: 10px 10px ;
	cursor: default;
	background: url("/_common/image/business/nav_02.png") no-repeat;
	background-position: right;
	background-size: 100%;
	width: 400px;
	box-sizing: border-box;
}.sub_nav ul.active4 .btn_sub {
  font-size: 17px;

  display: block;
  overflow: hidden;
  font-weight: bold;
  padding: 20px 20px ;
	cursor: default;
	background: url("/_common/image/business/nav_02.png") no-repeat;
	background-position: right;
	background-size: 100%;
	width: 300px;
	box-sizing: border-box;
}


/*---------- sub_nav2 ------------------*/
.sub_nav2 {
	width: 100%;
	background: #C1C1C1;
}
.sub_nav2 ul {
	width: 1200px;
	margin: 0px auto;
	display: flex;
	justify-content: space-between;
	padding: 5px 0 10px;
} 
.sub_nav2 ul.nav6 {
	flex-wrap: wrap;
}
.sub_nav2 ul li a {
	display: block;
	padding-left: 12px;
}
.sub_nav2 ul li {
	position: relative;
  border-bottom: 4px solid #c21500;
  border-image: linear-gradient(to right, #000 0%, #537BFF 100%);
  border-image-slice: 1;
}
.sub_nav2 ul.nav4 li {
	width: 23%;
	position: relative;
  border-bottom: 4px solid #c21500;
  border-image: linear-gradient(to right, #000 0%, #537BFF 100%);
  border-image-slice: 1;
}

.sub_nav2 ul.nav6 li {
	width: 25.2%;
}
.sub_nav2 ul li.with1 {
	width: 30%;
}
.sub_nav2 ul li.with2 {
	width: 38%;
}

.sub_nav2 ul li::after {
	content: url("/_common/image/icon/ico_02.png");
	position: absolute;
	top: 8px;
	right: 0;
}

/*---------- sub_nav3 ------------------*/

.sub_nav3 {
	width: 1200px;
	margin: 20px auto 0;
}
.sub_nav3 ul {
	display: flex;
	justify-content: space-between;
}

.sub_nav3 ul li,
.sub_nav3 ul li a {
	color: #fff;
	  font-weight: bold;
}
.sub_nav3 ul li a {
	background: url("/_common/image/business/nav_01.png") no-repeat;
	display: block;
	display: flex;
	align-items: center;
	  overflow: hidden;
	background-position: right;
	padding-left: 20px;
}

.sub_nav3 ul li.active {
	background: url("/_common/image/business/nav_02.png") no-repeat;
	background-position: right;
	padding: 8px 0 8px 20px;
}

.sub_nav3 ul.column4 li {
	width: 25%;
}

/*---------- table ------------------*/
.business h4 {
	width: 60%;
	background: linear-gradient(90deg, #537BFF, #FFF);
	padding: 10px 0;
	padding-left: calc((100% - 1200px) /2);
	box-sizing: border-box;
	color: #FFF;
	font-size: 16px;
	margin: 30px 0 15px;
}
.business h4.no_bg {
	background: transparent!important;
	color: #000;
	padding: 0px;
	font-size: 20px;
}
table.table01{
	width: 96%;
	max-width: 1200px;
	box-sizing: border-box;
	margin: 20px auto 7px;
  border-collapse:separate;
  border-spacing: 0;
}

table.table01 th:first-child{
  border-radius: 7px 0 0 0;
}

table.table01 th:last-child{
  border-radius: 0 7px 0 0;
  border-right: 1px solid #000;
}

table.table01 th{
  text-align: center;
  color:white;
  border-left: 1px solid #000;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background: #666666;
  width: 25%;
  padding: 10px 0;
}

table.table02{
	width: 96%;
	max-width: 1200px;
	margin: 0px auto 7px;
  border-collapse:separate;
  border-spacing: 0;
	box-sizing: border-box;
}

table.table03 td,
table.table02 td{
  text-align: center;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  width: 25%;
  padding: 10px 0;
}

table.table03 td:last-child,
table.table02 td:last-child,
table.table01 th:last-child{
  width: 45%;
}

table.table03 td:last-child,
table.table02 td:last-child{
  border-right: 1px solid #000;
	text-align: left;
	position: relative;
}

table.table03{
	width: 96%;
	max-width: 1200px;
	margin: 0px auto 50px;
  border-collapse:separate;
  border-spacing: 0;
	box-sizing: border-box;
}

table.table03 td.td_ll {
  border-radius: 0 0 0 7px;
}

table.table03 tr:last-child td:last-child {
  border-radius: 0 0 7px 0;
}

table tr td.borderBtNo {
	border-bottom: none!important;
}
table td .detail {
	padding: 0px 10px;
	height: 36px;
	line-height: 36px;
	box-sizing: border-box;
	text-align: center;
	background: #537BFF;
	color: #fff;
	border-radius: 5px;
}

table td .detailBox {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 15px 0 30px;
}

table.table04 {
	width: 100%;
 text-align: center;
 border-collapse: collapse;
 border-spacing: 0;
}
table.table04 th {
 padding: 10px;
 background: #F6F6F6;
 border: solid 1px #E2E2E2;
width: 20%;
}
table.table04 td {
 padding: 10px;
 border: solid 1px #E2E2E2;
 text-align: left;
}
table.companytable th {
 background: #E1E1E1!important;
}
table.companytable th,
table.companytable td {
 border: solid 1px #000;
}
table.companytable td {
 padding-left: 50px;
	text-align: left;
}

table.table05 {
	width: 100%;
 /*text-align: center;*/
 border-collapse: collapse;
 border-spacing: 0;
}
table.table05 th {
 padding: 10px;
 background: #666666;
 border: solid 1px #000;
	color: #FFF;
}
table.table05 td {
 padding: 10px;
 border: solid 1px #000;
}
/*---------- waku contents ------------------*/

.recruit2 h5,
.business h5,
.company h5 {
	width: 100%;
	margin: 20px auto 0px;
  border: 1px solid #000;
  padding: 10px 30px;
  background: #666666;
  border-radius: 7px 7px 0 0;
	color: #FFF;
	box-sizing: border-box;
}
.recruit2 h5::before,
.business h5::before,
.company h5::before {
	content: "■";
}
.recruit2 h5.nomark::before, 
.business h5.nomark::before, 
.company h5.nomark::before {
	content: "";
}
.box_01{
  margin: 0px auto 20px;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  border-radius:  0 0 7px 7px;
}


.business h6 {
	margin: 40px 0 20px;
}
.box1200 {
	width: 1200px;
  padding: 20px 50px;
}

.box1200_2 {
	width: 1200px;
  padding: 20px 20px;
}

.boxhalf_pc,
.boxhalf {
	width: 590px;
  padding: 20px 15px;
}

.boxhalf_pc0,
.boxhalf0 {
	width: 590px;
  padding: 20px 0px;
}

.boxhalf_pc02 {
	width: 49%;
  padding: 20px 0px;
}

.box_01fl_pc_sp,
.box_01fl_pc {
	display: flex;
	justify-content: space-between;
}
.box_01fl_sp {
	display: block;
}
.width1300 {
	width: 1300px;
	margin: 0 auto;
}

.width1200 {
	width: 1200px;
	margin: 0 auto;
}
.width1170 {
	width: 1170px;
	margin: 0 auto;
}

.maxwidthipad {
	max-width: 90%!important;
	margin-left: auto!important;
	margin-right: auto!important;
}

.maxwidthipad2 {
	max-width: 98%!important;
	margin-left: auto!important;
	margin-right: auto!important;
}

.maxwidthipad3 {
	max-width: 96%!important;
	margin-left: auto!important;
	margin-right: auto!important;
}

.maxwidthipad4 {
	max-width: 93%!important;
	margin-left: auto!important;
	margin-right: auto!important;
}

.maxwidthipad5 {
	max-width: 100%!important;
	margin-left: auto!important;
	margin-right: auto!important;
}

.width100 {
	width: 100%;
	margin-bottom: 15px;
}
.width90pc {
	width: 87%;
}
.width80pc {
	width: 77%;
}
.width75pc {
	width: 73%;
}
.width70pc {
	width: 67%;
}
.width60pc {
	width: 57%;
}
.width50pc {
	width: 49%;
}
.width40pc {
	width: 39%;
}
.width30pc {
	width: 29%;
}
.width25pc {
	width: 22%;
}
.width20pc {
	width: 19%;
}
.width90 {
	width: 90%;
}
.width60 {
	width: 59%;
}
.width50 {
	width: 49%;
}
.width40 {
	width: 40%;
}

.margin_auto {
	margin: 0 auto;
}

.margin_20_auto {
	margin: 20px auto;
}
.margin_30_auto {
	margin: 30px auto;
}

.video_a{
	text-align: center;
	width: 600px;
	height: 300px;
}
.video_a video{
	width: 90%;
	height: auto;
	text-align: center; 
}
.pad_l20pc {
	padding-left: 20px;
	box-sizing: border-box;
}

.boxFlow li {
	border: solid 1px #666;
	padding: 0px 10px;
	text-align: center;
	position: relative;
  margin-bottom: 22px;
}
.boxFlow li:not(:last-child)::after {
	content: url("/_common/image/business/01/ico_01.png?20220101");
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -28px;
}

.boxFlow2 {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 20px auto 30px;
}

.boxFlow2 li {
	width: 47%;
	position: relative;
}
.boxFlow2 li:not(:last-child)::after {
	content: url("/_common/image/business/01/ico_02.png?20220102");
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -38px;
}

.boxFlow3 {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 20px auto 30px;
}
.boxFlow3 li {
	width: 47%;
	position: relative;
}
.boxFlow3 li:not(:last-child)::after {
	content: url("/_common/image/business/01/ico_02.png?20220102");
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -25px;
}
.w_img {
	width: 80%;
	margin: 0 auto;
}

.ankerless {
	background: #DBDBDB;
	text-align: center;
	width: 100%;
}

/*---------- /01/01_03 ------------------*/

.tit2::before {
	content: "■";
	margin-right: 3px;
}

.table_0103Box {
	width: 80%;
	margin: 20px auto;
}
.img_0103_01box {
	width: 90%;
	margin: 40px auto;
}

.img_0103_02box {
	width: 96%;
	margin: 20px auto;
}

.img_0103_02l {
	width: 540px;
}
.img_0103_02r {
	width: 455px;
}

.img_0103_03box {
	width: 100%;
	margin: 20px auto;
}
.img_0103_03l {
	width: 480px;
}
.img_0103_03r {
	width: 520px;
}


.boxFlow4Tit {
	border: solid 1px #484848;
	background: #949494;
	color: #FFF;
	border-radius: 8px;
	padding: 0px 10px;
	text-align: center;
	position: relative;
	margin-bottom: 10px;
	font-size: 18px;
}
.boxFlow4 li {
	border: solid 1px #484848;
	background: #EFEFEF;
	border-radius: 8px;
	padding: 10px 10px;
	text-align: left;
	position: relative;
  margin-bottom: 22px;
	display: flex;
	justify-content: space-between;
}
.boxFlow4 li:not(:last-child)::after {
	content: url("/_common/image/business/01/ico_01.png?20220101");
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -28px;
}
.boxFlow4 li .flow4tit {
	width: 35%;	
	align-items: center;
	font-weight: bold;
	margin: 0;
	line-height: 20px;
}
.boxFlow4 li .flow4txt {
	width: 65%;	
	align-items: center;
	font-size: 12px;
}
.boxFlow4 li .flow4txt dd {
	margin: 0;
	line-height: 16px;
}
/*.boxFlow4 li .flow4txt dd::before {
	content: "・";
}*/
.lh30 {
	line-height: 30px;
}
.lh24 {
	line-height: 24px;
}
ol.number {
	margin-left: 2em; /* サイトに合せて調整 */
}
 
ol.number li {
	list-style-type: none;
	counter-increment: cnt;
	margin-bottom: 20px;
	line-height: 20px;
}
 
ol.number li::before {
	content: "(" counter(cnt) ")";
	display:inline-block;
	margin-left:-2em; /* サイトに合せて調整 */
	width: 2em; /* サイトに合せて調整 */
}

/*---------- /02/ ------------------*/

.nav6_mb {
	margin-bottom: 15px;
}
.flex02 {
	display: flex;
	justify-content: center;
}
.box_02l {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
text-orientation: sideways; 
	font-family: zen-kaku-gothic-antique, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 40px;
	color: #537BFF;
	width: 40px;
	padding-top: 20px;
}
.box_02r {
	width: calc( 100% - 40px);
	
}

.pad_01{
  padding: 20px;
	box-sizing: border-box;
}

.flex02_01 {
	width: 31.8%;
}

.flex02_02 {
	width: 67%;
}

.flex02_02_01 {
	width: 36.8%;
}
.flex02_02_02 {
	width: 60%;
}

.flex02_03_01 {
	width: 42%;
	margin-bottom: 40px;
}
.flex02_03_02 {
	width: 50%;
	margin-bottom: 40px;
}

/*---------- /03/ ------------------*/

.business03box {
	width: 96%;
	margin: 20px auto 20px;
}
.business03box p {
	margin-bottom: 20px;
}

ul.business03 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

ul.business03 li {
	text-align: center;
	margin-bottom: 20px;
}

ul.business03::after {
	content: "";
	display: block;
	width: 30%;
	height: 0;
}

ul.column3sp li,
ul.column3 li {
	width: 30%;
}

ul.column4 li {
	width: 24%;
}

.business03Img1,
.business03Img2 {
	width: 86%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.b03Img1,
.b03Img2 {
	width: 46%;
	text-align: center;
}
.b03Img2 {
	margin-bottom: 20px;
}
/*---------- achievement ------------------*/

.achievement {
	width: 1200px;
	margin: 0 auto;
}

.achievementbox {
	width: 100%;
	margin: 20px auto 20px;
}
.achievementbox ul li{
	margin-bottom: 0;
}
.achievementbox p {
	margin-bottom: 20px;
}
.introduction{
	margin: 10px 0 20px;
	font-weight: normal;
	line-height: 1.5;
}
/*---------- company ------------------*/

.company {
	width: 100%;
}
.company01 {
	width: 100%;
	background: url("/_common/image/company/bac_01.jpg?20220102") no-repeat;
	background-position: left;
}
.company .greeting {
	margin: 40px auto 0;
	min-width: 1200px;
	max-width: 1400px;
	background-position: left bottom;
	min-height: 485px;
}
.company .greeting_inner {
	margin: 0 auto;
	width: 580px;	
	margin-left: 30%;
	box-sizing: border-box;
}
.company .greeting_inner p{
	font-weight: 800;
    font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;

}
.company .greeting h4 {
	font-size: 26px;
	margin: 20px 0;
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.company .greeting .ceo {
	font-size: 22px;
	text-align: right;
	margin: 40px 0 0;
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: bolder;
}
.company .greeting .ceo span{
	font-size: 25px;
	font-weight: bolder;
}
.knowledge {
	width: 1100px;
	padding-top: 120px;
	margin: 0 auto 150px;
}

/*---------- access ------------------*/

.accessnav {
	width: 650px!important;
	margin: 0!important;
	display: flex;
	justify-content: space-between;
}
.accessBox {
	width: 96%;
	border-bottom: 1px solid #666;
	padding-bottom: 40px;
	padding-top: 20px;
	margin: 20px auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.accessBox:last-child {
	border-bottom: none;
}
.accessTxt {
	width: 35%;
}
.accessTxt span{
	font-size: 22px;
	font-weight: bold;
}
.accessMap {
	width: 64%;
}
.accessMap iframe {
	width: 100%;
}

/*---------- recruit ------------------*/

.recruit {
	width: 1200px;
	margin: 40px auto;
}
.recruit h4.bar_01 {
	width: 510px;
	margin: 20px auto;
	text-align: center;
	font-size: 22px;
	line-height: 20px;
	height: 45px;
	background: url("/_common/image/recruit/bar_01.png?20220101") no-repeat bottom;
	background-size: contain;
} 
.recruit h4.bar_02 {
	width: 900px;
	margin: 70px auto;
	text-align: center;
	font-size: 24px;
	line-height: 20px;
	height: 50px;
	background: url("/_common/image/recruit/bar_02.png?20220101") no-repeat bottom;
	background-size: contain;
} 

.recruit03,
.recruit02,
.recruit01 {
	display: flex;
	justify-content: space-between;
	padding: 100px 0 0;
}
.recruit02 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
	
}
.recruit01Txt,
.recruit01Img {
	width: 50%;
	position: relative;
}
.recruit01Txt {
	padding: 60px 10px 20px 20px;
	background: #EAEAEA;
	border-radius: 8px;
}
.recruit01Txt h5 {
	position: absolute;
	top: 10px;
	left: 20px;
	font-size: 32px;
	font-weight: bold;
	z-index: 3;
}

.recruit01Txt h6 {
	font-size: 17px;
	font-weight: bold;
}
.num {
	position: absolute;
	color: #FFF;
	font-size: 100px;
	font-weight: bold;
	text-align: center;
	font-family: zen-kaku-gothic-antique, sans-serif;
	width: 150px;
	border-radius: 75px;
	padding: 0;
	line-height: 150px;
	box-sizing: border-box;
}
.recruit01 .num {
	background: #E7B2DB;
	top: -100px;
	left: -40px;
}
.recruit02 .num {
	background: #F7CBAF;
	top: -100px;
	right: -40px;
}
.recruit03 .num {
	background: #CDEEEC;
	top: -100px;
	left: -40px;
}

.recruit a.btn-c {
	margin: 0px auto 50px;
	text-align: center;
	padding-left: 0;
}

.recruit a.btn-c:after {
	width: 400px;
	
}

.recruit2 h6 {
	font-size: 24px;
	margin-bottom: 20px;
}
.recruit2 p {
	font-size: 14px;
}
.recruit2 .sub_1 {
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	line-height: 1.2;
	padding-top: 2%;
}
.recruit2_1Box {
	width: 86%;
	margin: 20px auto;
}

.recruit2_2Box {
	width: 94%;
	margin: 20px auto;
}

/* tab-wrap
============================================================ */
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 0;
}
.tab-wrap:after {
  content: '';
  width: 100%;
  height: 10px;
  background: #8CC63F;
	background-position: right;
  display: block;
  order: -1;
}
.tab-label {
  color: White;
  background: LightGray;
  font-weight: bold;
	font-size: 22px;
  white-space: nowrap;
  text-align: left;
  padding: 3px 1.3em 10px;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
	background: url("/_common/image/recruit/bac_02.png?20220103")no-repeat;
	background-position: right 30px top 0;
	margin-bottom: 13px;
}
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-content {
  width: 96%;
	margin: 0 auto;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.tab-switch:checked+.tab-label {
 /* background: #325A8C;*/
	background: url("/_common/image/recruit/bac_01.png?20220103")no-repeat;
	background-position: right 30px top 0;
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: .5s opacity;
}
.tab-switch {
  display: none;
}



/*---------- contact ------------------*/


/*contact_sec1*/

#contact_sec1 {
	margin-top: 15px;
	margin-bottom: 0;
}


#contact_sec1 #contact-form-text {
  margin-bottom: 50px;
}

#contact_sec1 #contact-form-text p {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  letter-spacing: 0.025em;
  line-height: 2.3;
}

#contact_sec2 {
	margin: 40px auto;
	width: 1200px;
	border-radius: 15px;
	background: #F3F3F3;
}

#contact_sec2 h3 {
	font-size: 20px;
}

#contact_sec2 h3.complete1 {
	margin-left: 50px;
}
#contact_sec2 h3.complete2 {
	margin: 50px auto 150px;
	text-align: center;
}


#contact_sec2 form .form-box {
  padding: 30px 18px 18px 18px;
	width: 1100px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

#contact_sec2 form .form-box .form-heading {
  width: 25%;
  height: auto;
}

#contact_sec2 form .form-box .form-heading p {
  font-size: 18px;
  color: #222222;
	position: relative;
	font-weight: bold;
	padding-top: 10px;
}

#contact_sec2 form .form-box .required {
  width: 12%;
  height: auto;
}

#contact_sec2 form .form-box p .required {
  font-size: 12px;
  font-weight: 500;
  color: white;
  display: block;
  width: 63px;
  padding: 3px 0;
  background: #FF8500;
  border-radius: 4px;
  text-align: center;
	position: absolute;
	top: 10px;
	right: 20px;
}

#contact_sec2 form .form-box .unrequired {
  width: 12%;
  height: auto;
}

#contact_sec2 form .form-box p .unrequired {
  font-size: 12px;
  font-weight: 500;
  color: white;
  display: block;
  width: 63px;
  padding: 3px 0;
  background: #003b77;
  border-radius: 4px;
  text-align: center;
	position: absolute;
	top: 10px;
	right: 20px;
}

#contact_sec2 form .form-box .inputrequiredbox {
  width: 70%;
}

#contact_sec2 form .form-box .inputrequiredbox input {
  font-size: 16px;
  color: #333;
}
#contact_sec2 form .form-box .inputrequiredbox input.input100 {
  width: 100%;
}
#contact_sec2 form .form-box .inputrequiredbox input[type='text'],
#contact_sec2 form .form-box .inputrequiredbox select{
  height: 38px;
  border: 1px solid #666;
}

#contact_sec2 form .form-box input {
  color: #333;
}
#contact_sec2 form .form-box input[type='text'],
#contact_sec2 form .form-box select {
  height: 38px;
  border: 1px solid #666;
  font-size: 16px;
  color: #333;
}
#contact_sec2 form .form-box select {
	border-radius: 5px;
	margin-right: 0;
}

#contact_sec2 form .form-box .input100 {
  width: 100%;
}
#contact_sec2 form .form-box .input50 {
  width: 50%;
}
#contact_sec2 form .form-box .input30 {
  width: 30%;
}
#contact_sec2 form .form-box .input20 {
  width: 20%;
}
#contact_sec2 form .form-box .input15 {
  width: 15%;
}

#contact_sec2 form .padtop15 {
	margin-top: -35px!important;
}

#contact_sec2 form .padtop15pc {
	margin-top: -35px!important;
}

#contact_sec2 form .form-box .inputrequiredbox {
  width: 70%;
}

#contact_sec2 form .form-box .inputrequiredbox textarea {
  width: 100%;
  height: 185px;
  border: 1px solid #666;
  font-size: 16px;
  line-height: 1.5;
  color: #333;
}

/*#contact_sec2 form #textarea {
  border-bottom: 1px solid #666;
}*/

#contact_sec2 form #contact-form-btn {
  -webkit-transition: 0.4s;
  transition: 0.4s;
  width: 340px;
  height: 62px;
  margin: 0 auto;
  margin-top: 38px;
  margin-bottom: 58px;
  text-align: center;
  position: relative;
}

#contact_sec2 form #contact-form-btn:hover {
  background-color: #CCC;
  background-position: right center;
}

#contact_sec2 form #contact-form-btn input {
    background: -moz-linear-gradient(top, #E7E7E7, #DCDCDC);
  background: -webkit-linear-gradient(top, #E7E7E7, #DCDCDC);
  background: linear-gradient(to bottom, #E7E7E7, #DCDCDC);
  font-size: 16px;
  line-height: 60px;
  width: 340px;
  height: 62px;
	cursor: pointer;
    transition: .1s ease-in-out;
	border: solid 1px #9E9E9E;
	border-radius: 10px;
	box-shadow: 2px 2px 2px #CCC;
}
#contact_sec2 form #contact-form-btn input:hover {
    background: -moz-linear-gradient(top, #DCDCDC, #CCCCCC);
  background: -webkit-linear-gradient(top, #DCDCDC, #CCCCCC);
  background: linear-gradient(to bottom, #DCDCDC, #CCCCCC);
}

#contact_sec2 form #contact-form-btn input[type="reset"] {
	background: #FFF;
	color: #333;
}


#contact_sec2 #contact-form-btn a {
    background: -moz-linear-gradient(top, #E7E7E7, #DCDCDC);
  background: -webkit-linear-gradient(top, #E7E7E7, #DCDCDC);
  background: linear-gradient(to bottom, #E7E7E7, #DCDCDC);
  font-size: 16px;
  line-height: 60px;
	display: block;
  width: 340px;
  height: 62px;
	cursor: pointer;
	text-align: center;
    transition: .1s ease-in-out;
	border: solid 1px #9E9E9E;
	border-radius: 10px;
	box-shadow: 2px 2px 2px #CCC;
	margin: 50px auto;
}
#contact_sec2 #contact-form-btn a:hover {
    background: -moz-linear-gradient(top, #DCDCDC, #CCCCCC);
  background: -webkit-linear-gradient(top, #DCDCDC, #CCCCCC);
  background: linear-gradient(to bottom, #DCDCDC, #CCCCCC);
}


.compbox {
	width: 600px;
	margin: 80px 0 20px 100px;
	box-sizing: border-box;
}
.comp_txt {
	border: solid 1px #8CC63F;
	width: 600px;
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	padding: 50px 0;
	margin-bottom: 40px;
}
.comp_top a {
	display: block;
	margin: 30px auto;
	padding: 10px;
	width: 340px;
	background: #2F2F2F;
	color: #FFF;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
.comp_top a:hover {
	background: #CCC;
}


@media screen and (min-width: 1600px) {

    

}






@media all and (-ms-high-contrast:none) { /*IE*/

    

}