@charset "UTF-8";

body {
    font-size: 13px;
}

/*====== Common Style =====*/
.for_pc { display: none !important; }

/* module */
.m-lb01 {
    text-align: center;
    margin-bottom: 40px;
}
.m-lb01__sub {
    display: block;
    color: #003b77;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 5px;
}
.m-lb01__main {
    display: block;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin-bottom: 15px;
}

.m-lb02 {
    margin-bottom: 12px;
}
.m-lb02__main {
    display: block;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin: 0;
}
.m-lb02__sub {
    display: block;
    color: #003b77;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    margin: 5px 0 0;
}

.m-link01 {
    position: relative;
    display: inline-block;
    background: #666;
    color: #fff;
    font-weight: 700;
    text-align: center;
    max-width: 80%;
    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 1px #1d428b;
	background: #fff;
	color: #003b77;
	font-weight: 700;
	text-align: center;
    max-width: 100%;
    width: 220px;
    height: 54px;
    line-height: 52px;
}
.m-link02::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    display: block;
    border-top: solid 2px;
    border-right: solid 2px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
}
.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 1px #1d428b;
	background: #fff;
	color: #003b77;
	font-weight: 700;
	text-align: center;
    max-width: 100%;
    width: 180px;
    height: 40px;
    line-height: 38px;
}
.m-link03::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    display: block;
    border-top: solid 2px;
    border-right: solid 2px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
}

.m-catch {
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 1.47;
    margin-bottom: 22px;
}

.m-lead {
    text-align: center;
    padding: 0 2%;
    margin-bottom: 70px;
}

.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: 62px;
}
.m-dlTable01 > dl > dt {
    background: #869bb8;
    color: #fff;
    text-align: center;
    width: 86px;
    padding: 15px 3px;
}
.m-dlTable01 > dl > dd {
    background: #fff;
    padding: 15px;
}

.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: 13px 0;
}
.m-dlTable02 > dl > dt {
    width: 100px;
    padding-right: 5px;
}

/* box */
.flex-lr_sp {
    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 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
}
.flex-lr.is-vcenter_sp {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.area-link {
    text-align: center;
    padding: 30px 0 25px;
}
.area-link ul {
    max-width: 510px;
    margin: 0 auto;
}
.area-link li {
    display: inline-block;
    vertical-align: middle;
    width: 43%;
    margin: 10px 1.5%;
}

.mainbox1 {
	width: 100%;
}
.mainboxinner {
	width: 100%;
	margin: 0 auto;
}
.mainboxouter {
	display: none;
}

.padbox_ll,
.padbox_l,
.padbox_m,
.padbox_s {
	padding: 35px 0;
}

.padbox_20 {
	padding: 20px;
}
.padbox_l{
	line-height: 24px;
}
.padbox_16 {
	padding: 20px 16px 70px;
}

/* top_sec1 */

#top_sec1 {
    background: url("/_common/image/top/bac_01_sp.png?20220102") no-repeat;
	background-size: 100%;
	background-position: bottom;
	margin-top: 0px;
	margin-bottom: 0px;
	position: relative;
	padding-bottom: 200px;
}

.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: 18px;
	line-height: 34px;
	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 {
	width: 100%;
}

.titleBox_inner {
	width: 100%;
	margin-top: 2px;
    padding: 18px 10px;
	font-size: 40px;
	font-weight: 300!important;
	line-height: 20px;
	box-sizing: border-box;
}
.titleBox_inner h2 {
	line-height: 20px;
	font-family: zen-kaku-gothic-antique, sans-serif;
	font-weight: 400;
	font-style: normal;
	/*color: #999;*/
	font-size: 40px;
	margin-bottom: 0px;
	padding-left: 10;
}
.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: 60px;
	left: 0;
	width: 100%;
	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: 60px;
	right: 0;
	width: 100%;
	height: 2px;
}


.mainbox_tit {
	width: 70px;
}
.mainbox_cont {
	width: 100%;
	padding: 0 10px;
	box-sizing: border-box;
}

.mainbox_cont h3 {
	font-size: 22px;
	color: #537BFF;
	margin: 15px 0 5px;
	font-weight: 400;
}
.mainbox_cont h4 {
	font-size: 40px;
	margin: 10px 0 10px;
	font-weight: 400;
	font-family: "Hiragino Mincho ProN",YuMincho, "Yu Mincho",  "serif"
}


/* top_sec2 */

#top_sec2 {
    background: url("/_common/image/top/bac_02_sp.png?20220102") no-repeat;
	background-size: 100%;
	background-position: bottom;
	margin-top: 20px;
	margin-bottom: 0px;
	position: relative;
	padding-bottom: 250px;
}


/* top_sec3 */

#top_sec3 {
	margin-top: 0px;
	position: relative;
}
#top_sec3_sp {
	margin-top: 0px;
	position: relative;
    background: url("/_common/image/top/bac_03_sp.png?20220102") no-repeat;
	background-size: 100%;
	background-position: bottom;
	margin-bottom: 0px;
	padding-bottom: 250px;
}

#top_sec4 {	
	margin: 20px auto;
	width: 96%;
	padding-bottom: 40px;
}
#top_sec4 h2 {
	font-size: 24px;
	text-align: center;
	
}

#top_sec4 h2 span {
	font-size: 14px!important;
}

#sub_inner #top_sec4 h2 {
	text-align: left;
	font-weight: 700;
}

.sec4_box {
	width: 100%;
	margin: 5px auto 20px;
}

.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: 16px;
}

/* top_sec5 */

#top_sec5 {
	background: url("/_common/image/top/bac_04_sp.jpg?20220106") no-repeat;
	background-position: top center;
	margin-top: -20px;
	background-size: 100%;
	position: relative;
	padding-bottom: 0px;
}

#top_sec5 h2 {
	color: #FFF;
}
#top_sec5 h3 {
	margin: 80px 0 100px 20px;
	text-align: left;
	font-family:  "Hiragino Mincho ProN", YuMincho, "Yu Mincho","serif";
	font-size: 28px;
	font-weight: 700;
		
}
#top_sec5 h4 {
	position: absolute;
	width: 45px;
	text-align: center;
	top: 20px;
	right: 10%;
}
#top_sec5 h4 img {
	width: 100%;
}

