@charset "utf-8";


/* PC : 320 px - 999 px */
@media print, screen and (min-width: 320px) {

.gridContainer {
width:100%;
height:100%;
max-width:999px;
min-width:320px;
}

.sp{
display: block;
}

.pc{
display: none;
}

.br-sp {
display:block;
}

.br-pc {
display:none;
}

.wrap{
display: inline-block;
width: 100%;
margin-top: 50px;
margin-bottom: 80px;
font-size: 1rem;
line-height: 1.75em;
}

.box100{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 100%;
height: auto;
margin: 0;
}

.col-25,
.col-33,
.col-65{
width: 100%;
box-sizing: border-box;
}

.col-31,
.col-32,
.col-43,
.col-48,
.col-50{
width: 100%;
margin-bottom: 20px;
box-sizing: border-box;
}

.col-49-24{
width: 49%;
margin-bottom: 10px;
box-sizing: border-box;
}

.col-25 img,
.col-31 img,
.col-32 img,
.col-33 img,
.col-43 img,
.col-48 img,
.col-50 img,
.col-65 img{
width: 100%;
}

.w1000{
width:92%;
height:auto;
margin: 0 4%;
}

.sp-mb15{
margin-bottom: 15px;
}

.w100p-w48p{
width: 100% !important;
}

/*----------------------------------------------------
ヘッダー
----------------------------------------------------*/
.header-wrap{
position: fixed;
z-index: 1000;
top: 0;
left: 0;
width: 100%;
height: 50px;
background: #fff;
box-sizing: border-box;
box-shadow: 0px 8px 10px 0px rgba(0,0,0,0.03);
}

.hamb-box{
display: inline-block;
width: 100%;
height: auto;
padding-bottom: 90px;
background: #fff;
font-size: 0.95rem;
overflow: auto;
}

.logo{
display: block;
width: 230px;
margin: 14px 0 0 10px;
line-height: 0;
}

/*----------------------------------------------------
フッター
----------------------------------------------------*/
.footer-box{
margin-top: 60px;
padding: 70px 0 40px 0;
background: linear-gradient(0deg, #fafdff, #e6f4fc);
}

.fbox-wrapper {
  justify-content: center;
}

.fbox{
width: 100%;
margin-bottom: 30px;
}

.fbox h3{
margin-bottom: 15px;
font-size: 1.2rem;
text-align: center;
line-height: 1em;
}

.fbox p{
font-size: 0.95rem;
line-height: 1.5em;
}

.fbox a{
position: relative;
display: inline-block;
width: 100%;
padding: 18px 0;
background: #007acb;
box-sizing: border-box;
color: #fff;
font-size: 1.0rem;
font-weight: bold;
text-align: center;
line-height: 1.5em;
}

#button-3{
z-index: 1;
border: 2px solid #007acb;
background: #007acb;
color: #fff;
overflow: hidden;
-webkit-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}

#button-3:before{
content: "";
z-index: -1;
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background-color: #fff;
color: #007acb;
-webkit-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}

#button-3:hover{
  color: #007acb;
}

#button-3:hover:before{
  left: 0;
}

.footer-box ul{
display: flex;
flex-direction: column;
width: 100%;
justify-content: flex-end;
margin: 10px auto 0 auto;
font-size: 1.0rem;
}

.footer-box ul li{
margin-bottom: 15px;
text-align: center;
}


.f-logo{
width: 100%;
margin-bottom: 60px;
text-align: center;
}

.f-logo img{
display: inline-block;
width: 260px;
}

.copy{
padding: 30px 0 28px 0;
background: #0187df;
text-align: center;
}

.copy small{
color: #fff;
font-size: 0.9rem;
font-weight: bold;
}

.toppage{
position: fixed;
right: 5px;
bottom: 100px;
}

.toppage img{
width: 50px;
height: 50px;
}

/*----------------------------------------------------
見出し
----------------------------------------------------*/
.h1-top{
width: auto;
padding-left: 0;
font-size: 1.3rem;
text-align: center;
line-height: 1.0em;
}

@media print, screen and (min-width: 360px) {
.h1-top{
width: auto;
padding-left: 8px;
font-size: 1.45rem;
text-align: center;
line-height: 1.0em;
}
}

.h1-bg{
position: relative;
width: 100%;
height: 340px;
background: #faf4e8;
box-sizing: border-box;
text-align: center;
}

.h1-bg img{
width: 100%;
height: 340px;
}

