@charset "UTF-8";
/* CSS Document */


/* ////////////////////////////////////////////////////////////////////////////////

	Common

//////////////////////////////////////////////////////////////////////////////// */
@font-face {
  font-family: 'sns_ico';
  src:
    url('../fonts/sns_ico.ttf?z7sza2') format('truetype'),
    url('../fonts/sns_ico.woff?z7sza2') format('woff'),
    url('../fonts/sns_ico.svg?z7sza2#sns_ico') format('svg');
  font-weight: normal;
  font-style: normal;
}

i.snsIcon {
  font-family: 'sns_ico' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  
	color: #000;
}

.icon-search:before { content: "\e908";}
.icon-arrow1_left:before { content: "\e90c";}
.icon-arrow1_bottom:before { content: "\e90d";}
.icon-arrow1_right:before { content: "\e90e";}
.icon-arrow1_top:before { content: "\e90f";}
.icon-arrow2_left:before { content: "\e910";}
.icon-arrow2_bottom:before { content: "\e911";}
.icon-arrow2_right:before { content: "\e912";}
.icon-arrow2_top:before { content: "\e913";}
.icon-link:before { content: "\e914";}#mainVisual
.icon-note:before { content: "\e915";}
.icon-ap:before { content: "\e900";}
.icon-blo:before { content: "\e901";}
.icon-fb:before { content: "\e902";}
.icon-hp:before { content: "\e903";}
.icon-in:before { content: "\e904";}
.icon-line:before { content: "\e905";}
.icon-spo:before { content: "\e906";}
.icon-tt:before { content: "\e907";}
.icon-yt:before { content: "\e909";}
.icon-x:before { content: "\e90a";}
.icon-wb:before { content: "\e90b";}
.icon-arrow3_top:before { content: "\ea3a";}
.icon-arrow3_right:before { content: "\ea3c";}
.icon-arrow3_bottom:before { content: "\ea3e";}
.icon-arrow3_left:before { content: "\ea40";}


html {
	scroll-behavior: smooth;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
	font-size: min(3.2vw, 14px);
	line-height: 1.8;
  letter-spacing: 0.06em;
	-webkit-text-size-adjust: 100%;
}

img {
	max-width: 100%;
	height: auto;
}
ul { list-style: none;}

.anim {
	opacity: 0;
	transform: translateY(60px);
	transition: all .8s ease-out;
}
.anim.on {
	opacity: 1;
	transform: translateY(0);
}

a { color: #000;}


.notFound {
  text-align: center;
  font-size: min(3.6vw, 18px);
}

@media screen and (min-width: 821px) {
	
	.sp { display: none;}
	
	a { transition: all 0.3s ease-out;}
	a:hover { opacity: 0.5;}
	
}
@media screen and (max-width: 820px) {
	
	.pc { display: none;}
	
}


/* ////////////////////////////////////////////////////////////////////////////////

	Header

//////////////////////////////////////////////////////////////////////////////// */

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: min(3vw, 30px) min(5vw, 40px);
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: rgba(255,255,255,0.30);
  backdrop-filter: blur(8px);
}

header h1 {
  line-height: 0;
  width: min(30vw, 200px);
  position: relative;
  z-index: 10;
}
header .globalNav {
  font-family: "Oswald", sans-serif;
}
header .globalNav > ul {
  display: flex;
  gap: min(3vw, 15px);
}
header .globalNav > ul li a {
  color: #000;
  text-decoration: none;
  font-size: min(3.6vw, 18px);
  font-weight: 500;
}
header .globalNav > ul li a[target="_blank"] {
  display: flex;
  gap: min(1vw, 5px);
}
header .globalNav > ul li a[target="_blank"]::after {
  content: "";
  display: block;
  width: 0.7em;
  aspect-ratio: 1/1;
  background: url("../images/ico_blank.png") no-repeat center center;
  background-size: contain;
}

@media screen and (min-width: 821px) {
	
  #menuButton {
    display: none !important;
  }
	
}
@media screen and (max-width: 820px) {
  
  header .globalNav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    padding-bottom: 7vh;
    z-index: 9;
  }
  header .globalNav > ul {
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    padding: min(10vw, 60px);
  }
  header .globalNav > ul li a {
    font-size: min(7.4vw, 32px);
    line-height: 1.6;
  }
	
  #menuButton {
    display: block;
    width: min(10vw, 40px);
    height: min(10vw, 40px);
    position: relative;
