@charset "UTF-8";
/* ========================================
  @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px), print {
  #company-access .seo_bread_list {
    margin-bottom: -67px;
    color: #FFFFFF;
    position: relative;
    z-index: 2;
  }
  #company-access .seo_bread_list span {
    color: #FFFFFF;
  }
/* fv
-------------------------------------*/
.fv {
  background: url(../images/company-access/fv-bg.png)no-repeat;
  background-size: cover;
  padding: 109px 0 0;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.fv .inner {
  background: url(../images/company-access/fv-innerBg.png)no-repeat center center;
  background-size: contain;
  width: min(95%, 1600px);
  margin-inline: auto;
  position: relative;
  padding: 34px 0 55px;
  text-align: center;
  margin-top: -59px;
}
.fv h2 {
  font-weight: bold;
  font-size: 27px;
  letter-spacing: 0.1em;
  line-height: 1.51851;
  color: #141414;
  text-align: center;
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
}
.fv h2 span {
  display: inline-block;
  margin-inline: auto;
  text-align: center;
  background: linear-gradient(transparent 77%, #FDF202 10%);
  margin-top: 17px;
}
.fv h2::before {
  content: "";
  position: absolute;
  top: -54px;
  left: 60px;
  width: 112px;
  height: 112px;
  background: url(../images/company-access/fv-deco.svg);
  background-size: contain;
}
.fv .subt {
  position: relative;
  z-index: 2;
  margin-bottom: -50px;
}
.fv .en-deco {
  position: absolute;
  top: 0px;
  left: 72px;
}
.fv .deco {
  position: absolute;
  bottom: 38px;
  left: 200px;
  z-index: 2;
}
.fv .label {
  position: absolute;
  top: 69px;
  right: 327px;
  z-index: 2;
}
.fv .staff {
  position: absolute;
  bottom: 0;
  right: 281px;
}
.fv .photo {
  margin-bottom: 22px;
  position: relative;
  z-index: 1;
}
.fv .txt01 {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.875;
  text-align: center;
  color: #141414;
  margin-bottom: 30px;
  position: relative;
}
.fv .txt01::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 533px;
  border-bottom: 2px dotted #707070;
}
.fv .txt02 {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.73333;
  letter-spacing: 0.1em;
  position: relative;
}
.fv .txt02::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 533px;
  border-bottom: 2px dotted #707070;
}

