@charset "UTF-8";
main {
  margin: 0 auto;
  padding-bottom: 14.6666666667vw;
}

section .inner {
  margin: 0 auto;
}

.bg-grid {
  background: url(../img/top/bg-grid.png) center top repeat;
}

h2 {
  font-size: 7.4666666667vw;
  line-height: 1;
  font-weight: normal;
  letter-spacing: 1.0453333333vw;
  text-align: left;
  color: #333;
}
h2::first-letter {
  color: #ec6835;
}

/*-----------------------------------------------------------------
FV
-----------------------------------------------------------------*/
#main-image.front {
  display: block;
  width: 100%;
  height: 106.2666666667vw;
  position: relative;
}
#main-image.front .logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 10;
}
#main-image.front .logo img {
  width: 92.6666666667vw;
  height: auto;
  max-width: none;
}
#main-image.front .bg {
  width: 100%;
  height: 100%;
  background-color: #666;
  position: relative;
}
#main-image.front .bg video {
  display: block;
  width: 100%;
  /* 背景画像の高さ */
  height: 100%;
  /* 高さを維持したまま全体を表示させる */
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#main-image.front .arrow {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 10.5333333333vw;
  z-index: 10;
}
#main-image.front .recruit {
  display: none;
}

/*-----------------------------------------------------------------
greeting
-----------------------------------------------------------------*/
#greeting {
  background: url(../img/top/greeting-bg.png) center center no-repeat;
  background-size: cover;
  padding: 12.8vw 0 13.3333333333vw;
}
#greeting .inner {
  width: 89.3333333333vw;
}
#greeting h2 {
  text-align: center;
  height: 6vw;
}
#greeting .copy {
  text-align: center;
  margin-top: 6.6666666667vw;
  font-size: 5.6666666667vw;
  line-height: 1.0352941176;
  font-weight: 500;
  letter-spacing: 0.9066666667vw;
  color: #333;
}
#greeting .text {
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  margin-top: 6.5333333333vw;
}
#greeting .text p + p {
  margin-top: 1em;
}
#greeting .name {
  text-align: right;
  margin-top: 12.6666666667vw;
  height: 5.6vw;
}

/*-----------------------------------------------------------------
バナー
-----------------------------------------------------------------*/
#banners .boxes {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#banners .boxes .box img {
  display: block;
}

/*-----------------------------------------------------------------
building
-----------------------------------------------------------------*/
#building {
  background: url(../img/top/building-bg-sp.jpg) center center no-repeat;
  background-size: cover;
  padding: 13.3333333333vw 0;
}
#building .inner {
  position: relative;
  width: 92vw;
}
#building .img {
  display: flex;
  justify-content: center;
}
#building .img img {
  width: 55.7333333333vw;
}
#building h2 {
  font-size: 5.6vw;
  line-height: 1.3095238095;
  margin-top: 10vw;
  text-align: center;
  color: #fff;
}
#building h2::first-letter {
  color: #fff;
}
#building .text {
  padding: 0 2.6666666667vw;
  color: #fff;
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  margin-top: 6.6666666667vw;
}
#building .text p + p {
  margin-top: 1em;
}
#building .link {
  margin-top: 6.6666666667vw;
}
#building .link a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 10.6666666667vw;
  text-decoration: none;
  border: 0.1333333333vw solid #fff;
  color: #fff;
  font-size: 3.3333333333vw;
  letter-spacing: 0.24em;
}

/*-----------------------------------------------------------------
company
-----------------------------------------------------------------*/
#company {
  background: url(../img/top/bg-triangle-right.png) right bottom no-repeat;
  background-size: 100% auto;
  padding: 13.3333333333vw 0;
}
#company .inner {
  position: relative;
  width: 92vw;
}
#company .contents h2 {
  height: 5.3333333333vw;
  margin-top: 10.6666666667vw;
  text-align: center;
}
#company .contents .copy {
  font-size: 5.6vw;
  line-height: 1.1904761905;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  letter-spacing: 0.9066666667vw;
  font-weight: 500;
  margin-top: 6.6666666667vw;
  text-align: center;
}
#company .contents .text {
  padding: 0 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  margin-top: 6.6666666667vw;
}
#company .contents .text p + p {
  margin-top: 1em;
}
#company .contents .link a {
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 0.2666666667vw #010405;
  background-color: #fff;
  text-decoration: none;
  width: 100%;
  height: 10.6666666667vw;
  margin-top: 9.3333333333vw;
  font-size: 3.3333333333vw;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
  letter-spacing: 0.816vw;
}

