
/*# ★★paddingあふれ防止★★ */
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html {
  overflow-x: hidden;
}

body {
	color: #333333;
	position: relative;
	background-color: #fff;
    font-family: 'Open Sans', sans-serif;
}

a {
  text-decoration: none;
}

a:hover, a:active, a:focus {
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 130%;
}

/*# ★★header★★ */

#header {
	background-color: #fff;
	width: 100%;
	border-top-width: 13px;
	border-top-style: solid;
	border-top-color: #000000;
	position:relative;
	text-align: center;
}

#mainvisual {
	width: 100%;
	height: 85vh!important;
	border-top-width: 13px;
	border-top-style: solid;
	border-top-color: #000000;
	position: relative;
	text-align: center;
	background-color: #000000;
}

.top-sl {
	width: 100%;
	margin: 0;
}

.tslider {
	margin: 0;
}

.sl-img {
	width: 100%;
	height: auto;
	position:relative;
}

.lip {
	display: inline-block;
}

.lit {
	display: none;
}

.lis {
	display: none;
}

.sl-img-ad {

}

.logowaku {
	width: 100%;
	margin-top: 75px;
	text-align: center;
	position: absolute;
	z-index: 100;
	left: 0;
	right: 0;
}

h1.logo {
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 75px;
}

.logo img {
	width:200px;
}

.arrowwaku {
	width: 100%;
	text-align: center;
	position: absolute;
	z-index: 100;
	left: 0;
	right: 0;
	bottom: 30px;
/*	採用情報バナー表示時のみ非表示にする*/
	display: none;
}

.tarrow img {
	height: 90px;
}

/*# ★★メニュー固定関連★★ */

.nav {
  width: 100%;
}

body.is-fixed .header {
  margin-bottom: 146px;
}

body.is-fixed .nav--typeA {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
}

#t0{

}

#t1{

}

#t2{
   margin-top:-302px;
   padding-top:302px;
}

#t3{
   margin-top:-146px;
   padding-top:146px;
}

#t4{
   margin-top:-146px;
   padding-top:146px;
}

.menu-b {
  padding-top: 146px;
}

.menu-b2 {
  margin-top: 146px;
}

.menuhbase-top {
	width: 100%;
	margin-top: 0px;
	background-color: #000000;
	z-index: 1000;
}

.menuhbase {
	width: 100%;
	margin-top: 0px;
	background-color: #000000;
	z-index: 1000;
	position: fixed;
	top: 0;
}

.menuhwaku {
	width: 1140px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	z-index: 1000;
}

.menuh-h,
.menuh-f {
	display:block;
	font-size: 12px;
	color: #FFFFFF;
}

.menuh0 {
	display: inline-block;
	padding-right: 25px;
	padding-left: 25px;
	position: relative;
	padding-top: 40px;
	padding-bottom: 40px;
	text-align: center;
	z-index: 1000;
}

.menuh0 a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent: -999px;
	z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}

.menuh0:hover {
    filter:alpha(opacity=70);/* IE 6,7*/
    -ms-filter: "alpha(opacity=70)";/* IE 8,9 */
    -moz-opacity:0.7;/* FF , Netscape */
    -khtml-opacity: 0.7;/* Safari 1.x */
    opacity:0.7;
    zoom:1;/*IE*/
}

@media screen and (max-width:1200px) {

.menuhwaku {
	width: 90%;
}
	
.menuh0 {
	padding-right: 10px;
	padding-left: 10px;
	padding-top: 30px;
	padding-bottom: 30px;
}
	
body.is-fixed .header {
  margin-bottom: 136px;
}

#t2,
#t3,
#t4{
   margin-top:-136px;
   padding-top:136px;
}

.menu-b {
  padding-top: 136px;
}

.menu-b2 {
  margin-top: 136px;
}
	
}

/* タブレットサイズから下 */
@media screen and (max-width:992px) {

.logowaku {
	margin-top: 50px;
}

h1.logo {
	margin-bottom: 50px;
}

.logo img {
	width:180px;
}
	
.arrowwaku {
	bottom: 30px;
}

.tarrow img {
	height: 50px;
}

.sl-img {
	display: none;
}

.sl-img-t {
	width: 100%;
	display: block;
}

.sl-img-s {
	width: 100%;
	display: none;
}
	
.menuhwaku,
.menuh0 {
 display:none; 
}
	
#t0{
   margin-top:0px;
   padding-top:0px;
}

#t1{
   margin-top:0px;
   padding-top:0px;
}

#t2{
   margin-top:0px;
   padding-top:0px;
}

#t3{
   margin-top:0px;
   padding-top:0px;
}

#t4{
   margin-top:0px;
   padding-top:0px;
}

.menu-b {
  padding-top: 0px;
}

.menu-b2 {
  margin-top: 0px;
}

}

