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

 /* ========================================
   @media screen and (min-width: 768px), print
 ======================================== */
@media screen and (min-width: 768px),print {
/* common */
.inner {
    width: min(95%, 1400px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 19.77% 1fr;
    gap: 4rem;
    margin-bottom: 8.4rem;
}
.inner h2 {
    font-size: 20px;
    line-height: 1.7;
    letter-spacing: 0em;
    font-weight: 700;
}
.inner .enttl {
    font-size: 80px;
    line-height: 1.2;
    letter-spacing: 0em;
    font-weight: 600;
}
.inner .address {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin: 1rem 0 0;
}

.bg-slide .loop {
    padding-top: 13px;
    overflow: hidden;
}
.bg-slide .loop .loop__box {
    display: flex;
    width: 100vw;
}
.bg-slide .loop .loop__box img {
    min-width: 123.96vw;
}
.bg-slide .loop .loop__box img:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
}
.bg-slide .loop .loop__box img:last-child {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}

/* .philosophy 
-------------------------------------*/
.philosophy  {
    background: transparent linear-gradient(180deg, #EBE5D5 0%, #F7F7F7 100%) 0% 0% no-repeat padding-box;
    margin-bottom: 4.4rem;
}
.philosophy .philosophy-inner {
    width: min(95%, 1100px);
    margin-inline: auto;
    position: relative;
    padding-bottom: 8.6rem;
  }
  .philosophy .enttl {
    font-size: 253px;
    line-height: 1.2015810277;
    letter-spacing: 0em;
    font-weight: 600;
    color: #FFFFFF;
    text-align: center;
    position: relative;
    top: -5.8rem;
  }
  .philosophy h2 {
    font-size: 32px;
    line-height: 1.65625;
    letter-spacing: 0.05em;
    font-weight: 700;
    margin-bottom: -2.4rem;
    position: relative;
    top: -6.5rem;
    text-align: center;
  }
  .philosophy .entxt {
    position: absolute;
    top: 9rem;
    right: -3.2rem;
    font-size: 14px;
    line-height: 1.4285714286;
    letter-spacing: 0.12em;
    font-weight: 300;
    text-align: right;
  }
  .philosophy .txt {
    font-size: 20px;
    line-height: 2.5;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin-bottom: 3.1rem;
    text-align: center;
    position: relative;
    z-index: 2;
  }
  .philosophy .en-deco {
    position: absolute;
    bottom: 0;
    right: -12.8rem;
  }
     

  /* company
  -------------------------------------*/
  .company table {
    width: 94.2%;
    border-collapse: collapse;
    margin-top: 1.5rem;
  }
  .company table tr {
    border-top: 1px solid #A1A1A1
  }
  .company table tr:last-child {
    border-bottom: 1px solid #A1A1A1;
  }
  .company table th, .company table td {
    padding: 2.18rem 1rem;
    font-size: 16px;
    line-height: 2.125;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
  .company table th {
    font-weight: 700;
    width: 19.4%;
    padding: 2rem 0rem 2rem 2.5rem;
    text-align: left;
  }

  /* access
  -------------------------------------*/
  .access .inner {
    position: relative;
  }
  .access .map {
    margin-top: 1.2rem;
  }
  .access .map iframe {
    aspect-ratio: 16/9;
    width: 100%;
  }
  .access .btn {
    width: 220px;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .access .btn a {
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 2;
    border-bottom: 1px solid #1A1A1A;
    display: block;
    padding: 0 0 1rem;
    position: relative;
  }
  .access .btn a:hover {
    text-decoration: none;
  }
  .access .btn a::after {
    content: "";
    position: absolute;
    top: 0.4rem;
    right: 0;
    width: 14px;
    height: 14px;
    background:url(../images/company/open-btn.svg) no-repeat;
    background-size: contain;
  }

  /* qa
  -------------------------------------*/
  #qa .inner {
    margin-bottom: 7.6rem;
  }
  #qa .qa-content {
    margin-top: 1.4rem;
    width: 94.2%;
  }
  #qa .accordion {margin: 3em auto; max-width: 60vw; }
  #qa .toggle {display: none; }
  #qa .option {position: relative;margin-bottom: 1.2em;}
  #qa .title, .content {-webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); transition: all 0.3s; }
  #qa .title {padding: 1.9rem 2.4rem;display: flex;font-weight: bold;background: #EBE5D5;align-items: center;gap: 1.3rem;}
  #qa .title::after, .title::before {content: "";position: absolute;right: 3.8em;top: 2.5em;width: 2px;height: 0.95em;background-color: #1A1A1A;transition: all 0.3s;}
  #qa .title::after {transform: rotate(90deg); }
  #qa .content {max-height: 0; overflow: hidden; }
  #qa .content p {margin: 0;padding: 1.9rem 2.4rem 1.9rem 6.2rem;font-weight: 500;
  background-image:url(../images/company/faq-a.svg); background-position: 2.4rem 1.5rem;background-repeat:no-repeat;background-color:#F4F1E9;}
  #qa .content p a{ text-decoration: underline;}
  #qa .toggle:checked + .title + .content {max-height: 500px; transition: all 1.5s; }
  #qa .toggle:checked + .title::before {transform: rotate(90deg) !important; }


#awards{}
#awards .awards-content{}
#awards .awards-content .awards-listframe{}
#awards .awards-content .awards-listframe .ttl-frame{
width: 314px; margin:0 auto 30px auto;padding: 20px 0 15px 0;
background-image:url(../images/company/awards-left.png),url(../images/company/awards-right.png);
background-repeat:no-repeat,no-repeat;
background-position:left 0px bottom 10px,right 0px bottom 10px;}
#awards .awards-content .awards-listframe .ttl-frame .icon{ text-align: center;padding: 0px 0 10px 0;}
#awards .awards-content .awards-listframe .ttl-frame .subt{ text-align: center; font-size: 22px; line-height: 1.4; letter-spacing: 1px; font-weight:bold; }
#awards .awards-content .awards-listframe .awards-list-inner{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -ms-flex-wrap: wrap;flex-wrap: wrap;
  -webkit-box-orient:horizontal;-webkit-box-direction:normal;}
