@charset "utf-8";
/* CSS Document */

body {
	margin: 0;
	padding: 0;
	position: relative;
	font-weight: 400;
	font-family: "Noto Sans Japanese";
	color: #3e3a39;
	animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
	-webkit-overflow-scrolling: touch;
	-moz-overflow-scrolling: touch;
	-ms-overflow-scrolling: touch;
	overflow-scrolling: touch;
}

h1,h2,h3,h4,p,ul,dl { margin: 0; }

main { display: block; }

/*========= loading =========*/

#loading-box {
	background: rgb(217,222,228);
	background: linear-gradient(0deg, rgba(217,222,228,1) 0%, rgba(231,234,240,1) 49%, rgba(255,255,255,1) 100%);
    height: 100%;
    width: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 2000;
}
.loader {
  	position: absolute;
  	top: 50%;
	bottom: 50%;
	right: 25%;
  	left: 25%;
  	width: 60%;
  	margin-top: -80px;
  	margin-left: -80px;
  	perspective: 1000px;
  	transform-style: preserve-3d;
}

.svg1 {
    display: block;
	width: 1100px;
    /*width: auto;*/
    height: 200px;
    margin: 0px auto;
}
.bnr {
    text-align: center;
    margin-top: 50px !important;
    position: absolute;
    left: 0;
    right: 0;
    top: 340px;
    margin: 0 auto;
}
#svg {
    width: 1100px;
    position: relative;
    left: -1px;
    right: 0;
    margin: 0 auto;
    top: -200px;
    display: none;
}
#svg img {
    width: 1100px;
    height: auto;
}



/*========= header =========*/

#header {
	width: 100%;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	/*position: absolute;*/
	position: fixed;
	padding: 0 30px;
	box-sizing: border-box;
	box-shadow: 0 2px 4px rgba(0,0,0,.1);
	background: #fff;
	z-index: 1500;
}

#header .logo { width: 300px; padding-top: 25px; line-height: 0; }

#header .head-nav { width: 500px; margin-right: 0; margin-left: auto; }

#header_sp { display: none; }

@media all and (-ms-high-contrast: none) {
	.head-nav { float: right!important; }
	.head-nav::before { display: none; }
	.head-nav::after { display: none; }
}

.head-nav .menu-box { width: 100%; }

.head-nav ul {
	list-style: none;
	padding: 0;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	background: rgba(255,255,255,0.8);
}

.head-nav ul li {
	width: 150px;
	font-weight: 500;
	text-align: center;
	color: #111;
	box-sizing: border-box;
}

.head-nav ul li a {
	display: block;
	color: #222;
	line-height: 85px;
	text-decoration: none;
	-webkit-transition: all .3s;
    transition: all .3s;
}

.head-nav ul li a:hover { background: #f2f2f2; }

/* menu */

ul.menu__second-level { visibility: hidden; opacity: 0; z-index: 1; }

/* single */

li.menu__single ul.menu__second-level {
    position: absolute;
	top: 75px;
	left: 0;
    width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
    background: #113389;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
	box-shadow: 0 2px 4px rgba(0,0,0,.1) inset;
}

li.menu__single:hover ul.menu__second-level {
    top: 85px;
	left: 0;
    visibility: visible;
    opacity: 1;
	z-index: 1!important;
}

.menu > li.menu__single ul li {
    width: 20%!important;
	font-size: 1em;
	text-align: left;
	position: relative;
}

.menu > li.menu__single ul li a {
	position: relative;
	color: #fff;
	font-weight: 500;
    transition: .2s linear;
	-webkit-transition: .2s linear;
}

.menu > li.menu__single ul li a:hover {
	text-decoration: none;
	background: none;
	color: #fff;
}

.menu > li.menu__single ul li a:before {
    content: "";
    position: absolute;
    right: 15px;
    top: 52%;
    width: 15px;
    margin-left: -10px;
    margin-top: -1px;
    height: 1px;
    background: #fff;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}
.menu > li.menu__single ul li a:after {
    content: "";
    position: absolute;
    right: 15px;
    top: 52%;
    width: 8px;
    margin-top: -1px;
    margin-left: -2px;
    height: 1px;
    background: #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}

.menu > li.menu__single ul li a:hover:before { right: 25px; top: 52%; background: #fff; }
.menu > li.menu__single ul li a:hover:after { right: 25px; top: 52%; background: #fff; }


#header .contact {
    display: block;
    margin: 30px 3px 30px 50px;
}
#header .contact a {
	text-decoration: none;
    background: #222324;
    color: #fff;
    font-size: .9em;
    font-weight: 500;
	padding: .7em 2.5em;
    text-align: center;
    border-radius: 90px;
    letter-spacing: 1px;
    overflow: hidden;
    position: relative;
    width: 200px;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}
#header .contact a:hover { background: #434547; }
#header .contact a::after {
    content: "\f105";
    font-family: 'FontAwesome';
    display: inline-block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    right: 10px;
}

#header_fix {
	width: 100%;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	position: fixed;
	padding: 0 30px;
	box-sizing: border-box;
	box-shadow: 0 2px 4px rgba(0,0,0,.1);
	background: #fff;
	opacity:0;/* 	最初読み込んだときは透過 */
	z-index: 1000;/*　他のアイテムに対して最上位のレイヤーになるように */
}

#header_fix .logo { width: 300px; padding-top: 25px; line-height: 0; }

#header_fix .head-nav { width: 500px; margin-right: 0; margin-left: auto; }

#header_fix .contact {
    display: inline-block;
    margin: 30px 3px 30px 50px;
}
#header_fix .contact a {
	text-decoration: none;
    background: #222324;
    color: #fff;
    font-size: .9em;
    font-weight: 500;
	padding: .7em 2.5em;
    text-align: center;
    border-radius: 90px;
    letter-spacing: 1px;
    overflow: hidden;
    position: relative;
    width: 200px;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}
