@charset "UTF-8";
:root {
  --min-viewport-width: 768;
  --max-viewport-width: 1536;
  --min-fluid-ratio: calc(1 / var(--min-viewport-width) * 100dvi);
  --max-fluid-ratio: calc(1 / var(--max-viewport-width) * 100dvi);
  --rem: 1rem/16;
  --max-fluid-ratio: calc(1 / var(--max-viewport-width) * 100dvi);
  --l-cont-gutter-pc: calc(80 / var(--base-font-size) * 1rem);
}

@font-face {
  font-family: 'Grotesk';
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/founders-grotesk-regular.woff2") format('woff2');
}
.en-ttl {
  font-family: "garamond-premier-pro", serif;
  font-weight: 600;
  font-style: normal;
}
.en-font {
  font-family: 'Grotesk';
}

/* --------------------------------------------------------------
   共通
   -------------------------------------------------------------- */
html.locked {
  overflow: hidden;
}
@keyframes progress {
  0% {
    bottom: -120px;
  }
  40% {
    bottom: -120px;
  }
  45% {
    bottom: 0px;
  }
  50% {
    bottom: 20px;
  }
  100% {
    bottom: 20px;
  }
}
body {
  color: #2e2e2e;
  font-size: 16px;
  font-weight: 500;
  height: auto;
  line-height: 1.5;
  letter-spacing: 0;
  min-width: 11.6rem;
}
h1 {
  font-size: 120px;
  line-height: 1;
}
h2 {
  font-size: 42px;
}
h3 {
  font-size: 18px;
}
a {
  color: #000;
}
a .image {
  margin: 0 auto;
  overflow: hidden;
}
a .image img {
  transition: all .5s;
}
a:hover .image img {
  opacity: 1;
  transform: scale(1.05);
}
a:hover .image.Nozoom img {
  opacity: 1;
  transform: scale(1);
}


.wrapper {
  font-family: "FP-こぶりなゴシック StdN W1";
  font-family: "FP-こぶりなゴシック StdN W9";
  font-family: "FP-こぶりなゴシック StdN W6";
  font-family: "FP-こぶりなゴシック StdN W3";
  overflow: hidden;
}

.flex {
  display: flex;
}
.container {
  margin: 0 auto;
  position: relative;
  width: 11.7rem;
  max-width: 1070px;
}

/*.single .container,*/
.container.single-furniture {
  max-width: 12.7156rem;
}
.container.single-furniture .breadcrumb {
  max-width: 12.7156rem;
}
.bg-gray.Service .container {
  width: 12.7156rem;
  max-width: 1192px;
}
.bg-gray {
  background-color: #efefe9;
}
.in-view {
  opacity: 0;
  transform: translate(0, 50px);
  transition: 1s;
}
.in-view.fade {
  opacity: 1;
  transform: translate(0, 0);
}
.breadcrumb {
  display: flex;
  font-size: 12px;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 44px 0 43px;
  text-align: left;
  max-width: 1240px;
  width: auto;
}

.appealSet .breadcrumb {
  max-width: initial;
}
.breadcrumb span a {
  color: #999;
  display: inline-block;
  padding: 1px 10px 0 0;
  text-decoration: none;
}
.breadcrumb span a::after {
  content: ">";
  padding-left: 10px;
}