/* スマホサイズから下 */
@media screen and (max-width:480px) {
	
#mainvisual {
	width: 100%;
/*	height: 55vh;*/
	border-top-width: 13px;
	border-top-style: solid;
	border-top-color: #000000;
	position:relative;
	text-align: center;
	
}

.logowaku {
	margin-top: 0px;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

h1.logo {
	margin-bottom: 30px;
}
	
.logo img {
	width:120px;
}
	
.arrowwaku {

}

.tarrow img {

}
	
.sl-img {
	display: none;
}

.sl-img-t {
	display: none;
}

.sl-img-s {
	display: block;
}
	
}

/* ハンバーガーメニュー新 */

.navimenu{
	display: none;
}

.fullscreenmenu{
	display: none;
}


/* タブレットサイズから下 */
@media screen and (max-width:992px) {


.fullscreenmenu{
    display: block;
}
	
.navimenu,
    .navimenu span {
    display: inline-block;
    -webkit-transition:all .4s;
    transition: all .4s;
    }

    .navimenu {
      position: fixed;
      top: 10px;
      right:  10px;
      width: 35px;
      height: 34px;
      z-index: 1500;
    background: rgba(255,255,255,0.7);
    }

    .navimenu span {
    position: absolute;
    left: 5px;
    right: 5px;
    width: 25;
    height: 2px;
    background-color: #000;
    z-index: 1500;
    }

    .navimenu span:nth-of-type(1) {
    top: 8px;
    }

    .navimenu span:nth-of-type(2) {
    top: 16px;
    }

    .navimenu span:nth-of-type(3) {
    top: 24px;
    }

    .navimenu.active span:nth-of-type(1) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    background-color: #fff;
    top: 16px;
    }

    .navimenu.active span:nth-of-type(2) {
    opacity: 0;
    background-color: #fff;
    }

    .navimenu.active span:nth-of-type(3) {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    background-color: #fff;
    top: 16px;
    }

    #nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1500;
    width: 100%;
    height: 100vh;
    opacity: 0;
    background: rgba(0,0,0,0.8);
    transition: all 0.3s ease-in-out;
    visibility:hidden;
    }

    #nav.active{
    right: 0;
    opacity: 1;
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    transform: translateX(0);
    visibility: visible;
    }

    #nav ul{
    margin:20px 0;
    padding:20px 0;
    }

    #nav ul li{
    list-style-type: none;
    }

    #nav ul li a{
    display: block;
    padding: 20px 0;
    transition: all 0.2s ease-in-out;
    text-align: center;
    text-decoration: none;
    color: #fff;
    }
    #nav ul li a:hover {
    color: #f65d5d;
    }
}






/*# ★★★★ */

.separator_auto{
    width:45px;
    height:2px;
    margin:20px auto;
    background: #0092d3;
}

.separator_auto2{
	width: 45px;
	height: 2px;
	margin-top: 20px;
	margin-bottom: 20px;
	background: #0092d3;
	margin-right: 0px;
}

.separator_auto3{
	width: 45px;
	height: 2px;
	margin-top: 10px;
	margin-bottom: 10px;
	background: #0092d3;
	margin-right: 0px;
}

.separator_1140_1{
	width: 1140px;
	height: 1px;
	background: #898989;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width:1200px) {
	
.separator_1140_1{
	width: 100%;
}
	
}

/*# ★★トップの各項目ごと★★ */

/*# 共通 */
.inner1140{
	width: 1140px;
	margin-right: auto;
	margin-left: auto;
}

h2 {
	font-size: 40px;
	color: #FFFFFF;
	letter-spacing: 15px;
	font-weight: 300;
}

h3 {

}

.red {
	color: #ff0000;
}

.t-c {
	text-align: center;
}

.hai1 {
  background-image:
    url("../images/dot3.png"), /* 前面の背景画像 */
    url("../images/img_01.jpg");   /* 背面の背景画像 */
}

.hai2 {
  background-image:
    url("../images/dot3.png"), /* 前面の背景画像 */
    url("../images/img_02.jpg");   /* 背面の背景画像 */
}

.hai3 {
  background-image:
    url("../images/dot3.png"), /* 前面の背景画像 */
    url("../images/img_03.jpg");   /* 背面の背景画像 */
}

.hai4 {
  background-image:
    url("../images/dot3.png"), /* 前面の背景画像 */
    url("../images/img_04_4.jpg");   /* 背面の背景画像 */
}

.hai5 {
  background-image:
    url("../images/dot3.png"), /* 前面の背景画像 */
    url("../images/img_05.jpg");   /* 背面の背景画像 */
}

.hai6 {
  background-image:
    url("../images/dot3.png"), /* 前面の背景画像 */
    url("../images/img_06.jpg");   /* 背面の背景画像 */
}

.hai7 {
  background-image:
    url("../images/dot3.png"), /* 前面の背景画像 */
    url("../images/img_07.jpg");   /* 背面の背景画像 */
}