#top_sec5 h5 {
	margin: 20px auto;
	text-align: center;
	font-family:  "Hiragino Mincho ProN", YuMincho, "Yu Mincho","serif";
	font-size: 22px;
	font-weight: 700;
}

/* top_sec6 */

#top_sec6 {
	/*background: url("/_common/image/top/bac_05_sp.jpg?20220106") no-repeat;*/
	background-position: top;
	margin-top: -20px;
	background-size: auto 100%;
	position: relative;
	padding-bottom: 0px;
	height: auto;
}
#top_sec6 .btn-wrap_mgl {
	margin-bottom: 30px;
}

.sec6_box {
	width: 90%;
	margin: 15px auto;
	background: rgba(0,0,0,0.73);
	border-radius: 15px;
	padding: 17px;
	color: #FFF;
}
/*.sec6_box:nth-child(3) {
	margin-top: 250px;	
}
*/
.sec6_box p {
	padding-left: 0px;
}

.sec6_box2 {
	width: 80%;
	max-width: 270px;
	min-height: 270px;
	margin: 10px auto;
	background: url("/_common/image/top/bac_06.png") no-repeat;
	background-size: 100%;
	padding: 50px 30px 30px;
	color: #000;
	text-align: center;
	box-sizing: border-box;
}
.sec6_box2 h4 {
	font-size: 20px;
}
.sec6_box2 p {
	/*text-align: left;*/
	line-height: 22px;
	font-size: 12px;
}


.sec6_txt {
	text-align: center;
	font-size: 23px;
	font-family:  "Hiragino Mincho ProN", YuMincho, "Yu Mincho","serif";
	font-weight: 700;
}

.top_contact {
	margin: 60px auto 0px;
	width: 100%;
	text-align: center!important;
}
.top_contact h2 {
	margin: 20px auto;
	width: 90%;
	padding: 10px;
	color: #FFF;
	background: #537BFF;
}
.top_contact .telBox {
	font-size: 26px;
	font-weight: bold;
	line-height: 44px;
	margin: 20px auto;
}
.top_contact p {
	margin: 20px auto;
	line-height: 24px;
	font-size: 14px;
}

.box3 {
	width: 90%;
	margin: 0 auto;
}

.box_bb {
	border-bottom: solid 1px #fff;
}
.p_title {
    font-size: 18px;
    line-height: 1.2;
}
/*====== header =====*/
#wrapper {
    padding-top: 0px;
}
.area-anchor {
    padding-top: 60px;
    margin-top: -60px;
}

#header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
	background: url("/_common/image/header/header_bg_sp.png") repeat-x;
    width: 100%;
    height: 170px;
}

.header__logo {
    display: inline-block;
    font-size: 1em;
    padding: 10px;
}
.header__logo img {
    width: 220px;
}

.header__cv {
    position: absolute;
    top: 0;
    right: 60px;
    width: 60px;
    height: 60px;
}
.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: 18px;
}
.sub2 {
	padding-top: 70px;
	position: relative;
}
.sub2 header {
	box-sizing: border-box;
}
.sub2 header h1 {
	position: absolute;
	top: 5px;
	right: 15px;
	z-index: 200;
}
.sub2 header h1 img {
	width: 120px;
}
.sub2 .breadcrumbbox {
	padding: 15px ;
	text-align: left!important;
}

#toggle-button {
    position: absolute;
    z-index: 102;
    top: 0px;
    left: 0;
    display: block;
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: 80%; height: 56px;
    cursor: pointer;
}
#toggle-button span {
    top: 35%;
    left: 10%;
    display: block;
    font-size: 9px;
    width: 30px;
    margin: -1px 0 0 -12.5px;
	color: #FFF;
	line-height: 46px;
	font-weight: 700;
}
#toggle-button span,
#toggle-button span:before,
#toggle-button span:after {
    position: absolute;
    background: #fff;
    height: 2px;
}
#toggle-button span:before,
#toggle-button span:after {
    content: "";
    right: 0;
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s;
}
#toggle-button span:before {
    top: -8px;
    width: 100%;
}
#toggle-button span:after {
    top: 8px;
    width: 100%;
}

#toggle-menu {
    position: fixed;
    z-index: 100;
    top: 0; left: 0;
    background: rgba(0,0,0,0.8);
    color: #fff;
    width: 100%;
    height: 100%;
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%);
    -webkit-transition: -webkit-transform .7s;
    transition: -webkit-transform .7s;
    transition: transform .7s;
    transition: transform .7s, -webkit-transform .7s;
}
.toggle-menu-inner {
    width: 100%; height: 100%;
    padding: 100px 7% 50px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.toggle-menu-inner small {
	font-size: 10px;
	text-align: center;
	margin-top: 15px;
}

#toggle-menu .gnv {
    text-align: right;
}
#toggle-menu .gnv li {
    position: relative;
    font-size: 17px;
    font-weight: 700;
	padding-right: 10px;
	padding-bottom: 15px;
    margin-bottom: 15px;
	border-bottom: 1px solid #FFF;
	box-sizing: border-box;
	margin-left: 30%;
}

/* menu Open */
.gnvOpen { overflow: hidden; }

.gnvOpen #toggle-button span {
    background: transparent !important;
}
.gnvOpen #toggle-button span:before,
.gnvOpen #toggle-button span:after {
    top: 0;
}
.gnvOpen #toggle-button span:before {
    -webkit-transform: rotate(-45deg) translateY(0px);
    -ms-transform: rotate(-45deg) translateY(0px);
        transform: rotate(-45deg) translateY(0px);
}
.gnvOpen #toggle-button span:after {
    width: 100%;
    -webkit-transform: rotate(45deg) translateY(0px);
    -ms-transform: rotate(45deg) translateY(0px);
        transform: rotate(45deg) translateY(0px);
}