#header_fix .contact a:hover { background: #434547; }
#header_fix .contact a::after {
    content: "\f105";
    font-family: 'FontAwesome';
    display: inline-block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    right: 10px;
}


/*========= sp_menu =========*/

#nav-toggle { display: none; }
#gloval-nav { display: none; }



/*========= footer =========*/

#footer {
	padding: 0;
	margin: 0 auto;
	width: 100%;
	background: #113389;
}
#footer .inner {
	width: 100%;
	max-width: 1200px;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	padding: 100px 0;
	margin: 0 auto;
}
#footer .inner .company {
	width: 400px;
	color: #fff;
}
#footer .inner .company div:nth-child(1) {
	margin-bottom: 20px;
}
#footer .inner .company div:nth-child(2) {
	margin-bottom: 30px;
	font-size: .9em;
	line-height: 1.8em;
	letter-spacing: 1px;
}
#footer .inner .company div:nth-child(3) {
	font-size: .8em;
}


#footer .inner .menu {
	width: 800px;
}
#footer .inner .menu ul {
	list-style: none;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	color: #fff;
}
#footer .inner .menu ul li {
}
#footer .inner .menu ul li a {
	color: #fff;
	text-decoration: none;
}


#footer_contact {
	width: 100%;
	background: #0d2870;
}
#footer_contact .inner {
	width: 100%;
	max-width: 870px;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	padding: 30px 0;
	margin: 0 auto;
}
#footer_contact .txt {
	color: #fff;
	font-size: 1.2em;
}
#footer_contact .contact {
    display: block;
	margin-top: 3px;
}
#footer_contact .contact a {
	text-decoration: none;
    background: #fff;
    color: #0d2870;
    font-size: 1em;
    font-weight: 600;
	padding: .7em 4.5em;
    text-align: center;
    border-radius: 90px;
    letter-spacing: 1px;
    overflow: hidden;
    position: relative;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}
#footer_contact .contact a:hover {
	opacity: 0.6;
}
#footer_contact .contact a::after {
    content: "\f105";
    font-family: 'FontAwesome';
	font-size: 1.2em;
    display: inline-block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    right: 20px;
}



/*========= eco iso =========*/

#eco_iso {
	width: 100%;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	border-top: 1px #ddd solid;
	border-bottom: 1px #ddd solid;
	box-sizing: border-box;
}
#eco_iso .eco {
	width: 50%;
	box-sizing: border-box;
	border-right: 1px #ddd solid;
}
#eco_iso .eco a {
	display: block;
	padding: 1.5em;
	color: #222;
	font-size: 1.1em;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
	position: relative;
}
#eco_iso .eco a:hover { color: #333; }
#eco_iso .eco a::after {
    content: "\f105";
    font-family: 'FontAwesome';
    font-size: 1.2em;
    display: inline-block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    right: 40px;
}
#eco_iso .iso {
	width: 50%;
	box-sizing: border-box;
}
#eco_iso .iso a {
	display: block;
	padding: 1.5em;
	color: #222;
	font-size: 1.1em;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
	position: relative;
}
#eco_iso .iso a:hover { color: #333; }
#eco_iso .iso a::after {
    content: "\f105";
    font-family: 'FontAwesome';
    font-size: 1.2em;
    display: inline-block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    right: 40px;
}