.hai1,
.hai2,
.hai3,
.hai4,
.hai5,
.hai6,
.hai7 {
	background-repeat: repeat, /* 最前面 */
    no-repeat;
	background-position: top right, /* 最前面 */
	center center;
	background-size: auto, /* 最前面 */
	100% auto;
	position: relative;
	z-index: 1;
	width: 100%;
	height: 300px;
	padding: 10px;
	margin: 0;
	border-bottom-width: 10px;
	border-bottom-style: solid;
	border-bottom-color: #000000;
	position: relative;
}

.hai-img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 730px;
  height: 171px;
}

.dami {
	font-size: 28px;
	color: #FF0004;
	margin-top: 50px;
}

.t-1 {
	font-size: 28px;
	color: #333333;
	letter-spacing: 5px;
	font-weight: 300;
}

.t-2 {
	font-size: 30px;
	color: #005191;
	letter-spacing: 5px;
	font-weight: 500;
}

.t-3 {
	font-size: 20px;
	color: #005191;
	letter-spacing: 5px;
	font-weight: 500;
	display: flex;
	align-items: center;
	width: 720px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 100px;
}

.t-3:before, .t-3:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #fff;
	display: block;
}

.t-3:before {
	margin-right: .4em;
}
.t-3:after {
	margin-left: .4em;
}

.t-4 {
	font-size: 20px;
	color: #005191;
	letter-spacing: 5px;
	font-weight: 500;
	margin-left: auto;
	margin-right: auto;
	margin-top: 70px;
}

.t-5 {
	font-size: 30px;
	color: #d3d4d3;
	letter-spacing: 5px;
	font-weight: 500;
	display: flex;
	align-items: center;
	width: 200px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 100px;
}

.t-5:before, .t-5:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #d3d4d3;
	display: block;
}

.t-5:before {
	margin-right: .4em;
}
.t-5:after {
	margin-left: .4em;
}

.t-6 {
	font-size: 20px;
	color: #005191;
	letter-spacing: 5px;
	font-weight: 500;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 100px;
}

.p-1 {
	font-size: 16px;
	color: #333333;
	line-height: 200%;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 3px;
	font-weight: 300;
}

.p-2 {
	font-size: 16px;
	color: #333333;
	line-height: 150%;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 3px;
	margin-top: 35px;
	font-weight: 300;
}

.p-3 {
	font-size: 20px;
	color: #333333;
	line-height: 150%;
	letter-spacing: 3px;
	margin-top: 10px;
}

.p-4 {
	font-size: 20px;
	letter-spacing: 5px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 70px;
}

.p-5 {
	font-size: 14px;
	line-height: 130%;
	letter-spacing: 1px;
	margin-top: 50px;
	width:850px;
	margin-right: auto;
	margin-left: auto;
}

.p-6 {
	font-size: 16px;
	color: #333333;
	line-height: 200%;
	letter-spacing: 3px;
	font-weight: 300;
	width: 100%;
	text-align: center;	
}

.bana1 {
	margin-top: 150px;
	border-bottom-width: 7px;
	border-bottom-style: solid;
	border-bottom-color: #000000;
	width: 100%;
  background-image:
    url("../images/dot3.png"), /* 前面の背景画像 */
    url("../images/img_02.jpg");   /* 背面の背景画像 */
	background-repeat: repeat, /* 最前面 */
    no-repeat;
	background-position: top right, /* 最前面 */
	center center;
	background-size: auto, /* 最前面 */
	100% auto;
	padding: 10px;
	position: relative;
}

.bana1 a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent: -999px;
	z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}

.bana1:hover {
    filter:alpha(opacity=70);/* IE 6,7*/
    -ms-filter: "alpha(opacity=70)";/* IE 8,9 */
    -moz-opacity:0.7;/* FF , Netscape */
    -khtml-opacity: 0.7;/* Safari 1.x */
    opacity:0.7;
    zoom:1;/*IE*/
}

.pri-t-1 {
	width: 100%;
	font-weight: 300;
	margin-top: 50px;
	font-size: 20px;
	text-align: left;
	letter-spacing: 1px;
	line-height: 150%;
}
.pri-p-1 {
	width: 100%;
	font-size: 16px;
	text-align: left;
	line-height: 150%;
	margin-top: 30px;
}
.pri-p-2 {
	width: 100%;
	font-size: 16px;
	text-align: left;
	line-height: 150%;
	margin-top: 20px;
}

.bana1 img {
	width: 100%;
}

.bana1 a:hover {opacity: 0.7;} /*カーソルが乗っているリンクの色*/

.adsli {
	margin-top: 90px;
}

.tec1 img {
	width: 50%;
	margin-right: auto;
	margin-left: auto;
	margin-top: 50px;
}

.tec2 img {
	width: 50%;
	margin-right: auto;
	margin-left: auto;
	margin-top: 50px;
}

.tec-waku1 {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	margin-top: 50px;
}

.tec3 {
	display: inline-block;
	width: 30%;
	margin-right: 1%;
	margin-left: 1%;
}

