/*
  Theme Name: SOLESブランドサイト
  Theme URI: http://
  Description: 
  Version: 1.0.0

*/
@charset "utf-8";
/* CSS Document */

html {
	overflow-x: hidden;
	scroll-behavior: smooth;
}
body {
	margin: 0;
	padding: 0;
	color: #19191a;

}
* {
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5;
	box-sizing: border-box;
}

section{
	margin: 0;
	padding: 0;
	width: 100%;
	line-height: 0;
	position: relative;
}
main{
	margin-top: 70px;

}
a {
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}
a:hover {

}
img {
	/* width: 100%; */
	height: auto;
	max-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	line-height: 1.0;
}
iframe, form, figure, dl {
	margin: 0;
}
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	margin: 0;
}
h3 {
	font-size: clamp(20px, 2.5vw, 30px);
	line-height: 1.8;
	letter-spacing: 1.5px;
	font-weight: 550;
}

.split span{
	display: inline-block;
}
p {
	line-height: 2.0;
	letter-spacing: 0.75px;
}
ul {
	list-style: none;
	padding: 0;
	margin:0;
}
.cont-s{
	width:90%;
	max-width:870px;
	margin:auto;
}
.cont-m{
	width:90%;
	max-width:1165px;
	margin:auto;
}
.flex {
	display: flex;
	justify-content: space-between;
}
.flex .text{
	width:50%;
}
.flex .image{
	width:50%;
	line-height:1.0;
	}
.name {
	font-family: "Inter", sans-serif;
	color: inherit;
	font-size: 25px;
	letter-spacing: 2px;
	text-align: center;
	line-height: 1.3;
}
.name span {
	display: block;
	font-size: 16px;
}
	.btnList ul{
		margin:auto;
	}
.btnList ul li {
	margin: 1rem 0;
}
.btnList a {
	display: block;
	width: 200px;
	text-align: center;
	font-size: 13px;
	border: 1px solid;
	border-radius: 30px;
	padding: 9px 10px;
}
.btn{
	position: relative;
  z-index: 1;
  transition: .3s;
}
.btn::before{
	content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #fff;
	border-radius: 30px;
  transform-origin: 50% 0%;
  transform: scaleY(0);
  transition: transform ease .3s;
}
.btn:hover{
	color:#19191A;
}
.btn:hover::before{
  transform-origin: 50% 100%;
  transform: scaleY(1);
}
main:not(.home main) .btn::before{
	background: #19191A;
}
main:not(.home main) .btn:hover{
	color: #fff;
}
nav a,
nav span,
.link{
	position: relative;
	z-index: 1;
	display: inline-block;
}

nav a::after,
nav span::after,
.link::after{
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  bottom: -1px;
  transform: scale(0, 1);
  transition: transform 0.3s;
  transform-origin: center top;
}
.link::after{
	background: #19191A;
}
nav a:hover::after,
.link:hover::after{
  transform: scale(1, 1);
}
input,textarea{
    padding: 10px;
    border: none;
	width: 100%;
	font-size:18px;
	margin-bottom: 1rem;
}
input[type="submit"]{
	background: #19191A;
	color:#fff;
	font-size:13px;
	border-radius:10px;
	padding:0.8rem;
	margin-top: 2rem;
	cursor: pointer;
}
.p-postal-code{
	width: 120px;
}

.sp{
	display: none;
}
.pc{
	display: block;
}
.anchor{
	position: relative;
	top:-10vh;
}


/*背景ズームアウト---------------------------------------------------------------*/
.bg-zoom-out {
    position: relative;
    overflow: hidden; /* 背景がはみ出さないようにする */
}

.bg-zoom-out::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
    transform: scale(1.2);
    transition: transform 3s ease-out;
}

.bg-zoom-out.loaded::before {
    transform: scale(1);
}

/*商品画像ズームアウト---------------------------------------------------------------*/
.zoomOut{
	animation-name:zoomOutAnime;
	animation-duration:1.0s;
	animation-fill-mode:forwards;
}

