@charset "utf-8";

/*
Theme Name: TAMATEC
Description: TAMATEC template.
Version: 1
Author: TAMATEC
Author URI: TAMATEC
Version: 1.0
License: TAMATEC
*/

/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,
sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,
figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
body{line-height:0;}
article,aside,details,figcaption,figure,main,footer,header,hgroup,menu,nav,section{display:block;}
ol,ul,li{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration: none;}
ins{background-color:#ff9;color:#000;text-decoration:none;}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold;}
img{border:0;vertical-align:top;}
em{font-style:italic;}
del{text-decoration:line-through;}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help;}
table{border-collapse:collapse;border-spacing:0;}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:0;padding:0;}
input,select,textarea{font-family:inherit;font-style:inherit;font-weight:inherit;font-size:100%;margin:0;padding:0;vertical-align:middle;}
input:focus,textarea:focus,select:focus{outline:none;}


/*--------------------------------------------------------------------------
   html
---------------------------------------------------------------------------*/
html{
  overflow-y: scroll;
  font-size: 62.5%;
}

/*--------------------------------------------------------------------------
   body
---------------------------------------------------------------------------*/
body{
  color: #272727;

  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;

  min-width: 1260px;
	max-width: 1920px;
  font-size: 1.6rem;
  letter-spacing: .08em;
  line-height: 1.9;
	margin: 0 auto;

  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;

  background: #ffffff;
  overflow-x: hidden;
}

/*
::-moz-selection{
  color:;
  background:;
}
::selection{
  color:;
  background:;
}
*/

/*--------------------------------------------------------------------------
   base link
---------------------------------------------------------------------------*/
a{
  outline: none;
  -webkit-tap-highlight-color: rgba(255,255,255,1);
  color: #3E3A39;
  transition: 0.5s;
}
a:link,
a:visited{
  text-decoration: none;
}
a:hover{
  text-decoration: none;
  outline: none;
  opacity: 0.7;
}
a:active{
  outline: none;
}

/*--------------------------------------------------------------------------
   Other
---------------------------------------------------------------------------*/

/* clearfix
-----------------------------------------------------------------*/
.cf:before,
.cf:after{
  content: "";
  display: table;
}
.cf:after{
  clear: both;
}
.cf{
  zoom: 1;
}
.sp{
  display: none!important;
}

.go_top{
  text-align: right;
  width: 840px;
  margin: 40px auto;
}

/* web font
-----------------------------------------------------------------*/


/*--------------------------------------------------------------------------
   Page
---------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
   Header
---------------------------------------------------------------------------*/
#Header{
}
#Header .header_bar{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  position: relative;
}
#Header .header_bar .logo{
  padding: 27px 0 27px 80px;
}
#Header .global_navi{
  margin-right: 230px;
}
#Header #Navi{
}
#Header #Navi ul{
  display: flex;
}
#Header #Navi > ul > li{
  margin: 0 15px;
}
#Header #Navi > ul > li > a{
  display: inline-block;
  font-size: 1.8rem;
  font-weight: bold;
  border-bottom: solid 3px #ffffff;
  padding-bottom: 25px;
  padding-top: 25px;
}
#Header #Navi > ul > li > a:hover{
  opacity: 1;
  border-bottom: solid 3px #042c63;
  color: #042c63;
}
#Header #Navi > ul > li > a.active{
  opacity: 1;
  border-bottom: solid 3px #042c63;
  color: #042c63;
}
#Header .mail{
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}

#Header .mail a:hover{
  opacity: 1;
}
#Header .mail a {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  outline: none;

  position: relative;
  z-index: 2;
  border: 2px solid #ff9c07;
  color: #ffffff;

  background: url(images/common/icon_01.png) no-repeat 30px center #ff9c07;
  padding: 0 30px 0 90px;
  height: 100%;
  line-height: 90px;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.3rem;
}
#Header .mail a,
#Header .mail a::before,
#Header .mail a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
#Header .mail a:hover {
  color: #ff9c07;
  background: url(images/common/icon_01_on.png) no-repeat 30px center #ffffff;
}
#Header .mail a::before,
#Header .mail a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';

  top: 0;
  width: 50%;
  height: 100%;
}
#Header .mail a::before {
  right: 0;
}
#Header .mail a::after {
  left: 0;
}
#Header .mail a:hover::before,
#Header .mail a:hover::after {
  width: 0;
  background-color: #ffffff;
}

#Header .mv{
	position: relative;
}
#Header .mv .bx-wrapper img{
	width: 100%;
	height: auto;
}
#Header .mv .bx-wrapper{
	margin-bottom: 0;
	-moz-box-shadow: none;
   -webkit-box-shadow: none;
   box-shadow: none;
    border: none;
    background: #fff;
}
#Header .mv .bx-wrapper .bx-prev{
	  background: url(images/top/arrow_l.png) no-repeat;
}
#Header .mv .bx-wrapper .bx-next{
	  background: url(images/top/arrow_r.png) no-repeat;
}
#Header .mv .custom-thumb{
	text-align: center;
	margin: 15px 0;
}

#Header.under .mv{
  display: none;
}

/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/

/* pankuzu
-----------------------------------------------------------------*/
.pankuzu{
}
.pankuzu .inner{
  font-size: 1.4rem;
  width: 1200px;
  margin: 0 auto;
  padding-top: 5px;
}
.pankuzu .inner span{
  margin: 0 3px;
}
.pankuzu .inner span:first-child{
  margin-left: 0;
}
.pankuzu .inner a span{
  color: #89a2e1;
  text-decoration: underline;
}

/* Main
-----------------------------------------------------------------*/
#Main{
}
#Main section{
}
#Main .inner{
}
h2.ttl{
  font-size: 3.6rem;
  line-height: 3.7rem;
  letter-spacing: 0.2rem;
  padding-left: 32px;
  position: relative;
}
h2.ttl span{
  font-size: 1.6rem;
  font-weight: normal;
  display: block;
}
h2.ttl.white:before{
  content: "";
  height: 60px;
  width: 4px;
  background: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
}
h2.ttl.white{
  color: #ffffff;
}
h2.ttl.blue:before{
  content: "";
  height: 60px;
  width: 4px;
  background: #042c63;
  position: absolute;
  top: 0;
  left: 0;
}
h2.ttl.blue{
  color: #272727;
}
h3.ttl{
}

