body {
  color: #000;
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', sans-serif;
  font-weight: 400;
  font-feature-settings: "palt" 1;
  background: #fff;
}

@media screen and (max-width: 768px) {
  body {
    width: 100vw;
    font-size: min(20px, 100vw*(20/750));
  }
}

@media screen and (min-width: 769px) {
  body {
    width: auto;
    font-size: 16px;
  }
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

@media screen and (min-width: 769px) {
  a:hover {
    opacity: 0.75;
    transition: opacity 0.3s ease;
  }
}

header {
  width: 100%;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
}

header .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 48px;
  padding: 0 10px;
}

.logo-as {
  width: 140px;
  margin-top: 4px;
}

.logo {
  width: 65px;
}

#header.UpMove {
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}

#header.DownMove {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

footer {
  padding: min(30px, 100vw*(30/750));
  background-color: #323232;
  color: #fff;
  font-weight: 300;
  text-align: center;
  line-height: 1;
}

@media screen and (min-width: 769px) {
  header {
    padding: 20px 0;
  }

  header .inner {
    max-width: 1500px;
    height: auto;
    margin: auto;
    padding: 0 20px;
  }

  .logo-as {
    width: 260px;
    margin: 0;
  }

  .logo {
    width: 157px;
    margin: 0;
  }

  footer {
    padding: 20px;
    font-size: 13px;
    text-align: center;
  }
}

@media screen and (min-width: 769px) {
  .sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.en {
  font-family: 'Poppins', sans-serif;
}

#kv {
  background-color: #000;
  box-sizing: border-box;
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: calc(35/20);
  letter-spacing: 0.05em;
  overflow: hidden;
}

#kv .kv-wrap {
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#kv .autosalon {
  display: flex;
  align-items: center;
  flex-direction: column;
}

#kv .title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.kv-text{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #383838;
  color: #fff;
  font-weight: 700;
  text-align: center;
}

.kv-text p{
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding-top: 0.8em;
  padding-bottom: 0.8em;
}

@media screen and (max-width: 768px) {
  #kv {
    margin-top: 48px;
  }

  #kv .kv-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-image: url("../images/kv-sp.jpg");
    height: min(1086px, 100vw*(1086/750));
    padding-top: min(48px, 100vw*(38/750));
    padding-bottom: min(38px, 100vw*(38/750));
  }

  #kv .title {
    width: min(423px, 100vw*(423/750));
    margin-block-end: min(40px, 100vw*(40/750));
    margin-inline: auto;
  }

  #kv .kv-logo {
    width: 100%;
  }

  #kv .kv-lead {
    width: min(742px, 100vw*(742/750));
    margin-top: auto;
  }

  #kv .kv-autosalon {
    display: flex;
    flex-direction: column;
    align-items: center;

  }

  #kv .kv-autosalon-logo {
    width: min(278px, 100vw*(278/750));
  }

  #kv .kv-autosalon-date {
    width: min(362px, 100vw*(362/750));
    margin-top: min(20px, 100vw*(20/750));
  }

  .kv-text{
    height: min(356px, 100vw*(356/750));
    font-size: min(40px, 100vw*(40/750));
    line-height: calc(56/40);
  }

  .kv-text p{
    width: min(678px, 100vw*(678/750));
  }
}

@media screen and (min-width: 769px) {
  #kv {
    margin-top: 85px;
    background-image: url("../images/kv-pc.jpg");
    background-size: clamp(768px, 100vw*(1920/1280), 1920px) auto;
    background-position: center top;
  }

  #kv .kv-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    max-width: 1708px;
    height: min(1028px, 100vw*(1028/1280));
    margin: auto;
    padding-left: min(40px, 100vw*(40/1280));
    padding-right: min(40px, 100vw*(40/1280));
    padding-top: min(48px, 100vw*(48/1280));
    padding-bottom: min(92px, 100vw*(92/1280));
  }

  #kv .title {
    width: min(423px, 100vw*(423/1280));
  }

  #kv .kv-logo {
    width: 100%;
  }

  #kv .kv-autosalon {
    width: min(368px, 100vw*(368/1280));
    position: absolute;
    right: min(40px, 100vw*(40/1280));
    top: min(48px, 100vw*(48/1280));
  }

  #kv .kv-autosalon-logo {
    width: min(278px, 100vw*(278/1280));
    margin: auto;
  }

  #kv .kv-autosalon-date {
    width: 100%;
    margin-top: min(15px, 100vw*(15/1280));
  }

  #kv .kv-lead {
    width: min(906px, 100vw*(906/1280));
  }

  .kv-text{
    height: min(226px, 100vw*(226/1280));
    font-size: min(37px, 100vw*(37/750));
    line-height: calc(50/37);
  }

  .kv-text p{
    width: 94%;
    max-width: 1628px;
    padding-top: 0.4em;
    padding-bottom: 0.4em;
  }
}