.tec3 img {
	width: 100%;
}

.tec4 {
	width: 80%;
	margin-right: auto;
	margin-left: auto;
}

.int-main img {
	width: 100%;
}

.int-1 {
	color: #005191;
	font-size: 25px;
	line-height: 150%;
	margin-bottom: 20px;
}

.int-2 {
	font-size: 16px;
	line-height: 150%;
	letter-spacing: 3px;
}

.int-3 {
	font-size: 23px;
	line-height: 150%;
	margin-top: 5px;
	letter-spacing: 5px;
}

.int-4 {
	font-size: 16px;
	line-height: 200%;
	margin-top: 10px;
}

.int-p1 img {
	width: 40%;
	float: left;
	padding-bottom: 100px;
}

.int-p2 img {
	width: 40%;
	float: right;
	padding-bottom: 100px;
}

.int-waku0 {
	width: 100%;
}

.int-waku1-1 {
  background-image:
    url("../images/moji_01.png");
}

.int-waku1-2 {
  background-image:
    url("../images/moji_02.png");
}

.int-waku1-3 {
  background-image:
    url("../images/moji_03.png");
}

.int-waku2-4 {
  background-image:
    url("../images/moji_04.png");
}

.int-waku2-5 {
  background-image:
    url("../images/moji_05.png");
}

.int-waku2-6 {
  background-image:
    url("../images/moji_06.png");
}

.int-waku1-1,
.int-waku1-2,
.int-waku1-3,
.int-waku2-4,
.int-waku2-5,
.int-waku2-6 {
	padding-bottom: 100px;

  background-repeat:
    no-repeat;

  background-position:
    top right;
	
  background-size:
    150px auto;
}


.int-waku1-1,
.int-waku1-3 {
	padding-bottom: 150px;
}

.int-waku1 {
	width: 53%;
	float: right;
}

.int-waku1-1,
.int-waku1-2,
.int-waku1-3 {
	width: 53%;
	float: right;
}

.int-waku2-4,
.int-waku2-5,
.int-waku2-6 {
	width: 53%;
	float: left;
}

.acc-map img {
	width: 750px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 50px;
	margin-bottom: 50px;
}

.acc-waku1 {
	width: 750px;
    font-size:0;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 50px;
}

.acc1 {
	width: 250px;
	display: inline-block;
	font-size: 16px;
}

.acc2 {
	width: 250px;
	display: inline-block;
    font-size:16px;
}

.acc3 {
	width: 250px;
	display: inline-block;
	font-size: 16px;
	position: relative;
	text-align: right;
	padding-top: 15px;
	padding-bottom: 15px;
	position: relative;
}

.acc3 a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent: -999px;
	z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}

.acc3:hover {
    filter:alpha(opacity=70);/* IE 6,7*/
    -ms-filter: "alpha(opacity=70)";/* IE 8,9 */
    -moz-opacity:0.7;/* FF , Netscape */
    -khtml-opacity: 0.7;/* Safari 1.x */
    opacity:0.7;
    zoom:1;/*IE*/
}


.acc4 {
	width: 750px;
	display: block;
	font-size: 12px;
	text-align: left;
	margin-right: auto;
	margin-left: auto;
	margin-top: 50px;
	line-height: 200%;
}

.btn1 {
	width: 300px;
	border-width: 1px;
	border-style: solid;
	border-color: #000000;
	text-align: center;
	padding-top: 15px;
	padding-bottom: 15px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	z-index: 1; /* 必要であればリンク要素の重なりのベース順序指定 */
    font-size:16px;
}

.btn2 {
	width: 100%;
	border-width: 1px;
	border-style: solid;
	border-color: #000000;
	text-align: center;
	padding-top: 15px;
	padding-bottom: 15px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	z-index: 1; /* 必要であればリンク要素の重なりのベース順序指定 */
    font-size:16px;
}

.btn1 a,
.btn2 a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent: -999px;
	z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}

.btn1:hover,
.btn2:hover {
    filter:alpha(opacity=70);/* IE 6,7*/
    -ms-filter: "alpha(opacity=70)";/* IE 8,9 */
    -moz-opacity:0.7;/* FF , Netscape */
    -khtml-opacity: 0.7;/* Safari 1.x */
    opacity:0.7;
    zoom:1;/*IE*/
}

.tel img {
	width: 600px;
	margin-top: 50px;
	margin-bottom: 50px;
}

/* タブレットサイズから下 */
@media screen and (max-width:992px) {

h2 {
	font-size: 30px;
}
	
.t-1 {
	font-size: 20px;
}

.t-2 {
	font-size: 30px;
}

.t-3 {
	font-size: 18px;
	width: 100%;
	margin-top: 100px;
}
	
.t-3:before, .t-3:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #fff;
	display: block;
}

.t-3:before {
	margin-right: .4em;
}
.t-3:after {
	margin-left: .4em;
}
	
.t-4 {
	font-size: 18px;
	margin-top: 50px;
}
	