/*
    position: fixed;
    top: min(4vw, 30px);
    right: min(5vw, 30px);
*/
    z-index: 9999;
  }
  #menuButton span {
    display: block;
    background: #000;
    width: 100%;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    transition: all 0.4s;
  }
  #menuButton span:nth-child(1) { transform: translateY(-350%) rotate(0deg);}
  #menuButton span:nth-child(2) { transform: translateY(250%) rotate(0deg);}
  #menuButton span:nth-child(3) { transform: translateY(-50%);}
  #menuButton.active span:nth-child(1) { transform: translateY(-50%) rotate(45deg);}
  #menuButton.active span:nth-child(2) { transform: translateY(-50%) rotate(-45deg);}
  #menuButton.active span:nth-child(3) { opacity: 0;}
	
}


/* ////////////////////////////////////////////////////////////////////////////////

	Footer

//////////////////////////////////////////////////////////////////////////////// */
footer {
  padding: min(10vw, 60px) min(6vw, 60px);
  position: relative;
}

footer .ftrNav {
  display: flex;
  flex-direction: column;
  gap: min(3vw, 15px);
  font-family: "Oswald", sans-serif;
  font-size: min(3.6vw, 18px);
  font-weight: 500;
  letter-spacing: 0.08em;
}
footer .ftrNav li a {
  text-decoration: none;
  display: inline-block;
}
footer .ftrNav .ftrPrivacy {
  margin-top: min(4vw, 20px);
  font-size: 0.8em;
}

footer .ftrWrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: min(12vw, 80px);
}
footer .ftrLogo {
  line-height: 0;
  width: min(30vw, 200px);
}
footer .ftrLogo img {
  width: 100%;
  height: auto;
}

footer .copyright {
  font-family: "Oswald", sans-serif;
  line-height: 1;
  text-align: center;
  font-size: min(2.8vw, 10px);
}

@media screen and (max-width: 820px) {
	
  footer .ftrWrap {
    flex-direction: column;
    gap: min(12vw, 60px);
    margin-bottom: 0;
  }
  footer .copyright {
    position: absolute;
    bottom: min(10vw, 80px);
    left: min(6vw, 60px);
  }
	
}

/* ////////////////////////////////////////////////////////////////////////////////

	Top page

//////////////////////////////////////////////////////////////////////////////// */
#mainVisual {
  padding: 0 5%;
  position: relative;
}
#mainVisual .catchCopy {
  position: absolute;
  left: min(5vw, 60px);
  bottom: 5%;
  font-size: 3.1vw;
  font-weight: 700;
  line-height: 1.4;
  z-index: 2;
  background: linear-gradient(90deg, #000 46%, #fff 46%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#mainVisual .mvPic {
  aspect-ratio: 110/77;
  line-height: 0;
  width: 75.8%;
  margin-left: auto;
  overflow: hidden;
}
#mainVisual .mvPic ul li {
  aspect-ratio: 110/77;
  width: 100%;
}
#mainVisual .mvPic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.scroll {
  display: none;
}

@media screen and (max-width: 820px) {
  #mainVisual {
    display: flex;
    flex-direction: column-reverse;
    gap: min(8vw, 60px);
    margin-bottom: 28vw;
  }
  #mainVisual .catchCopy {
    background: transparent;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;
    font-size: 4.8vw;
    bottom: -2em;
  }
  #mainVisual .mvPic {
    aspect-ratio: 110 / 143;
    width: 100%;
  }
  #mainVisual .mvPic ul li {
    aspect-ratio: 110 / 143;
    width: 100%;
  }
  
  .scroll {
    display: block;
    position: absolute;
    bottom: -28vw;
    left: 50%;
    transform: translateX(-50%);
    font-family: "Oswald", sans-serif;
    font-weight: 500;
  }
  
}


section {
  padding: min(12vw, 100px) 0;
}
section h2 {
  font-size: min(4vw, 20px);
}
.sectionWrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 min(5vw, 60px);
}

.moreBtn {
  display: block;
  font-family: "Oswald", sans-serif;
  font-size: min(3.4vw, 16px);
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  border: #000 solid 1px;
  width: fit-content;
  padding: min(2vw, 10px) min(16vw, 100px);
  margin: 0 auto;
}

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