main {
  position: relative;
  overflow: hidden;
}

main>section {
  display: flex;
  align-items: center;
  flex-direction: column;
}

main .section-title{
  display: grid;
  gap: 1.0em;
  margin-bottom: min(80px, 100vw*(80/750));
  font-size: min(25px, 100vw*(25/750));
  text-align: center;
}

main .section-title span {
  display: block;
  padding-bottom: min(38px, 100vw*(38/750));
  color: #ec1c24;
  font-size: min(47px, 100vw*(47/750));
  font-weight: 500;
  letter-spacing: 0.025em;
  position: relative;
}

main .section-title span:after {
  content: "";
  display: inline-block;
  width: min(120px, 100vw*(120/750));
  height: min(4px, 100vw*(4/750));
  background-color: #ec1c24;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (min-width: 769px) {
  main .section-title{
    gap: 0.5em;
    margin-bottom: min(80px, 100vw*(80/1280));
    font-size: min(25px, 100vw * (25 / 1280));
    letter-spacing: 0.1em;
  }

  main .section-title span {
    padding-bottom: min(20px, 100vw*(20/1280));
    font-size: min(44px, 100vw*(44/1280));
  }

  main .section-title span:after {
    width: min(120px, 100vw*(120/1280));
    height: 4px;
  }
}

#concept {
  background-color: #383838;
  padding-bottom: min(80px, 100vw*(80/750));
  color: #fff;
}

.concept-wrap {
  display: grid;
  gap: min(48px, 100vw*(48/750));
  width: 100%;
}

.concept-column {
  display: grid;
  grid-template-rows: min(480px, 100vw*(480/750)) max-content max-content;
  background-color: #000;
  background-position: center min(35px, 100vw*(35/750));
  background-repeat: no-repeat;
  background-size: min(674px, 100vw*(674/750));
}

.concept-column:nth-of-type(1) {
  background-image: url("../images/concept1.jpg");
}

.concept-column:nth-of-type(2) {
  background-image: url("../images/concept2.jpg");
}

.concept-column:nth-of-type(3) {
  background-image: url("../images/concept3.jpg");
}

.concept-column h3 {
  align-self: flex-end;
  justify-self: center;
  line-height: 1;
}

.concept-column:nth-of-type(1) h3 {
  margin-bottom: min(50px, 100vw*(50/1280));
}

.concept-column:nth-of-type(2) h3{
  margin-bottom: min(20px, 100vw*(20/1280));
}

.concept-column:nth-of-type(3) h3{
  margin-bottom: min(30px, 100vw*(20/1280));
}

.concept1-logo{
  width: min(350px, 100vw*(350/750));
}

.concept2-logo {
  width: min(281px, 100vw*(281/750));
}

.concept3-logo {
  width: min(238px, 100vw*(238/750));
}

.concept-lead {
  width:  min(674px, 100vw*(674/750));
  margin-top: min(24px, 100vw*(24/750));
  margin-inline: auto;
  font-size: min(23px, 100vw*(23/750));
  font-weight: 400;
  line-height: calc(38/23);
  text-align: justify;
}

.concept-link{
  margin-top: min(60px, 100vw*(60/750));
  margin-bottom: min(70px, 100vw*(70/750));
}

.concept-link :is(a,span){
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  border-radius: min(68px, 100vw*(68/750));
  width: min(398px, 100vw*(398/750));
  height: min(68px, 100vw*(68/750));
  margin: auto;
  font-size: min(37px, 100vw*(37/750));
  font-weight: 500;
  line-height: 1;
}

