@charset "utf-8";

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block; }
.sp { display: none; }

.sp tr { display: none; }
/* ==========================================================================
    基本スタイルの上書き
   ========================================================================== */

/*
 * 見た目がマシなhr
 */
hr {
  height: 2px;
}
html {
  max-width: 1024px;
  margin: 0 auto;
}

/* ==========================================================================
    TODO: ここに独自のスタイルを記述
   ========================================================================== */


/*グレー背景*/
.anotoher-section {
  background-color: #EFEFEF;
  margin: 0;
  padding: 1%;
}
.gray {
  background-color: #EFEFEF;
}

header {
  margin-bottom: 2rem;
}

.header-left, .header-right {
  width: 50%;
}
.header-left {
  padding-top: 3%;
  padding-left: 10%;
}

.header-logo {
  width: 65%;
}

.header-image {
  padding-bottom: 4rem;
  padding-top: 2.5rem;
  width: 225%;
}

.nav-item {
  display: flex;
  justify-content: center;
}
.nav-item a {
  border-left: 1px solid;
  font-size: 0.7rem;
  padding: 0.4rem;
}
.nav-item-last {
  border-right:1px solid;
}

/*黒背景*/
.bg-black {
  background-color: black;
}

.header-backimage {
  background-image: url("../img/background-img-top.png");
  background-repeat: no-repeat;
  padding-bottom: 3%;
  width: 50%;
}

/*全体の枠*/
.container {
  display: flex;
  flex-direction: column;
  margin: 5%;
}

.pc-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
/*2つ並べる*/
.pc-container-in {
  width: 45%;
}

.pc-container::after {
  content: "";
  display: block;
  margin: auto;
  width: 430px;
}

.header-adjust{
  margin-bottom: 1%;
}

ul li {
  font-size: 0.7rem;
}
/* ulの・を消す */
.ul-style {
  list-style-type: none;
}
.ul-style li {
  font-size: 0.9rem;
}

.business-ul {
  font-size: 0.9rem;
  margin-top: -2%;
  padding-left: 2%;
}
.business-ul li {
  font-size: 0.9rem;
}

.recruit-ul {
  padding-left: 4%;
  margin-top: 0;
  margin-bottom: 2%;
}
.recruit-ul li {
  font-size: 1rem;
}

/*///// 縦幅とりあえず調整(テキスト文章が決まってから再度変更) /////*/

.left-adjust {
  padding-left: 1rem;
}
.right-adjust {
  padding-right: 1rem;
}

.marginsize {
  margin: 5% 10%;
}
.color-bg-margin {
  margin: 2% 10%;
}

.adjust-size {
  margin: 1rem 0 2rem;
}

.history-p {
  margin: 6% 0;
}

.history-width {
  margin: 4% 10%;
  text-align: left;
}

.work-p {
  margin: 5% 0;
}

.strong {
  margin-bottom: 4%;
}

.our-right {
  margin-right: 3%;
}
.our-left {
  margin-left: 3%;
}

.left-space {
  margin-left: 2%;
}
.right-space {
  margin-right: 2%;
}

/*///// ここまで /////*/
.work-img {
  width: 40%;
}
/* フォントサイズ指定 */
h1 {
  font-size: 2.5rem;
  margin:0.3rem;
}
.h1-adjust {
  margin-left: -2rem;
  margin-bottom: -0.3rem;
}

h2 {
  font-size: 1rem;
}
.h2-adjust {
  margin-left: 52%;
}

h3 {
  font-size: 1.6rem;
  margin: 1% 20% 2%;
  text-align: center;
}
h4 {
  margin: 0;
  font-size: 1.3rem;
  color: red;
}

.tbl-font {
  font-size: 0.9rem;
}
.tbl-font th {
  border-left: 0;
  border-right: 0;
  padding: 2% 0;
  text-align: left;
  vertical-align: top;
  width: 30%;
}
.tbl-font td {
  border-left: 0;
  border-right: 0;
  padding: 2% 0;
  text-align: left;
  vertical-align: top;
}