.h1-bg-recruit{
width: 100%;
height: 320px;
padding-top: 30px;
background: url("../img/recruit/top-img.jpg");
background-size: cover;
background-position: center;
box-sizing: border-box;
text-align: center;
}

.h1-bg > p{
text-align: center;
}

.h1-bg > p > span{
display: inline-block;
width: auto;
border-bottom: 1px solid #4dabe9;
font-size: 1.05rem;
font-weight: bold;
}

.h1-box{
position: absolute;
width: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}

.h1-bg .one{
display: inline-block;
width: auto;
max-width: 90%;
margin-top: 150px;
padding: 9px 14px 6px 14px;
border: 1px solid #ddd;
background: rgba(0,0,0,0.26);
color: #fff;
font-size: 1.8rem;
font-weight: bold;
line-height: 1em;
}

.h1-bg .two{
display: inline-block;
width: auto;
max-width: 90%;
margin-top: 31px;
padding: 9px 14px 6px 14px;
border: 1px solid #ddd;
background: rgba(0,0,0,0.26);
color: #fff;
font-size: 1.8rem;
font-weight: bold;
line-height: 1em;
}

.h1-bg .txt-box{
display: block;
width: 100%;
margin: 98px 0 0 0;
color: #fff;
font-size: 1.4rem;
font-weight: bold;
text-align: center;
line-height: 1em;

}

.h1-bg .txt-box span{
text-shadow: 0 2px 5px rgba(0, 0, 0, .45);
}

.h2-c{
position: relative;
color: #333;
font-size: 1.5rem;
font-weight: 500;
text-align: center;
line-height: 1.3em;
}

.h2-c:before {
content: '';
position: absolute;
left: 50%;
bottom: -25px;/*線の上下位置*/
display: inline-block;
width: 150px;/*線の長さ*/
height: 3px;/*線の太さ*/
-moz-transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);/*位置調整*/
background-color: #ffb04c;/*線の色*/
border-radius: 2px;/*線の丸み*/
}

.h2-support{
position: relative;
margin-bottom: 36px;
color: #fff;
font-size: 1.4rem;
font-weight: 500;
text-align: center;
line-height: 1.3em;
}

.h2-b{
position: relative;
color: #333;
font-size: 1.3rem;
font-weight: 500;
text-align: center;
line-height: 1.5em;
}

.h3-c{
width: 100%;
margin-bottom: 20px;
padding-left: 10px;
border-left: 5px solid #0080cc;
box-sizing: border-box;
color: #005187;
font-size: 1.4rem;
line-height: 1.25em;
}

.h3-box{
width: 100%;
margin-bottom: 20px;
padding-left: 10px;
border-left: 5px solid #0080cc;
box-sizing: border-box;
color: #005187;
font-size: 1.25rem;
line-height: 1.25em;
}

.h4-c{
position: relative;
width: 100%;
margin-bottom: 20px;
padding-bottom: 7px;
border-bottom: 2px solid #a2d5f6;
font-size: 1.25rem;
line-height: 1.25em;
}

.h4-c:before {
display:  block;
position:  absolute;
left:  0;
bottom: -2px;
content:  '';
width: 24%;
height: 2px;
background-color: #0080cc;
}

.h4-cc{
position: relative;
width: 100%;
margin-bottom: 20px;
padding-bottom: 7px;
font-size: 1.2rem;
line-height: 1.25em;
}

.h5-c{
display: inline-block;
width: auto;
margin-bottom: 20px;
padding-bottom: 7px;
border-bottom: 1px solid #4dabe9;
font-size: 1.15rem;
line-height: 1.25em;
}

/*----------------------------------------------------
コンテンツ
----------------------------------------------------*/
/* Box */
.section-box{
width: 1000px;
margin: 0 auto;
}

.section-box-w100p{
width: 100%;
margin: 0 auto;
}

/* TOP */
.top-2{
position: absolute;
z-index: 100;
bottom: 8px;
width: 100%;
height: 90px;
padding-top: 23px;
background-color: rgba(0, 0, 0, 0.38);
box-sizing: border-box;
color: #fff;
text-align: center;
}

.top-2 h2{
margin-bottom: 6px;
font-size: 1.575rem;
line-height: 1em;
letter-spacing: -0.75px;
}

.top-2 p{
font-size: 1.2rem;
line-height: 1.4em;
}

.top-3-img{
width: 100%;
height: 170px;
padding: 10px 0;
background: #cce7f9;
box-sizing: border-box;
}