.gnvOpen #toggle-menu {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
.toggle-menu-logo {
    padding: 10px;
	position: absolute;
	top: 5px;
	left: 5px;
}

.toggle-menu-logo img {
    width: 220px;
}
.toggle-menu-inner .footer__logo {
	text-align: center;
	margin-bottom: 20px;
}
.toggle-menu-inner .footer__logo img {
    width: 200px;
}

.toggle-menu-menu {
	position: absolute;
	top: 105px;
	left: 0;
	width: 18%;
	border-top: solid 8px #5D61AB;
	border-image: linear-gradient(to right, rgba(0,0,0,1), rgba(93,97,171,1));
	border-image-slice: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
text-orientation: sideways; 
}

.toggle-menu-menu_inner {
	width: 100%;
	margin-top: 2px;
    padding: 18px;
	font-size: 26px;
	font-weight: bold;
	line-height: 18px;
}

.toggle-menu-menu_inner span {
	font-size: 12px;
	font-weight: lighter;
}

#header .top_contact .telBox {
	font-size: 20px;
	line-height: 26px;
	margin: 10px auto;
}
#header .top_contact p {
	font-size: 12px;
}


/* kv */
.area-kv {
    position: relative;
	width: 100%;
	height: 480px;
	margin-bottom: 130px;
}

.area-kv_contact {
    position: relative;
	width: 100%;
	height: 95px;
}
.area-kv .video {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
    z-index: 0!important;
}
.area-kv .video video{
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	transform: translate(-50%, -50%);
	min-width: 100%;
	height: 480px;;
    z-index: 0!important;
}

.area-kv .kv_cover {
	width: 100%;
	height: 480px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	background: url("/_common/image/top/kv_bac1_sp.png?20210104") no-repeat;
	background-size: cover;
	box-sizing: border-box;
	padding-left: 4%;
}
.kv_logo { 
	margin-top: 250px;
	padding: 0px 10px 30px 0;
	width: 45%;
}
.kv_tit { 
	width: 50%;
}


.kv__img {
    overflow: hidden;
}
.kv__img img {
    max-width: none;
    width: 100%;
  object-fit: cover; /* 中央でトリミング */
}

.kv__txt {
	font-size: 17px;
	padding: 0px 0px;
	color: #537BFF;
	position: absolute;
	top: 450px;
	left: 57%;
	z-index: 101;
	width: 43%;
	font-weight: bold;
}
.sub_kv {
    position: relative;
	width: 100%;
	height: 250px;
	margin-bottom: 20px;
	box-sizing: border-box;
}

.sub_kv figure {
	height: 250px;
    overflow: hidden;
}


.sub_kv_contact {
    position: relative;
	width: 100%;
	height: 95px;
}
.sub_kv .video {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
    z-index: 0!important;
}
.sub_kv .video video{
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	transform: translate(-50%, -50%);
	min-width: 100%;
	height: 250px;
    z-index: 0!important;
}

.sub_kv .kv_cover {
	width: 100%;
	height: 250px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	background: url("/_common/image/top/kv_sub_bac1_sp.png?20210120") no-repeat;
	background-size: 250px;
	box-sizing: border-box;
	padding-left: 4%;
}

.sub_kv .kv_logo { 
	margin-top: 190px;
	padding: 0px 10px 30px 0;
	width: 45%;
}


.sub_kv2 {
    position: relative;
	width: 100%;
	height: 250px;
	overflow:hidden;
	margin-bottom: 20px;

}
.sub_kv2 .kv_cover {
	width: 100%;
	height: 250px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
}


.sub_kv2 img.sub_kvimg {
	position: absolute;
	left:  0;
	object-fit: cover;
	bottom: 0%;
	width: 100%;
	border-radius: 0 0 0 250px;
    z-index: 0;
}

.kv_logo2 { 
	position: absolute;
	top: 180px;
	left: 0;
	padding: 0px 10px 30px 0;
	width: 45%;
	z-index: 2;
}



.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: 15px;
    font-weight: 400;
    line-height: 1;
    padding-bottom: 30px;
}
.scrollBtn a:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    display: block;
    border-right: solid 1px;
    height: 25px;
}

/* Page Header */
#page-title {
    position: absolute;
    z-index: 1;
    top: 48%;
    left: 0;
    text-align: center;
    width: 100%;
    padding: 0 5%;
}

/* breadcrumbs */

.breadcrumbbox {
	text-align: right!important;
	margin-top: -15px;
	padding-bottom: 20px;
}
.breadcrumbs {
    font-size: 11px;
    padding: 5px 0;
}
.breadcrumbs li {
    display: inline-block;
    vertical-align: middle;
    color: #8E8E8E;
    line-height: 1;
	position: relative;
	z-index: 120;
	margin-right: 5px;
}
.breadcrumbs li span {
	margin-left: 10px;
}
.breadcrumbs a {
    color: #8E8E8E;
    font-size: 1.167em;
}
.breadcrumbs i {
    margin: 0 .5em 0 .8em;
}
.breadcrumbs h2 {
    font-weight: 500;
}

/* Page Content */
#sub .article {
    padding: 60px 0;
}


/*====== footer =====*/

#footer {
    position: relative;
}

#pagetop {
	position: absolute;
    right: 0;
    bottom: 100%;
    padding: 15px 33px;
}
#pagetop a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding-top: 22px;
}
#pagetop a:before,
#pagetop a:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    display: block;
    background: #111;
    width: 1px;
    height: 42px;
    -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: 13px;
    font-weight: 700;
    line-height: 1;
}




.footer__logo {
    color: #686868;
    text-align: center;
	margin: 0px auto 20px;
}
#footer .kv_logo { 
	margin-top: 0px;
	width: 60%;
}
.footer__sub,
.footer__main {
    background: url("/_common/image/footer/footer_bg_sp.jpg?20220111") no-repeat;
	width: 100%;
	background-size: contain;
	background-position: center bottom;
}

