@charset "UTF-8";
/*----------------------------------------------------*/
/*                      color                         */
/*----------------------------------------------------*/
/*----------------------------------------------------*/
/*                      common                        */
/*----------------------------------------------------*/
.pagenation {
  color: #fff;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5vw;
  margin-top: 10%;
}
.pagenation .current {
  width: 15vw;
  border: 1px solid #e45e00;
  padding: 10px 0;
  background: #e45e00;
  text-align: center;
}
.pagenation a {
  color: #e45e00;
  width: 15vw;
  padding: 10px 0;
  border: 1px solid #e45e00;
  text-align: center;
  display: block;
}

.ttl01 .ttl-en,
.ttl02 .ttl-en {
  font-size: 4.3vw;
}
.ttl01 .ttl-jp,
.ttl02 .ttl-jp {
  font-size: 5.4vw;
  font-weight: 700;
  letter-spacing: 0.2em;
}

.ttl01 {
  text-align: center;
  margin-bottom: 15%;
}

.btn01 a {
  color: #fff;
  font-weight: 700;
  display: block;
  width: 90%;
  padding: 5% 0;
  border-radius: 50px;
  border-bottom: 6px solid #2c2a29;
  background: #3b3938;
  text-align: center;
  margin: 0 auto;
  position: relative;
}
.btn01 a::before {
  content: "";
  width: 8px;
  height: 13px;
  background: url("/img/common/btn01-arw.png") no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 26px;
  transform: translateY(-50%);
}

#under-bnr {
  padding: 90% 0 25%;
  background: url("/img/common/under-bnr-bg.png") no-repeat top 75px left/auto #f1f1f1;
}
#under-bnr .flex {
  gap: 4vw;
}
#under-bnr .bnr-style a {
  color: #fff;
  display: block;
  width: 43vw;
  padding: 20% 0;
  border-bottom: 8px solid #2c2a29;
  text-align: center;
}
#under-bnr .bnr-style a .ttl-jp {
  letter-spacing: 0.2em;
  margin-top: 3%;
}
#under-bnr .works-bnr a {
  background: url("/img/common/works-bnr.png") no-repeat center/cover;
}
#under-bnr .recruit-bnr a {
  background: url("/img/common/recruit-bnr.png") no-repeat center/cover;
}
#under-bnr .voice-bnr a {
  background: url("/img/common/voice-bnr.png") no-repeat center/cover;
}
#under-bnr .company-bnr a {
  background: url("/img/common/company-bnr.png") no-repeat center/cover;
}

.caution img {
  width: 60vw;
}

.content-u {
  padding-top: 25%;
  background: url("/img/common/common-bg-deco01.png") no-repeat top left/40%, url("/img/common/common-bg-deco02.png") no-repeat bottom right/40%;
}

/*----------------------------------------------------*/
/*                      header                        */
/*----------------------------------------------------*/
.hd-wrap .wrap-l {
  padding: 10% 5% 5% 5%;
}
.hd-wrap .wrap-l .h1 {
  position: absolute;
  top: 5%;
  left: 5%;
}
.hd-wrap .wrap-l .hd-logo {
  width: 40vw;
  margin-top: 3%;
}

#header {
  position: relative;
}
#header .mv {
  position: relative;
}
#header .mv .catch {
  width: 80vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#header .mv .mv-img img {
  width: 100%;
  height: 90vw;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#header .sv {
  position: relative;
}
#header .sv .sv-ttl {
  letter-spacing: 0.2em;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#header .sv .sv-img img {
  width: 100%;
  height: 35vw;
}
#header .side-btn {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 50;
}

.tel .tel-nm {
  font-style: normal;
  letter-spacing: 0;
}

/*----------------------------------------------------*/
/*                      footer                        */
/*----------------------------------------------------*/
#footer .wrap {
  color: #fff;
  padding: 20% 0 10%;
  background: #3b3938;
  text-align: center;
}
#footer .wrap .ft-logo img {
  width: 45vw;
}
#footer .wrap .ft-address {
  margin: 10% 0;
}
#footer .wrap .ft-nav .ft-nav-list {
  gap: 3vw 10vw;
}
#footer .wrap .ft-nav .ft-nav-list .ft-nav-item a {
  color: #fff;
}
#footer .copy {
  padding: 5% 0;
  text-align: center;
}