@media screen and (min-width: 769px) {
  .btn_anim a {
    display: block;
  }
  .btn_anim a:hover {
    opacity: 1;
    -webkit-transform: translateY(-0.07rem);
            transform: translateY(-0.07rem);
  }
  .btn_anim button:hover {
    opacity: 1;
    -webkit-transform: translateY(-0.07rem);
            transform: translateY(-0.07rem);
  }
}
@media screen and (min-width: 769px) {
  .sponly {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  body {
    min-width: 3.2rem;
    font-size: 14px;
    /*font-size: 0.125rem;*/
    letter-spacing: 0.5px;
  }
  .container,
  .single .container,
  .bg-gray.Service .container {
    width: calc(100% - 0.6155rem);
  }
  .flex {
    display: block;
  }
  .pconly {
    display: none !important;
  }
  .breadcrumb {
    padding: 20px 0;
  }
  .breadcrumb span {
    font-size: 10px;
  }
  .breadcrumb span a {
    padding-right: 0.05rem;
  }
  .breadcrumb span a::after {
    padding-left: 0.03rem
  }
}

/* ------------------------------------------------------------------
                          Header        
--------------------------------- */
.header {
  height: 80px;
	left: 0;
	position: fixed;
	transition: height 0.2s ease-out;
	top: 0;
	width: 100%;
	z-index: 100;
}
.header__inner {
  align-self: center;
  display: flex;
	width: 100%;
}
.header__logo {
  background: url(../images/logo-w.png) no-repeat 0 24px;
  background-size: contain;
  position: relative;
	width: 130px;
  z-index: 1;
}
.header__logo > a {
  align-items: center;
  display: block;
	display: flex;
  height: 70px;
}
.header__logo > a > img {
	transition: all 500ms ease-out;
	opacity: 0;
}

.header__logo::before {
  background: none;
}

/* -------------------------------
              Header's  variation    
--------------------------------- */
body.home .header__logo {
  background: none
}
body.home .header__logo > a {
  display: block;
  height: initial;
}
body.home .header__logo::before {
  background: #f9dc4a;
  border-radius: 50vw;
  content: "";
  display: block;
  height: 22px;
  position: relative;
	transition: all 0.2s ease-out;
  top: 25px;
  width: 22px;
}

body.post-type-archive-columns .header__logo > a > img,
body.single-columns .header__logo > a > img,
body.single-furniture .header__logo > a > img,
body.single-post .header__logo > a > img,
body.category .header__logo > a > img,
body.tax-columns_cat .header__logo > a > img,
body.news .header__logo > a > img,
body.inquiry .header__logo > a > img {
	opacity: 1 !important;
}

.header.compact,
body.single-post .header {
  background: rgba(255, 255, 255, 0.8);
  color: #201d1d;
}
.header.compact .header__logo > a > img {
  opacity: 1;
}
.header.compact .header__logo {
  background: none;
}
.header.compact .header__logo::before {
  background: none;
  z-index: -1;
}
.header.compact .header__inner a {
  color: #000;
}
.header.compact .header__inner .lang_widget a {
  color: #999;
}
.navtoggle {
	background: #201d1d;
	border: 2px solid #201d1d;
	border-radius: 50%;
	cursor: pointer;
	display: block;
	height: 36px;
	position: absolute;
	right: 15px;
	top: 10px;
	width: 36px;
}
.navtoggle > span::before,
.navtoggle > span + span::before,
.navtoggle > span::after {
	background-color: #fff;
	content: "";
	display: block;
	height: 2px;
	left: 50%;
	position: absolute;
	transform-origin: center;
	transition: transform 0.2s ease-out;
	top: calc(50% - 1px);
	width: 18px;
}
.navtoggle > span::before {
	transform: translate(-50%, -6px) rotate(0);
}
.navtoggle > span + span::before {
	transform: translate(-50%, 0) rotate(0);
}
.navtoggle > span::after {
	transform: translate(-50%, 6px) rotate(0);
}
/* ------------------------------------------------------------------
                         main navigation PC        
--------------------------------- */
@media (min-width: 769px) {
	.header {
		padding: 0;
	}
	.header__logo {
    left: 40px;
    position: relative;
	}/* nazo
  .header__logo > a {
    height: 0.56rem;
  }*/
	.navtoggle {
		display: none;
	}
	.header__nav {
		position: relative;
		width: 100%;
	}
  .header__nav a {
    color: #fff;
    text-decoration: none;
  }
  body.post-type-archive-columns .header__nav a,
  body.single-columns .header__nav a,
  body.single-post .header__nav a,
  body.single-furniture .header__nav a,
  body.category .header__nav a,
  body.tax-columns_cat .header__nav a,
  body.news .header__nav a,
  body.inquiry .header__nav a {
    color: #303232;
  }

  body.home li.wpml-ls-item-ja a,
  body.post-type-archive-columns  li.wpml-ls-item-ja a,
  body.single-columns li.wpml-ls-item-ja a,
  body.single-furniture li.wpml-ls-item-ja a,
  body.tax-columns_cat li.wpml-ls-item-ja a,
  body.category li.wpml-ls-item-ja a,
  body.news li.wpml-ls-item-ja a,
  body.inquiry li.wpml-ls-item-ja a {
    color: #303232 !important;
  }
  
	nav ul {
		align-items: center;
		display: flex;
		/*height: 0; 高さ揃える為　*/
    height: 80px;
		justify-content: flex-end;
    padding-right: 1rem;
		width: 100%;
	}
	nav ul li {
    font-size: 14px;
		padding: 0 15px;
		position: relative;
	}
	nav ul li ._itemLink {
    display: block;
    position: relative;
    text-align: center;
    transition: all 0.2s ease-out;
	}
	nav ul li ._itemLink:hover::after,
  nav ul li .child span a:hover::after {
    background: #f9dc4a;
    border-radius: 50vw 50vw 0 0;
    bottom: -0.1rem;
    display: block;
    content: "";
    height: 2px;
    left: -0.05rem;
    position: absolute;
    padding: 0 0.08rem;
    width: calc(100% + 0.1rem);
	}
  nav ul li .link {
    position: relative;
    transition: color .15s;
    display: flex;
    align-items: center;
    height: 79px;
  }  
  nav ul li .child {
    bottom: 0;
    left: -0.15rem;
    display: none;
    position: absolute;
    color: initial;
    transform: translate(0, 100%);
    width: 150px;
  }
  .header.compact nav ul li .child,
  body.single-post nav ul li .child {
    background: rgba(255, 255, 255, 0.8);
  }
  nav ul li .child span {
    display: block;
    font-size: 14px;
		padding: 0.08rem 0 0.06rem 0.15rem;
    text-align: left;
	}
  nav ul li .child span a {
    display: inline-block;
    position: relative;
	}
  nav ul li .child span a:hover::after {
    bottom: -0.02rem;
    left: -0.05rem;
    width: calc(100% + 0.1rem);
	}
  .link:hover > .child,
  .link:focus > .child {
    display: block;
  }

}

.nav__closelayer {
  /*	background: rgba(255, 255, 255, 0.8);*/
    height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity 0.4s, visibility 0.4s;
    visibility: hidden;
    width: 90vw;
    z-index: -1;
  }
  .nav__closelayer.active {
    background: #fff;
    left: 10vw;
    height: 78vh;
    opacity: 1;
    pointer-events: all;
    visibility: visible;
    width: 80vw;
  }
  .nav__closelayer.active::before {
    background: url(../images/close.png) no-repeat;
    background-size: contain;
    display: block;
    content: "";
    height: 0.35rem;
    right: 20px;
    opacity: 1;
    position: absolute;
    top: 20px;
    width: 0.35rem;
    z-index: 100;
  }

/*----------
	main navigation SP
                         ----------*/        
/* 背景レイヤー */

@media (max-width: 768px) {
  .header,
  .header.compact   {
    height: 56px;
  }
  .header__inner {
    background: #fff;
    height: 56px;
  }
	.header__logo {
    background: none;
    bottom: 0.05rem;
    left: 0.226rem;
    position: relative;
    width: 1rem;
	}

  .header__logo > a > img {
    opacity: 1;
  }
  body.home .header__logo > a > img {
    opacity: 0;
  }
  .header.compact .header__logo > a > img {
    opacity: 1;
  }
  /*
  body.home .header__logo::before {
    background: none;
  } */
	nav {
    height: 100vh;
		left: 10%;
		overflow-y: auto;
    padding: 0 0.3rem 0.3rem;
		position: fixed;
		scroll-behavior: smooth;
		top: 1.2rem;
		width: 80%;
		z-index: 100;
	}
  nav ul {
    padding: 0 0 38vh;
		position: relative;
    top: 7vh;
	}
  ._itemLink a {
    font-family: "FP-こぶりなゴシック StdN W6";
	}

	nav ul li:first-of-type {
    width: 50%;
	}
	nav ul li:last-of-type {
		border-bottom: none;
	}
	nav ul li span {
		display: block;
	}
	nav ul li a {
		display: block;
    font-size: 18px;
		padding: 0.1rem;
	}
  nav ul li .child {
    display: block;
    padding-bottom: 0.1rem;
	}
  nav ul li .child a {
    border-bottom: 1px solid #999999;
    font-size: 14px;
		padding: 0.08rem 0 0.06rem 0.15rem;
	}
  .header__nav {
		height: 0;
		left: 0;
		right: 0;
		overflow: hidden;
		opacity: 0;
		pointer-events: none;
		position: absolute;
		transition: opacity 0.4s, visibility 0.4s;
		top: 100%;
		visibility: hidden;
		z-index: 10;
	}
  .header__nav a {
    color: #303232 !important;
  }
	.header.sp-nav-active .navtoggle > span:before {
		transform: translate(-50%, 0) rotate(-45deg);
	}
	.header.sp-nav-active .navtoggle > span:after {
		transform: translate(-50%, 0) rotate(45deg);
	}
    /* headerから外す*/
	.header.sp-nav-active .navtoggle {
    display: none;
  }
	.header.sp-nav-active .header__nav {
		height: auto;
		opacity: 1;
		pointer-events: all;
		visibility: visible;
	}
	.nav__item-btn {
		display: flex;
		padding-bottom: 2rem;
	}
	.nav__item-btn a {
		background: #A7AEB4;
		display: block;
		padding: 2rem 0;
		position: relative;
		text-align: center;
		width: 50%;
	}
	.nav__item-btn a.faq {
		background: var(--color-accent);
		color: #201d1d;
	}
  /*
	nav ul li::after {
		border-top: 2px solid #201d1d;
		border-right: 2px solid #201d1d;
		content: "";
		display: block;
		height: 8px;
		position: absolute;
		right: 15px;
		transform: rotate( 45deg);
		top: 27px;
		width: 8px;
	}
    */
}
@media (min-width: 431px) {
  .sp-nav-active nav {
		height: calc(100svh - 50px);
		left: 10%;
		overflow-y: auto;
    padding: 0 0.3rem 30vh;
		position: fixed;
		scroll-behavior: smooth;
		top: 1.1rem;
		width: 80%;
		z-index: 100;
	}
  .nav__closelayer.active {
    height: 100vh;
  }/*
  nav ul {
    padding: 0.5rem 0 0;
}*/
}



.lang_widget {
  font-family: 'Grotesk';
  padding-left: 70px;
}
.lang_widget a {
  color: #999 ;
  cursor: pointer;
}
.wpml-ls-legacy-list-horizontal {
  padding: 0 !important;
}
.wpml-ls-legacy-list-horizontal > ul {
  align-items: center;
  display: flex;
  font-size: 14px;
  height: 78px;
  position: relative;
}
.wpml-ls-legacy-list-horizontal>ul::before {
  background: #f9dc4a;
  border-radius: 50vw;
  content: "";
  display: block;
  height: 6px;
  left: -8px;
  position: relative;
  top: 0;
  width: 6px;
}
.wpml-ls-legacy-list-horizontal .wpml-ls-item {
  width: 25px;
 }
.wpml-ls-native {
  display: none;
}
.wpml-ls-legacy-list-horizontal a {
  padding: 0 !important;
}

li.wpml-ls-item-ja a {
  color: #fff;
}
li.wpml-ls-item-ja a:before,
li.wpml-ls-item-ja a:after {
  content: "JP";
  position: relative;
}
li.wpml-ls-item-ja a:after {
  content: "/";
  display: inline-block;
}
li.wpml-ls-item-en a:before {
  content: "EN";
  position: relative;
}

@media (max-width: 768px) {
  .lang_widget {
    align-items: center;
    display: flex;
    justify-content: end;
    position: relative;
  }
  nav ul li .lang_widget a {
    cursor: pointer;
    display: flex;
    font-size: 14px;
  }
  li.wpml-ls-item-ja a::before,
  li.wpml-ls-item-ja a:after {
    color: #999;
  }

}


/* ------------------------------------------------------------------
                         TOP        
--------------------------------- */
:root,
::before, ::after {
  --vh: 7.9px;
  --vw: 14.24px;
  --w1070:calc(50% - 535px);
}
.mv {
  height: 100vh;
  max-height: calc(var(--vw) * 57.65625);
  place-items: center;
  position: relative;
  width: 100%;
  z-index: 0;
}
.mv.bg-gray,
.mv.projects-single,
.mv.about {
  height: 37vw;
}
.mv.bg-gray,
.mv.about {
  max-height: 520px;
}
.mv.bg-gray.single{
  max-height: 410px;
}
.mv.bg-gray.single .mv-content {
    top: 45%;
}
.mv.top {
  padding-left: 3.3rem;
}
.mv.top::before,
.mv.top::after,
.figure::before,
.figure::after {
  background: url(../images/topmv-dot01.png) no-repeat top;
  background-size: contain;
  display: block;
  content: "";
  height: 210px;
  left: 3.1rem;
  position: absolute;
  top: -1px;
  width: 210px;
  z-index: 5;
}
@media (max-width: 1300px) {
  .mv.top::before {
    left: 3rem;
  }
}
.mv.top::after,
.figure::after {
  background: url(../images/topmv-dot02.png) no-repeat bottom;
  background-size: contain;
  bottom: -5px;
  height: 4rem;
  left: initial;
  right: -3px;
  top: initial;
  width: 210px;
}
.carousel,
.pageImage {
  height: 100%;
  display: flex;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.pageImage {
  display: block;
}
.carousel img {
  display: inline;
  margin: auto;
  padding: 0;
  height: auto;
  object-fit: contain;
  position: relative;
  left: 0;
  width: 100%;
}
@media (max-width: 1810px) {
  .carousel img {
    height: 100%;
    object-fit: cover;
    width: auto;
  }
}

.pageImage img {
  display: block;
  margin: 0;
  padding: 0;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
@keyframes scroll {
  0% { margin-left: 0; }      
  35% { margin-left: -100%; }
  /* 少しの間上と同じ位置 */  
  38% { margin-left: -100%; }
  70% { margin-left: -200%; }
  73% { margin-left: -200%; }
  97% { margin-left: -300%; }
  100% { margin-left: -300%; }
}
.carousel > :first-child {
  animation-name: scroll;
  animation-duration: 10s;
  animation-delay: 2s;
  animation-iteration-count: infinite;
}




/* 自作スライダー---------------------------------------------- */
.slide-wrap {
  height: 100%;
  padding-left: 3rem;
  position: absolute;
  width: 100vw;
}
.slide {
  inset: 0;/* width: 100%; height: 100%; と同じ意味 */
  opacity: 0;
  position: absolute;
  transition: opacity 1s ease-in-out;
}
.slide:first-child {
  opacity: 1;
}
.slide1 {
  background: url('../images/mv00PC.webp') no-repeat center;
  background-size: 100%;
}
.slide2 {
  background: url('../images/mv01.webp') no-repeat center;
  background-size: 100%;
}


.mv-content {
  position: absolute;
  z-index: 1;
}
.mv-content h1 {
  font-family: "garamond-premier-pro", serif;
  font-size: 120px;
  font-weight: 700;
  line-height: 1;
  opacity: 0.8;
}

.mv .mv-content {
  bottom: 16vh;
  color: #fff;
  left: 2.3rem;
  left: calc(50% - 535px);
/*  width: 5.75rem;*/
}
@media screen and (max-width: 1440px) {
  .mv .mv-content {
      left: 1.83rem;
  }
}
.mv .mv-content p {
  width: 570px;
}
.mv.bg-gray .mv-content  {
  color: #303232;
  top: 33%;
}
.mv.about .mv-content {
  top: 13%;
}
.mv.bg-gray .mv-content h1 {
  opacity: 1;
}
.mv.bg-gray.single .mv-content h1 {
  /*font-size: 32px;*/
  font-size: 35px;
  font-family: "FP-こぶりなゴシック StdN W6";
  max-width: 820px;
}
.mv.top .mv-content {
  bottom: 0.5rem;
  left: 0.5rem;
  position: absolute;
  width: 405px;
}
.mv.top .mv-content h1 {
  font-size: 43px;
  opacity: 1;
}
.mv.fittingbox .mv-content {
  bottom: 30vh;
  width: 7rem;
}
.mv.fittingbox h1 {
  opacity: 1;
  width: 5.75rem;
}
.mv-content .sub {
  font-size: 32px;
  margin: 40px 0 25px;
}
.mv-content .sub.column {
  /*font-size:16px;*/
  font-size:22px;
}
@media screen and (max-width: 1240px) {
  .mv.bg-gray {
    height: 51vw;
  }
}
@media screen and (max-width: 768px) {
  .mv,
  .mv.about {
    height: 5.4rem;
    z-index: 0;
  }
  .mv.top {
    height: 3rem;
    padding-left: 0.5rem;
  }
  .mv.top::before,
  .mv.top::after {
    height: 0.8rem;
    left: -0.2rem;
    top: 53px;
    width: 2rem;
  }
  .mv.top::after {
    background: url(../images/topmv-dot02.png) no-repeat bottom;
    background-size: contain;
    bottom: -0.34rem;
    height: 2rem;
    left: initial;
    right: -10px;
    top: initial;
    width: 0.8rem;
  }
  .mv.single,
  .mv.bg-gray,
  .mv.projects-single {
    height: 400px;
  }

  .mv.projects-single {
    max-height: 3rem;
  }
  .mv.top .mv-content h1 {
    font-size: 22px;
  }
  .mv.top .mv-content h1 img {
    padding-bottom: 10px;
  }
  .mv.bg-gray.single .mv-content h1 {
    font-size: 24px;
    width: 95%;
  }
  .mv.fittingbox h1 {
    width: 80%;
  }
  .mv.fittingbox .mv-content {
    top: 1.6rem;
    width: 3.4rem;
  }
  .mv.about .mv-content {
    top: 33%;
  }
  .carousel {
    z-index: 0;
  }
  .mv-content h1 {
    font-size: 64px;
    line-height: 1.2;
  }
  body.access .mv-content h1 {
    font-size: 63px;
    letter-spacing: -1.5px;
  }
  .mv .mv-content {
    bottom: initial;
    left: 0.3rem;
    top: 1.2rem;
    width: auto;
  }
  .mv.bg-gray .mv-content {
    bottom: 5vh;
  }
  .mv.top .mv-content {
    bottom: -0.2rem;
    left: 20px;
    top: initial;
    width: 1.9rem;
  }
  .mv-content .sub {
    font-size: 20px;
    margin: 20px 0;
  }
  .mv-content .sub.column {
    font-size:16px;
    width: calc(100% - 0.31rem);
  }
  .mv .mv-content p {
    font-size: 14px;
    width: 85vw;
  }

}
.top-msg {
  margin: 1rem auto;
  text-align: center;
}
.top-msg h2 {
  font-size: 32px;
  font-family: "FP-こぶりなゴシック StdN W3";
  padding-bottom: 0.25rem;
}
.top-msg.service h2 {
  padding-bottom: 0;
}
.top-msg .txt-wrap p {
  padding-bottom: 0.25rem;
}
.top-msg.service .txt-wrap p {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .top-msg {
    margin: 0.9rem auto 0.64rem;
  }
  .top-msg h2 {
    font-size: 28px;
  }
  .top-msg .txt-wrap p {
    text-align: left;
  }
}
.bg-gray .container {
  padding: 1rem 0 1.8rem;
}
.bg-gray .container.bnr {
  padding: 1rem 1rem 1.8rem;
}
.bg-gray.top {
  background-image: url(../images/dot.png);
  background-repeat: no-repeat;
  background-position: 94%;
  background-size: contain;
}
.rod {
  font-size: 24px;
  font-family: "FP-こぶりなゴシック StdN W6";
  padding: 0 0 0 16px;
  position: relative;
}
.rod.mb {
  margin-bottom: 80px;
}

.rod::before,
.rod::after {
  background: #303232;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 8px;
}
.rod::after {
  background: #f9dc4a;
  height: 8px;
}
article {
  border-bottom: 1px solid #999999;
  margin-top: 1.2rem; 
  padding: 0 0 32px;
  width: 685px;
}
article + article {
  margin-top: 1.6rem;
}
article h3 {
  font-size: 42px;
  font-family: "FP-こぶりなゴシック StdN W6";
  letter-spacing: -1.5px;
  padding-bottom: 32px; 
}
article p {
  line-height: 1.6;
}
time {
  color: #999;
  display: block;
  font-size: 14px;
  height: 40px;
  left: 0.15rem;
  position: relative;
}
time::before {
  background: #f9dc4a;
  border-radius: 50vw;
  content: "";
  display: block;
  height: 8px;
  left: -15px;
  position: absolute;
  top: 16%;
  width: 8px;
}
@media screen and (max-width: 768px) {
  .bg-gray .container {
    padding: 0.6rem 0 1rem;
  }
  .bg-gray.top {
    background-image: url(../images/dot-sp.png);
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: contain;
  }
  .rod {
    font-size: 24px;
  }
  
  .rod.line {
    line-height: 1.2;
  }
  .rod.line::before,
  .rod.line::after {
    top: 20%;
  }
  article {
    margin-top: 0.64rem;
    padding: 0 0 32px;
    width: 100%;
  }
  article + article {
    margin-top: 32px;
  }
  article h3 {
    font-size: 24px;
    padding-bottom: 32px; 
    text-align: center;
  }
}
.ourValue {
  background: url(../images/image-our-value.png) no-repeat center;
  background-size: cover;
  color: #fff;
}
.ourValue .container {
  align-items: center;
  display: grid;
  grid-template-columns: 6fr 5.6fr;
  line-height: 1.8;
  justify-content: space-between;
  padding: 130px 0;
  width: 12.7156rem;
  max-width: 1192px !important;
}
.ourValue a {
  color: #fff;
}
.ourValue .en-ttl {
  font-size: 105px;
  line-height: 1;
  letter-spacing: -1px;
  padding-right: 0;
}
.ourValue h2 {
  font-size: 32px;
  font-family: "FP-こぶりなゴシック StdN W6";
  letter-spacing: -1px;
  line-height: 1;
  padding-bottom: 25px;
}/*
@media screen and (max-width: 1440px) {
  .ourValue .txt {
    width: auto;
  }
  .ourValue h2 {
    font-size: 32px;
    font-size: calc(32 / 1440 * 100vw);
  }
  .ourValue .en-ttl {
    font-size: calc(120 / 1440 * 100vw);
    padding-right: 0;
  }
}
*/
.ourValue .btn {
  border-top: 1px solid #fff;
  margin-top: 30px !important;
  padding-top: 50px;
  text-align: right;
}
.ourValue .btn a {
  background: url(../images/arrow-next.png) no-repeat right !important;
  background-size: 60px !important;
  padding: 20px 75px 20px 0 !important;
  display: block;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .ourValue .container {
    display: block;
    padding: 0.7rem 0;
    width: calc(100% - 0.6rem);
  }
  .ourValue .en-ttl {
    font-size: 64px;
    margin-bottom: 0.3rem;
    padding-right: 0;
    text-align: center;
  }
  .ourValue h2 {
    font-size: 24px;
    line-height: 1.6;
    text-align: center;
  }
  .ourValue .btn {
    border-top: none;
    font-size: 18px;
    margin: 0.1rem auto 0 !important;
    padding-top: 0.25rem;
    text-align: center;
    width: 100%;
  }
  .ourValue .btn a {
    padding: 20px 0.75rem 20px 0 !important;
  }
  .rod.mb {
    margin-bottom: 32px;
  }
  .txt.mb {
    padding-bottom: 20px;
  }
}
.case {
  padding: 1rem 0;
}
.case.single {
  padding: 0.5rem 0;
}
.case .rod {
  margin-bottom: 80px;
}
.case .inner {
  margin-bottom: -108px;
  padding-left: calc(50% - 596px);/* 1192 / 2*/
  position: relative;
}
.wrap-Swiper {
  width: 100%;
  overflow: hidden;
}
.Swiper {
  overflow: hidden;
  padding-bottom: 76px;
  position: relative;
}
.swiper-slide a {
  position: relative;
  display: block;
  color: #fff;
}
.case .wrap-Swiper time {
  color: #fff;
}
.swiper-slide .ttl {
  font-family: 'Grotesk';
  font-size: 62px;
  line-height: 1;
}
.case-name {
  font-family: "FP-こぶりなゴシック StdN W6";
}
.swiper-slide .txt {
  bottom: 0.3rem;
  left: 24px;
  position: absolute;
  width: 100%;
  z-index: 1;
}
.swiper-slide .txt.top {
  padding-right: 25px;
}
.swiper-slide .txt {
  bottom: 0.3rem;
  left: 24px;
  position: absolute;
  width: 100%;
  z-index: 1;
}
.swiper-slide .tag {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0.05rem;
}

.tag span {
  line-height: 1;
  padding: 5px;
}
.swiper-slide .tag span {
  border: 1px solid #fff;
  border-radius: 6px;
  font-family: "FP-こぶりなゴシック StdN W1";
  margin: 0 5px 5px 0;
}

/* arrow */
 .swiper-button-next,
 .swiper-button-prev {
  bottom: 0;
  top: initial;
  z-index: 10;
}
.swiper-button-next::after,
.swiper-button-prev::after {
  content: none;
}
 .swiper-button-next::after,
 .swiper-button-prev::after {
  content: "";
  background: url("../images/btn-prev.png") no-repeat;
  background-size: contain;
  height: 40px;
  width: 40px;
  aspect-ratio: 1;
}
.swiper-button-next::after {
 content: "";
 background: url("../images/btn-next.png") no-repeat;
 background-size: 40px;
}
 .swiper-button-prev {
  left: 7px
}
 .swiper-button-next {
  left: 55px;
}

.Swiper-service .swiper-button-next,
.Swiper-service .swiper-button-prev {
 bottom: -35px;
}

.case .inner + .container {
  width: 12.7156rem;
  max-width: 1192px !important;
}

@media screen and (max-width: 1440px) {
  .case .inner {
    padding-left: 1.37rem
  }
}
@media screen and (max-width: 1110px) {
  .case .inner {
    padding-left: 1.34rem
  }
}
@media screen and (max-width: 980px) {
  .swiper-slide .ttl {
    font-size: 0.6rem;
  }
  .swiper-slide .tag span {
    font-size: 12px;
  }
}

@media screen and (max-width: 769px) {
  .case .rod {
    margin-bottom: 60px;
  }
  .bg-gray h2.rod {
    margin-bottom: 0.4rem;
  }
  .case .inner {
    margin-bottom: -106px;
    padding-left: 0.3078rem;
  }
  .swiper-slide .txt {
    bottom: 0;
    left: 20px;
    width: auto;
  }
  .swiper-slide .ttl {
    font-size: 28px;
  }
  .swiper-slide .tag {
    flex-wrap: wrap;
  }
  .swiper-slide .txt.top .ttl {
    font-size: 32px;
  }
  .swiper-slide .txt.top .case-name,
  .swiper-slide .txt.top .tag span,
  .swiper-slide .txt.top time  {
    font-size: 11.5px;
  }

  .Swiper-service .swiper-button-next,
  .Swiper-service .swiper-button-prev {
    bottom: 0;
  }
  .case .inner + .container {
    width: calc(100% - 0.6155rem);
  }
}

.customers-list {
  display: grid;
  gap: 60px;
  grid-template-columns: repeat(4,1fr);
  margin: 0 auto;
  padding: 140px 90px;
  width: 12.7156rem;
  max-width: 1192px;
}

@media screen and (max-width: 1440px) {
  .customers-list {
    gap: 0.6rem;
    padding: 1.4rem 0.9rem;
  }
}
@media screen and (max-width: 768px) {
  .customers-list {
    gap: 0.1rem;
    padding: 0.3rem 0;
    width: calc(100% - 0.6155rem);
  }
}
.container.top {
  margin: 1rem auto;
}
.container.top h2 {
  margin-bottom: 80px;
}
.news dl dt span,
.column .txt span  {
  border: 1px solid #303232;
  border-radius: 6px;
  color: #303232;
  display: inline-block;
  line-height: 1;
  margin-top: -0.05rem;
  font-size: 14px;
}
.column .txt span  {
  margin-bottom: 5px;
}
.news .wrap {
  margin: 0.6rem 0;
}
.news dl {
  margin-bottom: 20px;
}
.news dl a {
  align-items: end;
  display: grid;
  grid-template-columns: 120px 1fr;
}
.news dt,
.column .item time {
  color: #999999;
  position: relative;
}

.news dl dt span {
  padding: 4px 8px;
}
.news dl dd {
  border-bottom: 1px solid #999;
  line-height: 1.6;
  padding-bottom: 0.05rem;
}
.news time {
  margin-bottom: -15px;
  top: initial;
}
.btn a {
  font-family: "FP-こぶりなゴシック StdN W6";
}
.container .btn,
.case .btn {
  margin-top: 50px;
  text-align: right;
}
.case .btn {
/*  margin-top: -30px;*/
}

.case.service .container .btn{
  margin-top: 0;
}
.Fittingbox .btn {
  margin-bottom: 0.5rem;
  text-align: right;
}
.container .btn a,
.case .btn a,
.container.btn-wrap .btn a,
.Fittingbox .btn a,
.Fittingbox.btn {
  background: url(../images/arrow-more.png) no-repeat right;
  background-size: 40px;
  display: block;
  font-size: 14px;
  padding: 25px 50px 25px 0;
}
.Fittingbox.btn {
  font-family: "FP-こぶりなゴシック StdN W6";
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  .container.top {
    margin: 0.64rem auto;
  }
  .container.top h2 {
    margin-bottom: 0.6rem;
  }
  .news .wrap {
    margin: -0.15rem 0 -0.3rem;
  }
  .news dl a {
    display: block;
  }

  .news dl dt::before {
      top: 0.25rem;
  }
  .news dl dd {
    padding: 15px 0 10px;
  }
  .news dl dd p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .container .btn {
    margin-top: 49px;
  }
  .Fittingbox.btn {
    margin-top: 0;
  }
}
.column h2 {
  margin-top: 100px;
}
.column .wrap {
  display: grid;
  gap: 0.45rem;
  grid-template-columns: repeat(3 ,1fr);
}
.column .wrap figure {
  aspect-ratio: 1 / 1;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.column .wrap figure img {
  height: 100%;
  display: block;
  object-fit: cover;
  width: 100%;
}
.column .wrap .txt {
  line-height: 1.3;
  margin: 0.1rem 0;
}

.column .wrap span {
  margin-top: 0.05rem;
  padding: 4px 10px;
}
@media screen and (max-width: 768px) {
  .column h2 {
    margin-top: 0.6rem;
  }
  .column .wrap {
    display: block
  }
  .column .wrap .item {
    margin: 0 auto 0.5rem;
    width: 80%;
  }
}
.gallery {
  margin: 1rem 0 2rem;
}
.gallery ul {
  display: grid;
  gap: 0.4rem;
  grid-template-columns: repeat(5 ,1fr);
  margin: 0.3rem 0;
}
.wrap-feed {
  margin: -55px 0 20px;
}
.instagram {
  position: relative;
}
.instagram {
  align-items: center;
  border: 1px solid #303232;
  display: flex;
  justify-content: space-between;
  position: absolute;
  right: 0;
  width: 148px;
}
.instagram p {
  text-align: center;
  width: 70%;
}
.instagram .icon {
  background: #f9dc4a;
  display: block;
  padding: 8px;
  text-align: center;
  width: 30%;
}
@media screen and (max-width: 768px) {
  .gallery {
    margin: 0.6rem 0 1.5rem;
  }
  .gallery ul {
    gap: 0.15rem;
    grid-template-columns: repeat(2 ,3fr);
    margin: 0.3rem 0;
  }
  .wrap-feed {
    margin: -40px 0 20px;
  }
  .instagram {
    font-size: 14px;
    width: 1.5rem;
  }
}


/* --------------------------------------------------------------
   Service
-------------------------------------------------------------- */
.top-msg.service {
  margin:  0 auto 100px;
}
.top-msg .servise-msg {
  margin:  0.6rem auto;
  max-width: 620px;
}
p.strong {
  font-size: 20px;
  font-family: "FP-こぶりなゴシック StdN W6" !important;
  margin-bottom: 0.3rem;
}
.figure {
  height: 624px;
  margin-top: -20px;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.figure img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.figure::before,
.figure::after {
  background: url(../images/service-dot01.png) no-repeat top;
  background-size: contain;
  height: 340px;
  left: 0.15rem;
  width: 340px;
}
.figure::after {
  background: url(../images/service-dot02.png) no-repeat bottom;
  background-size: contain;
  bottom: 0;
  height: 360px;
  left: initial;
  right: 5%;
  width: 360px;
}
.Service .box {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  margin-top: 1rem;
  position: relative;
}
.Service h2.rod + .Service .box {
  margin-top: 0.8rem;
}

.narrow-down:has(.open) {
  margin: 0 0 100px;
}

.narrow-down + .box {
  margin-top: -30px;
}


.Service .box .image {
  height: 3.5rem;
  max-height: 345px;
  width: 48%;
}
.Service .box .image img {
  display: block;
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.Service .box .txt {
  background: #fff;
  padding: 0.25rem 0.3rem;
  flex: 1;
  height: 2.7rem;
  max-height: 270px;
  width: 52%;
}
.Service .box::after {
  background: #999;
  bottom: -0.5rem;
  content: "";
  display: block;
  height: 1px;
  position: relative;
  width: 100%;
}
.Service .box.noborder:after {
  background: none
}
.Service .box.last::after {
  background: #d9d9d9;
  bottom: -0.9rem;
}
.Service .box.reverse {
  flex-direction: row-reverse;
}
.Service .box .txt .ttl {
  color: #303232;
  font-size: 20px;
  font-family: "FP-こぶりなゴシック StdN W6";
  margin-bottom: 20px;
}
.Service .extend {
  display: flex;
  justify-content: end;
  width: 100%;
}
.Service .extend .inner {
  margin-bottom: -0.3rem;
  width: 52%;
}
.Service .extend dl {
  margin: 0.4rem 0 0;
}
.Service .extend dl dt {
  border: 1px solid #303232;
  background: #fff;
  display: inline-block;
  padding: 0.05rem 20px;
}
.Service .extend dl dt a {
  background: url(../images/arrow-dt.png) no-repeat 102%;
  background-size: 20px;
  padding-right: 0.3rem;
}
.Service .extend dl dt a span {
  font-family: "FP-こぶりなゴシック StdN W6";
}
.Service .extend dl dd {
  font-size: 14px;
  margin: 0.1rem 0 0.25rem;
}
.Service .extend dl dt:last-of-type {
  background: none
}
.case.service .inner {
  margin-bottom: -90px;
  padding-left: calc(50% - 596px);
}
.case.service .swiper-button-next,
.case.service .swiper-button-prev {
 bottom: -13px;
}

.service p {
  font-family: "FP-こぶりなゴシック StdN W1";
}
@media screen and (max-width: 1440px) {
  .case.service .inner {
    padding-left: 1.37rem;
  }
}
@media screen and (max-width: 1110px) {
  .case.service .inner {
    margin-bottom: -75px;
    padding-left: 1.34rem
  }
}
@media screen and (max-width: 768px) {
  .case.service .inner {
    margin-bottom: -90px;
    padding-left: 0.3078rem
  }
  
}

.Swiper-service {
  padding-bottom: 50px;
  margin-bottom: 45px;
  position: relative;
}
.Swiper-service .swiper-slide a {
  padding-left: 1px;
  color: #303232;
}
.Swiper-service .swiper-slide .image {
  align-items: center;
  display: flex;
  height: auto;
  aspect-ratio: 3 / 2;
  max-height: 360px;
}
.Swiper-service .swiper-slide .image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.Swiper-service .swiper-slide .ttl {
  font-size: 24px;
}
.Swiper-service .swiper-slide .case-name {
  font-size: 14px;
}
.Swiper-service .swiper-slide .txt {
  bottom: initial;
  left: 0;
  position: relative;
  top: 20px;
  width: 100%;
}
.Swiper-service .swiper-slide .tag span {
  border: 1px solid #303232;
  border-radius: 6px;
  color: #303232;
  font-size: 14px;
  font-family: "FP-こぶりなゴシック StdN W1";
  margin-right: 0.05rem;
}
.case .Swiper-service time {
  color: #999;
}
.Service .narrow-down {
  border: none;
  margin-top: 30px;
}
.Service .narrow-down .accordion_header {
  border: none;
  background: none;
  color: #2e2e2e;
  font-family: "FP-こぶりなゴシック StdN W3";
  font-size: 20px;
  padding-right: 50px;
  text-align: right;
}
.Service .narrow-down .icon .one_i::after {
  left: 0;
}
.Service .narrow-down .icon {
  right: 0;
}
.Service .narrow-down .icon {
  right: 0;
}
.Service .narrow-down .accordion_inner {
  margin-top: 0.3rem;
  padding: 0;
}
.flow {
  background: #fff;
  padding: 0;
}
.flow .txt-wrap {
  display: grid;
  grid-template-columns: 370px 1fr;
}
.flow .num {
  border-right: 1px solid #303232;
  font-family: "FP-こぶりなゴシック StdN W6";
  font-size: 24px;
  padding: 0.3rem 0.25rem;
}
.flow .num span {
  display: block;
  font-size: 82px;
  font-family: 'Grotesk';
  line-height: 0.5rem;
  margin-bottom: 0.4rem;
}
.flow .txt {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0.3rem 0 0.5rem 0.25rem;
}
.flow .txt li {
  font-size: 14px;
  padding-right: 0.1rem;
}
.flow .txt li p {
  position: relative;
  padding-left: 0.18rem;
}
.flow .txt li p::before {
  content: "・";
  position: absolute;
  display: inline-block;
  left: 0rem;
  padding-bottom: 0.3rem;
}
.flow .txt .ttl {
  font-size:16px;
  font-family: "FP-こぶりなゴシック StdN W6";
}
.flow .lead {
  background: #303232;
  color: #fff;
  font-family: "FP-こぶりなゴシック StdN W6";
  padding: 0.25rem 0.25rem 0.6rem;
}


@media screen and (max-width: 768px) {
  .top-msg.service {
    margin: 0.1rem auto 0.7rem;
  }
  .top-msg .servise-msg {
    margin: 20px auto;
    width: 80vw;
  }
  .figure::before,
  .figure::after {
    background: url(../images/service-dot01Sp.png) no-repeat top;
    background-size: contain;
    height: 1.25rem;
    left: -0.01rem;
    width: 1.25rem;
  }
  .figure::after {
    background: url(../images/service-dot02Sp.png) no-repeat bottom;
    background-size: contain;
    bottom: 0.3rem;
    height: 1.5rem;
    left: 61.5vw;
    width: 1.5rem;
  }
  .Service .box {
    display: block;
  }
  .Service h2.rod + .box {
    margin-top: 0rem;
  }
  .Service .box .image {
    height: initial;
    width: 100%;
  }
  .Service .box .txt {
    height: auto;
    max-height: initial;
    margin-top: 0;
    padding: 0.3rem;
    width: 100%;
  }
  .Service .extend .inner {
    width: 100%;
  }
  .Service .narrow-down .accordion_header {
    font-size: 14px;
    padding-right: 40px;
  }
  .flow .txt-wrap {
    display: block
  }
  .flow .num {
    border-bottom: 1px solid #303232;
    border-right: none;
    font-size: 24px;
    padding: 0.4rem 0.25rem 0;
  }
  .flow .num span {
    display: inline-block;
    font-size: 48px;
    padding-right: 0.1rem;
    letter-spacing: 5px;
    line-height: 0;
  }
  .flow .txt {
    display: block;
    padding: 0.3rem 0 0.1rem 0.25rem;
  }
  .flow .lead {
    padding: 0.25rem;
  }
  .flow .txt li {
    padding: 0 0.3rem 0.3rem 0;
  }
  .Service .box.last::after {
    bottom: -0.5rem;
  }
  .case.service {/* Swiperwrap */
    padding: 0.8rem 0 0.6rem;
  }
}

.Col3.voice {
  grid-template-rows: auto;
}
.voice-image {
}
.Col3.voice .item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
}
.Col3.voice .inner {
  background: #fff;
  margin-top: -0.45rem;
  border: 1px solid #999;
  padding: 24px 40px;
}
.Col3.voice .inner .ttl {
  font-size: 18px;
  font-family: "FP-こぶりなゴシック StdN W6";
  margin-bottom: 20px;
  text-align: center;
}
.Col3.voice .inner .ftr {
  padding-top: 0.3rem;
}
@media screen and (max-width: 768px) {
  .Col3.voice .item {
    margin: 0 0 0.5rem 0;
  }
  .Col3.voice .inner {
    padding: 24px 16px;
  }
}
.voice + h2.rod {
  margin-top: 1rem;
}

 /* ACCORDION */
 .toggle {
  display: none;
}
.Label {
  align-items: center;
  display: flex;
  padding: 0.25rem;
  position: relative;
  text-align: left;
}
.wrap__faq .Label {
  padding: 30px;
}
.Label:hover {
  cursor: pointer;
}
.Label::before,
.Label::after {
  background: #303232;
  border-radius: 5px;
  content:"";
  height: 2px;
  position: absolute;
  right: 0.4rem;
  top:calc( 50% - 2px );
  width: 14px;
  z-index: 1;
}
.Label::after {
  transform: rotate( 90deg);
}
.Label,
.answer {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.answer {
  height: 0;
  overflow: hidden;
  position: relative;
  text-align: left;
}
.wrap__faq div {
  background: #fff;
  border: 1px solid #999;
  margin-bottom: 0.25rem;
}
.toggle:checked ~ .answer { /*開閉時*/
  height: auto;
  padding: 30px 140px 30px 30px;
}
.toggle:checked + .Label::after {
  transform: rotate(0);
}

@media (max-width: 768px) {
  .wrap__faq {
    margin-bottom: -0.5rem;
  }
  .Label {
	padding: 0.1rem 0.35rem 0.1rem 0.15rem
  }
  .wrap__faq .Label::before,
  .wrap__faq .Label::after {
    right: 10px;
    width: 0.08rem;
  }
  .wrap__faq .Label {
    padding: 15px 30px 10px 13px;
  }
  .toggle:checked ~ .answer {
    padding: 20px 30px 20px 13px;
  }
}


/* --------------------------------------------------------------
   Furniture & Fittingbox
-------------------------------------------------------------- */
.Col3.pic {
  gap: 0.1rem;
  margin-bottom: 0.3rem;
}
.Col3.pic .img-fittingbox {
  margin-right: 0.1rem;
}
.Col4 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-bottom: 0.5rem;
}
.Col4 + .case {
  padding-top: 0;
}

.Col4 .image img {
  display: block;
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.Furniture {
  padding-top: 70px;
}
.Furniture .lead {
  margin-bottom: 1rem;
  text-align: center;
}
.Col2.furniture {
  margin: 1rem 0;
}
.Col2.furniture .logo {
  height: 90px;
  padding: 35px 15px;
}
.Col2.furniture .logo img {
  height: 100%;
  width: auto;
  vertical-align: top
}

.Col2.furniture .image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.brand-list {
  display: grid;
  gap: 60px;
  grid-template-columns: repeat(5,1fr);
  margin: 40px 65px -40px;
}
@media screen and (max-width: 1440px) {
  .brand-list {
    gap: 0.6rem;
    margin: 0.4rem 0.7rem -0.4rem;
  }
}
.brand-list li a:hover {
  opacity: 1 !important;
}
.brand-list li a img {
  transition: all .5s;
}
.brand-list li a:hover img {
  transition: all .5s;
  box-shadow: 4px 4px 2px 0 rgb(0, 0, 0, .1);
}
.brand-list span {
  display: block;
  font-size: 12px;
  font-family: "FP-こぶりなゴシック StdN W6";
  line-height: 2;
}
@media (max-width: 768px) {
  .Furniture {
    padding-top: 40px;
  }
  .Furniture .rod,
  .Fittingbox .rod {
    font-size: 24px;
  }
  .rod.line::before {
    top: 25%;
    height: 50%;
  }
  .rod.line::after{
    top: 25%;
    height: 0.08rem;
  }


  .Col4 {
    grid-template-columns: 1fr 1fr;
    margin-bottom: 0.4rem;
  }
  .Furniture .case {
    padding-bottom: 0.5rem;
  }
  .case.single {
    padding: 0.5rem 0;
  }
  .brand-list {
    display: grid;
    gap: 0.3rem;
    grid-template-columns: repeat(2,1fr);
    margin: 0.1rem 20px -0.3rem;
  }



  .Col3.pic .swiper-slide  {/*  .img-fittingbox   */
    height: auto;
    max-height: 140px;
    aspect-ratio: 3 / 2;
  }
  .Col3.pic .swiper-slide img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
}

section.Fittingbox {
  margin-top: 30px;
}
.Fittingbox .lead {
  margin-bottom: 1rem;
}
.Fittingbox .Col2 {
  margin-bottom: 1rem;
}
.Fittingbox .Col2 .ttl {
  font-size: 20px;
  font-family: "FP-こぶりなゴシック StdN W6";
  margin: 0.1rem 0 0.05rem;
}

.ttlset {
  margin: 0.1rem 0 0;
}
.ttlset .ttl {
  font-size: 20px;
  font-family: "FP-こぶりなゴシック StdN W6";
  margin-bottom: 24px;
}
.ttlset.fittingbox {
  margin-top: 30px;
}
.ttlset.fittingbox .ttl {
  margin-bottom: 15px;
}

@media (max-width: 768px) {
  .Col3.pic::before {
    background: #fff;
    content: "";
    height: 100%;
    position: absolute;
    left: 0;
    width: 0.3rem;
    z-index: 10;
  }
  .Fittingbox .container {
    position: initial
  }
  .Fittingbox .image {
    position: relative;
    left: -0.31rem;
    width: 100vw;
    z-index: 10;
  }
  .Fittingbox h2 + .image {
    height: 2.6rem;
  }
  .Fittingbox h2 + .image img {
    height: 100%;
    object-fit: cover;
  }
  .ttlset {
    margin: 0.1rem 0 0.5rem;
  }
}
.mv.furniture-single {
  display: grid;
  grid-template-columns: 327px 1fr;
  height: auto;
  max-height: initial;
}
.furniture-single .inner {
  padding-left: calc(50% - 535px);/*  1070/2 */
  position: relative;
}
@media screen and (max-width: 1440px) {
  .furniture-single .inner {
    padding-left: 1.83rem
  }
}
.furniture .inner .swiper-button-prev {
  left: 2.3rem;
}
.furniture .inner .swiper-button-next {
  left: 2.8rem;
}
.lead.mb {
  margin-bottom: 80px;
}
.logo-wrap {
  display: grid;
  gap: 20px;
  grid-template-columns: 0.8rem 1fr;
  margin-top: 20px;
}
.logo-wrap .logo {
  height: 0.8rem;
  width: auto;
}
.Col2.furniture.single {
  width: 11.7rem;
  max-width: 1070px;
}
.recommend a.btn {
  background: #f1f1ec;
  border: 1px solid #303232;
  color: #303232;
  display: block;
  font-family: "FP-こぶりなゴシック StdN W6";
  margin: 0.4rem auto 1rem;
  padding: 0.17rem 0;
  text-align: center;
  width: 450px;
}


@media (max-width: 768px) {
  .mv.furniture-single {
    display: block;
    max-height: 67vw;
  }
  .mv.furniture-single .pageImage {
    display: block;
    height: 67vw;
    width: 100%;
  }
  .mv.furniture-single h1 {
    position: absolute;
    bottom: -34vw;
    width: 30vw;
    left: calc(50% - 15vw);
  }
  .furniture-single .inner {
    margin: 0 auto;
    padding-left: 0;
    width: calc(100% - 0.6155rem);
  }
  .furniture-single .inner .Swiper-service {
    margin-bottom: 0;
    padding-bottom: 80px;
  }
  .Col2.furniture.single {
    margin: 0 auto 0.5rem;
    width: 100%;
  }
  .logo-wrap {
    display: block
  }
  .recommend a.btn {
    width: calc(100% - 0.6155rem);
  }
  .logo-wrap .logo img {
    height: 100%;
    width: auto;
  }
  .lead.mb {
    margin-bottom: 50px;
  }
}




/* --------------------------------------------------------------
   Projects
-------------------------------------------------------------- */
.narrow-down {
  margin: 0 0 60px;
}
.narrow-down .accordion_header {
  border: 1px solid #323232;
  background: #f1f1ec;
  cursor: pointer;
  font-family: "FP-こぶりなゴシック StdN W6";
  padding: 15px 15px;
  position: relative;
}
.narrow-down .icon {
  align-items: center;
  background: #fff;
  border: 1px solid #303232;
  box-sizing: border-box;
  border-radius: 50vw;
  display: flex;
  justify-content: center;
  height: 40px;
  margin-top: -20px;
  -webkit-transform: rotate(45deg);
  position: absolute;
  right: 25px;
  top: 50%;
  transform: rotate(45deg);
  transition-duration: 0;
  width: 40px;
}
.narrow-down .icon .one_i {
  display: block;
  height: 12px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition-duration: 0.2s;
  position: relative;
  width: 12px;
}
.narrow-down .accordion_header.open .icon {
  -webkit-transform: rotate(-360deg);
  transform: rotate(-360deg);
}
.narrow-down .icon .one_i:before,
.narrow-down .icon .one_i:after {
  background: #303232;
  border-radius: 10px;
  content: '';
  width: 12px;
  height: 2px;
  position: absolute;
  top: 5px;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transform-origin: center center;
}
.narrow-down .icon .one_i:before {
  width: 2px;
  height: 12px;
  top: 0;
  left: calc(50% - 1px);
}
.narrow-down .accordion_header.open .icon .one_i:before {
  content: none;
}
.narrow-down .accordion_header.open .icon .one_i:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);

}
.narrow-down .accordion_inner {
  border: 1px solid #323232;
  background: #fff;
  box-sizing: border-box;
  display: none;
  padding: 0.36rem 24px;
  position: relative;
  z-index: 1;
}
.narrow-down .accordion_inner a {
  font-family: "FP-こぶりなゴシック StdN W6";
  text-decoration: underline;
}
.accordion_inner dl {
  display: grid;
  grid-template-columns: 0.8rem 1fr;
  font-size: 14px;
  margin-bottom: 10px;
  position: relative;
  width: 100%;
}
.accordion_inner dt {
  font-family: "FP-こぶりなゴシック StdN W6";
}
.accordion_inner dd {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 20px;
}
.accordion_inner label {
  border: 1px solid #303232;
  border-radius: 6px;
  display: inline-block;
  padding: 3px 8px;
  margin: 0 10px 6px 0;
}
.accordion_inner label:hover  {
  cursor: pointer;
}
.accordion_inner label input[type=checkbox] {
  appearance: none;
  display: none;
}
.accordion_inner label:has(input:checked) {
  background: #f9dc4a;
}
.submit {
  text-align: center;
}
.accordion_inner input[type=submit] {
  appearance: none;
  background: url(../images/icon-search.png) no-repeat #000 90%;
  background-size: 18px;
  border-radius: 50vw;
  color: #fff;
  font-family: "FP-こぶりなゴシック StdN W6";
  letter-spacing: 2px;
  margin: 0 auto;
  padding: 18px 0;
  text-align: center;
  width: 3.3rem;
}
@media screen and (max-width: 1024px) {
  .cat-head {
    padding: 0.65rem 20px 0.7rem;
  }
  .cat-head .wrap {
    display: block;
    padding-top: 0.48rem;
    width: 80%;
  }
  .cat-head h1 {
    font-size: 28px;
    padding-top: 0.3rem;
  }
  .cat-head p {
    font-size:16px;
  }
  .narrow-down .accordion_header {
    padding: 20px 20px;
  }
  .narrow-down .icon {
    height: 30px;
    margin-top: -15px;
    right: 17px;
    width: 30px;
  }
  .narrow-down .accordion_inner {
    padding: 30px 0.15rem;
  }
  .accordion_inner dl {
    display: block
  }
  .accordion_inner dt {
    font-size: 14px;
    margin-bottom: 0.1rem;
  }
}

@media screen and (max-width: 768px) {
  .accordion_inner label {
    margin: 0 0.08rem 0.08rem 0;
  }
}
.Col3,
.Col2 {
  display: grid;
  gap: 0.422rem;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 0.5rem;
}
.Col2 {
  grid-template-columns: repeat(2, 1fr);
}
.Col3.list {
  margin-bottom: 0.7rem;
}
/*
.list .image {
  height: 2.3272rem;
}
.Col2.list .image {
  height: 3.09rem;
  max-height: 292px;
}*/
.list .image,
.Col3 .image,
.Col4 .image,
.Col2.furniture .image {
  height: auto;
  aspect-ratio: 3 / 2;
}
.layer {
  position: relative;
}
.layer::before {
  background-color: rgba(48, 48, 50, 0.24); 
  display: block;
  content: "";
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 1;
}


.Col3 .image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.swiper-slide .img-item {
  aspect-ratio: 1 / 1;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.swiper-slide .img-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.Col3 .image.voice {
  height: auto
}

.list .image span {
  font-family: 'Grotesk';
  font-weight: normal !important;
  display: grid;
  padding: 0.8rem 0;
  text-align: center;
}
.list .inner {
  padding-top: 10px;
}
.list .inner .item-name {
  font-size: 18px;
  font-family: "FP-こぶりなゴシック StdN W6";
  line-height: 1.1;
  padding-bottom: 15px;
}
.list .item .tag,
.sideblock .tag  {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.list .item .tag span,
.sideblock .tag span,
.contents-block .tag span {
  border: 1px solid #303232;
  border-radius: 4px;
  display: inline-block;
  font-size: 14px;
  padding: 4px 12px;
  margin: 0 8px 8px 0;
}

.list .item .tag span {
  font-size: 13px;
  padding: 3px 9px;
}
.contents-block .tag span {
  color: #000;
}
.list .item .tag span.single {
  margin: 0;
  width: auto;
}

.list .inner time + p {
  margin-top: -0.15rem;
}
.list .inner time + p:hover {
  text-decoration: underline;
}

.Col3 .item p {
  font-size: 14px;
  line-height: 1.8;
}
.Col3 .item p + p {
  padding-top: 7px;
  line-height: 1.5;
}
.Furniture .Col3 .item p {
  font-size: 16px;
  line-height: 1.5;
}
.Col3 .inner h3.border-non {
  border-bottom: none
}
.container-sideblock-wrap {
  margin-bottom: 1rem;
}
.sideblock-wrap {
  display: flex;
  left: calc(50% - 535px);
  justify-content: space-between;
  width: calc(100% - (var(--w1070) + 80px));
  position: relative;
}
.Col2.list,
.contents-block {
  gap: 0.61rem;
  width: 66.666%;
  max-width: 821px;
}
.Col2.list {
  margin-bottom: 1rem;
}
.sideblock {
  max-width: 371px;
}
@media screen and (max-width: 1440px) {
  .sideblock-wrap {
      left: 1.83rem;
      width: calc(100% - (1.83rem + 80px));
  }
  .sideblock {
    max-width: 29.991%;
  }

}
@media screen and (max-width: 769px) {
  .sideblock-wrap {
    left: 0;
    width: calc(100% - 0.6155rem);
  }
  .Col2.list,
  .contents-block {
    width: 100%;
    max-width: initial;
  }
  .sideblock {margin-bottom: 50px;
    max-width: 100%;
  }
}





.sideblock .section {
  background: #efefe9;
  margin-bottom: 0.6rem;
  padding: 0.25rem 24px 0.25rem;
}
.sideblock .section h2 {
  font-size: 18px;
  font-family: "FP-こぶりなゴシック StdN W6";
  margin-bottom: 0.25rem;
}
.sideblock .item a {
  display: grid;
  grid-template-columns: 86px 1fr;
  margin-bottom: 0.15rem;
  position: relative;
}
.sideblock .item:last-of-type a {
  margin-bottom: 0;
}
.sideblock .item a:hover p { 
  text-decoration: underline;
}

.sideblock .item .image {
  height: 86px;
  position: relative;
  width: 86px;
}
.sideblock .item .image img {
  display: block;
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.sideblock .item a::before {
  background: #2a2c2c;
  display: block;
  color: #fff;
  content: "1";
  left: 0;
  font-size: 12px;
  padding: 0.02rem 0;
  position: absolute;
  text-align: center;
  top: 0;
  width: 20px;
  z-index: 1;
}
.sideblock .item:nth-of-type(2) a:before {
  content: "2";
}
.sideblock .item:nth-of-type(3) a:before {
  content: "3";
}
.sideblock .item:nth-of-type(4) a:before {
  content: "4";
}
.sideblock .item:nth-of-type(5) a:before {
  content: "5";
}


.sideblock .item .inner {
  padding-left: 0.15rem;
}
.wrapper.en .sideblock .item .inner {
  width: 2.3rem;
}

.sideblock .tag span {
  background: #fff;
  border-radius: 4px;
  font-size: 10px;
  padding: 4px 7px;
}
.sideblock p {
  font-size: 12px;
}



@media screen and (max-width: 769px) {
  .Col3,
  .Col2 {
    display: block
  }
  .Col3 .item {
    margin: 0 0 0.3rem 0;
  }
  .Col2 .item {
    margin: 0 0 0.5rem 0;
  }
  .Col3 .inner {
    padding: 10px 10px 5px;
  }
  .sideblock-wrap {
    display: block;

  margin: 0 auto;
  }
  .sideblock .section {
    margin-bottom: 0.15rem;
  }
  .wrapper.en .sideblock .item .inner {
    width: auto;
  }
  
}

.container .single {
  width: 100%;
}
.overview {
  display: grid;
  grid-template-columns: 5rem 1fr;
  margin-bottom: 1rem;
}
.overview .image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.overview .inner {
  padding: 0.25rem 0 0.25rem 0.45rem;
}
.overview .inner h1 {
  font-family: "FP-こぶりなゴシック StdN W6";
  font-size: 24px;
  letter-spacing: 0;
  padding-bottom: 0.15rem;
}
.overview .tag {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.overview .tag span {
  border: 1px solid #303232;
  display: inline-block;
  font-size: 14px;
  padding: 4px 20px;
  margin: 0 8px 8px 0;
}
.overview .wrap-dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 0.1rem;
  width: 80%;
}
.overview dl {
  display: grid;
  font-size: 14px;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 1050px) {
  .overview .wrap-dl {
    width: 85%;
  }
  .overview dl {
    font-size: 13px;
  }
}
@media screen and (max-width: 950px) {
  .overview .wrap-dl {
    display: block;
  }
  .overview dl {
    display: grid;
    font-size: 14px;
    grid-template-columns: 1fr 2fr;
    width: 100%;
  }
}
.overview dl:first-of-type {
  margin-right: 0.24rem;
}
.overview dl dt {
  border-bottom: 1px solid #303232;
  font-family: "FP-こぶりなゴシック StdN W6";
  padding: 0.12rem 0 0.08rem;
}
.overview dl dd {
  border-bottom: 1px solid #303232;
  padding: 0.12rem 0 0.08rem;
}
.overview h2 {
  font-size:16px;
  font-family: "FP-こぶりなゴシック StdN W6";
  padding: 0.4rem 0 0.15rem;
}
.overview .txt {
  padding-right: 0.5rem;
}
.appealSet {
  margin: 0 80px 0;
}

.appealSet.single-furniture {
  margin-bottom: -0.6rem;
  margin-bottom: 0;
}

body.single-projects .appealSet + .container .btn {
  margin: -100px 0 100px;
}



.set {
  margin-bottom: 1rem;
}
.set .slider-wrap {
  position: relative;
}
.set .swiper-slide {
  position: relative;
  width: 100%;
}
.slider .swiper-container,
.slider .swiper-slide {
   height: 45vw;
}
.set .slider .swiper-slide > img {
   object-fit: cover;
   width: 100%;
   height: 100%;
}
.set .slider .swiper-slide > img.attachment-full {
 /*  height: 56vw;*/
   overflow: hidden;
   width: auto !important;
}
.set .slider .swiper-slide {
  overflow: hidden;
}
@media screen and (max-width: 1500px) {
  .set .slider .swiper-slide > img.attachment-full {
    height: 100%;
 }
}
.set .thumbnail {
  margin-top: 20px;
  position: relative;
  width: 50%;
}
.set .thumbnail .swiper-slide {
  height: 70px;
  width: auto !important;
  max-width: 1.4rem;
}
.set .thumbnail .swiper-slide > img {
  object-fit: contain;
  width: auto;
  height: 100%;
}
.set .thumbnail .swiper-slide > img:hover {
  cursor: pointer;
}
.set h3 {
  font-size: 24px;
  font-family: "FP-こぶりなゴシック StdN W6";
  margin: 0.5rem 0 0.25rem 0.5rem;
}
.set .txt {
  line-height: 1.7;
  margin: 0 0 0 0.5rem;
  width: 700px;
}
.set .txt ul,
.contents-block .inner ul,
.contents-block .inner ol {
  margin-bottom: 20px;
}

.contents-block .inner ul {
  margin-left: 20px;
}
.set .txt ul li,
.contents-block .inner ul li ,
.contents-block .inner ol li {
  list-style-type: disc;
  margin-left: 20px;
}
.contents-block .inner ol li {
  list-style-type: auto
}

.set .image.-W {
  width: 67.5vw;
}

@media screen and (max-width: 769px) {
  .container .single {
    margin-bottom: 0.5rem;
  }
  .container.btn-wrap {
    text-align: right;
    margin-bottom: 0.05rem;
  }
  .overview {
    display: block;
    padding: 0;
  }
  .overview .txt {
    padding-right: 0;
  }
  .overview .inner {
    padding: 0.25rem 0;
  }
  .overview .inner h1 {
    font-size: 24px;
    padding-bottom: 0.15rem;
  }
  .overview .tag {
    align-items: center;
    display: flex;
    justify-content: flex-start;
  }
  .overview .tag span {
    border: 1px solid #303232;
    display: inline-block;
    font-size: 14px;
    padding: 2px 20px;
    margin-right: 0.08rem;
  }
  .overview .wrap-dl {
    width: 100%;
  }

  .overview dl dt {
    font-size: 14px;
    margin-right: 0;
  }
  .overview h2 {
    font-size: 18px;
  }
  .appealSet {
    margin: 0 0.3rem;
  }
  .appealSet + .container .btn {
    margin: -0.4rem 0 0;
  }
  body.single-projects .appealSet + .container .btn {
    margin: -0.5rem 0 0.5rem;
  }
  

  .set {
    margin-bottom: 0.1rem;
    overflow: hidden;
  }
  .slider .swiper-container,
  .slider .swiper-slide {
     height: initial;
  }

 .set .slider .swiper-slide {
   display: flex;
   align-items: end;
  }
  .set .slider .swiper-slide > img {
    object-fit: contain;
    width: auto;
    height: auto;
   }
  .set .thumbnail {
    margin-top: 0.1rem;
    position: relative;
    width: 50%;
  }
  .set h3 {
    font-size: 18px;
    margin: 20px 0;
  }
  .set .txt {
    margin: 0 0 0.5rem;
    width: 100%;
  }
  .set .thumbnail .swiper-slide {
    height: 0.7rem;
    width: auto !important;
    max-width: 1.03rem;
  }
  .set .slider .swiper-slide > img.attachment-full {
    height: 56vw;
 }
 .set .image.-W {
  width: 100%;
}
}
#toc_container {
  background: #f1f1ec;
  padding: 48px 45px;
}
#toc_container .toc_title {
  font-size: 24px;
  font-family: "FP-こぶりなゴシック StdN W6";
}
.wrapper.en #toc_container .toc_title {
  position: relative;
}
.wrapper.en #toc_container .toc_title::before {
  background: #f1f1ec;
  content: "INDEX";
  font-family: 'Grotesk';
  position: absolute;
}


#toc_container li {
  line-height: initial;
  list-style-type: none !important;
  margin-left: initial;
  margin-bottom: 15px;
  padding: 0;
  position: relative;
}
.toc_list > li {
  font-family: "FP-こぶりなゴシック StdN W6";
  font-size: 18px;
  padding-top: 0.03rem;
  position: relative;
}
.toc_list > li > ul li {
  font-family: "FP-こぶりなゴシック StdN W3" !important;
  font-size: 16px;
  left: 0.3rem;
  list-style: disc;
  margin-top: 15px;
  width: 95%;
}
.toc_depth_1 {
  display: inline-block;
  padding-right: 0.1rem;
  position: relative;
}
.toc_depth_1::before {
  content: ".";
  display: inline-block;
  left: 17px;
  position: relative;
}
.contents-block .head-wrap {
  display: flex;
  margin-bottom: 0.4rem;
}
.contents-block .date {
  color: #999;
}
.contents-block .tag {
  margin-left: 0.1rem;
}

.contents-block .inner {
  margin-bottom: 1rem;
}
.contents-block .inner img:first-of-type {
  display: block;
  margin-bottom: 0.4rem;
/*  width: 100%;*/
}
.contents-block .inner h2 {
  border-left: 3px solid #999;
  font-family: "FP-こぶりなゴシック StdN W6";
  font-size: 24px;
  margin: 1rem 0 0.4rem;
  padding-left: 0.15rem;
}
.contents-block .inner h3 {
  font-family: "FP-こぶりなゴシック StdN W6";
  font-size: 20px;
  margin: 0.4rem 0;
}
.contents-block .inner p a {
  text-decoration: underline;
}
.contents-block .inner p {
  margin-bottom: 1em;
}

.contents-block .inner strong {
  font-family: "FP-こぶりなゴシック StdN W6";
}
.wrapper.en .contents-block .inner strong {
  font-family: 'Grotesk' !important;
}

@media screen and (max-width: 769px) {
  .contents-block .inner h2 {
    font-size: 20px;
  }
  .contents-block .inner h3 {
    font-size: 18px;
  }
  .contents-block .inner ul {
    margin-left: 0;
  }
  #toc_container {
    padding: 48px 24px;
  }
}





/* --------------------------------------------------------------
   News
-------------------------------------------------------------- */
.news-nav {
  border-bottom: 1px solid #303232;
}
.news-nav .strong {
  font-family: "FP-こぶりなゴシック StdN W6";
}
.news-nav ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0.15rem 0 0;
}
.news-nav ul li a {
  border: 1px solid #303232;
  border-radius: 6px;
  display: block;
  font-size: 14px;
  margin: 0 0.15rem 0.15rem 0;
  padding: 3px 10px;
}
.news.archive dl dd {
  border-bottom:1px solid #d9d9d9 ;
}
.news.archive dl a:hover dd {
  text-decoration: underline;
}
.container.news {
  margin-top: 1.2rem;
}
.sideblock.-news .item a {
  display: block
}
.wrapper.en .sideblock.-news .item a {
  width: 3rem;
}