#topStatement .sectionWrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#topStatement .statementTxt {
  width: 38%;
}
#topStatement .statementTxt p {
  margin-bottom: min(8vw, 60px);
  line-height: 2.4;
}
#topStatement .statementTxt a {
  display: block;
  border: #000 solid 1px;
  text-align: center;
  text-decoration: none;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: min(3.4vw, 16px);
  width: fit-content;
  padding: min(3vw, 15px) min(7vw, 50px);
  margin: 0 auto;
}

#topStatement .verticalSlide {
  width: 55%;
  height: min(50vw, 740px);
  display: flex;
  gap: 10px;
  overflow: hidden;
}
#topStatement .verticalSlide > div {
  flex: 1;
  position: relative;
}
#topStatement .verticalSlide > div > ul {
  position: absolute;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#topStatement .verticalSlide .slideDown > ul {
  bottom: 0;
  animation: slideDown 40s linear 0s infinite;
}
#topStatement .verticalSlide .slideUp > ul {
  top: 0;
  animation: slideUp 40s linear 0s infinite;
}
@keyframes slideDown {
	0% { transform: translateY(0%);}
	100% { transform: translateY(50%);}
}
@keyframes slideUp {
	0% { transform: translateY(0%);}
	100% { transform: translateY(-50%);}
}

#topStatement .verticalSlide > div > ul li {
  line-height: 0;
}

@media screen and (max-width: 820px) {
	
  #topStatement .sectionWrap {
    flex-direction: column;
    gap: min(10vw, 80px);
  }
  #topStatement .statementTxt {
    width: 100%;
  }
  #topStatement .verticalSlide {
    width: 100%;
    height: min(80vw, 740px);
  }
  
}



#topBrands .sectionWrap {
  display: flex;
  justify-content: space-between;
}
#topBrands .brandsTxt {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 32%;
}
#topBrands .brandsTxt .brandList li {
  line-height: 1;
  font-family: "Oswald", sans-serif;
  font-weight: 800;
  font-size: min(4.2vw, 19px);
}
#topBrands .brandsTxt .brandList li + li {
  margin-top: min(3.4vw, 16px);
}
#topBrands .brandsTxt .brandList li a {
  text-decoration: none;
  display: block;
  width: fit-content;
  position: relative;
  background-color: #fff;
  padding: 2px;
}
#topBrands .brandsTxt .brandList li a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #fff;
  mix-blend-mode: exclusion;
  transition: width 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
#topBrands .brandsTxt .brandList li img {
  height: min(1.8vw, 30px);
}
#topBrands .brandsPic {
  width: 61%;
  line-height: 0;
  overflow: hidden;
}
#topBrands .brandsPic li {
  display: none;
  width: 100%;
  aspect-ratio: 126/89;
}
#topBrands .brandsPic img {
  transition: transform 3s cubic-bezier(0, 0.55, 0.45, 1);
  transform: scale(1.2);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#topBrands .brandsPic.on img {
  transform: scale(1);
}

@media screen and (min-width: 821px) {
  #topBrands .brandsTxt .brandList li a:hover {
    opacity: 1;
  }
  #topBrands .brandsTxt .brandList li a:hover::after {
    width: 100%;
  }
}
@media screen and (max-width: 820px) {
	
  #topBrands .sectionWrap {
    flex-direction: column;
    gap: min(8vw, 60px);
  }
  #topBrands .brandsTxt {
    width: 100%;
    gap: min(8vw, 60px);
  }
  #topBrands .brandsTxt .brandList li img {
    height: min(5.6vw, 30px);
  }
  
  #topBrands .brandsPic {
    width: 100%;
  }
}


#topCorpNews h2 {
  margin-bottom: min(6vw, 30px);
}
.corpNewsList {
  margin-bottom: min(6vw, 30px);
}
.corpNewsList li {
  padding: min(4vw, 20px) 0;
  border-bottom: #000 solid 1px;
  display: flex;
  align-items: center;
}
.corpNewsList li .date {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  width: 120px;
}
.corpNewsList li .brand {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  width: 140px;
}
.corpNewsList li .title {
  width: calc(100% - 260px);
  font-size: min(3.3vw, 15px);
  font-weight: 600;
}
.corpNewsList li .title a {
  text-decoration: none;
}

