@charset "UTF-8";
@-webkit-keyframes loop {
0% {
    transform: translateX(100%);
}

to {
    transform: translateX(-100%);
}
}

@keyframes loop {
0% {
    transform: translateX(100%);
}

to {
    transform: translateX(-100%);
}
}

@-webkit-keyframes loop2 {
0% {
    transform: translateX(0);
}

to {
    transform: translateX(-200%);
}
}

@keyframes loop2 {
0% {
    transform: translateX(0);
}

to {
    transform: translateX(-200%);
}
}
/* ========================================
  @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),print {
#office {
    max-width: 1920px;
    width: 100%;
    margin-inline: auto;
}

/* sec共通
-------------------------------------*/
.sec .inner {
    width: min(95%, 1100px);
    margin-inline: auto;
    padding-block: 70px 57px;
}
.sec .enttl {
    margin-bottom: 21px;
}
.sec .ttl {
    font-weight: bold;
    font-size: 23px;
    margin-bottom: 58px;
}


/* company
-------------------------------------*/
.company {
    margin-bottom: 97px;
}
.company table {
    border-top: 1px solid #a4a4a4;
    width: 100%;
}
.company tr {
    border-bottom: 1px solid #a4a4a4;
}
.company th,
.company td {
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 1.7777;
    text-align: left;
    padding-block: 28px 29px;
}
.company th {
    font-weight: 500;
    width: 26%;
}
.company .bg-slide .loop {
    overflow: hidden;
}
.company .bg-slide .loop .loop__box {
    display: flex;
    width: 100vw;
}
.company .bg-slide .loop .loop__box img {
    min-width: 99.2vw;
}
.company .bg-slide .loop .loop__box img:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
}
.company .bg-slide .loop .loop__box img:last-child {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}

/* access
-------------------------------------*/
.access .ttl {
    margin-bottom: 37px;
}
.access .map iframe{
  width: 100%;
  max-width: 100%;
  margin: 0 auto 11px;
}
.access .link {
    display: inline-block;
    font-size: 20px;
    text-align: left;
    color: #000;
    position: relative;
}
.access .link::after {
    position: absolute;
    content: "";
    background: url(../images/office/open-icon.svg)no-repeat;
    background-size: contain;
    width: 13px;
    height: 12px;
    top: 50%;
    right: -23px;
    transform: translateY(-50%);
}

.company-photo {
    padding-block: 40px 76px;
}
.company-photo img {
    width: 100%;
    height: auto;
}