@media screen and (min-width: 769px) {
  #concept {
    padding-top: min(15px, 100vw*(15/1280));
    padding-bottom: min(160px, 100vw*(160/1280));
  }

  .concept-wrap{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: min(22px, 100vw*(22/1280));
    width: 94%;
    max-width: 1583px;
  }

  .concept-column {
    grid-template-rows: min(350px, 100vw*(350/1280)) 1fr max-content;
    text-align: left;
    background-position: center min(18px, 100vw*(18/1280));
    background-repeat: no-repeat;
    background-size: calc(100% - min(36px, 100vw*(36/1280)));
    transition: 0.3s ease;
    cursor: pointer;
  }

  .concept-column:hover{
    transform: scale(110%);
  }

  .concept-column:nth-of-type(1) {
    background-image: url("../images/concept1.jpg");
  }

  .concept-column:nth-of-type(2) {
    background-image: url("../images/concept2.jpg");
  }

  .concept-column:nth-of-type(3) {
    background-image: url("../images/concept3.jpg");
  }

  .concept-column:nth-of-type(1) h3 {
    margin-bottom: min(30px, 100vw*(20/1280));
  }

  .concept-column:nth-of-type(2) h3{
    margin-bottom: min(20px, 100vw*(20/1280));
  }

  .concept-column:nth-of-type(3) h3{
    margin-bottom: min(10px, 100vw*(10/1280));
  }

  .concept1-logo{
    width: min(265px, 100vw*(265/1280));
  }

  .concept2-logo {
    width: min(213px, 100vw*(213/1280));
  }

  .concept3-logo {
    width: min(181px, 100vw*(181/1280));
  }

  .concept-lead {
    width: 100%;
    margin-top: 0;
    padding: 0 min(18px, 100vw*(18/1280));
    font-size: min(17px, 100vw*(17/1280));
    line-height: calc(26/17);
    text-align: justify;
  }

  .concept-link{
    margin-top: min(40px, 100vw*(40/1280));
    margin-bottom: min(30px, 100vw*(30/1280));
  }

  .concept-link :is(a,span){
    border: 1px solid #fff;
    border-radius: min(40px, 100vw*(40/750));
    width: min(240px, 100vw*(240/750));
    height: min(40px, 100vw*(40/750));
    font-size: min(22px, 100vw*(22/750));
  }
}

#guide {
  position: relative;
  padding-top: min(80px, 100vw*(80/750));
  padding-bottom: min(130px, 100vw*(130/750));
}

#guide:after{
  content: "";
  display: block;
  width: min(658px, 100vw*(658/750));
  margin-inline: auto;
  border-bottom: 1px solid #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.guide-map {
  width: min(658px, 100vw*(658/750));
  margin-bottom: min(60px, 100vw*(60/750));
}

#guide table {
  width: min(658px, 100vw*(658/750));
  border-collapse: collapse;
  border-spacing: 0;
}

#guide table tr th {
  font-weight: 400;
  text-align: left;
}

#guide table tr th,
#guide table tr td {
  padding: 0.5em 0.5em;
  letter-spacing: 0.075em;
  line-height: calc(32/20);
  vertical-align: top;
}

@media screen and (min-width: 769px) {
  #guide{
    padding-top: min(150px, 100vw * (150 / 750));
    padding-bottom: min(140px, 100vw * (140 / 750));
  }

  #guide:after{
    width: 100%;
    max-width: min(1584px, 100vw*(1584/1280));
  }

  .guide-wrap {
    display: grid;
    grid-template-columns: max-content 1fr;
    grid-template-rows: max-content;
    gap: min(20px, 100vw*(20/1280));
  }

  .guide-map {
    grid-row: 1/2;
    grid-column: 2/2;
    width: min(658px, 100vw*(658/1280));
    margin-bottom: 0;
  }

  #guide table {
    grid-row: 1/2;
    grid-column: 1/2;
    width: auto;
  }

  #guide table tr th,
  #guide table tr td {
    padding: 0.25em 0.5em;
    font-size: min(16px, 100vw*(16/1280));
    line-height: calc(26/16);
  }

}

#booth {
  padding-top: min(70px, 100vw*(700/750));
}

#booth .section-title{
  margin-bottom: min(40px, 100vw*(40/750));
}

#booth p {
  width: min(680px, 100vw*(680/750));
  margin-inline: auto;
  font-size: min(23px, 100vw*(23/750));
  font-weight: 500;
  line-height: calc(38/23);
  text-align: justify;
}

#booth .booth-image {
  width: 100%;
  margin-top: min(40px, 100vw*(40/750));
}

@media screen and (min-width: 769px) {
  #booth {
    padding-top: min(180px, 100vw*(180/1280));
  }

  #booth .section-title{
    margin-bottom: min(20px, 100vw*(20/1280));
  }

  #booth p {
    width: 100%;
    font-size: min(23px, 100vw*(23/1280));
    line-height: calc(38/23);
    text-align: center;
  }

  #booth .booth-image {
    max-width: min(1632px, 100vw*(1632/1280));
  }
}

#map {
  padding-top: min(80px, 100vw*(80/750));
  padding-bottom: min(150px, 100vw*(150/750));
}

#map .map-image {
  width: min(666px, 100vw*(666/750));
}

@media screen and (min-width: 769px) {
  #map {
    padding-top: min(100px, 100vw*(100/1280));
    padding-bottom: min(130px, 100vw*(130/1280));
  }

  #map .map-image {
    width: min(964px, 100vw*(964/1280));
  }
}