#awards .awards-content .awards-listframe .awards-list-inner li{margin:0 40px 0 0;}
#awards .awards-content .awards-listframe .awards-list-inner li:last-child{margin:0 0px 0 0;}

#awards .awards-content .awards-listframe{
  width:830px; margin:0 0 30px 0;
  -webkit-box-orient:horizontal;-webkit-box-direction:normal;
  -ms-flex-wrap: wrap;flex-wrap: wrap;
  display:-webkit-box;display:-ms-flexbox;display:flex;}
#awards .awards-content .awards-listframe .awards-listframe-one{ width: 760px;margin: 0 auto;}  
#awards .awards-content .awards-listframe .awards-listframe-second{ width: 380px; margin: 0 35px 0 0;}

#sdgs{}
#sdgs .sdgs-content{}
#sdgs .sdgs-content .ttl{margin:0 0 35px 0;}
#sdgs .sdgs-content .txt{ font-size: 17px; line-height:2.2; letter-spacing: 1px; font-weight:500; }


  
  /* link
  -------------------------------------*/
  .link h2 {
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0em;
    font-weight: 700;
    text-align: center;
  }
  .link .enttl {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: 0em;
    font-weight: 600;
    text-align: center;
    margin-bottom: 2.5rem;
  }
  .link .link-inner .list img {
    width: 100%;
  }
  
  .link01 .link-inner {
    width: min(95%, 1000px);
    margin-inline: auto;
    margin-bottom: 5.1rem;
  }
  .link01 .link-inner .list{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem;
  }


  .link02 .link-inner {
    width: min(95%, 1340px);
    margin-inline: auto;
    margin-bottom: 5.1rem;
    text-align: center;
  }
  .link02 .link-inner .ttl-box {
    display: inline-block;
    position: relative;
  }
  .link02 .link-inner .ttl-box::after {
    content: "";
    position: absolute;
    top: -1.8rem;
    right: -11.7rem;
    background:url(../images/company/ttl-deco01.png) no-repeat;
    background-size: contain;
    width: 10.5rem;
    height: 7.313rem;
  }
  .link02 .link-inner .list{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
  }

  .link03 .link-inner {
    width: min(95%, 1100px);
    margin-inline: auto;
    margin-bottom: 12.5rem;
    text-align: center;
  }
  .link03 .link-inner .ttl-box {
    display: inline-block;
    position: relative;
  }
  .link03 .link-inner .ttl-box::after {
    content: "";
    position: absolute;
    top: -2.1rem;
    left: -11.2rem;
    width: 10.625rem;
    height: 7.25rem;
    background:url(../images/company/ttl-deco02.png) no-repeat;
    background-size: contain;
  }
  .link03 .enttl {
    margin-bottom: 2.6rem;
  }
  .link03 .link-inner .list{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5rem;
    text-align: left;
  }
  .link03 .link-inner .list .btn a {
    display: block;
    font-weight: 500;
    font-size: 20px;
    line-height: 2.15;
    letter-spacing: 0;
    border-bottom: 1px solid #1A1A1A;
    text-decoration: none;
    padding: 0 0 0.75rem 1.2rem;
    position: relative;
  }
  .link03 .link-inner .list .btn a::after {
    content: ">";
    position: absolute;
    top: 53%;
    right: 6%;
    transform: translateY(-50%);
    font-size: 20px;
  }
  .link03 .link-inner .list .btn span {
    font-weight: 500;
    font-size: 12px;
    line-height: 1.1667;
    letter-spacing: 0;
    display: block;
  }
}



