@charset "UTF-8";

/* -----------------------------------------------

	 base

----------------------------------------------- */
.en{
  font-family: "Noto Serif", serif;
}
.sp{
  display: none;
}
.btn {
  display: inline-block;
  position: relative;
  text-align: center;
  margin: auto;
  max-width: 300px;
  min-width: 300px;
  width: 100%;
  transition: 0.5s;
}
.btn a{
  display: inline-block;
  color: #fff;
  background-color: #0054a6;
  border-radius: 50vh;
  width: 100%;
  font-weight: 700;
  padding: 20px;
  line-height: 1.5;
}
.btn:hover{
  opacity: 0.7;
  transition: 0.5s;
}
.ttl{
  font-weight: 700;
}
.ttlrtn{
  font-weight: 700;
  color: #fff;
}
.container {
  max-width: 1200px;
  width: 100%;
  margin: auto;
}
h2{
  position: relative;
  text-align: center;
  margin-bottom: 90px;
}
h2 .ja{
  font-size: 30px;
  position: relative;
  top: 10px;
}
h2 .en{
  font-size: 100px;
  color: #c68f29;
  font-weight: 700;
  opacity: 0.15;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

  @media only screen and (max-width: 1024px) {
    h2 .en{
      font-size: 85px;
    }
    h2 .ja {
      font-size: 26px;
    }
    .btn a{
      padding: 15px;
    }
  }
  @media only screen and (max-width: 768px) {
    h2{
      font-size: 30px;
      margin-bottom: 60px;
    }
    h2 .en{
      font-size: 70px;
    }
    h2 .ja {
      top: 5px;
      font-size: 22px;
    }
  }
  @media only screen and (max-width: 479px) {
    h2{
      font-size: 24px;
      margin-bottom: 40px;
    }
    .sp{
      display: block;
    }
    .btn {
      min-width: auto;
    }
    .btn a{
      padding: 13px;
    }
    h2 .en{
      font-size: 55px;
    }
    h2 .ja {
      top: 2px;
      font-size: 20px;
    }
  }


/* -----------------------------------------------
	 top_mvslider
----------------------------------------------- */
.top_mvslider{
  padding: 0 60px;
  margin-bottom: 120px;
}
.sliderwrap{
  position: relative;
} 
.top_mvslider #text-slider{
  position: absolute;
  top: calc(50% - 60px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 50%;
  min-width: 650px;
  text-align: center;
}
.top_mvslider #text-slider p{
  font-size: 60px;
  color: #fff;
  text-shadow: 0 0 10px #000;
  font-family: "Noto Serif JP", serif;
}
.top_mvslider .txt-notslider{
  font-size: 20px;
  position: absolute;
  top: calc(50% + 60px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 50%;
  min-width: 650px;
  text-align: center;
  color: #fff;
  text-shadow: 0 0 10px #000;
}

.top_mvslider .slick-slide{
  padding: 0;
}
.top_mvslider .slick-slide img{
  min-height: 600px;
  max-height: 700px;
  object-fit: cover;
}

/*===================================
  slick 矢印
===================================*/
.top_mvslider .slick-next::before,
.top_mvslider .slick-next::after,
.top_mvslider .slick-prev::before,
.top_mvslider .slick-prev::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.top_mvslider .slick-next::after,
.top_mvslider .slick-prev::after {
  width: 50px;
  height: 50px;
}

/* prev */
.top_mvslider .slick-prev{
  left: 40px;
  z-index: 1;
}
.top_mvslider .slick-prev::after {
  transform: rotate(-135deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 1));
}

/* next */
.top_mvslider .slick-next{
  right: 80px;
  z-index: 1;
}
.top_mvslider .slick-next::after {
  transform: rotate(45deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 1));
}

.top_mvslider .slick-dots{
  bottom: 20px;
}
.top_mvslider .slick-dots li button:before{
  font-size: 15px;
  opacity: 0.5;
  color: #fff;
}
.top_mvslider .slick-dots li.slick-active button:before{
  color: #c68f29;
}

/* --- Hero LCP 改善用：slick 初期化前は 1枚だけ表示 --- */
#main-slider > li { display: none; }
#main-slider > li:first-child { display: block; }

/* slick 初期化後（.slick-initializedが付く）に通常表示へ */
#main-slider.slick-initialized > li { display: block; }

/* 画像の計算を早める（縦揺れ防止）*/
#main-slider img { display:block; height:auto; aspect-ratio: 1200 / 700; }