#information {
  padding-top: min(150px, 100vw*(150/750));
  padding-bottom: min(150px, 100vw*(150/750));
  background-color: #fff;
  color: #000;
  line-height: calc(38/20);
}

#information h2 {
  margin-bottom: min(70px, 100vw*(70/750));
}

#information ul {
  width: min(710px, 100vw*(710/750));
  margin: auto;
  padding: min(30px, 100vw*(30/750)) min(5px, 100vw*(5/750));
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}

#information ul li {
  display: flex;
  margin: 0.25em 0;
}

#information .date {
  display: inline-block;
  width: max-content;
  margin-right: 1.0em;
  letter-spacing: 0.075em;
}

#information ul li a {
  color: #000;
  text-decoration: none;
}

@media screen and (min-width: 769px) {
  #information {
    padding-top: min(160px, 100vw*(160/1280));
    padding-bottom: min(160px, 100vw*(160/1280));
    font-size: min(17px, 100vw*(17/1280));
    line-height: calc(38/17);
  }

  #information h2 {
    margin-bottom: min(45px, 100vw*(45/1280));
  }

  #information ul {
    width: min(1200px, 100vw*(1200/1280));
    padding: min(30px, 100vw*(30/1280)) min(58px, 100vw*(58/1280));
  }

  #information .date {
    margin-right: min(50px, 100vw*(50/1280));
  }
}

#download {
  padding-top: min(50px, 100vw*(50/750));
  padding-bottom: min(130px, 100vw*(130/750));
  background-color: #fff;
  color: #000;
  line-height: calc(38/20);
}

main #download .section-title {
  margin-bottom: min(60px, 100vw*(60/750));
}

#download h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: min(50px, 100vw*(50/750));
  margin-bottom: min(20px, 100vw*(20/750));
  background-color: #282828;
  color: #fff;
  font-size: min(33px, 100vw*(33/750));
  font-weight: 500;
  line-height: 1;
}

.download-column:not(:last-child) {
  margin-bottom: min(90px, 100vw*(90/750));
}

.download-column ul {
  margin-top: min(30px, 100vw*(30/750));
}

.download-column ul li:not(:last-child) {
  margin-bottom: min(20px, 100vw*(20/750));
}

.download-column ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(388px, 100vw*(388/750));
  height: min(68px, 100vw*(68/750));
  margin: auto;
  background-color: #282828;
  color: #fff;
  font-size: min(32px, 100vw*(32/750));
  letter-spacing: 0;
  text-decoration: none;
}

.download-column ul li a span {
  display: flex;
  align-items: center;
  gap: min(20px, 100vw*(20/750));
  width: min(210px, 100vw*(210/750));
  white-space: nowrap;
}

.download-column ul li a span:before {
  content: "";
  display: inline-block;
  width: min(45px, 100vw*(45/750));
  height: min(45px, 100vw*(45/750));
  background-image: url("../images/arrow.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.download-slide figure {
  aspect-ratio: 750/458;
}

.download-slide figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: cover;
}

#download .swiper {
  width: 100vw;
  height: calc(100vw*(660/750));
}

@media screen and (min-width: 769px) {
  #download {
    padding-top: min(20px, 100vw*(20/1280));
    padding-bottom: min(120px, 100vw*(120/1280));
  }

  main #download .section-title {
    margin-bottom: min(100px, 100vw*(100/1280));
  }

  #download h3 {
    margin-bottom: min(30px, 100vw*(30/1280));
    font-size: min(33px, 100vw*(33/1280))
  }

  .download-column:not(:last-child) {
    margin-bottom: min(100px, 100vw*(100/1280));
  }

  .download-column ul {
    margin-top: min(30px, 100vw*(30/1280));
  }

  .download-column ul li:not(:last-child) {
    margin-bottom: min(10px, 100vw*(10/1280));
  }

  .download-column ul li a {
    width: min(270px, 100vw*(270/1280));
    height: min(48px, 100vw*(48/1280));
    font-size: min(22px, 100vw*(22/1280));
    font-weight: 700;
  }

  .download-column ul li a span {
    width: min(150px, 100vw*(150/1280));
    gap: min(10px, 100vw*(10/1280));
  }

  .download-column ul li a span:before {
    width: min(30px, 100vw*(30/1280));
    height: min(30px, 100vw*(30/1280));
  }

  .download-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: min(30px, 100vw*(30/1280));
    column-gap: min(21px, 100vw*(21/1280));
    width: min(1200px, 100vw*(1200/1280));
  }

  .download-slide figure {
    aspect-ratio: 386/236;
  }

  #download .swiper {
    width: auto;
    height: auto;
  }
}