.top-3-img img{
height: 150px;
}

.top-3{
position: relative;
width: 100%;
height: 370px;
padding: 30px 0;
background: #f6edd9;
box-sizing: border-box;
}

.top-3 h2{
width: 100%;
margin-bottom: 50px;
font-size: 2.3rem;
font-weight: bold;
line-height: 1em;
text-align: center;
}

.top-3 p{
width: 80%;
margin: 0 10%;
line-height: 1.75em;
}

#button-1,#button-2{
z-index: 1;
border: 2px solid #0187de;
background: #fff;
color: #0187de;
overflow: hidden;
-webkit-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}

#button-1:before,#button-2:before{
content: "";
z-index: -1;
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background-color: #0187de;
color: #fff;
-webkit-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}

#button-1:hover,#button-2:hover{
  color: #ecf0f1;
}

#button-1:hover:before,#button-2:hover:before{
  left: 0;
}

.top-recruit{
position: relative;
width: 100%;
height: 470px;
}

.top-recruit .box{
position: absolute;
bottom: 0;
right: 0;
width: 100%;
height: 340px;
background-color: rgba(0, 0, 0, 0.4);
}

.top-recruit img{
width: 100%;
height: 200px;
}

.top-recruit h2{
position: absolute;
top: 28px;
width: 100%;
margin: 0 auto;
color: #fff;
font-size: 2.3rem;
line-height: 1.0em;
text-align: center;
}

.box-box-box{
position: absolute;
z-index: 100;
right: 0;
bottom: 35px;
left: 0;
width: 230px;
height: 60px;
margin: 0 auto;
}

.top-3 a,.top-recruit .box a{ 
position: relative;
display: inline-block;
width: 230px;
height: 60px;
padding: 15px 0;
margin: 0;
box-sizing: border-box;
color: #0187de;
font-weight: bold;
text-align: center;
}

.top-recruit .box p{
position: absolute;
top: 98px;
width: 90%;
margin: 0 5%;
padding: 12px;
background-color: rgba(255, 255, 255, 0.75);
box-sizing: border-box;
}

.swiper-slide img{
width: 100%;
height: 400px;
}

.path{
display: flex;
flex-wrap: wrap;
padding: 10px 0;
}

.path > li{
padding-right: 10px;
}

.top-txt{
width: 100%;
margin: 0 0 70px 0;
font-size: 1.2rem;
text-align: center;
line-height: 1.8em;
}

.tu-tu{
display: flex;
justify-content: center;
width: 100%;
margin: 0;
}

.tu-tu img{
width: 21px;
height: 21px;
}