/*========= slider =========*/

#main_visual {
	display: block;
	width: 100%;
	position: relative;
	z-index: -1;
}
#main_visual .catch {
	position: absolute;
	left: 7%;
	top: 35%;
	color: #fff;
	z-index: 50;
}
#main_visual .catch span {
	font-size: 3em;
	font-weight: 900;
}
#main_visual .catch p {
	font-size: 1.3em;
	line-height: 2em;
	letter-spacing: 2px;
	padding-top: 20px;
}

#slide_wrapp {
	width: 100%;
	height: 970px;
	position: relative;
	overflow: hidden;
	padding: 0;
}
#slide_wrapp .slide_item {
	height: 100%;
	opacity: 0;
	transform: scale(1);
	transition: opacity 2s linear, transform 7.5s linear;
	-webkit-transition: opacity 2s linear, transform 7.5s linear;
	-ms-transition: opacity 2s linear, transform 7.5s linear;
	position: relative;
}
#slide_wrapp .slide_item:not(:first-child) {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
}
#slide_wrapp .slide_item.show_ {
	opacity: 1;
}
#slide_wrapp .slide_item.zoom_ {
	transform: scale(1.1);
}
#slide_wrapp .slide_item img {
	display: block;
	width: 100%;
}

#slide_wrapp .slide_img:nth-child(1) {
	background: url(../img/slide/slide_img03.jpg) no-repeat;
	background-size: cover;
}
#slide_wrapp .slide_img:nth-child(2) {
	background: url(../img/slide/slide_img01.jpg) no-repeat;
	background-size: cover;
}
#slide_wrapp .slide_img:nth-child(3) {
	background: url(../img/slide/slide_img02.jpg) no-repeat;
	background-size: cover;
}
#slide_wrapp .slide_img:nth-child(4) {
	background: url(../img/slide/slide_img04.jpg) no-repeat;
	background-size: cover;
}



/*========= top page =========*/

/*=== message ====*/

#message01 {
	width: 100%;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
#message01 .l_box {
	width: 50%;
	background: url(../img/common/triangle01.png) no-repeat;
	background-position: left top;
}
#message01 .l_box .txt_area {
	width: 600px;
	color: #113389;
	padding: 150px 80px 150px 0px;
	box-sizing: border-box;
	float: right;
}
#message01 .l_box .txt_area h2 {
	font-size: 2em;
	margin-bottom: 50px;
}
#message01 .l_box .txt_area p {
	line-height: 2em;
}
#message01 .r_box {
	width: 50%;
	background: url(../img/common/top_img01.jpg) no-repeat;
	background-size: cover;
}


#message02 {
	width: 100%;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
#message02 .l_box {
	width: 50%;
	background: url(../img/common/top_img03.jpg) no-repeat;
	background-size: cover;
}
#message02 .r_box {
	width: 50%;
	background: #113389;
}
#message02 .r_box .txt_area {
	width: 600px;
	color: #fff;
	padding: 150px 0px 150px 80px;
	box-sizing: border-box;
}
#message02 .r_box .txt_area h2 {
	font-size: 2em;
	margin-bottom: 50px;
}
#message02 .r_box .txt_area p {
	line-height: 2em;
}



/*=== work ====*/

#top_work {
	width: 100%;
	background: url(../img/common/triangle02.png) no-repeat;
	background-position: right top;
}
#top_work .inner {
	width: 100%;
	max-width: 1200px;
	margin: 0px auto;
	padding: 100px 0 100px;
}
#top_work .inner .cmn_ttl {
	font-size: 2em;
	font-weight: 600;
	font-family: 'Roboto', sans-serif;
	color: #222;
	letter-spacing: 3px;
	margin-bottom: 40px;
}
#top_work .inner .list {
	box-sizing: border-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	justify-content: space-between;
}
#top_work .inner .list .case {
    top: -45px;
	width: 30%;
}
#top_work .inner .list .case .in {
    position: relative;
}
#top_work .inner .list .case .in .num {
    display: block;
    font-family: 'Roboto', sans-serif;
    font-size: 70px;
    font-size: 4rem;
    font-style: italic;
    color: #ffd610;
    position: absolute;
    top: -40px;
    right: 10px;
    letter-spacing: 1.5px;
}
#top_work .inner .list .case .in .num span {
	color: #333;
}
#top_work .inner .list .case .in .thumb {
    display: block;
}
#top_work .inner .list .case .in .thumb img {
    width: 100%;
}

