﻿@charset "UTF-8";

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox,
#cboxOverlay,
#cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
}

#cboxWrapper {
  max-width: none;
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}

#cboxMiddleLeft,
#cboxBottomLeft {
  clear: left;
}

#cboxContent {
  position: relative;
}

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#cboxTitle {
  margin: 0;
}

#cboxLoadingOverlay,
#cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
  cursor: pointer;
}

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic;
}

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}

#colorbox,
#cboxContent,
#cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
  background: #000;
}

#colorbox {
  outline: 0;
}

#cboxContent {
  margin-top: 20px;
  background: #000;
}

.cboxIframe {
  background: #fff;
}

#cboxError {
  padding: 50px;
  border: 1px solid #ccc;
}

#cboxLoadedContent {
  border: 5px solid #000;
  background: #fff;
}

#cboxTitle {
  position: absolute;
  top: -20px;
  left: 0;
  color: #ccc;
}

#cboxCurrent {
  position: absolute;
  top: -20px;
  right: 0px;
  color: #ccc;
}

#cboxLoadingGraphic {
  background: url(../images/loading.gif) no-repeat center center;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  width: auto;
  background: none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active {
  outline: 0;
}

#cboxSlideshow {
  position: absolute;
  top: -20px;
  right: 90px;
  color: #fff;
}

#cboxPrevious {
  position: absolute;
  top: 50%;
  left: 5px;
  margin-top: -32px;
  background: url(../images/controls.png) no-repeat top left;
  width: 28px;
  height: 65px;
  text-indent: -9999px;
}

#cboxPrevious:hover {
  background-position: bottom left;
}

#cboxNext {
  position: absolute;
  top: 50%;
  right: 5px;
  margin-top: -32px;
  background: url(../images/controls.png) no-repeat top right;
  width: 28px;
  height: 65px;
  text-indent: -9999px;
}

#cboxNext:hover {
  background-position: bottom right;
}

#cboxClose {
  position: absolute;
  top: 5px;
  right: 5px;
  display: block;
  background: url(../images/controls.png) no-repeat top center;
  width: 38px;
  height: 19px;
  text-indent: -9999px;
}

#cboxClose:hover {
  background-position: bottom center;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q,
blockquote {
  quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
  display: block;
}

/* pie setting */
.PIE,
#scrollTop,
.navSub,
#siteTop,
.news h3,
#works .illust a[href],
#works .illust img {
  behavior: url("http://8bit-rocket.co.jp/css/PIE.htc");
  position: relative;
}

.PIEZ {
  behavior: url("http://8bit-rocket.co.jp/css/PIE.htc");
  z-index: 0;
}

.pieCon {
  z-index: 0;
  position: relative;
}

/* -------common-------- */
html,
body {
  height: 100%;
  height: auto\9;
  /* IE8 */
  min-height: 100% \9;
  /* IE8 */
}

body {
  background: #0f0f0f;
  color: #fff;
  letter-spacing: 2px;
  font-family: ‘メイリオ’, ‘Meiryo’, ‘ＭＳ Ｐゴシック’, ‘ヒラギノ角ゴ ProN W3′, ‘Hiragino Kaku Gothic ProN’, ‘MS PGothic’, sans-serif;
  font-weight: normal;
  font-size: 90%;
  line-height: 1.2em;
}

a[name] {
  margin-top: -96px;
  padding-top: 96px;
}

#wrap {
  position: relative;
  min-width: 640px;
  min-height: 100%;
  margin: 0 auto;
  overflow: hidden;
}

#main {
  overflow: hidden;
  padding-top: 64px;
  padding-bottom: 48px;
}

#maximage {
  position: fixed !important;
  display: none;
}

#siteHeader {
  position: fixed;
  width: 100%;
  height: 64px;
  min-width: 640px;
  top: 0px;
  overflow: hidden;
  background-color: #fff;
  z-index: 999;
  color: #000;
  -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0 5px 10px;
  -moz-box-shadow: rgba(0, 0, 0, 0.1) 0 5px 10px;
  box-shadow: rgba(0, 0, 0, 0.1) 0 5px 10px;
}

#siteHeader .navGloval {
  margin: 0 auto;
  width: 640px;
  height: 64px;
  position: absolute;
  left: 50%;
  margin-left: -320px;
  display: block;
}

#siteHeader ul {
  position: relative;
}

#siteHeader li {
  float: left;
  width: 20%;
  max-width: 150px;
}

#siteHeader li a {
  display: block;
  width: 110px;
  height: 64px;
}

.headbtn1 a {
  margin-left: 140px;
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 64px;
  width: 110px;
  background-position: 0 -114px;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  .headbtn1 a {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 110px;
    height: 64px;
    background-position: 0 -114px;
  }
}