#Main .more_btn{
  text-align: center;
}
#Main .more_btn a{
  padding: 6px 40px;
  display: inline-block;
}
/*#Main .more_btn.white a{
  background: url(images/common/r_arrow_b.png) no-repeat right 15px center #ffffff;
  background-size: 8px 15px;
  color: #042c63;
}
#Main .more_btn.blue a{
  background: url(images/common/r_arrow_w.png) no-repeat right 15px center #042c63;
  background-size: 8px 15px;
  color: #ffffff;
}*/
#Main .more_btn a:hover{
  opacity: 1;
}
#Main .more_btn.white a {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  outline: none;

  position: relative;
  z-index: 2;
  background: url(images/common/r_arrow_w.png) no-repeat right 15px center #ffffff;
  background-size: 8px 15px;
  border: 2px solid #ffffff;
  color: #042c63;
}
#Main .more_btn.blue a {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  outline: none;

  position: relative;
  z-index: 2;
  background: url(images/common/r_arrow_b.png) no-repeat right 15px center #042c63;
  background-size: 8px 15px;
  border: 2px solid #042c63;
  color: #ffffff;
}
#Main .more_btn a,
#Main .more_btn a::before,
#Main .more_btn a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
#Main .more_btn.white a:hover {
  background-color: #042c63;
  border-color: #ffffff;
  color: #ffffff;
}
#Main .more_btn.blue a:hover {
  background-color: #ffffff;
  border-color: #042c63;
  color: #042c63;
}
#Main .more_btn.white a::before,
#Main .more_btn.white a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';

  top: 0;
  width: 50%;
  height: 100%;
  background-color: #ffffff;
}
#Main .more_btn.white a::before{
  background: url(images/common/r_arrow_b.png) no-repeat right 15px center;
  background-size: 8px 15px;
}
#Main .more_btn.blue a::before,
#Main .more_btn.blue a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';

  top: 0;
  width: 50%;
  height: 100%;
  background-color: #042c63;
}
#Main .more_btn.blue a::before{
  background: url(images/common/r_arrow_w.png) no-repeat right 15px center;
  background-size: 8px 15px;
}
#Main .more_btn a::before {
  right: 0;
}
#Main .more_btn a::after {
  left: 0;
}
#Main .more_btn.white a:hover::before,
#Main .more_btn.white a:hover::after {
  width: 0;
  background-color: #ffffff;
}
#Main .more_btn.blue a:hover::before,
#Main .more_btn.blue a:hover::after {
  width: 0;
  background-color: #042c63;
}


h2.page_ttl{
  color: #ffffff;
  text-align: center;
  font-size: 3.6rem;
  padding: 26px 0;
}
h2.page_ttl span{
  display: block;
  font-size: 1.6rem;
  font-weight: normal;
}

/*--------------------------------------------------------------------------
   Footer
---------------------------------------------------------------------------*/
#Footer{
}
#Footer .footer_inner{
}

#Footer #SecCon{
  background: url(images/common/footer_bg.jpg) no-repeat center;
}
#Footer #SecCon .inner{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
#Footer #SecCon .txt{
  color: #ffffff;
  margin-top: 10px;
}
#Footer #SecCon .box{
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
#Footer #SecCon .box .tel a,
#Footer #SecCon .box .mail a{
  display: block;
  width: 580px;
  box-sizing: border-box;
  color: #ffffff;
  font-size: 2.6rem;
  text-align: center;
}
#Footer #SecCon .box .mail a{
  padding: 10px 0 10px 40px;
  border: solid 2px #ff9c07;
  background: url(images/common/icon_01.png) no-repeat 200px center #ff9c07;
}

#Footer #SecCon .box .tel a:hover{
  opacity: 1;
}
#Footer #SecCon .box .tel a {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  outline: none;

  position: relative;
  z-index: 2;
  border: 2px solid #ffffff;
  color: #ffffff;

  padding: 10px 0 10px 40px;
  background: url(images/common/icon_02.png) no-repeat 146px center;
}
#Footer #SecCon .box .tel a,
#Footer #SecCon .box .tel a::before,
#Footer #SecCon .box .tel a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
#Footer #SecCon .box .tel a:hover {
  border-color: #ffffff;
  color: #042c63;
  background: url(images/common/icon_02_on.png) no-repeat 146px center #ffffff;
}
#Footer #SecCon .box .tel a::before,
#Footer #SecCon .box .tel a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';

  top: 0;
  width: 50%;
  height: 100%;
}
#Footer #SecCon .box .tel a::before {
  right: 0;
}
#Footer #SecCon .box .tel a::after {
  left: 0;
}
#Footer #SecCon .box .tel a:hover::before,
#Footer #SecCon .box .tel a:hover::after {
  width: 0;
  background-color: #ffffff;
}

#Footer #SecCon .box .mail a:hover{
  opacity: 1;
}
#Footer #SecCon .box .mail a {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  outline: none;

  position: relative;
  z-index: 2;
  border: 2px solid #ff9c07;
  color: #ffffff;

  padding: 10px 0 10px 40px;
  background: url(images/common/icon_01.png) no-repeat 200px center #ff9c07;
}
#Footer #SecCon .box .mail a,
#Footer #SecCon .box .mail a::before,
#Footer #SecCon .box .mail a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
#Footer #SecCon .box .mail a:hover {
  border-color: #ffffff;
  color: #ff9c07;
  background: url(images/common/icon_01_on.png) no-repeat 200px center #ffffff;
}
#Footer #SecCon .box .mail a::before,
#Footer #SecCon .box .mail a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';

  top: 0;
  width: 50%;
  height: 100%;
}
#Footer #SecCon .box .mail a::before {
  right: 0;
}
#Footer #SecCon .box .mail a::after {
  left: 0;
}
#Footer #SecCon .box .mail a:hover::before,
#Footer #SecCon .box .mail a:hover::after {
  width: 0;
  background-color: #ffffff;
}


#Footer .footer_bar{
  width: 1200px;
  margin: 0 auto;
  padding: 40px 0;
  display: flex;
  justify-content: space-between;
}
#Footer .footer_bar .info_box{
}
#Footer .footer_bar .info_box .info{
  font-size: 1.4rem;
  margin-top: 20px;
}
#Footer .footer_bar #FooterNavi > ul{
  display: flex;
  justify-content: space-between;
}
#Footer .footer_bar #FooterNavi > ul > li{
  width: 170px;
  font-size: 1.4rem;
  margin-left: 18px;
}
#Footer .footer_bar #FooterNavi > ul > li > a{
  font-size: 1.8rem;
  font-weight: bold;
}
#Footer .footer_bar #FooterNavi > ul > li > ul{
  border-top: solid 1px #d1dde7;
  margin-top: 5px;
  padding-top: 5px;
}
#Footer .footer_bar #FooterNavi > ul > li > ul > li{
  margin-top: 3px;
  letter-spacing: 0;
}
#Footer .copy{
  font-size: 1.2rem;
  text-align: center;
  background: #042c63;
  color: #ffffff;
  padding: 10px 0;
}

/* top
-----------------------------------------------------------------*/

/* #Sec01
-----------------------------------------------------------------*/
.top #Sec01{
  background: url(images/top/img_01.jpg) no-repeat center;
  background-size: cover;
}
.top #Sec01 .inner{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.top #Sec01 .txt{
  color: #ffffff;
  margin-top: 10px;
}
.top #Sec01 .more_btn{
  margin-top: 40px;
}