#top_work .inner .list .case .in .txtarea {
    background: #fff;
    padding: 2em 1em;
    position: relative;
}
#top_work .inner .list .case .in .txtarea .day {
    position: absolute;
    top: -25px;
    left: -10px;
    width: 100%;
}
#top_work .inner .list .case .in .txtarea .day::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px 0;
    border-color: transparent #a56e10 transparent transparent;
    position: absolute;
    left: 0;
    bottom: -10px;
}
#top_work .inner .list .case .in .txtarea .day span {
    display: inline-block;
    background: #ffd610;
    font-size: 1em;
	font-weight: 600;
    color: #222;
    padding: 10px 30px;
}

#top_work .inner .list .case .in .txtarea .ttl {
	line-height: 2em;
	font-weight: 600;
}

#top_work .inner .more {
	width: 300px;
}
#top_work .inner .more a {
	display: block;
	text-decoration: none;
    background: #113389;
    color: #fff;
    font-size: 1em;
    font-weight: 500;
	padding: 1.5em 3em;
    text-align: center;
    border-radius: 90px;
    letter-spacing: 1px;
    overflow: hidden;
    position: relative;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}
#top_work .inner .more a:hover {
	opacity: 0.6;
}
#top_work .inner .more a::after {
    content: "\f105";
    font-family: 'FontAwesome';
    display: inline-block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    right: 30px;
}

#top_work .inner ul {
	padding: 0;
	margin: 0 0 100px 0;
	list-style: none;
}
#top_work .inner ul li {
	padding-bottom: 15px;
	margin-bottom: 15px;
	border-bottom: 1px #ccc solid;
	position: relative;
}
#top_work .inner ul li span {
	margin-right: 30px;
}
#top_work .inner ul li a {
	color: #113389;
}


/*=== recruit ====*/

#top_recruit {
	width: 100%;
	background: #113389;
	background: url(../img/common/recruit_back.jpg) no-repeat;
	background-size: cover;
	/*background-attachment: fixed;
	background-position: top right;*/
	margin-bottom: 80px;
}
#top_recruit .inner {
	width: 100%;
	max-width: 1200px;
	margin: 0px auto;
	padding: 100px 0;
}
#top_recruit .inner .cmn_ttl {
	font-size: 2em;
	font-weight: 600;
	font-family: 'Roboto', sans-serif;
	color: #fff;
	letter-spacing: 3px;
	margin-bottom: 20px;
}
#top_recruit .inner .cmn_txt {
	color: #fff;
	line-height: 2em;
	margin-bottom: 30px;
}

#top_recruit .inner .more {
	width: 300px;
}
#top_recruit .inner .more a {
	display: block;
	text-decoration: none;
    background: #fff;
    color: #113389;
    font-size: 1em;
    font-weight: 600;
	padding: 1.5em 3em;
    text-align: center;
    border-radius: 90px;
    letter-spacing: 1px;
    overflow: hidden;
    position: relative;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}
#top_recruit .inner .more a:hover {
	opacity: 0.6;
}
#top_recruit .inner .more a::after {
    content: "\f105";
    font-family: 'FontAwesome';
    display: inline-block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    right: 30px;
}



/*========= common =========*/

#main-contents {
	word-break: normal;
    word-wrap: break-word;
	padding-top: 85px;
}

.lower_ttl {
    background-position: center center;
    height: 330px;
	text-align: center;
    position: relative;
    z-index: 1;
}
.lower_ttl .inner {
	width: 100%;
	position: absolute;
    top: 35%;
}
.lower_ttl .inner h1 {
	font-size: 3em;
	color: #fff;
	letter-spacing: 3px;
}
.lower_ttl .inner p {
	font-size: 1.5em;
	font-weight: 500;
	font-family: 'Roboto', sans-serif;
	color: #fff;
	letter-spacing: 5px;
}

.crumbs {
    margin: 20px 0 50px;
    font-size: 14px;
    font-size: 1.4rem;
    position: relative;
    z-index: 1;
}
.container {
    width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}
.container .inner {
	width: 100%;
	margin-bottom: 100px;
}

.crumbs .container ul {
	list-style: none;
	display: flex;
	display: -webkit-flex;
	padding: 0;
}
.crumbs .container ul li {
	font-size: .7em;
	margin-right: 5px;
}
.crumbs .container ul li a {
	color: #222;
}



/*========= topics =========*/

.topics_box { margin-bottom: 150px; }
.topics_box h2 { margin-bottom: 20px; text-align: center; font-size: 2em; }
.topics_box p { margin-bottom: 30px; line-height: 1.8em; }
.topics_box .day { margin-bottom: 60px; text-align: right; }

.topics_box .image01 { margin-bottom: 30px; }
.topics_box .image02 { margin-bottom: 30px; display: flex; justify-content: flex-start; }
.topics_box .image02 .img { width: 350px; margin-right: 20px; }
.topics_box .image02 .img img { width: 100%; }

.topics_box .btn01 { width: 265px; margin: 100px 0 0 0; }
.topics_box .btn01 a {
    text-decoration: none;
    background: #113389;
    color: #fff;
    font-size: 1em;
    padding: .7em 3.5em;
    text-align: center;
    border-radius: 90px;
    letter-spacing: 1px;
    overflow: hidden;
    position: relative;
    transition: .2s linear;
    -webkit-transition: .2s linear;
}
.topics_box .btn01 a:hover { opacity: .8; }
.topics_box .btn01 a::after {
    content: "\f105";
    font-family: 'FontAwesome';
    font-size: 1.2em;
    display: inline-block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    right: 20px;
}



/*========= message =========*/

#mess_container { position: relative; }
#mess_container .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}
#mess_container .inner .in {
	padding-top: 220px;
	padding-bottom: 60px;
	margin-top: -100px;
}

#mess_container .imgarea {
    position: absolute;
    top: 100px;
    left: 50%;
    margin-left: -270px;
}
#mess_container .imgarea img {
    line-height: 0;
    font-size: 0;
    height: auto;
    max-width: 100%;
}

#mess_container .textarea {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	color: #222;
}
#mess_container .textarea::before {
	content: "";
    display: block;
    position: absolute;
	left: -80px;
    top: -65px;
    width: 180px;
    height: 180px;
	background: url(../img/company/back_blue.png) no-repeat;
	z-index: -1;
}

#mess_container .textarea h2 {
	width: 240px;
	font-family: 'Roboto', sans-serif;
	font-size: 2.5rem;
	letter-spacing: 5px;
	margin-bottom: 30px;
	border-bottom: 3px solid #333;
}
#mess_container .textarea .name {
	font-size: 45px;
	font-size: 3.5rem;
	margin-bottom: 140px!important;
}
#mess_container .textarea .name span {
	font-size: .4em;
	margin-bottom: 5px;
	font-weight: 700;
	display: block;
}
#mess_container .textarea .txt {
	width: 750px;
	background: #fff;
	padding: 80px 80px 80px 0;
	position: relative;
	box-sizing: border-box;
}
#mess_container .textarea .txt h3 { font-size: 2em; margin-bottom: 30px; }
#mess_container .textarea .txt p { margin-bottom: 30px; line-height: 2em; }



/*========= company =========*/

.company_mv {
	background: url(../img/company/mv_img.jpg) no-repeat;
	background-size: cover;
	background-position: bottom;
}

.company_sub_mv {
	padding: 150px 0 300px;
	background: url("../img/company/com_img_2024.jpg") no-repeat;
	background-size: cover;
}
.company_sub_mv .inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	color: #fff;
}
.company_sub_mv .inner strong {
	font-size: 2.6em;
	font-weight: 600;
	line-height: 2em;
}