/* worries
-------------------------------------*/
.worries {
  background: #F4F4F4;
  position: relative;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.worries::after {
  content: "";
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 200px;
  background: url(../images/page-common/worries-arrow.svg) no-repeat;
  background-size: contain;
  z-index:2;
}
.worries .inner {
  width: min(95%, 1280px);
  margin-inline: auto;
  padding: 2.5rem 0 17.05rem;
  text-align: center;
}
.worries h2 {
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 0.1em;
  color: #1c1c1c;
  display: inline-block;
  text-align: center;
  position: relative;
  margin-bottom: 1.35rem;
}
.worries h2::after {
  content: "";
  position: absolute;
  top: 18px;
  right: -56px;
  width: 47px;
  height: 52px;
  background: url(../images/page-common/worries-ttl-deco.svg) no-repeat;
  background-size: contain;
}
.worries h2 span {
  font-weight: bold;
  font-size: 40px;
  letter-spacing: 0.1em;
  line-height: 2.45;
  color: #d7000f;
}
.worries .worries-box {
  width: min(95%, 1040px);
  background: #FFFFFF;
  border: 10px solid #EFEFEF;
  padding: 2.75rem 0 1.95rem;
  position: relative;
  margin-inline: auto;
}
.worries .worries-box::before {
  content: "";
  position: absolute;
  top: -3.25rem;
  right: -8.2rem;
  width: 307px;
  height: 253px;
  background: url(../images/company-access/worries-photo01.png) no-repeat;
  background-size: contain;
}
.worries .worries-box::after {
  content: "";
  position: absolute;
  bottom: -1.95rem;
  left: -8.2rem;
  width: 276px;
  height: 212px;
  background: url(../images/page-common/worries-deco.png) no-repeat;
  background-size: contain;
}
.worries .worries-box .list {
  width: min(95%, 900px);
  margin-inline: auto;
  display: grid;
  gap: 1.5rem;
  margin-bottom: 0.6rem;
}
.worries .worries-box .list li {
  color: #141414;
  font-size: 20px;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: left;
  padding: 0 0 0.85rem 7.85rem;
  border-bottom: 1px dashed #8F8F8F;
  position: relative;
}
.worries .worries-box .list li::before {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 5.6rem;
  width: 26px;
  height: 20px;
  background: url(../images/page-common/check-icon.svg) no-repeat;
  background-size: contain;
}
.worries .worries-box .list li span {
  color: #2B6FAC;
}
.worries .worries-box .txt {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}
.worries .worries-box .deco {
  position: absolute;
  right: -5.6rem;
  top: 13.45rem;
}

/* leave
-------------------------------------*/
.leave {
  background: #FCCF00;
  position: relative;
  padding: 0 0 5.3625rem;
  margin-top: -5.2rem;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.leave::before {
  content: "";
  position: absolute;
  top: -8.6rem;
  left: 0;
  width: 100%;
  height: 140px;
  background: url(../images/page-common/leave-bg.svg) no-repeat;
  background-size: cover;
}
.leave .inner {
  width: min(95%, 1600px);
  margin-inline: auto;
  text-align: center;
  padding: 6.7rem 0 0;
  position: relative;
}
.leave h2 {
  text-align: center;
  display: inline-block;
  position: relative;
  margin-bottom: 2.65rem;
  z-index: 2;
  font-size: 44px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.leave h2 span {
  margin-bottom: 1rem;
  display: block;
}
.leave .leave-box {
  width: min(95%, 1100px);
  margin-inline: auto;
  position: relative;
  margin-bottom: 1.955rem;
}
.leave .leave-box .list {
  display: grid;
  gap: 0.8rem;
  margin-bottom: 0.75rem;
}
.leave .leave-box .list li {
  background: #FFFFFF;
  border: 10px solid #FDF202;
  font-size: 24px;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  text-align: left;
  padding: 1.75rem 0 1.75rem 5.35rem;
  position: relative;
}
.leave .leave-box .list li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 3.05rem;
  width: 26px;
  height: 20px;
  background: url(../images/page-common/check-icon02.svg) no-repeat;
  background-size: contain;
}
.leave .leave-box .list li span {
  color: #D7000F;
}
.leave .leave-box .txt {
  color: #141414;
  font-size: 24px;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: right;
}
.leave .lead {
  font-size: 34px;
  line-height: 2.0588235294;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  position: relative;
  display: inline-block;
  margin-bottom: 2.8rem;
}
.leave .lead span {
  color: #D7000F;
  font-size: 42px;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.leave .lead::before, .leave .lead::after {
  content: "";
  position: absolute;
}
.leave .lead::before {
  bottom: 0.6rem;
  left: -5.8rem;
  width: 54px;
  height: 97px;
  background: url(../images/page-common/leave-lead-l.svg) no-repeat;
  background-size: contain;
}
.leave .lead::after {
  bottom: 0.6rem;
  right: -5.8rem;
  width: 54px;
  height: 97px;
  background: url(../images/page-common/leave-lead-r.svg) no-repeat;
  background-size: contain;
}

/* slider */
.slick-track {
  display: flex !important; 
  align-items: center;      
}

/* .slider .slide {
  width: 440px;
  height: 323px;
}
.slider .slick-center {
  width: 700px !important;
  height: 420px;
  margin: 0 10px; 
  z-index: 2;
}
.slider .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
} */
/* .slider .slick-slide { width: 400px;  height: 323px; }
.slider .slick-slide .slide-wrap { overflow: visible; } 
.slider .slick-slide .slide-wrap img {
  width: 100%;
  transition: transform .3s;
}
.slider .slick-center { margin: 0 10px; z-index: 2;   height: 420px;}
.slider .slick-center .slide-wrap img {
  transform: scale(1.925); 
  display: block;
} */
.slide{
  transform: scale(.68);
  transition: transform .3s;
  width: 700px;
}
.slide img{
  width:100%;
}
.slick-center {
  transform: scale(1);
}


.slider .next-arrow,
.slider .prev-arrow {
  position: absolute;
  left: 50%;
  top: 49%;
  transform: translate(-50%, -50%);
  z-index: 3;
  cursor: pointer;
}
.slider .next-arrow {
  margin-left: 357px;
  width: 60px;
}
.slider .prev-arrow {
  margin-left: -355px;
  width: 60px;
}

/* soudan
-------------------------------------*/
.soudan {
  background: url(../images/company-access/soudan-bg.png) no-repeat center;
  background-size: cover;
  padding: 6.6375rem 0 6.15rem;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.soudan .subt {
  font-size: 28px;
  line-height: 2.1428571429;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
  margin-bottom: 1rem;
}
.soudan h2 {
  font-size: 34px;
  line-height: 1.7647058824;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
  margin-bottom: 3.1875rem;
}
.soudan .photo {
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  position: relative;
  margin-bottom: 6.25rem;
}
.soudan .photo::before {
  content: "";
  position: absolute;
  top: -11.2rem;
  right: 28.8125rem;
  width: 117px;
  height: 180px;
  background: url(../images/company-access/soudan-staff.png) no-repeat;
  background-size: contain;
}
.soudan .list {
  width: min(95%, 1280px);
  margin-inline: auto;
  display: grid;
  gap: 6.25rem;
}
.soudan .list li {
  background: #FFFFFF;
  padding: 4.375rem 3.75rem 2.9rem;
  display: grid;
  grid-template-columns: 44.8% 1fr;
  gap: 3.75rem;
}
.soudan .list li .photo-box {
  position: relative;
  margin-bottom: -14rem;
}
.soudan .list li .photo-box .photo{
  padding-left: 5rem;
}
.soudan .list li .photo-box .photo::before{content: none;}
.soudan .list li .photo-box h3 {
  position: absolute;
  top: -6.9rem;
  left: 0;
}
.soudan .list li .txt-box {
    margin: 0.2rem 5rem 0 0;
}
.soudan .list li .txt {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 1.2rem;
}
/* list02 */
.soudan .list li:nth-child(2) {
  padding: 3.775rem 3.75rem 3.5rem;
  grid-template-columns: 1fr 44.8%;
}
.soudan .list li:nth-child(2) .photo-box {}
.soudan .list li:nth-child(2) .txt-box {
    margin: 0.4rem 0 0 5rem;
}
.soudan .list li:nth-child(2) .photo-box h3 {
    left: unset;
    right: 2.5rem;
    top: -6.2rem;
}
.soudan .list li:nth-child(2) .photo-box .photo{padding-right: 5rem;padding-left: 0;}
 
/* merit
-------------------------------------*/
.merit {
}
.merit .inner-box {
  width: min(95%, 1600px);
  margin-inline: auto;
  position: relative;
  padding: 10.15rem 0 5.65rem;
  margin-bottom: 10rem;
}
.merit .inner-box::after {
  background: #D7000F;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 544px;
  z-index: 1;
  pointer-events: none;
}
.merit h2 {
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  text-align: center;
  margin-bottom: 4.9375rem;
  position: relative;
  z-index: 3;
}
.merit h2 span {
  font-size: 32px;
  line-height: 1.25;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.merit .enttl {
  position: absolute;
  top: 4.7rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.merit .list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.5rem;
  position: relative;
  z-index: 2;
  width: min(95%, 1400px);
  margin-inline: auto;
}
.merit .txt-box {
  background: #FFFFFF;
  margin-top: -2rem;
  position: relative;
  z-index: 3;
  width: min(95%, 380px);
  margin-inline: auto;
  height: 378px;
}
.merit .txt-box .num {
  background: #1C1C1C;
  border: 1px solid #FFFFFF;
  font-size: 24px;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  padding: 0.55rem 0;
  margin-bottom: 1.6rem;
}
.merit .txt-box .num span {
  color: #FDF202;
}
.merit .txt-box h3 {
  font-size: 22px;
  line-height: 1.8181818182;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.5rem;
}
.merit .txt-box .txt {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 0 2.5rem 2.4rem;
}
.merit .photo {
  text-align: center;
}

/* product
-------------------------------------*/
.product {
  background: url(../images/page-common/product-bg.png) repeat;
  background-size: contain;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.product .inner {
  width: min(95%, 1200px);
  margin-inline: auto;
  padding: 6.8625rem 0 8.75rem;
}
.product h2 {
  text-align: center;
  margin-bottom: 2.075rem;
}
.product h2 span {
  font-size: 40px;
  line-height: 2.1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 0.0375rem;
  display: block;
}
.product .lead {
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 10.675rem;
  color: #FFFFFF;
  text-align: center;
}
.product .list {
  display: grid;
  gap: 9.8rem;
}
.product .list li {
  background: #FFFFFF;
  padding: 0 0 3.125rem;
  position: relative;
  border-top: 15px solid #2B6FAC;
  z-index: 2;
}
.product .list li h3 {
  font-size: 50px;
  line-height: 1.68;
  letter-spacing: 0em;
  font-weight: 700;
  color: #0488E5;
  text-align: center;
  z-index: 1;
  position: relative;
  background: #fff;
  padding: 0.575rem 0 0.9rem;
}
.product .list li .icon {
  position: absolute;
  top: -7.6rem;
  left: 50%;
  transform: translateX(-50%);
}
.product .item {
  display: flex;
  gap: 1.25rem;
  justify-content: center;
  padding: 0 1.9rem;
  background: #fff;
  position: relative;
}
.product .item li {
  border: none;
  padding: 0;
}
.product .item li .company {
  border: 1px solid #1C1C1C;
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.5rem;
  position: relative;
  width: fit-content;
  margin-right: auto;
  display: flex;
}
.product .item li .company .en {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0em;
  font-weight: 500;
  color: #FFFFFF;
  background: #1C1C1C;
  padding: 0rem 0.62rem;
}
.product .item li .company .type {padding: 0rem 0.62rem;}

/* kitchen */
.product .kitchen .item {
  display: flex;
  gap: 1.25rem;
  justify-content: center;
}

/* access
-------------------------------------*/
.access {
  padding: 8.85rem 0 7.5rem;
}
.access .map-list {
  width: min(95%, 1240px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem;
}
.access .map-list li {
  background: #1C1C1C;
  color: #FFFFFF;
  text-align: center;
  padding: 1.875rem 1.25rem 2.25rem;
}
.access .map-list li h2 {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.access .map-list li .map {
  margin-bottom: 0.25rem;
}
.access .map-list li .map iframe {
  aspect-ratio: 16/9;
  width: 100%;
}
.access .map-list li .address {
  font-size: 14px;
  line-height: 1.8571428571;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.access .bottom-txt {
  text-align: center;
  position: relative;
  width: min(95%, 430px);
  margin-inline: auto;
  padding: 2.8rem 0 0;
}
.access .bottom-txt::before {
  content: "";
  position: absolute;
  bottom: -0.5rem;
  left: -11.2rem;
  width: 146px;
  height: 140px;
  background: url(../images/company-access/access-deco.png) no-repeat;
  background-size: contain;
}
.access .bottom-txt .open {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #141414;
  margin-bottom: 0.9375rem;
  text-align: center;
  display: block;
}
.access .bottom-txt .txt {
  font-size: 24px;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #141414;
  text-align: center;
}


/* form
  -------------------------------------*/
  #company-access .form-Box {
    background: url(../images/index/estimate-bg.png) no-repeat;
    background-size: cover;
    width: min(95%, 1400px);
    margin-inline: auto;
    padding: 9.7rem 0 6rem;
    margin-bottom: 8.7rem;
    position: relative;
  }
  #company-access .formttl_en {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 3rem;
  }
  #company-access .formttl_ja {
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    color: #141414;
    margin-bottom: 4rem;
    position: relative;
  }
  #company-access .formttl_ja::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 19.6rem;
    transform: translateY(-50%);
    width: 63px;
    background: url(../images/company-access/mail-icon.svg) no-repeat;
    background-size: contain;
    height: 42px;
  }
  #company-access .form-Box .form-box-inner {
    padding: 3.5rem 0 6.215rem;
    margin-bottom: 6.5rem;
  }

  #company-access .wpcf7-checkbox .wpcf7-list-item{
    display: block;
  }

  /* #company-access #form .confirm_button, #company-access #form #back_button, input[type="submit"] {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
    width: 640px;
    padding: 31px 0;
  } */
  /* #company-access input[type="submit"] {
    background: #D7000F;
  }
  #company-access #form .confirm_button {
    background: #D7000F;
  }
  #company-access #form .back_button {
    background: #1C1C1C;
    color: #FFFFFF;
    border: none;
  }
  #company-access #form .send_button {
    background: #D7000F;
  } */
  #company-access #form #confirm_area p::after {right: 43px;}
  #company-access #back_area {
    text-align: center;
  }
  /* #company-access #form #back_area p::after {
    content: none;
  }   */


   #company-access #form .tel-box {
    width: min(95%, 1100px);
    margin-inline: auto;
    text-align: center;
    padding-bottom: 1.5rem;
  }
   #company-access #form .tel-box .enttl {margin-bottom: 1.4rem;}
   #company-access #form .tel-box .tel {
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    position: relative;
    display: inline-block;
    margin-bottom: 2.5rem;
  }
   #company-access #form .tel-box .tel::before,
   #company-access #form .tel-box .tel::after {
    content: "";
    position: absolute;
    top: 67%;
    transform: translateY(-50%);
  }
   #company-access #form .tel-box .tel::before {
    background: url(../images/contact/tel-line-l.svg)no-repeat;
    background-size: contain;
    width: 16px;
    height: 35px;
    left: 337px;
  }
   #company-access #form .tel-box .tel::after {
    background: url(../images/contact/tel-line-r.svg)no-repeat;
    background-size: contain;
    width: 16px;
    height: 35px;
    right: 337px;
  }
   #company-access #form .tel-box .num-frame {
    display: flex;
    align-items: center;
    gap: 14px;
    /* justify-content: center; */
    margin: 0 100px;
  }
   #company-access #form .open,
   #company-access #form .close {
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    color: #fff;
    padding: 6px 20px;
  }
  #company-access #form .open-frame {
    margin: 0px 0 0 6px;
  }
   #company-access #form .open {
    background: #1C1C1C;
  }
   #company-access #form .close {
    background: #D7000F;
  }
  #company-access #form .logo {
    margin-right: 16px;
}