/* ========================================
@media screen and (min-width:768px) and (max-width:1260px)
======================================== */
@media screen and (min-width:768px) and (max-width:1260px) {
#awards { }
#awards .awards-content { }
#awards .awards-content .awards-listframe { width: 65.87vw; margin: 0 0 2.38vw 0; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-wrap: wrap; flex-wrap: wrap; display: -webkit-box; display: -ms-flexbox; display: flex; }
#awards .awards-content .awards-listframe .ttl-frame { width: 24.92vw; margin: 0 auto 2.38vw auto; padding: 1.59vw 0 1.19vw 0; background-image: url(../images/company/awards-left.png), url(../images/company/awards-right.png); background-repeat: no-repeat, no-repeat; background-position: left 0vw bottom 0.79vw, right 0vw bottom 0.79vw; }
#awards .awards-content .awards-listframe .ttl-frame .icon { text-align: center; padding: 0vw 0 0.79vw 0; }
#awards .awards-content .awards-listframe .ttl-frame .subt {text-align: center;font-size: 1.75vw;line-height: 1.4;font-weight: bold;}
#awards .awards-content .awards-listframe .awards-list-inner { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-orient: horizontal; -webkit-box-direction: normal; }
#awards .awards-content .awards-listframe .awards-list-inner li { margin: 0 3.17vw 0 0;width: 12.7vw; }
#awards .awards-content .awards-listframe .awards-list-inner li img{width: 100%;}
#awards .awards-content .awards-listframe .awards-list-inner li:last-child { margin: 0 0vw 0 0; }
#awards .awards-content .awards-listframe .awards-listframe-one { width: 60.32vw; margin: 0 auto; }
#awards .awards-content .awards-listframe .awards-listframe-second { width: 29.16vw; margin: 0 2.78vw 0 0; }

#awards .awards-content .awards-listframe .bunner-one li{ width: 100%;margin: 1.4vw 0 0 0 !important;}
#awards .awards-content .awards-listframe .awards-listframe-one li { margin: 0 3.17vw 0 0;width: 12.7vw; }

#sdgs { }
#sdgs .sdgs-content { }
#sdgs .sdgs-content .ttl { margin: 0 0 2.78vw 0; }
#sdgs .sdgs-content .ttl img{ width: 78%;}
#sdgs .sdgs-content .txt {}
}