/* スライダー初期化前の状態を隠す */
#text-slider {
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* Slick初期化後に表示 */
#text-slider.slick-initialized {
  opacity: 1;
}

/* 初期化前は最初の1つだけ表示（オプション） */
#text-slider:not(.slick-initialized) .txt:not(:first-child) {
  display: none;
}

/* メインスライダーも同様に */
#main-slider {
  opacity: 0;
  transition: opacity 0.3s ease;
}

#main-slider.slick-initialized {
  opacity: 1;
}

/* 初期化前は最初の画像だけ表示 */
#main-slider:not(.slick-initialized) li:not(:first-child) {
  display: none;
}


@media only screen and (max-width: 1024px) {
    .top_mvslider {
      padding: 0 40px;
      margin-bottom: 90px;
    }
    .top_mvslider .slick-next{
      font-size: 45px;
    }
    .top_mvslider .slick-next::after, .top_mvslider .slick-prev::after{
      width: 35px;
      height: 35px;
    }
    .top_mvslider .slick-next{
      right: 55px;
    }
    .top_mvslider .slick-prev{
      left: 20px;
    }
    .top_mvslider #text-slider p{
      font-size: 50px;
    }
    .top_mvslider .txt-notslider{
      font-size: 16px;
      top: calc(50% + 30px);
    }
    .top_mvslider .slick-slide img{
      min-height: 500px;
    }
  }
  @media only screen and (max-width: 768px) {
    .top_mvslider{
      padding: 0 30px;
      margin-bottom: 60px;
    }
    .top_mvslider #text-slider,
    .top_mvslider .txt-notslider{
      min-width: 550px;
    }
    .top_mvslider #text-slider p{
      font-size: 40px;
    }
    .top_mvslider .slick-slide img{
      min-height: 350px;
    }
    .top_mvslider .slick-next::after, .top_mvslider .slick-prev::after{
      width: 30px;
      height: 30px;
    }
    .top_mvslider .slick-next{
      right: 40px;
    }
    .top_mvslider .slick-prev{
      left: 10px;
    }
    .top_mvslider .slick-dots{
      bottom: 10px;
    }
    .top_mvslider .slick-dots li button:before{
      font-size: 11px;
    }
  }
  @media only screen and (max-width: 479px) {
    .top_mvslider{
      padding: 0 15px;
    }
    .top_mvslider #text-slider{
      min-width: 90%;
    }
    .top_mvslider .txt-notslider{
      min-width: 80%;
    }
    .top_mvslider #text-slider{
      top: calc(50% - 30px);
    }
    .top_mvslider #text-slider p{
      font-size: 7vw;
    }
    .top_mvslider .txt-notslider{
      font-size: 14px;
      line-height: 1.5;
      top: calc(50% + 45px);
    }
    .top_mvslider .slick-slide img{
      min-height: 280px;
    }
    .top_mvslider .slick-next::after, .top_mvslider .slick-prev::after{
      width: 13px;
      height: 13px;
    }
    .top_mvslider .slick-next::after{
      border-top: 1.5px solid #fff;
      border-right: 1.5px solid #fff;
    }
    .top_mvslider .slick-prev::after{
      border-top: 1.5px solid #fff;
      border-right: 1.5px solid #fff;
    }
    .top_mvslider .slick-next{
      right: 20px;
    }
    .top_mvslider .slick-prev{
      left: 5px;
    }
    .top_mvslider .slick-dots{
      bottom: 3px;
    }
    .top_mvslider .slick-dots li button:before{
      font-size: 8px;
    }
    .top_mvslider .slick-dots li,
    .top_mvslider .slick-dots li button{
      width: 10px;
    }
  }