/* menu
-------------------------------------*/
.menu {
  background: #EFEFEF;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.menu .inner {
  width: min(95%, 1600px);
  margin-inline: auto;
  padding: 7.35rem 0 12.5rem;
}
.menu h2 {
  font-weight: bold;
  font-size: 40px;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 3.5rem;
}
.menu .menu-box {
  display: grid;
  gap: 2.5rem;
}
.menu .menu-box .upper {
  position: relative;
}
.menu .menu-box .upper::before {
  content: "";
  position: absolute;
  top: -11rem;
  left: 22.5rem;
  width: 147px;
  height: 176px;
  background: url(../images/page-common/menu-deco.png) no-repeat;
  background-size: contain;
}
.menu .menu-box .bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem;
}
.menu .menu-item {
  background: #FFFFFF;
}
.menu .menu-item.mizumawari .item {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  padding: 3.125rem 0;
  justify-content: center;
  width: min(95%, 1100px);
  margin-inline: auto;
}
.menu .menu-item.gaisou .item,
.menu .menu-item.other .item{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  padding: 3.125rem 2.5rem;
}
.menu .menu-item.other .item {
  padding: 3.125rem 2.5rem;
  text-align: center;
}
.menu .menu-box h3 {
  font-weight: bold;
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  color: #fff;
  padding: 1.69rem 0;
}
.menu .menu-box .mizumawari h3 {
  background: #0488E5;
}
.menu .menu-box .gaisou h3 {
  background: #00A63C;
}
.menu .menu-box .other h3 {
  background: #9C6AA5;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1720px)
======================================== */
@media screen and (min-width:768px) and (max-width:1720px) {
  .fv {
    padding: 7.68vw 0 0;
  }
  .fv .inner {
    width: 83.377vw;
    padding: 1.772vw 0 2.866vw;
    margin-top: -3.075vw;
  }
  .fv h2 {
    font-size: 1.407vw;
    margin-bottom: 1.563vw;
    font-size: clamp(0.75rem, -0.006rem + 1.58vw, 1.688rem);
  }
  .fv h2 img {
    width: 10.057vw ;
  }
  .fv h2 span {
    margin-top: 0.886vw;
  }
  .fv h2::before {
    top: -2.814vw;
    left: 3.127vw;
    width: 5.836vw;
    height: 5.836vw;
  }
  .fv .subt {
    margin-bottom: -2.606vw;
  }
  .fv .en-deco {
    top: 0px;
    left: 2.752vw;
  }
  .fv .en-deco img {
    width: 24.648vw ;
  }
  .fv .deco {
    bottom: -0.02vw;
    left: 10.422vw;
  }
  .fv .deco img {
    width: 7.243vw ;
  }
  .fv .label {
    top: 3.596vw;
    right: 16.04vw;
  }
  .fv .label img {
    width: 7.817vw ;
  }
  .fv .staff {
    bottom: 0;
    right: 4.643vw;
  }
  .fv .staff  img {
    width: 4.69vw;
  }
  .fv .photo {
    margin-bottom: 1.146vw;
  }
  .fv .photo img {
    width: 100%;
    height: auto;
  }
  .fv .txt01 {
    font-size: 0.834vw;
    margin-bottom: 1.563vw;
    font-size: clamp(0.625rem, 0.156rem + 0.98vw, 0.938rem);
  }
  .fv .txt01::after {
    bottom: -1.042vw;
    width: 27.775vw;
  }
  .fv .txt02 {
    font-size: 0.782vw;
    font-size: clamp(0.625rem, 0.156rem + 0.98vw, 0.938rem);
  }
  .fv .txt02::after {
    bottom: -0.782vw;
    width: 27.775vw;
  }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1320px)
======================================== */
@media screen and (min-width:768px) and (max-width:1320px) {
/* worries
-------------------------------------*/
.worries::after {
  bottom: 1.515vw ;
  width: 9.091vw;
  height: 15.152vw;
}
.worries .inner {
  width: 96.97vw;
  padding: 3.03vw 0 20.667vw;
}
.worries h2 {
  font-size: 2.424vw;
  margin-bottom: 1.636vw;
}
.worries h2::after {
  top: 1.364vw;
  right: -4.242vw;
  width: 3.561vw;
  height: 3.939vw;
}
.worries h2 span {
  font-size: 3.03vw;
}
.worries .worries-box {
  width: 78.788vw;
  padding: 3.333vw 0 2.364vw;
}
.worries .worries-box::before {
  top: -3.939vw;
  right: -9.939vw;
  width: 23.258vw;
  height: 19.167vw;
}
.worries .worries-box::after {
  bottom: -2.364vw;
  left: -9.939vw;
  width: 20.909vw;
  height: 16.061vw;
}
.worries .worries-box .list {
  width: 68.182vw;
  gap: 1.818vw;
  margin-bottom: 0.727vw;
}
.worries .worries-box .list li {
  font-size: 1.515vw;
  padding: 0 0 1.03vw 9.515vw;
}
.worries .worries-box .list li::before {
  top: 0.848vw;
  left: 6.788vw;
  width: 1.97vw;
  height: 1.515vw;
}
.worries .worries-box .txt {
  font-size: 1.515vw;
}
.worries .worries-box .deco {
  right: -6.788vw;
  top: 16.303vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
  .leave {
    padding: 0 0 15.06vw;
    margin-top: -4.336vw;
  }
  .leave::before {
    top: -7.17vw;
    left: 0;
    width: 100%;
    height: 7.295vw;
  }
}
/* ========================================
@media screen and (min-width:768px) and (max-width:1640px) 
======================================== */
@media screen and (min-width: 768px) and (max-width: 1640px) {
  .leave .inner {
    width: 97.561vw;
    padding: 6.537vw 0 0;
  }
  .leave h2 {
    margin-bottom: 2.585vw;
    font-size: 2.683vw;
  }
  .leave h2 span {
    margin-bottom: 0.976vw;
  }
  .leave .leave-box {
    width: 67.073vw;
    margin-bottom: 1.793vw;
  }
  .leave .leave-box .list {
    gap: 0.78vw;
    margin-bottom: 0.732vw;
  }
  .leave .leave-box .list li {
    font-size: 1.463vw;
    padding: 1.707vw 0 1.707vw 5.22vw;
  }
  .leave .leave-box .list li::before {
    left: 2.976vw;
    width: 1.585vw;
    height: 1.22vw;
  }
  .leave .leave-box .txt {
    font-size: 1.463vw;
  }
  .leave .lead {
    font-size: 2.073vw;
    margin-bottom: 2.683vw;
  }
  .leave .lead span {
    font-size: 2.561vw;
  }
  .leave .lead::before {
    bottom: 0.585vw;
    left: -5.659vw;
    width: 3.293vw;
    height: 5.915vw;
  }
  .leave .lead::after {
    bottom: 0.585vw;
    right: -5.659vw;
    width: 3.293vw;
    height: 5.915vw;
  }
  
  /* slider */
  .slider .slide {
    /* width: 26.829vw; */
    /* transition: width 0.3s ease, transform 0.3s ease; */
    /* height: 19.695vw; */
  }
  .slider .slick-center {
    /* width: 42.683vw !important; */
    /* height: 25.61vw; */
    /* margin: 0 0.61vw; */
  }


  
  .slider .next-arrow {
    margin-left: 21.768vw;
    width: 3.659vw;
  }
  .slider .prev-arrow {
    margin-left: -21.646vw;
    width: 3.659vw;
  }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1800px)
======================================== */
@media screen and (min-width:768px) and (max-width:1800px) {
 /* soudan
-------------------------------------*/
.soudan {
  padding: 6.256vw 0 5.556vw;
}
.soudan .subt {
  font-size: 1.556vw;
  margin-bottom: 0.889vw;
}
.soudan h2 {
  font-size: 1.889vw;
  margin-bottom: 2.833vw;
}
.soudan .photo {
  margin-bottom: 5.556vw;
}
.soudan .photo img {
  width: 100%;
  height: auto;
}
.soudan .photo::before {
  top: -9.956vw;
  right: 25.611vw;
  width: 6.5vw;
  height: 10vw;
}   
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1320px)
======================================== */
@media screen and (min-width:768px) and (max-width:1320px) {
.soudan .list {
  width: 96.97vw;
  gap: 7.576vw;
}
.soudan .list li {
  padding: 5.303vw 4.545vw 3.394vw;
  gap: 4.545vw;
}
.soudan .list li .photo-box {
  margin-bottom: -16.97vw;
}
.soudan .list li .photo-box .photo{
  padding-left: 6.0061vw;
}
.soudan .list li .photo-box h3 {
  top: -8.364vw;
  left: 0;
}
.soudan .list li .photo-box h3 img {
  width: 7.576vw;
}
.soudan .list li .txt-box {
    margin: 0.242vw 6.061vw 0 0;
}
.soudan .list li .txt {
  font-size: 1.312vw;
  margin-bottom: 1.455vw;
}
/* list02 */
.soudan .list li:nth-child(2) {
  padding: 4.576vw 4.545vw 4.242vw;
}
.soudan .list li:nth-child(2) .txt-box {
    margin: 0.485vw 0 0 6.061vw;
}
.soudan .list li:nth-child(2) .photo-box h3 {
    right: 3.03vw;
    top: -7.515vw;
}
.soudan .list li:nth-child(2) .photo-box h3 img {
  width: 7.576vw;
}
.soudan .list li:nth-child(2) .photo-box .photo{padding-right: 6.061vw;padding-left: 0;}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1640px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* merit
-------------------------------------*/
.merit .inner-box {
  width: 97.561vw;
  padding: 9.902vw 0 5.415vw;
  margin-bottom: 9.756vw;
}
.merit .inner-box::after {
  height: 33.171vw;
}
.merit h2 {
  font-size: 2.439vw;
  margin-bottom: 4.817vw;
}
.merit h2 span {
  font-size: 1.951vw;
}
.merit .enttl {
  top: 4.585vw;
}
.merit .enttl img {
  width: 16.951vw;
}
.merit .list {
  gap: 2.439vw;
  width: 85.366vw;
}
.merit .txt-box {
  margin-top: -1.951vw;
  width: 23.171vw;
  height: fit-content;
}
.merit .txt-box .num {
  font-size: 1.463vw;
  padding: 0.537vw 0;
  margin-bottom: 1.561vw;
}
.merit .txt-box h3 {
  font-size: 1.341vw;
  margin-bottom: 1.463vw;
}
.merit .txt-box .txt {
  font-size: clamp(0.625rem, 0.295rem + 0.69vw, 1rem);
  padding: 0 2.439vw 2.341vw;
}
.merit .photo img {
  width: 100%;
  height: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1240px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1240px) {
/* product
-------------------------------------*/
.product .inner {
  width: 96.774vw;
  padding: 8.855vw 0 11.29vw;
}
.product h2 {
  margin-bottom: 2.677vw;
}
.product h2 span {
  font-size: 3.226vw;
  margin-bottom: 0.048vw;
}
.product .lead {
  font-size: 1.613vw;
  margin-bottom: 13.774vw;
}
.product .list {
  gap: 12.645vw;
}
.product .list li {
  padding: 0 0 4.032vw;
}
.product .list li h3 {
  font-size: 4.032vw;
  padding: 0.742vw 0 1.161vw;
}
.product .list li .icon {
  top: -9.806vw;
}
.product .list li .icon img {
  width: 19.435vw;
}
.product .item {
  gap: 1.313vw;
  padding: 0 2.452vw;
}
.product .item li .company {
  font-size: 1.29vw;
  margin-bottom: 0.645vw;
}
.product .item li .company .en {
  font-size: 1.29vw;
  padding: 0px 0.8vw;
}
.product .item li .company .type {padding: 0px 0.8vw;}
.product .item li .photo img {
  width: 100%;
  height: auto;
}

/* kitchen */
.product .kitchen .item {
  gap: 1.613vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1000px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1000px) {
  .access .map-list li h2 {
      font-size: clamp(1.375rem, 0.961rem + 0.86vw, 1.5rem);
  }
  .access .bottom-txt {
    width: 43vw;
    padding: 4.8vw 0 0;
  }
  .access .bottom-txt::before {
    bottom: -0.8vw;
    left: -17.92vw;
    width: 14.6vw;
    height: 14vw;
  }
  .access .bottom-txt .open {
    font-size: 1.6vw;
    margin-bottom: 1.5vw;
  }
  .access .bottom-txt .txt {
    font-size: 2.4vw;
  }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
  #company-access .formttl_ja::after {
    right: 21.778vw;
    width: 4.375vw;
    height: 2.917vw;
  }
  #company-access .formttl_en {
    top: 3.333vw;
    }
    #company-access .formttl_ja {
      font-size: 2.222vw;
      margin-bottom: 4.444vw;
    }
    #company-access .formttl_ja::after {
      right: 21.778vw;
      width: 4.375vw;
      height: 2.917vw;
    }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1240px)