/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
  .philosophy .en-deco {
    right: -2vw;
  }
  .philosophy .en-deco img {
    width:42.014vw;
  }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px)
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
  .inner h2 {
    font-size: clamp(1rem, 0.625rem + 0.78vw, 1.25rem);
  }
  .inner .enttl {
    font-size: clamp(3.125rem, 0.313rem + 5.86vw, 5rem);
  }
  .inner .address {
    font-size: clamp(0.75rem, 0.563rem + 0.39vw, 0.875rem);
  }
  .philosophy .enttl {
    font-size: clamp(5.25rem, -10.594rem + 33.01vw, 15.813rem);
  }
  .philosophy .entxt {
    font-size: clamp(0.625rem, 0.25rem + 0.78vw, 0.875rem);
    right: 0;
  }
  .philosophy .txt {
    font-size: clamp(0.875rem, 0.313rem + 1.17vw, 1.25rem);
  }
  .company table th, .company table td {
    font-size: clamp(0.875rem, 0.688rem + 0.39vw, 1rem);
  }
  .access .btn {
    width:17.188vw;
  }
  .access .btn a {
    font-size: clamp(0.75rem, 0.563rem + 0.39vw, 0.875rem);
  }
  #qa .qa-content {
    font-size: clamp(0.875rem, 0.688rem + 0.39vw, 1rem);
  }
}

/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
/* common */
.inner {
  width: 89.375vw;
  margin-inline: auto;
  margin-bottom: 17.2vw;
}
.inner h2 {
  font-size:3.865vw;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
  order: 1;
}
.inner .enttl {
  font-size:12.077vw;
  line-height: 1.2;
  letter-spacing: 0em;
  font-weight: 600;
  margin-bottom: 7.4vw;
  order: 2;
}
.inner .address {
  font-size:3.382vw;
  line-height: 1.71428;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-bottom: 4vw;
  order: 3;
}

.bg-slide .loop {
  overflow: hidden;
  padding: 5.6vw 0 0;
}
.bg-slide .loop .loop__box {
  display: flex;
  width: 100vw;
}
.bg-slide .loop .loop__box img {
  min-width: 215.6vw;
}
.bg-slide .loop .loop__box img:first-child {
  -webkit-animation: loop 50s -25s linear infinite;
  animation: loop 50s -25s linear infinite;
}
.bg-slide .loop .loop__box img:last-child {
  -webkit-animation: loop2 50s linear infinite;
  animation: loop2 50s linear infinite;
}

/* .philosophy 
-------------------------------------*/
.philosophy  {
  background: transparent linear-gradient(180deg, #EBE5D5 0%, #F7F7F7 100%) 0% 0% no-repeat padding-box;
  margin-bottom: 4.4rem;
}
.philosophy .philosophy-inner {
  position: relative;
  padding-bottom: 4vw;
  width: 89.375vw;
  margin-inline: auto;
}
.philosophy .enttl {
  font-size:20.29vw;
  line-height: 1.2015810277;
  letter-spacing: 0em;
  font-weight: 600;
  color: #FFFFFF;
  text-align: center;
  position: relative;
  top: -7.6vw;
  margin-bottom: 7.2vw;
}
.philosophy h2 {
  font-size:5.797vw;
  line-height: 1.666666;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 8vw;
}
.philosophy .entxt {
  position: absolute;
  top: 10.2vw;
  right: 0.4vw;
  font-size:2.415vw;
  line-height: 1.4;
  letter-spacing: 0.12em;
  font-weight: 300;
  text-align: right;
}
.philosophy .txt {
  font-size:3.382vw;
  line-height: 2.285714;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-bottom: 7.7vw;
  position: relative;
  z-index: 2;
}
.philosophy .en-deco {
  position: absolute;
  bottom: -11vw;
  right: -2.2vw;
  width: 64.976vw;
}

/* company
  -------------------------------------*/
  .company table {
    width: 100%;
    border-collapse: collapse;
  }
  .company table tr {
    border-top: 0.2vw solid #A1A1A1
  }
  .company table tr:last-child {
    border-bottom: 0.2vw solid #A1A1A1;
  }
  .company table th, .company table td {
    padding: 3.2vw 2.2vw;
    line-height: 1.7143;
    letter-spacing: 0.05em;
    font-weight: 500;
    font-size: 3.382vw;
  }
  .company table th {
    font-weight: 700;
    width: 27.4vw;
    padding: 3.2vw 0 3.2vw 2.2vw;
    text-align: left;
    line-height: 2.4285714;
  }
  .company table tr:nth-child(2) td,
  .company table tr:nth-child(10) td,
  .company table tr:nth-child(12) td,
  .company table tr:nth-child(14) td,
  .company table tr:nth-child(15) td {
    padding: 3.8vw 2.2vw;
  }

   /* access
  -------------------------------------*/
  .access .inner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    margin-bottom: 14vw;
  }
  .access .inner .ttl-box {
    display: contents;
  }
  .access .map {order: 4;}
  .access .map iframe {
    aspect-ratio: 16/9;
    width: 100%;
    height: 58vw;
  }
  .access .btn {
    width: 29vw;
    order: 5;
    margin-left: auto;
  }
  .access .btn a {
    font-weight: 500;
    font-size:2.898vw;
    letter-spacing: 0.05em;
    line-height: 2.3333;
    border-bottom: 0.2vw solid #1A1A1A;
    display: block;
    position: relative;
  }
  .access .btn a:hover {
    text-decoration: none;
  }
  .access .btn a::after {
    content: "";
    position: absolute;
    top: 2vw;
    right: 0;
    width: 2.419vw;
    height: 2.419vw;
    background:url(../images/company/open-btn.svg) no-repeat;
    background-size: contain;
  }




