@charset "UTF-8";
/* ///////////////////////////////////////////////

会社紹介 のスタイル

/////////////////////////////////////////////// */
/* ページタイトル */
.pagetitle {
  background-image: url(../img/about/bg-pagetitle.jpg);
}

/* 代表挨拶 */
#greeting {
  padding-left: calc(50% - 450px);
  padding-right: calc(50% - 450px);
  padding-top: 150px;
  padding-bottom: 150px;
  display: flex;
}

@media screen and (max-width: 960px) {
  #greeting {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media (max-width: 960px) {
  #greeting {
    padding-top: 100px;
    padding-bottom: 100px;
    flex-direction: column-reverse;
  }
}

#greeting .text {
  width: 50%;
}

#greeting .text .lead {
  margin-bottom: 1.4em;
  font-size: 24rem;
  font-weight: bold;
}

#greeting .text .name {
  margin-top: 2em;
  text-align: right;
}

#greeting .text .name em {
  font-size: 24rem;
}

@media (max-width: 960px) {
  #greeting .text {
    width: 100%;
    margin-top: 50px;
  }
}

#greeting .image {
  width: 50%;
  padding-left: 90px;
}

#greeting .image img {
  max-width: inherit;
}

@media (max-width: 960px) {
  #greeting .image {
    width: 100%;
  }
  #greeting .image img {
    max-width: 100%;
  }
}

/* 会社概要 */
#about {
  padding-left: calc(50% - 450px);
  padding-right: calc(50% - 450px);
  padding-top: 150px;
  padding-bottom: 150px;
  background: #F2F2F2;
}

@media screen and (max-width: 960px) {
  #about {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media (max-width: 960px) {
  #about {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

#about .table {
  width: 100%;
}

#about .table th, #about .table td {
  padding: 1.1em 0 2.5em;
  border-top: 1px solid #C6C6C6;
  vertical-align: top;
}

#about .table th {
  width: 20%;
  font-weight: bold;
}

#about .table td table {
  width: auto;
}

#about .table td table td {
  padding: 0 2.5em .7em 0;
  border-top: none;
}

@media (max-width: 960px) {
  #about .table th, #about .table td {
    display: block;
    padding: 0;
  }
  #about .table th {
    width: 100%;
    padding: 1em 0 .4em;
  }
  #about .table td {
    border: none;
    padding-bottom: 1em;
  }
}

#about dd + dt {
  margin-top: 1em;
}

#about a.pdf {
  text-decoration: underline;
}

#about a.pdf:hover {
  text-decoration: none;
}

#about a.pdf::after {
  margin-left: 5px;
  content: url(../img/common/ico-blank.svg);
}

/* アクセス */
#access {
  padding-left: calc(50% - 450px);
  padding-bottom: 150px;
  background: #F2F2F2;
}

@media screen and (max-width: 960px) {
  #access {
    padding-left: 30px;
  }
}

@media (max-width: 960px) {
  #access {
    padding-bottom: 100px;
    padding-right: 20px;
  }
}

#access .gmap iframe {
  width: 100%;
  height: 400px;
}

@media (max-width: 960px) {
  #access .gmap {
    margin: 0 -20px;
  }
  #access .gmap iframe {
    height: 200px;
  }
}

#access .access {
  display: flex;
  flex-wrap: wrap;
}

#access .access dt, #access .access dd {
  margin-top: 1.5em;
}

#access .access dt {
  width: 180px;
  font-weight: bold;
}

#access .access dd {
  width: calc(100% - 180px);
}

@media (max-width: 960px) {
  #access .access {
    flex-direction: column;
  }
  #access .access dt, #access .access dd {
    width: 100%;
  }
  #access .access dd {
    margin-top: .4em;
  }
}

/* 沿革 */
#history {
  padding-left: calc(50% - 450px);
  padding-right: calc(50% - 450px);
  padding-top: 400px;
  padding-bottom: 250px;
  background: linear-gradient(#F2F2F2, #2E8E39 20%, #2E8E39 85%, #fff);
}

@media screen and (max-width: 960px) {
  #history {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media (max-width: 960px) {
  #history {
    padding-top: 200px;
    padding-bottom: 150px;
  }
}