======================================== */
@media screen and (min-width:768px) and (max-width:1240px) {
  #company-access #form .tel-box {
    width: 76.389vw;
    padding-bottom: 1.667vw;
  }
    #company-access #form .tel-box .enttl {margin-bottom: 1.556vw;}
    #company-access #form .tel-box .tel {
    font-size: clamp(0.75rem, -0.064rem + 1.69vw, 1.25rem);
    margin-bottom: 2.778vw;
  }

    #company-access #form .tel-box .tel::before {
    background: url(../images/contact/tel-line-l.svg)no-repeat;
    background-size: contain;
    width: 1.111vw;
    height: 2.431vw;
    left: 22.177vw;
  }
    #company-access #form .tel-box .tel::after {
    width: 1.111vw;
    height: 2.431vw;
    right: 22.177vw;
  }
    #company-access #form .tel-box .num-frame {
    gap: 0.972vw;
    margin: 0 6.944vw;
  }
    #company-access #form .open,
    #company-access #form .close {
    font-size: 0.972vw;
    padding: 0.556vw 1.389vw;
  }
  #company-access #form .open-frame {
    margin: 0 0 0 0.417vw;
  }
  #company-access #form .logo {
    margin-right: 1.111vw;
} 
#company-access #form .logo img {
  width:18.611vw;
}
#company-access #form .num img {
  width:26.042vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1680px)