/* sitemap
-------------------------------------*/
.sitemap .wrap {
    padding-block: 0 77px;
}
.sitemap .wrap > .ttl {
    font-weight: bold;
    font-size: 30px;
    position: relative;
    margin-bottom: 28px;
    padding-left: 22px;
}
.sitemap .wrap > .ttl::before {
    position: absolute;
    content: "";
    width: 12px;
    height: 12px;
    background: #131313;
    border-radius: 50%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.sitemap .wrap .bnr-item {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 80px;
}
.sitemap .wrap:nth-of-type(2) {
    padding-block: 0 65px;
}
.sitemap .wrap:nth-of-type(2) .bnr-item li:nth-child(4) {
    position: relative;
    top: -13px;
}
.sitemap .wrap:nth-of-type(3) {
    padding-block: 0 63px;
}


/* recruit
-------------------------------------*/
.recruit {
    background: url(../images/office/recruit-bg.jpg)no-repeat center;
    background-size: cover;
    padding-block: 102px 80px;
}
.recruit .enttl {
    text-align: center;
    margin-bottom: 79px;
}
.recruit .lead {
    font-weight: 500;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 1.4545;
    text-align: center;
    color: #fff;
    margin-bottom: 30px;
}
.recruit .btn {
    width: min(95%, 640px);
    margin-inline: auto;
}
.recruit .btn a {
    display: block;
    background: #F0596D;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.85714;
    text-align: center;
    color: #fff;
    padding-block: 27px;
    position: relative;
    border-radius: 200px;
}
.recruit .btn a::after {
    position: absolute;
    content: "";
    background: url(../images/common/btn-arrow.svg)no-repeat center center;
    background-size: contain;
    width: 10px;
    height: 7px;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
}


.bnr-contact {
    width: min(95%, 1100px);
    margin-inline: auto;
    padding-block: 60px 130px;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
.sitemap .wrap .bnr-item  {
    gap: 2.344vw 6.25vw;
}
.sitemap .wrap .bnr-item img {
    width: 100%;
    height: auto;
}
.bnr-contact img {
    width: 100%;
    height: auto;
}
.sitemap .wrap:nth-of-type(2) .bnr-item li:nth-child(4) {
    top: -1.02vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1000px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1000px) {
.company th, .company td {
    font-size: clamp(0.875rem, 0.047rem + 1.72vw, 1.125rem);
}
}


/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
#office .seo_bread_list {padding: 6.8vw 0vw 3.9vw;}
/* sec共通
-------------------------------------*/
.sec .inner {
    width: 91.79vw;
    margin-inline: auto;
    padding-block: 7.25vw 9.32vw;
}
.sec .enttl {width: 82.13vw;margin-inline: auto;margin-bottom: 2.5vw;}
.sec .ttl {
    font-weight: bold;
    font-size:3.865vw;
    margin-bottom: 6.9vw;
    width: 82.13vw;
    margin-inline: auto;
}

/* company
-------------------------------------*/
.company {
  margin-bottom: 12.8vw;
}
.company table {
    border-top: 0.2vw solid #CCCCCC;
    width: 100%;
}
.company tr {
    border-bottom: 0.2vw solid #CCCCCC;
}
.company th,
.company td {
    font-weight: 400;
    font-size:3.382vw;
    letter-spacing: 0.02em;
    line-height: 2;
    text-align: left;
    display: block;
    padding: 0 5vw 4.6vw;
}
.company th {
    font-weight: 500;
    padding: 4.2vw 4.8vw 2.9vw;
}
.company td {
    line-height: 1.71428;
}
.company .bg-slide .loop {
    overflow: hidden;
}
.company .bg-slide .loop .loop__box {
    display: flex;
    width: 100vw;
}
.company .bg-slide .loop .loop__box img {
    min-width: 262.5vw;
}
.company .bg-slide .loop .loop__box img:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
}
.company .bg-slide .loop .loop__box img:last-child {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}

/* access
-------------------------------------*/
.access .ttl {
    margin-bottom: 5vw;
}
.access .map iframe{
  width: 100%;
  max-width: 100%;
  margin: 0 auto 1.5vw;
  height: 48.31vw;
}
.access .link {
    display: inline-block;
    font-size:3.382vw;
    text-align: left;
    color: #000;
    position: relative;
    padding-left: 4.8vw;
}
.access .link::after {
    position: absolute;
    content: "";
    background: url(../images/office/open-icon.svg)no-repeat;
    background-size: contain;
    width: 3.14vw;
    height: 2.90vw;
    top: 50%;
    right: -4.56vw;
    transform: translateY(-50%);
}

.company-photo {
    padding-block: 2.2vw 8.49vw;
}
.company-photo img {
    width: 100%;
    height: auto;
}

/* sitemap
-------------------------------------*/
.sitemap .wrap {
    padding-block: 2vw 7.5vw;
}
.sitemap .wrap > .ttl {
    font-weight: bold;
    font-size:4.348vw;
    position: relative;
    margin-bottom: 4.2vw;
    padding-left: 3.5vw;
}
.sitemap .wrap > .ttl::before {
    position: absolute;
    content: "";
    width: 1.93vw;
    height: 1.69vw;
    background: #131313;
    border-radius: 50%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.sitemap .wrap .bnr-item {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1.93vw;
    width: 67.63vw;
    margin-inline: auto;
}
.sitemap .wrap:nth-of-type(3) {
    padding-block: 2vw 4vw;
}


/* recruit
-------------------------------------*/
.recruit {
    background: url(../images/office/recruit-bg_sp.jpg)no-repeat center;
    background-size: cover;
    padding-block: 16.2vw 14.5vw;
}
.recruit .enttl {
    text-align: center;
    margin-bottom: 12vw;
}
.recruit .lead {
    font-weight: 500;
    font-size:4.831vw;
    letter-spacing: 0.05em;
    line-height: 1.7;
    text-align: center;
    color: #fff;
    margin-bottom: 13.49vw;
}
.recruit .btn {
    width: 82.13vw;
    margin-inline: auto;
}
.recruit .btn a {
    display: block;
    background: #F0596D;
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 1.85714;
    text-align: center;
    color: #fff;
    padding-block: 3.4vw;
    position: relative;
    border-radius: 48.31vw;
}
.recruit .btn a::after {
    content: "";
    display: block;
    width: 2.42vw;
    height: 1.69vw;
    background: url(../images/common/btn-arrow.svg)no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 7.21vw;
    transform: translateY(-50%);
}

.bnr-contact {
    width: 91.79vw;
    margin-inline: auto;
    padding-block: 7.49vw 19.32vw;
}
}