.sideblock.-news .item a::before {
  background: none;
  content: none;
}
.sideblock.-news .item .inner {
  padding-left: 0
}
.sideblock.-news .tag span {
  background: #fff;
  border-radius: 4px;
  font-size: 10px;
  padding: 4px 7px;
}
.sideblock.-news p {
  font-size: 14px;
}
.news.archive {
  margin: 0.3rem 0 1rem;
}
.news.archive time {
  color: #303232;
}
h2.news {
  font-size: 24px;
  font-family: "FP-こぶりなゴシック StdN W6";
  margin-bottom: 30px;
}
.inner.news h3 {
  font-family: "FP-こぶりなゴシック StdN W6";
}
.contents-block .tag.black span {
  color: #000;
}

/* --------------------------------------------------------------
   Access & LiveOffice
-------------------------------------------------------------- */
.breadcrumb + .lead {
  font-size: 16px;
  margin-bottom: 0.8rem;
}
.breadcrumb + .lead a {
  color: #999;
  text-decoration: underline;
}
.office-wrap {
  align-items: flex-start;
  display: grid;
  gap: 0.44rem;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 0.8rem;
}
.office-wrap.mb {
  margin-bottom: 1.3rem;
}
.office-wrap .txt .ttl {
  font-size: 24px;
  font-family: "FP-こぶりなゴシック StdN W6";
  line-height: 1;
  margin-bottom: 15px;
}
.office-wrap .txt dl {
  display: grid;
  font-size: 14px;
  grid-template-columns: 1.5rem 1fr;
  width: 100%;
}
.office-wrap .txt dl dt {
  border-bottom: 1px solid #303232;
  font-family: "FP-こぶりなゴシック StdN W6";
  padding: 10px 0 6px;
}
.office-wrap .txt dl dd {
  border-bottom: 1px solid #303232;
  padding: 10px 0 6px;
}
.office-wrap .btn {
  margin-bottom: 24px;
  margin-top: 24px;
  text-align: right;
}
.office-wrap .btn a,
.Col2 .box .btn a {
  background: url(../images/arrow-dt.png) no-repeat 75% 45% #f1f1ec;
  background-size:20px;
  border: 1px solid #303232;
  color: #303232;
  display: inline-block;
  padding: 5px 0 5px 80px;
  text-align: left;
  width: 300px;
}
.wrapper.en .office-wrap .btn a {
  padding-left: 40px;
}