======================================== */
@media screen and (min-width:768px) and (max-width:1680px) {
  .menu h2 {
    font-size: 2.381vw;
    margin-bottom: 3.333vw;
  }
  .menu .menu-box h3 {
    font-size: 1.905vw;
    padding: 1.61vw 0;
  }
  .menu .menu-box .upper::before {
    top: -10.476vw;
    left: 21.429vw;
    width: 8.75vw;
    height: 10.476vw;
  }
  .menu .menu-item img {
    width: 19.238vw;
    height: auto;
    max-width: 340px;
  }
  .menu .menu-item.mizumawari .item {
    gap: 2.381vw;
    padding: 2.976vw 0;
    width: 65.476vw;
  }
  .menu .menu-item.gaisou .item{
    padding: 2.976vw 2.381vw;
    gap: 1.19vw;
  }
  .menu .menu-item.other .item {
    padding: 2.976vw 2.381vw;
    text-align: center;
  }
}




/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
.main-title {
  margin-bottom: 0;
}
/* fv
-------------------------------------*/
.fv {
  background: url(../images/company-access/fv-bg_sp.png)no-repeat;
  background-size: cover;
  padding: 16vw 0 9.2vw;
}
.fv .inner {
  background: url(../images/company-access/fv-innerBg_sp.png)no-repeat center center;
  background-size: contain;
  position: relative;
  padding: 9vw 0 9vw;
  text-align: center;
  margin-top: -4vw;
}
.fv h2 {
  font-weight: bold;
  font-size:4.589vw;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #141414;
  text-align: center;
  position: relative;
  margin-bottom: 3.2vw;
  display: inline-block;
}
.fv h2 span {
  display: inline-block;
  margin-inline: auto;
  text-align: center;
  background: linear-gradient(transparent 77%, #FDF202 10%);
  margin-top: 3.2vw;
}
.fv h2 span:nth-of-type(2){
  margin-top: 0;
}
.fv h2::before {
  content: "";
  position: absolute;
  top: 1vw;
  left: -24vw;
  width: 21vw;
  height: 21vw;
  background: url(../images/company-access/fv-deco_sp.svg)no-repeat;
  background-size: contain;
}
.fv h2 img {

width: 36.3vw;
}
.fv .subt {
  position: relative;
  z-index: 2;
  margin-bottom: -1vw;
}
.fv .en-deco {
  position: absolute;
  top: -11vw;
  left: 4vw;
}
.fv .en-deco img {
  width: 57vw;
}
.fv .deco {
  position: absolute;
  bottom: 40vw;
  left: 2.2vw;
  z-index: 2;
  width: 17.2vw;
}
.fv .deco img {
  width: 100%;
  height: auto;
}
.fv .label {
  position: absolute;
  top: 65vw;
  right: 4vw;
  z-index: 2;
}
.fv .label img {

width: 20.55vw;
}
.fv .staff {
  position: absolute;
  top: 13.5vw;
  right: 8vw;
  width: 15.5vw;
}
.fv .staff img {
  width: 100%;
  height: auto;
}
.fv .photo {
  margin-bottom: 3.2vw;
  position: relative;
  z-index: 1;
}
.fv .txt01 {
  font-weight: 500;
  font-size:3.382vw;
  letter-spacing: 0.1em;
  line-height: 1.7142857;
  text-align: center;
  color: #141414;
  margin-bottom: 7vw;
  position: relative;
}
.fv .txt01::after {
  content: "";
  position: absolute;
  bottom: -4.8vw;
  left: 50%;
  transform: translateX(-50%);
  width: 74vw;
  border-bottom: 0.3vw dotted #707070;
}
.fv .txt02 {
  font-size:3.382vw;
  font-weight: 500;
  line-height: 1.8571428;
  letter-spacing: 0.1em;
  position: relative;
}
.fv .txt02::after {
  content: "";
  position: absolute;
  bottom: -3vw;
  left: 50%;
  transform: translateX(-50%);
  width: 74vw;
  border-bottom: 0.3vw dotted #707070;
}

/* worries
-------------------------------------*/
.worries {
  background: #F4F4F4;
  position: relative;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.worries::after {
  content: "";
  position: absolute;
  bottom: -8vw;
  left: 50%;
  transform: translateX(-50%);
  width: 17.395vw;
  height: 28.989vw;
  background: url(../images/page-common/worries-arrow.svg) no-repeat;
  background-size: contain;
  z-index:2;
}
.worries .inner {
  width: 94.205vw;
  margin-inline: auto;
  padding: 12.2vw 0 28vw;
  text-align: center;
}
.worries h2 {
  font-weight: 700;
  font-size:4.831vw;
  letter-spacing: 0.1em;
  color: #1c1c1c;
  display: inline-block;
  text-align: center;
  position: relative;
  margin-bottom: 45.5vw;
  margin-inline: auto;
  line-height: 0.2;
}
.worries h2::after {
  content: "";
  position: absolute;
  top: 6.9vw;
  right: -6.9vw;
  width: 7.16vw;
  height: 7.94vw;
  background: url(../images/page-common/worries-ttl-deco.svg) no-repeat;
  background-size: contain;
}
.worries h2 span {
  font-weight: bold;
  font-size:5.797vw;
  letter-spacing: 0.1em;
  line-height: 2.45;
  color: #d7000f;
}
.worries .worries-box {
  background: #FFFFFF;
  border: 1.45vw solid #EFEFEF;
  padding: 5.5vw 0 2.8vw;
  position: relative;
  margin-inline: auto;
}
.worries .worries-box::before {
  content: "";
  position: absolute;
  top: -39.2vw;
  left: 50%;
  width: 66.185vw;
  height: 42.88vw;
  background: url(../images/company-access/worries-photo_sp.png) no-repeat;
  background-size: contain;
  transform: translateX(-50%);
}
.worries .worries-box::after {
  content: "";
  position: absolute;
  bottom: -14.6vw;
  left: -4vw;
  width: 36.94vw;
  height: 28.42vw;
  background: url(../images/page-common/worries-deco.png) no-repeat;
  background-size: contain;
}
.worries .worries-box .list {
  width: 79.712vw;
  margin-inline: auto;
  display: grid;
  gap: 4vw;
  margin-bottom: 1vw;
}
.worries .worries-box .list li {
  color: #141414;
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 0 0 3vw 5.2vw;
  border-bottom: 0.2vw dashed #8F8F8F;
  position: relative;
  text-align: left;
}
.worries .worries-box .list li::before {
  content: "";
  position: absolute;
  top: 2.1vw;
  left: 0vw;
  width: 4.35vw;
  height: 3.385vw;
  background: url(../images/page-common/check-icon.svg) no-repeat;
  background-size: contain;
}
.worries .worries-box .list li span {
  color: #2B6FAC;
}
.worries .worries-box .txt {
  font-size:3.865vw;
  font-weight: 500;
  line-height: 2.5;
  letter-spacing: 0.1em;
  text-align: right;
  margin: 0 5.4vw 0 0;
}
.worries .worries-box .deco {
  position: absolute;
  right: -5vw;
  top: 13vw;
}

/* leave
-------------------------------------*/
.leave {
  background: #FCCF00;
  position: relative;
  padding: 0 0 11vw;
  margin-top: -0.5vw;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.leave::before {
  content: "";
  position: absolute;
  top: -14vw;
  left: 0;
  width: 100%;
  height: 14.5vw;
  background: url(../images/page-common/leave-bg_sp.svg) no-repeat;
  background-size: cover;
}
.leave .inner {
  margin-inline: auto;
  text-align: center;
  padding: 14.3vw 0 3vw;
  position: relative;
}
.leave h2 {
  text-align: center;
  display: inline-block;
  position: relative;
  margin-bottom: 6vw;
  z-index: 2;
  font-size:6.28vw;
  font-weight: 700;
  line-height: 1.3846;
  letter-spacing: 0.1em;
}
.leave h2 img {
width: 91.79vw;
}
.leave h2 span {
  margin-bottom: 3.5vw;
  display: block;
}
.leave .leave-box {
  width: 91.79vw;
  margin-inline: auto;
  position: relative;
  margin-bottom: 5.2vw;
}
.leave .leave-box .list {
  display: grid;
  gap: 1.7vw;
  margin-bottom: 0.2vw;
}
.leave .leave-box .list li {
  background: #FFFFFF;
  border: 1.45vw solid #FDF202;
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  text-align: left;
  padding: 3.6vw 2.4vw 4vw 10vw;
  position: relative;
}
.leave .leave-box .list li::before {
  content: "";
  position: absolute;
  top: 5.5vw;
  left: 4.4vw;
  width: 4.35vw;
  height: 3.385vw;
  background: url(../images/page-common/check-icon.svg) no-repeat;
  background-size: contain;
}
.leave .leave-box .list li span {
  color: #D7000F;
}
.leave .leave-box .txt {
  color: #141414;
  font-size:3.865vw;
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: 0.1em;
  text-align: right;
}
.leave .lead {
  font-size:5.314vw;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  position: relative;
  display: inline-block;
  margin-bottom: 6vw;
}
.leave .lead span {
  color: #D7000F;
  font-size:6.28vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin: 1vw 0 -7vw;
  display: block;
}
.leave .lead .ls {
  letter-spacing: 0.1em;
}
.leave .photo {
  text-align: center;
}

/* slider */
.slick-track {
  display: flex !important; 
  align-items: center;      
}
/* .slider .slide {
  width: 40vw;
  transition: width 0.3s ease, transform 0.3s ease;
  height: 36vw;
} */

.slide{
  transform: scale(.68);
  transition: transform .3s;
  width: 40vw;
}
.slide img{
  width:100%;
}
.slick-center {
  transform: scale(1);
}

/* .slider .slick-center {
  width: 82vw !important;
  height: 50vw;
  margin: 0 1vw;
}
.slider .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
} */
.slider .next-arrow,
.slider .prev-arrow {
  position: absolute;
  left: 50%;
  top: 48%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
.slider .next-arrow {
  margin-left: 41vw;
  width: 9.7vw;
}
.slider .prev-arrow {
  margin-left: -42vw;
  width: 9.7vw;
}

/* soudan
-------------------------------------*/
.soudan {
  background: url(../images/company-access/soudan-bg_sp.png) no-repeat center;
  background-size: cover;
  padding: 14.8vw 0 15vw;
}
.soudan .subt {
  font-size:3.865vw;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
  margin-bottom: 2.5vw;
}
.soudan h2 {
  font-size:4.831vw;
  line-height: 1.7;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
  margin-bottom: 6.5vw;
}
.soudan .photo {
  width: 100%;
  max-width: 100vw;
  margin-inline: auto;
  position: relative;
  margin-bottom: 14.5vw;
}
.soudan .list {
  width: 91.79vw;
  margin-inline: auto;
  display: grid;
  gap: 17vw;
}
.soudan .list li {
  background: #FFFFFF;
  padding: 14.5vw 4.83vw 2vw;
  display: grid;
}
.soudan .list li .photo-box {
  position: relative;
  order: 1;
}
.soudan .list li .photo-box .photo{margin-bottom: 4vw;}
.soudan .list li .photo-box .photo::before{content: none;}
.soudan .list li .photo-box h3 {
  position: absolute;
  top: -19.1vw;
  left: -5vw;
}
.soudan .list li .txt-box {order: 2;}
.soudan .list li .txt {
  font-size:3.382vw;
  line-height: 1.8571428;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 2vw;
}
/* list02 */
.soudan .list li:nth-child(2) {padding: 11.9vw 4.83vw 2vw;}

/* merit
-------------------------------------*/
.merit {
  position: relative;
}
.merit .inner-box::after {
  background: #D7000F;
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 374.5vw;
  z-index: 1;
  pointer-events: none;
  transform: translateX(-50%);
}
.merit .inner-box {
  width: 91.79vw;
  margin-inline: auto;
  position: relative;
  padding: 31.8vw 0 9.8vw;
  margin-bottom: 14.8vw;
}
.merit h2 {
  font-size:7.729vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  text-align: center;
  margin-bottom: 11.5vw;
  position: relative;
  z-index: 3;
}
.merit h2::after {
  content: none;
}
.merit h2 span {
  font-size:5.797vw;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.merit .enttl {
  position: absolute;
  top: 12vw;
  left: 49%;
  transform: translateX(-50%);
  z-index: 2;
  width: 56.8vw;
}
.merit .enttl img {}
.merit .list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9.5vw;
  position: relative;
  z-index: 2;
}
.merit .txt-box {
  background: #FFFFFF;
  margin-top: -9.5vw;
  position: relative;
  z-index: 3;
  width: 82.126vw;
  margin-inline: auto;
  padding: 0 0 6.4vw;
}
.merit .txt-box .num {
  background: #1C1C1C;
  border: 0.2vw solid #FFFFFF;
  font-size:4.831vw;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  padding: 1vw 0;
  margin-bottom: 5.8vw;
}
.merit .txt-box .num span {
  color: #FDF202;
}
.merit .txt-box h3 {
  font-size:5.314vw;
  line-height: 1.545454;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 3.65vw;
}
.merit .txt-box .txt {
  font-size:3.382vw;
  line-height: 1.87571428;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 0 6vw;
  width: auto;
}
.merit .photo {
  text-align: center;
}
.sec .merit h2 {padding: 0;background: none;font-size: 6.763vw;line-height: 1.35714;margin-bottom: 14vw;}

/* product
-------------------------------------*/
.product {
  background: url(../images/page-common/product-bg_sp.png) repeat;
  background-size: cover;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.product .inner {
  width: 91.79vw;
  margin-inline: auto;
  padding: 12vw 0 15vw;
}
.product h2 {
  text-align: center;
  margin-bottom: 4vw;
}
.product h2 span {
  font-size:7.729vw;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 0.5vw;
  display: block;
}
.product .lead {
  font-size:3.865vw;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 39vw;
  color: #FFFFFF;
  text-align: center;
}
.product .list {
  display: grid;
  gap: 33vw;
}
.product .list li {
  background: #FFFFFF;
  padding: 0 4.83vw 5vw;
  position: relative;
  border-top: 3.5vw solid #2B6FAC;
  z-index: 2;
}
.product .list li h3 {
  font-size:9.662vw;
  letter-spacing: 0em;
  font-weight: 700;
  color: #0488E5;
  text-align: center;
  z-index: 1;
  position: relative;
  background: #fff;
  padding: 5.5vw 0 4vw;
}
.product .list li .icon {
  position: absolute;
  top: -29vw;
  left: 50%;
  transform: translateX(-50%);
  width: 58.3vw;
}
.product .list li .icon img {
  width: 100%;
  height: auto;
}
.product .item {
  display: grid;
  gap: 5vw;
  justify-content: center;
  background: #fff;
  position: relative;
}
.product .item li {
  border: none;
  padding: 0;
}
.product .item li .company {
  border: 0.2vw solid #1C1C1C;
  font-size:3.865vw;
  line-height: 1.875;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0vw;
  position: relative;
  width: fit-content;
  margin-right: auto;
  display: flex;
}
.product .item li .company .en {
  font-size:3.865vw;
  line-height: 1.875;
  letter-spacing: 0em;
  font-weight: 500;
  color: #FFFFFF;
  background: #1C1C1C;
  padding: 0rem 2.5vw;
}
.product .item li .company .type {padding: 0rem 2.2vw;}



/* access
-------------------------------------*/
.access {
  padding: 14vw 0 19vw;
  margin-bottom: 29vw;
}
.access .sec-enttl img {width: 12vw;}
.access .sec-ttl {margin-bottom: 5.8vw;}
.access .map-list {
  width: 91.79vw;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 4.9vw;
}
.access .map-list li {
  background: #1C1C1C;
  color: #FFFFFF;
  text-align: center;
  padding: 7vw 4.8vw 6.2vw;
}
.access .map-list li h2 {
  font-size:4.348vw;
  line-height: 1.777777;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.access .map-list li .map {
  margin-bottom: 3vw;
}
.access .map-list li .map iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: 53.143vw;
}
.access .map-list li .address {
  font-size:3.382vw;
  line-height: 1.8571428571;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.access .bottom-txt {
  text-align: center;
  position: relative;
  width: 88vw;
  margin-inline: auto;
  padding: 4.5vw 0 0;
}
.access .bottom-txt::before {
  content: "";
  position: absolute;
  bottom: -33vw;
  left: 51%;
  transform: translateX(-50%);
  width: 32.6vw;
  height: 29.6vw;
  background: url(../images/company-access/access-deco.png) no-repeat;
  background-size: contain;
}
.access .bottom-txt .open {
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #141414;
  margin-bottom: 2vw;
  text-align: center;
  display: block;
}
.access .bottom-txt .txt {
  font-size:4.831vw;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #141414;
  text-align: center;
}



  /* form
  -------------------------------------*/
  #company-access .form-Box {
    background: url(../images/contact/estimate-bg_sp.png) repeat;
    background-size: contain;
    padding: 24.4vw 0 14vw;
    position: relative;
    width: 91.79vw;
    margin-inline: auto;
    margin-bottom: 6vw;
  }
  #company-access .formttl_en {position: absolute;left: 50%;transform: translateX(-50%);top: 20vw;width: 58vw;}
  #company-access .formttl_en img {
  }
  #company-access .formttl_ja {
    font-weight: bold;
    font-size:5.797vw;
    letter-spacing: 0.1em;
    line-height: 1.666666;
    text-align: center;
    color: #141414;
    margin-bottom: 10vw;
    position: relative;
  }
  #company-access .formttl_ja::after {
    content: "";
    position: absolute;
    top: -10vw;
    left: 50%;
    transform: translateX(-50%);
    width: 11vw;
    background: url(../images/company-access/mail-icon.svg) no-repeat;
    background-size: contain;
    height: 11vw;
  }
  #company-access .form-Box .form-box-inner {
  /* width: min(95%, 91.79vw); */
  /* padding: 6.7vw 4.4vw 9.67vw; */
  }
  #company-access .form-Box .list {
    font-size:3.382vw;
    font-weight: 400;
    line-height: 1.8571;
    letter-spacing: 0.05em;
    margin-bottom: 0vw;
    border-bottom: none;
  }

  #company-access .wpcf7-checkbox .wpcf7-list-item{
    display: block;
  }

  /* #company-access #form .confirm_button, #company-access #form #back_button, input[type="submit"] {
    font-size:3.865vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    padding: 3.4vw 0;
    width: 77.3vw;
  } */
  /* #company-access input[type="submit"] {
    background: #D7000F;
  }
  #company-access #form .confirm_button {
    background: #D7000F;
  }
  #company-access #form .back_button {
    background: #1C1C1C;
    color: #FFFFFF;
    border: none;
  }
  #company-access #form .send_button {
    background: #D7000F;
  } */
  #company-access #form #confirm_area p::after {right: 43px;}
  #company-access #back_area {
    text-align: center;
  }
  /* #company-access #form #back_area p::after {
    content: none;
  }  */

  #company-access .form-Box th {
    /* font-size: 14px; */
    /* padding: 5.4vw 4.4vw 4vw; */
    /* margin-bottom: 5.8vw; */
  }
  #company-access .form-Box td {
    /* font-size: 14px; */
  }
  #company-access .required p::after {
    /* right: -2vw; */
  }
  #company-access .form-Box input[type="text"],   #company-access .form-Box input[type="email"], #company-access .form-Box input[type="tel"], #company-access .form-Box input[type="date"], #company-access .form-Box input[type="datetime-local"], #company-access .form-Box textarea {
    width: 72.5vw;
    margin-inline: auto;
    display: block;
  }
  #company-access td .input_area {
    /* text-align: center; */
  }
  #company-access td .input_area.checkbox,
  #company-access td .input_area.radio {
    text-align: left;
  }
  #company-access #form #confirm_area p::after {
    right: 4vw;
  }


  
  #company-access #form .tel-box {
    width: 84vw;
    margin-inline: auto;
    text-align: center;
    padding-bottom: 1vw;
    padding: 13vw 0 0;
  }
   #company-access #form .tel-box .enttl {margin-bottom: 1.4rem;}
   #company-access #form .tel-box .tel {
    font-weight: 500;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1;
    text-align: center;
    position: relative;
    display: inline-block;
    margin-bottom: 2vw;
    border-bottom: 0.2vw solid #1C1C1C;
    padding: 0 0 3vw;
  }

   #company-access #form .tel-box .num-frame {margin: 6.5vw 0 0 -2vw;}
   #company-access #form .open {
    font-size:3.865vw;
    letter-spacing: 0;
    font-weight: 500;
    padding: 1vw 0 0  12vw;
   }