.t-5 {
	font-size: 25px;
	width: 200px;
	margin-top: 50px;
}
	
.t-6 {
	font-size: 18px;
	width: 100%;
	margin-top: 50px;
}
	
.p-1 {
	font-size: 16px;
}

.p-2 {
	font-size: 16px;
}
	
.p-3 {
	font-size: 18px;
}
	
.p-4 {
	font-size: 18px;
	margin-top: 50px;
}
	
.p-5 {
	font-size: 14px;
	width: 100%;
}
	
.p-6 {
	font-size: 14px;
	width: 100%;
}
	
.pri-t-1 {
	margin-top: 30px;
	font-size: 16px;
	letter-spacing: 0px;
	line-height: 150%;
}
.pri-p-1 {
	width: 100%;
	font-size: 14px;
	line-height: 150%;
	margin-top: 10px;
}
.pri-p-2 {
	width: 100%;
	font-size: 14px;
	line-height: 150%;
	margin-top: 20px;
}
	
.hai1,
.hai2,
.hai3,
.hai4,
.hai5,
.hai6,
.hai7 {
	background-size: auto, /* 最前面 */
	150% auto;
	height: 200px;
}
	
.tec4 {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
	
.hai-img {
  width: 80%;
  height: auto;
}
	
.tel img {
	width: 80%;
	margin-top: 30px;
	margin-bottom: 30px;
}
	
.int-1 {
	color: #005191;
	font-size: 20px;
	margin-bottom: 10px;
}

.int-2 {
	font-size: 14px;
	letter-spacing: 2px;
}

.int-3 {
	font-size: 18px;
	margin-top: 5px;
	letter-spacing: 3px;
}

.int-4 {
	font-size: 14px;
	line-height: 170%;
	margin-top: 10px;
}

.int-p1 img {
	width: 35%;
	float: left;
}

.int-p2 img {
	width: 35%;
	float: right;
}

.int-waku0 {
	width: 100%;
}

.int-waku1 {
	width: 60%;
	float: right;
}

.int-waku2 {
	width: 60%;
	float: left;
}
	
.int-waku1-1,
.int-waku1-2,
.int-waku1-3 {
	width: 60%;
	float: right;
  background-image:none;
	padding-bottom: 50px;
}

.int-waku2-4,
.int-waku2-5,
.int-waku2-6 {
	width: 60%;
	float: left;
  background-image:none;
	padding-bottom: 50px;
}
	
.acc-map img {
	width: 80%;
}
	
.acc-waku1 {
	width: 80%;
}

.acc1 {
	width: 0%;
}

.acc2 {
	width: 50%;
}

.acc3 {
	width: 50%;
	font-size: 14px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.acc4 {
	width: 750px;
	display: block;
	font-size: 12px;
	text-align: left;
	margin-right: auto;
	margin-left: auto;
	margin-top: 50px;
	line-height: 200%;
}
	
.btn1 {
	width: 50%;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 14px;
}

.btn2 {
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 14px;
}

}

/* スマホサイズから下 */
@media screen and (max-width:480px) {

h2 {
	font-size: 20px;
	letter-spacing: 5px;
}
	
.t-1 {
	font-size: 18px;
	letter-spacing: 2px;
}

.t-2 {
	font-size: 20px;
	letter-spacing: 2px;
}

.t-3 {
	font-size: 16px;
	width: 100%;
	margin-top: 60px;
	letter-spacing: 2px;
}
	
.t-4 {
	font-size: 16px;
	margin-top: 60px;
	letter-spacing: 2px;
}
	
.t-5 {
	font-size: 20px;
	width: 200px;
	margin-top: 60px;
	letter-spacing: 2px;
}
	
.t-6 {
	font-size: 16px;
	width: 100%;
	margin-top: 30px;
	letter-spacing: 2px;
}
	
.p-1 {
	font-size: 14px;
	line-height: 150%;
	letter-spacing: 1px;
}

.p-2 {
	font-size: 14px;
	line-height: 130%;
	letter-spacing: 1px;
	margin-top: 10px;
}
	
.p-3 {
	font-size: 14px;
}
	
.p-4 {
	font-size: 14px;
	line-height: 130%;
	letter-spacing: 1px;
	margin-top: 30px;
}
	
.p-5 {
	font-size: 12px;
	width: 100%;
}
	
.p-6 {
	font-size: 14px;
	width: 100%;
	text-align: left;
	line-height: 150%;
}

.hai1,
.hai2,
.hai3,
.hai4,
.hai5,
.hai6,
.hai7 {
  background-size:
    auto, /* 最前面 */
	200% auto;
	height: 150px;
}
	
.hai-img {
  width: 90%;
  height: auto;
}
	
.bana1 {
	margin-top: 50px;
}
	
.tec1 img {
	width: 100%;
	margin-top: 20px;
}

.tec2 img {
	display: block;
	width: 80%;
	margin-right: auto;
	margin-left: auto;
	margin-top: 20px;
}
	
.tec-waku1 {
	margin-top: 20px;
}

.tec3 {
	display: block;
	width: 60%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 20px;
}
	
.tec4 {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
	
.tel img {
	width: 100%;
	margin-top: 20px;
	margin-bottom: 20px;
}
	
.acc-map img {
	width: 100%;
}
	
.acc-waku1 {
	width: 100%;
}
	
.acc2 {
    font-size:12px;
	display: block;
	width: 100%;
	text-align: center;
}

.acc3 {
	font-size: 12px;
	display: block;
	width: 100%;
	text-align: center;
	margin-top: 10px;
}
	
.btn1 {
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 14px;
}
	
.btn1 img {
	display: none;
}

.btn2 {
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 14px;
}
	
}

/*# ★★セクション★★ */

.ts-back-w{
	width: 100%;
	height: auto;
	background-color: #FFFFFF;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
}

.ts-back-w-2{
	width: 100%;
	height: auto;
	background-color: #FFFFFF;
	padding-top: 30px !important;
	padding-bottom: 100px !important;
}

.ts-back-g1{
	width: 100%;
	height: auto;
	background-color: #f2f2f2;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
}

.ts-back-g1-0{
	width: 100%;
	height: auto;
	background-color: #f2f2f2;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
	z-index: -100;
}

.in-w1{
	width: 100%;
	height: auto;
	background-color: #fff;
	padding-right: 70px;
	padding-left: 70px;
	padding-bottom: 70px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #000000;
	margin-bottom: 70px;
   margin-top:70px;
   padding-top:100px;
}

.img01 {
	width: auto;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 70px;
	text-align: center;
}

.img01 img {
	width: 400px;
}

.c-img1{
	width: 100%;
	height: auto;
}

#foo {
	width: 100%;
	color: #000;
	background-color: #fff;
	font-size: 12px;
	text-align: center;
	padding-top: 60px;
	padding-bottom: 60px;
	letter-spacing: 3px;
}

@media screen and (max-width:1200px) {
.inner1140{
	width: 90%;
}
}

@media screen and (max-width:1140px) {

.ts-back-w,
.ts-back-g1{
	padding-top: 70px !important;
	padding-bottom: 70px !important;
}
	
.ts-back-g1-0{
	padding-top: 70px !important;
	padding-bottom: 70px !important;
}
	
.ts-back-w-2{
	padding-top: 30px !important;
	padding-bottom: 70px !important;
}

.in-w1{
	padding-top: 70px;
	padding-right: 50px;
	padding-left: 50px;
	padding-bottom: 50px;
	margin-top: 50px;
	margin-bottom: 50px;
}

}

/* タブレットサイズから下 */
@media screen and (max-width:992px) {
	
.in-w1{
	padding-top: 50px;
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 30px;
	margin-top: 0px;
	margin-bottom: 0px;
}
	
.img01 {
	margin-bottom: 50px;
}

.img01 img {
	width: 300px;
}
	
}

/* スマホサイズから下 */
@media screen and (max-width:480px) {
	
.ts-back-w,
.ts-back-g1{
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}
	
.ts-back-g1-0{
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}
	
.ts-back-w-2{
	padding-top: 0px !important;
	padding-bottom: 50px !important;
}
	
.in-w1{
	padding-top: 20px;
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 20px;
	margin-top: 0px;
	margin-bottom: 0px;
}
	
.img01 {
	margin-bottom: 20px;
}

.img01 img {
	width: 250px;
}
	
#foo {
	font-size: 10px;
	padding-top: 20px;
	padding-bottom: 20px;
}
	
}