/* -----------------------------------------------
	 top_about
----------------------------------------------- */
.tsec_about{
  position: relative;
  line-height: 2;
  margin-bottom: 150px;
}
.tsec_about::before{
  content: "";
  display: inline-block;
  width: 260px;
  height: 165px;
  background-image: url(../images/about01.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
  top: 150px;
}
.tsec_about::after{
  content: "";
  display: inline-block;
  width: 250px;
  height: 190px;
  background-image: url(../images/about02.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  bottom: -150px;
}
.tsec_about h1{
  font-size: 65px;
  color: #c68f29;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 90px;
}
.tsec_about h1 .word01{
  position: relative;
  left: 10px;
}
.tsec_about h1 .txt02{
  position: relative;
  left: -10px;
}
.tsec_about .txt01{
  margin-bottom: 45px;
}

  @media only screen and (max-width: 1024px) {
    .tsec_about h1{
      font-size: 50px;
    }
    .tsec_about::before {
      width: 180px;
      height: 120px;
    }
    .tsec_about::after {
      width: 180px;
      height: 130px;
    }
  }
  @media only screen and (max-width: 768px) {
    .tsec_about h1 {
      margin-bottom: 60px;
    }
    .tsec_about h1 span{
      font-size: 40px;
    }
    .tsec_about::before{
      top: 130px;
      width: 130px;
      height: 90px;
    }
    .tsec_about::after {
      bottom: -120px;
      width: 130px;
      height: 100px;
    }
  }
  @media only screen and (max-width: 479px) {
    .tsec_about h1{
      line-height: 8vw;
      margin-bottom: 40px;
    }
    .tsec_about h1 span{
      font-size: 8vw;
      display: inline-block;
    }
    .tsec_about .txt01,
    .tsec_about .txt02{
      text-align: left;
    }
    .tsec_about .txt01 {
      margin-bottom: 30px;
    }
    .tsec_about .txt01 br,
    .tsec_about .txt02 br{
      display: none;
    }
    .tsec_about::before {
      top: unset;
      bottom: -70px;
      width: 90px;
      height: 60px;
    }
    .tsec_about::after {
      bottom: -110px;
      width: 90px;
      height: 70px;
    }
  }



/* -----------------------------------------------
	 tsec_venues
----------------------------------------------- */
.tsec_venues .hbtnwrap{
  margin-bottom: 60px;
  gap: 30px;
}
.tsec_venues .hbtnwrap .btn{
  position: relative;
  max-width: unset;
  min-width: auto;
  width: calc(100% / 3 - 20px);
}
.tsec_venues .hbtnwrap .btn::after{
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: -1;
}
.tsec_venues .hbtnwrap .btn01::after{
  background: #5b7e3a;
}
.tsec_venues .hbtnwrap .btn02::after{
  background: #c68f29;
}
.tsec_venues .hbtnwrap .btn03::after{
  background: #af201c;
}
.tsec_venues .hbtnwrap .btn span::after{
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background-image: url(../images/icon_arrow.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  top: 3px;
  margin-left: 20px;
}
.tsec_venues .hbtnwrap a{
  background: #000;
  border-radius: 0;
  padding: 30px 20px;
}
.tsec_venues .venues{
  padding: 90px 40px;
  position: relative;
}
.tsec_venues .venues .cwrap{
  padding: 60px 40px;
  background: rgba(255, 255, 255, 0.9);
  margin-bottom: 80px;
  position: relative;
  z-index: 1;
}
.tsec_venues .venues .inner{
  gap: 90px;
}
.tsec_venues .txts,
.tsec_venues .video{
  width: 50%;
}
.tsec_venues .txts .name{
  margin-bottom: 30px;
  max-width: 450px;
}
.tsec_venues .txts .txt{
  margin-bottom: 60px;
}
.tsec_venues .txts .info.tel{
  margin-bottom: 60px;
}
.tsec_venues .btnwrap{
  gap: 40px;
}
.tsec_venues .btnwrap .btn{
  min-width: auto;
}
.tsec_venues .btnwrap span{
  position: relative;
  left: 12px;
  font-size: 18px;
}
.tsec_venues .btnwrap .btn.tel span::before{
  content: "";
  display: inline-block;
  width: 30px;
  height: 35px;
  background-image: url(../images/icon_tel.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: calc(50% - 3px);
  left: -25px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.tsec_venues .btnwrap .btn.map span::before{
  content: "";
  display: inline-block;
  width: 25px;
  height: 30px;
  background-image: url(../images/icon_map.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: calc(50% - 15px);
  left: -35px;
}

.tsec_venues .venues::after{
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
}
.tsec_venues #venues01::after{
  background-image: linear-gradient(135deg, #a1dd5b, #5b7e3a);
}
.tsec_venues #venues02::after{
  background-image: linear-gradient(135deg, #ffde55, #c68f29);
}
.tsec_venues #venues03::after{
  background-image: linear-gradient(135deg, #f96962, #af201c);
}
.tsec_venues .video{
  position: relative;
}
.tsec_venues .video::after{
  content: "";
  display: inline-block;
  width: 650px;
    height: 650px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: -1;
}
.tsec_venues #venues01 .video::after{
  background-image: url(../images/venues_icon01.png);
}
.tsec_venues #venues02 .video::after{
  background-image: url(../images/venues_icon02.png);
}
.tsec_venues #venues03 .video::after{
  top: 60%;
  background-image: url(../images/venues_icon03.png);
}
.tsec_venues #venues01 .btnwrap .btn a{
  background: #5b7e3a;
}
.tsec_venues #venues02 .btnwrap .btn a{
  background: #c68f29;
}
.tsec_venues #venues03 .btnwrap .btn a{
  background: #af201c;
}
#venues01{
  background-image: url(../images/venues_bg01.jpg);
}
#venues02{
  background-image: url(../images/venues_bg02.jpg);
}
#venues03{
  background-image: url(../images/venues_bg03.jpg);
}
.tsec_venues .imgwrap {
  width:100vw;
  margin-right:calc(((100vw - 100%) / 2) * -1);
  margin-left:calc(((100vw - 100%) / 2) * -1);
  position: relative;
  z-index: 1;
}
.tsec_venues .imgwrap img{
  margin: 0 10px;
  width: calc(100% / 5);
}



  @media only screen and (max-width: 1024px) {
    .tsec_venues .venues{
      padding: 60px 25px;
    }
    .tsec_venues .venues .inner {
      gap: 45px;
    }
    .tsec_venues .btnwrap {
      gap: 20px;
    }
    .tsec_venues .venues .cwrap {
      padding: 45px 40px;
    }
    .tsec_venues .hbtnwrap a{
      padding: 25px 10px;
    }
    .tsec_venues .btnwrap .btn.tel span::before{
      width: 22px;
      height: 30px;
      top: calc(50% - 1px);
    }
    .tsec_venues .btnwrap .btn.map span::before{
      width: 20px;
      height: 25px;
      top: calc(50% - 12px);
      left: -30px;
    }
    .tsec_venues .video::after{
      width: 550px;
      height: 550px;
    }
    .tsec_venues #venues02 .video::after{
      width: 480px;
      height: 480px;
    }
    .tsec_venues #venues03 .video::after{
      width: 480px;
      height: 480px;
    }
  }
  @media only screen and (max-width: 768px) {
    .tsec_venues .venues .cwrap{
      margin-bottom: 60px;
    }
    .tsec_venues .hbtnwrap{
      gap: 20px;
    }
    .tsec_venues .hbtnwrap .btn {
      width: calc(100% / 3 - 12.5px);
    }
    .tsec_venues .hbtnwrap .btn span::after {
      content: "";
      display: inline-block;
      width: 18px;
      margin-left: 10px;
    }
    .tsec_venues .hbtnwrap .btn::after {
      top: 6px;
      left: 6px;
    }
    .tsec_venues .venues .inner{
      flex-direction: column;
    }
    .tsec_venues #venues02.venues .inner{
      flex-direction: column-reverse;
    }
    .tsec_venues .txts, .tsec_venues .video {
      width: 100%;
    }
    .tsec_venues .venues .inner{
      gap: 90px;
    }
    .tsec_venues .venues address{
      font-size: 1rem;
    }
    .tsec_venues .txts .name{
      max-width: 350px;
      margin: 0 auto 45px;
    }
    .tsec_venues #venues01 .txts .name{
      position: relative;
      left: 3%;
    }
    .tsec_venues #venues02 .txts .name{
      position: relative;
      left: 1.5%;
    }
    .tsec_venues .txts .txt,
    .tsec_venues .txts .info.tel {
      margin-bottom: 40px;
    }
    .tsec_venues #venues01 .video::after,
    .tsec_venues #venues02 .video::after,
    .tsec_venues #venues03 .video::after {
      opacity: 0.5;
      top: calc(-100% + 30px);
    }
    .tsec_venues .video::after{
      width: 400px;
      height: 400px;
    }
    .tsec_venues #venues02 .video::after{
      width: 380px;
      height: 380px;
    }
    .tsec_venues #venues03 .video::after{
      width: 380px;
      height: 380px;
    }
    .tsec_venues .btnwrap span{
      font-size: 16px;
    }
    .tsec_venues .imgwrap img{
      margin: 0 5px;
    }
  }
  @media only screen and (max-width: 479px) {
    .tsec_venues .hbtnwrap {
      flex-wrap: wrap;
    }
    .tsec_venues .hbtnwrap .btn {
      width: 100%;
      /* width: calc(100% / 2 - 10px); */
    }
    .tsec_venues .hbtnwrap a {
      padding: 15px 10px;
    }
    .tsec_venues .venues{
      padding: 45px 15px;
    }
    .tsec_venues .venues .cwrap{
      margin-bottom: 40px;
    }
    .tsec_venues .txts .name{
            margin: 0 auto 30px;
      padding: 0 30px;
    }
    .tsec_venues .venues .cwrap {
      padding: 30px 25px;
    }
    .tsec_venues .venues .inner {
      gap: 60px;
    }
    .tsec_venues .btnwrap {
      gap: 10px;
    }
    .tsec_venues .btnwrap .btn.tel span::before{
      width: 20px;
      height: 25px;
      top: calc(50% - 1px);
      left: -15px;
    }
    .tsec_venues .btnwrap .btn.map span::before{
      width: 15px;
      height: 20px;
      top: calc(50% - 10px);
      left: -22px;
    }
    .tsec_venues .txts .txt,
    .tsec_venues .txts .info.tel {
      margin-bottom: 30px;
    }
    .tsec_venues .video iframe{
      height: 50vw;
    }
    .tsec_venues .venues address{
      font-size: 15px;
    }
    .tsec_venues .btnwrap span{
      font-size: 15px;
    }
    .tsec_venues .video::after{
      content: unset !important;
    }
    .tsec_venues .txts{
      position: relative;
    }
    .tsec_venues .txts::after{
      content: "";
      display: inline-block;
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      z-index: -1;
    }
    .tsec_venues .txts::after{
      width: 60vw;
      height: 60vw;
      opacity: 0.5;
    }
    .tsec_venues #venues02 .txts::after,
    .tsec_venues #venues02 .txts::after{
      width: 58vw;
      height: 58vw;
    }
    .tsec_venues #venues01 .txts::after{
      background-image: url(../images/venues_icon01.png);
    }
    .tsec_venues #venues02 .txts::after{
      background-image: url(../images/venues_icon02.png);
    }
    .tsec_venues #venues03 .txts::after{
      top: 60%;
      background-image: url(../images/venues_icon03.png);
    }
    .tsec_venues .imgwrap img{
      margin: 0 2.5px;
    }
  }