/* menu
-------------------------------------*/
.menu {
  background: #EFEFEF;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.menu .inner {
  width: 91.79vw;
  margin-inline: auto;
  padding: 9.2vw 0 24.2vw;
}
.menu h2 {
  font-weight: bold;
  font-size:4.831vw;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 6.5vw;
}
.menu .menu-box {
  display: grid;
  gap: 7.5vw;
}
.menu .menu-box .upper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7.5vw;
}
.menu .menu-box .bottom {
  display: grid;
  gap: 8vw;
}
.menu .menu-item {
  background: #FFFFFF;
}
.menu .menu-item li {
  text-align: center;
}
.menu .menu-item.mizumawari .item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4.8vw;
  padding: 7.2vw 4.8vw;
}
.menu .menu-item.gaisou .item,
.menu .menu-item.other .item{
  display: grid;
  grid-template-columns: 1fr;
  gap: 4.8vw;
  padding: 7.2vw 4.8vw;
}
.menu .menu-box h3 {
  font-weight: bold;
  font-size:4.348vw;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  color: #fff;
  padding: 5.8vw 0;
}
.menu .menu-box .mizumawari h3 {
  background: #0488E5;
}
.menu .menu-box .gaisou h3 {
  background: #00A63C;
}
.menu .menu-box .other h3 {
  background: #9C6AA5;
}


}