/* Company*/
.message {
  margin: 0 4%;
}
.message .box100 {
  display: block;
}
.message-box-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.name-name{
width: 100%;
margin-top: 60px;
font-size: 1.35rem;
font-weight: bold;
text-align: center;
font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.name-name img{
margin-top: 14px;  
margin-right: 42px;
}
	
.img-about img{
width: 100%;
height: 205px;
}

.timeline > li {
overflow: hidden;
margin: 0;
position: relative;
}

.timeline .txt{
margin: 12px 0 20px 0;
} 

.timeline img{
display: inline-block;
width: 100%;
height: 200px;
}

.timeline-date {
display: block;
width: 100%;
margin-top: 20px;
border-bottom: 1px dotted #80c3ef;
font-weight: bold;
}
.timeline-content {
width: 100%;
float: left;
padding-left: 15px;
box-sizing: border-box;
}

.table-variable{
width: 100%;
border-top: 1px solid #bbb;
table-layout: fixed;
}

.table-variable th{
display: block;
width: 100%;
border-bottom: 1px solid #bbb;
}

.table-variable td{
display: block;
width: 100%;
border-bottom: 1px solid #bbb;
}

.img-25{
width: 80%;
margin: 0 10%;
box-sizing: border-box;
}

.img-25 p{
margin-bottom: 11px;
}

.img-55{
width: 80%;
margin: 0 10%;
box-sizing: border-box;
}

.img-55 p{
margin-bottom: 11px;
}

.ol-65{
display: table;
width: 90%;
margin-bottom: 25px;
padding: 5px 0 0 30px;
border-left: 3px solid #8de6ce;
box-sizing: border-box;
line-height: 1.7em;
}

.ol-48{
display: table;
width: 90%;
margin-bottom: 25px;
padding: 5px 0 0 30px;
border-left: 3px solid #8de6ce;
box-sizing: border-box;
line-height: 1.7em;
}

.caption{
width: 100%;
font-size: 13px;
line-height: 1.5em;
text-align: center;
}

.caption-mmm{
width: 100%;
margin-bottom: 10px;
font-size: 1.0rem;
font-weight: bold;
line-height: 1.5em;
text-align: center;
}

.caption-mm{
width: 100%;
margin-bottom: 10px;
padding: 5px 0;
border-top: 1px solid #bbb;
border-bottom: 1px solid #bbb;
font-size: 1.0rem;
font-weight: bold;
line-height: 1.5em;
text-align: center;
}

.caption-m{
width: 100%;
margin-top: 10px;
font-size: 1.0rem;
font-weight: bold;
line-height: 1.5em;
text-align: center;
}

.gmap{
width: 100%;
height: 460px;
border: 1px solid #999;
box-sizing: border-box;
}

.txt-box{
width: 100%;
}

.txt-box p{
margin-bottom: 20px;
}

.ul-std, .ul-std > li {
  margin: revert;
  padding: revert;
  list-style-type: disc;
}

.ol-number-none{
margin:3px 5px 5px 10px;
}

.ol-number-none li{
list-style:none;
text-indent:-2.85em;
padding-left:3em;
margin-top:10px;
margin-bottom:5px;
}

.access-box{
width: 100%;
margin-top: 25px;
padding: 15px 22px;
border: 2px solid #c9c9c9;
box-sizing: border-box;
}

.border-dot{
margin-bottom: 17px;
padding-bottom: 10px;
border-bottom: 1px dotted #349fe5;
}

/* Service */
.enclose{
display: inline-block;
width: auto;
padding: 15px;
border: 3px solid #ffacbc;
}

.number{
position: absolute;
top: 10px;
left: 10px;
width: 50px;
height: 50px;
}

.s-img img{
width: 100%;
height: 270px;
}

.p25-border{
width: 80%;
margin: 0 10%;
padding: 25px 28px 0 28px;
border: 1px solid #c9ad6b;
box-sizing: border-box;
}

/* Processoverview */
.circle {
display: inline-flex;
justify-content: center;
align-items: center;
border-radius: 50%;
flex-flow: column; 
vertical-align: top;
}

.c-size{
width: 30px;
height: 30px;
}

.c-txt {
margin-right: 10px;
border: 4px solid #00c891;
background: #00c891;
color: #fff;
font-size: 1.5rem;
line-height: 1.5em;
font-weight: bold;
}

/* Recruit */
.recruit_curriculum {
  margin-top: 120px; /* もともとsectionに定義してあるmtを上書き */
}

.table-recruit{
display: table;
width: 100%;
table-layout: fixed;
}

.table-recruit th{
display: block;
border: 1px solid #bbb;
}

.table-recruit td{
display: block;
}

.table-recruit .txt{
display: inline-block;
margin: 0 0 10px 0;
padding: 5px 10px;
border-radius: 3px;
background: #2d495c;
color: #fff;
font-size: 0.85rem;
font-weight: bold;
}

.table-recruit .box{
display: flex;
width: 100%;
}

.table-recruit .box1{
display: block;
width: 25%;
margin: 0 2% 20px 0;
padding: 10px 0;
box-sizing: border-box;
text-align: center;
}

.table-recruit .box1-box{
position: relative;
width: 30%;
height: 85%;
margin-left: 33px;
border-left: 3px solid #999;
}

.table-recruit .box1-box .hight{
position: absolute;
top: 0;
left: -22px;
width: 40px;
height: 40px;
padding-top: 7px;
border-radius: 50%;
background: url(../img/recruit/arrow.jpg) no-repeat top center;
box-sizing: border-box;
color: #fff;
font-weight: bold;
text-align: center;
}

.table-recruit .box2{
display: block;
width: 81%;
margin-bottom: 20px;
padding: 10px 0 10px 10px;
box-sizing: border-box;
}

.th-job{
width: 100%;
padding-left: 30px;
border: none !important;
border-radius: 2px;
box-sizing: border-box;
color: #fff;
font-size: 1.2rem;
line-height: 1.2em;
}

.job{
display: inline-block;
margin-bottom: 10px;
padding: 7px 15px;
border-radius: 4px;
font-size: 0.9rem;
}

.bg-job1{
background: #1a76b2;
}

.line-job1{
border: 2px solid #4d94c3;
}

.bg-job2{
background: #19aa65;
}

.line-job2{
border: 2px solid #4cbd87;
}

.bg-job3{
background: #d1801a;
}

.line-job3{
border: 2px solid #dd9d4d;
}

.table-recruit span{
margin-right: 5px;
padding: 4px 12px;
border-radius: 10px;
background: #173b53;
color: #fff;
font-size: 0.9rem;
line-height: 1em;
}

/* マイナビリンク */
.entry-recruit {
  text-align: center;
}
.entry-recruit .link {
  display: inline-block;
}
.entry-recruit img {
  border: 1px solid #25b5ea;
}

/* Sitemap */
.sitemap{
width: 100%;
margin-bottom: 30px;
padding-bottom: 20px;
}

.sitemap li{
width: 100%;
margin-bottom: 10px;
padding-left: 11px;
box-sizing: border-box;
}

}