/* #Sec02
-----------------------------------------------------------------*/
.top #Sec02{
}
.top #Sec02 .inner{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.top #Sec02 .top_txt{
  margin-top: 10px;
}
.top #Sec02 ul{
  margin-top: 45px;
  display: flex;
  justify-content: space-between;
  overflow: hidden;
}
.top #Sec02 ul li{
  width: 360px;
  height: 514px;
  position: relative;
}
.top #Sec02 ul li h3{
  text-align: center;
  font-size: 2.2rem;
  width: 312px;
  background: #ffffff;
  margin: -30px auto 0;
  padding: 15px 0;
  position: relative;
  z-index: 2;
}
.top #Sec02 ul li h3:after{
  content: "";
  height: 4px;
  width: 60px;
  background: #042c63;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -30px;
}
.top #Sec02 ul li h3 img{
  display: block;
  margin: 0 auto 10px;
}
.top #Sec02 ul li .txt{
  margin-top: 20px;
}
.top #Sec02 ul li .more_btn{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.top #Sec02 ul li .more_btn a{
  padding: 8px 50px;
}
.top #Sec02 ul li:before{
  content: "";
  height: 514px;
  width: 1px;
  background: #ccd9e4;
  position: absolute;
  top: 0;
  left: -30px;
}

/* #Sec03
-----------------------------------------------------------------*/
.top #Sec03{
}
.top #Sec03 .inner{
  display: flex;
}
.top #Sec03 .left_box{
  width: 50%;
  padding: 70px 0;
  box-sizing: border-box;
  background: url(images/top/facility_bg_img.jpg) no-repeat center;
  background-size: cover;
  display: flex;
  justify-content: flex-end;
}
.top #Sec03 .right_box{
  width: 50%;
  padding: 70px 0;
  box-sizing: border-box;
  background: url(images/top/employee_bg_img.jpg) no-repeat center;
  background-size: cover;
}
.top #Sec03 .box_inner{
  width: 530px;
}
.top #Sec03 .left_box .box_inner{
  margin-right: 70px;
}
.top #Sec03 .right_box .box_inner{
  margin-left: 70px;
}
.top #Sec03 .txt{
  color: #ffffff;
  margin-top: 10px;
}
.top #Sec03 .img_box{
  margin-top: 40px;
}
.top #Sec03 .more_btn{
  margin-top: -23px;
}

/* #Sec04
-----------------------------------------------------------------*/
.top #Sec04{
}
.top #Sec04 .inner{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.top #Sec04 .txt{
	margin-top: 15px;
}
.top #Sec04 .box {
	margin-top: 35px;
}
ul.news_list{
	border-bottom: dashed 1px #ccd9e4;
}
ul.news_list li{
	border-top: dashed 1px #ccd9e4;
}
ul.news_list li a{
	display: flex;	
	padding: 12px 30px;
	background-image: url(images/common/r_arrow_b.png);
	background-position: right 13px center;
	background-repeat: no-repeat;
	background-size: 8px auto;
}
ul.news_list li a .date{
	padding-right: 40px;
}

.top #Sec04 .more_btn{
	margin-top: 40px;
}

/*
.top #Sec04 .box{
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.top #Sec04 .txt{
  margin-top: 10px;
}
.top #Sec04 .more_btn{
  margin-top: -23px;
}
.top #Sec04 .more_btn a{
  width: 400px;
  text-align: center;
  padding: 8px 0;
}
*/

/* Company
-----------------------------------------------------------------*/
h2.company.page_ttl{
  background: url(images/company/ttl_bg.jpg) no-repeat center;
}

/* #Sec01
-----------------------------------------------------------------*/
.company #Sec01{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.company #Sec01 table{
  width: 100%;
  margin-top: 35px;
}
.company #Sec01 table tr{
  border-top: solid 5px #ffffff;
}
.company #Sec01 table th{
  background: #042c63;
  color: #ffffff;
  width: 188px;
  box-sizing: border-box;
  text-align: left;
  padding: 15px 40px;
  vertical-align: middle;
}
.company #Sec01 table td{
  background: #f5f5f5;
  width: calc( 100% - 188px );
  box-sizing: border-box;
  padding: 15px 40px;
  vertical-align: middle;
}

/* #Sec02
-----------------------------------------------------------------*/
.company #Sec02{
  background: url(images/company/img_01.jpg) no-repeat center;
  background-size: cover;
}
.company #Sec02 .inner{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.company #Sec02 table{
  width: 100%;
  margin-top: 30px;
}
.company #Sec02 table tr{
  color: #ffffff;
  border-bottom: solid 1px #4c7597;
}
.company #Sec02 table th{
  width: 240px;
  font-weight: normal;
  box-sizing: border-box;
  text-align: left;
  padding: 15px 0;
}
.company #Sec02 table td{
  width: calc( 100% - 220px );
  box-sizing: border-box;
  padding: 15px 0;
  vertical-align: middle;
}

/* #Sec03
-----------------------------------------------------------------*/
.company #Sec03{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.company #Sec03 .box{
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.company #Sec03 .box .txt_box{
  margin-left: 40px;
  -ms-flex: 0 1 auto;
}
.company #Sec03 .box .txt_box .txt{
}
.company #Sec03 .box .txt_box .name{
  font-size: 2rem;
  margin-top: 20px;
}

/* BusinessList
-----------------------------------------------------------------*/
h2.business_list.page_ttl{
  background: url(images/business/ttl_bg.jpg) no-repeat center;
}

/* #Sec01
-----------------------------------------------------------------*/
.business_list #Sec01{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.business_list #Sec01 .top_txt{
  margin-top: 10px;
}
.business_list #Sec01 ul{
  margin-top: 45px;
  display: flex;
  justify-content: space-between;
  overflow: hidden;
}
.business_list #Sec01 ul li{
  width: 360px;
  height: 514px;
  position: relative;
}
.business_list #Sec01 ul li h3{
  text-align: center;
  font-size: 2.2rem;
  width: 312px;
  background: #ffffff;
  margin: -30px auto 0;
  padding: 15px 0;
  position: relative;
  z-index: 2;
}
.business_list #Sec01 ul li h3:after{
  content: "";
  height: 4px;
  width: 60px;
  background: #042c63;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -30px;
}
.business_list #Sec01 ul li h3 img{
  display: block;
  margin: 0 auto 10px;
}
.business_list #Sec01 ul li .txt{
  margin-top: 20px;
}
.business_list #Sec01 ul li .more_btn{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.business_list #Sec01 ul li .more_btn a{
  padding: 8px 50px;
}
.business_list #Sec01 ul li:before{
  content: "";
  height: 514px;
  width: 1px;
  background: #ccd9e4;
  position: absolute;
  top: 0;
  left: -30px;
}

/* Business
-----------------------------------------------------------------*/
h2.business.page_ttl{
  background: url(images/business/ttl_bg.jpg) no-repeat center;
}