.Col2 .box .btn a {
  background: url(../images/arrow-dt.png) no-repeat 70% 45% #f1f1ec;
  background-size:20px;
  padding: 0.06rem 0 0.06rem 85px;
}
.Col2 .box .btn {
  margin-top: 0.15rem;
}
.office-wrap .image {
  overflow: hidden;
  width: 100%;
}
.office-wrap .image img {
  object-fit: cover;
  height: 100%;
  transition: all .5s;
  width: 100%;
}
.office-wrap .image:hover img {
  opacity: 1;
  transform: scale(1.05);
}




.office-wrap .map iframe {
  height: 206px;
  width: 100%;
}

.Col2 .about {
  align-items: flex-start;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 7;
  gap: 0.1rem;
  margin-bottom: 0.8rem;
}

.Col2 .about .about-img {
  display: block;
  padding-bottom: 20px;
}

.Col2 .about > div {
  border-bottom: 1px solid #323232;
  display: block;
  height: 100%;
  padding: 5px 0 60px;
}
.Col2 .about .ttl  {
  font-family: "FP-こぶりなゴシック StdN W6";
  margin-bottom: 0.1rem;
}
.Col2 .about p {
  margin-bottom: 0.3rem;
}
.Col2 .about a {
  color: #999;
  text-decoration: underline;
}
.Col2 .box .btn {
  margin-top: 0.15rem;
}
.Col2 .box {
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 769px) {
  .container.news {
    margin-top: 0.6rem;
  }
  h2.news {
    margin-top: 50px;
  }
  .breadcrumb + .lead {
    font-family: "FP-こぶりなゴシック StdN W6";
    margin: 10px 0 50px;
  }
  .single-furniture .breadcrumb + .lead {
    margin: 1rem 0 0.3rem;
  }
  .office-wrap {
    display: block;
    position: relative;
  }
  .office-wrap.mb {
    margin-bottom: 0.8rem;
  }
  .office-wrap .txt {
    padding-top:  3.2rem;
  }
  .office-wrap .image {
    position: absolute;
    top: 0;
    height: 3.8rem;
  }
  .office-wrap .txt dl {
    display: block;
  }
  .office-wrap .txt dl dt {
    border-bottom: none;
  }
  .office-wrap .txt dl dd {
    padding: 0 0 0.08rem;
  }
  .office-wrap .btn {
    margin-top: 0.3rem;
    text-align: center;
  }
  .office-wrap .btn a {
    width: 80vw;
  }
  .office-wrap .btn a,
  .Col2 .box .btn a {
    padding: 5px 0 5px 27%
  }

  .wrapper.en .office-wrap .btn a {
    background: url(../images/arrow-dt.png) no-repeat 85% 45% #f1f1ec;
    background-size: 20px;
  }
  .Col2 .box .btn a {
    padding-left: calc(150px - 8vh) !important;
  }
  .office-wrap .image {
    height: 2.8rem;
  }
  .office-wrap .map iframe {
    height: 250px;
  }
  .Col2 .about {
      display: block
  }
  .Col2 .about > div {
    padding: 20px 0;
  }
  .Col2 .box .btn {
    margin: 0.15rem auto;
    text-align: center;
  }
  .Col2 .box + .box {
    margin-bottom: 0.8rem;
  }
}