#history .h2 {
  color: #fff;
}

#history .history {
  display: flex;
  flex-wrap: wrap;
  color: #fff;
  position: relative;
}

#history .history::before {
  position: absolute;
  top: 12px;
  left: 139.5px;
  bottom: -250px;
  width: 1px;
  content: "";
  background: #fff;
}

#history .history dt {
  width: 140px;
  font-size: 36rem;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  line-height: 1;
}

#history .history dd {
  width: calc(100% - 140px);
  padding-top: 5px;
  padding-left: 45px;
  padding-bottom: 100px;
  position: relative;
}

#history .history dd a {
  color: #fff;
  text-decoration: underline;
}

#history .history dd a:hover {
  text-decoration: none;
}

#history .history dd em {
  display: inline-block;
  -webkit-transform: translateY(-0.3em);
          transform: translateY(-0.3em);
  font-size: 20rem;
  font-weight: bold;
}

#history .history dd img {
  position: absolute;
  margin-left: 80px;
  -webkit-transform: translateY(-45%);
          transform: translateY(-45%);
}

#history .history dd img.year2004 {
  -webkit-transform: translateY(calc(-45% + 25px));
          transform: translateY(calc(-45% + 25px));
}

#history .history dd img.year2017 {
  -webkit-transform: translateY(calc(-45% - 20px));
          transform: translateY(calc(-45% - 20px));
}

#history .history dd img.year2018 {
  margin-left: 150px;
}

#history .history dd img.year2019 {
  margin-left: 200px;
  -webkit-transform: translateY(calc(-45% + 20px));
          transform: translateY(calc(-45% + 20px));
}

#history .history dd img.year2022 {
  margin-left: 200px;
}

#history .history dd::before {
  position: absolute;
  top: 5px;
  left: 0;
  -webkit-transform: translateX(-50%) scale(0.8);
          transform: translateX(-50%) scale(0.8);
  content: "●";
}

@media (max-width: 960px) {
  #history .history::before {
    left: 89.5px;
    bottom: -250px;
  }
  #history .history dt {
    width: 90px;
    font-size: 24px;
  }
  #history .history dd {
    width: calc(100% - 90px);
    padding-top: 2px;
    padding-left: 20px;
    padding-bottom: 80px;
  }
  #history .history dd img {
    position: static;
    -webkit-transform: none !important;
            transform: none !important;
    margin: 15px 0 0 !important;
  }
  #history .history dd::before {
    top: 2px;
  }
}

#history .youtube {
  margin-top: 20px;
  max-width: 700px;
  position: relative;
  padding-top: 56.25%;
}

#history .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

/* テーマソング紹介 */
#theme_song {
  padding-left: calc(50% - 450px);
  padding-right: calc(50% - 450px);
  padding-top: 150px;
  padding-bottom: 200px;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 960px) {
  #theme_song {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media (max-width: 960px) {
  #theme_song {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

#theme_song .h2 {
  width: 100%;
}

#theme_song .song {
  width: 50%;
  padding-right: 70px;
}

#theme_song .song .music {
  position: relative;
}

#theme_song .song .music button {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #000;
  border-radius: 50%;
  width: 66px;
  height: 66px;
  background-image: url(../img/about/mrk-play.svg);
  background-repeat: no-repeat;
  background-position: center;
}

#theme_song .song .music button.active {
  background-image: url(../img/about/mrk-stop.svg);
}

#theme_song .song .youtube {
  display: inline-block;
  margin-top: 25px;
}

@media (max-width: 960px) {
  #theme_song .song {
    width: 100%;
  }
  #theme_song .song figure {
    width: 250px;
    max-width: 100%;
  }
  #theme_song .song .youtube {
    margin-top: 15px;
  }
}

#theme_song .text {
  width: 50%;
}

#theme_song .text h3 {
  padding-bottom: .7em;
  margin-bottom: .7em;
  border-bottom: 1px solid #000;
  font-size: 24rem;
  font-weight: bold;
}

@media (max-width: 960px) {
  #theme_song .text {
    width: 100%;
    margin-top: 50px;
  }
}