/* #Sec01
-----------------------------------------------------------------*/
.business #Sec01{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.business #Sec01 .txt{
  margin-top: 10px;
}
.business #Sec01 .mv_inner{
  background: #000000;
  overflow: hidden;
  margin-top: 40px;
}
.business #Sec01 .container{
  position: relative;
  max-width: 830px;
  margin-right: auto;
  margin-left: auto;
}
.business #Sec01 .swiper-container{
  z-index: 1;
  overflow: visible;
  width: 100%;
  height: 100%;
}
.business #Sec01 .slider_pc .swiper-slide{
  position: relative;
}
.business #Sec01 .slider_pc .swiper-slide-prev,
.business #Sec01 .slider_pc .swiper-slide-next{
  opacity: .3;
}
.business #Sec01 .swiper-button-prev{
  left: -60px;
}
.business #Sec01 .swiper-button-next{
  right: -60px;
}
.business #Sec01 .swiper-pagination-bullet-active{
}
.business #Sec01 .swiper-container.thumbs_pc{
  box-sizing: border-box;
  background: #ffffff;
  padding-top: 10px;
}
.business #Sec01 .thumbs_pc .swiper-slide{
  width: 192px;
  height: auto;
}
.business #Sec01 .thumbs_pc .swiper-slide img{
  width: 100%;
  height: auto;
}
.business #Sec01 .thumbs_pc .swiper-slide-active{
}

/* #Sec01
-----------------------------------------------------------------*/
.business #Sec02{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.business #Sec02 .top_txt{
  margin-top: 10px;
}
.business #Sec02 ul{
  margin-top: 45px;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.business #Sec02 ul li{
  width: 360px;
  height: 514px;
  position: relative;
  margin: 0 30px;
}
.business #Sec02 ul li h3{
  text-align: center;
  font-size: 2.2rem;
  width: 312px;
  background: #ffffff;
  margin: -30px auto 0;
  padding: 15px 0;
  position: relative;
  z-index: 2;
}
.business #Sec02 ul li h3:after{
  content: "";
  height: 4px;
  width: 60px;
  background: #042c63;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -30px;
}
.business #Sec02 ul li h3 img{
  display: block;
  margin: 0 auto 10px;
}
.business #Sec02 ul li .txt{
  margin-top: 20px;
}
.business #Sec02 ul li .more_btn{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.business #Sec02 ul li .more_btn a{
  padding: 8px 50px;
}
.business #Sec02 ul li:last-child:before{
  content: "";
  height: 514px;
  width: 1px;
  background: #ccd9e4;
  position: absolute;
  top: 0;
  left: -30px;
}

/* Facility
-----------------------------------------------------------------*/
h2.facility.page_ttl{
  background: url(images/facility/ttl_bg.jpg) no-repeat center;
}

/* #Sec01
-----------------------------------------------------------------*/
.facility #Sec01{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.facility #Sec01 .box:nth-child(n+2){
  margin-top: 70px;
}
.facility #Sec01 .txt{
  margin-top: 10px;
}
.facility #Sec01 ul{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 50px;
}
.facility #Sec01 ul li:nth-child(n+3){
  margin-top: 15px;
}
.facility #Sec01 ul li .name{
  font-size: 2rem;
  border-left: solid 2px #042c63;
  line-height: 2rem;
  padding-left: 10px;
}
.facility #Sec01 ul li .media{
  margin-top: 10px;
	width: 580px;
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
.facility #Sec01 ul li .media iframe{
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

.facility #Sec01 ul.page_nav{
	justify-content: left;
	margin-top: 0;
}
.facility #Sec01 ul.page_nav li{
	margin-top: 0;
	margin-right: 15px;
}
.facility #Sec01 ul.page_nav.mt30{
	margin-top: 30px;
}
.facility #Sec01 ul.page_nav li a{
	color: #91a8e3;
	text-decoration: underline;
}

.facility table{
    margin-top: 35px;
}
.facility #Facility01 table {
    width: 100%;
}
.facility table tr {
}
.facility table th {
    background: #042c63;
    border-bottom: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
    color: #ffffff;
    box-sizing: border-box;
    text-align: left;
	font-weight: normal;
    padding: 0 40px;
    vertical-align: middle;
	text-align: center;
    width: auto;
}
.facility table td {
    background: #f5f5f5;
    border-left: solid 1px #bfbfbf;
    border-top: solid 1px #bfbfbf;
    box-sizing: border-box;
    padding: 0 40px;
    vertical-align: middle;
	text-align: center;
    width: auto;
}


/* Employee
-----------------------------------------------------------------*/
h2.employee.page_ttl{
  background: url(images/employee/ttl_bg.jpg) no-repeat center;
}

/* #Sec01
-----------------------------------------------------------------*/
.employee #Sec01{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.employee #Sec01 .flow{
  margin-top: 40px;
  position: relative;
  height: 1385px;
}
.employee #Sec01 .flow:after{
  content: "";
  height: 100%;
  width: 4px;
  background: #042c63;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -2px;
}
.employee #Sec01 .flow p:first-child:after{
  content: "";
  height: 16px;
  width: 16px;
  background: url(images/employee/icon_01.jpg) no-repeat;
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 10;
}
.employee #Sec01 .flow p:last-child:after{
  content: "";
  height: 16px;
  width: 16px;
  background: url(images/employee/icon_02.jpg) no-repeat;
  position: absolute;
  bottom: -1px;
  right: 100%;
  z-index: 10;
}
.employee #Sec01 .flow .step01{
  position: absolute;
  left: 0;
  top: 0;
}
.employee #Sec01 .flow .step02{
  position: absolute;
  right: 0;
  top: 160px;
}
.employee #Sec01 .flow .step03{
  position: absolute;
  left: 0;
  top: 435px;
}
.employee #Sec01 .flow .step04{
  position: absolute;
  right: 0;
  top: 600px;
}
.employee #Sec01 .flow .step05{
  position: absolute;
  left: 0;
  top: 870px;
}
.employee #Sec01 .flow .step06{
  position: absolute;
  right: 0;
  top: 1030px;
}

.employee #Sec01 .case_info{
  margin-top: 80px;
  display: flex;
  justify-content: space-between;
}
.employee #Sec01 .case_info .ttl{
  font-size: 2rem;
  font-weight: bold;
}
.employee #Sec01 .case_info .txt_box{
  margin-left: 40px;
}
.employee #Sec01 .case_info .txt_box .txt{
  -ms-flex: 0 1 auto;
}

/* Contact
-----------------------------------------------------------------*/
h2.contact.page_ttl{
  background: url(images/contact/ttl_bg.jpg) no-repeat center;
}

/* #Sec01
-----------------------------------------------------------------*/
.contact #Sec01{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}

.contact #Sec01 .form{
}

.contact #Sec01 .form table{
  width: 100%;
  margin-top: 35px;
}
.contact #Sec01 .form table tr{
  border-top: solid 5px #ffffff;
}
.contact #Sec01 .form table th{
  background: #042c63;
  color: #ffffff;
  width: 280px;
  box-sizing: border-box;
  text-align: left;
  padding: 15px 40px;
  vertical-align: middle;
}
.contact #Sec01 .form table th span{
  display: inline-block;
  background: #ffffff;
  color: #042c63;
  font-size: 1.2rem;
  line-height: 2rem;
  margin-left: 10px;
  padding: 0 5px;
  vertical-align: text-top;
}
.contact #Sec01 .form table td{
  background: #f5f5f5;
  width: calc( 100% - 280px );
  box-sizing: border-box;
  padding: 15px 40px;
  vertical-align: middle;
}