.h-style {
  margin: 5% 0 0;
  text-align: center;
}

p {
  font-size: 0.9rem;
  margin-bottom: 1rem;
  margin-top: 0;
}

.p-style {
  color: red;
  font-size: 1.1rem;
  font-weight:bold;
}

.sentence-spacing p {
  line-height: 1.5rem;
}

.title-size {
  font-size: 1.4rem;
  margin: 0;
}

.subtitle-size {
  font-size: 1.3rem;
}
.subtitle-hr {
  padding: 0 10%;
}

.p-title {
  font-size: 3%;
  font-weight: bold;
}

.p-bottom {
  margin-bottom: 1.2rem;
}

.mg-adjust {
  margin-bottom: 3rem;
}

.access-mg {
  margin: 2% 0 0;
}

.access {
  width: 60%;
}
.access-right {
  width: 40%;
  margin-left: 2%;
}
.access-right ul {
  padding: 0 0 0 1.5rem;
}

.greeting p{
  font-size: 0.9rem;
  margin: 2% 12%;
}
.greeting p:last-child {
  font-size: 1.1rem;
  text-align: right;
}

.lnk-img {
  align-items: flex-end;
  display: flex;
  justify-content: center;
}

.ol-style{
  font-size: 0.8rem;
  margin-left: -1.3rem;
}

table {
  background-color: #fff;  /* 背景色指定 */
  border-collapse: collapse;
}
th,td {
  border: 1px solid black;
  white-space: nowrap;  /* 文字を折り返さない */
}

.footer-left {
  padding-left: 5%;
  width: 35%;
}
.footer-right {
  width: 35%;
}
footer address {
  color: white;
  font-size: 0.7rem;
}
footer address dt {
  width: 6em;
}
footer address dd {
  margin-left: 0;
}

.footer-color a {
  color: white;
}

.nav-table {
  background-color: #fff;  /* 背景色指定 */
  border-collapse: collapse;
  table-layout: fixed;
  text-align: center;
  width: 50%;
}
.nav-table th,td {
  border: 1px solid black;
  white-space: nowrap;  /* 文字を折り返さない */
}

.only {
  width: 100%;
}
.twins {
  width: 48%;
}
.tbl-left {
  border-left: 0px; /* 右線削除 */
}
.tbl-right {
  border-right: 0px; /* 左線削除 */
}
 /* 上下左右線削除 */
.tbl-line {
  border:none;
  padding: 4%;
  width: 55%;
}

.btn-table {
  margin-top: 25%;
  text-align: center;
  width: 100%;
}
.btn-table td {
  width: 32%;
}

.table-hight {
  line-height: 2rem;
}

/* 上揃え,左詰め */
.tbl-top {
  padding: 2% 0;
  text-align: left;
  vertical-align: top;
}
.top-adjust {
  padding: 1% 0;
}

.btn-flat-border {
  display: inline-block;
  padding: 1% 3%;
  text-decoration: none;
  color: #000000;
  border: solid 2px #fc5c5c;
  border-radius: 30px;
  transition: .4s;
  margin-bottom: 3%;
  width: 30%;
}

.btn-flat-border:hover {
  color: black;
}

body { font-family: sans-serif; }

.p-mg {
  margin: 5%;
}

.center-block {
  display: block;
  margin: 0 auto;
  text-align: center;
  width: 40%;
}
.center-block-top {
  margin-top: -40%;
  padding-bottom: 25%;
  width: 100%;
}

/* 横並び */
.block-inline{
  display: inline-block;
  vertical-align: top;
}

.block-over {
  vertical-align: bottom;
}

.adjust {
  margin-right: 2%;
}

.call {
  width: 50%;
}

.center {
  text-align: center;
}

.item {
  display: inline-block;
  vertical-align: top;
}

.footer-bottom {
  margin-left: 80%;
  vertical-align: bottom;
}

.footer-top {
  padding: 0 0 1rem 0;
}