.footer__sub {
    background: url("/_common/image/footer/footer_sub_bg_sp.png") no-repeat;
	width: 100%;
	background-size: 100%!important;
	background-position: bottom center;
	height: 400px;
}


#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: 100%;
	margin: 20px auto 0px;
	padding-bottom: 200px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
}
.sitemap li {
	margin-bottom: 20px;
}
.sitemap li.li_sitemap {
	width: 30px;
	position: absolute;
	top: 20px;
	left: 0;
}
.sitemap li:nth-child(2),
.sitemap li:nth-child(4) {
	width: 58%!important;
	border-right: solid 2px #AFAFAF!important;
	padding-left: 35px;
	box-sizing: border-box;
}

.sitemap li:nth-child(3),
.sitemap li:nth-child(5) {
	width: 40%!important;
	padding-left: 8px;
	box-sizing: border-box;
}

.sitemap li ul li {
	margin-bottom: 0;
	padding: 0;
	line-height: 20px;
}

.sitemap li ul li:nth-child(2),
.sitemap li ul li:nth-child(4) {
	width: auto!important;
	border-right: none!important;
	padding-left: 0px;
	box-sizing: border-box;
}

.sitemap li ul li:nth-child(3),
.sitemap li ul li:nth-child(5) {
	width: auto!important;
}

.sitemap h2 {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
text-orientation: sideways; 
	font-size: 20px;
	font-weight: bold;
	color: #999999;
	white-space: nowrap;
}
.sitemap h3 {	
	margin: 20px 0;
	font-size: 12px;
}
.sitemap h3:before {
	content: "▶"
}
.sitemap li ul li {
	width: auto!important;
	border-left: none!important;
	font-size: 10px;
}
.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: 70px;
    height: 70px;
    box-sizing: border-box;
  background: -moz-linear-gradient(-45deg, rgba(0,0,0,0.8), rgba(93,97,171,0.8));
  background: -webkit-linear-gradient(-45deg, rgba(0,0,0,0.8), rgba(93,97,171,0.8));
  background: linear-gradient(135deg, rgba(0,0,0,0.8), rgba(93,97,171,0.8));
    border-radius: 10px;
    padding-top: 33px;
    text-align: center;
    letter-spacing: -1px;
    font-size: 16px;
    text-decoration: none;
    color: #FFF;
    opacity: 1;
    position: fixed;
	right: 20px;
	bottom: 50px;
	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: 90px;
}
.breadcrumb-list {
  width: 100%;
  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: 96%;
	background: #fff;
	padding: 15px 0;
	color: #000;
	margin: 0 auto;
}
#news .newsbox {
	width: 100%;
	margin: 0 auto;
	position: relative;
	height: 200px;
	overflow: auto;
}
#news .newsbox h2 {
	text-align: center;
	margin-bottom: 5px;
	font-size: 16px;
	font-weight: bold;
}
#news .newsbox dl {
	display: flex;
	justify-content: space-between;
	margin: 10px auto;
	width: 85%;
	font-weight: 100;
	line-height: 16px;
}
#news .newsbox dl dt {
	/*width: 130px;*/
	width:25%;
}
#news .newsbox dl dd {
	/*width: calc(100%-160px);*/
	width:70%;
}

.bg_black {
	background: #2D2D2D;
	color: #FFF;	
}

.btn,
a.btn,
button.btn {
  position: relative;
  overflow: hidden;
	width: 400px;
	max-width: 80%;
  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: 30;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
}

.btn-wrap {
  display: block;
  width: 100%;
  margin: 0;
}

.btn-fix-right {
  display: block;
	width: 50px;
	height: 220px;
	position: fixed;
	top: 90px;
	right: -15px;
	z-index: 300;
}
a.btn-right {
  position: relative;
	width: 50px;
	height: 220px;
	background: #2D2D2D;
	border-radius: 7px 0 0 7px;
	display: block;
	align-items: center;
	padding-top: 20px;
	writing-mode: vertical-rl;
	color: #FFF!important;
	font-size: 16px;
	box-sizing: border-box;
}
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_sp.png?20220101");
  position: absolute;
  bottom: 25px;
  left: 0px;
}

.btn-a {
  font-size: 18px;
	text-align: center;
	background: url("/_common/image/business/btn_01_sp.png?20220101") no-repeat;
	background-position: center;
	width: 96%;
	height: 87px;
	box-sizing: border-box;
	margin: 40px auto 20px;
	color: #FFF;
  display: block;
  overflow: hidden;
  font-weight: bold;
  padding: 26px 0px 0 ;
	border-radius: 10px;
}

.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(60deg);
  transform: rotate(60deg);
  -webkit-transform-origin: top;
  transform-origin: top;
}
.btn-a:before {
  border-bottom: solid 5px #FFF;
  right: -8.3rem;
}
.btn-a:after {
  border-bottom: solid 5px #FFF;
  right: -9.0rem;
}


a.btn-c {
  font-size: 17px;

  display: block;
  overflow: hidden;
  font-weight: bold;
  padding: 0px 20px ;
}

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-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:60%;
	height: 100%;
	transform: skewX(45deg);
}

a.btn_50:after {
	width: 450px!important;
	max-width: 80%!important;
}

a.btn-c2 {
  font-size: 13px;

  display: block;
  overflow: hidden;
  font-weight: bold;
  padding: 0px 20px ;
	box-sizing: border-box;
}

a.btn-c2:before,
a.btn-c2: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 {
	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:100%;
	height: 100%;
	transform: skewX(45deg);
}


.btn-c3 {
  font-size: 13px;

  display: block;
  overflow: hidden;
  font-weight: bold;
  padding: 20px 20px ;
	cursor: default;
	box-sizing: border-box;
}

.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);
}


a.btn-c:after {
 /* border-bottom: solid 8px #8CC63F;
  left: 9rem;*/
}
a.btn-c:hover {
  transform: translateX(20px);
}

/*ボタン内spanの形状*/
.btn span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
}


.map_cont {
	width: 90%;
	margin: 0 auto!important;
}