/*-----------------------------------------------------------------
recruit
-----------------------------------------------------------------*/
#recruit {
  background: url(../img/top/bg-triangle-left.png) left bottom no-repeat;
  background-size: 100% auto;
  padding: 13.3333333333vw 0;
}
#recruit .inner {
  position: relative;
  width: 92vw;
}
#recruit h2 {
  height: 5.3333333333vw;
  margin-top: 10.6666666667vw;
  text-align: center;
}
#recruit .copy {
  font-size: 5.6vw;
  line-height: 1.1904761905;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  letter-spacing: 0.9066666667vw;
  font-weight: 500;
  margin-top: 6.6666666667vw;
  text-align: center;
}
#recruit .text {
  padding: 0 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  margin-top: 6.6666666667vw;
}
#recruit .text p + p {
  margin-top: 1em;
}
#recruit .link a {
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 0.2666666667vw #010405;
  background-color: #fff;
  text-decoration: none;
  width: 100%;
  height: 10.6666666667vw;
  margin-top: 9.3333333333vw;
  font-size: 3.3333333333vw;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
  letter-spacing: 0.816vw;
}

/*-----------------------------------------------------------------
staff
-----------------------------------------------------------------*/
#staff {
  background-color: #010405;
  padding: 13.3333333333vw 0;
  position: relative;
}
#staff .inner {
  position: relative;
}
#staff h2 {
  height: 6vw;
  text-align: center;
  color: #fff;
}
#staff .jp {
  height: 3.6vw;
  text-align: center;
  margin-top: 5.6vw;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.5973333333vw;
  text-align: center;
  color: #fefefe;
}
#staff .boxes {
  margin-top: 10.4vw;
}
#staff .boxes .box {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
#staff .boxes .box + .box {
  margin-top: 13.3333333333vw;
}
#staff .boxes .box:nth-of-type(1) .contents .inner .title {
  background-image: url(../img/top/staff01-no01.png);
}
#staff .boxes .box:nth-of-type(2) .contents .inner .title {
  background-image: url(../img/top/staff01-no02.png);
}
#staff .boxes .box:nth-of-type(3) .contents .inner .title {
  background-image: url(../img/top/staff01-no03.png);
}
#staff .boxes .box .img {
  z-index: 0;
  position: relative;
}
#staff .boxes .box .img .name {
  position: absolute;
  bottom: 4vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.9333333333vw;
  line-height: 1.6363636364;
  letter-spacing: 0.6453333333vw;
  font-weight: 500;
  text-align: center;
  color: #333;
  width: 50.6666666667vw;
  height: 12vw;
  background-color: rgba(255, 255, 255, 0.8);
}
#staff .boxes .box .contents {
  position: relative;
  width: 92vw;
  margin: 9.3333333333vw auto;
  z-index: 1;
}
#staff .boxes .box .contents .title {
  height: 17.4666666667vw;
  text-align: center;
  margin-left: 6.6666666667vw;
  display: flex;
  align-items: center;
  font-size: 4.8vw;
  line-height: 1.2222222222;
  font-weight: 500;
  letter-spacing: 1.056vw;
  text-align: left;
  color: #fff;
  padding-left: 8.2666666667vw;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: auto 17.4666666667vw;
  height: 17.4666666667vw;
}
#staff .boxes .box .contents .text {
  margin-top: 6.6666666667vw;
  color: #fff;
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
}
#staff .boxes .box .contents .text p + p {
  margin-top: 1em;
}
#staff .boxes .box .contents .link {
  margin-top: 6.6666666667vw;
}
#staff .boxes .box .contents .link a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 10.6666666667vw;
  text-decoration: none;
  border: 0.1333333333vw solid #fff;
  color: #fff;
  font-size: 3.3333333333vw;
  letter-spacing: 0.24em;
}
#staff .boxes .box:nth-of-type(odd) .img .name {
  right: 4vw;
}
#staff .boxes .box:nth-of-type(even) .img .name {
  left: 4vw;
}