.contact #Sec01 .form table tr td input,
.contact #Sec01 .form table tr td textarea{
  width: 40%;
  box-sizing: border-box;
  border: none;
  outline: none;
  background: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 5px 10px;
  border-radius: 0;
}
.contact #Sec01 .form table tr td select{
    box-sizing: border-box;
    border: none;
    outline: none;
    background: #bfbfbf;
    background: url(images/contact/icon_arrow.png) no-repeat right 10px center #bfbfbf;
    background-size: 10px 20px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 5px 30px 5px 10px;
    border-radius: 0;
}
.contact #Sec01 .form table tr td textarea{
  width: 100%;
}
.contact #Sec01 .form input.submit{
  font-size: 1.6rem;
  display: block;
  box-sizing: border-box;
  width: 240px;
  margin: 40px auto 0 auto;
  padding: 12px 0;
  cursor: pointer;
  transition: .5s;
  text-align: center;
  color: #fff;
  background: url(images/common/r_arrow_w.png) no-repeat right 15px center #042c63;
  background-size: 8px 15px;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 2px solid #042c63;
}
.contact #Sec01 .form input.submit:hover{
  background: url(images/common/r_arrow_b.png) no-repeat right 15px center #ffffff;
  background-size: 8px 15px;
  border: 2px solid #042c63;
  color: #042c63;
}

.wpcf7-form.sent{
  display: none;
}

div.wpcf7 .screen-reader-response{
  position: static!important;
  overflow: visible!important;
  clip: rect(1px, 1px, 1px, 1px)!important;
  height: auto!important;
  width: auto!important;
  margin: 40px 0 0!important;
  padding: 0!important;
  border: 0!important;
  font-size: 1.8rem!important;
}

/* Recruit
-----------------------------------------------------------------*/
h2.recruit.page_ttl{
  background: url(images/recruit/ttl_bg.jpg) no-repeat center;
}

/* #Sec01
-----------------------------------------------------------------*/
.recruit #Sec01{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.recruit #Sec01 .txt{
  margin-top: 10px;
}
.recruit #Sec01 .mylogo{
	text-align: center;
	margin: 30px auto 10px;
	width: 300px;
}
.recruit #Sec01 .mylogo img{
	width: 100%;
	height: auto;
}
.recruit #Sec01 .more_btn{
  margin-top: 40px;
}

/* Privacy Policy
-----------------------------------------------------------------*/
h2.privacypolicy.page_ttl{
  background: url(images/employee/ttl_bg.jpg) no-repeat center;
}

/* #Sec01
-----------------------------------------------------------------*/
.privacypolicy #Sec01{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.privacypolicy #Sec01 .txt{
  margin-top: 10px;
}
.privacypolicy #Sec01 .inner > ul{
  margin-top: 20px;
}
.privacypolicy #Sec01 .inner  > ul > li{
  margin-top: 20px;
}
.privacypolicy #Sec01 .inner > ul > li h4{
}
.privacypolicy #Sec01 .inner  > ul > li ul li{
  list-style: disc;
  margin-left: 20px;
}
.privacypolicy #Sec01 .inner .info_box{
  margin-top: 30px;	
}

/* News Archive
-----------------------------------------------------------------*/
h2.archive.page_ttl{
  background: url(images/contact/ttl_bg.jpg) no-repeat center;
}

/* #Sec01
-----------------------------------------------------------------*/
.news_archive #Sec01{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.news_archive #Sec01 .box{
	margin-top: 35px;
}
.news_archive  .pagenation{
	display: flex;
	justify-content: center;
	margin-top: 40px;
	text-align: center;
}
.news_archive  .pagenation span{
	color: #ffffff;
	background: #c9c9c9;
	width: 46px;
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 10px;
}
.news_archive  .pagenation a{
	color: #ffffff;
	background: #042c63;
	width: 46px;
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 10px;
}

/* News Info
-----------------------------------------------------------------*/
/* #Sec01
-----------------------------------------------------------------*/
.news_info #Sec01{
  width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.news_info #Sec01 h2.ttl{
	font-size: 2.6rem;
	border-bottom: solid 1px #042c63;
	padding-left: 0;
	padding-bottom: 15px;
	margin-top: 10px;
}
.news_info #Sec01 .txt_box{
	margin-top: 25px;
}
.news_info #Sec01 .txt_box p{
	padding: 15px 0;
}
.news_info #Sec01 .txt_box p img{
	max-width: 100%;
	height: auto;
}
.news_info #Sec01 .more_btn{
	margin-top: 50px;
}

@media screen and (max-width: 480px) {
/* 640pxまでの幅の場合に適応される */

body{
  min-width: 320px;
  font-size: 1.6rem;
  line-height: 1.7;
}

.sp{
  display: inline-block!important;
}
.pc{
  display: none!important;
}

.go_top.sp{
  display: block !important;
  text-align: right;
  width: auto;
  margin: 15px 4%;
}

/*--------------------------------------------------------------------------
     Header
  ---------------------------------------------------------------------------*/
#Header{
}

#Header .header_bar{
  padding: 0;
  display: block;
}
#Header .header_bar .logo{
  padding: 20px 5%;
  margin-right: 0;
}
#Header .header_bar .logo img{
  width: 180px;
  height: 27px;
}
#Header .global_navi{
  position: absolute;
  top: 67px;
  left: 0;
  width: 100%;
  background: rgba(4,44,99,0.95);
  padding: 0 5% 30px;
  box-sizing: border-box;;
  display: none;
  z-index: 10000;
}

#Header #Navi{
}
#Header #Navi ul{
  display: block;
}
#Header #Navi ul li{
  margin: 0;
}
#Header #Navi ul li:nth-child(n+2){
  border-top: solid 1px #ffffff;
}
#Header #Navi ul li:last-child{
  border-bottom: solid 1px #ffffff;
}
#Header #Navi ul li a{
  display: block;
  font-size: 1.8rem;
  padding: 16px 0;
  border-bottom: none;
  color: #ffffff;
  background: url(images/common/r_arrow_w.png) no-repeat right 5% center;
  background-size: 8px 14px;
}
#Header #Navi ul li a:hover{
  opacity: 1;
  border-bottom: none;
  color: #ffffff;
}
#Header #Navi > ul > li > a.active{
  opacity: 1;
  border-bottom: none;
  color: #ffffff;
}
#Header .nav_box{
  position: absolute;
  top: 10px;
  right: 20px;
  width: 50px;
  text-align: center;
  font-size: 1.2rem;
  z-index: 10;
  background: #042c63;
}
#Header .menu-trigger,
#Header .menu-trigger span{
  display: inline-block;
  box-sizing: border-box;
  transition: all .4s;
}
#Header .menu-trigger{
  position: relative;
  width: 10px;
  height: 20px;
  cursor: pointer;
  padding: 20px 13px;
}
#Header .menu-trigger a:hover{
  opacity: 1;
}
#Header .menu-trigger span{
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background-color: #ffffff;
}
#Header .menu-trigger span:nth-of-type(1){
  top: 23px;
}
#Header .menu-trigger span:nth-of-type(2){
  top: 13px;
}
#Header .menu-trigger span:nth-of-type(3){
  bottom: 5px;
}
#Header .menu-trigger.active span:nth-of-type(1),
#Header .menu-trigger.active span:nth-of-type(2){
  top: 14px;
  margin-top: 10px;
  transform: rotate(-45deg);
}
#Header .menu-trigger.active span:nth-of-type(3){
  bottom: 2px;
  margin-bottom: 12px;
  transform: rotate(-135deg);
}