@media screen and (max-width: 820px) {
	
  .corpNewsList li {
    flex-wrap: wrap;
  }
  .corpNewsList li .date {
    width: min(20vw, 120px);
  }
  .corpNewsList li .brand {
    width: fit-content;
  }
  .corpNewsList li .title {
    width: 100%;
    margin-top: 0.5em;
  }
  
}

.recruitWrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: #000;
  color: #fff;
  padding: min(12vw, 100px) min(6vw, 40px);
  position: relative;
  overflow: hidden;
  transform: translateY(0);
}
.recruitWrap .bgImg {
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/recruit_bg.jpg") no-repeat center center;
  background-size: cover;
  transition: transform 3s cubic-bezier(0, 0.55, 0.45, 1);
  transform: scale(1.2);
  opacity: 0.5;
}
.recruitWrap.on .bgImg {
  transform: scale(1);
}
.recruitWrap .bgImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.recruitWrap h2 {
  margin-bottom: min(6vw, 30px);
  position: relative;
  z-index: 2;
}
.recruitWrap p {
  position: relative;
  z-index: 2;
}
.recruitWrap .moreBtn {
  border: #fff solid 1px;
  color: #fff;
  margin-top: min(7vw, 50px);
  position: relative;
  z-index: 2;
}

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


#topGallery {
  display: flex;
}
#topGallery .galleryMain {
  width: 77.78%;
  line-height: 0;
  overflow: hidden;
}
#topGallery .galleryMain > ul {
  transition: transform 3s cubic-bezier(0, 0.55, 0.45, 1);
  transform: scale(1.2);
}
#topGallery .galleryMain.on > ul {
  transform: scale(1);
}
#topGallery .galleryThumb {
  width: 22.22%;
  line-height: 0;
}
#topGallery .galleryThumb ul {
  display: flex;
  flex-wrap: wrap;
  height: 100%;
}
#topGallery .galleryThumb ul li {
  width: 50%;
  height: calc(100% / 6);
  background-color: #000;
}
#topGallery .galleryThumb ul li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease-out;
  opacity: 0.4;
  filter: grayscale(1);
  border: #fff solid 0px;
}
#topGallery .galleryThumb ul li.active img {
  opacity: 1;
  filter: grayscale(0);
  border: #fff solid 2px;
}

@media screen and (max-width: 820px) {
	
  #topGallery {
    flex-direction: column;
  }
  #topGallery .galleryMain {
    width: 100%;
  }
  #topGallery .galleryThumb {
    width: 100%;
  }
  #topGallery .galleryThumb ul li {
    width: calc(100% / 6);
    height: auto;
  }
}


/* ////////////////////////////////////////////////////////////////////////////////

	Lower Common

//////////////////////////////////////////////////////////////////////////////// */

main {
  padding: min(10vw, 80px) 0;
}
main h2 {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-align: center;
  font-size: min(5.6vw, 34px);
  margin-bottom: min(10vw, 70px);
}

.contentWrap {
  max-width: 1120px;
  padding: 0 min(6vw, 60px);
  margin: 0 auto;
}

.pager {
  font-family: "Oswald", sans-serif;
	padding: 0;
	text-align: center;
	color: #000;
	font-size: min(3.6vw, 18px);
  font-weight: 500;
  display: flex;
  justify-content: center;
  gap: min(2vw, 10px);
  margin-top: min(8vw, 60px);
}
.pager span {
	display: block;
  width: 1.5em;
  padding: 0.2em 0;
}
.pager span.current {
  border-bottom: #000 solid 3px;
}
.pager a {
  display: block;
	color: #000;
	text-decoration: none;
  width: 1.5em;
  padding: 0.2em 0;
}

.backBtn {
  border-top: #000 solid 1px;
  padding-top: min(8vw, 60px);
  margin-top: min(10vw, 80px);
}
.backBtn > a {
  display: block;
  text-align: center;
  text-decoration: none;
  border: #000 solid 1px;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: min(3.4vw, 16px);
  padding: min(2vw, 10px) min(6vw, 30px) min(2.4vw, 12px);
  margin: 0 auto;
  width: min(40vw, 240px);
}

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

  
  
}