.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:55%;
  right:-26px;
    /*下線の形状*/
  width:42px;
  height:1px;
  background:#fff;
    /*アニメーションの指定*/
    transition: all .2s linear;
}

.btnarrow4::after{
  content:"";
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top: 19%;
    right: -19px;
    /*矢印の形状*/
  width:1px;
  height:14px;
  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 20px;
    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:55%;
  right:-26px;
    /*下線の形状*/
  width:30px;
  height:1px;
  background:#999;
    /*アニメーションの指定*/
    transition: all .2s linear;
}

.btnarrow5::after{
  content:"";
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top: 20%;
    right: -20px;
    /*矢印の形状*/
  width:1px;
  height:15px;
  background:#999;
    transform:skewX(45deg);
    /*アニメーションの指定*/
    transition: all .2s linear;
}

/*hoverした際の移動*/
.btnarrow5:hover::before{
  right:-30px;
}

.btnarrow5:hover::after{
  right:-25px;
}


/*campany_sec1*/

#campany_sec1 {
	background: url("/_common/image/company/pic_01_sp.jpg?20220110");
	background-size: cover;
	color: #FFF;
}

#campany_sec1 .mainbox_cont {
	position: relative;
	height: 500px;
}

#campany_sec1 .mainbox_cont .subTit {
	height: 400px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-family: "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
	font-size: 20px;
	width: 100%;
	line-height: 2;
	padding-right: 5%;
}
#campany_sec1 .mainbox_cont .ceo {
	position: absolute;
	bottom: -10px;
	left: -10%;
	font-family: "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0.3em;
	z-index: 1;
}
#campany_sec1 .mainbox_cont .ceo span {
	font-size: 16px;	
}
#campany_sec1 .mainbox_cont .ceo_img {
	position: absolute;
	bottom: -35px;
	left: -28%;
	z-index: 0;
}
#campany_sec1 .mainbox_cont .ceo_img img {
	width: 65%;
}


/*business_sec1*/

#top_sec4 .business_txt1 {
	font-size: 18px;
	font-weight: bold;
	margin: 10px 10px 20px;
	line-height: 30px;
}

#business_sec1 {
	background: url("/_common/image/business/bg_01_sp.jpg") no-repeat;
	background-size: 90%;
	background-position: top 0px right 0;
	padding-bottom: 20px;
}
#business_sec2 {
	background: url("/_common/image/business/bg_02_sp.jpg") no-repeat;
	background-position: top 0px left 0;
	background-size: 90%;
	padding-bottom: 40px;
}

#business_sec3 {
	background: url("/_common/image/business/bg_03_sp.jpg") no-repeat;
	background-position: top 0px right 0;
	background-size: 90%;
	padding-bottom: 60px;
}

#business_sec1 .mainbox_cont {
	position: relative;
}
#business_sec1 .mainbox_cont h3,
#business_sec2 .mainbox_cont h3,
#business_sec3 .mainbox_cont h3 {
	font-size: 45px;
	line-height: 70px;
	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: 45px;
	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;
}*/
#business_sec3 .mainbox_cont a.btnarrow5 {
	margin-left: -15px;
}


/*consulting_sec1*/

#consulting_sec1 .btnarrow5 {
	width: 95%;
	margin-left: -15px;
	margin-top: 15px;
	padding: 8px 0px;
	font-size: 13px;
}
#consulting_sec1 .btnarrow5:first-child {
	margin-top: 8px;
}
#consulting_sec1 .mainbox_cont p {
	margin-top: 30px;
}


/*swiper*/
.swiper--box {
  /* wrapperのサイズを調整 */
  width: 90%;
  margin: 20px auto 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;

}
.swiper_outer {
  width: 100%;
	margin-bottom: 0px;
	position: relative;
}

.swiper_outer h3 {
	width: 80%;
	color: #FFF;
	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: 100%;
  text-align: center;
}

.swiper-slide img {
	width: 100%
}

.mySwiper5,
.mySwiper4,
.mySwiper3,
.mySwiper2,
.mySwiper1 {
  width: 100%;
  height: 240px;
   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: 40px;
	object-fit: cover;
   overflow: hidden;
  opacity: 0.4;
	margin-bottom: 0px;
}

.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: 18px;
}
#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 20px -20px;
	width: calc(100% + 18px);
	box-sizing: border-box;
}

/*========= バー表示のためのCSS ===============*/

/*タイムライン全体の設定*/
.timeline{
  width:100%;
  margin:50px auto;
  padding:0 0px;
}

.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:20px 0 0px 30px;
	
}

/*絶対配置で線を設定*/
.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;
	max-width: 96%;
    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;
	max-width: 96%;
    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: -10px auto 20px!important;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap-reverse;
}
#sub2_kv .sub2_kvTxt {
	width: 100%;
	padding: 20px 15px;
	box-sizing: border-box;
}
#sub2_kv .sub2_kvImg {
	width: 100%;
}
#sub2_kv .sub2_kvImg img {
	width: 100%;
	height: 270px;
	border-radius: 0 0 0 100px;
	object-fit: cover;
	object-position: 0 50%;
}

#sub2_kv h2 {
	font-size: 30px!important;
	color: #000;
	font-weight: bold;
}

#sub2_kv h2 span {
	font-size: 14px!important;
}
#sub2_kv .business_txt1 {
	font-size: 18px;
	font-weight: bold;
	line-height: 30px;
}
#sub2_kv p {
	margin: 0px 8px 20px 8px;
}

#sub2_kv .sec4_box_img h3 {
	width: 60%;
	border-top: solid 2px #FFF;	
	bottom: 40px;
}

#sub2_kv .sec4_box_img h3 span {
	font-size: 80px;
	margin-left: 15px;
	padding-top: 5px;
}


/*---------- sub_nav ------------------*/