.headbtn1 a:hover,
.headbtn1 a :active {
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 64px;
  width: 110px;
  background-position: 0 -306px;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {

  .headbtn1 a:hover,
  .headbtn1 a :active {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 110px;
    height: 64px;
    background-position: 0 -178px;
  }
}

#company .headbtn1 a {
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 64px;
  width: 110px;
  background-position: 0 -50px;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  #company .headbtn1 a {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 110px;
    height: 64px;
    background-position: 0 -50px;
  }
}

.headbtn2 a {
  margin-left: 265px;
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 64px;
  width: 110px;
  background-position: 0 -242px;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  .headbtn2 a {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 110px;
    height: 64px;
    background-position: 0 -306px;
  }
}

.headbtn2 a:hover,
.headbtn2 a :active {
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 64px;
  width: 110px;
  background-position: 0 -498px;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {

  .headbtn2 a:hover,
  .headbtn2 a :active {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 110px;
    height: 64px;
    background-position: 0 -370px;
  }
}

#works .headbtn2 a {
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 64px;
  width: 110px;
  background-position: 0 -178px;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  #works .headbtn2 a {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 110px;
    height: 64px;
    background-position: 0 -242px;
  }
}

.headbtn3 a {
  margin-left: 390px;
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 64px;
  width: 110px;
  background-position: 0 -626px;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  .headbtn3 a {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 110px;
    height: 64px;
    background-position: 0 -690px;
  }
}

.headbtn3 a:hover,
.headbtn3 a :active {
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 64px;
  width: 110px;
  background-position: 0 -754px;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {

  .headbtn3 a:hover,
  .headbtn3 a :active {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 110px;
    height: 64px;
    background-position: 0 -754px;
  }
}

#recruit .headbtn3 a {
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 64px;
  width: 110px;
  background-position: 0 -562px;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  #recruit .headbtn3 a {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 110px;
    height: 64px;
    background-position: 0 -626px;
  }
}

.headbtn4 a {
  margin-left: 515px;
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 64px;
  width: 110px;
  background-position: 0 -434px;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  .headbtn4 a {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 110px;
    height: 64px;
    background-position: 0 -498px;
  }
}

.headbtn4 a:hover,
.headbtn4 a :active {
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 64px;
  width: 110px;
  background-position: 0 -690px;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {

  .headbtn4 a:hover,
  .headbtn4 a :active {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 110px;
    height: 64px;
    background-position: 0 -562px;
  }
}

#contact .headbtn4 a {
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 64px;
  width: 110px;
  background-position: 0 -370px;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  #contact .headbtn4 a {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 110px;
    height: 64px;
    background-position: 0 -434px;
  }
}

.logoWrap {
  display: block;
  width: 20%;
  max-width: 150px;
  float: left;
}

.siteName {
  display: block;
  height: 50px;
  margin: 6px 0 0 10px;
  background-image: url('../images/btn-s6b1cca1b61.png');
  background-repeat: no-repeat;
  height: 50px;
  width: 100px;
  background-position: 0 0;
  display: block;
  -webkit-background-size: 110px auto;
  -moz-background-size: 110px auto;
  -o-background-size: 110px auto;
  background-size: 110px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  .siteName {
    background-image: url('../images/btn_r-s1b40eb7ae8.png');
    width: 100px;
    height: 50px;
    background-position: 0 0;
  }
}

.siteName,
.navGloval a {
  overflow: hidden;
  text-indent: -119988px;
  position: fixed;  
}

#siteFooter {
  position: absolute;
  bottom: 0;
  height: 48px;
  background-color: black;
  width: 100%;
}

#siteFooter .copyright {
  font-size: 80%;
  text-align: center;
  padding-top: 20px;
  color: #ccc;
}

.common-footer {
  text-align: center;
  padding: 30px 0;
  background-color: #111;
  color: #fff;
  font-size: 13px;
}

.common-footer {
  display: flex;
  flex-direction: column;
  /* ← これ追加 */
  align-items: center;
  /* 横中央揃え */
  gap: 8px;
  /* 間隔 */
  position: relative;
  z-index: 10;
}

.common-footer a {
  color: #ccc;
  text-decoration: none;
  pointer-events: auto;
  position: relative;
  z-index: 10;
  transition: 0.3s;
  /* 変化をふわっとさせる（お好みで） */
}

.common-footer a:hover {
  text-decoration: underline;
  /* 下線を表示 */
  color: #007bff;
  /* ついでに色も変えるとより分かりやすいです */
}