/*----------------------------------------------------*/
/*                        top                         */
/*----------------------------------------------------*/
#top-about {
  padding: 25% 0;
  background: url("/img/top/about-bg.png") no-repeat top left/40%;
  position: relative;
}
#top-about::before {
  content: "";
  width: 30%;
  height: 30%;
  background-image: linear-gradient(90deg, #e45e00, #ffa524);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#top-about::after {
  content: "";
  width: 17.3%;
  height: 30%;
  background: #f1f1f1;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
#top-about .about-ttl {
  letter-spacing: 0.2em;
}
#top-about .txt {
  margin-top: 10%;
}
#top-about .btn01 {
  margin-top: 15%;
}
#top-about .about-img01 {
  margin: 15% auto 0;
  width: 75vw;
}
#top-about .about-img02 {
  width: 45vw;
  position: absolute;
  bottom: 0;
  right: 10%;
}

#top-appeal {
  padding: 25% 0;
  position: relative;
}
#top-appeal::before {
  content: "";
  width: 100%;
  height: calc(100% - 35vw);
  background: #f1f1f1;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#top-appeal .point-style:nth-child(n+3) {
  margin-top: 20%;
}
#top-appeal .point-style .point-ttl {
  text-align: center;
}
#top-appeal .point-style .point-ttl .deco-cnt {
  position: relative;
}
#top-appeal .point-style .point-ttl .deco-cnt::before {
  content: "";
  width: 10px;
  height: 27px;
  background: url("/img/top/huki-l.png") no-repeat center/contain;
  position: absolute;
  top: 50%;
  left: -43px;
  transform: translateY(-50%);
}
#top-appeal .point-style .point-ttl .deco-cnt::after {
  content: "";
  width: 10px;
  height: 27px;
  background: url("/img/top/huki-r.png") no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: -43px;
  transform: translateY(-50%);
}
#top-appeal .point-style .point-ttl .dots {
  background-image: radial-gradient(circle at center, #e45e00 20%, transparent 20%); /* 点の色とサイズ調整 */
  background-position: top right; /* 点の位置 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 1em 0.3em; /* 点の間隔とサイズ調整 */
  padding-top: 0.4em; /* 縦方向の位置調整 */
}
#top-appeal .point-style .point-list {
  gap: 6vw 4vw;
  margin-top: 10%;
}
#top-appeal .point-style .point-list .point-item {
  text-align: center;
  width: 43vw;
  background-image: linear-gradient(90deg, #e45e00, #ffa524);
}
#top-appeal .point-style .point-list .point-item .point-nm {
  padding: 15px 0;
}
#top-appeal .point-style .point-list .point-item .cnt {
  background: #fff;
  margin: 0 2px 2px 2px;
  padding: 10% 0;
}
#top-appeal .point-style .point-list .point-item .cnt .point-icn img {
  width: 13vw;
}
#top-appeal .point-style .point-list .point-item .cnt .point-item-ttl {
  margin-top: 5%;
}

#top-recruit {
  padding: 25% 0 0 0;
  position: relative;
}
#top-recruit .ttl02 {
  margin-left: 10%;
}
#top-recruit .wrap {
  display: block;
}
#top-recruit .cnt {
  margin-top: 10%;
}
#top-recruit .cnt .bnr-style:nth-child(n+2) {
  margin-top: 3px;
}
#top-recruit .cnt .bnr-style a {
  color: #fff;
  display: block;
  width: 90%;
  padding: 10% 0;
  margin: 0 0 0 auto;
  background: #3b3938;
}
#top-recruit .cnt .bnr-style a p {
  padding: 0 10%;
}
#top-recruit .cnt .bnr-style a .ttl-jp .arw-cnt {
  position: relative;
}
#top-recruit .cnt .bnr-style a .ttl-jp .arw-cnt::before {
  content: "";
  width: 8px;
  height: 13px;
  background: url("/img/common/btn01-arw.png") no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: -25%;
  transform: translateY(-50%);
  transition: 0.3s;
}
#top-recruit .cnt .profile-bnr a {
  background: url("/img/top/recruit-profile.png") no-repeat center/cover;
}
#top-recruit .cnt .description-bnr a {
  background: url("/img/top/recruit-job.png") no-repeat center/cover;
}
#top-recruit .cnt .flow-bnr a {
  background: url("/img/top/recruit-flow.png") no-repeat center/cover;
}