.sub_nav {
	width: 100%;
	min-height: 60px;
	margin: 20px auto;
	position: relative;
}
.sub_nav ul {
}
.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: 12px;
  display: block;
  overflow: hidden;
  font-weight: bold;
  padding: 0px 10px ;
	box-sizing: border-box;
	background: url("/_common/image/business/nav_01.png") no-repeat;
	background-position: right;
	background-size: 100%;
	padding-left: 50%;
	margin-bottom: 5px;
}
.sub_nav ul.menu4 a.btn_sub,
.sub_nav ul.menu3 a.btn_sub {
	text-align: left;
	padding-left: 15px;
	box-sizing: border-box;
  padding: 8px 8px ;
	/*height: 80px;*/
	background: url("/_common/image/business/nav_05.png?20220101") no-repeat;
	background-position: right;
	line-height: 20px;
}
.sub_nav ul.menu4 a.btn_sub {
	padding-left: 5%;
}
.sub_nav ul.menu7 a.btn_sub {
	padding-left: 52%;
}
.sub_nav ul.menu6 a.btn_sub,
.sub_nav ul.menu5 a.btn_sub {
	padding-left: 15px;
}
.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: 13px;

  display: block;
  overflow: hidden;
  font-weight: bold;
  padding: 8px 8px ;
	cursor: default;
	box-sizing: border-box;
	background: url("/_common/image/business/nav_02.png") no-repeat;
	background-position: right;
	background-size: cover;
}
/*.sub_nav ul.active2 .btn_sub {
	background-size: auto;
  padding: 13px 10px ;
}*/
.sub_nav ul.active3 .btn_sub {
  padding: 8px 8px ;
}
.sub_nav ul.active4 .btn_sub {
  padding: 25px 10px 0 ;
	height: 85px;
	box-sizing: border-box;
	line-height: 20px;
}

/*---------- sub_nav2 ------------------*/
.sub_nav2 {
	width: 100%;
	background: #C1C1C1;
}
.sub_nav2 ul {
	width: 100%;
	margin: 0px auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 5px 8px 10px;
	box-sizing: border-box;
} 
.sub_nav ul.menu6,
.sub_nav ul.menu5,
.sub_nav ul.menu2 {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.sub_nav ul.menu6,
.sub_nav ul.menu5 {
	width: 50%;
}
.sub_nav ul.active4,
.sub_nav ul.active3,
.sub_nav ul.active1 {
	width: 50%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.sub_nav ul.active3 {
	left: 50%;
}

.sub_nav ul.menu3 {
	width: 35%;
	position: absolute;
	/*top: -12px;*/
	left: 0;
	z-index: 0;
	height: 80px;
}
.sub_nav ul.menu4 {
	width: 40%;
	position: absolute;
	top: 42px;
    right: -10px;
	z-index: 0;
	height: 80px;
}

.sub_nav ul.active2 {
	width: 38%;
	position: absolute;
	top: 0;
	left: 28%;
	z-index: 1;
}

.sub_nav2 ul li a {
	display: block;
	padding: 2px 0 2px 12px;
	font-size: 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;
	box-sizing: border-box;
}

.sub_nav2 ul.nav6 li,
.sub_nav2 ul.nav4 li {
	width: 47%;
}

.sub_nav2 ul li.with1,
.sub_nav2 ul li.with2 {
	width: 100%;
}

.sub_nav2 ul li::after {
	content: url("/_common/image/icon/ico_02.png");
	position: absolute;
	top: 5px;
	right: 0;
}

/*---------- sub_nav3 ------------------*/

.sub_nav3 {
	width: 100%;
	margin: 20px auto 0;
	position: relative;
	padding-top: 0px;
}
.sub_nav3 ul {
	width: 100%;
}

.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;
	background-size: cover;
	padding-left: 52%;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 5px;
}
.sub_nav3 ul li a:hover {
	opacity: 1;
}
.sub_nav3 ul li.active {
	background: url("/_common/image/business/nav_02.png") no-repeat;
	background-position: right;
	position: absolute;
	top: 0;
	left: 0;
	padding: 30px 0 20px 20px;
	box-sizing: border-box;
	width: 54%;
	height: 100px;
	line-height: 20px;
	z-index: 10px;
}




/*---------- table ------------------*/
.business h4 {
	width: 100%;
	background: linear-gradient(90deg, #537BFF, #FFF);
	padding: 13px 0;
	padding-left: 20px;
	box-sizing: border-box;
	color: #FFF;
	font-size: 16px;
	margin: 30px 0 15px;
}

.business h4.no_bg {
	background: transparent!important;
	color: #000;
	padding: 0px;
}
table.table01{
	width: 96%;
	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%;
	margin: 0px auto 7px;
  border-collapse:separate;
  border-spacing: 0;
}

table.table03 td,
table.table02 td{
  text-align: center;
  vertical-align: middle;	
  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;
}

table.table03{
	width: 96%;
	margin: 0px auto 50px;
  border-collapse:separate;
  border-spacing: 0;
}

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: 8px 15px;
	height: 36px;
	line-height: 36px;
	box-sizing: border-box;
	text-align: center;
	background: #537BFF;
	color: #fff;
	border-radius: 5px;
}

table td .detailBox {
	text-align: center;
	padding: 0 15px ;
}

table.table04 {
	width: 100%;
	margin: 20px auto;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
	line-height: 2.0;
}
table.table04 th {
 padding: 5px;
 background: #F6F6F6;
 border: solid 1px #E2E2E2;
	width: 20%;
}
table.table04 td {
 padding: 3px;
 border: solid 1px #E2E2E2;
text-align: left;
}

table.companytable th {
 background: #E1E1E1!important;
	width: 30%;
}
table.companytable th,
table.companytable td {
 border: solid 1px #000;
	text-align: left;
}

table.table05 {
	/*width: 100%;*/
	margin: 20px auto;
 /*text-align: center;*/
   border-collapse: collapse;
   border-spacing: 0;
   display: block;
   overflow-x: scroll;
   white-space: nowrap;
}

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: 96%;
	margin: 20px auto 0px;
  border: 1px solid #000;
  padding: 10px 20px;
  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.width100,
.business h5.width100,
.company h5.width100{
	width: 100%;
}

.recruit2 h5.nomark::before,
.business h5.nomark::before,
.company h5.nomark::before {
	content: "";
}
.boxhalf_pc02 h5,
.boxhalf_pc0 h5 {
	width: 100%;
}
.business h6 {
	margin: 20px 0 15px;
}
.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;
	box-sizing: border-box;
}