@keyframes zoomOutAnime{
  from {
	transform: scale(1.4);
  }

  to {
      transform:scale(1);
  }
}
/*モーション---------------------------------------------------------------*/
.slide-in {
	overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
	display: inline-block;

}

/*下から表示---------------------------------------------------------------*/
.downAnime{
    opacity: 0;
}

.slideAnimeDownUp {
    animation-name:slideTextY100;
	animation-delay:0.8s;
    animation-duration:0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextY100 {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.slideAnimeUpDown {
    animation-name:slideTextY-100;
	animation-delay:0.8s;
    animation-duration:0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextY-100 {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/*左から順番に---------------------------------------------------------------*/
.box{
	opacity: 0;
}

/*下から上に---------------------------------------------------------------*/
.fadeUp {
	animation: fadeUpAnime 1.2s forwards 1.2s;
	opacity: 0;
  }
  
  
  @keyframes fadeUpAnime {
	0% {
	  opacity: 0;
	  transform: translateY(50px);
	}
	100% {
	  opacity: 1;
	  transform: translateY(0);
	}
  }

  .showUpLate {
    opacity: 0;
    transition: opacity 0.3s ease-in-out 0.5s;
}
.info.showUpLate {
    opacity: 0;
    transition: opacity 0.3s ease-in-out 0.5s;
}
.showUpLate.show {
    opacity: 1;
}
/* .fadeUpTrigger {
	opacity: 0;
  } */
/* 
.fadeUpTrigger {
	display: inline-block;
  }
  
  .fadeUpTrigger span {
	display: inline-block;
	transform: translateY(20px);
	opacity: 0;
	transition: transform 0.6s ease, opacity 0.8s;
	transition-delay: 0.4;
  }
  
  .fadeUpTrigger.active span {
	transform: translateY(0);
	opacity: 1;
  } */
  .fadeUpTrigger span {
	display: inline-block;
	opacity: 0;
	transform: translateY(1em);
  }
  
  @keyframes fadeUp {
	to {
	  opacity: 1;
	  transform: translateY(0);
	}
  }


/*一文字ずつ---------------------------------------------------------------*/
.split span {
	display: inline-block;
	opacity: 0;
	transform: translateY(7px);
	animation: floatUp 0.3s ease forwards;
	animation-play-state: paused;
  }
  
  .split.active span {
	animation-play-state: running;
  }
  
  @keyframes floatUp {
	to {
	  opacity: 1;
	  transform: translateY(0);
	}
  }

/*ヘッダー---------------------------------------------------------------*/
header {
	background: #fff;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	height: 70px;
	z-index: 50;
}
.header_inner {
	padding: 1rem;
}
header .openbtn {
	position: absolute;
	cursor: pointer;
	width: 40px;
	height: 28px;
	border-radius: 5px;
	z-index: 300;
	top: 1.2rem;
	right: 2%;
}
.openbtn span {
	display: inline-block;
	position: absolute;
	left: 0;
	height: 4px;
	border-radius: 5px;
	transition: all 0.4s;
	background: #19191a;
	width: 80%;
}
.openbtn span:nth-of-type(1) {
	top: 0;
}
.openbtn span:nth-of-type(2) {
	top: 10px;
}
.openbtn span:nth-of-type(3) {
	top: 20px;
}
header.active .openbtn span:nth-of-type(1) {
	transform: translateY(8px) rotate(30deg);
}
header.active .openbtn span:nth-of-type(2) {
	display: none;
}
header.active .openbtn span:nth-of-type(3) {
	transform: translateY(-15px) rotate(-30deg);
	top: 23px;
}
header nav {
	opacity: 0;
	position: absolute;
	top: 0;
	transition: auto 2s;
}
header nav {
	display: none;
}
header nav li{
	margin: 20px;
	width: fit-content;
	position: relative;

}
header nav li a,
header nav li span{
font-family: "Inter", sans-serif;
font-weight: 300;
display: inline-block;
font-size: 18px;
letter-spacing: 1px;
padding-left: 15px;

}
header nav li a::before,
header nav li span::before {
position: absolute;
content: "-";
left: 0;
}
header nav a::after{
	background: #19191a;
}
header nav .has-child li{
	padding-left: 1rem;
margin: 10px;
}
header.active nav{
	display: block;
	opacity: 1;
	width: auto;
	height: 100vh;
	background: #fff;
	position: absolute;
	right: 0;
	top: 100%;
	overflow-y: scroll;
	padding: 2rem;
	z-index: 1;
	transition: auto 2s;
	opacity: 1;

}


/*メインビジュアル---------------------------------------------------------------*/
.mv {
	width: 100%;
	height: calc(100vh - 70px);
	position: fixed;
  z-index: 0;
}
.mv_wrap {
	width: 100%;
	height: 100%;
}
.mv_cover{
	height: 100%;
}
.mv_left {
	width: 50%;
	overflow: hidden;
}
.mv_left .mv_cover::before{
	background-image: url("img/mv_od.jpg");
}
.mv_right {
	width: 50%;
	overflow: hidden;
}
.mv_right .mv_cover::before{
	background-image: url("img/mv_it.jpg");
}
.mv_cont {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
}
.mv_cont .logo {
	width: 150px;
	object-fit: contain;
	display: block;
	margin:auto auto 1.2rem;
}
.mv_cont .btn{
	display: block;
    width: 200px;
    text-align: center;
    font-size: 13px;
    border: 1px solid;
    border-radius: 30px;
    padding: 9px 10px;
}
/* .mv_cover:hover .btn{
	color: #19191A;
}
.mv_cover:hover .btn::before{
	transform-origin: 50% 100%;
    transform: scaleY(1);
} */

.mv_center{
    position: absolute;
    left: 40%;
    z-index: 10;
    top: 40%;
    right: 40%;
	text-align: center;
		
	
}
.mv_center img{
	width: 12vw;
	max-width: 170px;
	margin:auto;
}

/*TOP---------------------------------------------------------------*/
.home main{
padding-bottom:100vh;
}
.top_main {
	background: transparent linear-gradient(180deg, #FFFFFF00 0%, #FFFFFFBC 8%, #FFFFFF 18%, #E8E8E8 50%, #F4F4F4 100%) 0% 0% no-repeat padding-box;
	padding-top: 30%;
	position: relative;
    top: 100vh;
    z-index: 1;

}
h2.guide,
h3.guide{
	position: absolute;
	right: 3%;
	top: auto;
	writing-mode: vertical-lr;
	text-align: center;
	font-family: "Inter", sans-serif;
	font-size:inherit;
	font-weight: 400;
	letter-spacing: 1.6px;
	line-height: inherit;
	opacity: 1;
}
h2.guide::after,
h3.guide::after{
	position: absolute;
	content: "";
	background: #19191a;
	width: 1px;
	height: 130px;
	left: 10px;
	bottom: -150px;
}
.top_main .about {
	margin-bottom: 20%;
}
.top_main .about .cont {
	width: 90%;
	max-width: 600px;
	margin: auto;
	text-align: center;
}
.top_main .about h3 {
	font-size: 30px;
	font-weight: 550;
}
/* .top_main .about h3 span{
	display: block;
} */
.top_main .about p {
	margin: 2rem auto;
	font-size: 18px;
	line-height: 3;
}
.top_main .work {
	width: 100%;
	margin: 4rem auto;
}
.top_main .work h2{
	right: auto;
	left: 3%;
}
.top_main .work .wrap {
	position: relative;
	width: 100%;
	margin: auto;
	max-width: 1800px;
	padding-bottom:10%;
}
.top_main .work .cont {
	width: 90%;
	max-width: 870px;
	margin: auto;
}
.top_main .work .cont:nth-child(1) {
	padding-bottom: 22%;
}
.top_main .work .cont:nth-child(1) .text {
	position: relative;
	width: 46%;
	max-width: 400px;
	margin-top: 8%;
}
.top_main .work .cont:nth-child(1) .image {
	position: absolute;
	right: 0;
	width: 45%;
	height: 600px;
	max-width: 750px;
	top:0;
	will-change: transform; /* パフォーマンス向上 */
}
figure.luxy-el {
	position: relative;
	will-change: transform;
  }
  
  figure.luxy-el img {
	width: 100%;
	display: block;
	transition: transform 0.3s ease-out;
	will-change: transform; /* パフォーマンス向上 */
  }
.top_main .work .cont:nth-child(1) .image figure {
	position: relative;
}
.top_main .work .cont:nth-child(1) .image figure:nth-child(2) {
	position: absolute;
	top: 40%;
	left: -12%;
	width: 45%;

}
.top_main .work .cont:nth-child(1) .image figure:nth-child(3) {
	position: absolute;
	top: 80%;
	right: 15%;
	width: 35%;
}
.top_main .work .cont:nth-child(2) .flex {
	gap: 3rem;
}
.top_main .work .cont:nth-child(2) .flex .image {
	width: 50%;
}
.top_main .work .cont:nth-child(2) .flex .text {
	width: 50%;
	margin-top: 5%;
}
.top_main .work .cont:nth-child(1) .image #luxy{
	/* transition:0.1s all; */
}

.top_img5{
	width: 100vw;
	height: 40vh;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center;
	position: relative;
}
.news {

	padding: 15% 0;
}
.news .wrap{
}
.news h2{
	right: auto;
	left:3%;
}

.news ul {
	border-bottom: 1px solid;
	margin-bottom: 10%;
}
.news ul li {
	padding: 1.2rem 1rem;
	border-top: 1px solid;
	display: flex;
	justify-content: center;

}
.news ul li div{
	display: flex;
	justify-content: left;
	gap: 4rem;
	width:90%;
	margin:auto;
}
.news .viewall {
	text-align: center;
	font-size: 20px;
}
/*商品一覧---------------------------------------------------------------*/
.archive main{
	padding-bottom:60vh;
	margin-bottom: -70px;
}
.archive .mv{
	height: calc(60vh - 70px);
}
.archive .mv_wrap{
	background-repeat:no-repeat;
	background-size:cover;
}
.archive_main{
    position: relative;
    top: calc(60vh - 70px);
    z-index: 1;
		background: #fff;
	  padding-bottom:10%;

}
.productList{
	display: grid;
    grid-template-columns: repeat(2, 1fr);
	gap:1px;
}
.productList .text{
	    text-align: center;
    width: 90%;
    margin: auto;
	    padding: 8%;
}
.productList .image{
	width: 100%;
    height: auto;
    aspect-ratio: 2 / 1.4;
	overflow: hidden;
	position: relative;

}
.productList .image img{
	width:100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	transition: opacity 1s ease;
	opacity: 0;
}

  
.productList .image:first-child {
	opacity: 1;
  }


.productList .btnList{
	   justify-content: center;
}

/*商品詳細---------------------------------------------------------------*/
.single main{
padding-bottom:20vh;
}
.product_top{
	width:100%;
	min-height: calc(80vh - 70px);
	position: relative;
	background: #D8DAE0 0% 0% no-repeat padding-box;
}
.product_top .wrap{
	    width: 100%;
    height: 100%;
    padding: 8% 0;
}
.product_top .info{
	position: relative;
	z-index:1;
}
.product_top .info h2{
	    text-align: left
}
.single .catch{
	font-size:30px;
	font-weight: 600;
	margin: 2rem 0;
	letter-spacing: 1.5px;
}
/* .single .catch span{
	display: block;
} */
.product_top .btnList ul{
	   margin-left: 0;
}
.product_top .image{
	position: absolute;
	top:0;
	right:0;
	width:70%;
	z-index: 0;
	min-height: calc(80vh - 70px);
    height: 100%;
}
.product_top .image img{
	height: 100%;
    object-fit: contain;
    object-position: center right;
}
.product_center{
		background: transparent linear-gradient(180deg, #D8DAE0 0%, #FFFFFF 40%, #FFFFFF 100%) 0% 0% no-repeat padding-box;
}
.product_center .wrap{
	  position: relative;
    width: 100%;
    margin: auto;
    max-width: 1600px;
}
.index{
	    margin-bottom: 10%;
}
.index li{
	border-top:1px solid;
	position: relative;
}
.index li:last-child{
	border-bottom:1px solid;
}
.index li::after{
	position: absolute;
	content:"";
	right:2rem;
	width: 1rem;
	height: 1rem;
	top: 1rem;
	border-right:1px solid;
	border-bottom:1px solid;
	    transform: rotateZ(45deg);
	
}
.index li a{
	display: block;
	width:100%;
	padding:1rem;
	font-family: "Inter", sans-serif;
  letter-spacing: 1.6px;
}
.index li a span{
	  width: 140px;
    display: inline-block;
	  font-size:20px;
}
.product_center .flex.end{
	align-items: flex-start;
	margin: 8vh 0;
	justify-content: flex-start;
}
.product_center .flex.start{
	/* align-items: center;
	justify-content: flex-start;
	    margin: 8vh 0; */
	align-items: flex-start;
    margin: 8vh 0;
    justify-content: flex-end;

}
.product_center .flex.start .text{
	  /* position: relative;
    width: 50%;
    max-width: 400px;
	  padding: 10% 0; */
	  /* position: absolute;
	  left: auto;
	  right: 50%; */
	  padding: 2% 2% 0 2%;
	  max-width: 450px;
}
.product_center .flex.end .text{
	/* position: relative;
  width: 50%;
  max-width: 400px;
	padding: 10% 0; */
	/* position: absolute; */
	left: 50%;
	right: auto;
	padding: 2% 2% 0 2%;
	max-width: 450px;
}
.product_center .flex.end .image{
	/* position: absolute; */
	left: 0;
	width: 50%;
	max-width: 750px;
	position: relative;

}
.product_center .flex.start .image{
	/* position: absolute; */
	right: 0;
	width: 50%;
	max-width: 750px;
	position: relative;

}
.product_center .image.full{
	width: 120%;
	display: block;
	margin-left: calc(-10%);
}
.product_center .fixed{
	height: auto;
	display: block;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	background-size:cover;
	background-attachment: fixed;
	background-position: center;
	margin-top:10%;
	position: relative;
	overflow: hidden;
}
.product_center .fixed div{
	margin-top:-40%;
}
.product_bottom{
	margin-top: 10%;
}
.product_bottom h3{
	font-size:20px;
	font-weight: 400;
	   text-align: center;
    font-family: "Inter", sans-serif;
    letter-spacing: 1.6px;
       display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}
.product_bottom h3 span{
	font-size: 14px;
}

table{
	width:100%;
	margin:2rem auto;
	border-collapse: collapse;

}
table th{
	  font-family: "Inter", sans-serif;
    color: inherit;
    font-size: 16px;
		font-weight: 450;
    letter-spacing: 1px;
	white-space: nowrap;
	    padding: 1rem;
	vertical-align: top;
	    border-top: 1px solid;
	text-align: left;
}
 table th span{
	font-size:13px;
	margin: 0 15px;
}
table td{
	padding:1rem;
	line-height: 1.8;
  letter-spacing: 1px;
	 border-top: 1px solid;
}

/*デフォルトページ---------------------------------------------------------------*/
.page-template-default,.post-template-default,.error404{
	background: #BBBDC3 0% 0% no-repeat padding-box;
}
.page-template-default section,
.post-template-default section,
.error404 section{
	padding:8% 0 15%;
}
.newsList .wp-block-group__inner-container{
	padding: 1.2rem 1rem;
    border-top: 1px solid;
    display: flex;
    justify-content: center;
    gap: 4rem;
}
.newsList li:last-child .wp-block-group__inner-container{
	border-bottom:1px solid;
}

/*フッター---------------------------------------------------------------*/
footer {
	background: #343436;
	color: #fff;
			position: relative;
}
.footer_top .wrap {
	width: 100%;
	height: 100%;
}
.zoomIn{
	position: relative;
    overflow: hidden;
	width: 50%;
}
.zoomIn::before{
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('img/mv_od.jpg');
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease-in-out;
	z-index: 0;
}
.zoomIn.right::before {
	background-image: url("img/mv_it.jpg");
}
.zoomIn:hover::before {
    transform: scale(1.2); /* 1.2倍に拡大 */
}
.zoomIn:hover .btn{
	color: #19191A;
}

.zoomIn:hover .btn::before{
	transform-origin: 50% 100%;
    transform: scaleY(1);
}
.footer_top .cont {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
	padding: 10% 2%;
}
.footer_top .logo {
	width: 110px;
	object-fit: contain;
}
.footer_top .btnList ul {
	gap: 1rem;
}
.footer_top .btnList ul li span{
	display: block;
    width: 200px;
    text-align: center;
    font-size: 13px;
    border: 1px solid;
    border-radius: 30px;
    padding: 9px 10px;
}
.footer_nav {
	width: 90%;
	margin: 4% auto;
}
.footer_nav li{
		margin: 20px;
		width: fit-content;
		position: relative;

}
.footer_nav li a,
.footer_nav li span {
	font-family: "Inter", sans-serif;
	font-weight: 300;
	display: inline-block;
	font-size: 18px;
	letter-spacing: 1px;
	padding-left: 15px;

}
.footer_nav li a::before,
.footer_nav li span::before {
	position: absolute;
	content: "-";
	left: 0;
}
.footer_nav .has-child li{
	    padding-left: 1rem;
    margin: 10px
}
.footer_bottom {
	width: 90%;
	margin: auto;
	padding: 2rem 0 5rem;
	align-items: center;

}
.footer_bottom .sns {
	gap: 4rem;
}
.footer_bottom .sns a {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-family: "Inter", sans-serif;
}
.footer_bottom .sns img {
	width: 28px;
}
.fixed_footer{
	position: fixed;
	bottom:0;
	left:0;
	width:100%;
	z-index: 50;
}
.fixed_footer a{
	width:100%;
	background: #CF4514 0% 0% no-repeat padding-box;
	padding:0.5rem;
	justify-content: center;
	gap:3rem;
}
.fixed_footer a img{
	width: 300px;
	object-fit: contain;
}
.fixed_footer a p{
	color: #fff;
    font-size: clamp(12px, 1.8vw, 20px);
    margin: 0;
    text-align: center;
}
.fixed_footer a p small{
	text-decoration: underline;
    font-size: clamp(10px, 1vw, 13px);
    padding-left: 1rem;
}
/*レスポンシブ---------------------------------------------------------------*/

@media(max-width:799px){
	.sp{
		display: block;
	}
	.pc{
		display: none!important;
	}
	p,a{
		font-size:12px;
	}
	main{
		margin-top: 52px;

	}
	.mv_cont .btnList a,
	footer .btn{
	width: 150px;
    font-size: 13px;
    padding: 8px;
	}
	.flex{
		flex-direction: column;
		align-items: baseline;
		justify-content: flex-start;
	}
	.flex .text{
		width:100%;
		}
		.flex .image{
			width:100%;
			}
	.btnList ul li{
		margin:0.5rem 0;
	}
	.name{
		font-size:14px;
	}
	.name span{
		font-size:10px;
	}
	header{
		height: 52px;
	}
	.header_inner{
		padding:0.5rem 1rem;
	}
	header .openbtn{
		top:0.8rem;
	}
	header.active nav{
		width: 100%;
	}
	input,textarea{
		font-size:12px;
		margin-bottom:0.5rem;
	}
	.mv{
    height: calc(100vh - 115px);
	}
	.mv_cont{
		gap:1.0rem;
	}
	.mv_left,
	.mv_right{
		width:100%;
		height: 45vh;
	}
	.mv_cont .logo{
		width:75px;
	}
	.mv_center{
		top: 44%;
	}
	.mv_center img{
		width: 45px;
	}
	.top_main{
		padding-top: 60%;
	}
	.top_main .about h3{
		font-size:18px;
	}
	.top_main .about p{
		font-size:12px;
	}
	h2.guide,
	h3.guide{
		position: relative;
    writing-mode: inherit;
    left: 0;
    text-align: left;
		margin-bottom: 2rem;
		font-size:8px;
	}
	h2.guide::after,
	h3.guide::after{
		display: none;
	}
	h2.guide::before,
	h3.guide::before{
	position: relative;
	content:"";
			background: #19191a;
	display: inline-block;
			width: 40px;
			height: 1px;
			left: 0;
			margin: 0 1rem 0.2rem 0;
	}
	h3.guide{
		left: 0;
	}
	.top_main .work h2{
		left:0;
	}
	.top_main .work .cont:nth-child(1){
		padding-bottom:110%;
	}
	.top_main .work .cont:nth-child(1) .text{
		width:100%;
	}
	.top_main .work .cont:nth-child(1) .image{
		top: 20%;
		width: 80%;
	}
	.top_main .work .cont:nth-child(1) .image figure:nth-child(2){
		top:30%;
	}
	.top_main .work .cont:nth-child(1) .image figure:nth-child(3){
		top:40%;
	}
	.top_main .work .cont:nth-child(2) .flex{
		gap:1rem;
		margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
	}
	.top_main .work .cont:nth-child(2) .flex .image{
		width:100%;
	}
	.top_main .work .cont:nth-child(2) .flex .text{
		width: 90%;
        margin: auto;
	}
	.news{
		padding:15% 0;
	}
	.news h2{
		left:-5%;
	}
	.news ul li{
		gap: 2rem;
		padding: 0.5rem;
	}
	.news .date{
		font-size:10px;
	}
	.newsList .wp-block-group__inner-container{
		gap: 2rem;
		padding: 0.5rem;
		font-size: 12px;
	}
	.archive .mv{
		height: calc(60vh - 52px);
	}
	.productList{
	    display: grid;
    grid-template-columns: repeat(1, 1fr);
	}
	.product_top .info h2{
		font-size:25px;
	}
	.product_top .info h2 span{
		font-size:15px;
	}
	.single .catch{
		font-size:23px;
		margin:0;
	}
	.product_top{
		height: auto;
		min-height: 100%;
	}
	.product_top .image{
	position: relative;
    bottom: 0;
    top: auto;
    width: 100%;
    height: auto;
	min-height:100%;
	}
	.product_top .btnList ul{
		margin:auto;
	}
	.index{
	margin-bottom:20%;
}
	.index li a span{
		font-size:15px;
	}
	.product_center .flex.end,
	.product_center .flex.start{
		width:90%;
		margin:2rem auto;
	}
	.product_center .flex.start{
		flex-direction: column-reverse;
	}
	.product_center .flex.end .image,
	.product_center .flex.start .image{
		position: relative;
		width: 100%;
	}
	.product_center .flex.start .text,
	.product_center .flex.end .text{
		position: relative;
		width: 100%;
		max-width: 100%;
		padding: 3% 0;
		left:auto;
		right:auto;
	}
	.product_center .fixed{
		height: 25vh;
	}
	.product_center .fixed div{
		margin-top: -10%;
	}
	table th,
	table td{
		display: block;
	}
	table th{
		padding-bottom: 0.5rem;
	}
	table td{
		border:none;
		padding-top: 0;
		font-size: 12px;
	}
	
	.footer_top .wrap{
		flex-direction: row;
	}
	.footer_top .cont{
		gap:1rem;
	}
	.footer_top .logo{
		width: 72px;
	}
	.footer_nav{
		margin:10% auto;
	}
	.footer_nav li a,
	.footer_nav li span{
		font-size:13px;
	}
	.footer_top .btnList ul li span{
	width: 140px;
    padding: 8px;
    font-size: 12px;
	}
	.footer_bottom{
		flex-direction: column-reverse;
		gap:1rem;
	}
	.footer_bottom .sns{
		gap:1rem;
	}
	.footer_bottom div{
	width: 65%;
    margin: 2rem auto;
    max-width: 160px;
	}
	.fixed_footer a{
		align-items: center;
		gap: 0;
		padding:0.4rem;
	}
	.fixed_footer a p small{
		display: block;
		padding:0;
	}
	.fixed_footer a img{
		width:150px;
	}
}