/* ////////////////////////////////////////////////////////////////////////////////

	News

//////////////////////////////////////////////////////////////////////////////// */

.newsHead {
  margin-bottom: min(8vw, 60px);
}
.newsHead h3 {
  font-size: min(3.8vw, 20px);
  font-weight: 600;
  line-height: 1.6;
  padding-bottom: min(4vw, 20px);
  border-bottom: #000 solid 1px;
  margin-bottom: min(3vw, 15px);
}
.newsHead .date {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: min(3.2vw, 14px);
  display: flex;
  align-items: center;
  gap: min(2vw, 10px);
}
.newsHead .date span {
  display: block;
  background-color: #bbbbbb;
  height: 1px;
  width: 1em;
}

.newsBody p {
  line-height: 2;
  margin-bottom: min(4vw, 20px);
}

.newsBody p a {
  text-decoration: underline;
  color: #000;
}

.newsBody strong { font-weight: bold; }
.newsBody em { font-style: italic; }
.newsBody blockquote {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 40px;
  -webkit-margin-end: 40px;
}
.newsBody .aligncenter {
  display: block;
  margin: 0 auto;
}
.newsBody .alignright { float: right; }
.newsBody .alignleft { float: left; }

.newsBody h2 {
  font-weight: 600;
}
.newsBody h3 {
  font-weight: 600;
  font-size: min(5.2vw, 28px);
  margin-bottom: min(7vw, 40px);
}
.newsBody h4 {
  border-left: #333 solid 10px;
  padding: min(1vw, 5px) min(3vw, 15px);
  margin-bottom: min(5vw, 40px);
  font-size: min(4.2vw, 24px);
  font-weight: bold;
}
.newsBody h5 {
    font-size: min(3.4vw, 16px);
    border-bottom: #ccc solid 1px;
    padding-bottom: min(1vw, 5px);
    margin-bottom: min(6vw, 30px);
}

.newsBody ul {
  list-style: disc;
  padding-left: min(4vw, 15px);
  font-size: min(3.2vw, 14px);
  margin-bottom: min(4vw, 20px);
}
.newsBody ol {
  list-style: decimal;
  padding-left: min(4.5vw, 18px);
  font-size: min(3.2vw, 14px);
  margin-bottom: min(4vw, 20px);
}

.newsBody blockquote {
  background-color: #eee;
  padding: min(4vw, 20px) min(4vw, 20px) min(4vw, 20px) min(10vw, 55px);
  margin: min(6vw, 30px) 0;
  position: relative;
}
.newsBody blockquote::before {
  content: "“";
  font-size: min(8.6vw, 56px);
  line-height: 1;
  position: absolute;
  top: min(4.5vw, 20px);
  left: min(3vw, 15px);
  display: block;
  color: #bbb;
}

.newsBody table {
  border-collapse:  collapse;
  font-size: min(3.2vw, 14px);
  margin-bottom: min(4vw, 20px);
}
.newsBody table th,
.newsBody table td {
  border: #bbb solid 1px;
  padding: min(2vw, 10px);
}
.newsBody table th {
  background-color: #eae7e3;
  font-weight: 600;
}
.newsBody iframe {
  width: 100%;
  aspect-ratio: 100/56.25;
}

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

  
  
}


/* ////////////////////////////////////////////////////////////////////////////////

	Company

//////////////////////////////////////////////////////////////////////////////// */

.companyMv {
  width: 100%;
  overflow: hidden;
}
.companyMv ul {
  display: flex;
  width: fit-content;
}
.companyMv ul:nth-child(odd) {
  animation: coslide1 30s linear 0s infinite;
}
@keyframes coslide1 {
  0% { transform: translateX(0);}
  100% { transform: translateX(-50%);}
}
.companyMv ul:nth-child(even) {
  transform: translateX(-50%);
  animation: coslide2 30s linear 0s infinite;
}
@keyframes coslide2 {
  0% { transform: translateX(-50%);}
  100% { transform: translateX(0%);}
}
.companyMv ul li {
  width: 28vw;
  line-height: 0;
}