.box1200,
.box1200_2,
.boxhalf_pc0,
.boxhalf_pc02,
.boxhalf_pc {
	width: 96%;
  padding: 10px 20px;
	box-sizing: border-box;
	margin: 0 auto;
}
.boxhalf0,
.boxhalf {
	width: 50%;
  padding: 20px 10px;
	box-sizing: border-box;
}

.boxhalf_pc02,
.boxhalf_pc0,
.boxhalf0 {
  padding: 10px 10px;
}

.box_01fl_pc {
	display: block;
}
.box_01fl_pc_sp,
.box_01fl_sp {
	display: flex;
	justify-content: space-between;
}
.width1200 {
	width: 96%;
	margin: 0 auto;
}
.width96sp {
	width: 96%!important;
	margin: 0 auto;
}
.width1170 {
	width: 90%;
	margin: 0 auto;
}
.width100,
.width90pc,
.width80pc,
.width70pc,
.width60pc,
.width50pc,
.width40pc,
.width30pc,
.width25pc,
.width20pc {
	width: 100%;
	margin-bottom: 15px;
}

.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;
}

.width50halfsp {
	width: 48%!important;
}

.flex_wrap_pc_sp {
	flex-wrap: wrap;
}

.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;
	flex-wrap: wrap;
	width: 90%;
	margin: 20px auto 30px;
}

.boxFlow2 li {
	width: 100%;
	position: relative;
  margin-bottom: 22px;
}
.boxFlow2 li:not(:last-child)::after {
	content: url("/_common/image/business/01/ico_01.png?20220102");
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -25px;
}

.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: -15px;
}

.w_img {
	width: 98%;
	margin: -40px auto 0;
}

.ankerless {
	background: #DBDBDB;
	text-align: center;
	width: 100%;
}

/*---------- /01/01_03 ------------------*/

.tit2::before {
	content: "■";
	margin-right: 3px;
}

.table_0103Box {
	width: 100%;
	margin: 20px auto;
}

.img_0103_01box {
	width: 100%;
	margin: 20px auto;
}

.img_0103_02box {
	width: 80%;
	margin: 20px auto;
}

.img_0103_02l {
	margin-bottom: 20px;
}

.img_0103_03l {
	margin-bottom: 20px;
}


.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: 16px;
}
.boxFlow4 li {
	border: solid 1px #484848;
	background: #EFEFEF;
	border-radius: 8px;
	padding: 10px 8px;
	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: 37%;	
	align-items: center;
	font-weight: bold;
	margin: 0;
	line-height: 20px;
	font-size: 11px;
}
.boxFlow4 li .flow4txt {
	width: 63%;	
	align-items: center;
	font-size: 11px;
}
.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: 17px;
	line-height: 23px;
}
 
ol.number li::before {
	content: "(" counter(cnt) ")";
	display:inline-block;
	margin-left:-2em; /* サイトに合せて調整 */
	width: 2em; /* サイトに合せて調整 */
}


/*---------- /02/ ------------------*/

.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: 60px;
	padding-top: 20px;
	box-sizing: border-box;
}
.box_02r {
	width: calc( 100% - 60px);
	margin-left: -20px;
}

.pad_01{
  padding: 8px;
	box-sizing: border-box;
}
.flex02_01,
.flex02_02 {
	width: 100%;
}
.flex02_02_01 {
	width: 36.8%;
}
.flex02_02_02 {
	width: 60%;
}

.flex02_03_01,
.flex02_03_02 {
	width: 100%;
	margin-bottom: 20px;
}
/*---------- /03/ ------------------*/

.business03box {
	width: 96%;
	margin: 10px auto 20px;
}
.business03box p {
	margin-bottom: 20px;
}

ul.business03 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

ul.business03 li {
	width: 48%;
	text-align: center;
	margin-bottom: 20px;
}

ul.column3sp li {
	width: 31%;
}