.company_container01 { width: 100%; max-width: 1200px; margin: 0 auto; margin-top: -150px; }
.company_container01 .inner { width: 100%; max-width: 1200px; margin-bottom: 100px; }
.company_container01 .inner .in { padding: 80px; background: #fff; }

.company_container02 { padding: 100px 0 100px; color: #222; background: #eee9e2; }
.company_container02 .inner { width: 100%; max-width: 1200px; margin: 0 auto; }
.company_container02 .inner .in { padding: 80px; background: #fff; }
.company_container02 .inner .ttl {
	text-align: center;
	font-size: 1.5em;
	letter-spacing: 3px;
	margin-bottom: 30px;
}

.company_container03 { padding: 100px 0 100px; color: #222; }
.company_container03 .inner { width: 100%; max-width: 1200px; margin: 0 auto; }
.company_container03 .inner .in { padding: 80px; background: #fff; }
.company_container03 .inner .ttl {
	text-align: center;
	font-size: 1.5em;
	letter-spacing: 3px;
}

.company_table01 { width: 100%; }
.company_table01 th { width: 120px; }
.company_table01 tr:first-child td,
.company_table01 tr:first-child th { border-top: 1px dashed #ccc; }
.company_table01 td, .company_table01 th {
    border: 0;
    border-bottom: 1px dashed #ccc;
    padding: 15px 0;
    text-align: left;
	line-height: 2em;
}

.company_table02 { width: 100%; }
.company_table02 th { width: 250px; }
.company_table02 tr:first-child td,
.company_table02 tr:first-child th { border-top: 1px dashed #ccc; }
.company_table02 td, .company_table02 th {
    border: 0;
    border-bottom: 1px dashed #ccc;
    padding: 20px 0;
    text-align: left;
	line-height: 2em;
}



/*========= recruit =========*/

.recruit_mv {
	background: url(../img/company/mv_img.jpg) no-repeat;
	background-size: cover;
	background-position: bottom;
}

.recruit_container01 { width: 100%; }
.recruit_container01 .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	margin-bottom: 100px;
	padding-top: 60px;
}
.recruit_container01 .inner .ttl { margin-bottom: 50px; font-size: 1.5em; }
.recruit_container01 .inner .txt { margin-bottom: 50px; }

/*=== message ===*/

.recruit_message {
	width: 100%;
	background: url(../img/recruit/message_back.jpg) no-repeat;
	background-size: cover;
	position: relative;
}
.recruit_message .inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px;
	color: #fff;
}
.recruit_message .inner::after { content: ""; clear: both; display: block; }
.recruit_message .inner .txt { width: 650px; float: right; }
.recruit_message .inner .txt div:nth-child(1) { font-size: 2.5em; margin-bottom: 15px; }
.recruit_message .inner .txt div:nth-child(2) { font-size: 1.5em; margin-bottom: 15px; line-height: 2em; }
.recruit_message .inner .txt div:nth-child(3) { line-height: 2em; }

/*=== new graduate ===*/

.recruit_ng {
	width: 100%;
	background: #f6f6f6;
	margin-bottom: 50px;
}
.recruit_ng .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 0;
}
.recruit_ng .inner .ttl { margin-bottom: 50px; font-size: 1.5em; }
.recruit_ng .inner .txt { margin-bottom: 50px; }

.recruit_ng .banner { width: 550px; margin: 0 auto; }
.recruit_ng .banner ul {
	list-style: none;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}

/*=== interview ===*/

.recruit_interview {
	width: 100%;
	background: #f6f6f6;
}
.recruit_interview .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 0 40px;
}
.recruit_interview .ttl {
	margin-bottom: 60px;
	font-size: 1.5em;
	color: #222;
}
.recruit_interview .flx {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	margin-bottom: 80px;
}

.recruit_interview .flx .l_box {
	position: relative;
	line-height: 0;
	height: 100%;
}
.recruit_interview .flx .l_box .name {
	width: 100%;
	padding: 15px 20px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,.6);
	color: #fff;
	line-height: 2em;
	box-sizing: border-box;
}
.recruit_interview .flx .l_box .name span {
	font-size: 1.5em;
	font-weight: 500;
}

.recruit_interview .flx .r_box {
	width: 600px;
	line-height: 2em;
}
.recruit_interview .flx .r_box p {
	margin-bottom: 30px;
}
.recruit_interview .flx .r_box span {
	font-size: 1.5em;
	font-weight: 600;
	border-bottom: 3px solid #333;
	padding-bottom: 8px;
	margin-bottom: 15px;
	display: block; color: #222;
}

.recruit_interview .num {
    font-size: 42px;
    font-size: 4.2rem;
    padding: 12px 18px 15px;
}
.recruit_interview .num {
    position: absolute;
    color: #222;
    background: #ffd610;
    top: -10px;
    left: 15px;
	line-height: .6em;
	font-family: 'Roboto', sans-serif;
    font-size: 3em;
	font-weight: 700;
    padding: 7px 16px 20px;
    z-index: 1;
}
.recruit_interview .num::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 0 10px;
    border-color: transparent transparent transparent #a56e10;
    position: absolute;
    right: -10px;
    top: 0;
}
.recruit_interview .num span {
    display: block;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 2em;
}

/* 20220225 */
.recruit_link_bnner { width: 400px; }
.recruit_link_bnner a { display: block; padding: .7em; border: 1px #ddd solid; transition: .3s; }
.recruit_link_bnner a:hover { opacity: .6; }

@media screen and (max-width: 640px) {
	
	.recruit_link_bnner { width: 100%; }
	
}



/*========= works =========*/

#work_container { width: 100%; }
#work_container .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 60px;
}

#work_container .ttl01 {
    text-align: center;
    font-size: 30px;
    font-size: 2.5rem;
	color: #222;
    margin-bottom: 40px;
}
#work_container .ttl01 strong {
    position: relative;
    display: inline-block;
    padding-bottom: 35px;
    line-height: 1em;
    overflow: hidden;
}
#work_container .ttl01 strong::after,
#work_container .ttl01 strong::before {
    content: "";
    display: block;
    border-bottom: 3px solid #333;
    position: absolute;
    width: 50%;
    bottom: 8px;
}
#work_container .ttl01 strong::before {
    left: -5px;
}
#work_container .ttl01 strong::after {
    right: -5px;
}
#work_container .ttl01 .arrow {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 3px solid #333;
    border-right: 3px solid #333;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    left: 50%;
    margin-left: -5px;
    bottom: 4px;
}

