@charset "UTF-8";
/* =====================================
	index
===================================== */

.visual{
    position: relative;
}

.visual_bg{
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
    overflow: hidden;
    background: #eaf1f2;
}

.visual_bg video{
    width: 70%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0 auto;
}

.visual .inner{
    width: 100%;
    max-width: 1400px;
    padding: 313px 50px 302px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.visual h1 img{
    width: 418px;
    margin: 0 0 94px 3.846%;
}

.visual h2{
    width: 100%;
    padding: 0 50px 105px;
    border-bottom: 1px solid #dee8e8;
}

.visual h2 img{
    margin: 0 0 0 auto;
}

.visual p{
    margin: 150px 7.6923% 0 auto;
    display: table;
    font-weight: 500;
}

.service{
    width: 100%;
}

.service .ttl-area{
    width: 100%;
    max-width: 1280px;
    padding: 0 40px 93px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}

.service .ttl-area h2{
    font-size: 4.5rem;
    line-height: 1;
    color: #999d9f;
    padding-left: 20px;
}

.service .ttl-area ul{
    display: flex;
    gap: 70px;
}

.service .ttl-area ul li a{
    font-size: 2.0rem;
    font-weight: 500;
    line-height: 24px;
    color: #a4a29e;
    padding-right: 36px;
    background: url("../img/common/arrow02.svg") no-repeat center right;
    background-size: 24px auto;
}

.service .service-contents .hotel{
    background: #eff4f4;
}

.service .service-contents .hotel .hotel-ttl{
    width: 100%;
    padding: 85px 40px;
    background-color: #e7eded;
    background-image: url("../img/index/bg01.jpg");
    background-repeat: no-repeat, no-repeat;
    background-position: center;
}

.service .service-contents .hotel .hotel-ttl .wrap{
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.service .service-contents .hotel .hotel-ttl .wrap .txt-area h3 .en{
    font-size: 7.0rem;
    line-height: 1;
}

.service .service-contents .hotel .hotel-ttl .wrap .txt-area h3 .en small{
    font-size: 31.43%;
    line-height: 1;
    display: block;
    color: #6c8684;
    margin-bottom: 24px;
}

.service .service-contents .hotel .hotel-ttl .wrap .txt-area h3 .ja{
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1;
    display: block;
    margin-top: 11px;
}

.service .service-contents .hotel .hotel-ttl .wrap .img-area{
    width: calc(100% - 538px);
}

.service .service-contents .hotel .hotel-ttl .wrap h4{
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1;
    display: block;
    width: 100%;
    max-width: 750px;
    margin: 50px 50px 0 auto;
}

.service .service-contents .hotel .hotel-ttl .wrap p{
    width: 100%;
    max-width: 750px;
    margin: 30px 50px 0 auto;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.25;
}

.service .service-contents .hotel .hotel-detail{
    width: 100%;
    max-width: 1240px;
    padding: 105px 40px 375px;
    margin: 0 auto;
}

.service .service-contents .hotel .hotel-detail ul li{
    display: flex;
    justify-content: space-between;
    padding: 70px 0 64px;
    border-bottom: 1px solid #d6e1e1;
}

.service .service-contents .hotel .hotel-detail ul li:first-child{
    padding: 0 0 64px;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(odd){
    flex-direction: row-reverse;
}

.service .service-contents .hotel .hotel-detail ul li:last-child{
    padding: 70px 0 0;
    border-bottom: none;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(1) .txt-area{
    width: 34.9138%;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(2) .txt-area{
    width: 43.5345%;
    margin-left: 30px;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(3) .txt-area{
    width: 34.9138%;
}

.service .service-contents .hotel .hotel-detail ul li .txt-area h4{
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.70455;
}

.service .service-contents .hotel .hotel-detail ul li .txt-area p{
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.067;
    color: #838686;
    margin-top: 22px;
}

.service .service-contents .hotel .hotel-detail ul li .txt-area a{
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    margin-top: 30px;
    padding: 0 30px 3px 0;
    border-bottom: 2px solid #d2d7d7;
    background: url("../img/common/arrow03.svg") no-repeat top 1px right;
    background-size: 14px auto;
    position: relative;
    display: table;
}

.service .service-contents .hotel .hotel-detail ul li .txt-area a::before{
    content: "";
    width: 19px;
    height: 2px;
    background: #231815;
    position: absolute;
    bottom: 0;
    right: 0;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(1) .img-area{
    width: 56.89655%;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(2) .img-area{
    width: 47.4138%;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(3) .img-area{
    width: 59.74138%;
}

.service .service-contents .oem{
    background: #e7eded;
}

.service .service-contents .oem .oem-ttl{
    width: 100%;
    padding: 85px 40px;
    background-color: #e7eded;
    background-image: url("../img/index/bg03.jpg");
    background-repeat: no-repeat;
    background-position: center;
}

.service .service-contents .oem .oem-ttl .wrap{
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row-reverse;
}

.service .service-contents .oem .oem-ttl .wrap .txt-area{
    width: 448px;
}

.service .service-contents .oem .oem-ttl .wrap .txt-area h3 .en{
    font-size: 7.0rem;
    line-height: 1;
}

.service .service-contents .oem .oem-ttl .wrap .txt-area h3 .en small{
    font-size: 31.43%;
    line-height: 1;
    display: block;
    color: #6c8684;
    margin-bottom: 24px;
}

.service .service-contents .oem .oem-ttl .wrap .txt-area h3 .ja{
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1;
    display: block;
    margin-top: 11px;
}

.service .service-contents .oem .oem-ttl .wrap .img-area{
    width: calc(100% - 538px);
}

.service .service-contents .oem .oem-ttl .wrap h4{
    width: 100%;
    max-width: 750px;
    margin: 64px 50px 0 auto;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1;
}

.service .service-contents .oem .oem-ttl .wrap p{
    width: 100%;
    max-width: 750px;
    margin: 30px 50px 0 auto;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.25;
}

.service .service-contents .oem .oem-detail{
    width: 100%;
    max-width: 1180px;
    padding: 140px 40px 196px;
    margin: 0 auto;
}

.service .service-contents .oem .oem-detail h4{
    font-size: 4.5rem;
    line-height: 1;
    color: #8a9294;
}

.service .service-contents .oem .oem-detail ul{
  /* gap / offset は clamp で多少レスポンシブに */
  --col-gap: clamp(24px, 6vw, 86px);
  --row-gap-left: clamp(24px, 5vw, 66px);
  --row-gap-right: clamp(28px, 6vw, 80px);
  --left-offset: clamp(80px, 18vw, 245px);

  list-style: none;
  margin: -44px 0 0;
  padding: 0 0 var(--left-offset);

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* ←ここがレスポンシブの肝 */
  column-gap: var(--col-gap);
  row-gap: var(--row-gap-left);
  align-items: start;
}

/* width固定は外す（gridが勝手にカラム幅に合わせる） */
.service .service-contents .oem .oem-detail ul > li{
  width: auto;
  min-width: 0;
}

/* 左カラム(1,3)を下にずらす */
.service .service-contents .oem .oem-detail ul > li:nth-child(1),
.service .service-contents .oem .oem-detail ul > li:nth-child(3){
  transform: translateY(var(--left-offset));
}

/* 右カラムの段間を80pxにする（ベース66との差分を足す） */
.service .service-contents .oem .oem-detail ul > li:nth-child(4){
  margin-top: calc(var(--row-gap-right) - var(--row-gap-left));
}

/* 画像がカラムに追従するように（任意） */
.service .service-contents .oem .oem-detail ul img{
  width: 100%;
  height: auto;
  display: block;
}

.service .service-contents .oem .oem-detail ul > li h5{
    font-size: 1.95rem;
    font-weight: bold;
    line-height: 1.7497;
    margin-top: 28px;
}

.service .service-contents .oem .oem-detail ul > li p{
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2;
    margin-top: 12px;
    opacity: .5;
}

.service .service-contents .oem .oem-detail ul > li a{
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    margin-top: 26px;
    padding: 0 30px 3px 0;
    border-bottom: 2px solid #d2d7d7;
    background: url("../img/common/arrow03.svg") no-repeat top 1px right;
    background-size: 14px auto;
    position: relative;
}

.service .service-contents .oem .oem-detail ul > li a::before{
    content: "";
    width: 19px;
    height: 2px;
    background: #231815;
    position: absolute;
    bottom: -2px;
    right: 0;
}

.service .service-contents .oem .oem-detail > a{
    font-size: 2.2rem;
    line-height: 1;
    color: #fff;
    margin: -75px 0 0 auto;
    background: #040000;
    width: 453px;
    height: 73px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.service .service-contents .oem .oem-detail > a span{
    padding-right: 35px;
    background: url("../img/common/arrow01.svg") no-repeat center right;
    background-size: 17px auto;
}

.company{
    width: 100%;
    background: #eff4f4;
}

.company .inner{
    width: 100%;
    max-width: 1240px;
    padding: 147px 40px 212px;
    margin: 0 auto;
}

.company h2{
    width: 100%;
    font-size: 4.5rem;
    line-height: 1;
    color: #8f9698;
    padding-bottom: 20px;
    border-bottom: 1px solid #dee8e8;
}

.company ul{
    width: 100%;
    margin-top: 95px;
    padding-left: 30px;
}

.company ul li{
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 130px;
}

.company ul li:last-child{
    margin-bottom: 0;
}

.company ul li .txt-area{
    width: 55.7522%;
}

.company ul li .txt-area h3{
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1.3648;
}

.company ul li .txt-area p{
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.125;
    opacity: .5;
    margin-top: 30px;
}

.company ul li .txt-area .name{
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
    margin-top: 27px;
    width: 100%;
    text-align: right;
    display: table;
    position: relative;
}

.company ul li .txt-area .name::before{
    content: "";
    width: 100%;
    height: 1px;
    background: #dee8e8;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.company ul li .txt-area .name span{
    padding-left: 30px;
    background: #eff4f4;
    position: relative;
    z-index: 10;
}

.company ul li .img-area{
    width: 32.3894%;
}

.infomation{
    width: 100%;
    background: #e6eded;
    padding: 120px 40px 140px;
}

.infomation .wrap{
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    padding-left: 30px;
    display: flex;
    justify-content: space-between;
}

.infomation .wrap .ttl-area{
    width: 37.4336%;
}

.infomation .wrap .ttl-area h2{
    color: #999d9f;
}

.infomation .wrap .ttl-area h2 .en{
    font-size: 4.0rem;
    line-height: 1;
}

.infomation .wrap .ttl-area h2 small{
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
    display: block;
}

.infomation .wrap dl{
    width: 62.5664%;
}

.infomation .wrap dl div{
    width: 100%;
    display: flex;
    padding-bottom: 30px;
    border-bottom: 1px solid #d1dddd;
    margin-bottom: 8px;
}

.infomation .wrap dl div:last-child{
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 0;
}

.infomation .wrap dl div dt{
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
    opacity: .3;
    width: 163px;
    padding-top: 9px;
}

.infomation .wrap dl div dd{
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.82353;
}

.infomation .wrap dl div dd a{
    opacity: .5;
}

.contact{
    width: 100%;
    background: #8f9698;
    padding: 207px 40px 362px;
}

.contact .wrap{
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    padding-left: 30px;
    display: flex;
    justify-content: space-between;
}

.contact .wrap .ttl-area{
    width: 37.7%;
}

.contact .wrap .ttl-area h2{
    font-size: 4.5rem;
    line-height: 1;
    color: #fff;
}

.contact .wrap .ttl-area p{
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.19867;
    color: #fff;
    margin-top: 82px;
}

.contact .wrap form{
    width: 62.3%;
}

.contact .wrap form{
    width: 62.3%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 70px;
}

.contact .wrap form .selectbox{
  position: relative;
  display: inline-block;
  width: 100%;
}

/* ▼アイコン（疑似要素） */
.contact .wrap form .selectbox::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;
  width: 14px;
  height: 14px;
  border-right: 1px solid #d1ccc1;
  border-bottom: 1px solid #d1ccc1;
  transform: translateY(-128%) rotate(45deg);
  pointer-events: none;   /* クリックの邪魔をしない */
}

.contact .wrap form .selectbox select{
    width: 100%;
    padding: 0 56px 26px 0; /* 右は▼分の余白 */
    font-size: 1.5rem;
	font-family: YakuHanJP_Narrow, "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1;
	color: #fff;
    border: none;
    border-bottom: 1px solid #b0b5b7;
    background: none;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    letter-spacing: 0.2em;
}

.contact .wrap form .selectbox select option{
    color: #191a19;
    background: #fff;
}

.contact .wrap form .input-type01{
    width: calc(50% - 20px);
    padding: 0 0 26px;
    font-size: 1.5rem;
	font-family: YakuHanJP_Narrow, "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1;
	color: #fff;
    border: none;
    border-bottom: 1px solid #b0b5b7;
    background: none;
    cursor: pointer;
    letter-spacing: 0.2em;
}

.contact .wrap form .input-type02{
    width: 100%;
    padding: 0 0 26px;
    font-size: 1.5rem;
	font-family: YakuHanJP_Narrow, "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1;
	color: #fff;
    border: none;
    border-bottom: 1px solid #b0b5b7;
    background: none;
    cursor: pointer;
    letter-spacing: 0.2em;
}

::placeholder{
    color: #fff;
}

.contact .wrap form textarea{
    width: 100%;
    height: 206px;
    padding: 15px 20px;
    font-size: 1.5rem;
	font-family: YakuHanJP_Narrow, "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1;
	color: #fff;
    border: 1px solid #b0b5b7;
    background: none;
    cursor: pointer;
    letter-spacing: 0.2em;
}

.contact .wrap form input[type="submit"]{
    width: 100%;
    height: 56px;
    font-size: 2.2rem;
	font-family: "StellarW05-Nova";
    line-height: 1;
	color: #fff;
    border: none;
    background: #040000;
    cursor: pointer;
    letter-spacing: 0.43em;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.5s all ease;
}

.contact .wrap form input[type="submit"]:hover{
    opacity: .7;
}


@media screen and (max-width: 768px) {

.visual_bg video{
    width: 100%;
}

.visual .inner{
    padding: 53.645833vw 5.20833vw 29.296875vw 7.8125vw;
}

.visual h1 img{
    width: 56.38vw;
    margin: 0 0 19.270833vw 3.846%;
}

.visual h2{
    width: 86.979167vw;
    padding: 0 0 27.0833vw;
    border-bottom: 0.1953125vw solid #dee8e8;
    margin: 0 5.20833vw 0 auto;
}

.visual h2 img{
    width: 37.890625vw;
}

.visual p{
    margin: 7.8125vw 0 0 7.8125vw;
}

.service .ttl-area{
    padding: 0 5.20833vw 13.671875vw 7.8125vw;
    display: block;
}

.service .ttl-area h2{
    font-size: 9.1145833vw;
    padding-left: 0;
}

.service .ttl-area ul{
    gap: 0;
    justify-content: space-between;
    margin-top: 4vw;
}

.service .ttl-area ul li a{
    font-size: 3.3854167vw;
    line-height: 4.6875vw;
    padding-right: 6.77vw;
    background: url("../img/common/arrow02.svg") no-repeat center right;
    background-size: 4.6875vw auto;
}

.service .service-contents .hotel .hotel-ttl{
    height: 163.93229167vw;
    margin-bottom: 91.145833vw;
    padding: 15.625vw 0 0;
    background-image: url("../img/index/sp/bg01.jpg");
    background-position: top left;
    background-size: 100% auto;
    position: relative;
}

.service .service-contents .hotel .hotel-ttl .wrap{
    flex-direction: column;
    align-items: flex-start;
}

.service .service-contents .hotel .hotel-ttl .wrap .txt-area h3{
    margin-left: 5.20833vw;
}

.service .service-contents .hotel .hotel-ttl .wrap .txt-area h3 .en{
    font-size: 11.71875vw;
}

.service .service-contents .hotel .hotel-ttl .wrap .txt-area h3 .en small{
    font-size: 33.33%;
    margin-bottom: 5.46875vw;
}

.service .service-contents .hotel .hotel-ttl .wrap .txt-area h3 .ja{
    font-size: 3.90625vw;
    margin-top: 1.3vw;
}

.service .service-contents .hotel .hotel-ttl .wrap .img-area{
    width: 100%;
}

.service .service-contents .hotel .hotel-ttl .wrap h4{
    font-size: 4.6875vw;
    line-height: 1.645833;
    max-width: 79.167vw;
    margin: 14.71354167vw 5.20833vw 0 auto;
}

.service .service-contents .hotel .hotel-ttl .wrap p{
    max-width: 79.167vw;
    margin: 5.859375vw 5.20833vw 0 auto;
    font-size: 3.2552vw;
    line-height: 2;
    letter-spacing: 0;
}

.service .service-contents .hotel .hotel-ttl .wrap .img-area{
    margin-top: 16.67vw;
    position: absolute;
    bottom: -91.145833vw;
    left: 0;
}

.service .service-contents .hotel .hotel-detail{
    padding: 15.8854167vw 7.8125vw 28.90625vw;
}

.service .service-contents .hotel .hotel-detail ul li{
    flex-direction: column-reverse;
    padding: 0;
    border-bottom: none;
}

.service .service-contents .hotel .hotel-detail ul li + li{
    margin-top: 16.9270833vw;
}

.service .service-contents .hotel .hotel-detail ul li:first-child{
    padding: 0;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(odd){
    flex-direction: column-reverse;
}

.service .service-contents .hotel .hotel-detail ul li:last-child{
    padding: 0;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(1) .txt-area{
    width: 100%;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(2) .txt-area{
    width: 100%;
    margin-left: 0;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(3) .txt-area{
    width: 100%;
}

.service .service-contents .hotel .hotel-detail ul li .txt-area h4{
    font-size: 4.296875vw;
    margin-top: 6.90104167vw;
}

.service .service-contents .hotel .hotel-detail ul li .txt-area p{
    font-size: 3.125vw;
    line-height: 2.020833;
    margin-top: 4.4270833vw;
}

.service .service-contents .hotel .hotel-detail ul li .txt-area a{
    font-size: 3.125vw;
    margin-top: 7.5520833vw;
    padding: 0 5.859375vw 1vw 0;
    border-bottom: 0.1953125vw solid #d2d7d7;
    background: url("../img/common/arrow03.svg") no-repeat top 0.133vw right;
    background-size: 2.604167vw auto;
    display: table;
}

.service .service-contents .hotel .hotel-detail ul li .txt-area a::before{
    width: 3.645833vw;
    height: 0.1953125vw;
    bottom: -0.1953125vw;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(1) .img-area{
    width: 100%;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(2) .img-area{
    width: 100%;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(3) .img-area{
    width: calc(100% + 7.8125vw);
    overflow-x: scroll;
}

.service .service-contents .hotel .hotel-detail ul li:nth-child(3) .img-area img{
    width: calc(126.3020833vw + 7.8125vw);
    padding-right: 7.8125vw;
    max-width: inherit;
}

.service .service-contents .oem .oem-ttl{
    height: 171.22395833vw;
    margin-bottom: 91.145833vw;
    padding: 15.8854167vw 0 0;
    background-image: url("../img/index/sp/bg03.jpg");
    background-position: top left;
    background-size: 100% auto;
    position: relative;
}

.service .service-contents .oem .oem-ttl .wrap .txt-area{
    width: 100%;
    padding: 0 5.20833vw;
}

.service .service-contents .oem .oem-ttl .wrap .txt-area h3 .en{
    font-size: 11.71875vw;
}

.service .service-contents .oem .oem-ttl .wrap .txt-area h3 .en small{
    font-size: 33.33%;
    margin-bottom: 5.46875vw;
}

.service .service-contents .oem .oem-ttl .wrap .txt-area h3 .ja{
    font-size: 3.90625vw;
    margin-top: 1.3vw;
}

.service .service-contents .oem .oem-ttl .wrap h4{
    font-size: 4.6875vw;
    line-height: 1.645833;
    max-width: 79.167vw;
    margin: 14.71354167vw 5.20833vw 0 auto;
}

.service .service-contents .oem .oem-ttl .wrap .img-area{
    width: 100%;
}

.service .service-contents .oem .oem-ttl .wrap p{
    max-width: 79.167vw;
    margin: 5.859375vw 5.20833vw 0 auto;
    font-size: 3.2552vw;
    line-height: 2;
    letter-spacing: 0;
}

.service .service-contents .oem .oem-ttl .wrap .img-area{
    margin-top: 16.67vw;
    position: absolute;
    bottom: -91.145833vw;
    left: 0;
}

.service .service-contents .oem .oem-detail{
    padding: 19.0104167vw 5.20833vw 29.6875vw 7.8125vw;
}

.service .service-contents .oem .oem-detail h4{
    font-size: 7.8125vw;
}

.service .service-contents .oem .oem-detail ul{
    width: 79.167vw;
    margin: 10.4167vw 0 0 auto;
    padding: 0;
    display: block;
}

.service .service-contents .oem .oem-detail ul > li{
    width: 100%;
}

.service .service-contents .oem .oem-detail ul > li + li{
    margin-top: 17.96875vw;
}

.service .service-contents .oem .oem-detail ul > li:nth-child(1),
.service .service-contents .oem .oem-detail ul > li:nth-child(3){
    transform: translateY(0);
}

.service .service-contents .oem .oem-detail ul > li:nth-child(4){
    margin-top: 17.96875vw;
}

.service .service-contents .oem .oem-detail ul img{
  width: 100%;
  height: auto;
  display: block;
}

.service .service-contents .oem .oem-detail ul > li h5{
    font-size: 4.296875vw;
    line-height: 1.7045;
    margin-top: 5.9895833vw;
}

.service .service-contents .oem .oem-detail ul > li p{
    font-size: 3.125vw;
    line-height: 2.020833;
    margin-top: 2.34375vw;
}

.service .service-contents .oem .oem-detail ul > li a{
    font-size: 3.125vw;
    margin-top: 7.5520833vw;
    padding: 0 5.859375vw 1vw 0;
    border-bottom: 0.1953125vw solid #d2d7d7;
    background: url("../img/common/arrow03.svg") no-repeat top 0.133vw right;
    background-size: 2.604167vw auto;
    display: table;
}

.service .service-contents .oem .oem-detail ul > li a::before{
    width: 3.645833vw;
    height: 0.1953125vw;
    bottom: -0.1953125vw;
}

.service .service-contents .oem .oem-detail > a{
    font-size: 3.90625vw;
    margin: 16.145833vw 0 0 auto;
    width: 79.167vw;
    height: 12.63020833vw;
}

.service .service-contents .oem .oem-detail > a span{
    padding-right: 5.859375vw;
    background: url("../img/common/arrow01.svg") no-repeat center right;
    background-size: 2.99479167vw auto;
}

.company .inner{
    padding: 19.53125vw 5.20833vw 25.2604167vw;
}

.company h2{
    font-size: 7.8125vw;
    padding-bottom: 10.9375vw;
    border-bottom: none;
}

.company ul{
    margin-top: 0;
    padding-left: 10.4167vw;
}

.company ul li{
    flex-direction: column-reverse;
    margin-bottom: 20.833vw;
}

.company ul li .txt-area{
    width: 100%;
}

.company ul li .txt-area h3{
    font-size: 4.296875vw;
    margin-top: 8.59375vw;
}

.company ul li .txt-area p{
    font-size: 3.125vw;
    margin-top: 4.6875vw;
}

.company ul li .txt-area .name{
    font-size: 3.515625vw;
    margin-top: 6.770833vw;
}

.company ul li .txt-area .name span{
    padding-left: 3.90625vw;
}

.company ul li .img-area{
    width: 58.59375vw;
    margin: 0 0 0 auto;
}

.infomation{
    padding: 17.70833vw 5.20833vw 22.395833vw 7.8125vw;
}

.infomation .wrap{
    padding-left: 0;
    display: block;
}

.infomation .wrap .ttl-area{
    width: 100%;
}

.infomation .wrap .ttl-area h2 .en{
    font-size: 7.8125vw;
}

.infomation .wrap .ttl-area h2 small{
    display: none;
}

.infomation .wrap dl{
    width: 79.167vw;
    margin: 14.3229167vw 0 0 auto;
}

.infomation .wrap dl div{
    display: block;
    padding-bottom: 3.3854167vw;
    margin-bottom: 6.51vw;
}

.infomation .wrap dl div:last-child{
    padding-bottom: 3.3854167vw;
    border-bottom: 1px solid #d1dddd;
}

.infomation .wrap dl div dt{
    font-size: 2.8645833vw;
    font-weight: bold;
    width: 100%;
    padding-top: 0;
}

.infomation .wrap dl div dd{
    font-size: 3.125vw;
    line-height: 1.67;
    margin-top: 1.3vw;
}

.contact{
    padding: 25.78125vw 7.8125vw 28.645833vw;
}

.contact .wrap{
    padding-left: 0;
    display: block;
}

.contact .wrap .ttl-area{
    width: 100%;
}

.contact .wrap .ttl-area h2{
    font-size: 7.8125vw;
}

.contact .wrap .ttl-area p{
    font-size: 2.9296875vw;
    line-height: 2.08711;
    margin-top: 7.29167vw;
}

.contact .wrap form{
    width: 79.167vw;
    margin: 17.4479167vw 0 0 auto;
    row-gap: 9.6354167vw;
}

.contact .wrap form .selectbox::after{
  right: 2.8645833vw;
  width: 1.8229167vw;
  height: 1.8229167vw;;
}

.contact .wrap form .selectbox select{
    padding: 0 7.29167vw 3.90625vw 0; /* 右は▼分の余白 */
    font-size: 3.3854167vw;
}

.contact .wrap form .input-type01{
    width: 100%;
    padding: 0 0 3.90625vw;
    font-size: 3.3854167vw;
}

.contact .wrap form .input-type02{
    padding: 0 0 3.90625vw;
    font-size: 3.3854167vw;
}

::placeholder{
    opacity: .5;
}

.contact .wrap form textarea{
    height: 59.24479167vw;
    padding: 3.90625vw;
    font-size: 3.3854167vw;
}

.contact .wrap form input[type="submit"]{
    height: 14.0625vw;
    font-size: 5.20833vw;
}

.contact .wrap form input[type="submit"]:hover{
    opacity: 1;
}

}