#Header .mail{
  position: static;
  height: auto;
  margin-top: 25px;
}
#Header .mail a{
  display: block;
  color: #ffffff;
  background:
    url(images/common/icon_01.png) no-repeat 35% center,
    url(images/common/r_arrow_w.png) no-repeat right 5% center
  ;
  background-size: 20px 15px, 8px 14px;
  background-color: #ff9c07;
  padding: 0 0 0 30px;
  text-align: center;
  line-height: 45px;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.2rem;
}

#Header .mail a:hover{
  opacity: 1;
  color: #ffffff;
  background:
    url(images/common/icon_01.png) no-repeat 35% center,
    url(images/common/r_arrow_w.png) no-repeat right 5% center
  ;
  background-size: 20px 15px, 8px 14px;
  background-color: #ff9c07;
}
#Header .mail a::before,
#Header .mail a::after {
  display: none;
}



#Header .tel{
  margin-top: 25px;
  display: block!important;
}
#Header .tel a{
  display: block;
  padding: 0 0 0 30px;
  text-align: center;
  line-height: 45px;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.2rem;
  border: solid 2px #ffffff;
  background:
    url(images/common/icon_02.png) no-repeat 20% center,
    url(images/common/r_arrow_w.png) no-repeat right 5% center
  ;
  background-size: 20px 17px, 8px 14px;
  color: #ffffff;
}

#Header .mv{
}
	
#Header .mv .custom-thumb{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10;
}
#Header .mv .custom-thumb span{ 
	color: #f3f3f3;
	font-size: 1.2rem;
}
#Header .mv .custom-thumb .active span{ 
	color: #707070;
}
	
/*--------------------------------------------------------------------------
     Content
  ---------------------------------------------------------------------------*/

/* pankuzu
-----------------------------------------------------------------*/
.pankuzu{
}
.pankuzu .inner{
  font-size: 1.2rem;
  width: auto;
  margin: 0 5%;
  padding-top: 5px;
}

/* Main
-----------------------------------------------------------------*/
#Main{
}
#Main .inner{
}
#Main section{
}
h2.ttl{
  font-size: 2.8rem;
  line-height: 3.2rem;
  padding-left: 18px;
}
h2.ttl span{
  font-size: 1.4rem;
}
h2.ttl.white:before{
  height: 55px;
  width: 3px;
}
h2.ttl.blue:before{
  height: 55px;
  width: 3px;
}
h3.ttl{
}

#Main .more_btn{
  text-align: center;
}
#Main .more_btn a{
  padding: 8px 40px;
  display: inline-block;
}
#Main .more_btn.white a{
  background: url(images/common/r_arrow_b.png) no-repeat right 15px center #ffffff;
  background-size: 8px 15px;
  color: #042c63;
}
#Main .more_btn.blue a{
  background: url(images/common/r_arrow_w.png) no-repeat right 15px center #042c63;
  background-size: 8px 15px;
  color: #ffffff;
}


#Main .more_btn a:hover{
  opacity: 1;
}
#Main .more_btn.white a:hover {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #042c63;
}
#Main .more_btn.blue a:hover {
  background-color: #042c63;
  border-color: #042c63;
  color: #ffffff;
}
#Main .more_btn.white a::before,
#Main .more_btn.white a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';

  top: 0;
  width: 50%;
  height: 100%;
  background-color: #ffffff;
}
#Main .more_btn.white a::before{
  background: none;
}
#Main .more_btn.blue a::before{
  background: none;
}
#Main .more_btn a::before {
  right: 0;
}
#Main .more_btn a::after {
  left: 0;
}
#Main .more_btn.white a:hover::before,
#Main .more_btn.white a:hover::after {
  width: 0;
  background-color: #ffffff;
}
#Main .more_btn.blue a:hover::before,
#Main .more_btn.blue a:hover::after {
  width: 0;
  background-color: #042c63;
}



h2.page_ttl{
  font-size: 3.6rem;
  padding: 26px 0;
}
h2.page_ttl span{
  font-size: 1.4rem;
}

/*--------------------------------------------------------------------------
   Footer
---------------------------------------------------------------------------*/
#Footer{
}
#Footer .footer_inner{
}

#Footer #SecCon{
  background-size: cover;
}
#Footer #SecCon .inner{
  width: auto;
  margin: 0 auto;
  padding: 50px 5%;
}
#Footer #SecCon .txt{
}
#Footer #SecCon .box{
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
  margin-top: 40px;
}
#Footer #SecCon .box .tel,
#Footer #SecCon .box .mail{
  width: 100%;
}
#Footer #SecCon .box .tel{
  margin-top: 25px;
}
#Footer #SecCon .box .tel a,
#Footer #SecCon .box .mail a{
  display: block;
  width: 100%;
  font-size: 1.6rem;
}
#Footer #SecCon .box .mail a{
  display: block;
  color: #ffffff;
  background:
    url(images/common/icon_01.png) no-repeat 34% center,
    url(images/common/r_arrow_w.png) no-repeat right 5% center
  ;
  background-size: 20px 15px, 8px 14px;
  background-color: #ff9c07;
  padding: 0 0 0 30px;
  text-align: center;
  line-height: 45px;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.2rem;
}
#Footer #SecCon .box .tel a{
  display: block;
  padding: 0 0 0 30px;
  text-align: center;
  line-height: 45px;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.2rem;
  border: solid 2px #ffffff;
  background:
    url(images/common/icon_02.png) no-repeat 17% center,
    url(images/common/r_arrow_w.png) no-repeat right 5% center
  ;
  background-size: 20px 17px, 8px 14px;
  color: #ffffff;
}
#Footer #SecCon .box .mail a:hover{
  background:
    url(images/common/icon_01.png) no-repeat 34% center,
    url(images/common/r_arrow_w.png) no-repeat right 5% center
  ;
  background-size: 20px 15px, 8px 14px;
  background-color: #ff9c07;
  color: #ffffff;
  border-color: #ff9c07;
}
#Footer #SecCon .box .mail a::before,
#Footer #SecCon .box .mail a::after {
  display: none;
}
#Footer #SecCon .box .tel a:hover{
  opacity: 1;
  background:
    url(images/common/icon_02.png) no-repeat 17% center,
    url(images/common/r_arrow_w.png) no-repeat right 5% center
  ;
  background-size: 20px 17px, 8px 14px;
  color: #ffffff;
}
#Footer #SecCon .box .tel a::before,
#Footer #SecCon .box .tel a::after {
  display: none;
}