/*# ★★テーブル★★ */

table.sec-table01 {
	width:460px;
	margin-right: auto;
	margin-left: auto;
}

table.sec-table01 tr {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #D6D6D6;
}

table.sec-table01 td{
	font-size: 14px;
	line-height: 200%;
	padding-top: 20px;
	padding-bottom: 20px;
	vertical-align: top;
	letter-spacing: 3px;
}

table.sec-table01 td.i1{
	width:120px;
}

table.sec-table01 td.i2{
	text-align: left;
}


table.sec-table02 {
	width:850px;
	margin-right: auto;
	margin-left: auto;
}

table.sec-table02 tr {

}

table.sec-table02 td{
	font-size: 16px;
	line-height: 200%;
	padding-top: 20px;
	padding-bottom: 20px;
	vertical-align: center;
	letter-spacing: 3px;
}

table.sec-table02 td.i1{
	width:200px;
}

table.sec-table02 td.i2{
	text-align: left;
}

table.sec-table02 td.i3{
	text-align: center;
	width:100%;
}

table.sec-table03 {
	width:850px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 50px;
}

table.sec-table03 tr {
}

table.sec-table03 th{
	font-size: 14px;
	line-height: 130%;
	padding-top: 15px;
	padding-bottom: 15px;
	letter-spacing: 3px;
	background-color: #D3D4D3;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #FFFFFF;
	font-weight: normal;
	vertical-align: center;
	text-align: center;
}