#scrollTop {
  display: none;
  background: #a90c0b;
  -webkit-border-radius: 16px 16px 0 0;
  -moz-border-radius: 16px 16px 0 0;
  -ms-border-radius: 16px 16px 0 0;
  -o-border-radius: 16px 16px 0 0;
  border-radius: 16px 16px 0 0;
  font-size: 60%;
  color: white;
  padding: 10px;
  position: fixed;
  bottom: 0;
  right: 14px;
  text-decoration: none;
}

#scrollTop:hover {
  color: #a90c0b;
  background: #000;
}

.bgfilter {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #000;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  z-index: 0;
  pointer-events: none;
}

.navSub {
  height: 100%;
  width: 22%;
  min-width: 150px;
  position: fixed;
  top: 64px;
  padding-top: 30px;
  background: rgba(0, 0, 0, 0.5);
  -pie-background: rgba(0, 0, 0, 0.5);
  background-color: rgba(0, 0, 0, 0.3);
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIvPjxzdG9wIG9mZnNldD0iMTElIiBzdG9wLWNvbG9yPSIjMDAwMDAwIi8+PHN0b3Agb2Zmc2V0PSIxMiUiIHN0b3AtY29sb3I9InJnYmEoMCwgMCwgMCwgMCkiLz48c3RvcCBvZmZzZXQ9IjM4JSIgc3RvcC1jb2xvcj0icmdiYSgwLCAwLCAwLCAwKSIvPjxzdG9wIG9mZnNldD0iMzklIiBzdG9wLWNvbG9yPSIjMDAwMDAwIi8+PHN0b3Agb2Zmc2V0PSI2MSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiLz48c3RvcCBvZmZzZXQ9IjYyJSIgc3RvcC1jb2xvcj0icmdiYSgwLCAwLCAwLCAwKSIvPjxzdG9wIG9mZnNldD0iODglIiBzdG9wLWNvbG9yPSJyZ2JhKDAsIDAsIDAsIDApIi8+PHN0b3Agb2Zmc2V0PSI4OSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
  background-size: 100%;
  background-image: -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, #000000), color-stop(11%, #000000), color-stop(12%, rgba(0, 0, 0, 0)), color-stop(38%, rgba(0, 0, 0, 0)), color-stop(39%, #000000), color-stop(61%, #000000), color-stop(62%, rgba(0, 0, 0, 0)), color-stop(88%, rgba(0, 0, 0, 0)), color-stop(89%, #000000), color-stop(100%, #000000));
  background-image: -webkit-linear-gradient(left top, #000000 0%, #000000 11%, rgba(0, 0, 0, 0) 12%, rgba(0, 0, 0, 0) 38%, #000000 39%, #000000 61%, rgba(0, 0, 0, 0) 62%, rgba(0, 0, 0, 0) 88%, #000000 89%, #000000 100%);
  background-image: -moz-linear-gradient(left top, #000000 0%, #000000 11%, rgba(0, 0, 0, 0) 12%, rgba(0, 0, 0, 0) 38%, #000000 39%, #000000 61%, rgba(0, 0, 0, 0) 62%, rgba(0, 0, 0, 0) 88%, #000000 89%, #000000 100%);
  background-image: -o-linear-gradient(left top, #000000 0%, #000000 11%, rgba(0, 0, 0, 0) 12%, rgba(0, 0, 0, 0) 38%, #000000 39%, #000000 61%, rgba(0, 0, 0, 0) 62%, rgba(0, 0, 0, 0) 88%, #000000 89%, #000000 100%);
  background-image: linear-gradient(left top, #000000 0%, #000000 11%, rgba(0, 0, 0, 0) 12%, rgba(0, 0, 0, 0) 38%, #000000 39%, #000000 61%, rgba(0, 0, 0, 0) 62%, rgba(0, 0, 0, 0) 88%, #000000 89%, #000000 100%);
  background-repeat: repeat;
  background-position: left top;
  -webkit-background-size: 4px 4px;
  -moz-background-size: 4px 4px;
  -o-background-size: 4px 4px;
  background-size: 4px 4px;
  text-align: right;
}

.navSub li {
  height: 40px;
  margin: 0 0 0 0;
}

.navSub li a {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
  display: block;
  color: #000;
  text-decoration: none;
  padding: 16px 16px 16px 0;
  letter-spacing: 4px;
  font-size: 14px;
}

.navSub li a:hover,
.navSub li a :active {
  background-color: #a90c0b;
  color: black;
}

.content {
  line-height: 1.5em;
  position: relative;
  max-width: 800px;
  min-width: 460px;
  margin-left: 20%;
  padding: 32px 5% 0px 5%;
}

.content h3 {
  font-size: 110%;
  letter-spacing: 4px;
  border-bottom: 2px solid white;
  padding: 10px;
  margin-bottom: 20px;
}

.content h3.no-border {
  color: white;
  font-size: 110%;
  letter-spacing: 4px;
  border-bottom: none; 
}

.section {
  overflow: hidden;
  margin-bottom: 100px;
}

.page a[href] {
  color: white;
}

.page a[href]:hover,
.page a[href] :active {
  background-color: #a90c0b;
  color: white;
  text-decoration: none;
}

/* -------top-------- */
#top .bgfilter {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 464px;
  background-color: #000;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
  opacity: 0.6;
  z-index: 0;
  pointer-events: none;
}

#siteTop {
  position: relative;
  height: 320px;
  text-align: center;
  background: rgba(255, 255, 255, 0.5);
  -pie-background: rgba(255, 255, 255, 0.5);
  padding-top: 80px;
  margin-bottom: 64px;
}

#siteTop img {
  margin-bottom: 20px;
}

#siteTop p {
  font-size: 110%;
  text-shadow: rgba(0, 0, 0, 0.3) 0 0 3px;
  color: black;
}