/*-----------------------------------------------------------------
gallery
-----------------------------------------------------------------*/
#gallery {
  padding: 10.6666666667vw 0 0;
}
#gallery .inner {
  position: relative;
  width: 92vw;
}
#gallery h2 {
  height: 6vw;
  text-align: center;
}
#gallery .jp {
  height: 4.9333333333vw;
  text-align: center;
  font-size: 3.7333333333vw;
  line-height: 1.3392857143;
  text-align: center;
  color: #333;
  letter-spacing: normal;
  margin-top: 1em;
  font-weight: 500;
}
#gallery .boxes {
  display: flex;
  flex-wrap: wrap;
  margin: 10.5333333333vw auto 0;
}
#gallery .boxes .box {
  position: relative;
  width: 41.7333333333vw;
  margin-left: 7.8666666667vw;
}
#gallery .boxes .box:nth-of-type(2n + 1) {
  margin-left: 0;
}
#gallery .boxes .box:nth-of-type(n + 3) {
  margin-top: 3.8666666667vw;
}
#gallery .boxes .box .info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2.9333333333vw;
}
#gallery .boxes .box .info .date {
  font-size: 2.1333333333vw;
  line-height: 1;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
  color: #aaa;
}
#gallery .boxes .box .info .categories a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4.4vw;
  background-color: #ffede6;
  text-align: center;
  color: #ec6835;
  font-size: 2.4vw;
  line-height: 1;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  text-decoration: none;
  padding: 0 2vw;
}
#gallery .boxes .box .title {
  margin-top: 2.6666666667vw;
}
#gallery .boxes .box .title a {
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
  text-decoration: none;
}
#gallery .link {
  margin-top: 6.6666666667vw;
}
#gallery .link a {
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 0.2666666667vw #010405;
  background-color: #fff;
  text-decoration: none;
  width: 100%;
  height: 10.6666666667vw;
  margin-top: 9.3333333333vw;
  font-size: 3.3333333333vw;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
  letter-spacing: 0.816vw;
}

#news {
  margin-top: 13.3333333333vw;
}
#news .inner {
  position: relative;
  width: 92vw;
}
#news .header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#news .header h2 {
  width: 100%;
  text-align: center;
}
#news .header h2 img {
  height: 6vw;
}
#news .header h2 small {
  display: block;
  font-size: 3.7333333333vw;
  line-height: 1.3392857143;
  text-align: center;
  color: #333;
  letter-spacing: normal;
  margin-top: 1em;
  font-weight: 500;
}
#news .header .link {
  display: none;
}
#news .header .link a {
  font-size: 2.6666666667vw;
  line-height: 1;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  background: url(../img/common/arrow-right.png) right center no-repeat;
  background-size: 1.4666666667vw auto;
  padding-right: 3.3333333333vw;
}
#news .boxes {
  margin-top: 6.5333333333vw;
}
#news .boxes .box {
  padding: 3.7333333333vw 0 4.6666666667vw;
  border-top: 0.2666666667vw solid #333;
}
#news .boxes .box:last-of-type {
  border-bottom: 0.2666666667vw solid #333;
}
#news .boxes .box .info {
  display: flex;
  align-items: center;
}
#news .boxes .box .info.is_new .terms a:last-of-type {
  margin-right: 2.9333333333vw;
}
#news .boxes .box .info.is_new .terms:after {
  content: "NEW";
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4.8vw;
  background-color: #cd0000;
  text-align: center;
  color: #fff;
  font-size: 2.8vw;
  line-height: 1;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  text-decoration: none;
  padding: 0 4.6666666667vw;
}
#news .boxes .box .info .date {
  font-size: 3.7333333333vw;
  line-height: 1;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
  color: #333;
}
#news .boxes .box .info .terms {
  margin-left: 1.8666666667vw;
  display: flex;
}
#news .boxes .box .info .terms a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4.8vw;
  background-color: #ec6835;
  text-align: center;
  color: #fff;
  font-size: 2.8vw;
  line-height: 1;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  text-decoration: none;
  padding: 0 2vw;
}
#news .boxes .box .info .terms a + a {
  margin-left: 2.9333333333vw;
}
#news .boxes .box .title {
  margin-top: 2.5333333333vw;
}
#news .boxes .box .title a {
  font-size: 3.7333333333vw;
  line-height: 1.25;
  /* 游明朝体 */
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
  text-decoration: none;
  color: #333;
  text-decoration: none;
}