/* -----------------------------------------------
	 tsec_access
----------------------------------------------- */
.tsec_access{
  padding: 120px 0;
}
.tsec_access .map:not(:last-child){
  margin-bottom: 100px;
}

  @media only screen and (max-width: 1024px) {
    .tsec_access .map iframe{
      height: 380px;
    }
    .tsec_access .map:not(:last-child) {
      margin-bottom: 90px;
    }
  }
  @media only screen and (max-width: 768px) {
    .tsec_access {
      padding: 90px 0;
    }
    .tsec_access .map iframe{
      height: 330px;
    }
    .tsec_access .map:not(:last-child) {
      margin-bottom: 60px;
    }
  }
  @media only screen and (max-width: 479px) {
    .tsec_access {
      padding: 60px 0;
    }
    .tsec_access .map iframe{
      height: 220px;
    }
    .tsec_access .map:not(:last-child) {
      margin-bottom: 45px;
    }
    .tsec_access .map p{
      line-height: 1.5;
    }
  }


/* -----------------------------------------------
	 tsec_info
----------------------------------------------- */
.tsec_info {
  padding: 90px 0 150px;
}
.tsec_info table{
  width: 100%;
}
.tsec_info table tr{
  display: flex;
  gap: 20px;
}
.tsec_info table th,
.tsec_info table td{
  text-align: left;
  font-weight: 700;
  border: none;
  border-collapse: collapse;
}
.tsec_info table th{
  width: 220px;
  background: transparent;
  padding: 35px 20px;
  border-bottom: solid 2px #c68f29;
}
.tsec_info table td{
  width: calc(100% - 240px);
  padding: 35px 30px;
  border-bottom: solid 2px #000;
}

  @media only screen and (max-width: 1024px) {
    .tsec_info table th{
      padding: 30px 20px;
      width: 200px;
    }
    .tsec_info table td {
      padding: 30px;
      width: calc(100% - 220px);
    }
  }
  @media only screen and (max-width: 768px) {
    .tsec_info table th{
        padding: 20px 20px;
        width: 150px;
    }
    .tsec_info table td {
      padding: 20px;
      width: calc(100% - 170px);
    }
  }
  @media only screen and (max-width: 479px) {
    .tsec_info{
      padding: 60px 0 45px;
    }
    .tsec_info table tr{
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .tsec_info table th,
    .tsec_info table td{
      width: 100%;
    }
    .tsec_info table th{
      padding: 15px 0 0;
      font-weight: 700;
    }
    .tsec_info table td{
      border: none;
      padding: 5px 0 15px;
    }
  }


  /* -----------------------------------------------
	 tsec_recruit
----------------------------------------------- */
.tsec_recruit{
  color: #fff;
  background: #2d2b29;
  padding: 120px 0 150px;
}
.tsec_recruit .tablewrap{
  margin-bottom: 80px;
}
.tsec_recruit table{
  width: 100%;
}
.tsec_recruit table tr{
  display: flex;
  gap: 20px;
}
.tsec_recruit table th,
.tsec_recruit table td{
  text-align: left;
  font-weight: 700;
  border: none;
  border-collapse: collapse;
}
.tsec_recruit table th{
  width: 220px;
  background: transparent;
  padding: 35px 20px;
  border-bottom: solid 2px #c68f29;
}
.tsec_recruit table td{
  width: calc(100% - 240px);
  padding: 35px 30px;
  border-bottom: solid 2px #898989;
}
.tsec_recruit table td a{
  color: #fff;
}
.tsec_recruit  .recruit-contact{
  background: #fff;
  padding: 20px 80px;
}
.tsec_recruit  .recruit-contact img{
  max-width: 150px;
  margin-right: 60px;
}
.tsec_recruit  .recruit-contact p{
  color: #2d2b29;
  font-size: 35px;
  font-weight: 700;
  line-height: 1.5;
}
.tsec_recruit  .recruit-contact p span{
  color: #c7171e;
}
.tsec_recruit  .recruit-contact .btn {
  max-width: 250px;
  min-width: 250px;
  margin: unset;
  margin-left: auto;
}
.tsec_recruit  .recruit-contact .btn a{
  background: #c7171e;
}

  @media only screen and (max-width: 1024px) {
    .tsec_recruit {
      padding: 120px 0;
    }
    .tsec_recruit table th{
      padding: 30px 20px;
      width: 200px;
    }
    .tsec_recruit table td {
      padding: 30px 30px;
    }
    .tsec_recruit .recruit-contact{
      padding: 20px 60px;
    }
    .tsec_recruit .recruit-contact p{
      font-size: 30px;
    }
    .tsec_recruit .recruit-contact img{
      max-width: 120px;
      margin-right: 45px;
    }
  }
  @media only screen and (max-width: 768px) {
    .tsec_recruit{
      padding: 90px 0 120px;
    }
    .tsec_recruit .recruit-contact {
      flex-direction: column;
      padding: 25px 20px 30px;
    }
    .tsec_recruit .recruit-contact P{
      text-align: center;
      margin-bottom: 30px;
    }
    .tsec_recruit .recruit-contact p *{
      font-size: 30px;
    }
    .tsec_recruit .recruit-contact img{
      max-width: 90px;
      margin: 0 0 10px;
    }
    .tsec_recruit .recruit-contact .btn{
      margin: auto;
    }
  }
  @media only screen and (max-width: 479px) {
    .tsec_recruit{
      padding: 60px 0 80px;
    }
    .tsec_recruit table tr{
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .tsec_recruit table th,
    .tsec_recruit table td{
      width: 100%;
    }
    .tsec_recruit table th{
      padding: 15px 0 0;
      font-weight: 700;
    }
    .tsec_recruit table td{
      border: none;
      padding: 5px 0 15px;
    }
    .tsec_recruit table th {
      border-bottom: solid 2px #c68f298c;
    }
    .tsec_recruit .tablewrap{
      margin-bottom: 40px;
    }
    .tsec_recruit .recruit-contact p{
      line-height: 1.3;
    }
    .tsec_recruit .recruit-contact span{
      display: block;
    }
    .tsec_recruit .recruit-contact img {
        max-width: 80px;
    }
    .tsec_recruit .recruit-contact p,
    .tsec_recruit .recruit-contact p span{
      font-size: 7vw;
    }
    .tsec_recruit .recruit-contact .btn{
      min-width: auto;
    }
    .tsec_recruit .recruit-contact .btn a{
      padding: 18px 10px;
    }
  }



/* -----------------------------------------------
	 tsec_xxxxxxxxx
----------------------------------------------- */
.tsec_xxxxxxxxx{
}

  @media only screen and (max-width: 1024px) {
  }
  @media only screen and (max-width: 768px) {
  }
  @media only screen and (max-width: 479px) {
  }