/* --------------------------------------------------------------
   Inquiry
-------------------------------------------------------------- */
.inquiry .breadcrumb + dl {
  display: flex;
  flex-wrap: wrap;
}
.inquiry .breadcrumb + dl dt {
  font-family: "FP-こぶりなゴシック StdN W6";
  padding-bottom: 0.1rem;
  width: 25%;
}
.inquiry .breadcrumb + dl dd {
  width: 75%;
}/*
.inquiry .btn {
  margin: 0.1rem 0 0.3rem;
}*/
.contactform .lead {
  margin: -0.5rem 0 1rem;
}
.contactform p {
  font-family: "FP-こぶりなゴシック StdN W6";
  line-height: 1.5;
  margin: 0.3rem auto 0.5rem;
}
.contactform .container dl {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.3rem;
}
.contactform .container dl:last-of-type {
  margin-bottom: 0;
}
.contactform dl dt {
  font-size: 18px;
  font-family: "FP-こぶりなゴシック StdN W6";
  margin-right: 0.5rem;
  position: relative;
  text-align: left;
  width: 4.5rem;
}

.contactform form {
  margin-bottom: -1rem;
}
.contactform form dl:first-of-type dt {
  margin-top: -1rem;
}
.contactform form dl:last-of-type dt {
  margin-top: -0.5rem;
}
.contactform form a {
  color: #999;
  text-decoration: underline;
}
.contactform dt.required::after,
.contactform dt::after {
  background: #d9d9d9;
  content: "任意";
  display: inline-block;
  right: 0;
  font-size: 14px;
  padding: 2px 10px;
  position: absolute;
}
.contactform dt.required::after {
  background: #f9dc4a;
  content: "必須";
  display: inline-block;
}
.contactform form dl:nth-of-type(2) dt::after {
  top: 15px;
}
.contactform dl dd {
  position: relative;
  width: 75%;
}