.card {
  align-items: flex-start;
  display: flex;
  justify-content: center;
  width: 80%;
}

.card-thumbnail {
  width: 70%;
}
.small-thumbnail {
  width: 50%;
}

.card img {
  border:solid 1px rgb(0, 0, 0);
  display: block;
  width: 100%;
}

.card-caption {
  font-size: 1rem;
  line-height: 1.5;
  width: 80%;
}

/* 右から左に要素が配置されるようにする */
.card-reverse {
  flex-direction: row-reverse;
}
/* 打ち消し */

.tbl-layout {
	display: flex;
}

.p-white {
  color: white;
  font-size: 1rem;
}

.left-just{
  padding-right: 8%;
}

.container-top {
  margin-top: 4%;
}

.tbl-adjust {
  padding: 0 5%;
}

.a-top {
  color: black;
}

/* クリア */
.pdmg-clear {
  margin: 0;
  padding: 0;
}

/* 非表示の時のblockをflexにクリア */
.pc-flex {
  display: flex;
} 

.page-catchcopy {
  text-align: center;
}

.copyright-outer {
  position: relative;
}

.copyright {
  color: white;
  font-size: 0.8rem;
  margin: 0;
  padding-right: 3%;
  text-align: right;
}
.footer-mg {
  background-color: black;
  padding-bottom: 1rem;
}
.footer-mg img {
  margin-top: 1rem;
}

.slider{
  margin: 100px auto;
  width: 100%;
}
.slider .ele{
  height: 300px;
  width: 300px;
  border: solid 1px black;
  background-color: white;
  text-align: center;
}
.slick-prev:before,
.slick-next:before {
  color: black;
}
.slick-arrow {
  z-index:20; /* 矢印画像を最前面へ */
}
.slide-arrow{
  position: absolute;
  top: 40%;
}
.prev-arrow{
  left: 50px;
}
.next-arrow{
  right: 50px;
}
.tbl-width {
  width: 15%;
}
.none-border {
  border: none;
}

.one-line td {
  padding: 0.5rem;
}

.topix-width {
  width: 23%;
}

.index {
  font-size: 1.8rem;
}
.index li {
  padding: 1% 0;
}

.strength-space h2 {
  margin: 0 0 1rem 0;
}

.news {
  width: 100%;
  font-size: 0.9rem;
}
.news td {
  border: none;
  padding: 1% 0;
  text-align: left;
  vertical-align: top;
}

.recruit {
  width: 100%;
}
.recruit td {
  padding: 2% 7%;
  text-align: left;
  vertical-align: top;
}
.recruit th {
  padding: 2% 7%;
  text-align: left;
  vertical-align: top;
  width: 25%;
}

.heavy-tbl {
  width: 48%;
}
.heavy-tbl td {
  border-left: 0px; /* 右線削除 */
  border-right: 0px; /* 左線削除 */
  font-size: 0.9rem;
  padding: 2% 0;
  width: 50%;
}
.heavy-tbl a {
  color: red;
  font-size: 1rem;
}

.company-profile td {
  white-space: normal;
}

.com-info {
  width: 50%;
}

.photos{
  position: relative;
}
.photos-bottom {
  margin: 0 10% 35%;
}
.photos img{
  position: absolute;
  left: 0;
  right: 0;
  margin: 30px auto;
  animation: photo 30s infinite;
  opacity: 0;
  
}

@keyframes photo{
  0%{ opacity: 0;}
  10%{ opacity: 1;}
  20%{ opacity: 1;}
  40%{ opacity: 0;}
  100%{ opacity: 0;}
}

.photos img:nth-of-type(1) {
    animation-delay: 0s;
}
.photos img:nth-of-type(2) {
    animation-delay: 6s;
}
.photos img:nth-of-type(3) {
    animation-delay: 12s;
}
.photos img:nth-of-type(4) {
    animation-delay: 18s;
}
.photos img:nth-of-type(5) {
    animation-delay: 24s;
}