.companyContent {
  padding: min(8vw, 60px) 0;
}
.companyContent + .companyContent {
  border-top: #000 solid 1px;
}
.companyContent h3 {
  font-size: min(3.6vw, 18px);
  margin-bottom: min(7vw, 50px);
}
.statement h4 {
  font-size: min(5.4vw, 36px);
  margin-bottom: min(6vw, 30px);
}
.statement p {
  font-size: min(3.4vw, 16px);
  line-height: 2.4;
  font-weight: 600;
}
.statement p + p {
  margin-top: min(6vw, 30px);
}

.companyList li {
  display: flex;
  padding: min(4vw, 20px) 0;
  border-bottom: #000 dotted 1px;
}
.companyList li .ttl {
  width: 160px;
  font-weight: 600;
}
.companyList li .txt {
  width: calc(100% - 160px);
}

.companyMessage .messageTxt img {
  display: block;
  margin: 0 auto min(8vw, 60px);
}
.companyMessage p + p {
  margin-top: min(6vw, 30px);
}

.messageBody {
  display: flex;
  justify-content: space-between;
}
.messageBody .messagePic {
  width: 30%;
}
.messageBody .messageTxt {
  width: 65%;
}

@media screen and (max-width:820px) {
	
  .companyMv ul li {
    width: 38vw;
  }
  
  .companyList li .ttl {
    width: 90px;
  }
  .companyList li .txt {
    width: calc(100% - 90px);
  }
  
  .messageBody {
    flex-direction: column;
    gap: min(6vw, 30px);
  }
  .messageBody .messagePic {
    width: 80%;
    margin: 0 auto;
  }
  .messageBody .messageTxt {
    width: 100%;
  }

}



/* ////////////////////////////////////////////////////////////////////////////////

	Contact

//////////////////////////////////////////////////////////////////////////////// */

.contactWrap > p {
  margin-bottom: min(6vw, 30px);
}
.contactWrap .formList li {
  margin-bottom: min(6vw, 30px);
}
.contactWrap .formList li .label {
  margin-bottom: min(3vw, 15px);
}
.contactWrap .formList li input[type="text"],
.contactWrap .formList li input[type="email"],
.contactWrap .formList li input[type="tel"],
.contactWrap .formList li textarea {
  background-color: #f5f5f5;
  padding: min(2vw, 10px) min(3vw, 15px);
  width: 100%;
  border-radius: min(1.2vw, 6px);
  font-size: 16px;
}
.contactWrap .formList li textarea {
  height: 160px;
}
.contactWrap .formList li input[type="radio"] {
  width: 1.2em;
  height: 1.2em;
  filter: grayscale(1) contrast(10);
}

.contactWrap .formList li .input {
  display: flex;
  align-items: center;
  gap: min(1vw, 5px);
}
.contactWrap .formList li .input p {
  width: 100%;
}
.contactWrap .formList li .input label {
  margin-right: min(3vw, 15px);
}

.hidden-fields-container {
  display: none;
}
.screen-reader-response {
  color: #FF0000;
  margin-bottom: min(6vw, 30px);
}
.screen-reader-response > ul {
  display: none;
}
.wpcf7-response-output {
  color: #FF0000;
  margin-top: min(6vw, 30px);
}
.wpcf7-not-valid-tip {
  color: #FF0000;
  margin-top: min(1vw, 5px);
  font-size: min(3vw, 12px);
  display: block;
}

.contactWrap .formList li .input .wpcf7-radio {
  display: flex;
  align-items: center;
  gap: min(4vw, 20px);
}
.wpcf7-list-item {
  display: flex;
  align-items: center;
  gap: min(1vw, 5px);
  margin: 0;
}

.policyCheck {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: min(3vw, 15px);
  margin-top: min(7vw, 40px);
}
.policyCheck .checkboxWrap,
.policyCheck .checkboxWrap > p {
  display: flex;
  align-items: center;
  gap: min(1vw, 5px);
}
.policyCheck .checkboxWrap input[type="checkbox"] {
  width: 1.2em;
  height: 1.2em;
  filter: grayscale(1) contrast(10);
}
.policyCheck a {
  text-decoration: none;
  display: block;
  padding-bottom: 0.1em;
  border-bottom: #999 solid 1px;
  color: #999;
  font-weight: 600;
}