#work_container .list {
	width: 100%;
}
#work_container .list ul {
	list-style: none;
	padding: 0;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#work_container .list ul li { width: 30%; margin-bottom: 60px; }
#work_container .list ul li img { width: 100%; margin-bottom: 10px; }
#work_container .list ul li span { font-size: .9em; color: #666; display: block; }

#work_container .cate_box { display: none; }



/*========= access =========*/

#acc_container01 { width: 100%; }
#acc_container01 .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 60px;
}
#acc_container01 .inner .txt01 { margin-bottom: 15px; }
#acc_container01 .inner .txt02 { font-size: 1.2em; }

#acc_container02 { width: 100%; background: #f6f6f6; }
#acc_container02 .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 0;
}
#acc_container02 .inner ul {
	list-style: none;
	padding: 0;
	display: flex;
	display: -webkit-flex;
}
#acc_container02 .inner ul li { margin-right: 30px; font-size: 1.2em; }

#acc_container03 { width: 100%; }
#acc_container03 .inner { 
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 0;
}

#acc_container01 h3,
#acc_container02 h3,
#acc_container03 h3 {
	font-size: 1.8em;
	color: #222;
	margin-bottom: 25px;
}

/*
#acc_container01 h3::after,
#acc_container02 h3::after,
#acc_container03 h3::after {
    content: "";
    border-bottom: 3px solid #333;
    width: 60px;
    display: block;
    margin-top: 20px;
}
*/



/*========= contact =========*/

#toi_container01 { width: 100%; margin-bottom: 80px; }
#toi_container01 .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}
#toi_container01 .inner .txt01 { margin-bottom: 20px; font-size: 1.1em; font-weight: 600; }
#toi_container01 .inner .txt02 { line-height: 2em; margin-bottom: 50px; }
#toi_container01 .inner .txt02 ul { list-style: none; padding: 0; }
#toi_container01 .inner .tel {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
#toi_container01 .inner .tel div {
	width: 32%;
	padding: 2em;
	border: 1px #ccc solid;
	box-sizing: border-box;
}
#toi_container01 .inner .tel div strong {
	font-size: 1.2em;
	display: block;
	margin-bottom: 10px;
}
#toi_container01 .inner .tel div span {
	display: block;
	font-size: 2em;
	font-weight: 600;
	margin-bottom: 10px;
}

#toi_container02 { width: 100%; background: #f6f6f6; }
#toi_container02 .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px;
}
#toi_container02 .inner .ttl { margin-bottom: 50px; font-size: 1.5em; }
#toi_container02 .inner .txt { margin-bottom: 50px; line-height: 2em; }