.business03Img1 {
	width: 76%;
	margin: 0 auto;
	display: block;
}
.business03Img2 {
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.b03Img1 {
	width: 100%;
	text-align: center;
	margin-bottom: 20px;
}

.b03Img2 {
	width: 48%;
	text-align: center;
	margin-bottom: 20px;
}



/*---------- achievement ------------------*/

.achievement {}

.achievementbox {
	width: 94%;
	margin: 20px auto 20px;
}
.achievementbox ul li{
	margin-bottom: 10px;
}
.achievementbox p {
	margin-bottom: 20px;
}
.introduction{
	margin: 0 0 20px;
	font-weight: normal;
	line-height: 1.5;
}



/*---------- company ------------------*/

.company {
	width: 100%;
}
.company01 {
	width: 100%;
}
.company .greeting {
	margin: 20px auto;
	width: 100%;
}
.company .greeting_inner {
	margin: 0 auto;
	width: 90%;
}
.company .greeting_inner p{
	font-size: 15px;
	font-weight: 800;
    font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.company .greeting h4 {
	font-size: 24px;
	margin: 20px 0;
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.company .greeting .ceo {
	font-size: 18px;
	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: 22px;
	font-weight: bolder;
}
.knowledge {
	width: 90%;
	padding-top: 40px;
	margin: 0px auto 50px;
}


/*---------- access ------------------*/

.accessBox {
	width: 96%;
	border-bottom: 1px solid #666;
	margin: 20px auto;
}
.accessBox:last-child {
	border-bottom: none;
}

.accessTxt,
.accessMap {
	width: 100%;
	padding-bottom: 20px;
}
.accessTxt span{
	font-size: 18px;
	font-weight: bold;
}
.accessMap iframe {
	width: 100%;
	height: 300px;
}


/*---------- recruit ------------------*/

.recruit {
	width: 96%;
	margin: 40px auto;
}
.recruit h4.bar_01 {
	width: 90%;
	margin: 0px auto;
	line-height: 25px;
	height: 55px;
	text-align: center;
	font-size: 18px;
	background: url("/_common/image/recruit/bar_01.png?20220101") no-repeat bottom;
	background-size: contain;
} 
.recruit h4.bar_02 {
	width: 90%;
	margin: 40px auto;
	line-height: 25px;
	height: 80px;
	text-align: center;
	font-size: 18px;
	background: url("/_common/image/recruit/bar_02.png?20220101") no-repeat bottom;
	background-size: contain;
} 

.recruit03,
.recruit02,
.recruit01 {
	padding: 75px 0 0;
}
.recruit03,
.recruit01 {
	margin-left: 30px;
	box-sizing: border-box;
}
.recruit02 {
	margin-left: 30px;
	box-sizing: border-box;
}
.recruit2 .sub_1 {
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    padding: 2% 0;
}
.recruit01Txt,
.recruit01Img {
	width: 90%;
	position: relative;
}
.recruit01Txt {
	padding: 60px 20px 20px 20px;
	background: #EAEAEA;
	border-radius: 8px;
	box-sizing: border-box;
}
.recruit01Txt h5 {
	position: absolute;
	top: 20px;
	left: 20px;
	font-size: 26px;
	font-weight: bold;
	z-index: 3;
}

.recruit01Txt h6 {
	font-size: 16px;
	font-weight: bold;
}
.recruit01Img {
	margin-top: -15px;
}
.num {
	position: absolute;
	color: #FFF;
	font-size: 60px;
	font-weight: bold;
	text-align: center;
	font-family: zen-kaku-gothic-antique, sans-serif;
	width: 100px;
	border-radius: 50px;
	padding: 0;
	line-height: 100px;
	box-sizing: border-box;
}
.recruit01 .num {
	background: #E7B2DB;
	top: -65px;
	left: -20px;
}
.recruit02 .num {
	background: #F7CBAF;
	top: -65px;
	right: -20px;
}
.recruit03 .num {
	background: #CDEEEC;
	top: -65px;
	left: -20px;
}

.recruit .btn-wrap {
	width: 400px;
	max-width: 86%;
	margin: 0px auto;
}

.recruit a.btn-c {
	margin: 0px auto 50px;
	text-align: center;
	padding-left: 0;
}

.recruit a.btn-c:after {
	width: 400px;
	max-width: 100%;
}

.recruit2 h6 {
	font-size: 20px;
	margin-bottom: 15px;
}



/* tab-wrap
============================================================ */
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 0;
}
.tab-wrap:after {
  content: '';
  width: 100%;
  height: 8px;
  background: #8CC63F;
	background-position: right;
  display: block;
  order: -1;
}
.tab-label {
  color: White;
  background: LightGray;
  font-weight: bold;
	font-size: 16px;
  white-space: nowrap;
  text-align: left;
  padding: 3px .5em 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 0px top 0;
	margin-bottom: 13px;
}
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-content {
  width: 100%;
	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 0px top 0;
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 5px;
  opacity: 1;
  transition: .5s opacity;
}
.tab-switch {
  display: none;
}


/*---------- contact ------------------*/

#contact_sec2 {
	margin: 20px auto 40px;
	width: 96%;
  padding: 30px 18px 18px 18px;
	border-radius: 15px;
	background: #F3F3F3;
	box-sizing: border-box;
}

#contact_sec2 h3 {
	font-size: 18px;
}
#contact_sec2 h3.complete1 {
	margin-left: 0px;
}
#contact_sec2 h3.complete2 {
	margin: 30px auto 50px;
	text-align: center;
}

#contact_sec2 form .form-box {
	width: 100%;
	box-sizing: border-box;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
}

#contact_sec2 form .form-box .form-heading {
  width: 100%;
  height: auto;
	margin: 20px 0 10px;
}

#contact_sec2 form .form-box .form-heading p {
  font-size: 18px;
  color: #222222;
	font-weight: bold;
}

#contact_sec2 form .form-box .required {
  width: 12%;
  height: auto;
	margin-left: 20px;
}


#contact_sec2 form .form-box p .required {
  font-size: 12px;
  font-weight: 500;
  color: white;
  width: 63px;
  padding: 3px 15px;
  background: #FF8500;
  border-radius: 4px;
  text-align: center;
}

#contact_sec2 form .form-box .unrequired {
  width: 12%;
  height: auto;
}

#contact_sec2 form .form-box .unrequired p {
  font-size: 12px;
  font-weight: 500;
  color: white;
  display: block;
  width: 63px;
  padding: 3px 0;
  background: #003b77;
  border-radius: 9.5px;
  text-align: center;
}

#contact_sec2 form .form-box .inputrequiredbox {
  width: 100%;
}

#contact_sec2 form .form-box .inputrequiredbox input {
  border: 1px solid #666;
  border-radius: 0;
  font-size: 16px;
  color: #333;
}


#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 .form-boxsitemap .inputrequiredbox {
  width: 100%;
}

#contact_sec2 form .form-box .inputrequiredbox textarea {
  width: 100%;
  height: 185px;
  border: 1px solid #666;
  border-radius: 0;
  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;
  border-radius: 0;
 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;
	color: #000;
  width: 340px;
  height: 62px;
	cursor: pointer;
	border: solid 1px #9E9E9E;
	border-radius: 10px;
    transition: .1s ease-in-out;
	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 #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;
	max-width: 80%;
  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 form #contact-form-btn input[type="reset"] {
	background: #FFF;
	color: #333;
}


.comp_txt {
	border: solid 1px #8CC63F;
	padding: 50px 15px;
	font-size: 17px;
	font-weight: bold;
	width: 96%;
	margin: 10px 0 40px;
}
.comp_top a {
	display: block;
	margin: 30px 0;
	padding: 10px;
	width: 340px;
	max-width: 80%;
	background: #2F2F2F;
	color: #FFF;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
.comp_top a:hover {
	background: #CCC;
}

.video_a video{
	text-align: center;
	width: 100%;
	height: auto;
}