.contactform input,
.contactform select,
.contactform textarea {
  background-color: #fff;
  border: 1px solid #999;
  font-size:16px;
  letter-spacing: 0.04em;
  height: 0.5rem;
  padding: 0 0.1rem;
  width: 100%;
}
.contactform textarea {
  margin-bottom: 0.3rem;
  padding: 0.1rem;
  height: auto
}
.contactform button {
  background: none;
  border: none;
  width: 5rem;
}
input[type="checkbox"],
input[type="cradio"] {
  background: #fff;
  border-radius: 2px;
  height: auto;
  vertical-align: -2px;
  width: 13px;
}
input[type="radio"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
          display: none;
}
.contactform input::placeholder,
.contactform textarea::placeholder {
  color: #c2c2c2;
  font-family: "FP-こぶりなゴシック StdN W1";
}  
.contactform .privacy {
  align-items: center;
  display: flex;
  font-size:16px;
  justify-content: center;
}
.contactform .privacy a {
  text-decoration: underline;
}
.contactform .selectbox {
  position: relative;
}
.contactform .selectbox::before {
  border: 1px solid #303232;
  border-left: 0;
  border-bottom: 0;
  content: " ";
  cursor: pointer;
  height: 7px;
  display: block;
  position: relative;
  left: 95%;
  top: 25px;
  transform: translateY(-25%) rotate(135deg);
  width: 7px;
}
.contactform .checkbox {
  padding: 0.4rem 0;
}
.contactform input[type="submit"] {
  background: #323232;
  color: #fff;
  margin: 0.35rem auto -1rem;
  text-align: center;
  width: 4.5rem;
}
.contactform  input[type="checkbox"] {
  appearance: none;
  background: #fff;
  border: 1px solid #303232;
  border-radius: 3px;
  margin-right: 5px;
  padding: 8px;
  position: relative;
  vertical-align: -7px;
  width: 13px;
}
@media screen and (max-width: 769px) {
  .inquiry .breadcrumb + dl {
    display: block;
    margin-top: 70px;
  }
  .inquiry .breadcrumb + dl dt {
    width: 100%;
  }
  .inquiry .breadcrumb + dl dd {
    padding-bottom: 20px;
    width: 100%;
  }
  .inquiry .breadcrumb + dl + .btn {
    margin: 10px 0 30px;
    text-align: left;
  }
  
  /*
  .inquiry .btn {
    margin: 0.1rem 0 0.3rem;
    text-align: left;
  }*/
  .contactform .lead {
    margin: 0 0 0.5rem;
  }
  .contactform .container dl {
    display: block
  }
  .contactform dl dt {
    font-size:16px;
    padding-bottom: 0.4rem;
    width: initial;
  }
  .contactform dl dd {
    margin-bottom: 0.5rem;
    width: 100%;
  }
  .contactform input {
    height: 0.45rem;
  }
  .contactform .privacy {
    font-size: 14px;
    text-align: left;
  }
  .contactform dt.required::after,
  .contactform dt::after {
    display: block;
    right: initial;
    left: 0;
    bottom: 8px;
    font-size: 12px;
    padding: 2px 10px;
    position: absolute;
  }
  .contactform button {
    width: 100%;
  }
  input[type="checkbox"] {
    height: auto;
  }
  .contactform .checkbox {
    padding: 0.1rem 0 0;
  }
  .contactform input[type="submit"] {
    margin: 0.35rem auto 1rem;
    padding: 0.15rem 0 0.4rem;
    width: 100%;
  }
  .contactform form dl:first-of-type dt,
  .contactform form dl:last-of-type dt {
    margin-top: 0;
  }
  .contactform form dl:first-of-type dt::after,
  .contactform form dl:nth-of-type(2) dt::after   {
    bottom: 0;
    top: initial;
  }
}









