@charset "utf-8";

/* 共通
------------------------------------------------------------*/
body {
	color: #292929;
	font-size:16px;
	line-height:155%;
	letter-spacing:1px;
	-webkit-text-size-adjust: 100%;
}

a		{ color:#0097cc; }
a:hover { color:#1a4148; }

p { display:block; margin:0 0 20px; }

hr {
	height: 0;
	margin: 25px 0;
	padding: 0;
	border: 0;
	border-top: 1px dotted #666;
}

.aligncenter { text-align:center !important; }
.alignright { text-align:right !important; }
.alignleft { text-align:left !important; }
.ColRed { color:#e60012 !important; }
.ColWhite { color:#FFF !important; }

.fontsize85 { font-size:85%; letter-spacing:1px; line-height: 135%; }

img { max-width:100%; }
.imgleft { display:block; float:left; margin:0 60px 15px 0; }
.imgright { display:block; float:right; margin:0 0 15px 60px; }
.imgcenter { display:block; margin:10px auto; }

.Border { border:1px solid #dcdcdc !important; }
.BorderB { border-bottom:1px dotted #666 !important; padding: 0 5px 5px; }

.PDTitle { padding:35px 0 0 !important;}

/* アニメーションボタン */
a.AnimeBtn {
	display: inline-block;
	text-indent:0 !important;
	padding:7px 15px;
	margin: 3px 0;
	font-size:95%;
	letter-spacing:1px;
	line-height:145%;
	text-align: center;
	text-decoration: none;
	outline: none;
	position: relative;
	z-index: 2;
	background-color: #cfa9ce;
	border: 1px solid #cfa9ce;
	color: #fff;
}
a.AnimeBtn::before, a.AnimeBtn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
	top: 0;
	width: 50%;
	height: 100%;
	background-color: #cfa9ce;
}
a.AnimeBtn, a.AnimeBtn::before, a.AnimeBtn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
a.AnimeBtn:hover {
	background-color: #fff;
	border-color: #333;
	color: #333 !important;
}
a.AnimeBtn::before {right: 0;}
a.AnimeBtn::after {left: 0;}
a.AnimeBtn:hover::before, a.AnimeBtn:hover::after {
	width: 0;
	background-color: #333;
}
/* グレー */
a.BtnGray {
	background-color: #dfe0e3;
	border: 1px solid #dfe0e3;
	color:#48596a;
}
a.BtnGray::before, a.BtnGray::after {background-color: #dfe0e3;}

/* キャプション付き画像 */
figure {
    display: inline-block;
    margin: 0px 3px 7px 0px;
}
figure img { display: block; }
figcaption {
    font-size: 85%;
    text-align: center;
}

/* リスト チェックマーク */
ul.CheckList { display:block; margin:0; }
ul.CheckList li{
	margin: 10px 0px 5px 0px;
	position:relative;
	padding-left:20px;
}
ul.CheckList li:after, ul.CheckList li:before{
	content:''; 
	display:block; 
	position:absolute; 
	top:4px; 
	left:8px; 
	height:11px; 
	width:4px; 
	background:#aaa; 
	border-radius:10px;
	transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	-o-transform:rotate(45deg);
}
ul.CheckList li:before{
	top:8px; 
	left:3px;
	height:8px; 
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
}

/* 全体
------------------------------------------------------------*/
#wrapper {
	display:block;
	width:100%;
	margin:0;
	padding:0;
}
.Content {
	display:block;
	width:100%;
	margin:0;
	padding:90px 0 60px;
}
.inner {
	display:block;
	width:900px;
	margin:0 auto;
}
/* FlexBox */
.column{ display: flex; }
.column .column__col-70{
	width: 70%;
	padding-right: 40px;
}
.column .column__col-50{width: 50%;}
.column .column__col-30{width: 30%;padding: 20px;}

.BgDot { background:url(../images/pattern17.gif); }
.BgGrid { background:url(../images/pattern18.gif); }
.BgGray { background:#333333; }
.BgGStripe { background:url(../images/bg_gray.gif); }
.BgWhite { background:#FFF; }
.BgBlue { background:#dbf0f5; }
.BgBlueLine { background:url("../images/bg_line_blue.png"); }

/* 左右レイアウト */
dl.CareerTable {
	display:block;
	margin:0 0 30px;
	background: url("../images/bg_gray.gif");
	border-bottom:1px dotted #666;
}
dl.CareerTable dt {
	display:block;
	float:left;
	clear:both;
	width:20%;
	padding: 15px;
	border-top:1px dotted #666;
}
dl.CareerTable dd {
	display:block;
	float:right;
	width:80%;
	padding: 15px;
	text-align:left;
	border-top:1px dotted #666;
	background: #FFF;
}
@media only screen and (max-width:899px){
	.inner { width:94%;  }
	.inner img.imgright,
	.inner img.imgleft { float:none; margin:0 auto 15px; }
	ul.CircleList li{ padding: 0 5px 5px 38px; }
	.column{ display: block; }.column .column__col-70, .column .column__col-50{width: 100%;padding:0 0 30px;} .column .column__col-30{width: 100%;} .column .padding-r20,.column .padding-l20,.column .padding-r30,.column .padding-l30{padding: 0;}
}
@media only screen and (max-width:640px){
	p {margin:0 5px 20px;}
	.dl.CareerTable dt, dl.CareerTable dd {float:none;width:100%;}
	a.AnimeBtn {letter-spacing:1px; }
}
@media only screen and (max-width:480px){
}

/* ヘッダー
------------------------------------------------------------*/
#header{
	display:block;
	padding: 15px 0 10px;
	text-align: center;
	background:rgba(255,255,255,1);
}
#header .inner {margin:0 auto;}
#header img {max-height: 60px;}
@media only screen and (max-width:640px){
	#header img{max-width:80%;} 
	#header dt { text-align:center; padding-left:46px; }
	#header dd { display:none; }
}

/* フッター
------------------------------------------------------------*/
#footer{
	width:100%;
	display:block;
	padding:40px 0 60px;
	background:#333;
	color: #FFF;
	font-size: 85%;
	text-align: center;
}
#footer img{display:block;margin: 0 auto 20px;max-height: 100px;}

/* タイトル
------------------------------------------------------------*/
h2 {
	display:block;
	text-align:center;
	font-size:155%;
	font-weight: bold;
	letter-spacing: 3px;
	margin:0 0 35px;
}
h2 span{
	display:block;
	font-weight:normal;
	letter-spacing: 1px;
	font-size: 80%;
	margin-top: 5px;
}
h2.Outline{font-size:135%;}
h3 {
	display:block;
	margin: 0 0 30px;
	text-align:center;
	font-size:155%;
	line-height: 125%;
	font-weight: bold;
	letter-spacing: 1px;
	color: #FFF;
}
h4{
	margin: 0 0 30px;
	padding: 5px 0 5px 20px;
	border-left: 2px solid #222;
	font-size:115%;
	letter-spacing: 2px;
}
h4 span{margin-left:15px;font-size:90%;}
h5{
	display: block;
	background: #f5f5f5;
	padding: 7px 10px;
	margin: 20px 0 10px;
	letter-spacing: 2px;
}
@media screen and (max-width: 640px) {
	h2 {letter-spacing: 0;font-size: 115%;}
}

/* コンテンツ
------------------------------------------------------------*/
.TopImageArea {
	text-align: center;
	height: 460px;
	position:relative;
}
.TopImageArea .inner{
	position:absolute;
	top: 50%;
	left: 50%;
	-webkit-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
}
.TopImageArea .inner h2{
	font-size:185%;
	line-height: 145%;
	font-weight: bold;
	color:#FFF;
	border: none;
	margin:10px 0 0;
}
.TopImageArea .inner .AnimeBtn{ margin: 0 auto; }

/* indexバナー */
ul.BnrArea{ display:flex; flex-wrap: wrap;margin: 0; }
ul.BnrArea li{
	display:block;
	flex-direction: column;
	width: 30.3%;
	vertical-align: top;
	padding: 0;
	margin: 0 1.5% 30px;
	text-align: center;
	font-size: 95%;
	letter-spacing: 0;
}
ul.BnrArea li img{display: block; margin: 0 auto;}
ul.BnrArea li p{text-align: left;font-size:95%; line-height: 125%;}
@media screen and (max-width: 899px) {
	ul.BnrArea li{width: 47%;}
}
@media screen and (max-width: 480px) {
	ul.BnrArea li{width:97%;}
	.TopImageArea .inner h2{font-size:145%;}
}

ul.IndexColumn {display:block;}
ul.IndexColumn li {
	width:30%;
	height:200px;
	display:block;
	float:left;
	background:#ebf7f9;
	margin:0 5% 20px 0;
	font-size:85%;
}
ul.IndexColumn li:last-child { margin-right:0; }
ul.IndexColumn li p {
	margin:120px 0 0;
	padding:10px 15px;
	background:#000;
	opacity:0.6;
	line-height:135%;
	color:#FFF;
}

/* News */
dl.NewsList {
	display:block;
	margin-bottom: 0;
}
.toppage dl.NewsList dt {
	display:block;
	width:20%;
	float:left;
	clear:both;
	margin-bottom:30px;
	letter-spacing: 0;
}
.toppage dl.NewsList dd {
	display:block;
	width:80%;
	line-height: 165%;
	float:right;
	text-align:left;
	margin-bottom:30px;
}
.subpage dl.NewsList dt {
	display:block;
	width:13%;
	float:left;
	clear:both;
	margin-bottom:40px;
	letter-spacing: 0;
}
.subpage dl.NewsList dd {
	display:block;
	width:87%;
	line-height: 165%;
	float:right;
	text-align:left;
	margin-bottom:40px;
}
dl.NewsList a { color:#333;text-decoration: none; }
dl.NewsList a:hover { color:#0097cc; }
dl.NewsList dd span {
	display:block;
	float:left;
	margin-right:10px;
	padding:7px 8px 5px;
	font-size:85%;
	line-height:100%;
	background:#eee;
	color:#FFF;
	border-radius: 3px;
	webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
.InfoCol{background:#0097cc !important;}
.RecruitCol {background:#a0cc06 !important;}
.EventCol {background:#ffc600 !important;}
@media screen and (max-width: 899px) {
	.subpage dl.NewsList dt{width: 17%;} .subpage dl.NewsList dd{width: 83%;}
/*	dl.NewsList {margin-bottom:0;}
	dl.NewsList dt {width:15%;}
	dl.NewsList dd {width:85%;}*/
}
@media screen and (max-width: 640px) {
	.toppage dl.NewsList dt, .toppage dl.NewsList dd,.subpage dl.NewsList dt, .subpage dl.NewsList dd {width:100%;float:none;} .toppage dl.NewsList dt,.subpage dl.NewsList dt{margin-bottom:3px; }
}
@keyframes slide{
  0%{
    transform:translateX(100%);
    opacity:1;
  }
  3%{
    transform:translateX(0%);
    opacity:1;
  }
  30%{
    transform:translateX(0%);
    opacity:1;
  }
  33%{
    transform:translateX(-100%);
    opacity:0;
  }
  99.999%{
    transform:translateX(-100%);
    opacity:0;
  }
  100%{
    transform:translateX(100%);
    opacity:1;
  }
}