table.sec-table03 td{
	font-size: 14px;
	line-height: 130%;
	padding-top: 15px;
	padding-bottom: 15px;
	letter-spacing: 3px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #FFFFFF;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #FFFFFF;
	vertical-align: center;
	text-align: center;
}

/* 最後の要素にだけ指定 */
table.sec-table03 td:last-child,
table.sec-table03 th:last-child {
	border-right: 0px;
}


/* タブレットサイズから下 */
@media screen and (max-width:992px) {

table.sec-table02 {
	width:100%;
}
	
table.sec-table03 {
	width:100%;
}
	
table.sec-table03 th{
	font-size: 14px;
	line-height: 130%;
	padding-top: 10px;
	padding-bottom: 10px;
	letter-spacing: 1px;
}

table.sec-table03 td{
	font-size: 14px;
	line-height: 130%;
	padding-top: 10px;
	padding-bottom: 10px;
	letter-spacing: 1px;
}

}

/* スマホサイズから下 */
@media screen and (max-width:480px) {
	
table.sec-table01 {
	width:100%;
}

table.sec-table01 td{
	font-size: 14px;
	line-height: 150%;
	padding-top: 0px;
	padding-bottom: 0px;
	letter-spacing: 1px;
}

table.sec-table01 td.i1{
	width: 100%;
	display: block;
	border-right-style: none;
	border-bottom-style: none;
	padding-top: 5px;
	padding-bottom: 5px;
}

table.sec-table01 td.i2{
	width:100%;
	display: block;
	padding-top: 0px;
	padding-bottom: 5px;
}
	
table.sec-table02 td{
	font-size: 14px;
	line-height: 150%;
	padding-top: 0px;
	padding-bottom: 0px;
	letter-spacing: 1px;
}

table.sec-table02 td.i1{
	width: 100%;
	display: block;
	border-right-style: none;
	border-bottom-style: none;
	padding-top: 5px;
	padding-bottom: 5px;
}

table.sec-table02 td.i2{
	width:100%;
	display: block;
	padding-top: 0px;
	padding-bottom: 5px;
}
	
table.sec-table02 td.i3{
	width:100%;
	display: block;
	padding-top: 0px;
	padding-bottom: 5px;
}
	
table.sec-table03 {
	width:100%;
	vertical-align: center;
	text-align: center;
	margin-top: 30px;
}
	
table.sec-table03 th{
	font-size: 10px;
	padding-top: 5px;
	padding-bottom: 5px;
	letter-spacing: 0px;
	vertical-align: center;
	text-align: center;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #FFFFFF;
}

table.sec-table03 td{
	font-size: 10px;
	line-height: 130%;
	padding-top: 5px;
	padding-bottom: 5px;
	letter-spacing: 0px;
	vertical-align: center;
	text-align: center;
}
	
}

/*# ★★汎用設定★★ */

.img100{
	width: 100%;
	height: auto;
}

.img-pc{
	width: 100%;
	display: inline-block;
}

.img-pc-tb{
	width: 100%;
	display: inline-block;
}

.img-tb{
	display: none;
}

.img-tb-sp{
	display: none;
}

.img-sp{
	display: none;
}

.img-sp2{
	display: none;
}

/* タブレットサイズから下 */
@media screen and (max-width:992px) {
	
.img-pc-tb{
	display: none;
}
	
.img-tb{
	width: 100%;
	display: inline-block;
}
	
.img-tb-sp{
	width: 100%;
	display: inline-block;
}
	
}

@media screen and (max-width:600px) {

.img-tb-sp{
	display: none;
}
.img-sp2{
	display: inline-block;
	width: 100%;
}
	
}

/* スマホサイズから下 */
@media screen and (max-width:480px) {
.img-pc{
	display: none;
}
.img-sp{
	display: inline-block;
	width: 100%;
}
}

/*# ★★PC、スマホの表示非表示★ */

/*# スマホとPCで文字を切り替え */
.pcnot { display:none; }
.spnot { display:inline; }

/*# PCで改行しない */
.br-sp { display:none; }

/*# 1140以下では改行しない */
.br-1140 { display:inline; }

/*# 1140以上で改行しない */
.br-1139 { display:none; }

/*# スマホで改行しない */
.br-pc { display:inline; }

/*# PCで表示しない、スマホで改行 */
.f-sp { display:none; }

@media screen and (max-width:1140px) {
.br-1140 { display:none; }
.br-1139 { display:inline; }
}

@media screen and (max-width:768px) {
.pcnot { display:inline; }
.spnot { display:none; }
.br-pc { display:none; }
.br-sp { display:inline; }
.f-sp { display:inline; }
}