.toi_box { padding: 3em; line-height: 2em; background: #fff; }
.toi_box a { text-align: center; color: #009964; }

.toi_btn_l_01 { width: 200px; text-align: center; margin: 0 auto; }
.toi_btn_l_02 { width: 200px; text-align: center; margin-right: 30%; float: right; }
.toi_btn_r_01 { width: 200px; text-align: center; margin-left: 30%; float: left; }

.toi_box .btn01 {
	width: 200px;
	padding: .7em 1em;
	background: #333;
	border: none!important;
	border-radius: 90px;
	font-size: 1em;
	font-family: "Noto Sans Japanese";
	color: #fff;
	margin-right: 30px;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}
.toi_box .btn02 {
	width: 200px;
	padding: .7em 1em;
	background: #333;
	border: none!important;
	border-radius: 90px;
	font-size: 1em;
	font-family: "Noto Sans Japanese";
	color: #fff;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}
.toi_box .btn03 {
	width: 200px;
	padding: .7em 1em;
	background: #333;
	border: none!important;
	border-radius: 90px;
	font-size: 1em;
	font-family: "Noto Sans Japanese";
	color: #fff;
	margin-right: 30px;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}
.toi_box .btn04 {
	width: 200px;
	padding: .7em 1em;
	background: #333;
	border: none!important;
	border-radius: 90px;
	font-size: 1em;
	font-family: "Noto Sans Japanese";
	color: #fff;
	transition: .2s linear;
	-webkit-transition: .2s linear;
}
.toi_box .btn01:hover, .toi_box .btn02:hover,
.toi_box .btn03:hover, .toi_box .btn04:hover {
    background: #113389;
}

.toi_box table {
	margin-bottom: 30px;
}
.toi_box th {
	border: 0;
    padding: 20px 0;
    text-align: left;
	border-bottom: 1px dashed #ccc;
}
.toi_box td {
	border: 0;
    padding: 20px 0;
    text-align: left;
	border-bottom: 1px dashed #ccc;
}
.toi_box tr:first-child th, .toi_box tr:first-child td {
	border-top: 1px dashed #ccc;
}

.toi_box .require {
    padding: 1px 4px;
    color: #222;
    font-size: .8em;
    font-style: normal;
	font-weight: 300;
    letter-spacing: 1px;
    margin: 0 0 0 10px;
    line-height: 9px;
    border-radius: 3px;
    zoom: normal;
    background: #ffd610;
}

.toi_input01 {
	height: 25px;
	float: left;
	border-color: #999;
	border-width: 0px 0px 1px 0px;
	border-style: dotted;
}

.from_text01 { padding: 10px; border: 1px #ccc solid; }
.from_text02 { padding: 10px; border: 1px #ccc solid; }
.from_text03 { padding: 10px; border: 1px #ccc solid; }

.t_from_text { padding: 5px; border: 1px #ccc solid; }

#pos_container { width: 100%; margin-bottom: 50px; }
#pos_container .inner { width: 100%; max-width: 1200px; margin: 0 auto; }
#pos_container .inner .txt01 { margin-bottom: 20px; font-size: 1.1em; font-weight: 600; }
#pos_container .inner .txt02 { line-height: 2em; margin-bottom: 50px; }


/*========= privacy =========*/

#pri_container { width: 100%; }
#pri_container .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 0 80px;
}
#pri_container .inner .ttl {
	margin-bottom: 20px;
}
#pri_container .inner .ttl span {
	font-size: 1.5em;
	font-weight: 600;
	color: #222;
	border-bottom: 3px solid #333;
    padding-bottom: 5px;
}
#pri_container .inner .txt {
	line-height: 1.8em;
	margin-bottom: 50px;
}
#pri_container .inner .txt ul {
	list-style: none;
	padding: 0;
	margin-top: 10px;
}



/*========= page top =========*/

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 0.9em;
	line-height: 15px;
	z-index: 5;
}
#page-top a {
	background-color: #0d2870;
	text-decoration: none;
	color: #fff;
	padding: 1em 1.5em;
	text-align: center;
	display: block;
	transition: .1s linear;
	-webkit-transition: .1s linear;
}
#page-top a:hover {
	text-decoration: none;
	color: #0d2870;
	background-color: #fff;
}


/* topics */

.topics-text01 { margin-bottom: 50px; }
.topics-text01 p { margin: 5px 0; }

/* 20230829 */

.topics__flex-box { display: flex; justify-content: space-between; align-items: center; margin-bottom: 50px; }
.topics__flex-box img { width: 32%; }

@media screen and (max-width: 640px) {
	
	.topics__flex-box { flex-direction: column; }
	.topics__flex-box img { width: 100%; margin-bottom: 20px; }
	
	.topics_box h2 { font-size: 1.3em; }
	
}