.news {
  position: relative;
  text-align: center;
  padding: 10px 0;
  height: auto;
}

.news h3 {
  margin: 0 0 0 -45px;
  width: 90px;
  height: 90px;
  display: block;
  background-color: #a90c0b;
  position: absolute;
  top: -110px;
  left: 50%;
  -webkit-border-radius: 45px;
  -moz-border-radius: 45px;
  -ms-border-radius: 45px;
  -o-border-radius: 45px;
  border-radius: 45px;
}

.news h3 a {
  display: block;
  color: black !important;
  width: 90px;
  height: 50px;
  text-decoration: none;
  font-size: 18px;
  letter-spacing: 3px;
  position: relative;
  padding-top: 42px;
}

.news h3 a:hover,
.news h3 a :active {
  color: white !important;
  background-color: transparent !important;
}

.news dl {
  top: -45px;
  width: 420px;
  margin: 0 auto;
}

.news .more {
  text-align: right;
}

/* -------company-------- */
/* -------recruit-------- */
/* -------works-------- */
#company p,
#recruit p,
#works p,
.news p {
  padding: 5px 1% 15px;
}

#company dl,
#recruit dl,
#works dl,
.news dl {
  overflow: hidden;
}

#company dt,
#recruit dt,
#works dt,
.news dt {
  width: 8em;
  float: left;
  text-align: center;
  border: 1px solid white;
  padding: 2px 0;
  line-height: 1em;
  margin: 0;
  clear: left;
  font-size: 90%;
}

#company dd,
#recruit dd,
#works dd,
.news dd {
  text-align: left;
  margin: 0 0 24px 8em;
  font-size: 100%;
  margin-left: 8em;
}

.map {
  margin: 20px;
  border: 0;
}

/* -------works-------- */
#works h4 {
  width: 7em;
  text-align: center;
  border: 1px solid white;
  padding: 2px 0;
  line-height: 1em;
  margin: 0;
  font-size: 90%;
  margin-bottom: 10px;
}

#works .workslist li {
  list-style: square outside;
  margin-bottom: 8px;
  margin-left: 20px;
}

#works .workslist ul {
  margin-bottom: 30px;
}

#works .illust {
  overflow: hidden;
}

#works .illust li {
  float: left;
  margin: 8px;
}

#works .illust a[href] {
  display: block;
  width: 84px;
  height: 84px;
}

#works .illust a[href],
#works .illust img {
  -webkit-border-radius: 42px;
  -moz-border-radius: 42px;
  -ms-border-radius: 42px;
  -o-border-radius: 42px;
  border-radius: 42px;
}

/* -------contact-------- */
#contact p {
  padding: 10px 6px;
}

#contact dt {
  padding: 22px 22px 0px;
  font-size: 90%;
}

#contact dd {
  text-align: left;
  padding: 0px 20px 0px;
  font-size: 90%;
}

#contact textarea,
#contact input,
#contact select {
  font-size: 100%;
}

#contact input {
  font-size: 100%;
}

#contact .must {
  color: red;
}

#contact .buttonline {
  padding: 20px 20px 0px;
}

#contact input[type=submit],
#contact input[type=reset] {
  font-size: 100%;
  width: 150px;
  height: 40px;
  background-color: #990000;
  color: #fff;
  border-style: none;
}

/* Add 25.7.9 */
.custom-line-height {
  line-height: 2.0;
  /* このクラスを持つ要素の行間をさらに広げる */
}

.super-strong strong {
  font-weight: bold !important;
  /* ここで強制的に太字にする */
}