@media print, screen and (min-width: 768px) {

.certification_lists {
justify-content: flex-start;
}

.certification_item:not(:nth-child(3n)) {
margin-right: 20px;
}

}
/* *************************************************************************************************************************** 320-999 */

/* PC : 10000 px -  */
@media print, screen and (min-width: 1000px) {

.gridContainer {
width:100%;
height:100%;
max-width:100%;
min-width:1000px;
}

.sp{
display: none;
}

.pc{
display: block;
}

.br-sp {
display:none;
}

.br-pc {
display:block;
}

.wrap{
margin: 90px 0;
}

.box100{
width: auto;
margin: 0;
}

.col-24{
width: 24%;
}

.col-25{
width: 25%;
}

.col-31{
width: 31%;
}

.col-32{
width: 32%;
}

.col-33{
width: 33.333% !important;
}

.col-43{
width: 43%;
}

.col-48{
width: 49%;
}


.col-49-24{
width: 24%;
}

.col-50{
width: 50%;
}

.col-65{
width: 65% !important;
}

.w1000{
display: block;
width:1000px;
height:auto;
margin: 0 auto;
}

.sp-mb15{
margin-bottom: 0;
}

.w100p-w48p{
width: 48% !important;
}

/*----------------------------------------------------
ヘッダー
----------------------------------------------------*/
.header-wrap{
height: 90px;
}

.header-box{
display: table;
width: 1000px;
margin: 13px auto;
font-size: 0.9rem;
}

.logo{
width: 365px;
margin: 26px 0 0 0;
}

.gnav-mail a{
display: table-cell;
width: 90px;
height: 90px;
margin-left: 22px;
background: #4dabe9;
color: #fff;
font-size: 1.9rem;
font-weight: normal;
text-align: center;
line-height: 90px;
}

.gnav-mail a:hover{
background: #0167aa;
}

/*----------------------------------------------------
フッター
----------------------------------------------------*/
.fbox{
width: 90%;
margin: 0 5%;
}

.fbox h3{
text-align: left;
}

.footer-box ul{
flex-direction:row;
width: 1000px;
margin-top: 50px;
}

.footer-box ul li{
padding: 0 15px;
text-align: center;
}

.footer-box ul li + li{
border-left: 1px solid #999;
}

.footer-box ul li:last-child{
padding: 0 0 0 15px;
}

.copy small{
font-size: 1.0rem;
}

.toppage{
right: 15px;
}

/*----------------------------------------------------
見出し
----------------------------------------------------*/
.h1-top{
width: auto;
font-size: 2.4rem;
}

.h1-top img{
display: inline-block;
width: 38px;
padding: 10px 0 0 0;
}

.h1-bg > h1{
font-size: 2.2rem;
}

.h2-c{
font-size: 1.9rem;
}

.h2-support{
position: absolute;
top: 41%;
right: 0;
left: 0;
margin: 0 auto;
padding: 10px 0;
font-size: 1.65rem;
}

.h2-b{
font-size: 1.6rem;
}

.h1-bg .one{
margin-top: 144px;
font-size: 2.1rem;
}

.h1-bg .two{
margin-top: 25px;
font-size: 2.1rem;
}

/*----------------------------------------------------
コンテンツ
----------------------------------------------------*/
/* Top */
.top-3-img{
height: 450px;
padding: 50px 0;
}

.top-3-img img{
height: 350px;
}

.top-3{
height: 450px;
padding: 70px 0;
}

.top-3 h2{
margin-bottom: 70px;
font-size: 2.3rem;
}

.top-recruit{
position: relative;
width: 100%;
}

.top-recruit .box{
position: absolute;
top: 0;
right: 0;
width: 430px;
height: 500px;
background-color: rgba(0, 0, 0, 0.4);
}

.top-recruit img{
width: 100%;
height: 500px;
}

.top-recruit h2{
position: absolute;
top: 130px;
width: 100%;
margin: 0 auto;
color: #fff;
font-size: 2.3rem;
line-height: 1.0em;
text-align: center;
}

.top-recruit .box p{
position: absolute;
top: 215px;
width: 76%;
margin: 0 12%;
padding: 12px;
background-color: rgba(255, 255, 255, 0.75);
box-sizing: border-box;
}

.swiper-slide img{
width: 100%;
height: 600px;
}

.top-txt{
width: 60%;
margin: 0 20% 70px 20%;
font-size: 1.4rem;
line-height: 1.8em;
}

.box-box-box{
bottom: 70px;
}

.top-2 h2{
margin: 0;
font-size: 2.0rem;
letter-spacing: -1px;
}

.tu-tu{
display: flex;
justify-content: space-between;
width: 55%;
margin: 0 22.5%;
}

.tu-tu img{
width: 38px;
height: 38px;
}

/* Company */
.president_message .box100 {
  width: 1100px;
  margin-inline: auto;
}

.message-box-inner {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 2em;
}

.president_message .message-box p {
  font-size: 1.2rem;
  line-height: 1.9;
}

.name-name img{
  float: right;
}

.sub-nav{
display: flex;
justify-content: center;
width: 100%;
height: 55px;
background: #66b5e9;
color: #fff;
}

.sub-nav li{
float: left;
width: auto;
padding: 0 18px;
box-sizing: border-box;
}

.sub-nav > li > a {
float: left;
width: 100%;
height: 40px;
padding-top: 14px;
background: none;
box-sizing: border-box;
color: #fff;
font-size: 0.95rem;
font-weight: bold;
text-align: center;
text-decoration: none;
}

.sub-nav > li > a:hover {
color: #fff;
}

.img-about img{
height: auto;
}

.timeline .txt{
margin: 18px 0;
} 

.timeline img{
width: 330px;
height: 200px;
}

.timeline-date {
width: 145px;
float: left;
border: none;
}
.timeline-content {
width: 70%;
border-left: 3px #e5e5d1 solid;
padding-left: 38px;
}
.timeline-content:before {
content: '';
width: 14px;
height: 14px;
background: #80c3ef;
position: absolute;
left: 140px;
top: 25px;
border-radius: 100%;
}

.table-variable th{
display: table-cell;
width: 280px;
}

.table-variable td{
display: table-cell;
width: 720px;
}

.img-25{
width: 25%;
margin: 0;
}

.img-55{
width: 55%;
margin: 0;
}

.ol-65{
width: 65%;
margin: 0 0 0 10px;
}

.ol-48{
width: 48%;
margin: 0 0 0 10px;
}

.txt-box{
width: 80%;
margin: 0 10%;
}

.txt-box.flex-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.txt-box.flex-center p {
  margin-bottom: 0;
}

.txt-box ol{
margin:3px 40px 5px 40px;
}

.access-box{
width: 54%;
margin: 25px 0 0 46%;
padding: 12px 30px;
}

/* 健康経営優良法人 */
.box-health_management_org {

}
.box-health_management_org__left {
  width: 100%;
  /*width: 52%;*/
  margin: 0;
}
/*.box-health_management_org__right {
  width: 25%;
  margin: 0;
}*/
/* 健康経営宣言 */
.txt-box-health_management {
  width: 68% !important;
  margin-inline: auto;
}

/* Recruit */
.table-recruit{
width: 85%;
margin-right: 15%
}

.table-recruit th{
display: block;
border: 1px solid #bbb;
}

.table-recruit td{
display: block;
}

.table-recruit .txt{
margin: 0 0 15px 0;
padding: 5px 35px;
font-size: 1.0rem;
}

.table-recruit .box1{
border: 1px solid #ddd;
}

.table-recruit .box1-box{
height: 78%;
margin-left: 88px;
}

.table-recruit .box2{
width: 81%;
padding: 10px 0 10px 30px;
border: 1px solid #ddd;
}

.job{
margin-bottom: 12px;
font-size: 0.95rem;
}
/* Service */
.p25-border{
width: auto;
}

}