#awards{}
#awards .awards-content{}
#awards .awards-content .awards-listframe{}
#awards .awards-content .awards-listframe .ttl-frame{width: 86%;margin: 0 auto 7.25vw auto;padding: 4.83vw 0 3.62vw 0;background-image:url(../images/company/awards-left_sp.png),url(../images/company/awards-right_sp.png);background-repeat:no-repeat,no-repeat;background-position:left 0 bottom 0vw,right 0 bottom 0vw; background-size:contain,contain;}
#awards .awards-content .awards-listframe .ttl-frame .icon{text-align: center;padding: 0 0 2.41vw 0; width: 14vw; margin: 0 auto;}
#awards .awards-content .awards-listframe .ttl-frame .subt{text-align: center;font-size: 4.83vw;line-height: 1.4;letter-spacing: 0.25vw;font-weight: bold;}
#awards .awards-content .awards-listframe .awards-list-inner{
  width: 69vw; margin: 0 auto;
-webkit-box-orient:horizontal;-webkit-box-direction:normal;
-ms-flex-wrap: wrap;flex-wrap: wrap;
display:-webkit-box;display:-ms-flexbox;display:flex;}
#awards .awards-content .awards-listframe .awards-list-inner li{margin: 0 3vw 3vw 0; width: 33vw;}
#awards .awards-content .awards-listframe .awards-list-inner li:nth-child(2n){margin: 0 0 3vw 0;}
#awards .awards-content .awards-listframe{width: 100%;margin: 0 0 7.25vw 0;}
#awards .awards-content .awards-listframe .awards-listframe-one{width: 100%;margin: 0 auto; margin: 0 auto;}
#awards .awards-content .awards-listframe .awards-listframe-second{width: 100%;margin: 0 0 8vw 0;}

.bunner-one{ width: 90vw !important; margin: 0 auto;}
.bunner-one li{ width: 100% !important; margin:0 0 5vw 0 !important;}