#Footer .footer_bar{
  width: auto;
  text-align: center;
  padding: 40px 0;
  display: block;
}
#Footer .footer_bar #FooterNavi{
  display: none;
}
#Footer .copy{
  font-size: 1.2rem;
}


/* top
-----------------------------------------------------------------*/

/* #Sec01
-----------------------------------------------------------------*/
.top #Sec01{
  background: url(images/top/img_01.jpg) no-repeat center;
  background-size: cover;
}
.top #Sec01 .inner{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}
.top #Sec01 .txt{
  margin-top: 40px;
}
.top #Sec01 .more_btn{
  margin-top: 40px;
}

/* #Sec02
-----------------------------------------------------------------*/
.top #Sec02{
}
.top #Sec02 .inner{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}
.top #Sec02 .top_txt{
  margin-top: 10px;
}
.top #Sec02 ul{
  margin-top: 0;
  display: block;
}
.top #Sec02 ul li{
  width: 100%;
  height: auto;
  margin-top: 40px;
}
.top #Sec02 ul li .img img{
  width: 100%;
  height: auto;
}
.top #Sec02 ul li h3{
  width: 90%;
}
.top #Sec02 ul li .txt{
  margin-top: 20px;
}
.top #Sec02 ul li .more_btn{
  position: static;
  margin-top: 20px;
}
.top #Sec02 ul li .more_btn a{
  padding: 8px 57px;
}
.top #Sec02 ul li:before{
  display: none;
}

/* #Sec03
-----------------------------------------------------------------*/
.top #Sec03{
}
.top #Sec03 .inner{
  display: block;
}
.top #Sec03 .left_box{
  width: 100%;
  padding: 50px 0;
  display: block;
}
.top #Sec03 .right_box{
  width: 100%;
  padding: 50px 0;
}
.top #Sec03 .box_inner{
  width: auto;
}
.top #Sec03 .left_box .box_inner{
  margin: 0 5%;
}
.top #Sec03 .right_box .box_inner{
  margin: 0 5%;
}
.top #Sec03 .img_box{
  margin-top: 40px;
}
.top #Sec03 .img_box img{
  width: 100%;
  height: auto;
}
.top #Sec03 .more_btn{
  margin-top: -23px;
}
.top #Sec03 .more_btn a{
  padding: 8px 57px;
}

/* #Sec04
-----------------------------------------------------------------*/
.top #Sec04{
}
.top #Sec04 .inner{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}

.top #Sec04 .box {
	margin-top: 20px;
}
ul.news_list li a{
	display: block;	
	padding: 12px 0;
	background: none;
}
ul.news_list li a .date{
	padding-right: 0;
}


/* Company
-----------------------------------------------------------------*/

/* #Sec01
-----------------------------------------------------------------*/
.company #Sec01{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}
.company #Sec01 table,
.company #Sec01 table tr,
.company #Sec01 table th,
.company #Sec01 table td{
  display: block;
}
.company #Sec01 table tr{
  border-top: none;
  border-top: solid 5px #ffffff;
}
.company #Sec01 table th{
  width: 100%;
  padding: 10px 20px;
  vertical-align: middle;
  font-size: 2rem;
}
.company #Sec01 table td{
  width: 100%;
  padding: 10px 20px;
  vertical-align: middle;
  font-size: 2rem;
}

/* #Sec02
-----------------------------------------------------------------*/
.company #Sec02{
}
.company #Sec02 .inner{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}
.company #Sec02 table,
.company #Sec02 table tr,
.company #Sec02 table th,
.company #Sec02 table td{
  display: block;
}
.company #Sec02 table tr{
  color: #ffffff;
  border-bottom: solid 1px #4c7597;
  padding: 10px 0;
}
.company #Sec02 table th{
  width: 100%;
  padding: 0;
}
.company #Sec02 table td{
  width: 100%;
  padding: 0;
}

/* #Sec03
-----------------------------------------------------------------*/
.company #Sec03{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}
.company #Sec03 .box{
  display: block;
  margin-top: 40px;
}.company #Sec03 .box .img img{
  width: 100%;
  height: auto;
}
.company #Sec03 .box .txt_box{
  margin-left: 0;
  margin-top: 35px;
}
.company #Sec03 .box .txt_box .name{
  font-size: 2rem;
  margin-top: 20px;
}

/* BusinessList
-----------------------------------------------------------------*/

/* #Sec01
-----------------------------------------------------------------*/
.business_list #Sec01{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}

.business_list #Sec01 .top_txt{
  margin-top: 10px;
}
.business_list #Sec01 ul{
  margin-top: 0;
  display: block;
}
.business_list #Sec01 ul li{
  width: 100%;
  height: auto;
  margin-top: 40px;
}
.business_list #Sec01 ul li .img img{
  width: 100%;
  height: auto;
}
.business_list #Sec01 ul li h3{
  width: 90%;
}
.business_list #Sec01 ul li .txt{
  margin-top: 20px;
}
.business_list #Sec01 ul li .more_btn{
  position: static;
  margin-top: 20px;
}
.business_list #Sec01 ul li .more_btn a{
  padding: 8px 57px;
}
.business_list #Sec01  ul li:before{
  display: none;
}

/* Business
-----------------------------------------------------------------*/

/* #Sec01
-----------------------------------------------------------------*/
.business #Sec01{
  width: auto;
  margin: 0 auto;
  padding: 50px 0;
}
.business #Sec01 h2{
  margin: 0 5%;
}
.business #Sec01 .txt{
  margin: 10px 5% 0;
}
.business #Sec01 .mv_inner{
  background: #000000;
  overflow: hidden;
  margin-top: 40px;
}
.business #Sec01 .container{
  width: 80%;
  margin-right: auto;
  margin-left: auto;
}
.business #Sec01 .container img{
  width: 100%;
  height: auto;
}
.business #Sec01 .swiper-container{
  z-index: 1;
  overflow: visible;
  width: 100%;
  height: 100%;
}
.business #Sec01 .slider_pc .swiper-slide{
  position: relative;
}
.business #Sec01 .slider_pc .swiper-slide-prev,
.business #Sec01 .slider_pc .swiper-slide-next{
  opacity: .3;
}
.business #Sec01 .swiper-button-prev{
  left: -10%;
  background-size: 12px 22px;
}
.business #Sec01 .swiper-button-next{
  right: -10%;
  background-size: 12px 22px;
}
.business #Sec01 .swiper-pagination-bullet-active{
}
.business #Sec01 .swiper-container.thumbs_pc{
  box-sizing: border-box;
  background: #ffffff;
  padding-top: 5px;
}
.business #Sec01 .thumbs_pc .swiper-slide{
  width: 20%;
  height: auto;
}
.business #Sec01 .thumbs_pc .swiper-slide img{
  width: 100%;
  height: auto;
}
.business #Sec01 .thumbs_pc .swiper-slide-active{
}