/* --------------------------------------------------------------
   WP-PageNavi
-------------------------------------------------------------- */
.wp-pagenavi {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
  width: 100%;
}
.wp-pagenavi span,
.wp-pagenavi a {
  align-items: center;
  color: #303232;
  display: flex;
  font-size: 14px;
/*  margin: 0 0.6rem;*/
  height: 40px;
  width: 40px;
  text-align: center;
}
.wp-pagenavi .current {
  position: relative;
}
.wp-pagenavi .current::after {
  background: #f9dc4a;
  border-radius: 50vw;
  content: "";
  display: block;
  height: 24px;
  left: -40%;
  position: relative;
  top: 0;
  width: 24px;
  z-index: -1;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  position: relative;
}
.wp-pagenavi .previouspostslink {
  left: -25px;
}
.wp-pagenavi .nextpostslink::after,
.wp-pagenavi .previouspostslink::after {
  background: url(../images/btn-prev.png) no-repeat 0;
  background-size: contain;
  content: "";
  display: block;
  height: 40px;
  position: absolute;
  width: 40px;
  z-index: 1;
}
.wp-pagenavi .nextpostslink::after {
  background: url(../images/btn-next.png) no-repeat 0;
  background-size: contain;
}
.wp-pagenavi .last,
.wp-pagenavi .first {
  position: relative;
}
.wp-pagenavi .last::after,
.wp-pagenavi .first::after {
  background: url(../images/btn-next.png) no-repeat 0;
  background-size: contain;
  content: "";
  display: block;
  height: 0.4rem;
  left: calc( 50% - 5px );
  position: absolute;
  width: 0.4rem;
  z-index: 1;
  top: 38%;
}
.wp-pagenavi .first::after {
  background: url(../images/btn-next.png) no-repeat 0;
  background-size: contain;
}
@media screen and (max-width: 769px) {
  .wp-pagenavi {
    margin-bottom: 0.3rem;
    margin-top: 0;
  }
  .wp-pagenavi span,
  .wp-pagenavi a {
    font-size: 15px;
  }
}




