/* 全般 */
body {
    background-color: #000;
    color: #fff;
    font-family: "Verdana",游ゴシック,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    background: linear-gradient(rgba(0, 0, 0, .4), rgba(0, 0, 0, .4)),url(img/bg2.jpg);
    background-size: cover;
    background-attachment: fixed;
    margin: 0;
    padding: 0;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 5s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}


/* 見出し */
h1 {
    margin: 100px 0 0 0;
    text-align: center;
    font-family: "Russo One", sans-serif;
    font-size: 650%;
    color: #fff;
    -webkit-text-stroke: 1px #fff;
    -webkit-text-fill-color: transparent;
    position: relative;
}

h1::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	content: '';
	width: 0;
	height: 1px;
	background-color: #fff;
	transition: .5s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
h1:hover::after {
	width: 700px;
}

h2 {
    text-align: center;
    font-size: 300%;
    margin: 10px;
    padding: 0;
    color: #fff;
    font-family: "Russo One", sans-serif;
    -webkit-text-stroke: 1px #fff;
    -webkit-text-fill-color: transparent;
    position: relative;
}
h2::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	content: '';
	width: 0;
	height: 1px;
	background-color: #fff;
	transition: .5s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
h2:hover::after {
	width: 400px;
}
h3 {
    margin: 20px 0;
    padding: 5px 10px;
    border-left: 5px solid #fff;
    border-bottom: 1px solid #fff;
}

/* ヘッダー */
header p {
    text-align: center;
    letter-spacing: 0.5em;
    font-size: 120%;
    font-family: "Poiret One";
}
header .title {
    margin: 20px 0 0 0;
    font-weight: bold;
}
header .catch {
    letter-spacing: 0.2em;
    font-size: 130%;
    margin: 50px 0 0 0;
}
header .url {
    letter-spacing: 0.2em;
    margin: 10px;
    font-size: 110%;
}


/* コンテンツ */
.content {
    text-align: center;
    margin: 50px 0;
    padding: 0;
}
.content li {
    display: inline-block;
    margin: 0 30px;
}
.content li a {
    padding: 42px 28px;
    border: 2px solid #fff;
    display: block;
    border-radius: 100px;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 120%;
    overflow: hidden;
    transition: all 0.3s;
}
.content li a:hover {
    background-color: #000;
    color: #fff;
}
.content p {
    font-size: 70%;
    font-weight: normal;
    margin: 0;
    font-family: "Poiret One";
    letter-spacing: 0.2em;
}
.inner {
    padding: 20px;
    width: 900px;
    margin: 0 auto;
}
.to_top {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 400%;
    transition: .5s;
}
.to_top:hover {
    text-shadow: 0 0 10px #fff;
}


/* 事業内容 */
#business {
    background: rgba(0,0,0,0.7);
    padding: 20px 0;
}
#business p {
    text-align: center;
    letter-spacing: 0.7em;
    font-size: 90%;
    margin-bottom: 30px;
}
#business img {
    width: 100%;
}
.img_b {
    position: relative;
    width: 100%;
}
#business .img_b p {
    font-family: "Poiret One", cursive;
    position: absolute;
    width: 100%;
    text-align: center;
    bottom: 60px;
    font-size: 200%;
    letter-spacing: normal;
}

/* 採用情報 */
#recruit p {
    text-align: center;
    letter-spacing: 0.7em;
    font-size: 90%;
    margin-bottom: 30px;
}
#recruit table {
    border: 3px solid #fff;
    border-collapse: collapse;
}
#recruit td {
    border: 1px solid #fff;
    padding: 10px;
    list-style-position: inside;
    background-color: rgba(255,255,255,0.3)
}
#recruit ul {
    margin: 0;
    padding: 0;
}
.mail_r {
    margin: 50px 0 0 0;
    width: 100%;
}
.mail_r input {
    background-color: rgba(255,255,255,0.3);
    border: 3px dotted #fff;
    color: #ccc;
    padding: 5px;
    width: 400px;
}
.mail_r textarea {
    background-color: rgba(255,255,255,0.3);
    border: 3px dotted #fff;
    color: #fff;
    padding: 5px;
    width: 400px;
    height: 200px;
}

/* 会社概要 */
.remodal {
    background-color: rgba(255,255,255,0.8)!important;
}
.remodal-overlay {
    background: rgba(0,0,0,0.5)!important;
}
.remodal h2 {
    text-align: center;
    font-size: 300%;
    margin: 10px;
    padding: 0;
    color: #000;
    font-family: "Russo One", sans-serif;
    -webkit-text-stroke: 1px #000;
    -webkit-text-fill-color: transparent;
    position: relative;
}
.remodal h2::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	content: '';
	width: 0;
	height: 1px;
	background-color: #000;
	transition: .5s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.remodal h2:hover::after {
	width: 400px;
}
.remodal p {
    text-align: center;
    letter-spacing: 0.7em;
    font-size: 90%;
    margin-bottom: 30px;
}
.remodal table {
    border: 3px solid #000;
    border-collapse: collapse;
    width: 100%;
}
.remodal td {
    border: 1px solid #000;
    padding: 10px;
    text-align: left;
}

/* テーブル見出し */
.td_h, .remodal .td_h {
    text-align: center;
    font-weight: bold;
}

/* フッター */
footer {
    background-color: #000;
    color: #fff;
    padding: 10px;
    text-align: center;
    font-size: 70%;
}


@media (max-width: 800px) {
    body {
        background: #000;
        font-size: 80%;
    }
    header {
        margin: 0;
        padding: 20px 0;
        background: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .95)),url(img/bg2.jpg);
        background-size: cover;
    }
    h1 {
        font-size: 300%;
        margin: 20px;
    }
    h2 {
        font-size: 200%;
    }
    header .title,header .url {
        font-size: 90%;
    }
    header .catch {
        font-size: 90%;
        margin: 0;
    }
    .inner {
        width: 100%;
    }
    .content {
        margin: 20px 0;
    }
    .content li {
        margin: 0 10px;;
    }
    .content li a {
        font-size: 90%;
        padding: 20px 10px;
    }
    #business .img_b p {
        display: none;
    }
    #recruit {
        background: linear-gradient(rgba(0, 0, 0, 0.95), rgba(0, 0, 0, .4),rgba(0, 0, 0, 0.95)),url(img/bg2.jpg);
        background-size: cover;
        padding: 0;
        margin: 0;
    }
    .mail_r input {
        max-width: 100%;
        border-radius: 0;
    }
    .mail_r textarea {
        max-width: 100%;
        border-radius: 0;
    }
}