#top-bnr {
  padding: 25% 0;
  background: #f1f1f1;
}
#top-bnr .voice-bnr a {
  color: #fff;
  display: block;
  width: 90%;
  padding: 10% 0;
  border-bottom: 8px solid #2c2a29;
  background: url("/img/top/voice-bnr.png") no-repeat center/cover;
  margin: 0 auto;
  text-align: center;
  transition: 0.3s;
}
#top-bnr .voice-bnr a:hover {
  opacity: 0.9;
}
#top-bnr .voice-bnr a .ttl-jp {
  letter-spacing: 0.2em;
}

#contact-sec {
  padding: 25% 0;
  background: #f1f1f1;
  position: relative;
}
#contact-sec::before {
  content: "";
  width: 90%;
  height: 100%;
  background-image: url("/img/common/contact-bg.png"), linear-gradient(90deg, #e45e00, #ffa524);
  background-repeat: no-repeat;
  background-position: bottom right;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#contact-sec .contact-ttl {
  line-height: 1;
  position: relative;
  z-index: 1;
}
#contact-sec .contact-ttl .ttl-jp {
  margin-top: 20px;
}
#contact-sec .cnt {
  width: 90%;
  padding: 10% 0;
  background: #fff;
  position: absolute;
  bottom: -66vw;
  z-index: 1;
}
#contact-sec .cnt .wrap {
  display: block;
  padding: 5% 0;
}
#contact-sec .cnt .tel {
  text-align: center;
}
#contact-sec .cnt .tel .tel-nm {
  letter-spacing: 0;
}
#contact-sec .cnt .tel .caution {
  text-align: center;
}
#contact-sec .cnt .tel .caution img {
  width: 55%;
}
#contact-sec .cnt .btn-cnt {
  margin-top: 10%;
}
#contact-sec .cnt .btn-cnt .sns-btn {
  margin-top: 5%;
}
#contact-sec .cnt .btn-cnt .sns-btn a:nth-child(n+2) {
  margin-left: 5%;
}
#contact-sec .cnt .btn-cnt .sns-btn a img {
  width: 10vw;
}

#top-access {
  padding: 90% 0 25%;
  background: url("/img/top/access-bg01.png") no-repeat top left/auto, url("/img/top/access-bg02.png") no-repeat bottom right/60% #f1f1f1;
}
#top-access .info-tbl {
  width: 100%;
  margin: 0 auto;
}
#top-access .info-tbl tr:first-child th {
  padding-top: 0;
}
#top-access .info-tbl tr th {
  display: block;
  color: #e45e00;
  font-weight: 700;
  padding: 5% 0 3%;
  border-bottom: 1px solid #e45e00;
  text-align: center;
}
#top-access .info-tbl tr td {
  display: block;
  padding: 5%;
  border-bottom: 1px solid #b8afaa;
}
#top-access .access-img {
  margin-top: 10%;
  text-align: center;
}
#top-access .btn01 {
  margin-top: 10%;
}

#top-news {
  padding: 20% 0 45%;
  background: url("/img/top/news-bg.png") no-repeat top left/60%;
  position: relative;
}
#top-news .inbox {
  display: block;
}
#top-news .news-list {
  width: 90%;
  margin: 10% auto 0;
}
#top-news .news-list .news-item {
  padding: 5% 0;
  border-bottom: 2px solid #b8afaa;
}
#top-news .news-list .news-item:first-child {
  border-top: 2px solid #b8afaa;
}
#top-news .news-list .news-item .tag-list {
  margin-left: 5%;
  gap: 3vw;
}
#top-news .news-list .news-item .tag-list .tag-item {
  font-size: 3vw;
}
#top-news .news-list .news-item .tag-list .tag-item span {
  padding: 1vw 2vw;
  background: #f6decd;
}
#top-news .news-list .news-item .news-item-ttl {
  margin-top: 3%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#top-news .btn01 {
  position: absolute;
  bottom: 15%;
  left: 50%;
  transform: translateX(-50%);
}
#top-news .btn01 a {
  width: 80vw;
}