/*# 左右均等配置 */
.justify{
	display:flex;
	display:-moz-flex;
	display:-o-flex;
	display:-webkit-flex;
	display:-ms-flex;
	justify-content:space-between;
	-moz-justify-content:space-between;
	-o-justify-content:space-between;
	-webkit-justify-content:space-between;
	-ms-justify-content:space-between;
}

/*# ロールオーバーでイメージ半透明 */
.alpha a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

/*# clearfix */
.clearfix:after {
	clear: both;
	content:".";
	display:block;
	height:0;
	visibility:hidden;
}
.clearfix { display:inline-block; }
* html .clearfix { height:1%; }
.clearfix { display:block; }

/*# 文字関係 */

.bold {
	font-weight: bold;
}

.cen {
	text-align: center;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.cen2 {
	margin-right: auto;
	margin-left: auto;
}

.f10 {
	font-size: 10px;
	line-height: 130%;
}

.f13 {
	font-size: 13px;
	line-height: 130%;
}

.f16 {
	font-size: 16px;
	line-height: 130%;
}

.f20 {
	font-size: 20px;
	line-height: 130%;
}

.f27 {
	font-size: 27px;
	line-height: 130%;
}

.f35 {
	font-size: 35px;
	line-height: 130%;
}

.f50 {
	font-size: 50px;
	line-height: 130%;
}

.f55 {
	font-size: 55px;
	line-height: 130%;
}

.fb {
	color: #333333;
}

.fr {
	color: #D0121B;
}

.fw {
	color: #ffffff;
}

.fg {
	color: #0D4737;
}

.lh130 {
	line-height: 130%;
}

.lh140 {
	line-height: 140%;
}

.lh150 {
	line-height: 150%;
}
.lh170 {
	line-height: 170%;
}

.t-cen {
	text-align: center;
}

.t-lef {
	text-align: left;
}

.t-rig {
	text-align: right;
}

/*# 空き関係 */

.mt5 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt20-5 {
	margin-top: 20px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mt90 {
	margin-top: 90px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.pt70 {
	padding-top: 70px !important;
}

@media screen and (max-width:1140px) {

.mt20-5 {
	margin-top: 5px !important;
}

.mt30,
.mt40,
.mt50,
.mt60,
.mt70 {
	margin-top: 20px !important;
}

/*# スマホ時のみサイズ変更 */

.sf14 {
	font-size: 14px;
	line-height: 130%;
}
.sf18 {
	font-size: 18px;
	line-height: 130%;
}

.f20 {
	font-size: 18px;
}

.f27 {
	font-size: 23px;
}

.f35 {
	font-size: 27px;
}

.f50,
.f55 {
	font-size: 40px;
}

}

@media screen and (max-width:768px) {

.f27 {
	font-size: 18px;
}

.f35 {
	font-size: 23px;
}

.f50,
.f55 {
	font-size: 30px;
}


}

/*# ★★PC、スマホの表示非表示★ */

/*# PCで改行しない */
.br-sp { display:none; }

/*# 1140以下では改行しない */
.br-1140 { display:inline; }

/*# 1140以上で改行しない */
.br-1139 { display:none; }

/*# スマホで改行しない */
.br-pc { display:inline; }

/*# PCで表示しない文字 */
.f-sp { display:none; }

@media screen and (max-width:1140px) {
.br-1140 { display:none; }
.br-1139 { display:inline; }
}

@media screen and (max-width:768px) {
.br-pc { display:none; }
.br-sp { display:inline; }
.f-sp { display:inline; }
}

/* Topへ戻るボタン */
#page-top {
  position: fixed;
  bottom: 50px;
  right: 50px;
  width: 42px;
  height: 42px;
}

.arrow{
  position: relative;
  display: inline-block;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  width: 42px;
  height: 42px;
}

.arrow::before{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  box-sizing: border-box;
  width: 42px;
  height: 42px;
  border: 1px solid #999999;
  background: #ffffff;
}

.arrow::after{
  content: '';
  width: 26px;
  height: 26px;
  border: 0px;
  border-top: solid 1px #999999;
  border-left: solid 1px #999999;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 8px;
  margin-top: -4px;
}

.arrow a{
    position:absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    text-indent:-999px;
}

.arrow:hover::after{
  border-top: solid 1px #B4B4B4;
  border-left: solid 1px #B4B4B4;
}

.arrow a:hover{
	border: 1px solid #B4B4B4;
}

@media screen and (max-width: 640px) {
#page-top {
  right: 10px;
}
}

/*採用ページバナー追加*/
.banner_box{
	position: relative;
	text-align: center;
	
}
.banner_box a{
	display: block;
	margin: 0 auto;
	width: min(300px, 100%);
}

.banner_box a img{
	width: min(300px, 100%);
}

.banner-recruit{
	position: absolute;
	right: 0;
	left: 0;
	margin: 0 auto;
	bottom: 15px;
	z-index: 200;
	padding: 0 10px;
}

.banner-recruit a:hover{
	opacity: .7;
	transition: .3s;
}

.banner-recruit img{
	max-width: 100%;
	height: auto;
}