#gallery {
  padding-top: min(100px, 100vw*(100/750));
  padding-bottom: min(130px, 100vw*(130/750));
  background-color: #fff;
}

#gallery h2 {
  width: min(710px, 100vw*(710/750));
  margin: 0 auto min(40px, 100vw*(40/750));
  padding-bottom: 0.25em;
  border-bottom: 2px solid #ff0000;
  color: #000;
  font-size: min(33px, 100vw*(33/750));
  line-height: calc(46/33);
  letter-spacing: 0.1em;
  text-align: center;
}

#gallery .swiper {
  width: 100vw;
  height: calc(100vw*(458/750));
}

.gallery-slide figure {
  aspect-ratio: 750/458;
}

.gallery-slide figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: cover;
}

@media screen and (min-width: 769px) {
  #gallery {
    padding-top: min(100px, 100vw*(100/1280));
    padding-bottom: min(190px, 100vw*(190/1280));
  }

  #gallery h2 {
    width: min(1200px, 100vw*(1200/1280));
    max-width: 1200px;
    margin: 0 auto min(35px, 100vw*(35/1280));
    font-size: min(25px, 100vw*(25/1280));
    line-height: calc(34/25);
  }

  #gallery .swiper {
    width: auto;
    height: auto;
  }

  .gallery-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: min(30px, 100vw*(30/1280));
    column-gap: min(21px, 100vw*(21/1280));
    width: min(1200px, 100vw*(1200/1280));
  }

  .gallery-slide figure {
    aspect-ratio: 386/236;
  }
}

#link{
  background-color: #d2d2d2;
  padding-top: min(50px, 100vw*(50/750));
  padding-bottom: min(50px, 100vw*(50/750));
}

.link-wrap{
  display: grid;
  gap: min(50px, 100vw*(50/750));
}

@media screen and (min-width: 769px) {
  #link {
    padding-bottom: min(50px, 100vw*(50/1280));
    padding-bottom: min(50px, 100vw*(50/1280));
  }

  .link-wrap{
    gap: min(30px, 100vw*(30/750));
    max-width: 1090px;
    margin: auto;
  }
}

.swiper-button-next,
.swiper-button-prev {
  top: 0;
  margin-top: 0;
  width: min(60px, 100vw*(60/750));
  height: min(458px, 100vw*(458/750));
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 0;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 0;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  content: "";
  display: block;
  width: min(60px, 100vw*(60/750));
  height: min(130px, 100vw*(130/750));
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.swiper-button-next:after {
  background-image: url(../images/next.png);
}

.swiper-button-prev:after {
  background-image: url(../images/prev.png);
}

@media screen and (min-width: 769px) {

  .swiper-button-prev,
  .swiper-button-next {
    display: none;
  }
}

#sns {
  padding-top: min(110px, 100vw*(110/750));
  padding-bottom: min(60px, 100vw*(60/750));
  background-color: #323232;
  color: #fff;
}

#sns h2 {
  width: min(210px, 100vw*(210/750));
  padding-bottom: 1.0em;
  margin: 0 auto min(48px, 100vw*(48/750));
  font-size: min(28px, 100vw*(28/750));
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1;
  border-bottom: 2px solid #8c8c8c;
}

.sns-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(60px, 100vw*(60/750));
}

.sns-wrap li a {
  display: flex;
  align-items: center;
  gap: 1.0em;
  color: #fff;
  font-size: min(19px, 100vw*(19/750));
  text-decoration: none;
}

.sns-wrap li a img {
  width: min(54px, 100vw*(54/750));
}

.sns-wrap li:last-child a img {
  width: min(44px, 100vw*(44/750));
}

@media screen and (min-width: 769px) {
  #sns {
    padding-top: min(45px, 100vw*(45/1280));
    padding-bottom: min(40px, 100vw*(40/1280));
    background-color: #323232;
  }

  #sns h2 {
    width: min(210px, 100vw*(210/1280));
    padding-bottom: 1.0em;
    margin: 0 auto min(60px, 100vw*(60/1280));
    font-size: min(25px, 100vw*(25/1280));
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1;
    border-bottom: 2px solid #8c8c8c;
  }

  .sns-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(75px, 100vw*(75/1280));
  }

  .sns-wrap li a {
    display: flex;
    align-items: center;
    gap: 1.0em;
    color: #fff;
    font-size: min(14px, 100vw*(14/1280));
    text-decoration: none;
  }

  .sns-wrap li a img {
    width: min(40px, 100vw*(40/1280));
  }

  .sns-wrap li:last-child a img {
    width: min(44px, 100vw*(44/1280));
  }
}