/*----------------------------------------------------*/
/*                       works                        */
/*----------------------------------------------------*/
#works #about .about-style {
  display: block;
}
#works #about .about-style:nth-child(n+3) {
  margin-top: 15%;
}
#works #about .about-style .txt-cnt .about-ttl {
  padding: 5% 0;
  background: #e45e00;
  text-align: center;
}
#works #about .about-style .txt-cnt .txt {
  margin-top: 5%;
}
#works #about .about-style .about-img {
  width: 60vw;
  margin: 10% auto 0;
}
#works #flow {
  padding: 25% 0;
  position: relative;
}
#works #flow::before {
  content: "";
  width: 100%;
  height: calc(100% - 35vw);
  background: #f1f1f1;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#works #flow .flow-list {
  margin: 0 auto;
}
#works #flow .flow-list .flow-item {
  position: relative;
}
#works #flow .flow-list .flow-item:nth-child(n+2) {
  margin-top: 10%;
}
#works #flow .flow-list .flow-item:not(:last-child)::before {
  content: "";
  width: 2px;
  height: calc(100% + 10vw);
  background: #e45e00;
  position: absolute;
  top: 20%;
  left: 12vw;
}
#works #flow .flow-list .flow-item .time {
  width: 25vw;
  padding: 10px 0;
  background-image: linear-gradient(90deg, #e45e00, #ffa524);
  text-align: center;
  position: relative;
  z-index: 2;
}
#works #flow .flow-list .flow-item .txt {
  margin-left: 5%;
}
#works #flow .flow-caution {
  margin-top: 5%;
  text-align: center;
}

/*----------------------------------------------------*/
/*                       recruit                      */
/*----------------------------------------------------*/
#recruit #profile {
  padding-bottom: 25%;
}
#recruit #profile .txt {
  text-align: center;
}
#recruit #profile .profile-list {
  gap: 6vw 4vw;
  margin-top: 10%;
}
#recruit #profile .profile-list .profile-item {
  text-align: center;
  width: 43vw;
  background-image: linear-gradient(90deg, #e45e00, #ffa524);
}
#recruit #profile .profile-list .profile-item .profile-nm {
  padding: 15px 0;
}
#recruit #profile .profile-list .profile-item .cnt {
  background: #fff;
  margin: 0 2px 2px 2px;
  padding: 10% 0;
}
#recruit #profile .profile-list .profile-item .cnt .icn img {
  width: 13vw;
}
#recruit #profile .profile-list .profile-item .cnt .profile-item-ttl {
  margin-top: 5%;
  min-height: 19vw;
}
#recruit #description {
  padding: 10% 0 25%;
}
#recruit #description .info-tbl {
  width: 100%;
}
#recruit #description .info-tbl tr:first-child th {
  padding-top: 0;
}
#recruit #description .info-tbl tr th {
  display: block;
  color: #e45e00;
  font-weight: 700;
  padding: 5% 0 3%;
  border-bottom: 1px solid #e45e00;
  text-align: center;
}
#recruit #description .info-tbl tr td {
  display: block;
  padding: 5%;
  border-bottom: 1px solid #b8afaa;
}
#recruit #flow {
  padding-bottom: 25%;
  position: relative;
}
#recruit #flow::before {
  content: "";
  width: 100%;
  height: calc(100% - 15vw);
  background: #f1f1f1;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#recruit #flow .flow-img {
  text-align: center;
}

/*----------------------------------------------------*/
/*                       voice                        */
/*----------------------------------------------------*/
#voice #all-voice {
  padding-bottom: 25%;
}
#voice #all-voice .voice-style {
  width: 100%;
  background-image: linear-gradient(90deg, #e45e00, #ffa524);
  padding-bottom: 2px;
}
#voice #all-voice .voice-style:nth-child(n+2) {
  margin-top: 10%;
}
#voice #all-voice .voice-style .voice-name {
  padding: 5%;
}
#voice #all-voice .voice-style .txt {
  margin: 0 2px;
  padding: 5%;
  background: #fff;
}

/*----------------------------------------------------*/
/*                       compay                       */
/*----------------------------------------------------*/
#company #greeting {
  padding-bottom: 15%;
}
#company #greeting .wrap {
  display: block;
}
#company #greeting .txt-cnt .greeting-name {
  text-align: right;
  margin-top: 10%;
}
#company #greeting .greeting-img {
  width: 60vw;
  margin: 10% auto 0;
}
#company #infomation {
  padding-bottom: 25%;
}
#company #infomation .info-tbl {
  width: 100%;
}
#company #infomation .info-tbl tr:first-child th {
  padding-top: 0;
}
#company #infomation .info-tbl tr th {
  display: block;
  color: #e45e00;
  font-weight: 700;
  padding: 5% 0 3%;
  border-bottom: 1px solid #e45e00;
  text-align: center;
}
#company #infomation .info-tbl tr td {
  display: block;
  padding: 5%;
  border-bottom: 1px solid #b8afaa;
}

/*----------------------------------------------------*/
/*                       contact                      */
/*----------------------------------------------------*/
#contact #mail-form {
  padding: 80% 0;
}

