@charset "UTF-8";

.index-content{
    margin-top: 80px;
}
.index-hero{
    position: relative;
}
.index-copy-wrap{
    position: absolute;
    top: 44%;
    transform: translateX(-50%);
    left: 50%;
}
.index-copy,.index-copy-m{
    color: white;
    font-size: 3.6rem;
    text-align: center;
    font-weight: 600;
    letter-spacing: 8%;
    text-shadow: 0 3px 3px rgba(15, 63, 140, 0.50);
}
.index-copy-m{
    font-size: 2rem;
}
.index-business h2{
    text-align: center;
}
.page-content{
    margin-top: 80px;
}
.page-hero{
    background-color: #F5F5F5;
    text-align: center;
    padding: 80px 10px;
}
.en-title{
    color: #9D891D;
    font-size: 1.6rem;
}
.content-100{
    margin-top: 100px;
}
.content-80{
    margin-top: 80px;
}
.center{
    text-align: center;
}
.copy-center{
    text-align: center;
}
.flex-h{
    display: grid;
    gap: 80px;
}
.flex-h h3{
    border-bottom: 1px solid #9D891D;
    padding-bottom: 10px;
    margin-bottom: 20px;
}
.flex-h li{
    display: flex;
    justify-content: space-between;
}

.flex-h-img{
    width: 48%;
}
.flex-h-text{
    width: 45%;
}
.index-business{
    background-image: url(img/bg.jpg);
    padding: 90px 0;
    display: block;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.index-business .en-title{
    text-align: center;
}
.flex-i{
    display: flex;
    justify-content: space-between;
    text-align: center;
    margin-top: 40px;
}
.flex-i-img{
    margin-bottom: 20px;
    overflow: hidden;
}
.flex-i-img img{
    transition: .5s ease all;
}
.flex-i a{
    width: 46%;
}
.flex-i-m{
    font-size: 2rem;
    margin-bottom: 15px;
}
.flex-i-u{
    position: relative;
}
.iu-under{
    position: absolute;
    bottom: -5px;
    border: 0.5px solid #9D891D;
    width: 20px;
    left: 50%;
    transform: translateX(-50%);
}
.flex-i a:hover .flex-i-img img{
    scale: 1.1;
}
.flex-m li{
    display: flex;
    justify-content: space-between;
}
.flex-m{
    display: grid;
    gap: 80px;
}
.flex-m-img{
    width: 44%;
}
.flex-m-text{
    width: 48%;
}
.flex-m-text h4{
    position: relative;
    margin-bottom: 30px;
}
.flex-m-text h4::after{
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    border: 0.5px solid #9D891D;
    width: 30px;
}
.teble-n{
    max-width: 800px;
    margin: 20px auto 0;
}
.content-dl-item{
    display: flex;
    border-top: 1px solid #B9A221;
}
.content-dl-item .content-dl-dt {
    font-weight: 500;
    padding: 20px 0 20px 25px;
    background-color: #F4F1E3;
    width: 20%;
}
.content-dl-item .content-dl-dd {
    padding: 20px 0px 20px 25px;
}
.content-dl-item:last-child{
    border-bottom: 1px solid #B9A221;
}
.teble-h{
    max-width: 800px;
    margin: 20px auto 0;
}
.history-dl-item{
    display: flex;
    border-top: 1px solid #B9A221;
}
.history-dl-item:last-child{
    border-bottom: 1px solid #B9A221;
}
.history-dl-item .history-dl-dt {
    padding: 20px 0 20px 25px;
    width: 20%;
    font-weight: bold;
}
.history-dl-item .history-dl-dd {
    padding: 20px 25px 20px 25px;
    width: 80%;
}
.content-dl-item:last-child{
    border-bottom: 1px solid #B9A221;
}
.company-u-link{
    display: flex;
    justify-content: space-between;
    margin-top: 120px;
}
.company-u-link li{
    width: 31%;
    overflow: hidden;
}
.company-u-link li a{
    position: relative;
    display: inline-block;
}
.company-u-link li p{
    position: absolute;
    bottom: 20px;
    right: 30px;
    color: white;
    font-size: 1.6rem;
    text-shadow: 0 3px 3px rgba(0, 0, 0, 0.5);
}
.company-u-link li img{
    transition: .5s ease all;
}
.company-u-link li a:hover img{
    scale: 1.1;
}
.under-list{
    display: grid;
    gap: 50px;
}
.under-list h3{
    border-bottom: 1px solid #9D891D;
    padding-bottom: 10px;
    margin-bottom: 20px;
}
.job-single-w{
    background-color: #F5F5F5;
    padding: 70px 0;
}
.job-single-w h2{
    text-align: center;
}
.js-flex{
    max-width: 1120px;
    margin: 50px auto 0;
    display: flex;
    justify-content: space-between;
    padding: 0 30px 0 0;
}
.js-slick{
    width: 48%;
}
.js-flex p{
    width: 44%;
}
/*求人*/
.achieve-list{
    display: grid;
    gap: 80px;
}
.achieve-list h3{
    border-bottom: 1px solid #9D891D;
    padding-bottom: 10px;
    margin-bottom: 20px;
}
.achieve-list a{
    margin: 0 auto;
}
.job-ar-flex{
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
    margin-bottom: 50px;
}
.job-ar-img{
    width: 40%;
}
.job-ar-right{
    width: 55%;
}
.job-ar-right div{
    border-top: 1px solid #9D891D;
    display: flex;
}
.job-ar-right div:last-child{
    border-bottom: 1px solid #9D891D;
}
.job-ar-right div p{
    padding: 15px;
}
.job-ar-right div p:first-child{
    width: 20%;
    font-weight: bold;
}
.job-ar-right div p:last-child{
    width: 80%;
    white-space: pre-wrap;
}
.index-company{
    background-color: #F5F5F5;
    padding: 100px 0;
    top: 0;
}
.index-company-inner{
    max-width: 1120px;
    padding: 0 10px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: start;
}
.ic-left .yellow{
    margin-top: 30px;
    font-size: 1.8rem;
    padding-bottom: 10px;
    border-bottom: 1px solid #9D891D;
    color: #9D891D;
    margin-bottom: 15px;
}
.ic-left{
    width: 40%;
    position: sticky;
    top: 180px;
}
.ic-right{
    max-width: 500px;
    display: grid;
    gap: 40px;
    width: 50%;
    max-width: 500px;
}
.index-recruit .flex-m{
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 10px;
}
.ir-right-h{
    color: #9D891D;
    padding-bottom: 5px;
    border-bottom: 1px solid #9D891D;
    margin-bottom: 30px;
    font-size: 1.8rem;
}
.ir-right{
    width: 48%;
}
.ir-right ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 30px;
}
.ir-right ul li{
    width: 46%;
    border-bottom: 1px solid #B9A221;
}
.ir-right ul li a{
    padding: 10px;
    display: block;
}
.ir-wrap img{
    position: absolute;
    left: 0;
    width: 100%;
    max-width: 660px;
    opacity: 0;
}
.ir-wrap{
    display: flex;
    max-width: 1120px;
    padding: 0 10px;
    margin: 50px auto 120px;
    justify-content: right;
}
.ir-wrap .box-link {
    margin-top: 40px;
}
.single-job{
    margin: 100px auto 0;
    padding: 0 10px;
    width: 100%;
    max-width: 800px;
}
.single-job img{
    margin-bottom: 70px;
}
.job-list li{
    border-top: 1px solid #B9A221;
    display: flex;
    flex-wrap: wrap;
}
.job-list li:last-child{
    border-bottom: 1px solid #B9A221;
}
.job-list p{
    padding: 15px;
}
.job-list span{
    padding: 15px;
    width: 77%;
    margin-left: 23%;
    padding-top: 0;
}
.job-list li p:first-child {
    width: 23%;
    font-weight: bold;
}
.job-list li p:nth-child(2) {
    width: 77%;
    white-space: pre-wrap;
}
.job-under-list{
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
.job-under-list li{
    width: 50%;
}
.job-under-list li a{
    padding: 35px 0;
    display: flex;
    justify-content: center;
    gap: 30px;
    border: 1px solid #B9A221;
    align-items: center;
    font-size: 1.8rem;
}
.job-under-list li img{
    height: 50px;
}
.ceo-left{
    color: #9D891D;
}
.ceo-left-h{
    margin-bottom: 10px;
    font-size: 1.8rem;
}
.ceo-his li{
    padding: 20px 10px;
}
.page-ceo .ceo-his li{
    padding:  50px 10px;
}
.ceo-his li:nth-child(odd){
    background-color: #F5F5F5;
}
.ceo-wrap{
    display: flex;
    justify-content: space-between;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 10px;
}
.ceo-left{
    width: 20%;
}
.ceo-right{
    width: 75%;
}
.ceo-u-link{
    display: flex;
    justify-content: space-between;
}
.ceo-u-link li{
    width: 32%;
    border: 1px solid #9D891D;
}
.ceo-u-link li a{
    width: 100%;
    display: grid;
    gap: 30px;
    padding: 30px 25px;
    text-align: center;
}
.ceo-u-link li img{
    height: 55px;
    margin: 0 auto;
}
.contact-form div{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.contact-form{
    margin-top: 60px;
    display: grid;
    gap: 40px;
}
.contact-h{
    font-weight: bold;
    width: 25%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.contact-text{
    width: 70%;
}
.contact-h .contact-day{
    background-color: #15195D;
    color: white;
    padding: 5px 15px;
    margin-left: 40px;
    font-weight: normal;
}
.contact-form .contact-form .address-wrap{
    gap: 20px;
}
.address-wrap-2 img{
    width: 17px;
    margin-right: 20px;
}
.contact-form .address-wrap{
    display: grid;
    gap: 5px;
    width: 70%;
}
.contact-form .address-wrap-2{
    justify-content: flex-start;
}
.contact-form .contact-address-2{
    width: 100%;
}
.contact-form .contact-address{
    width: 40%;
}
.contact-form .box-link{
    margin-top: 80px;
    transition: .5s ease all;
    font-family: "Noto Serif JP";
    letter-spacing: 5%;
    font-size: 1.5rem;
}
.contact-under{
    width: 70%;
    margin-left: 30%;
}
.contact-under .wpcf7-list-item {
  margin: 0 ;
}
.wpcf7-form .blue {
  border-bottom: 1px solid #15195D;
}
.contact-text p{
    width: 100%;
}
.philosophy{
    display: grid;
    gap: 20px;
}
.philosophy li{
    border: 1px solid #9D891D;
    display: flex;
    justify-content: space-between;
    padding: 30px 40px;
    align-items: center;
}
.p-left{
    width: 23%;
    font-size: 1.6rem;
}
.p-right{
    width: 74%;
    font-size: 1.8rem;
    margin: auto 0;
    font-weight: bold;
    line-height: 1.8;
}
.philosophy span{
    width: 16px;
    height: 16px;
    background: #9D891D;
    transform: rotate(45deg);
    margin-right: 20px;
    display: inline-block;
}
.pr-achieve{
    margin-top: 40px;
}
.pr-achieve .job-ar-img {
    width: 40%;
}
.pr-achieve .job-ar-right {
    width: 55%;
}
.business-under{
    background-color: #F5F5F5;
    padding: 60px 0;
    margin-top: 100px;
}
.business-under-inner{
    max-width: 960px;
    margin: 0 auto;
    padding: 0 10px;
}
.business-under-flex{
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}
.business-under-flex img{
    width: 47%;
}
.yellow{
    color: #9D891D;
}
.box-flex{
    display: flex;
    justify-content: space-between;
}
.box-flex .box-link {
    width: 48%;
}
.ic-right a{
    position: relative;
}
.ic-right a p{
    position: absolute;
    color: white;
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.40);
    bottom: 20px;
    right: 20px;
    font-size: 1.7rem;
}
.job-single-link ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    margin-top: 50px;
    gap: 30px;
}
.job-single-link ul li{
    width: 31%;
    padding: 10px 0;
    border-bottom: 1px solid #B9A221;
}
.job-single-link ul li a{
    width: 100%;
    display: inline-block;
}
.slide-images {
    position: absolute;
    width: 47%;
    max-width: 660px;
    left: 0;
}
.slide-images img {
  transition: opacity .8s ease;
}
.slide-images img.active {
  opacity: 1;
}
.job-slide .slick-dots {
  position: static;
  margin-top: 30px;
  justify-content: space-between;
  text-align: left;
  display: flex;
}
.job-slide .slick-dots li{
  width: 100%;
  height: 130px;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center !important;
  border-radius: 20px;
}
.job-slide .slick-dots li, .slick-dots li button {
  width: 100%;
  height: 130px;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center !important;
}
.slick-prev, .slick-next {
  width: 50px;
  height: 50px;
  top: 40%;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #B9A221;
  z-index: 10;
  transform: rotate(45deg);
}
.slick-prev::before, .slick-next::before {
  border-bottom: 1px solid #B9A221;
  border-left: 1px solid #B9A221;
  left: 30px;
  font-size: 15px;
}
.slick-next {
  transform: rotate(225deg);
}
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
  background-color: white;
}
.ceo-wrap{
    position: relative;
}
.ceo-wrap::before{
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    background: #B9A221;
    top: 24px;
    left: 0;
    height: 186%;
}
.ceo-left{
    position: relative;
    padding-left: 20px;
}
.ceo-left::before{
    width: 16px;
    height: 16px;
    background: #9D891D;
    transform: rotate(45deg);
    margin-right: 10px;
    display: inline-block;
    content: "";
    position: absolute;
    top: 8px;
    left: -18px;
}
.ceo-his li:last-child .ceo-wrap::before{
    height: 0;
}
.page-thanks .box-link{
    margin: 30px auto 0;
}
.job-slide img {
    width: 100%;
    height: auto;
    display: block;
}
.iv-top{
    margin-top: 50px;
}
.iv-top h2 span{
    margin-right: 40px;
    color: #A4A4A4;
    font-size: 2.4rem;
}
.iv-top p{
    font-size: 2.4rem;
    margin-top: 10px;
}
.page-interview .ceo-his li:nth-child(2n+1){
    background-color: unset;
}
#link-nicc{
  scroll-margin-top: 100px; 
}
#link-cc{
  scroll-margin-top: 80px; 
}
.ceo-u-link li a img {
    transition: .5s ease all;
}
.ceo-u-link li a:hover{
    color: #9D891D;
}
.ceo-u-link li a:hover img {
  scale: 1.1;
}
.int-h{
    font-size: 2rem;
    margin-right: 20px;
    color: #A4A4A4;
}
.page-interview .ceo-his{
    max-width: 800px;
    margin: 0 auto;
}
.content-occupation p,.page-single-ocu p{
    white-space: pre-wrap;
}
.content-occupation .flex-h li:nth-child(odd) .flex-h-text{
    order: 1;
}
.content-occupation .flex-h li:nth-child(odd) .flex-h-img{
    order: 2;
}
.interview-details{
    margin: 100px auto 80px;
    max-width: 1120px;
    padding: 0 10px;
    
}
.interview-details a{
    text-align: center;
    border: 1px solid #B9A221;
    display: inline-block;
    font-size: 1.8rem;
    width: 100%;
    transition: .5s ease all;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.interview-details a img{
    width: 40%;
}
.interview-details a:hover{
    background-color: #F4F1E3;
}
.interview-text-box{
    width: 50%;
}
.shine-title{
    color: #9D891D;
    margin-bottom: 10px;
    text-align: left;
}
.interviewee-name{
    font-size: 2.4rem;
    text-align: left;
    border-bottom: 0.5px solid #B9A221;
}
/*
.slide-links li.is-active a {
  font-weight: 700;
}
  */
.ir-wrap .js-occupation-slider img{
    position: static;
    opacity: unset;
}
@media only screen and (max-width: 768px) {
    .page-content {
        margin-top: 50px;
    }
    .content-100 {
        margin-top: 80px;
    }
	.index-content {
		margin-top: 50px;
	}
    .index-copy-wrap{
        width: 90%;
    }
    .index-copy{
        font-size: 2.2rem;
    }
    .index-copy-m{
        font-size: 1.2rem;
    }
    .page-hero{
        padding: 50px 10px;
    }
    .flex-h {
        gap: 60px;
    }
    .flex-h li {
        display: grid;
        gap: 40px;
    }
    .flex-h-text{
        width: 100%;
        order: 1;
    }
    .flex-h-img{
        width: 100%;
        order: 2;
    }
    .flex-i {
        display: grid;
        gap: 60px;
    }
    .flex-i a {
        width: 100%;
    }
    .flex-i-m {
        font-size: 1.8rem;
        margin-bottom: 10px;
    }
    .flex-m li{
        display: grid;
        gap: 40px;
    }
    .flex-m-img{
        width: 100%;
        order: 2;
    }
    .flex-m-text{
        width: 100%;
        order: 1;
    }
    .content-dl-item {
        display: grid;
    }
    .content-dl-item .content-dl-dt {
        width: 100%;
        padding: 15px;
        border-bottom: 1px solid #9D891D;
    }
    .content-dl-item .content-dl-dd {
        width: 100%;
    }
    .content-dl-item .content-dl-dd {
        padding: 15px;
    }
    .history-dl-item {
        display: grid;
    }
    .history-dl-item .history-dl-dt {
        width: 100%;
        padding: 15px;
    }
    .history-dl-item .history-dl-dd {
        width: 100%;
    }
    .history-dl-item .history-dl-dd {
        padding: 0 15px 15px;
    }
    .company-u-link {
        display: grid;
        gap: 10px;
    }
    .company-u-link li {
        width: 100%;
    }
    .achieve-list{
        gap: 60px;
    }
    .job-ar-flex{
        display: grid;
        margin-top: 30px;
        margin-bottom: 30px;
        gap: 30px;
    }
    .job-ar-img{
        width: 100%;
    }
    .job-ar-right{
        width: 100%;
    }
    .job-ar-right div {
        display: grid;
    }
    .job-ar-right div p:first-child {
        width: 100%;
    }
    .job-ar-right div p:last-child {
        width: 100%;
        padding-top: 0;
    }
    .under-list{
        gap: 30px;
    }
    .index-business {
        background-image: url(img/bg.jpg);
        padding: 70px 0;
    }
    .index-company {
        padding: 40px 0 60px;
    }
    .index-company-inner {
        display: grid;
        gap: 60px;
    }
    .ic-left {
        width: 100%;
        position: static;
        top: unset;
    }
    .ic-right {
        max-width: unset;
        display: grid;
        gap: 20px;
        width: 100%;
    }
    .ir-wrap {
        display: block;
        padding: 0 10px;
        gap: 20px;
        margin-bottom: 60px;
    }
    .ir-wrap img {
        width: 100%;
    }
    .slide-images {
        height: auto;
        width: 100%;
        position: relative;
        aspect-ratio: 4 / 3;
    }
    .ir-right {
        width: 100%;
    }
    .job-list li p:first-child {
        width: 100%;
    }
    .job-list li p:last-child {
        width: 100%;
        padding-top: 0;
    }
    .job-list li{
        display: grid;
    }
    .job-under-list{
        display: grid;
        justify-content: normal;
    }
    .job-under-list li{
        width: 100%;
    }
    .job-under-list li a{
        padding: 30px 0;
        display: grid;
        gap: 20px;
        font-size: 1.6rem;
    }
    .job-under-list li img {
        margin: 0 auto;
    }
    .contact-form div {
        display: grid;
        gap: 20px;
    }
    .contact-h  {
        width: 100%;
    }
    .contact-text {
        width: 100%;
    }
    .contact-under{
        width: 100%;
        margin-left: 0;
    }
    .contact-form .box-link {
        margin-top: 50px;
    }
    .contact-form .address-wrap {
        width: 100%;
    }
    .contact-form .address-wrap-2 {
        justify-content: flex-start;
        display: flex;
    }
    .contact-form .contact-address {
        width: 70%;
    }
    .philosophy li {
        flex-wrap: wrap;
        padding: 20px;
    }
    .p-left {
        width: 85%;
    }
    .p-right {
        margin-top: 20px;
        font-size: 1.7rem;
        width: 100%;
    }
    .pr-achieve .job-ar-img,.pr-achieve .job-ar-right{
        width: 100%;
    }
    .business-under{
        padding: 50px 0;
        margin-top: 80px;
    }
    .business-under-inner{
        max-width: 960px;
        margin: 0 auto;
    }
    .business-under-flex{
        display: grid;
        gap: 10px;
        margin-top: 40px;
    }
    .business-under-flex img{
        width: 100%;
    }
    .box-flex{
        display: grid;
    }
    .box-flex .box-link {
        width: 280px;
    }
    .js-flex{
        display: block;
        padding: 0;
    }
    .js-flex p {
        width: 100%;
    }
    .js-slick {
        width: 100%;
        margin-top: 30px;
    }
    .js-flex {
        max-width: 1120px;
        justify-content: normal;
        margin: 30px 10px;
    }
    .slick-prev, .slick-next {
        width: 30px;
        height: 30px;
    }
    .job-slide img {
        padding: 0 10px;
    }
    .slick-next {
        right: -5px;
    }
    .slick-prev {
        left: -5px;
    }
    .slick-prev::before, .slick-next::before {
        font-size: 9px;
    }
    .ceo-wrap {
        display: grid;
        gap: 10px;
    }
    .ceo-left,.ceo-right {
        width: 100%;
    }
    .ceo-wrap::before {
        left: 18px;
    }
    .ceo-left::before {
        left: 0px;
    }
    .ceo-left,.ceo-right{
        padding-left: 30px;
    }
    .ceo-his li {
        padding: 15px 0;
    }
    .ceo-wrap::before {
        height: 119%;
    }
    .ceo-u-link {
        display: grid;
        gap: 10px;
    }
    .ceo-u-link li{
        width: 100%;
    }
    .ceo-u-link li a {
        gap: 20px;
    }
    .job-single-w {
        padding: 50px 0;
    }
    .job-single-link ul li {
        width: 46%;
    }
    .job-list span{
        padding-top: 0;
    }
    .iv-top h2 span,.iv-top p{
        font-size: 1.8rem;
    }
    #link-cc,#link-nicc{
        scroll-margin-top: 60px; 
    }
    .job-list li p:nth-child(2) {
        width: 100%;
        padding-top: 0;
    }
    .job-list span {
        width: 100%;
        margin-left: 0;
        padding-top: 0;
    }
    .int-h{
        font-size: 1.7rem;
    }
    .page-ceo .ceo-his li{
        padding:  30px 0;
    }
    .interview-details a{
        display: grid;
        gap: 20px;
        padding: 0 0 20px;
    }
    .interview-details a img{
        width: 100%;
    }
    .interview-text-box{
        width: 100%;
        padding: 0 20px;
    }
    .shine-title{
        color: #9D891D;
        margin-bottom: 10px;
        text-align: left;
    }
    .interviewee-name{
        font-size: 2rem;
        border-bottom: none;
    }
    .job-single-link ul{
        gap: 10px;
        justify-content: space-between;
    }
}
.p-right-sub{
    font-size: 1.5rem;
    font-weight: normal;
    margin: 5px 0 10px;
}
.philosophy-under{
    margin-top: 50px;
    text-align: center;
}
.content-s {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
    margin-top: 0px;
  padding: 0 10px;
}