.sendWrap {
  margin-top: min(7vw, 40px);
  display: flex;
  justify-content: center;
  gap: min(4vw, 20px);
}
.sendWrap button,
.sendWrap input[type="submit"] {
  display: block;
  background-color: #000;
  color: #fff;
  padding: min(3vw, 15px) min(10vw, 80px);
  font-size: min(3.4vw, 16px);
}
.sendWrap input[type="submit"]:disabled {
  background-color: #bbb;
}

.wpcf7 form.sent .wpcf7-response-output {
  border: #FF0000 solid 2px;
  padding: min(4vw, 20px);
  font-size: min(3.6vw, 18px);
}

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


/* ////////////////////////////////////////////////////////////////////////////////

	Brand

//////////////////////////////////////////////////////////////////////////////// */

.brandHead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: min(10vw, 80px);
}
.brandHead .brandKv {
  line-height: 0;
  width: 53%;
  aspect-ratio: 700/500;
}
.brandHead .brandKv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.brandHead .brandInfo {
  width: 39.4%;
}
.brandHead .brandInfo h3 {
  margin-bottom: min(6vw, 30px);
}
.brandHead .brandInfo h3 img {
  max-height: min(6vw, 34px);
  width: auto;
}
.brandHead .brandInfo p {
  font-size: min(3vw, 12px);
}
.brandHead .brandInfo .brandCatch {
  font-size: min(3.4vw, 16px);
  font-weight: 800;
  margin-bottom: min(3vw, 15px);
}
.brandHead .brandInfo .brandLinks {
  margin-top: min(6vw, 30px);
  display: flex;
  gap: min(4vw, 20px);
}
.brandHead .brandInfo .brandLinks li {
  width: 44%;
}
.brandHead .brandInfo .brandLinks li a {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(3vw, 15px);
  text-align: center;
  text-decoration: none;
  border: #000 solid 1px;
  font-size: min(3.3vw, 15px);
  padding: min(2vw, 10px);
}
.brandHead .brandInfo .brandLinks li a::after {
  content: "";
  display: block;
  width: 0.7em;
  aspect-ratio: 1/1;
  background: url("../images/ico_blank.png") no-repeat center center;
  background-size: contain;
}



.brandNewsWrap h4 {
  font-size: min(4vw, 20px);
  margin-bottom: min(6vw, 30px);
}
.brandNews {
  display: flex;
  flex-wrap: wrap;
  gap: min(7vw, 50px) calc((100% - 32% * 3) / 2);
}
.brandNews li {
  width: 32%;
}
.brandNews li .thumb {
  line-height: 0;
  width: 100%;
  aspect-ratio: 420/300;
  margin-bottom: min(3vw, 15px);
}
.brandNews li .thumb a {
  display: block;
  width: 100%;
  height: 100%;
}
.brandNews li .thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.brandNews li .date {
  font-size: min(3vw, 12px);
  margin-bottom: min(1vw, 5px);
}
.brandNews li .ttl a {
  font-weight: 600;
  text-decoration: none;
}

.brandNewsKV {
  max-width: 1320px;
  margin: 0 auto min(8vw, 60px);
  padding: 0;
  line-height: 0;
}

.backBtn .brandList {
  font-family: "Oswald", sans-serif;
  font-size: min(3.6vw, 20px);
  font-weight: 500;
  letter-spacing: 0.08em;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: min(8vw, 60px);
}
.backBtn .brandList .brandListTtl {
  padding-right: 4em;
  position: relative;
}
.backBtn .brandList .brandListTtl::after {
  content: "";
  display: block;
  width: 2em;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 50%;
  right: 1em;
}
.backBtn .brandList .brandListLink {
  text-decoration: none;
  display: inline-block;
}
.backBtn .brandList .brandListLink a {
  text-decoration: none;
}

@media screen and (max-width:820px) {
  
  .brandHead {
    flex-direction: column;
    gap: min(8vw, 60px);
  }
  .brandHead .brandKv {
    width: 100%;
  }
  .brandHead .brandInfo {
    width: 100%;
  }
  
  .brandNews {
    gap: min(7vw, 50px) 0;
    justify-content: space-between;
  }
  .brandNews li {
    width: 48%;
  }
  
  
  .backBtn .brandList .brandListTtl {
    padding-right: 3em;
  }
  .backBtn .brandList .brandListTtl::after {
    width: 1em;
  }
  
}