/*----------------------------------------------------*/
/*                        blog                        */
/*----------------------------------------------------*/
#blog #blog-cnt {
  padding: 25% 0;
}
#blog #blog-cnt .category-btn {
  margin-top: 10%;
  padding: 8%;
  border: 1px solid #e45e00;
}
#blog #blog-cnt .category-btn .category-list {
  gap: 5vw;
}
#blog #blog-cnt .category-btn .category-list .category-item a {
  color: #fff;
  font-size: 3.2vw;
  padding: 1vw 5vw;
  background: #e45e00;
}
#blog #blog-cnt .blog-list {
  margin-top: 15%;
}
#blog #blog-cnt .blog-list .blog-item {
  padding: 10% 0;
  border-top: 1px solid #e45e00;
}
#blog #blog-cnt .blog-list .blog-item:last-child {
  border-bottom: 1px solid #e45e00;
}
#blog #blog-cnt .blog-list .blog-item a .wrap {
  display: block;
}
#blog #blog-cnt .blog-list .blog-item a .tag-list {
  gap: 10px;
  margin-top: 5%;
}
#blog #blog-cnt .blog-list .blog-item a .tag-list .tag-item span {
  color: #fff;
  padding: 1vw 3vw;
  background: #e45e00;
}
#blog #blog-cnt .blog-list .blog-item a time {
  color: #e45e00;
  font-weight: 700;
}
#blog #blog-cnt .blog-list .blog-item a .blog-item-ttl {
  color: #e45e00;
  font-size: 5.5vw;
  font-weight: 700;
}
#blog #blog-cnt .blog-list .blog-item a .txt {
  margin-top: 3%;
}
#blog #blog-cnt .blog-list .blog-item a .blog-thumb {
  display: none;
}

#detail-wrp {
  padding-bottom: 25%;
}
#detail-wrp .blog-tag-list {
  gap: 8px;
  margin-bottom: 5%;
}
#detail-wrp .blog-tag-list .blog-tag-item span {
  color: #fff;
  padding: 1vw 3vw;
  background: #e45e00;
}
#detail-wrp .blog-ttl {
  font-size: 5.5vw;
  margin-bottom: 5%;
}
#detail-wrp .txt {
  margin-top: 5%;
}

.page-btn {
  font-size: 3.8vw;
  margin-top: 10%;
  position: relative;
}
.page-btn .left {
  left: 0;
  position: absolute;
  font-weight: 600;
}
.page-btn .text-c {
  text-align: center;
}
.page-btn .right {
  right: 0;
  position: absolute;
  font-weight: 600;
}

/*----------------------------------------------------*/
/*                       complete                     */
/*----------------------------------------------------*/
#complete .complete-box {
  padding-bottom: 25%;
  margin-top: 10%;
  text-align: center;
}

/*----------------------------------------------------*/
/*                      sitemap                       */
/*----------------------------------------------------*/
#site .sitemap-cnt {
  padding-bottom: 25%;
}
#site .sitemap-cnt ul {
  margin-top: 10%;
}
#site .sitemap-cnt ul li {
  padding: 0 0 2% 5%;
  border-bottom: 1px dotted #e45e00;
}
#site .sitemap-cnt ul li:nth-child(n+2) {
  margin-top: 10px;
}
#site .sitemap-cnt ul li a {
  padding-left: 10%;
  position: relative;
}
#site .sitemap-cnt ul li a::before {
  content: "";
  width: 2vw;
  height: 2vw;
  border-top: 1px solid #e45e00;
  border-right: 1px solid #e45e00;
  position: absolute;
  top: 50%;
  left: 0;
  transform: rotate(45deg) translateY(-50%);
}

/*----------------------------------------------------*/
/*                      privacy                       */
/*----------------------------------------------------*/
#privacy .privacy {
  padding-bottom: 25%;
}
#privacy .privacy-box {
  margin-top: 10%;
}
#privacy .privacy-box p {
  margin-top: 3%;
}
#privacy .privacy-box .ttl04 {
  color: #e45e00;
  padding-bottom: 5%;
  border-bottom: 2px solid #e45e00;
}

/*----------------------------------------------------*/
/*                        404                         */
/*----------------------------------------------------*/
#notfound .item-box {
  text-align: center;
  padding-bottom: 25%;
}
#notfound .not-found-txt {
  margin-top: 10%;
}/*# sourceMappingURL=style_sp.css.map */