/* #Sec01
-----------------------------------------------------------------*/
.business #Sec02{
  width: auto;
  margin: 0 5%;
  padding: 0 0 50px 0;
}

.business #Sec02 .top_txt{
  margin-top: 10px;
}
.business #Sec02 ul{
  margin-top: 0;
  display: block;
}
.business #Sec02 ul li{
  width: 100%;
  height: auto;
  margin: 40px 0 0 0;
}
.business #Sec02 ul li .img img{
  width: 100%;
  height: auto;
}
.business #Sec02 ul li h3{
  width: 90%;
}
.business #Sec02 ul li .txt{
  margin-top: 20px;
}
.business #Sec02 ul li .more_btn{
  position: static;
  margin-top: 20px;
}
.business #Sec02 ul li .more_btn a{
  padding: 8px 57px;
}
.business #Sec02  ul li:before{
  display: none;
}

/* Facility
-----------------------------------------------------------------*/

/* #Sec01
-----------------------------------------------------------------*/
.facility #Sec01{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}
.facility #Sec01 .box:nth-child(n+2){
  margin-top: 50px;
}
.facility #Sec01 ul{
  display: block;
  margin-top: 30px;
}
.facility #Sec01 ul li:nth-child(n+2){
  margin-top: 20px;
}
	.facility #Sec01 ul li .media{
		width: 100%;
	}
.facility #Sec01 ul li .media img{
  width: 100%;
  height: auto;
}
	
.facility table th {
    padding: 0 20px;
}
.facility table td {
    padding: 0 20px;
}
.facility #Sec01 .scroll table{
		margin: 5px 0 0 0;
}
.facility #Sec01 .scroll_txt{
	font-size: 1.4rem;	
}
.facility #Sec01 .scroll{
	overflow: auto;
	white-space: nowrap;
	margin-top: 35px;
}
.facility #Sec01 .scroll::-webkit-scrollbar{
	height: 5px;	
}
.facility #Sec01scroll::-webkit-scrollbar-track{
	background: #F1F1F1;
}
.facility #Sec01.scroll::-webkit-scrollbar-thumb {
	background: #BCBCBC;
}


/* Employee
-----------------------------------------------------------------*/

/* #Sec01
-----------------------------------------------------------------*/
.employee #Sec01{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}
.employee #Sec01 .flow{
  margin-top: 20px;
  position: relative;
  height: auto;
}
.employee #Sec01 .flow:after{
  content: "";
  height: 100%;
  width: 3px;
  background: #042c63;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: 0;
}
.employee #Sec01 .flow p:first-child:after{
  content: "";
  height: 15px;
  width: 15px;
  background: url(images/employee/sp_icon.jpg) no-repeat;
  background-size: 15px;
  position: absolute;
  top: 0;
  left: -6px;
  z-index: 10;
}
.employee #Sec01 .flow p:last-child:after{
  content: "";
  height: 15px;
  width: 15px;
  background: url(images/employee/sp_icon.jpg) no-repeat;
  background-size: 15px;
  position: absolute;
  bottom: -1px;
  left: -6px;
  z-index: 10;
}
.employee #Sec01 .flow p:nth-child(n+2){
  margin-top: 40px;
}
.employee #Sec01 .flow p{
  text-align: right;
}
.employee #Sec01 .flow p img{
  width: 97%;
  height: auto;
}
.employee #Sec01 .flow .step01{
  position: static;
}
.employee #Sec01 .flow .step02{
  position: static;
}
.employee #Sec01 .flow .step03{
  position: static;
}
.employee #Sec01 .flow .step04{
  position: static;
}
.employee #Sec01 .flow .step05{
  position: static;
}
.employee #Sec01 .flow .step06{
  position: static;
}

.employee #Sec01 .case_info{
  margin-top: 50px;
  display: block;
}
.employee #Sec01 .case_info .ttl{
  font-size: 2rem;
  font-weight: bold;
}
.employee #Sec01 .case_info img{
  width: 100%;
  height: auto;
}
.employee #Sec01 .case_info .txt_box{
  margin-left: 0;
  margin-top: 20px;
}
.employee #Sec01 .case_info .txt_box .txt{
  margin-top: 20px;
}

/* Contact
-----------------------------------------------------------------*/

/* #Sec01
-----------------------------------------------------------------*/
.contact #Sec01{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}

.contact #Sec01 .form table,
.contact #Sec01 .form table tr,
.contact #Sec01 .form table th,
.contact #Sec01 .form table td{
  display: block;
}
.contact #Sec01 .form table tr{
  border-top: none;
  border-top: solid 5px #ffffff;
}
.contact #Sec01 .form table th{
  width: 100%;
  padding: 10px 20px;
  vertical-align: middle;
  font-size: 2rem;
}
.contact #Sec01 .form table th span{
  line-height: 2.4rem;
  vertical-align: text-top;
}
.contact #Sec01 .form table td{
  width: 100%;
  padding: 10px 20px;
  vertical-align: middle;
  font-size: 2rem;
}
.contact #Sec01 .form table tr td input{
  width: 100%;
}
.contact #Sec01 .form form input.submit{
  width: 200px;
  margin: 30px auto 0 auto;
  padding: 8px 0;
}

/* Recruit
-----------------------------------------------------------------*/

/* #Sec01
-----------------------------------------------------------------*/
.recruit #Sec01{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}
.recruit #Sec01 .txt{
  margin-top: 20px;
}
.recruit #Sec01 .mylogo{
	width: 80%;
}
.recruit #Sec01 .more_btn{
  margin-top: 30px;
}

	
/* Privacy Policy
-----------------------------------------------------------------*/

/* #Sec01
-----------------------------------------------------------------*/
.privacypolicy #Sec01{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}
.privacypolicy #Sec01 .txt{
  margin-top: 20px;
}
.privacypolicy #Sec01 .inner > ul{
  margin-top: 30px;
}
.privacypolicy #Sec01 .inner  > ul > li{
  margin-top: 30px;
}
.privacypolicy #Sec01 .inner > ul > li h4{
}
.privacypolicy #Sec01 .inner  > ul > li ul li{
  list-style: disc;
  margin-left: 20px;
}
.privacypolicy #Sec01 .inner .info_box{
  margin-top: 30px;	
}
	
/* News Archive
-----------------------------------------------------------------*/
h2.archive.page_ttl{
  background: url(images/contact/ttl_bg.jpg) no-repeat center;
}

/* #Sec01
-----------------------------------------------------------------*/
.news_archive #Sec01{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}
.news_archive #Sec01 .box{
	margin-top: 20px;
}
	
/* News Info
-----------------------------------------------------------------*/
/* #Sec01
-----------------------------------------------------------------*/
.news_info #Sec01{
  width: auto;
  margin: 0 5%;
  padding: 50px 0;
}

/* 480pxまでの幅の場合に適応される */
}