.ftrContact {
  background: url(../images/bg-ftrContact.png) no-repeat;
  background-size: cover;
  color: #fff;
  padding: 1rem 0;
  text-align: center;
}
.ftrContact h2 {
  font-size: 32px;
  font-family: "FP-こぶりなゴシック StdN W6";
}
.ftrContact p {
  margin: 0.25rem auto 0;
}
.ftrContact a.btn {
  background: #fff;
  color: #303232;
  display: block;
  font-family: "FP-こぶりなゴシック StdN W6";
  margin: 0.25rem auto 0;
  padding: 0.17rem 0;
  width: 450px;
}

@media screen and (max-width: 768px) {
  .ftrContact {
    background: url(../images/bg-ftrContact-sp.png) no-repeat center;
    background-size: 100%;
    padding: 0.9rem 0.3078rem 0.5rem;
  }
  .ftrContact h2 {
    font-size: 24px;
  }
  .ftrContact p {
    margin: 24px auto 0;
  }
  .ftrContact a.btn {
    padding: 0.17rem 0;
    width: 100%;
  }
}
/* ------------------------------------------------------------------
                         Footer        
--------------------------------- */
.fixedbtn {
  top: 0;
  border-left: 1px solid #303232;
  height: 100vh;
  position: fixed;
  right: 0;
  width: 80px;
  z-index: 99;
}
.fixedbtn .wrap {
  padding-top: 0.8rem;
}
.fixedbtn .wrap a {
  align-items: center;
  background: rgba(48, 50, 50, 0.8);
  color: #fff;
  display: flex;
  font-family: "FP-こぶりなゴシック StdN W6";
  font-size: 16px;
  letter-spacing: 3px;
  padding: 0.3rem 0;
  writing-mode: vertical-rl;
  width: 100%;
}
.fixedbtn .wrap a + a {
  background: #f9dc4a;
  color: #303232;
}
@media screen and (max-width: 768px) {
  .fixedbtn {
    bottom: 0;
    border-left: none;
    height: auto;
    top: initial;
    width: 100vw;
  }
  .fixedbtn .wrap {
    display: flex;
    padding-top: 0;
  }
  .fixedbtn .wrap a {
    font-size: 14px;
    height: 0.48rem;
    justify-content: center;
    letter-spacing: initial;
    writing-mode: initial;
    width: 50%;
  }
}
.footer {
  background: #303232;
  color: #fff;
  padding: 100px 0 0;
  width: 100%;
}
.footer a {
  color: #fff;
}
.footer .wrap {
  display: grid;
  margin: 0 auto;
  grid-template-columns: 300px 1fr;
  position: relative;
  width: 12.9rem;
  max-width: 1203px;
}
.footer .wrap + .wrap {
  display: block;
}
.footer .logo {
  border-right: 1px solid #fff;
  padding: 0 120px 220px 0;
  width: 300px;
}
.footer .nav {
  display: flex;
  justify-content: space-between;
  padding-left: 130px;
}
.footer .nav ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.footer .nav li {
  font-family: "FP-こぶりなゴシック StdN W6";
  font-size: 14px;
  width: 168px;
}
.footer .nav ul + ul li:last-of-type {
  text-align: right;
  width: auto;
}
.footer .nav ul .child {
  padding-top: 0.1rem;
}
.footer .nav ul .child a {
  display: block;
  font-family: "FP-こぶりなゴシック StdN W1";
  padding-bottom: 0.05rem;
}
.footer .Links {
  font-family: "FP-こぶりなゴシック StdN W1";
  padding-bottom: 40px;
  text-align: right;
  width: 100%;
}
.footer .Links .sns,
.footer .Links ul {
  display: flex;
  justify-content: end;
  margin: 15px 0 5px;
}
.footer .Links a {
  display: block;
  font-family: "FP-こぶりなゴシック StdN W1";
  font-size: 12px;
}
.footer .Links .sns a {
  margin-left: 0.1rem;
  width: 24px;
}
.footer .btn.top {
  background: url(../images/arrow-up.png) no-repeat 50% 30%;
  background-size: 100px;
  border: 1px solid #fff;
  border-radius: 50vw;
  bottom: 140px;
  font-family: "FP-こぶりなゴシック StdN W1";
  font-size: 18px;
  height: 180px;
  left: 0;
  padding-top: 120px;
  position: absolute;
  text-align: center;
  width: 180px;
}

@media screen and (max-width: 1380px) {
  .footer .wrap {
    grid-template-columns: 3rem 1fr;
  }
    .footer .logo {
      padding: 0 1.2rem 2.5rem 0;
      width: 3rem;
  }
  .footer .nav li {
    width: 1.8rem;
  }
  .footer .nav {
    padding-left: 1.3rem;
  }
  .footer .btn.top {
    background: url(../images/arrow-up.png) no-repeat 50% 30%;
    background-size: 1rem;
    font-size: 0.18rem;
    height: 1.8rem;
    padding-top: 1.2rem;
    width: 1.8rem;
  }
}

@media screen and (max-width: 1100px) {
  .footer .nav ul .child a {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .footer {
    padding: 0.4rem 0 1rem;
  }
  .footer .wrap {
    width: calc(100% - 0.8rem);
  }
  .footer .wrap {
    display: block;
    padding-bottom: 1.3rem;
  }
  .footer .wrap + .wrap {
    padding-bottom: 0;
  }
  .footer .logo {
    border-right: none;
    padding: 0 0.7rem;
    width: 100%;
  }
  .footer .nav {
    display: grid;
    margin-top: 0.35rem;
    padding-left: 0;
    grid-template-columns: repeat(2, 1fr);
  }
  .footer .nav ul {
    display: block;
    width: 100%;
  }
  .footer .nav ul li {
    margin-bottom: 0.25rem;
  }
  .footer .nav ul .child a {
    font-size: 12px;
  }
  .footer .nav ul + ul {
    padding-left: 0.15rem;
  }
  .footer .nav ul + ul li:last-of-type {
    text-align: left;
  }
  .footer .Links {
    text-align: center;
  }
  .footer .Links .sns {
    justify-content: center;
  }
  .footer .Links .sns a {
    margin: 0;
  }
  .footer .Links ul {
    justify-content: center;
    flex-wrap: wrap;
  }
  .footer .Links ul li:last-of-type {
    margin: 0.1rem 0;
    width: 100%;
  }
  small {
    font-size:16px;
  }
  .footer .btn.top {
    background: url(../images/arrow-up.png) no-repeat 50% 30%;
    background-size: 0.6rem;
    border: 1px solid #fff;
    border-radius: 50vw;
    bottom: 180px;
    font-size: 13px;
    height: 1rem;
    left: calc(50% - 0.5rem);
    padding-top: 0.65rem;
    width: 1rem;
  }
}

.animation {
  view-timeline-name: --subjectReveal;
  animation-timeline: --subjectReveal;

  animation-name: appear;
  animation-fill-mode: both;
  animation-duration: 1ms; /* Firefox requires this to apply the animation */
}

@keyframes appear {
  from {
    opacity: 0;
    transform: scale(0);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 375px) {
  nav {
    top: 1rem;
    padding: 0 0.25rem;
  }
  nav ul li a {
    font-size:16px;
		padding: 0.08rem;
	}
  nav ul li .child a {
    font-size: 13px;
		padding: 0.07rem 0 0.05rem 0.15rem;
	}
  .mv.top {
    height: 2.8rem;
  }
  .ourValue .btn a {
    background: url(../images/arrow-next.png) no-repeat right;
    background-size: 0.55rem !important;
  }
}

@media (max-width: 1400px) {
.f-rem {
  font-size: 0.18rem;
}
}
@media screen and (max-width: 768px) {
  .f-rem {
    font-size: 14px;
  }
}
.eapps-instagram-feed-title {
  display: none;
}

.wrapper.en,
.wrapper.en h2,
.wrapper.en h3,
.wrapper.en .rod,
.wrapper.en a,
.wrapper.en p,
.wrapper.en .ttl,
.wrapper.en dl dt,
.wrapper.en li,
.wrapper.en .accordion_header,
.wrapper.en .item-name,
.wrapper.en .overview .inner h1,
.wrapper.en .footer .Links,
.wrapper.en .brand-list span,
.wrapper.en .Fittingbox.btn,
.wrapper.en .flow .num,
.wrapper.en .flow .lead,
.wrapper.en .Service .extend dl dt a span,
.wrapper.en .case-name,
.wrapper.en .Swiper-service .swiper-slide .tag span,
.wrapper.en .mv.bg-gray.single .mv-content h1 {
  font-family: 'Grotesk' !important;
}
.wrapper.en .mv-content h1 a {
  font-family: "garamond-premier-pro", serif !important;
}