#sdgs{}
#sdgs .sdgs-content{}
#sdgs .sdgs-content .ttl{margin: 0 0 8.45vw 0;}
#sdgs .sdgs-content .txt{font-size: 3.38vw;line-height: 2.2;letter-spacing: 0.25vw;font-weight: 500;}




  /* qa
  -------------------------------------*/
  #qa .inner {
    margin-bottom: 14.2vw;
  }
  #qa .enttl {
    margin-bottom: 5vw;
  }
  #qa .qa-content {
  letter-spacing: -0.01em;
  }
  #qa .qa-content img {width: 7.25vw;position: absolute;top: 4vw;left: 3.6vw;}
  #qa .accordion {margin: 3em auto; max-width: 60vw; }
  #qa .toggle {display: none; }
  #qa .option {position: relative;margin-bottom: 4.5vw;}
  #qa .title, .content {-webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); transition: all 0.3s; }
  #qa .title {padding: 4.6vw 16vw 4.6vw 13.4vw;display: block;background: #EBE5D5;font-weight: bold;/* align-items: center; */gap: 2.4vw;position: relative;}
  #qa .title::after, .title::before {content: "";position: absolute;right: 5.4vw;top: 6.8vw;height: 2.4vw;background-color: #1A1A1A;transition: all 0.3s;width: 0.425vw;}
  #qa .title::after {transform: rotate(90deg); }
  #qa .title img {width: 7.25vw;position: absolute;top: 4vw;left: 3.6vw;}
  #qa .content {max-height: 0; overflow: hidden; }
  #qa .content p {margin: 0;padding: 4.6vw 9vw 4.6vw 14.4vw;font-weight: 500;
  background-image:url(../images/company/faq-a.svg); background-size:7vw; background-position: 1.8rem 1.5rem;background-repeat:no-repeat;background-color:#F4F1E9;}
  #qa .content p a{text-decoration: underline;}
  #qa .toggle:checked + .title + .content {max-height: 65.2vw; transition: all 1.5s; }
  #qa .toggle:checked + .title::before {transform: rotate(90deg) !important; }


  /* link
  -------------------------------------*/
  .link h2 {
    font-size:3.382vw;
    line-height: 1.4;
    letter-spacing: 0em;
    font-weight: 700;
    text-align: center;
  }
  .link .enttl {
    font-size:9.662vw;
    line-height: 1.2;
    letter-spacing: 0em;
    font-weight: 600;
    text-align: center;
    margin-bottom: 5vw;
  }
  .link .link-inner .list img {
    width: 100%;
  }

  .link01 .link-inner {
    width: 82.129vw;
    margin-inline: auto;
    margin-bottom: 15vw;
  }
  .link01 .link-inner .list{
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 4.8vw;
  }

  .link02 .link-inner {
    width: 77.295vw;
    margin-inline: auto;
    text-align: center;
    margin-bottom: 14vw;
  }
  .link02 .link-inner h2 {
    margin-bottom: 1vw;
  }
  .link02 .link-inner .enttl {
    line-height: 0.95;
    margin-bottom: 6vw;
    position: relative;
    z-index: 2;
  }
  .link02 .link-inner .ttl-box {
    display: inline-block;
    position: relative;
  }
  .link02 .link-inner .ttl-box::after {
    content: "";
    position: absolute;
    top: -4vw;
    right: -14vw;
    background:url(../images/company/ttl-deco01.png) no-repeat;
    background-size: contain;
    width: 25vw;
    height: 17vw;
  }
  .link02 .link-inner .list{
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 4.8vw;
  }

  .link03 .link-inner {
    width: 82.129vw;
    margin-inline: auto;
    text-align: center;
    margin-bottom: 33.4vw;
  }
  .link03 .link-inner .ttl-box {
    display: inline-block;
    position: relative;
  }
  .link03 .link-inner .ttl-box::after {
    content: "";
    position: absolute;
    top: 0vw;
    left: -22vw;
    width: 24.4vw;
    height: 18.4vw;
    background:url(../images/company/ttl-deco02_sp.png) no-repeat;
    background-size: contain;
  }
  .link03 h2 {
    line-height: 1.7142857;
  }
  .link03 .enttl {
  line-height: 1.1;
  margin-bottom: 5.4vw;
  position: relative;
  z-index: 2;
  }
  .link03 .link-inner .list{
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 7vw;
    text-align: left;
  }
  .link03 .link-inner .list .btn a {
    display: block;
    font-weight: 500;
    font-size:4.831vw;
    line-height: 2.15;
    letter-spacing: 0;
    border-bottom: 1px solid #1A1A1A;
    text-decoration: none;
    padding: 0 0 3vw 5vw;
    position: relative;
  }
  .link03 .link-inner .list .btn a::after {
    content: ">";
    position: absolute;
    top: 53%;
    right: 6%;
    transform: translateY(-50%);
    font-size:4.831vw;
  }
  .link03 .link-inner .list .btn span {
    font-weight: 500;
    font-size:2.898vw;
    line-height: 1.16666;
    letter-spacing: 0;
    display: block;
  }
}