@charset "utf-8";

/*===========================================================
共通
===========================================================*/

.br-none br {
    display: none;
}

.br-block br {
    display: block;
}

/*===========================================================
テキスト
===========================================================*/

.inFirstTitle {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1.8181;
}

.inFirstTitle strong {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1.2903;
}

.inFirstTextBox {
    margin: 20px 0 0;
}

.inFirstTextBox:nth-child(2) {
    margin: 40px 0 0;
}

.inFirstText {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 3.125;
}

.inFirstText strong {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 2.2727;
    text-decoration: underline;
    text-underline-offset: 14px;
    text-decoration-thickness: 1px;
}

/*===========================================================
inner
===========================================================*/

.inWr {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
    padding: 60px 0;
    position: relative;
}

/*===========================================================
私たちについて
===========================================================*/

.about02Block {
    margin: 40px auto 0;
    max-width: 1320px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-self: center;
}

.about02Block:first-child {
    margin: 0 auto 0 0;
}

/*===========================================================
下層バナー
===========================================================*/

.inBannerContainer {
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
}

.inBannerLink {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all .5s;
}

.inBannerLink::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(46, 41, 41, .6);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transition: all .5s;
    z-index: 1;
}

.inBannerImgBox {
    width: 100%;
    padding-top: 76.34%;
    position: relative;
    overflow: hidden;
}

.inBannerImgBox img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    object-fit: cover;
    transition: all .5s;
}

.inBannerLink:hover .inBannerImgBox img {
    transform: scale(1.1);
}

.inBannerIllustBox {
    max-width: 184px;
    width: 40%;
    position: absolute;
    bottom: 50px;
    margin: auto;
}

.inBannerTextBox {
    text-align: center;
    position: absolute;
    margin: auto;
    bottom: 33%;
    color: #FFF;
    font-weight: 700;
    transition: all .3s;
    z-index: 2;
}

.inBannerLink:hover .inBannerTextBox {
    text-shadow: 0 2px 4px rgba(46, 41, 41, .6);;
}

.inBannerText01 {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2.2142;
}

.inBannerText02 {
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 1.3777;
}

/*===========================================================
採用情報
===========================================================*/

.recruit01Area02 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px 6.88%;
    flex-wrap: wrap;
}

.recruit01Block::before {
    content: "";
    width: 100%;
    height: 79.46%;
    border: 1px solid #655E5E;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

.recuit02Area .table01 .td {
    background: #FFF;
}

.completeBtnReverse {
    transform: scale(-1, 1);
}

.completeBtnReverse p {
    transform: scale(-1, 1);
}

/*===========================================================
ループスライダー
===========================================================*/

.loopImgBx01 {
    width: 250px;
    padding-top: 200px;
    margin: 0 10px;
    position: relative;
}

.loopWrap {
  display: flex;
  align-items: center;
  overflow: hidden;
  height: auto;
}

.loopImgBx01>img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    object-fit: cover;
    height: 100%;
}

.loopImgArea {
  display: flex;
  animation: loop-slide 50s infinite linear 1s both;
}

.loopImgBx01>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*ここまで*/

.loopImgBx img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	max-width: 100%;
	width: auto;
	max-height: 100%;
	height: auto;
}

/*アニメーション*/
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
} 

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:414px) {


/*===========================================================
下層バナー
===========================================================*/

.inBannerContainer {
    grid-template-columns: repeat(2, 1fr);
}

} /* min-width: 414px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:544px) {

/*===========================================================
共通
===========================================================*/

.br-sm-none br {
    display: none;
}

.br-sm-block br {
    display: block;
}

} /* min-width: 544px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width: 768px) {

/*===========================================================
共通
===========================================================*/

.br-md-none br {
    display: none;
}

.br-md-block br {
    display: block;
}

/*===========================================================
テキスト
===========================================================*/

.inFirstTitle {
    font-size: 30px;
}

.inFirstTitle strong {
    font-size: 42px;
}

.inFirstText {
    font-size: 16px;
}

.inFirstText strong {
    font-size: 22px;
}

/*===========================================================
inner
===========================================================*/

.inWr {
    padding: 80px 0;
}

/*===========================================================
私たちについて
===========================================================*/

.about02Block {
    margin: 60px auto 0 0;
    flex-direction: row;
    justify-content: space-between;
}

.about02Block:nth-of-type(even) {
    margin: 60px 0 0 auto;
    flex-direction: row-reverse;
}

/*===========================================================
下層バナー
===========================================================*/

.inBannerText01 {
    font-size: 22px;
}

.inBannerText02 {
    font-size: 30px;
}

/*===========================================================
ループスライダー
===========================================================*/

.loopImgBx01 {
    width: 350px;
    padding-top: 300px;
}

} /* min-width: 768px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width: 1024px) {

/*===========================================================
共通
===========================================================*/

.br-lg-none br {
    display: none;
}

.br-lg-block br {
    display: block;
}

/*===========================================================
テキスト
===========================================================*/

.inFirstTitle {
    font-size: 44px;
}

.inFirstTitle strong {
    font-size: 62px;
}

/*===========================================================
inner
===========================================================*/

.inWr {
    padding: 150px 0;
}

/*===========================================================
私たちについて
===========================================================*/

.about02Block {
    margin: 120px auto 0 0;
}

.about02Block:nth-of-type(even) {
    margin: 120px 0 0 auto;
}

} /* min-width: 1024px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1200px) {


/*===========================================================

===========================================================*/

/*===========================================================
下層バナー
===========================================================*/

.inBannerContainer {
    grid-template-columns: repeat(4, 1fr);
}

} /* min-width: 1200px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1440px) {


/*===========================================================

===========================================================*/



} /* min-width: 1440px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1600px) {

/*===========================================================
下層バナー
===========================================================*/

.inBannerText01 {
    font-size: 28px;
}

.inBannerText02 {
    font-size: 45px;
}


} /* min-width: 1600px ここまで */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */ 