@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@200;300;400;500;600;700;900&display=swap");

@font-face {
  font-family: "EBGaramond";
  font-style: normal;
  font-weight: 300;
  src:
    url("../font/EBGaramond-Regular.woff") format("woff"),
    url("../font/EBGaramond-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "EBGaramond";
  font-style: normal;
  font-weight: 400;
  src:
    url("../font/EBGaramond-Medium.woff") format("woff"),
    url("../font/EBGaramond-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "EBGaramond";
  font-style: normal;
  font-weight: 600;
  src:
    url("../font/EBGaramond-SemiBold.woff") format("woff"),
    url("../font/EBGaramond-SemiBold.ttf") format("truetype");
}
@font-face {
  font-family: "EBGaramfond";
  font-style: normal;
  font-weight: 700;
  src:
    url("../font/EBGaramond-Bold.woff") format("woff"),
    url("../font/EBGaramond-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "EBGaramond";
  font-style: normal;
  font-weight: 800;
  src:
    url("../font/EBGaramond-ExtraBold.woff") format("woff"),
    url("../font/EBGaramond-ExtraBold.ttf") format("truetype");
}

.ffEn1 {
  font-family:
    "EBGaramond", "Noto Serif SC", "Noto Serif KR", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",
    "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", sans-serif;
  letter-spacing: 0.1em;
}
.ffEn1,
.ffEn1 p,
.ffEn1 span,
.ffEn1 li,
.ffEn1 th,
.ffEn1 td,
.ffEn1 dt,
.ffEn1 dd,
.ffEn1 a,
__ {
  font-weight: 300;
}

/* // print //
----------------------------------------------- */
.print #BtmFixedPC,
.print .pageTop,
.print #Gnavi .naviList.fixed,
.___ {
  display: none;
}

/* // base //
----------------------------------------------- */

html,
body {
  color: #333;
  font-size: 14px;
  line-height: 2;
  font-weight: 200;
  background-color: #fff;
}

body {
}

.cn body,
.cn body #Header a {
  font-family:
    "PingFang SC", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3",
    "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: normal !important;
}
.cn body #Header #SubNavi .tel a,
.cn body #Header #LangSwitch .langSwitch__link {
  font-family: inherit;
}

#Container {
  position: relative;
  background-color: #fff;
}
@media screen and (min-width: 741px) {
  #Header .widthFix,
  #Footer .widthFix {
    width: 1100px !important;
  }
}

a {
  color: #555;
  text-decoration: none;
}
a:hover,
a:active {
  color: #777;
}

a.pageTop {
  font-size: 26px;
  width: 60px;
  height: 60px;
  right: 0;
  bottom: 0;
  background-color: #000;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
}
html:not(.tbsp) a.pageTop:hover {
  background-color: #333;
}

#ContentsWrap {
  transition: 0.8s;
  transition-delay: 0.4s;
  opacity: 1;
  padding: 120px 0 150px;
}
#ContentsWrap.default {
  opacity: 0;
}
#ContentsWrap.tatewari {
  background: #fff;
  /* padding: 0; */
  position: relative;
  z-index: 1;
}

#ContentsWrap.tatewari:after {
  content: "　";
  position: absolute;
  display: block;
  width: 50vw;
  height: 100%;
  right: 0;
  top: 0;
  background-color: #f8f8f8;
  z-index: 1;
  transition: 0.5s;
  z-index: 2;
}
#ContentsWrap.tatewari > * {
  position: relative;
  z-index: 5;
}

/* // Header //
----------------------------------------------- */
#Header {
  background: rgba(0, 0, 0, 1);
  font-family: "EBGaramond", sans-serif;
  position: fixed;
  z-index: 9999;
  width: 100%;
  top: 0;
}
#Header.change-color {
  background: rgba(0, 0, 0, 0.8);
  transition: 0.3s;
}
#Header * {
  font-weight: 300;
}

#Header .wrap {
  padding: 0 0 0 30px;
  position: relative;
  min-width: 1130px;
}
#Header .wrap .logo {
  padding-bottom: 15px;
}
#Header .wrap .inner {
  padding: 5px 30px 0;
  /*background: #f8f8f8;*/
  min-width: 50vw;
}
#Header .logo img {
  width: 168px;
  height: 36px;
}
#Header #Gnavi li {
  font-size: 1.24rem;
  margin-right: 1.45em;
  line-height: 100%;
}
.fr #Header #Gnavi li {
  margin-right: 0.75em;
}
#Header #Gnavi li:last-child {
  margin-right: 0;
}
#Header #Gnavi > ul > li:last-child a {
  background: rgba(194, 3, 22, 1);
  font-size: 14px;
  padding: 5px 12px;
  transition: 0.3s;
}
#Header #Gnavi > ul > li:last-child a:hover {
  background-color: rgba(194, 3, 22, 0.6);
}

#Header #Gnavi li > a {
  padding: 10px 5px 15px;
  display: block;
  position: relative;
  color: #fff;
}
#Header #Gnavi li:not(:last-child) > a:after {
  content: "　";
  position: absolute;
  display: block;
  width: 30px;
  height: 1px;
  left: 50%;
  bottom: -7px;
  background-color: #fff;
  opacity: 0;
  z-index: 1;
  transition: 0.1s;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

#Header #Gnavi li a:hover:after,
#Header #Gnavi li.on a:after {
  bottom: 1px;
  opacity: 1;
}

#Header #SubNavi {
  padding-right: 0;
  margin-bottom: 5px;
  display: flex;
  justify-content: right;
  align-items: center;
}
#Header #SubNavi > ul li {
  font-size: 1rem;
  color: #c8c8c8;
}
/*#Header #SubNavi li:not(:last-child):after{
  content: "｜";
	display: inline-block;
	padding: 0 5px;
}*/
#Header #SubNavi .first {
  margin-right: 12px;
}
#Header #SubNavi .first li {
  margin-right: 8px;
}
#Header #SubNavi .first li a {
  padding: 2px 10px;
  color: #000;
  background: #fff;
}
#Header #SubNavi .first li a:hover,
#Header #SubNavi .first li.on a {
  background: #eee;
}

#Header #SubNavi .tel {
  margin-right: 20px;
  color: #fff;
}
#Header #SubNavi .tel a {
  color: #fff;
}
#Header #SubNavi .tel a i {
  font-family: "FontAwesome";
}
#Header #SubNavi .tel a span {
  font-size: 1.3rem;
}
#Header #SubNavi .sns li:not(:last-child) {
  margin-right: 5px;
}
#Header #SubNavi .sns a {
  font-size: 1.5rem;
  color: #fff;
}

#Header #LangSwitch {
  font-family: "EBGaramond", sans-serif;
  /*position: absolute;
	left: 30px;
	top: 10px;
	display: flex;
	align-items: center;
	gap: 12px;*/
  margin-bottom: 10px;
}
#Header #LangSwitch .langSwitch__txt {
  color: #fff;
  line-height: 1.5;
  font-size: 1.14rem;
  text-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
#Header #LangSwitch .langSwitch__select {
  position: relative;
  display: flex;
  line-height: 1.5;
  gap: 12px;
  align-items: center;
  font-size: 1.16rem;
  color: #fff;
  cursor: pointer;
  text-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
#Header #LangSwitch .langSwitch__list--wrap {
  z-index: 1;
  cursor: default;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 15px);
  top: 110%;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.5s;
}
#Header #LangSwitch .langSwitch__select:hover .langSwitch__list--wrap {
  max-height: 201px;
}
#Header #LangSwitch .langSwitch__list {
  justify-content: center;
  gap: 12px;
  background-color: rgba(0, 0, 0, 0.7);
  padding: 24px;
  display: grid;
}

#Header #LangSwitch .langSwitch__select:hover .langSwitch__list::after {
  position: absolute;
  content: "";
  bottom: 100%;
  left: 0;
  width: 100%;
  height: 20px;
}
#Header #LangSwitch .langSwitch__link {
  display: block;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1;
  color: #fff;
  position: relative;
  font-weight: 400;
  text-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  transition: all 0.5s;
}
#Header #LangSwitch .langSwitch__link::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transition: transform 0.3s;
  transform-origin: right top;
}
#Header #LangSwitch .langSwitch__link:hover::after {
  transform: scale(1, 1);
  transform-origin: left top;
}

/* // Gnavi //
----------------------------------------------- */
#Gnavi {
}

/* // Footer //
----------------------------------------------- */

#Footer {
  background: #000;
  color: #999999;
}
#Footer a {
  font-weight: 600;
  color: #999999;
}
#Footer a:hover {
  color: #aaa;
}
#Footer .footLink {
  padding: 20px 60px;
  font-size: 0.75rem;
  border-bottom: 1px solid #333333;
}
#Footer .footLink ul {
}
#Footer .footLink li a {
  padding: 0 5px;
  display: inline-block;
}
#Footer .footContents {
  padding: 50px 60px 100px;
}
#Footer .footContents .logo {
  margin-bottom: 10px;
  opacity: 0.6;
}
#Footer .footContents .logo img {
  width: 168px;
  height: 36px;
}
#Footer .footContents .copyright {
  margin-top: 15px;
}
#Footer .footNavi {
  margin-bottom: 20px;
}
#Footer .footNavi li {
  margin-left: 30px;
}
#Footer .footSNS {
  font-size: 20px;
}
#Footer .footSNS li {
  margin-left: 12px;
}

/* // PageTitle //
----------------------------------------------- */

#PageHeader {
  height: 450px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
#PageHeader .inner {
  position: absolute;
  left: 50%;
  top: 60%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  padding-bottom: 40px;
}
@media screen and (max-width: 740px) {
  /* SP */
  #PageHeader .inner {
    top: 50%;
  }
}
#PageHeader .inner:before {
  content: "　";
  position: absolute;
  display: block;
  width: 30px;
  height: 1px;
  left: 50%;
  bottom: 0;
  background-color: #fff;
  z-index: 1;
  transition: 0.1s;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.07);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

#PageHeader p,
#PageHeader h1 {
  text-align: center;
  line-height: 1;
  color: #fff;
  text-shadow: 0 0 15px rgba(0, 0, 0, 0.07);
}
#PageHeader.bk p,
#PageHeader.bk h1 {
  color: #000;
  text-shadow: none;
}
#PageHeader p.en {
  font-size: 3.71rem;
  letter-spacing: 0.01em;
}
#PageHeader p.ja,
#PageHeader h1.ja {
  margin-top: 18px;
  font-weight: 600;
  letter-spacing: 0.15em;
}

/* // TEXT SETTING //
----------------------------------------------- */

.htxA {
  margin-bottom: 40px;
}
.htxA:not(.left) * {
  text-align: center;
}
html.en .htxA .ja {
  display: none;
}
.htxA .en {
  font-size: 2.86rem;
  line-height: 1;
}
.htxA .ja {
  margin-top: 10px;
  color: #777;
}
.htxA.m .en {
  font-size: 2.5rem;
}
.htxA.s .en {
  font-size: 2rem;
}

.htxB {
  padding-bottom: 0.8em;
  font-size: 3.71rem;
  margin-bottom: 40px;
  position: relative;
}
.htxB.m {
  font-size: 3.36rem;
}
.htxB.s,
.htxB.s.left {
  padding-bottom: 0.3em;
  font-size: 2.14rem;
  margin-bottom: 30px;
}
.htxB:after {
  content: "　";
  position: absolute;
  display: block;
  width: 30px;
  height: 1px;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #000;
  z-index: 1;
  transition: 0.5s;
}
.htxB * {
  text-align: center;
}
.htxB .en {
  letter-spacing: 0.05em;
  line-height: 1;
}
.htxB .ja {
  margin-top: 10px;
  color: #777;
  font-size: 1rem;
}
html.en .htxB .ja {
  display: none;
}
.htxB span {
  display: inline-block;
  margin-right: 1rem;
}
.htxB.left {
  padding-bottom: 0.5em;
}
.htxB.left:after {
  left: 0;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}
.htxB.left * {
  display: inline-block;
}
.htxB.w * {
  color: #fff;
}
.htxB.w:after {
  background-color: #fff;
}

/* // BTN //
----------------------------------------------- */

/* //    |- btnB  */

a.btnB {
  display: inline-block;
  font-weight: 600;
  margin-right: 15px;
}
a.btnB:hover {
}
a.btnB span {
  display: inline-block;
  width: 200%;
  border-bottom: 1px solid #000;
  transition: 0.3s;
  position: relative;
}
a.btnB span:after {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: -1px;
  background-color: #000;
  z-index: 1;
  transition: 0.3s;
}
a.btnB.w span:after {
  background-color: #fff;
}
a.btnB:hover span:after {
  width: 120%;
}
a.btnB:hover span {
}
a.btnB.w span {
  border-color: #fff;
  color: #fff;
}
a.btnB.center span {
  text-align: center;
}
a.btnB.left span {
  text-align: right;
}
a.btnB.center span {
  -webkit-transform: translateX(-25%);
  -ms-transform: translateX(-25%);
  transform: translateX(-25%);
}
a.btnB.right span {
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
a.btnC {
  line-height: 1;
  padding: 0.5em 5em 0.5em 1.2em;
  color: #fff;
  background: #000;
  display: inline-block;
  position: relative;
  font-size: 1.14rem;
  font-weight: 400;
}
a.btnC.l {
  padding: 0.9em 8em 0.9em 3.2em;
}
a.btnC:after {
  content: "　";
  position: absolute;
  display: block;
  width: 30px;
  height: 1px;
  right: 0;
  top: 50%;
  background-color: #fff;
  z-index: 1;
  transition: 0.3s;
}
a.btnC.l:after {
  width: 50px;
}
a.btnC:hover {
  color: #fff !important;
  opacity: 0.8;
}
a.btnC:hover:after {
  width: 20px;
}
a.btnC.g {
  background: #333333;
}

a.btnD {
  line-height: 1;
  padding: 0.5em 5em 0.5em 1.2em;
  color: #000;
  background: #fff;
  display: inline-block;
  position: relative;
  font-size: 1.14rem;
  font-weight: 400;
}
a.btnD.l {
  padding: 0.9em 8em 0.9em 3.2em;
}
a.btnD:after {
  content: "　";
  position: absolute;
  display: block;
  width: 30px;
  height: 1px;
  right: 0;
  top: 50%;
  background-color: #000;
  z-index: 1;
  transition: 0.3s;
}
a.btnD.l:after {
  width: 50px;
}
a.btnD:hover {
  color: #000 !important;
  opacity: 0.8;
}
a.btnD:hover:after {
  width: 20px;
}
a.btnD.g {
  background: #333333;
}

/* // Loader
----------------------------------------------- */

/********************
loading effects
********************/
.loadingAnim {
  position: fixed;
  z-index: 6000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
}
.loadingAnim:before,
.loadingAnim:after {
  line-height: 1;
  position: fixed;
  z-index: 5999;
  right: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 50%;
  margin-right: auto;
  margin-left: auto;
  content: " ";
  transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  transition-delay: 0.3s;
  background-color: #000;
}
.loadingAnim:before {
  top: 0;
}
.loadingAnim:after {
  bottom: 0;
}

.loaded .loadingAnim:before {
  height: 0;
  -webkit-transform: translateY(-1%);
  -ms-transform: translateY(-1%);
  transform: translateY(-1%);
}
.loaded .loadingAnim:after {
  height: 0;
  -webkit-transform: translateY(1%);
  -ms-transform: translateY(1%);
  transform: translateY(1%);
}

.loadingAnim img {
  position: fixed;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin-top: -80px;
  z-index: 6000;
  width: 210px;
  opacity: 1;
  transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
}
.loaded .loadingAnim img {
  opacity: 0;
}

.loadingAnim_line {
  line-height: 1;
  position: fixed;
  z-index: 6000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: inline-block;
  overflow: hidden;
  width: 150px;
  height: 1.25em;
  margin: auto;
  transition: all 0.9s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  transition-delay: 0s;
  text-align: center;
}
.loadingAnim_line:after {
  position: absolute;
  z-index: 6000;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 0;
  height: 100%;
  margin: auto auto auto 0;
  content: " ";
  -webkit-animation: loadingAnim 2s ease-in-out 0.1s infinite normal backwards;
  animation: loadingAnim 2s ease-in-out 0.1s infinite normal backwards;
  background-color: #fff;
  will-change: transform, width;
}
.loadingAnim_line:before {
  font-family: "EBGaramond", sans-serif;
  font-size: 1.25em;
  font-weight: bold;
  font-style: normal;
  line-height: 1;
  display: block;
  content: "LOADING";
  -webkit-animation: loadingAnim_text 1s ease 0.1s infinite alternate both;
  animation: loadingAnim_text 1s ease 0.1s infinite alternate both;
  letter-spacing: 0.5em;
  color: #fff;
  will-change: opacity;
}
.loaded .loadingAnim_line {
  overflow: hidden;
  /* height: 0; */
  opacity: 0;
}

/********************
animation setting
********************/
@-webkit-keyframes loadingAnim {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
    -webkit-transform: translate(100%);
    transform: translate(100%);
  }
}
@keyframes loadingAnim {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
    -webkit-transform: translate(100%);
    transform: translate(100%);
  }
}
@-webkit-keyframes loadingAnim_text {
  0% {
    opacity: 1;
    color: #cba166;
  }
  50% {
    color: #333;
  }
  100% {
    opacity: 0.5;
    color: #fff;
  }
}
@keyframes loadingAnim_text {
  0% {
    opacity: 1;
    color: #cba166;
  }
  50% {
    color: #333;
  }
  100% {
    opacity: 0.5;
    color: #fff;
  }
}

/* // xxx //
----------------------------------------------- */
/* //    |- anchorList  */

.anchorList {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: left;
  justify-content: left;
  -webkit-align-items: stretch;
  align-items: stretch;
}
.anchorList.center {
  -webkit-justify-content: center;
  justify-content: center;
}
.anchorList li {
  font-size: 1.07rem;
  color: #adadad;
  line-height: 2.2;
}
.anchorList li a {
  color: #adadad;
  font-weight: 500;
}
.anchorList li:not(:last-child):after {
  content: "｜";
  display: inline-block;
  padding: 0 1em;
}

/* // xxx //
----------------------------------------------- */
/* //    |- xxx  */

/* // OTHER //
--------------------------------------------------------------------------------------------------------------------------------------------- */

/* //    |- BreadCrumbs  */

#BreadCrumbs {
  position: relative;
  z-index: 5000;
}
#BreadCrumbs ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: left;
  justify-content: left;
  -webkit-align-items: stretch;
  align-items: stretch;
}
#BreadCrumbs li {
  color: #999;
  font-size: 0.86rem;
}
#BreadCrumbs li.home a:before {
  content: "\f015";
  font-family: FontAwesome;
}
#BreadCrumbs li a {
  color: #555;
}
#BreadCrumbs li:not(:last-child):after {
  content: "-";
  display: inline-block;
  padding: 0 10px;
}
html.en #BreadCrumbs li {
  text-transform: capitalize;
}

/* //    |- tag  */

.tagList {
  line-height: 1.9;
}
.tagList li {
  display: inline-block;
  margin-right: 1.5em;
}
.tag a,
.tag span {
  color: #777;
  padding-left: 1.1em;
  display: inline-block;
  position: relative;
  font-size: 0.86rem;
  font-weight: 400;
}
.tag span {
  color: #000;
  font-weight: 300;
  color: #adadad;
}
.tag a:before,
.tag span:before {
  content: "#";
  display: inline-block;
  position: absolute;
  display: block;
  line-height: 1;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-weight: 600;
}

/* // ★★★CONTENTS UNIQUE★★★ //--------------------------------------------------------------------------------------------------------------------------------------------- */

/* // Concept //
----------------------------------------------- */
#ConceptMv {
  overflow: hidden;
  padding-bottom: 60px;
}
#ConceptMv .wrap {
  -webkit-flex-flow: row-reverse wrap;
  flex-flow: row-reverse wrap;
  margin-bottom: 110px;
}

#ConceptMv .wrap .img {
  width: calc(100% - 630px);
}

#ConceptMv .txt .body {
  font-size: 0.93rem;
  color: #000;
  line-height: 2.1;
  font-weight: 400;
}
#ConceptMv .threeConcept > div {
  max-width: 1400px;
  margin: 0 auto;
}
#ConceptMv .threeConcept .flex {
  -webkit-flex-flow: row-reverse wrap;
  flex-flow: row-reverse wrap;
}
#ConceptMv .threeConcept .three {
  width: 50%;
  position: relative;
}
#ConceptMv .threeConcept .three:before {
  content: "　";
  position: absolute;
  display: block;
  width: 1px;
  height: 100px;
  left: 50%;
  bottom: -170px;
  background-color: #b8b8b8;
  z-index: 1;
  transition: 0.5s;
}
#ConceptMv .threeConcept .three * {
  text-align: center;
}
#ConceptMv .threeConcept .three .jp {
  font-size: 1.5rem;
  line-height: 1.7;
  margin-bottom: 50px;
  letter-spacing: 0.12em;
}
#ConceptMv .threeConcept .three .jp span {
  font-size: 157%;
  letter-spacing: 0.02em;
}
#ConceptMv .threeConcept .three .en {
  font-size: 1.28rem;
}
#ConceptMv .threeConcept .three .enTxt {
  font-size: 0.86rem;
}
#ConceptMv .threeConcept .img {
  width: 45%;
}
#th_Material > div,
#th_Design > div,
#th_Structure > div,
__ {
  max-width: 1400px;
  margin: 0 auto;
}
#th_Material .thTtl,
#th_Design .thTtl,
#th_Structure .thTtl,
__ {
  font-size: 1.86rem;
  line-height: 1.7;
  margin-bottom: 0.9em;
}
#th_Material .thTtl.s {
  font-size: 1.6rem;
}
#th_Material .thInner,
#th_Design .thInner,
#th_Structure .thInner,
__ {
  position: relative;
}
#th_Material .detail,
#th_Design .detail,
#th_Structure .detail,
__ {
  text-align: right;
  margin-top: 70px;
}
#th_Material .detail em,
#th_Design .detail em,
#th_Structure .detail em,
__ {
  text-align: left;
  font-weight: 600;
  display: inline-block;
}
#th_Material .detail a.btnB.right,
#th_Design .detail a.btnB.right,
#th_Structure .detail a.btnB.right,
__ {
  display: block;
}
#th_Material .detail a.btnB.right span,
#th_Design .detail a.btnB.right span,
#th_Structure .detail a.btnB.right span,
__ {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  display: block;
  width: 100%;
}
#th_Material .detail a.btnB.right span:after,
#th_Design .detail a.btnB.right span:after,
#th_Structure .detail a.btnB.right span:after,
__ {
  display: none;
}
#th_Material .detail a.btnB.right:hover span,
#th_Design .detail a.btnB.right:hover span,
#th_Structure .detail a.btnB.right:hover span,
__ {
  width: 110%;
}
#th_Material {
  padding: 40px 0 300px;
}
#th_Material .wrap + .wrap {
  margin-top: 60px;
}
#th_Material .wrap.w1 {
  width: 56%;
}
#th_Material .wrap.w2 {
  width: 39%;
}
#th_Material .img {
  position: absolute;
  left: 50%;
}
#th_Material .img1 {
  top: 100px;
  margin-left: 14vw;
  width: 36%;
  max-width: 500px;
}
#th_Material .img2 {
  width: 19%;
  top: 540px;
  margin-left: -5vw;
  max-width: 280px;
}
#th_Structure {
  background: #000;
  padding: 90px 0 140px;
  color: #f1f1f1;
}

#th_Structure .crossA .item {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: stretch;
  align-items: stretch;
}
#th_Structure .crossA .item:nth-child(2n) {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
#th_Structure .crossA .item > * {
  width: 50%;
}
#th_Structure .crossA .item .img {
  text-align: center;
}
#th_Structure .crossA .item .img img {
  max-width: 100%;
}
#th_Structure .crossA .item .wrap {
  padding: 0 5vw;
}

#th_Design {
  padding: 100px 0 0;
}
#th_Design .flex {
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-bottom: 80px;
}
#th_Design .wrap {
  width: calc(100% - 450px);
  padding-top: 15px;
}
#th_Design .wrap {
}

/* // PRODUCTS //
----------------------------------------------- */

/* //    |- VerticalBlock  */

#VerticalBlock {
}
#VerticalBlock .item {
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column wrap;
  flex-flow: column wrap;
  -webkit-justify-content: center;
  justify-content: center;
  height: 520px;
}
#VerticalBlock .item .image {
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 0 100px 0 rgba(0, 0, 0, 0.15) inset;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
#VerticalBlock .item .image:before {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0.2;
  background-color: #000;
  z-index: 2;
  transition: 0.3s;
}
#VerticalBlock .item p {
  text-align: center;
  color: #fff;
  position: relative;
  line-height: 1;
  z-index: 10;
}
#VerticalBlock .item p a {
  color: #fff;
}
#VerticalBlock .item .name {
  font-size: 3rem;
}
#VerticalBlock .item .nameJP {
  margin-top: 15px;
}
#VerticalBlock .item .copy {
  font-size: 0.93rem;
  line-height: 1.85;
  font-weight: 500;
  margin-top: 40px;
}

@media all and (min-width: 741px) {
  #VerticalBlock .item:hover .image:before {
    opacity: 0;
  }
}

/* //    |- CategoryList  */

/* #CategoryList>div{
  max-width: 1600px;
  margin:0 auto;
} */

/* #CategoryList .item{
	width: 47.5%;
	margin-bottom: 6.5vw;
}
#CategoryList .item:nth-child(2n-1){
	margin-right: 4%;
} */

#CategoryList .flex {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}
#CategoryList .item {
  width: 43%;
  margin-bottom: 6.5vw;
}
#CategoryList p {
  /* text-align: center; */
}
#CategoryList .img {
  margin-bottom: 40px;
}
#CategoryList .img a {
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
#CategoryList .img a:before {
  content: "　";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: calc(100% * (9 / 16));
}
#CategoryList .name {
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 12px;
  letter-spacing: 0.08em;
}
#CategoryList .name span {
  display: block;
  /* text-align: center; */
  font-size: 50%;
  margin-bottom: 6px;
}
#CategoryList .nameJP {
  line-height: 1;
  margin-bottom: 40px;
}
#CategoryList .summery {
  font-size: 0.93rem;
  line-height: 1.84;
}
#CategoryList .summery br {
  display: none;
}

@media all and (min-width: 741px) {
  #CategoryList .img a:hover:after {
    opacity: 0.3;
  }
  #CategoryList .img a:after {
    content: "　";
    position: absolute;
    display: block;
    /* width: calc( 100% - 100px );
	  height: calc( 100% - 100px );
	  left: 50px;
	  top: 50px; */
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #000;
    z-index: 1;
    transition: 0.3s;
    opacity: 0;
  }
}

/* //    |- ProductsList  */

#ProductsList {
  background: #f5f5f5;
  padding: 90px 0;
}
#ProductsList > div {
  max-width: 1600px;
  margin: 0 auto;
}
#ProductsList .cateTtl {
  font-size: 2.57rem;
  font-weight: 200;
  margin-bottom: 70px;
  text-align: center;
}
#ProductsList .product-thumb {
  position: relative;
}
#ProductsList .product-thumb .award-icon {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 80px;
  height: auto;
  z-index: 2;
}
#ProductsList .item {
  width: 32%;
  margin-bottom: 6vw;
}
#ProductsList .item:not(:nth-child(3n)) {
  margin-right: 2%;
}
#ProductsList .img {
  margin-bottom: 20px;
  background: #fff;
}
#ProductsList .img a {
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}
#ProductsList .img a.cover {
  background-size: cover;
}
#ProductsList .img a:before {
  content: "　";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 81%;
}
#ProductsList .name {
  font-size: 1.71rem;
  line-height: 1.5;
  border-bottom: 1px solid #777777;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
#ProductsList .summery {
  font-size: 0.93rem;
  color: #777;
  line-height: 1.84;
}
@media all and (min-width: 741px) {
  #ProductsList .img a:hover:after {
    opacity: 0.1;
  }
  #ProductsList .img a:after {
    content: "　";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #000;
    z-index: 1;
    transition: 0.3s;
    opacity: 0;
  }
  #ProductsList .name:hover {
    text-decoration: underline;
  }
  #ProductsList .product-thumb .award-icon {
    width: 100px;
  }
}

/* // MainView //
----------------------------------------------- */
#MainView {
  position: relative;
  z-index: 5001;
  padding-top: 90px;
}
#MainView .inner {
  max-width: 1520px;
  height: 54vw;
  max-height: calc(95vh - 100px);
  margin-left: auto;
  margin-right: auto;
  /* height: calc( 100vh - 200px ); */
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
  overflow: hidden;
}
/* #MainView.sofa .inner,
#MainView.table .inner,
#MainView.bed .inner,
#MainView.outdoorfuniture .inner,
#MainView.rug .inner,
#MainView.wallpaper .inner,
__{
	background-position: center 80%;
} */
#MainView .inner.cover {
  background-size: cover;
}
#MainView .inner img {
  height: auto;
  width: 100%;
  z-index: 5;
  opacity: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#MainView .nameplate {
  position: absolute;
  right: 60px;
  bottom: -140px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 50px 70px;
  transition: 0.2s;
  z-index: 9999;
}
#MainView .product-thumb {
  position: relative;
}
#MainView .product-thumb-img {
  /* position: absolute;
		right: 10px;
		z-index: 100;
		top: 0px; */
  /* position: absolute;
    right: 20px;
    z-index: 100;
    bottom: 70px; */
}
#MainView .product-thumb-img .award-icon {
  position: absolute;
  top: inherit;
  left: inherit;
  right: 10px;
  bottom: 0;
  width: 70px;
  height: auto;
  z-index: 100;
  opacity: 1;
  transform: none;
}
@media all and (min-width: 701px) {
  #MainView .nameplate:after {
    content: "　";
    position: absolute;
    display: block;
    width: 50px;
    height: 140px;
    right: 100%;
    bottom: 0;
    background: -moz-linear-gradient(
      left,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 1) 100%
    );
    background: -webkit-linear-gradient(
      left,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 1) 100%
    );
    background: linear-gradient(
      to right,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 1) 100%
    );
    transition: 0.5s;
  }

  #MainView .product-thumb-img {
    position: absolute;
    right: 10px;
    z-index: 100;
    bottom: 50px;
    top: auto;
  }
  #MainView .product-thumb-img .award-icon {
    position: absolute;
    top: inherit;
    left: inherit;
    right: inherit;
    width: 200px;
    height: auto;
    z-index: 100;
    opacity: 1;
    transform: none;
    bottom: 0;
  }
}

@media all and (min-width: 1601px) {
  #MainView .nameplate {
    right: calc((100vw - 1600px) * 0.5 + 20px);
  }
}
#MainView .nameplate h1 {
  font-size: 2.43rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
}

#MainView .nameplate .cate {
  font-size: 0.86rem;
  line-height: 1;
  text-align: right;
  text-transform: uppercase;
}

#ProductSummery {
  background: #f5f5f5;
  padding-bottom: 40px;
}
#ProductSummery .wrap {
  position: relative;
  margin-top: -35px;
  margin-bottom: 15px;
  background: rgba(255, 255, 255, 0.8);
  padding: 70px 40px 85px;
  z-index: 5550;
}
#ProductSummery .body {
  font-size: 1.07rem;
  text-align: center;
}
#ProductSummery .body p {
  text-align: center;
}
/* //    |- ThumbCarousel  */

*:focus {
  outline: none;
}

#ThumbCarousel .slide-item {
  margin-left: 15px;
  margin-right: 15px;
  position: relative;
}
#CoordinateGallery #ThumbCarousel .slide-item:after {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: #333;
  z-index: 1;
  opacity: 0.5;
  pointer-events: none;
}
#CoordinateGallery #ThumbCarousel .slide-item.slick-active:after {
  opacity: 0;
}
#ProductGallery #ThumbCarousel .slide-item {
  opacity: 0.4;
  transition: none;
}
#ProductGallery #ThumbCarousel .slide-item.slick-active {
  opacity: 1;
}

#ThumbCarousel #slider img {
  height: 480px;
  width: auto;
}

#ThumbCarousel #slider {
  margin-bottom: 48px;
}

#thumbnail_slider.static .slick-list > div > div {
  transform: none !important;
  margin: 0 auto;
}

#ThumbCarousel #slider .slide-item a {
  display: block;
  position: relative;
  height: 100%;
}
#ThumbCarousel #slider .slide-item i {
  display: block;
  right: 15px;
  bottom: 15px;
  font-size: 32px;
  position: absolute;
  width: 60px;
  text-align: center;
  height: 60px;
  line-height: 60px;
  background: rgba(196, 196, 196, 0.3);
  color: #fff;
  border-radius: 50%;
}
#ThumbCarousel #thumbnail_slider {
  width: 920px;
  margin: 0 auto;
}
#ThumbCarousel #thumbnail_slider .thumbnail-item {
  margin: 0 3px;
  position: relative;
  opacity: 0.5;
}
#ThumbCarousel #thumbnail_slider .thumbnail-item img {
  width: 100%;
  height: auto;
}
#ThumbCarousel #thumbnail_slider .thumbnail-item.slick-current {
  box-shadow: 0 0 0 1px #e5e5e5 inset;
  opacity: 1;
}
#ThumbCarousel #thumbnail_slider .thumbnail-item:after {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0.1;
  background-color: #555555;
  z-index: 1;
}
#ThumbCarousel #thumbnail_slider .thumbnail-item.slick-current:after {
  opacity: 0;
}

.slick-prev:before,
.slick-next:before {
  color: #aaa;
  font-family: IconfontA;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-prev:before {
  content: "\e90d";
}
.slick-next:before {
  content: "\e90e";
}
@media all and (min-width: 571px) {
  #ThumbCarousel #slider .slide-item:not(.slick-current) a {
    pointer-events: none;
  }
  #ThumbCarousel #slider .slide-item:not(.slick-current) i {
    display: none;
  }
}

/* //    |- ProductGallery  */

#ProductGallery {
  margin-bottom: 50px;
  padding-top: 140px;
}

/* //    |- ProductInfo  */

#ProductInfo .productName {
  font-size: 3.85rem;
  text-align: center;
  line-height: 1.2;
}
#ProductInfo .kana {
  font-size: 1.07rem;
  text-align: center;
  margin-top: 10px;
  color: #ccc;
}
#ProductInfo .body {
  font-size: 1.07rem;
  text-align: center;
  margin-top: 80px;
  color: #777;
  line-height: 2.1;
}

#CoordinateInfo .madein,
#ProductInfo .madein {
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  margin-top: 80px;
}
#CoordinateInfo .madein p,
#ProductInfo .madein p {
  font-size: 1.28rem;
  padding: 30px 0;
  text-align: center;
}
#CoordinateInfo .madein p:not(:last-child),
#ProductInfo .madein p:not(:last-child) {
  border-right: 1px solid #dddddd;
}

/* // Freearea //
----------------------------------------------- */

#FreeArea {
  padding: 100px 0;
}
#FreeArea .free {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: stretch;
  align-items: stretch;
}
#FreeArea .free:nth-child(2n) {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
#FreeArea .free .img {
  position: relative;
  width: 50%;
  text-align: center;
}
#FreeArea .free:nth-child(2n) .img {
  margin-left: 0px;
  text-align: center;
}
#FreeArea .free .img img {
  max-width: 100%;
}
#FreeArea .free .txt {
  width: 50%;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column wrap;
  flex-flow: column wrap;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 40px 5vw;
}
@media all and (max-width: 1300px) {
  #FreeArea .free:nth-child(2n) .txt {
    padding-left: 0;
  }
  #FreeArea .free:nth-child(2n-1) .txt {
    padding-right: 0;
  }
}
#FreeArea .free .txt .ttl {
  font-size: 1.71rem;
  line-height: 1.75;
  margin-bottom: 3vw;
}
#FreeArea .free .txt .body {
  color: #555;
}

.crossLayout .block .flex > * {
  width: 50%;
}

.crossLayout .block:nth-child(2n-1) .flex {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.crossLayout .block .image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: calc((50vw - 60px) * 0.56);
  min-height: 308px;
  max-height: 470px;
}
.crossLayout .block .wrap {
  background: #fff;
  padding: 40px 5vw;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column wrap;
  flex-flow: column wrap;
  -webkit-justify-content: center;
  justify-content: center;
}

#ProductFree {
  padding: 80px 0;
}
#ProductFree .block .ttl {
  font-size: 1.71rem;
  margin-bottom: 1em;
  line-height: 1.75;
}

#ProductFree .block .body {
  color: #777;
}

/* //    |- PriceList  */

#PriceList {
  background: #f5f5f5;
  padding: 100px 0;
}
#PriceList .productName {
  color: #777;
  font-size: 3.2rem;
  text-align: center;
  line-height: 1.2;
}
#PriceList .kana {
  font-size: 1rem;
  text-align: center;
  margin-top: 5px;
  color: #aaa;
}
#PriceList .material {
  text-align: center;
  font-size: 0.93rem;
  margin-top: 20px;
  color: #777;
}
#PriceList .pricetable {
  margin-top: 50px;
}
#PriceList .pricetable td {
  line-height: 1.4;
}
#PriceList .pricetable > tbody > tr > td {
  padding: 10px 0 10px 30px;
  vertical-align: middle;
  border-bottom: 1px solid #e1e1e1;
}
#PriceList .pricetable > tbody > tr > td:first-child {
  padding-left: 100px;
}
#PriceList .pricetable > tbody > tr > td:last-child {
  padding-right: 100px;
}
#PriceList .pricetable > tbody > tr > td:not(:last-child) p {
  padding: 5px 30px 5px 0;
  border-right: 2px solid #dddddd;
}

#PriceList .pricetable > tbody > tr > td td {
  vertical-align: baseline;
}
#PriceList .pricetable > tbody > tr > td td:last-child {
}
#PriceList .pricetable > tbody > tr > td td .pricetype {
  max-width: 210px;
  min-width: 3.5em;
}
#PriceList .pricetable > tbody > tr > td td .pricelist {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  align-items: flex-end;
  padding-left: 20px;
}
#PriceList .pricetable > tbody > tr > td td .pricelist .in {
  white-space: nowrap;
}
#PriceList .pricetable > tbody > tr > td td .pricelist .in:after {
  content: "／";
}
#PriceList .pricetable > tbody > tr > td td .pricelist .ex {
  transform: translateY(-2px);
  padding-left: 7px;
  white-space: nowrap;
  min-width: 150px;
}
#PriceList .pricetable > tbody > tr > td td .pricelist .inTaxYen {
  font-size: 1.07rem;
}
#PriceList .pricetable > tbody > tr > td td .pricelist .inTaxVal {
  font-size: 1.42rem;
}
#PriceList .pricetable > tbody > tr > td td .pricelist .inTaxDsp,
#PriceList .pricetable > tbody > tr > td td .pricelist .exTaxDsp {
  font-size: 0.85rem;
}

#PriceList .option {
  margin-top: 30px;
  background: #eee;
  padding: 0.5em 110px;
}
#PriceList .option p {
  line-height: 1.4;
  color: #777;
}
#PriceList .option .opContents {
  margin-left: 30px;
  font-family:
    "EBGaramond", "Noto Sans Japanese", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "MS P Gothic", "ＭＳ Ｐゴシック", sans-serif;
}
#PriceList .annotation {
  margin-top: 15px;
  text-align: center;
}

/* //    |- Download  */

#Download {
  padding: 60px 0 100px;
}
#Download .downloadbtn {
  position: relative;
  border: 3px solid #c7c7c7;
  width: 47%;
  font-size: 1.5rem;
  color: #989898;
  display: block;
  padding: 30px 0;
  text-align: center;
  cursor: pointer;
  transition: 0.2s;
}
#Download .downloadbtn i {
  position: absolute;
  right: 20px;
  top: 50%;
  line-height: 1;
  margin-top: -0.5em;
  font-size: 170%;
  opacity: 0.5;
  z-index: 1;
}
#Download .downloadbtn.drop ul {
  position: absolute;
  right: -20px;
  top: 80px;
  z-index: 50;
  opacity: 0;
  transition: 0.1s;
}
#Download .downloadbtn.drop ul {
  background: #fff;
  padding: 0 10px;
  border: 1px solid #c7c7c7;
}
#Download .downloadbtn.drop ul li {
  padding: 10px 0;
}
#Download .downloadbtn.drop ul li:first-child {
  border-bottom: 1px solid #c7c7c7;
}
#Download .downloadbtn.drop ul a {
  text-align: center;
  display: block;
  padding: 10px 80px;
  color: #989898;
  transition: 0.1s;
}
@media all and (min-width: 741px) {
  #Download .downloadbtn:hover {
    background: #000;
    border-color: #000;
    color: #fff;
  }
}
#Download .downloadbtn.drop:hover ul {
  opacity: 1;
}
#Download .downloadbtn.drop ul a:hover {
  background: #f5f5f5;
}

/* //    |- ReviewList  */

#ReviewList h2 {
  font-weight: 600;
  font-size: 1.28rem;
  border-bottom: 1px solid #000;
  margin-bottom: 20px;
  line-height: 1;
  padding-bottom: 10px;
}

#ReviewList .scrollInner {
  background: #f1f1f1;
  padding: 25px 30px 0;
  height: 270px;
  overflow: auto;
}
#ReviewList .review + .review {
  margin-top: 30px;
}

#ReviewList .ttl {
  padding: 0 0.4em 0.9em 0;
  line-height: 1;
  position: relative;
  margin-bottom: 10px;
  font-weight: 400;
}

#ReviewList .ttl:after {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  left: 0;
  bottom: 0;
  background: #adadad;
  background: -moz-linear-gradient(left, #adadad 0%, #adadad 7%, #e3e3e3 7%);
  background: -webkit-linear-gradient(left, #adadad 0%, #adadad 7%, #e3e3e3 7%);
  background: linear-gradient(to right, #adadad 0%, #adadad 7%, #e3e3e3 7%);
  z-index: 1;
  transition: 0.5s;
}

#ReviewList .ttl .date {
  display: inline-block;
  min-width: 8em;
}
#ReviewList .ttl .name {
  display: inline-block;
}

#ReviewList .body {
  font-size: 0.93rem;
  line-height: 1.75;
}

/* // COORDINATE //
----------------------------------------------- */

/* //    |- CoordinateList  */

#CoordinateList {
  /*padding-top: 60px;*/
}
#CoordinateList .coordinateListTtl {
  font-size: 2.57rem;
  text-align: center;
  margin-bottom: 60px;
}
#CoordinateList .c_description {
  margin-bottom: 50px;
}
#CoordinateList .flex {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}
#CoordinateList .item {
  width: 30%;
  margin-bottom: 6.5vw;
}
#CoordinateList .img {
  margin-bottom: 40px;
}
#CoordinateList .img a {
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
#CoordinateList .img a:before {
  content: "　";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: calc(100% * (9 / 16));
}
#CoordinateList .name {
  font-size: 1.28rem;
  line-height: 1;
  margin-bottom: 12px;
  letter-spacing: 0.08em;
  position: relative;
  padding-left: 5.2em;
}
#CoordinateList .name span {
  display: block;
  font-size: 0.93rem;
  position: absolute;
  left: 0;
  padding-bottom: 7px;
  border-bottom: 1px solid #999;
  letter-spacing: 0.05em;
}
#CoordinateList .nameJP {
  line-height: 1;
  margin-bottom: 40px;
}
#CoordinateList .summery {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #777;
  max-height: 2em;
}

@media all and (min-width: 741px) {
  #CoordinateList .img a:hover:after {
    opacity: 0.3;
  }
  #CoordinateList .img a:after {
    content: "　";
    position: absolute;
    display: block;
    /* width: calc( 100% - 100px );
	  height: calc( 100% - 100px );
	  left: 50px;
	  top: 50px; */
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #000;
    z-index: 1;
    transition: 0.3s;
    opacity: 0;
  }
}

/* //    |- CoordinateSelect  */
#CoordinateSelect {
  width: 240px;
  position: relative;
}
#CoordinateSelect .acc_btn {
  display: block;
  padding: 8px 1.1em;
  border: 1px solid #333;
}
#CoordinateSelect .tag a:before,
.tag span:before {
  content: inherit;
}
#CoordinateSelect .contents {
  position: absolute;
  top: 48px;
  left: 0;
  width: 100%;
  z-index: 5;
}
#CoordinateSelect .tagList {
  background: #efefef;
  z-index: 100;
  padding: 10px 0;
}
#CoordinateSelect .tagList li {
  display: inherit;
}
#CoordinateSelect .tagList li:nth-child(1) a {
  font-weight: bold;
}
#CoordinateSelect .tagList li:not(:last-child) {
  padding-bottom: 5px;
}
#CoordinateSelect .triangle {
  position: relative;
  z-index: 10;
}
#CoordinateSelect .triangle:after {
  position: absolute;
  top: 50%;
  right: 20%;
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1px solid #333;
  border-top: 1px solid #333;
  -webkit-transform: translate(32px, -5px) rotate(135deg);
  -ms-transform: translate(32px, -5px) rotate(135deg);
  transform: translate(32px, -5px) rotate(135deg);
  transition:
    border-color 0.2s ease,
    -webkit-transform 0.5s ease;
  transition:
    border-color 0.2s ease,
    transform 0.5s ease;
}
#CoordinateSelect .triangle.is-active:after {
  -webkit-transform: translate(32px, -2px) rotate(-45deg);
  -ms-transform: translate(32px, -2px) rotate(-45deg);
  transform: translate(32px, -2px) rotate(-45deg);
}
@media screen and (max-width: 740px) {
  /* SP */
  #CoordinateSelect {
    width: calc(100% - 30px);
    margin: 0 auto 30px;
  }
  #CoordinateSelect .contents {
    top: 40px;
  }
  #CoordinateSelect .triangle:after {
    right: 13vw;
  }
  #CoordinateSelect .tagList {
    padding: 15px 0 !important;
  }
  #CoordinateSelect .tagList li:not(:last-child) {
    padding-bottom: 12px;
  }
  #CoordinateSelect .tagList li a {
    font-size: 90% !important;
  }
}

/* //    |- CoordinateGallery  */

#CoordinateGallery {
  margin-top: 80px;
}

/* //    |- CoordinateInfo  */
#CoordinateInfo {
  margin-bottom: 70px;
}
#CoordinateInfo .madein {
  margin-bottom: 70px;
}
#CoordinateInfo .coordinateName {
  font-size: 1.28rem;
}
#CoordinateInfo .material {
  font-size: 0.93rem;
  color: #777;
}
#CoordinateInfo .body {
  color: #777;
  margin-top: 30px;
}

/* //    |- RelatedProducts  */

#RelatedProducts {
  background: #f5f5f5;
  padding: 80px 0 50px;
}
#RelatedProducts > div {
  max-width: 1600px;
  margin: 0 auto;
}
#RelatedProducts .item {
  width: 32%;
  margin-bottom: 6vw;
}
#RelatedProducts .item:not(:nth-child(3n)) {
  margin-right: 2%;
}
#RelatedProducts .img {
  margin-bottom: 20px;
  background: #fff;
}
#RelatedProducts .img a {
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}
#RelatedProducts .img a:before {
  content: "　";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 81%;
}
#RelatedProducts .cateName {
  font-size: 0.86rem;
  line-height: 1;
  color: #555;
  margin-bottom: 5px;
}
#RelatedProducts .name {
  font-size: 1.71rem;
  line-height: 1.5;
  margin-bottom: 20px;
}
#RelatedProducts .summery {
  font-size: 0.93rem;
  color: #777;
  line-height: 1.84;
  margin-bottom: 10px;
}

/* //    |- OtherCoordinates  */

#OtherCoordinates {
  padding-top: 90px;
}
#OtherCoordinates > div {
  max-width: 1600px;
  margin: 0 auto;
}
#OtherCoordinates .item {
  width: 48%;
}
#OtherCoordinates .item:nth-child(2n-1) {
  margin-right: 4%;
}
#OtherCoordinates .img {
  margin-bottom: 20px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
#OtherCoordinates .img img {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  z-index: 1;
  opacity: 0;
}
#OtherCoordinates .img:before {
  content: "　";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: calc(100% * (9 / 16));
}
#OtherCoordinates .name {
  font-size: 1.28rem;
  line-height: 1.5;
  text-align: center;
  position: relative;
  z-index: 10;
}

/* //    |- articleList  */

.articleList {
  margin-bottom: 70px;
}

.articleList li {
  border-bottom: 1px solid #d7d7d7;
}
/* .articleList li:first-child{
	border-top: 1px solid #ddd;
} */
.articleList li a {
  display: block;
  padding: 20px 30px;
  position: relative;
  transition: 0.5s;
  color: #000;
  overflow: hidden;
}
.articleList li p {
  position: relative;
  padding-left: 230px;
  padding-right: 60px;
  z-index: 2;
  font-size: 1.07rem;
  font-weight: 300;
  line-height: 1.7;
}
@media all and (min-width: 741px) {
  .articleList li a:before {
    content: "　";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: -100%;
    top: 0;
    background-color: #f5f5f5;
    z-index: 1;
    transition: 0.5s;
  }
  .articleList li a:hover:before {
    left: 0;
  }
}
.articleList li a span {
  display: block;
  position: absolute;
  top: 0;
  font-size: 0.93rem;
  font-weight: 300;
}
.articleList li a span.cat {
  line-height: 1.7;
  left: 95px;
  width: 110px;
  text-align: center;
  color: #fff;
  background: #000;
  font-size: 0.86rem;
  font-weight: 500;
}
.articleList li a span.date {
  left: 0;
  width: 120px;
}

/* //    |- pagination  */

.paginationNext {
  text-align: center;
  margin-bottom: 30px;
}
.paginationNext a {
  padding: 24px 12px 24px 0;
  min-width: 360px;
  background: #555;
  display: inline-block;
  font-size: 1.14rem;
  line-height: 1;
  color: #f1f1f1;
  text-align: center;
  position: relative;
  min-width: 400px;
}
.paginationNext a:after {
  content: "　";
  position: absolute;
  display: block;
  width: 20px;
  height: 1px;
  right: 0;
  top: 50%;
  background-color: #fff;
  z-index: 1;
  transition: 0.5s;
}
.wp-pagenavi {
  text-align: center;
}
.wp-pagenavi .pages {
  display: block;
  text-align: center;
  font-weight: 100;
  margin-bottom: 10px;
}
.wp-pagenavi a.page,
.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi span.current {
  color: #777;
  line-height: 2.5em;
  width: 1.8em;
  border: 0;
  display: inline-block;
  font-size: 1.2rem;
  text-align: center;
  margin: 0 4px;
  font-weight: 300;
  background: transparent !important;
  font-family:
    "EBGaramond", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
    "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HG明朝E",
    "ＭＳ Ｐ明朝", "ＭＳ 明朝", sans-serif;
  position: relative;
}
.wp-pagenavi span.current {
  border: 0 !important;
  font-weight: 300 !important;
  color: #000;
}
.wp-pagenavi span.current:after {
  content: "　";
  position: absolute;
  display: block;
  width: 30px;
  height: 1px;
  left: 50%;
  bottom: -2px;
  margin-left: -15px;
  background-color: #000;
  z-index: 1;
  transition: 0.5s;
}

.wp-pagenavi a,
.wp-pagenavi span {
  border: 0 !important;
}

.pnArticle .item {
  width: calc(100% / 3);
  position: relative;
}
.pnArticle .item {
  background: #4d4d4d;
}
.pnArticle .item.all {
  background: #414141;
}
.pnArticle .item a {
  width: 100%;
  height: 270px;
  padding: 100px 20px 0;
  display: block;
  color: #fff;
  transition: 0.5s;
}
.pnArticle.po .item:not(.all) a {
  background-color: #000;
}
.pnArticle.po.p .item:not(.all) a {
  background-color: #fff;
}
.pnArticle.po .item a {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
  padding-top: 130px;
}
.pnArticle.po .item a:after {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: #000;
  z-index: 1;
  transition: 0.5s;
  opacity: 0.15;
}
.pnArticle.po .item a:hover:after {
  opacity: 0;
}

.pnArticle .item.prev a {
  padding-left: 60px;
}
.pnArticle .item.next a {
  padding-right: 60px;
}
.pnArticle .item a.cover {
  background-size: cover;
}
.pnArticle .item.all a {
  padding-top: 130px;
}
.pnArticle:not(.po) .item a:hover {
  background-color: #000;
}
.pnArticle .item.all a:hover {
  background-color: #000;
}
.pnArticle .item a p {
  position: relative;
  z-index: 5;
}
.pnArticle .item.all a p {
  text-align: center;
}
.pnArticle .item.prev a p {
  text-align: right;
}
.pnArticle .item a .en {
  font-size: 1.14rem;
  position: relative;
  line-height: 1;
  margin-bottom: 10px;
}
.pnArticle.po .item:not(.all) a .en {
  color: #aaa;
}
.pnArticle .item a .en:after {
  content: "　";
  position: absolute;
  display: block;
  background-color: #aaa;
  z-index: 1;
}
.pnArticle .item a .ja {
  color: #ccc;
  font-size: 0.86rem;
}
.pnArticle .item.prev a .en:after {
  width: 45px;
  height: 1px;
  top: 0.5em;
  right: 50px;
}
.pnArticle .item.next a .en:after {
  width: 45px;
  height: 1px;
  top: 0.5em;
  left: 50px;
}
.pnArticle .item.all a .en:after {
  height: 45px;
  width: 1px;
  top: -70px;
  left: 50%;
}
.pnArticle .item a .ttl {
  color: #ccc;
  line-height: 1.7;
  font-size: 0.93rem;
}
.pnArticle .item.prev a .ttl {
  padding-right: 3.5em;
}
.pnArticle .item.next a .ttl {
  padding-left: 3.5em;
}

/* //    |- articleDetail  */

.articleDetail {
  padding-bottom: 100px;
}

.articleDetail .mainArea {
  width: 62%;
}
.articleDetail .sideArea {
  width: 30%;
}
.articleDetail .sideArea .htxA {
  opacity: 0.4;
}
.articleDetail .articleHeader {
  padding-bottom: 20px;
  border-bottom: 1px solid #ddd;
  margin-bottom: 15px;
}
.articleDetail .articleHeader .ttl {
  line-height: 1.5;
  font-size: 1.71rem;
}
.articleDetail .articleHeader .info {
  margin-bottom: 15px;
}
.articleDetail .articleHeader .info span {
  display: inline-block;
  margin-right: 15px;
}
.articleDetail .articleHeader .info span.cat {
  line-height: 1.7;
  min-width: 110px;
  text-align: center;
  color: #fff;
  background: #000;
  font-size: 0.9rem;
  font-weight: 500;
}
.articleDetail .articleHeader .info span.date {
}

.articleDetail .mainImage img,
.articleDetail .articleBody div,
.articleDetail .articleBody figure,
.articleDetail .articleBody img {
  max-width: 100%;
  height: auto;
}
.articleDetail .mainImage {
  margin-bottom: 30px;
}
.articleDetail .articleBody {
  color: #555;
  line-height: 1.76;
}
.articleDetail .articleBody p {
  color: #555;
}
.articleDetail .articleBody p + p {
  margin-top: 1em;
}
.articleDetail .articleBody ul {
  list-style-type: disc;
  margin-bottom: 30px;
}
.articleDetail .articleBody ul li {
  margin-left: 1.4em;
  margin-bottom: 6px;
  line-height: 1.5em;
  color: #777;
}
.articleDetail .articleBody ol {
  list-style-type: decimal;
  margin-bottom: 30px;
}
.articleDetail .articleBody ol li {
  margin-left: 1.4em;
  margin-bottom: 6px;
  line-height: 1.5em;
  padding-left: 0.2em;
  color: #777;
}
.articleDetail .articleBody h2 {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 40px 0 20px;
  color: #000;
  line-height: 1.5;
  border-bottom: 2px solid #000;
  border-top: 1px solid #ccc;
  padding: 12px 0;
}
.articleDetail .articleBody h3 {
  font-size: 1.36rem;
  font-weight: 600;
  margin: 30px 0 15px;
  color: #000;
  line-height: 1.5;
  border-left: 5px solid #000;
  padding-left: 1em;
}
.articleDetail .articleBody h4 {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 30px 0 15px;
  color: #000;
  line-height: 1.5;
}
.articleDetail .articleBody blockquote {
  /* border:1px solid #ddd; */
  background-color: #f1f1f1;
  padding: 20px 20px 20px 50px;
  box-sizing: border-box;
  color: #555;
  position: relative;
}
.articleDetail .articleBody blockquote:before {
  content: "\f10d";
  font-family: FontAwesome;
  display: inline;
  position: absolute;
  left: 20px;
  top: 20px;
  font-size: 150%;
  opacity: 0.3;
}
.articleDetail .articleBody blockquote p {
  margin: 0;
}
.articleDetail .articleBody table {
  width: 100%;
  border-collapse: collapse;
}
.articleDetail .articleBody table th {
  padding: 8px;
  vertical-align: top;
  background-color: #f7f7f7;
  border: 1px solid #dedede;
  text-align: center;
}
.articleDetail .articleBody table td {
  padding: 8px;
  background-color: #fff;
  border: 1px solid #dedede;
  text-align: center;
}
.articleDetail .articleBody table th.taLeft,
.articleDetail .articleBody table td.taLeft {
  text-align: left;
}
.articleDetail .articleBody .guestInfo {
  background: #f5f5f5;
  border: 1px solid #ddd;
  padding: 30px;
  clear: both;
  font-size: 0.93rem;
  line-height: 1.7;
}
.articleDetail .articleBody .flLeft {
  padding: 30px 30px 30px 0;
}
.articleDetail .articleBody .flRight {
  padding: 30px 0 30px 30px;
}

/* //    |- columnList  */

.columnList.flex .item {
  width: calc((100% - 120px) / 3) !important;
  margin-top: 80px;
}
@media all and (min-width: 741px) {
  .columnList.flex .item:nth-child(1),
  .columnList.flex .item:nth-child(2),
  .columnList.flex .item:nth-child(3) {
    margin-top: 0;
  }
}
.columnList .item .image {
  display: block;
  height: 15.2vw;
  background-image: url(../img/cmn_noimage.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 10px;
  max-height: 292px;
}
.columnList .item .image:hover {
  opacity: 0.8;
}
.columnList .item .date {
  margin-bottom: 5px;
}
.columnList .item .date .cate {
  font-size: 90%;
}
.columnList .item .ttl {
  font-size: 1.28rem;
  line-height: 1.7;
  margin-bottom: 15px;
}
.columnList .item .ttl a {
  font-weight: 500;
}
.columnList .item .ttl a:hover {
  text-decoration: underline;
}
.columnList .item .tag a {
  color: #999;
}
@media all and (min-width: 741px) {
  .sideColumn .columnList .item {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    padding: 0 7px 30px;
    border-bottom: 1px solid #ddd;
    margin-bottom: 20px;
  }
  .sideColumn .columnList .item .image {
    width: 110px;
    height: 72px;
  }
  .sideColumn .columnList .item .info {
    width: calc(100% - 120px);
    padding-left: 10px;
  }
  .sideColumn .columnList .item .tag {
    display: none;
  }
  .sideColumn .columnList .item .date {
    line-height: 1;
    color: #999;
    margin-bottom: 8px;
  }
  .sideColumn .columnList .item .ttl {
    font-size: 0.93rem;
    margin-bottom: 0;
  }
  .sideColumn .columnList .item .ttl a {
    color: #999;
  }
}

.relatedPosts {
  padding: 100px 0 100px;
  background: #f5f5f5;
}

.relatedPosts .htxA {
  opacity: 0.4;
}

/* // TabSwiper
----------------------------------------------- */

#TabSwiper {
  overflow: hidden;
  border-bottom: 1px solid #ccc;
  border-top: 1px dotted #ccc;
  position: relative;
  margin-bottom: 30px;
}

#TabSwiper .bar {
  content: "　";
  position: absolute;
  display: block;
  width: 210px;
  height: 1px;
  left: 0;
  bottom: 0px;
  background-color: #000;
  z-index: 1;
  transition: 0.5s;
}

#TabSwiper .swiper-slide {
  width: 210px;
  padding-top: 10px;
  padding-bottom: 10px;
}

#TabSwiper .swiper-slide a {
  line-height: 1;
  padding: 10px 0;
  display: block;
  border-left: 1px dotted #ccc;
  text-align: center;
  width: 100%;
  position: relative;
}
#TabSwiper .swiper-slide.current a {
  color: #000;
  font-weight: 500;
}
#TabSwiper .swiper-slide:hover a {
  color: #000;
}
#TabSwiper .swiper-slide:first-child a {
  border-left: 0px;
}
#TabSwiper .swiper-slide a span.ffEn1 {
  text-transform: uppercase;
}
#TabSwiper .swiper-button-next,
#TabSwiper .swiper-button-prev {
  font-size: 12px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: "IconfontA";
  text-align: center;
  margin-top: 0;
  height: auto;
  padding: 10px 0;
  background: #e3e3e3;
  border-radius: 5px;
  transition: 0.3s;
}
#TabSwiper .swiper-button-next:hover,
#TabSwiper .swiper-button-prev:hover {
  background: #dddedd;
}
#TabSwiper .swiper-button-prev {
  left: 0;
}
#TabSwiper .swiper-button-next {
  right: 0;
}
.swiper-button-next:before,
.swiper-container-rtl .swiper-button-prev:before {
  content: "\e90e";
}
.swiper-button-prev:before,
.swiper-container-rtl .swiper-button-next:before {
  content: "\e90d";
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  pointer-events: auto !important;
}

/* // DesignerIntro //
----------------------------------------------- */

#DesignerIntro {
  background: #f5f5f5;
  padding: 70px 0 80px;
  position: relative;
}
#DesignerIntro p {
  font-size: 1.07rem;
  text-align: center;
}
#DesignerList .anchorList {
  padding: 50px 0 40px;
}

#DesignerList .dItem {
  border-top: 1px solid #ddd;
  margin-top: 15px;
  padding-top: 60px;
  color: #555;
}
#DesignerList .dItem.equal {
  margin-top: 30px;
  padding-top: 30px;
}

#DesignerList .dItem .dInner {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
#DesignerList .dItem img {
  width: 250px;
  height: auto;
}
#DesignerList.sph .dItem img {
  width: 208px;
}

#DesignerList .dItem .info {
  width: 765px;
}
#DesignerList.sph .dItem .info {
  width: 807px;
}

#DesignerList .dItem .info .infoName .ja {
  font-size: 2rem;
  display: inline-block;
  margin-right: 1em;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
#DesignerList .dItem .info .infoName .en {
  font-size: 1.28rem;
}
#DesignerList .dItem .info .infoPost {
  margin-top: 3px;
  font-size: 0.93rem;
}
#DesignerList .dItem .info .infoHis {
  font-size: 0.86rem;
  margin-top: 30px;
}
#DesignerList .dItem .info .infoUrl {
  font-size: 0.86rem;
  margin-top: 30px;
}

#DesignerList .dItem .works {
  padding-top: 40px;
}
#DesignerList .dItem .worksTtl {
  border-left: 1px solid #555;
  padding-left: 15px;
  line-height: 1;
  margin-bottom: 15px;
  font-size: 1.14rem;
  color: #555;
}

#DesignerList .dItem ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: stretch;
  align-items: stretch;
}
#DesignerList .dItem li {
  width: 11.5%;
  margin-right: 1%;
}
#DesignerList .dItem li a {
  height: 125px;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}
#DesignerList .dItem li a:after {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0.1;
  background-color: #000;
  z-index: 1;
  transition: 0.3s;
}
@media all and (min-width: 741px) {
  #DesignerList .dItem li a:hover:after {
    opacity: 0;
  }
}
#DesignerList .htxB {
  padding-top: 40px;
  margin-top: 40px;
}
#DesignerList .txt + .htxB,
#DesignerList .dItem + .htxB {
  margin-top: 100px;
}

/* // Contact
----------------------------------------------- */
.contactItemWrap {
  max-width: 1600px;
  margin: 0 auto;
}
.contactItemWrap .item {
  width: 30%;
  margin-bottom: 2vw;
}
.contactItemWrap .item .inner {
  padding: 3vw 3vw 9.5vw;
  border: 1px solid #ddd;
  display: block;
  height: 100%;
  position: relative;
}
.contactItemWrap .item .ttl {
  font-size: 1.71rem;
  line-height: 1.72;
  margin-bottom: 30px;
}
.contactItemWrap .item.tel .ttl {
  margin-bottom: 35px;
  text-align: center;
}
.contactItemWrap .item a.contactBtn {
  display: block;
  position: absolute;
  left: 3vw;
  bottom: 3vw;
  right: 3vw;
  background: #000;
  font-size: 1.14rem;
  padding: 10px 0;
  color: #fff;
  text-align: center;
}
.contactItemWrap .item a.contactBtn:hover {
  opacity: 0.8;
}

/* // Recruit
----------------------------------------------- */

.recruitList dl:first-of-type {
  border-top: 1px solid #ddd;
}
.recruitList dl:last-of-type {
  margin-bottom: 40px;
}
.recruitList dl {
  border-bottom: 1px solid #ddd;
  padding: 5px 0;
}
.recruitList dt {
  cursor: pointer;
  padding: 1.8em 30px;
  font-size: 1.71rem;
  position: relative;
}
.recruitList dt:hover {
  background: #f5f5f5;
}
.recruitList dt .detail {
  font-size: 1rem;
  position: absolute;
  right: 30px;
  top: 50%;
  line-height: 1;
  margin-top: -0.5em;
  opacity: 0.5;
}
.recruitList dt .detail:before {
  content: "detail ";
}
.recruitList dt .detail:after {
  content: "\e90c";
  font-family: IconfontA;
  font-size: 70%;
}
.recruitList dl.open dt .detail:before {
  content: "close ";
}
.recruitList dl.open dt .detail:after {
  content: "\e90b";
}
.recruitList dd {
  max-height: 0;
  transition: 0.5s;
  overflow: hidden;
  padding-left: 100px;
}
.recruitList dl.open dd {
  max-height: 1500px;
  transition: 0.5s;
}
.recruitList dd table {
  margin-top: 20px;
  margin-bottom: 80px;
}
.recruitList dd th,
.recruitList dd td {
  padding: 8px 0;
  font-weight: 300;
}
.recruitList .guideline {
  padding: 20px;
  background: #f5f5f5;
  border: 1px solid #eee;
}

/* // Shoplist
----------------------------------------------- */

#ShopList {
}

#ShopList .anchorList {
  padding: 50px 0 80px;
}
#ShopList .shopItem + .shopItem {
  margin-top: 30px;
  padding-top: 70px;
  border-top: 1px solid #b2b2b2;
}
#ShopList .shopItem .shopInner {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row-reverse wrap;
  flex-flow: row-reverse wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: stretch;
  align-items: stretch;
  padding-bottom: 60px;
}

#ShopList .product-thumb {
  position: relative;
}

#ShopList .product-thumb .award-icon {
  position: absolute;
  top: 160px;
  right: 10px;
  width: 100px;
  height: auto;
  z-index: 2;
}

#ShopList .shopItem .info {
  width: calc(100% - 420px);
}
#ShopList .shopItem .info .label {
}
#ShopList .shopItem .info .label span {
  background: #000;
  display: inline-block;
  color: #fff;
  font-size: 1.14rem;
  line-height: 1;
  padding: 5px 15px;
}
#ShopList .shopItem .info .shopName {
  font-weight: 600;
  margin-top: 10px;
}
#ShopList .shopItem .info .shopName .en {
  font-size: 2.43rem;
  font-weight: 300;
  margin-right: 0.5em;
  line-height: 1;
  letter-spacing: 0.07em;
}
#ShopList .shopItem .info table {
  margin-top: 35px;
  width: 100%;
}
#ShopList .shopItem .info td {
  padding-bottom: 7px;
  line-height: 1.5;
}
#ShopList .shopItem iframe {
  width: 100%;
  height: 420px;
}
#ShopList .other {
  margin-top: 90px;
  border-bottom: 1px solid #000;
  padding-bottom: 30px;
}
#ShopList .otherTtl {
  font-size: 1.71rem;
  border-bottom: 1px solid #000;
  margin-bottom: 30px;
}
#ShopList .otherItem {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding: 30px 0 0;
}
#ShopList .otherItem h3 {
  border-left: 6px solid #000;
  font-size: 1.28rem;
  line-height: 1.2;
  font-weight: 600;
  padding-left: 0.9em;
}
#ShopList .otherItem:not(:last-of-type) .wrap {
  border-bottom: 1px solid #b2b2b2;
}
#ShopList .otherItem .wrap {
  width: 76%;
  padding: 0 40px 40px;
}

/* // Company
----------------------------------------------- */

.companyprof {
  /* width: 75%; */
  margin: 0 auto;
}
.companyprof th,
.companyprof td,
__ {
  position: relative;
  padding: 1.8em 0;
}

.companyprof th {
  font-weight: 500;
}

.companyprof th:before {
  content: "　";
  position: absolute;
  display: block;
  width: 86%;
  height: 1px;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.companyprof td:before {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.secItemWrap .bg {
  background: #f5f5f5;
}
.secItemWrap .secItem {
  padding: 80px 0;
}
.secItemWrap .secItem .flex .item {
  margin-top: 80px;
}
.secItemWrap .section + .section {
  margin-top: 60px;
}

.secItemWrap .section .htx {
  font-size: 1.71rem;
  line-height: 1.7;
  margin-bottom: 15px;
}
.secItemWrap .section .body .tit1 {
  font-size: 1.4rem;
}
.secItemWrap .section .inner .img {
  float: left;
  margin-right: 60px;
}
.secItemWrap .section .inner .ttl {
  font-size: 1.93rem;
  margin-bottom: 0.3em;
}

.secItemWrap .scItemWrap {
  margin-left: 30px;
}
.secItemWrap .scItem {
  padding-left: 30px;
  padding-bottom: 32px;
  position: relative;
}
.secItemWrap .scItem:last-child {
  padding-bottom: 0;
}
.secItemWrap .scItem:before {
  content: "　";
  position: absolute;
  display: block;
  width: 12px;
  height: 12px;
  left: 0;
  top: 3px;
  background-color: #000;
  z-index: 3;
  transition: 0.5s;
  border-radius: 50%;
  box-sizing: border-box;
}
.secItemWrap .scItem:not(:last-child):after {
  content: "　";
  position: absolute;
  display: block;
  width: 1px;
  height: 100%;
  left: 5px;
  top: 3px;
  background-color: #ccc;
  z-index: 1;
  transition: 0.5s;
  visibility: visible;
}
.secItemWrap .scItem dt {
  line-height: 21px;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 1.14rem;
}
.secItemWrap .scItem dd {
  padding-left: 2em;
  font-weight: 400;
}

/* // CatalogList
----------------------------------------------- */

#CatalogList .item {
  width: calc((100% - 60px) / 4);
  margin-right: 20px;
  margin-bottom: 25px;
}
#CatalogList .item:nth-child(4n) {
  margin-right: 0;
}
#CatalogList .item .img {
  display: block;
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 15px;
}
#CatalogList .item .img:after {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0;
  background-color: #000;
  z-index: 100;
  transition: 0.5s;
}
#CatalogList .item:hover .img:after {
  opacity: 0.2;
}
#CatalogList .item .img:before {
  content: "　";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 81%;
}
#CatalogList .item .img i {
  position: absolute;
  top: 10px;
  right: 5px;
  opacity: 0.3;
  font-size: 1.7rem;
  line-height: 1;
}
#CatalogList .item .inner {
  position: relative;
}
#CatalogList .item .inner p {
  text-align: center;
  line-height: 1.5;
}
#CatalogList .item .inner .en {
  letter-spacing: 0.05em;
  margin-bottom: 0;
}

/* // Lease
----------------------------------------------- */
/*
#Lease .img{
	float: left;
}
#Lease .inner{
	width: calc( 100% - 392px );
	float: left;
	margin-left: 40px;
} */

/* // 404
----------------------------------------------- */

.pageError {
  padding: 150px 0 300px;
}
.pageError p {
  text-align: center;
}

.pageError .logo {
  margin-bottom: 3vw;
}
.pageError .ttl {
  margin-bottom: 1.5vw;
  font-size: 2.4rem;
  line-height: 1;
}
.pageError .txt {
  margin-bottom: 4vw;
}

.tw {
  -webkit-transition:
    opacity 1.5s cubic-bezier(0.4, 0, 0.25, 1.01),
    transform 1.3s cubic-bezier(0.4, 0, 0.25, 1.01),
    -webkit-transform 1.3s cubic-bezier(0.4, 0, 0.25, 1.01) !important;
  -ms-transition:
    opacity 1.5s cubic-bezier(0.4, 0, 0.25, 1.01),
    transform 1.3s cubic-bezier(0.4, 0, 0.25, 1.01),
    -webkit-transform 1.3s cubic-bezier(0.4, 0, 0.25, 1.01) !important;
  transition:
    opacity 1.5s cubic-bezier(0.4, 0, 0.25, 1.01),
    transform 1.3s cubic-bezier(0.4, 0, 0.25, 1.01),
    -webkit-transform 1.3s cubic-bezier(0.4, 0, 0.25, 1.01) !important;
}
.tw:not(.twEnd) {
  -webkit-transform: translateY(70px);
  -ms-transform: translateY(70px);
  transform: translateY(70px);
  opacity: 0;
}

.aligncenter {
  display: block;
  margin: 0 auto 20px;
  text-align: center;
}

.alignleft {
  float: left;
  margin-right: 15px;
}

.alignright {
  float: right;
  margin-left: 15px;
}

.wp-caption {
  border: initial;
  text-align: center;
  background-color: initial;
  padding-top: 4px;
  -moz-border-radius: 3px;
  -khtml-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  /* margin-top: 10px; */
  /* margin-right: 10px; */
  margin-bottom: 10px;
  /* margin-left: 0px; */
  width: initial;
  height: initial;
}

.wp-caption img {
  margin: 0;
  padding: 0;
  border: 0 none;
  width: initial;
  height: initial;
}

.wp-caption-dd {
  font-size: 11px;
  line-height: 17px;
  padding: 0 4px 5px;
  margin: 0;
}

.wp-caption-text {
  margin: 0px !important;
  padding: 5px !important;
  font-size: 80%;
  text-align: center;
  line-height: 1.3em;
}

#Footer .footLink li.curtain,
#Footer .footLink li.rug,
#Footer .footLink li.wallpaper,
#Footer .footLink li.goods,
#TopProductList .item.curtain,
#TopProductList .item.rug,
#TopProductList .item.wallpaper,
#TopProductList .item.goods,
#CategoryList .item.curtain,
#CategoryList .item.rug,
#CategoryList .item.wallpaper,
#CategoryList .item.goods,
#sp-dropmenu .wrap > ul > li li.curtain,
#sp-dropmenu .wrap > ul > li li.rug,
#sp-dropmenu .wrap > ul > li li.wallpaper,
#sp-dropmenu .wrap > ul > li li.goods,
__ {
  display: none !important;
}

/* // ShopRecommendation パリ店　20191031
----------------------------------------------- */
#ShopRecommendation {
  height: 800px;
  overflow: auto;
  border: 1px solid #e5e5e5;
  padding: 40px;
  background-image: url(/_pack/img/shop_catetop_paris_back_cloud.png);
  background-size: 100%;
}

#ShopRecommendation ul li {
  background-color: #e4e4e4;
  color: #6e6e6e;
  padding: 30px 40px;
  border-radius: 10px;
  width: 60%;
  margin-bottom: 50px;
}
#ShopRecommendation ul li.leftside {
  margin-left: auto;
}

/* // ShopimageParis パリ店　20191031
----------------------------------------------- */
#ShopimageParis .imagearea {
  display: flex;
  flex-wrap: wrap;
}
#ShopimageParis .imagearea li {
  width: 32%;
  display: inline-block; /* ここがポイント */
  margin-right: 2%;
  margin-bottom: 2%;
}
#ShopimageParis .imagearea li:nth-child(3n) {
  margin-right: 0;
}
#ShopimageParis .imagearea li img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

/* // BlogParis パリ店　20191031
----------------------------------------------- */
#BlogParis {
  position: relative;
}
#BlogParis .msg {
  position: absolute;
  bottom: 6%;
  color: #fff;
  text-align: center;
  font-size: 3.4rem;
  right: 0;
  left: 0;
  margin: auto;
  line-height: 1.2;
}
#BlogParis .msg span {
  font-size: 1.6rem;
}

/* // Askus　20200401
----------------------------------------------- */
#AskusSpcIntro {
  background: #f5f5f5;
  padding: 70px 0 80px;
  position: relative;
}
#AskusSpcIntro p {
  font-size: 1.07rem;
  text-align: center;
}
#AskusSpcList .anchorList {
  padding: 50px 0 40px;
  -webkit-justify-content: center;
  justify-content: center;
}

#AskusSpcList .dItem {
  border-top: 1px solid #ddd;
  margin-top: 15px;
  padding-top: 60px;
  color: #555;
}
#AskusSpcList .dItem.equal {
  margin-top: 30px;
  padding-top: 30px;
}

#AskusSpcList .dItem .dInner {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
#AskusSpcList .dItem img {
  width: 250px;
  height: auto;
}
#AskusSpcList.sph .dItem img {
  width: 208px;
}

#AskusSpcList .dItem .info {
  width: 765px;
}
#AskusSpcList.sph .dItem .info {
  width: 807px;
}

#AskusSpcList .dItem .info .infoName .ja {
  font-size: 2rem;
  display: inline-block;
  margin-right: 1em;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
#AskusSpcList .dItem .info .infoName .en {
  font-size: 1.28rem;
}
#AskusSpcList .dItem .info .infoPost {
  margin-top: 3px;
  font-size: 0.93rem;
}
#AskusSpcList .dItem .info .infoHis {
  font-size: 0.86rem;
  margin-top: 30px;
}
#AskusSpcList .dItem .info .infoUrl {
  font-size: 0.86rem;
  margin-top: 30px;
}

#AskusSpcList .dItem .works {
  padding-top: 40px;
}
#AskusSpcList .dItem .worksTtl {
  border-left: 1px solid #555;
  padding-left: 15px;
  line-height: 1;
  margin-bottom: 15px;
  font-size: 1.14rem;
  color: #555;
}

#AskusSpcList .dItem ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: stretch;
  align-items: stretch;
}
#AskusSpcList .dItem li {
  width: 11.5%;
  margin-right: 1%;
}
#AskusSpcList .dItem li a {
  height: 125px;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}
#AskusSpcList .dItem li a:after {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0.1;
  background-color: #000;
  z-index: 1;
  transition: 0.3s;
}
@media all and (min-width: 741px) {
  #AskusSpcList .dItem li a:hover:after {
    opacity: 0;
  }
}
#AskusSpcList .htxB {
  padding-top: 40px;
  margin-top: 40px;
}
#AskusSpcList .txt + .htxB,
#AskusSpcList .dItem + .htxB {
  margin-top: 100px;
}

/* Works */
#AskusSpcList .AskusWorksList {
  background-color: #f5f5f5;
  margin: 3vw 0 60px;
  padding-top: 3.5vw;
}
#AskusSpcList .AskusWorksList .ttl {
  padding-left: 35px;
  margin-bottom: 20px;
}
#AskusSpcList .AskusWorksList .flex {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}
#AskusSpcList .AskusWorksList .item {
  width: 43%;
  margin-bottom: 3.5vw;
}
#AskusSpcList .AskusWorksList p {
  /* text-align: center; */
}
#AskusSpcList .AskusWorksList .img {
  margin-bottom: 40px;
}
#AskusSpcList .AskusWorksList .img {
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
#AskusSpcList .AskusWorksList .img:before {
  content: "　";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: calc(100% * (9 / 16));
}
#AskusSpcList .AskusWorksList .name {
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 12px;
  letter-spacing: 0.08em;
}
#AskusSpcList .AskusWorksList .name span {
  display: block;
  /* text-align: center; */
  font-size: 50%;
  margin-bottom: 6px;
}
#AskusSpcList .AskusWorksList .nameJP {
  line-height: 1;
  margin-bottom: 40px;
}
#AskusSpcList .AskusWorksList .summery {
  font-size: 0.93rem;
  line-height: 1.84;
}
#AskusSpcList .AskusWorksList .summery br {
  display: none;
}

/*タグ色設定 PC/SP共通*/

/*壁面収納*/
#AskusSpcList .afixsystems {
  border-bottom: 2px solid #f8c6ad;
}
/*特注家具*/
#AskusSpcList .customfurniture {
  border-bottom: 2px solid #f9dfac;
}
/*キッチン*/
#AskusSpcList .kitchen {
  border-bottom: 2px solid #dbfaac;
}
/*バルコニー*/
#AskusSpcList .balcony {
  border-bottom: 2px solid #abc0f9;
}
/*インテリアコーディネート*/
#AskusSpcList .interiorcoordinate {
  border-bottom: 2px solid #faacac;
}
/*リノベーション*/
#AskusSpcList .renovation {
  border-bottom: 2px solid #f9acce;
}
/*一枚板*/
#AskusSpcList .singleplate {
  border-bottom: 2px solid #abe2f7;
}
/*テーブル*/
#AskusSpcList .tables {
  border-bottom: 2px solid #c2fabd;
}
/*チェア*/
#AskusSpcList .chairs {
  border-bottom: 2px solid #c5f8fb;
}
/*ソファ*/
#AskusSpcList .sofas {
  border-bottom: 2px solid #edc2fa;
}

#AskusSpcList .infoUrl a:hover,
#AskusSpcList a.mail:hover {
  text-decoration: underline;
}

#AskusSpcList .br-pc {
  display: none;
}

@media all and (min-width: 741px) {
  #AskusSpcList .AskusWorksList .img:after {
    content: "　";
    position: absolute;
    display: block;
    /* width: calc( 100% - 100px );
    height: calc( 100% - 100px );
    left: 50px;
    top: 50px; */
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #000;
    z-index: 1;
    transition: 0.3s;
    opacity: 0;
  }
}

/* // インテリア訪問提案サービス（Visit）　20200428 - 改修220725
----------------------------------------------- */
#Visit h1 {
}
#VisitIntro h2 {
  text-align: center;
  font-size: 100%;
  font-weight: bold;
}
#VisitIntro .body p {
  text-align: center;
}
#Visit .anchorList {
  padding: 50px 0 40px;
  -webkit-justify-content: center;
  justify-content: center;
}
#Visit .infoName .br-pc {
  display: none;
}
#Visit .infoName {
  font-size: 27px;
  margin-bottom: 30px;
}
#Visit .infoName span.ffEn1 {
  font-size: 20px;
  padding-left: 15px;
}
#Visit .infoHis {
  margin-bottom: 60px;
}
#Visit .item_block {
  border-bottom: 1px solid #ddd;
  padding-bottom: 20px;
}
#Visit #contact {
  padding-bottom: 0;
}
#Visit .contact_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#Visit #contact .contact_inner .tel_area {
  width: 30%;
}
#Visit #contact .contact_inner .tel_area img {
  width: 100%;
}
#Visit #contact .contact_inner .mail_area {
  width: 30%;
}
#Visit #contact .contact_inner .form_area {
  width: 40%;
}

/* // OUTLET AREA　20200508
----------------------------------------------- */
#Outlet .desc p:nth-child(-n + 2) {
  margin-bottom: 30px;
}
#Outlet .desc p.txt3,
#Outlet .desc p.txt3 a {
  font-size: 110%;
  font-weight: bold;
}
#Outlet .desc p .br_pc {
  display: none;
}

/* // For Chinese Customer（chinadesk）　20220413
----------------------------------------------- */
.f-en {
  font-family: "EBGaramond", sans-serif;
  font-weight: 100;
}
.Chinese h1 {
  line-height: 2 !important;
}
.Chinese h1 span {
  font-size: 24px;
}
#Chinadesk .service2 {
  margin-top: -50px;
}
#Chinadesk .secItem {
  position: relative;
  z-index: 10;
}
#Chinadesk .secItem.service {
  padding: 80px 0 140px;
}
#Chinadesk .secItem .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#Chinadesk .secItem .wrap.flex-start {
  align-items: flex-start !important;
}
#Chinadesk .secItem .wrap.reverse {
  flex-direction: row-reverse;
}
#Chinadesk .secItem .wrap .img {
  width: 45%;
}
#Chinadesk .secItem .wrap .detail {
  width: 50%;
}
#Chinadesk .secItem .wrap .detail h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 40px;
}
#Chinadesk .secItem .item .txt h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}
#Chinadesk .products {
  padding: 80px 0 150px;
}
#Chinadesk .service2 {
  margin-top: -130px;
}

/***  メンバー　 ***/
#Chinadesk .secItem.member .wrap {
  align-items: flex-start;
}
#Chinadesk .secItem.member .wrap:not(:last-child) {
  margin-bottom: 50px;
}
#Chinadesk .secItem.member .wrap .img {
  width: 30%;
}
#Chinadesk .secItem.member .wrap .detail {
  width: 65%;
}

#Chinadesk .bg_gray {
  position: relative;
}
#Chinadesk .bg_gray:before {
  height: 100%;
  background-color: #f5f5f5;
  left: 0;
  content: "";
  display: block;
  width: calc(100% - 74vw);
  position: absolute;
  transition: none;
  z-index: 1;
}

/***  日本語 ***/
#Chinadesk .japanese {
  display: block;
  margin-top: 15px;
}
#Chinadesk .secItem.contact {
  margin-bottom: 50px;
}
#Chinadesk .secItem.contact .list_wrap {
  text-align: center;
}
#Chinadesk .secItem.contact .list_wrap .inner {
  text-align: left;
  display: inline-block;
  width: 100%;
  max-width: 630px;
}
#Chinadesk .secItem.contact .list_wrap .inner dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
#Chinadesk .secItem.contact .list_wrap .inner dl dt {
  width: 20%;
}
#Chinadesk .secItem.contact .list_wrap .inner dl dd {
  width: 70%;
}

@media all and (max-width: 740px) {
  .Chinese .inner {
    width: 90%;
  }
  .Chinese h1 span {
    font-size: 16px;
  }
  #Chinadesk .secItem.service {
    padding: 50px 0;
  }
  #Chinadesk .service2 {
    margin-top: -50px;
  }
  #Chinadesk .secItem .wrap {
    display: inherit;
  }
  #Chinadesk .secItem .wrap .img {
    width: 100%;
    margin: 0 auto 30px;
  }
  #Chinadesk .secItem .wrap .detail {
    width: 100%;
  }
  #Chinadesk .secItem .wrap .detail h3 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 20px;
  }
  #Chinadesk .secItem .item .txt h3 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
  }
  #Chinadesk .products {
    padding: 50px 0 50px;
  }
  #Chinadesk .service2 {
    margin-top: -50px;
  }

  /***  メンバー　 ***/
  #Chinadesk .secItem.member .wrap:not(:last-child) {
    margin-bottom: 50px;
  }
  #Chinadesk .secItem.member .wrap .img {
    width: 55%;
    margin: 0 auto 20px;
  }
  #Chinadesk .secItem.member .wrap .detail {
    width: 100%;
  }

  #Chinadesk .bg_gray:before {
    width: calc(100% - 60vw);
  }
}

/* // Reservation　PC 202310
----------------------------------------------- */
#ReservationSpcList {
  padding-top: 70px;
}

#ReservationSpcList .btn {
  text-align: center;
  margin: 70px 0;
}
#ReservationSpcList a.btnC {
  line-height: 1;
  padding: 1em 3em 1em 3em;
  color: #fff;
  background: #c20316;
  display: inline-block;
  position: relative;
  font-size: 1.3rem;
  font-weight: 400;
}

#ReservationSpcList .anchorList {
  padding: 50px 0 40px;
  -webkit-justify-content: center;
  justify-content: center;
}
#ReservationSpcList .dItem:first-child {
  margin-top: 60px;
}
#ReservationSpcList .dItem:not(:first-child) {
  border-top: 1px solid #ddd;
  margin-top: 15px;
  padding-top: 60px;
  color: #555;
}
#ReservationSpcList .dItem.equal {
  margin-top: 30px;
  padding-top: 30px;
}

#ReservationSpcList .dItem .dInner {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
#ReservationSpcList .dItem img {
  width: 260px;
  height: auto;
}
#ReservationSpcList.sph .dItem img {
  width: 208px;
}

#ReservationSpcList .dItem .info {
  width: 765px;
}
#ReservationSpcList.sph .dItem .info {
  width: 807px;
}

#ReservationSpcList .dItem .info .infoName .ja {
  font-size: 2rem;
  display: inline-block;
  margin-right: 1em;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
#ReservationSpcList .dItem .info .infoName .en {
  font-size: 1.28rem;
}
#ReservationSpcList .dItem .info .infoPost {
  margin-top: 10px;
  font-size: 0.93rem;
}
#ReservationSpcList .dItem .info .infoPost .ffEn1 {
  font-size: 1.4rem;
}
#ReservationSpcList .dItem .info .infoHis {
  margin-top: 20px;
  font-size: 0.93rem;
}
#ReservationSpcList .dItem .works {
  padding-top: 40px;
}
#ReservationSpcList .dItem .worksTtl {
  border-left: 1px solid #555;
  padding-left: 15px;
  line-height: 1;
  margin-bottom: 15px;
  font-size: 1.14rem;
  color: #555;
}

#ReservationSpcList .dItem ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: stretch;
  align-items: stretch;
}
#ReservationSpcList .dItem li {
  width: 11.5%;
  margin-right: 1%;
}
#ReservationSpcList .dItem li a {
  height: 125px;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}
#ReservationSpcList .dItem li a:after {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0.1;
  background-color: #000;
  z-index: 1;
  transition: 0.3s;
}
@media all and (min-width: 741px) {
  #ReservationSpcList .dItem li a:hover:after {
    opacity: 0;
  }
}
#ReservationSpcList .htxB {
  padding-top: 40px;
  margin-top: 40px;
}
#ReservationSpcList .txt + .htxB,
#ReservationSpcList .dItem + .htxB {
  margin-top: 100px;
}

/* Works */
#ReservationSpcList .WorksList {
  margin: 3vw 0 60px;
}
#ReservationSpcList .WorksList .ttl {
  margin-bottom: 5px;
  font-size: 1.4rem;
}
#ReservationSpcList .WorksList .flex {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#ReservationSpcList .WorksList .item {
  width: 48%;
}
#ReservationSpcList .WorksList p {
  /* text-align: center; */
}
#ReservationSpcList .WorksList .img {
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
#ReservationSpcList .WorksList .img:before {
  content: "　";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: calc(100% * (9 / 16));
}
#ReservationSpcList .WorksList .name {
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 12px;
  letter-spacing: 0.08em;
}
#ReservationSpcList .WorksList .name span {
  display: block;
  /* text-align: center; */
  font-size: 50%;
  margin-bottom: 6px;
}
#ReservationSpcList .WorksList .nameJP {
  line-height: 1;
  margin-bottom: 40px;
}
#ReservationSpcList .WorksList .summery {
  font-size: 0.93rem;
  line-height: 1.84;
}
#ReservationSpcList .WorksList .summery br {
  display: none;
}

#ReservationSpcList .infoUrl a:hover,
#ReservationSpcList a.mail:hover {
  text-decoration: underline;
}

#ReservationSpcList .br-pc {
  display: none;
}

@media all and (min-width: 741px) {
  #ReservationSpcList .WorksList .img:after {
    content: "　";
    position: absolute;
    display: block;
    /* width: calc( 100% - 100px );
    height: calc( 100% - 100px );
    left: 50px;
    top: 50px; */
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #000;
    z-index: 1;
    transition: 0.3s;
    opacity: 0;
  }
}

/* // Top フッターフォーム
----------------------------------------------- */
.newsletter_wrap {
  margin-bottom: 50px;
  position: relative;
}
.newsletter_wrap .head {
  font-size: 3.5rem;
  color: #fff;
  line-height: 100%;
}
.newsletter_wrap .text {
  color: #fff;
  margin: 20px 0 0;
}
.newsletter_wrap input[type="email"] {
  padding: 15px 20px;
  background-color: #fdfdfd;
}
.newsletter_wrap input {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.newsletter_wrap .submit_btn {
  text-align: right;
  position: relative;
  margin-top: 30px;
}
.newsletter_wrap .submit_btn input {
  line-height: 1;
  padding: 0.5em 5em 0.5em 1.2em;
  color: #000;
  background: #fff;
  display: inline-block;
  position: relative;
  font-size: 1.14rem;
  font-weight: 400;
}
.newsletter_wrap .submit_btn input.l {
  padding: 0.9em 8em 0.9em 3.2em;
}
.newsletter_wrap .submit_btn:after {
  content: "　";
  position: absolute;
  display: block;
  width: 30px;
  height: 1px;
  right: 0;
  top: 50%;
  background-color: #000;
  z-index: 1;
  transition: 0.3s;
}
.newsletter_wrap .submit_btn.l:after {
  width: 50px;
}
.newsletter_wrap .submit_btn:hover {
  color: #000 !important;
  opacity: 0.8;
}
.newsletter_wrap .submit_btn:hover:after {
  width: 20px;
}
.newsletter_wrap .submit_btn input.g {
  background: #333333;
}
.newsletter_wrap .mw_wp_form .error {
  background-color: #b70000;
  color: #fff !important;
  text-align: center;
  font-weight: 700;
}

.newsletter_wrap div.wpcf7-validation-errors {
  border-color: #f00;
  color: #fff;
}
.newsletter_wrap div.wpcf7-mail-sent-ok {
  border-color: #398f14;
  color: #fff;
}

/* 完了画面 */
.newsletter_thanks {
  width: 100%;
  max-width: 1100px;
  margin: 200px auto;
}
.newsletter_thanks .head {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 50px;
}
.newsletter_thanks .text {
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 740px) {
  /* SP */
  .newsletter_wrap .head {
    font-size: 2rem;
    color: #fff;
    line-height: 100%;
  }
  .newsletter_wrap input[type="email"] {
    width: 100%;
  }
  /* 完了画面 */
  .newsletter_thanks {
    width: 100%;
    max-width: 100%;
    margin: 60px auto;
    padding: 0 15px;
  }
  .newsletter_thanks .head {
    font-size: 6vw;
    text-align: center;
    margin-bottom: 50px;
  }
  .newsletter_thanks .text {
    text-align: center;
    margin-bottom: 50px;
  }
}

/* // 初回アクセス多言語選択
----------------------------------------------- */
/* z-index調整 */
div#aibis-window {
  z-index: 2147483646;
}
/* selectLang */
.selectLang {
  z-index: 2147483647;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: none;
  opacity: 0;
  visibility: hidden;
}
.selectLang.isOpen {
  display: block;
  opacity: 1;
  visibility: visible;
}
.selectLang .selectLangInner {
  position: relative;
  height: 100%;
  display: grid;
  place-items: center;
  background-color: rgba(0, 0, 0, 0.7);
}
.selectLang .closeBtn {
  position: absolute;
  top: 20px;
  right: 20px;
}
.selectLang .closeBtn > svg {
  aspect-ratio: 1;
  width: 40px;
}
.selectLang .block1 {
  background-color: #fff;
  border-radius: 10px;
  width: min(80%, 330px);
  padding: 50px 40px 40px;
}
.selectLang .head {
  text-align: center;
  line-height: 1;
  letter-spacing: 0.03em;
  font-weight: 500;
  font-size: 30px;
}
.selectLang .list {
  display: grid;
  gap: 16px;
  text-align: center;
  margin-top: 40px;
}
.selectLang .item {
  text-align: center;
}
.selectLang .link {
  position: relative;
  display: inline-block;
  color: #333;
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-size: 16px;
  padding-bottom: 4px;
}
.selectLang .link::after {
  content: "";
  position: absolute;
  display: block;
  width: 30px;
  height: 1px;
  left: 50%;
  bottom: -3px;
  background-color: #333;
  opacity: 0;
  z-index: 1;
  transition: 0.2s;
  transform: translateX(-50%);
}
.selectLang .link:hover {
  color: #333;
  opacity: 1;
}
.selectLang .link:hover::after {
  bottom: 1px;
  opacity: 1;
}
@media screen and (max-width: 740px) {
  /* SP */
  .selectLang .closeBtn > svg {
    width: 36px;
  }
}

/* // Designer //
----------------------------------------------- */
#Designer {
  background: #000;
}
#Designer img {
  width: 100%;
}
#Designer .inner {
  width: 100%;
  margin: 0 auto;
}
#Designer .profile {
  display: flex;
  flex-wrap: wrap;
}
#Designer .profile .img {
  width: 50%;
}
#Designer .profile .img img {
  width: 100%;
}
#Designer .profile .detail {
  width: 40%;
  color: #fff;
  margin: 5%;
  max-width: 600px;
}
#Designer .profile .detail .name {
  line-height: 100%;
}
#Designer .profile .detail .name .en {
  font-size: 30px;
}
#Designer .profile .detail .name .ja {
  font-size: 16px;
  display: inline-block;
  margin-left: 25px;
}
#Designer .profile .detail .position {
  font-size: 20px;
  margin: 18px 0 50px;
  line-height: 1.5;
}
#Designer .profile .detail .text {
  font-size: 13px;
  line-height: 2.4;
}
#Designer .product2 {
  display: flex;
  flex-wrap: wrap;
}
#Designer .product2 .img {
  width: 50%;
}
@media screen and (max-width: 740px) {
  #Designer .profile {
    display: inherit;
  }
  #Designer .profile .img {
    width: 100%;
  }
  #Designer .profile .img img {
    width: 100%;
  }
  #Designer .profile .detail {
    width: 92%;
    color: #fff;
    margin: 14% 4%;
    max-width: 600px;
  }
  #Designer .profile .detail .name {
    line-height: 100%;
  }
  #Designer .profile .detail .name .en {
    font-size: 26px;
  }
  #Designer .profile .detail .name .ja {
    font-size: 14px;
    display: inline-block;
    margin-left: 15px;
  }
  #Designer .profile .detail .position {
    font-size: 18px;
    margin: 12px 0 40px;
  }
  #Designer .profile .detail .text {
    font-size: 12px;
  }
  #Designer .product2 {
    display: inherit;
  }
  #Designer .product2 .img {
    width: 100%;
  }
}

/* // Recruit 2403〜 //
----------------------------------------------- */
#Recruit {
  font-size: 15px;
}
#Recruit img {
  width: 100%;
  height: auto;
}
#Recruit .text {
  font-size: 15px;
  line-height: 2.4;
}
#Recruit .inner {
  width: 100%;
  margin: 0 auto;
}
#Recruit .intro {
  background: #fff;
  color: #333;
  padding: 80px 0 0;
}
#Recruit .intro .ttl {
  line-height: 100%;
  font-size: 26px;
  text-align: center;
  margin-bottom: 55px;
}
#Recruit .intro .text_wrap {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  display: block;
}
#Recruit .intro .text_wrap .text {
  text-align: left;
  display: inline-block;
}
#Recruit .intro .img_wrap {
  margin-top: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#Recruit .intro .img_wrap .img {
  width: 33.333333%;
}
#Recruit .about {
  color: #333;
  padding: 80px 0;
}
#Recruit .about .ttl {
  line-height: 100%;
  font-size: 26px;
  text-align: center;
  margin-bottom: 55px;
}
#Recruit .about .text_wrap {
  text-align: center;
  display: block;
  max-width: 800px;
  margin: 0 auto;
}
#Recruit .about .text_wrap .text {
  text-align: left;
  display: inline-block;
}

#Recruit .brands {
  background: #000;
  color: #fff;
  padding: 80px 0;
}
#Recruit .brands .wrap {
  width: 100%;
  max-width: 1280px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
}
#Recruit .brands .wrap .item {
  width: 32%;
  position: relative;
}
#Recruit .brands .wrap .item .logo {
  display: flex;
  align-items: center;
}
#Recruit .brands .wrap .item:nth-child(1) .logo {
  height: 65px;
}
#Recruit .brands .wrap .item:nth-child(1) .logo img {
  height: 50%;
}
#Recruit .brands .wrap .item:nth-child(2) .logo {
  height: 65px;
}
#Recruit .brands .wrap .item:nth-child(2) .logo img {
  height: 60%;
}
#Recruit .brands .wrap .item:nth-child(3) .logo {
  height: 65px;
}
#Recruit .brands .wrap .item:nth-child(3) .logo img {
  height: 100%;
}
#Recruit .brands .wrap .item .text {
  margin-top: 40px;
  padding-bottom: 40px;
}
#Recruit .brands .wrap .item .link {
  position: absolute;
  left: 0;
  bottom: 0;
}
#Recruit .brands .wrap .item .link a {
  color: #fff;
}
#Recruit .brands .wrap .item .link a:hover {
  text-decoration: underline;
}

#Recruit .vison {
  background: url(/_pack/img/recruit_vision_bg.jpg) center center no-repeat;
  background-size: cover;
  position: relative;
  color: #fff;
  padding: 80px 0;
}
#Recruit .vison .ttl {
  line-height: 100%;
  font-size: 26px;
  text-align: center;
  margin-bottom: 55px;
}
#Recruit .vison .text_wrap {
  text-align: center;
  display: block;
  max-width: 800px;
  margin: 0 auto;
}
#Recruit .vison .text_wrap .text {
  text-align: left;
  display: inline-block;
}
/* 追加　2026.03.16　新卒採用 会社説明動画 */
/* --------------------------------------------------------------- */
#Recruit .youtube-comment {
  text-align: center;
  font-weight: bold;
  font-size: 1.3rem;
}
#Recruit .bg-bk {
  background-color: #000;
}
#Recruit .youtube {
  margin: 1rem 0 3rem;
  display: block;
  text-align: center;
  color: #fff;
  font-size: 2.3rem;
  line-height: 3em;
  transition: 0.3s;
}
#Recruit .youtube:hover {
  background: #444;
  opacity: 0.9;
}
#Recruit .youtube span {
  line-height: 1.5em;
}
#Recruit .youtube span::before {
  content: "";
  display: inline-block;
  width: 44px;
  height: 33px;
  margin-right: 20px;
  vertical-align: middle;
  background-image: url("https://www.area-japan.co.jp/_wp/wp-content/uploads/youtube-icon.webp");
  background-position: center;
  background-size: contain;
}
#Recruit .sp-on {
  display: none;
}
@media screen and (max-width: 740px) {
  #Recruit .youtube-comment {
    font-size: 1.1rem;
  }
  #Recruit .youtube {
    font-size: 1.5rem;
    padding: 0.5em;
    line-height: 1.5em;
    margin: 1rem 0 1.5rem;
  }

  #Recruit .sp-on {
    display: block;
  }
}
/* --------------------------------------------------------------- */

#Recruit .requirements {
  padding: 80px 0;
}
#Recruit .requirements .ttl {
  line-height: 100%;
  font-size: 26px;
  text-align: center;
  margin-bottom: 55px;
}
.date-recruit {
  line-height: 100%;
  font-size: 14px;
  text-align: right;
  margin-bottom: 55px;
  max-width: 1100px;
  margin: 0 auto 55px;
  padding: 0 15px;
}
#Recruit .requirements .table {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
#Recruit .requirements .table th,
#Recruit .requirements .table td {
  position: relative;
  padding: 1.8em 20px;
}

#Recruit .requirements .table th {
  font-weight: 500;
  background: #f5f5f5;
}

#Recruit .requirements .table th:before {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
#Recruit .requirements .table tr:last-child th:after {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
#Recruit .requirements .table td:before {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
}
#Recruit .requirements .table tr:last-child td:after {
  content: "　";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
}
#Recruit .requirements .table td p {
  margin-top: 15px;
}
#Recruit .requirements .table1 {
  margin-bottom: 60px;
}
#Recruit .requirements h3 {
  font-size: 24px;
  margin-bottom: 15px;
}
#Recruit .requirements .table2 {
  margin-bottom: 20px;
}
#Recruit .requirements .table2 th,
#Recruit .requirements .table2 td {
  position: relative;
  padding: 0 20px 1.8em;
}
#Recruit .requirements .table2 th {
  background: none;
}
#Recruit .requirements .table2 th:before,
#Recruit .requirements .table2 td:before {
  display: none;
}
#Recruit .requirements .table2 tr:last-child th:after {
  background-color: rgba(0, 0, 0, 0.2);
}
#Recruit .requirements .entry {
  margin: 60px 0 0;
}
#Recruit .requirements .entry .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
}
#Recruit .requirements .entry .wrap .left {
  width: 48%;
  background: #f5f5f5;
  padding: 50px 0;
}
#Recruit .requirements .entry .wrap .left .ttl {
  margin-bottom: 30px;
}
#Recruit .requirements .entry .wrap .left .logo {
  width: 47%;
  margin: 0 auto 20px;
}
#Recruit .requirements .entry .wrap .left p {
  text-align: center;
}
#Recruit .requirements .entry .wrap .left p.link1 a {
  color: #009de8;
  word-break: break-all;
}
#Recruit .requirements .entry .wrap .right {
  width: 48%;
  border: 1px solid #dddddd;
  padding: 50px 0;
}
#Recruit .requirements .entry .wrap .right .ttl {
  margin-bottom: 25px;
}
#Recruit .requirements .entry .wrap .right .contact {
  text-align: center;
  display: block;
}
#Recruit .requirements .entry .wrap .right .contact .inside {
  text-align: left;
  display: inline-block;
}
#Recruit .requirements .entry .wrap .right .contact .inside p {
  font-size: 28px;
  line-height: 100%;
}
#Recruit .requirements .entry .wrap .right .contact .inside p span {
  font-size: 14px;
}
#Recruit .requirements .entry .wrap .right .contact .inside .tel {
  margin: 10px 0 15px;
}
#Recruit .requirements .entry .wrap .right .contact .inside i {
  font-family: "FontAwesome";
  font-size: 90%;
}
#Recruit .requirements .entry .link2 a {
  color: #1f2c5c;
  font-weight: bold;
  font-size: 16px;
}
#Recruit .requirements .entry .link a:hover {
  text-decoration: underline;
}

#Recruit .voice .ttl {
  line-height: 100%;
  font-size: 30px;
  text-align: center;
  margin-bottom: 55px;
}
#Recruit .voice .block:after {
  display: none;
}
#Recruit .voice .block:not(:first-child) {
  border-top: 1px solid #dddddd;
  padding-top: 60px;
}
#Recruit .voice .block:not(:last-child) {
  padding-bottom: 60px;
}
#Recruit .voice .block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#Recruit .voice .block .img {
  width: 100%;
  max-width: 265px;
}
#Recruit .voice .block .detail {
  width: 100%;
  max-width: 765px;
}
#Recruit .voice .block .detail .name {
  font-size: 24px;
}
#Recruit .voice .block .detail .position {
  margin: 18px 0;
}

#Recruit .voice .block .detail .text {
  font-size: 12px;
}

#Recruit .map {
  max-width: 1100px;
  margin: 5rem auto 0;
}

#Recruit .intro .text_wrap {
  max-width: 900px !important;
}
#Recruit .intro .img_wrap {
  background: #000;
}
#Recruit .vison .text_wrap .text {
  color: #fff !important;
}
#Recruit .mb-5 {
  margin-bottom: 5rem !important;
  max-width: 800px !important;
}
#Recruit .job-description .widthFix {
  max-width: 800px !important;
}

/* ===== Layout ===== */
.apply-2col {
  padding: 40px 5px;
  background: #fff;
  margin-bottom: 5rem;
}

.apply-2col__grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px; /* 画像の左右間隔を広めに */
}

/* ===== Card ===== */
.apply-card {
  /* border: 3px solid #111; 枠線太め */
  background: #efefef;
  display: flex;
  flex-direction: column;
}

.apply-card__title {
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.apply-card__content {
  padding: 2rem; /* 余白多め */
  flex: 1;
  display: flex;
  flex-direction: column;
}

.apply-card__textblock p {
  font-size: 16px;
  line-height: 1.7;
}

.apply-card__text {
  font-size: 16px;
  line-height: 1.7;
}

/* ロゴ配置 */
.apply-card__logo {
  box-shadow: 2px 2px 7px -5px #1a1a1a;
  border-radius: 5px;
  background: #fff;
  margin: 1rem 0;
}

.apply-card__logo img {
  width: 100%;
  height: auto;
  display: block;
}

.apply-card__logo--center {
  margin-left: auto;
  margin-right: auto;
}

.apply-card__addressTitle {
  margin: 0 0 10px;
  font-weight: 700;
}

.apply-card__address p {
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 0.2em 0;
}
#Recruit .apply-2col__grid h3 {
  font-size: 24px;
  margin: 15px 0 !important;
}
#Recruit .voice .block .detail .text {
  font-size: 14px !important;
}

/* ===== Responsive ===== */
@media (max-width: 900px) {
  .apply-2col__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .apply-card {
    min-height: auto;
  }

  .apply-card__title {
    font-size: 30px;
    margin-top: 28px;
  }
}

@media screen and (max-width: 740px) {
  /* SP */
  #Recruit .ttl {
    line-height: 1.5 !important;
  }
  #Recruit .text {
    font-size: 14px;
  }
  #Recruit .intro {
    width: 100%;
    padding: 14% 0 0;
    max-width: 600px;
  }
  #Recruit .intro .ttl {
    line-height: 100%;
    font-size: 18px;
    padding: 0 4%;
    margin-bottom: 40px;
  }
  #Recruit .intro .text_wrap {
    max-width: 100%;
    padding: 0 4%;
  }
  #Recruit .intro .img_wrap {
    margin-top: 14%;
  }
  #Recruit .intro .img_wrap .img {
    width: 50%;
  }
  #Recruit .about {
    width: 100%;
    padding: 14% 4%;
  }
  #Recruit .about .ttl {
    line-height: 100%;
    font-size: 18px;
    margin-bottom: 40px;
  }
  #Recruit .about .text_wrap {
    max-width: 100%;
  }
  #Recruit .brands {
    padding: 14% 4%;
  }
  #Recruit .brands .wrap {
    width: 100%;
    max-width: 100%;
    display: block;
  }
  #Recruit .brands .wrap .item {
    width: 100%;
    position: relative;
  }
  #Recruit .brands .wrap .item:not(:last-child) {
    margin-bottom: 40px;
  }
  #Recruit .brands .wrap .item .logo {
    display: flex;
    align-items: center;
  }
  #Recruit .brands .wrap .item:nth-child(1) .logo {
    height: auto;
    width: 30%;
    text-align: center;
    margin: 0 auto;
  }
  #Recruit .brands .wrap .item:nth-child(1) .logo img {
    height: auto;
    width: 100%;
  }
  #Recruit .brands .wrap .item:nth-child(2) .logo {
    height: auto;
    width: 40%;
    text-align: center;
    margin: 0 auto;
  }
  #Recruit .brands .wrap .item:nth-child(2) .logo img {
    height: auto;
    width: 100%;
  }
  #Recruit .brands .wrap .item:nth-child(3) .logo {
    height: auto;
    width: 27%;
    text-align: center;
    margin: 0 auto;
  }
  #Recruit .brands .wrap .item:nth-child(3) .logo img {
    height: auto;
    width: 100%;
  }
  #Recruit .brands .wrap .item .text {
    margin-top: 20px;
    padding-bottom: 40px;
  }

  #Recruit .vison {
    width: 100%;
    padding: 14% 0;
    max-width: 600px;
  }
  #Recruit .vison .ttl {
    line-height: 100%;
    font-size: 18px;
    padding: 0 4%;
    margin-bottom: 40px;
  }
  #Recruit .vison .text_wrap {
    padding: 0 4%;
  }
  #Recruit .requirements {
    padding: 14% 0;
  }
  #Recruit .requirements .ttl {
    line-height: 100%;
    font-size: 18px;
    margin-bottom: 40px;
  }
  #Recruit .requirements .table1 {
    margin-bottom: 40px;
  }
  #Recruit .requirements h3 {
    font-size: 18px;
    margin-bottom: 15px;
  }
  #Recruit .requirements .table2 {
    margin-bottom: 20px;
  }
  #Recruit .requirements .entry {
    margin: 40px 0 0;
  }
  #Recruit .requirements .entry .wrap {
    display: block;
    margin-bottom: 20px;
  }
  #Recruit .requirements .entry .wrap .left {
    width: 100%;
    padding: 30px 15px;
    margin-bottom: 30px;
  }
  #Recruit .requirements .entry .wrap .left .ttl {
    margin-bottom: 20px;
  }
  #Recruit .requirements .entry .wrap .left .logo {
    width: 47%;
    margin: 0 auto 20px;
  }
  #Recruit .requirements .entry .wrap .left p {
    text-align: center;
  }
  #Recruit .requirements .entry .wrap .left p.link a {
    color: #009de8;
  }
  #Recruit .requirements .entry .wrap .right {
    width: 100%;
    padding: 30px 15px;
  }
  #Recruit .requirements .entry .wrap .right .contact .inside p {
    font-size: 18px;
    line-height: 100%;
  }
  #Recruit .requirements .entry .wrap .right .contact .inside p span {
    font-size: 13px;
  }
  #Recruit .requirements .entry .wrap .right .contact .inside .tel {
    margin: 0 0 12px;
  }
  #Recruit .requirements .entry .wrap .right .contact .inside i {
    font-family: "FontAwesome";
    font-size: 90%;
  }
  #Recruit .requirements .entry .link2 a {
    color: #1f2c5c;
    font-weight: bold;
    font-size: 15px;
  }
  #Recruit .requirements .entry .link a:hover {
    text-decoration: underline;
  }

  #Recruit .voice .ttl {
    line-height: 100%;
    font-size: 22px;
    padding: 0 4%;
    margin-bottom: 40px;
  }
  #Recruit .voice .block:not(:first-child) {
    padding-top: 35px;
  }
  #Recruit .voice .block:not(:last-child) {
    padding-bottom: 35px;
  }
  #Recruit .voice .block {
    display: block;
  }
  #Recruit .voice .block .img {
    width: 100%;
    max-width: 100%;
    text-align: center;
    margin-bottom: 20px;
  }
  #Recruit .voice .block .img img {
    width: 50%;
  }
  #Recruit .voice .block .detail {
    width: 100%;
    max-width: 100%;
  }
  #Recruit .voice .block .detail .name {
    font-size: 20px;
  }
  #Recruit .voice .block .detail .position {
    margin: 15px 0;
  }
}

/* // English 2405〜 //
----------------------------------------------- */
#TopEnglishMovie {
  padding-top: 56.25%;
  width: 100%;
  position: relative;
  overflow: hidden;
}
#TopEnglishMovie #TopMvVideo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
#TopEnglishMovie img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
#TopEnglishMovie .caption {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  z-index: 100;
  color: #fff;
  font-size: clamp(18px, 40 / 1920 * 100vw, 40px);
  width: 90%;
  max-width: 1100px;
}
#English .htxB.left {
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
#English .htxB.left h2 {
  text-align: left;
}
#English .htxB.left:after {
  transform: inherit;
  left: 0;
}
#English .htxB.blk h2 {
  color: #333;
}
#English .htxB.blk:after {
  background: #333;
}
#English img {
  width: 100%;
}
#English .text_wrap .text:not(:last-child) {
  margin-bottom: clamp(30px, 50 / 1100 * 100vw, 50px);
}
#English .text {
  font-family:
    "EBGaramond", "Noto Serif SC", "Noto Serif KR", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",
    "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", sans-serif;
  letter-spacing: 0.1em;
  font-size: 13px;
  line-height: 2.4;
}
#English .inner {
  width: 100%;
  margin: 0 auto;
}
#English .intro {
  background: #000;
  color: #fff;
  padding: 80px 0;
}
#English .intro .ttl {
  line-height: 100%;
  font-size: 26px;
  text-align: center;
  margin-bottom: 55px;
}
#English .intro .text_wrap {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
  display: block;
}
#English .intro .text_wrap .text {
  text-align: left;
  display: inline-block;
}
#English .value {
  background: url(/_pack/img/english_value_bg.jpg) center center no-repeat;
}
#English .brandconcept {
  background: url(/_pack/img/english_brandconcept_bg.jpg) center center
    no-repeat;
}
#English .designconcept {
  background: url(/_pack/img/english_designconcept_bg.jpg) center center
    no-repeat;
}
#English .TextImageBox {
  background-size: cover;
  position: relative;
  color: #fff;
  padding: 80px 0;
  min-height: 650px;
}
#English .TextImageBox .inner {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#English .TextImageBox .ttl {
  line-height: 100%;
  font-size: 26px;
  text-align: center;
  margin-bottom: 55px;
}
#English .TextImageBox .text_wrap {
  text-align: center;
  display: block;
  max-width: 1100px;
  margin: 0 auto;
}
#English .TextImageBox .text_wrap .text {
  text-align: left;
  display: inline-block;
}
#English .products {
  background: #000;
  color: #fff;
  padding: 80px 0;
}
#English .products .wrap1 {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 30px;
}
#English .products .wrap1 .item .name {
  font-size: clamp(18px, 27 / 1500 * 100vw, 27px);
  margin-top: clamp(15px, 30 / 1500 * 100vw, 20px);
  text-align: center;
  color: #fff;
}
#English .products .wrap2 {
  width: 100%;
  max-width: 100%;
  /*margin: clamp(40px, 70 / 1500 * 100vw, 70px) auto 0;*/
}
#English .products .wrap2 .item {
  position: relative;
}
#English .products .wrap2 .item:not(:last-child) {
  margin-bottom: 30px;
}
#English .products .wrap2 .item .name {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  font-size: clamp(18px, 27 / 1500 * 100vw, 27px);
  text-align: center;
  color: #fff;
}
#English .products2 {
  padding: 0;
}
#English .products2 .wrap2 .item:not(:last-child) {
  margin-bottom: 0;
}
#English .journal {
  padding: 80px 0;
}
#English .journal .wrap {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto clamp(35px, 50 / 1500 * 100vw, 50px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 70px 60px;
}
#English .journal .wrap .item .img {
  margin-bottom: 15px;
}
#English .journal .wrap .item .ttl {
  font-size: clamp(16px, 18 / 1500 * 100vw, 18px);
  padding: 12px 0;
}
#English .message {
  background: #000;
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
}
#English .message .img {
  width: 50%;
}
#English .message .img img {
  width: 100%;
}
#English .message .detail {
  width: 40%;
  color: #fff;
  margin: 5%;
  max-width: 600px;
}
#English .message .detail .ttl {
  font-size: clamp(18px, 26 / 1500 * 100vw, 26px);
  margin: 18px 0 50px;
  line-height: 1.5;
}
#English .message .detail .text {
  font-size: 13px;
  line-height: 2.4;
}
#English .message .detail .name {
  font-size: clamp(14px, 15 / 1500 * 100vw, 15px);
  margin-top: clamp(30px, 40 / 1500 * 100vw, 40px);
}
#English .textBlock {
  width: 100%;
  max-width: 1100px;
  margin: 80px auto 0;
}
#English .showroom {
  padding: 80px 0;
}
#English .showroom .wrap {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
#English .showroom .wrap .ttl {
  font-size: clamp(18px, 15 / 1100 * 100vw, 25px);
  margin: 15px 0;
}
#English .showroom .wrap dl {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  align-items: center;
}
#English .showroom .wrap dl dt {
  width: 10%;
}
#English .showroom .wrap dl dd {
  width: 90%;
}

@media screen and (max-width: 740px) {
  /* SP */
  #TopEnglishMovie {
    /*height:calc(100vw * 16 /16); 動画の時*/
    height: calc(100vw * 10 / 7);
  }
  #TopEnglishMovie #TopMvVideo {
    width: 140vw;
  }
  #TopEnglishMovie .caption {
    width: 90%;
    max-width: 90%;
  }
  #English .ttl {
    line-height: 1.5 !important;
  }
  #English .text {
    font-size: 12px;
  }
  #English .htxB.left {
    width: 100%;
    max-width: 100%;
    padding: 0 4%;
  }
  #English .htxB.left h2 {
    text-align: left;
  }
  #English .htxB.left:after {
    transform: inherit;
    left: 4%;
  }
  #English .intro {
    width: 100%;
    padding: 14% 0;
    max-width: 600px;
  }
  #English .intro .ttl {
    line-height: 100%;
    font-size: 18px;
    padding: 0 4%;
    margin-bottom: 40px;
  }
  #English .intro .text_wrap {
    max-width: 100%;
    padding: 0 4%;
  }
  #English .TextImageBox {
    width: 100%;
    padding: 14% 0;
    max-width: 100%;
    min-height: inherit;
  }
  #English .TextImageBox .inner {
    position: inherit;
    top: inherit;
    transform: inherit;
  }
  #English .TextImageBox .ttl {
    line-height: 100%;
    font-size: 18px;
    padding: 0 4%;
    margin-bottom: 40px;
  }
  #English .TextImageBox .text_wrap {
    padding: 0 4%;
  }
  #English .products {
    padding: 14% 0;
  }
  #English .products .wrap1 {
    width: 92%;
    max-width: 92%;
    margin: 0 4%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
  }
  #English .products .wrap1 .item .name {
    text-align: center;
  }
  #English .products .wrap2 {
    width: 100%;
    max-width: 100%;
    padding: 0 4%;
  }
  #English .products .wrap2 .item:not(:last-child) {
    margin-bottom: 20px;
  }
  #English .products2 {
    padding: 0;
  }
  #English .products2 .wrap2 {
    padding: 0;
  }
  #English .products2 .wrap2 .item:not(:last-child) {
    margin-bottom: 0;
  }
  #English .journal {
    padding: 14% 0 4%;
  }
  #English .journal .wrap {
    width: 100%;
    max-width: 100%;
    padding: 0 4%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
  }
  #English .message {
    display: inherit;
  }
  #English .message .img {
    width: 100%;
  }
  #English .message .img img {
    width: 100%;
  }
  #English .message .detail {
    width: 92%;
    color: #fff;
    max-width: 600px;
    padding: 14% 0;
    margin: 0 5%;
  }
  #English .message .detail .ttl {
    font-size: 18px;
    margin: 12px 0 40px;
  }
  #English .message .detail .text {
    font-size: 12px;
  }
  #English .textBlock {
    width: 92%;
    max-width: 92%;
    margin: 14% auto 0;
  }
  #English .showroom {
    padding: 14% 4%;
  }
  #English .showroom .wrap dl {
    display: block;
  }
  #English .showroom .wrap dl dt {
    width: 100%;
  }
  #English .showroom .wrap dl dd {
    width: 100%;
  }
  #English .showroom .wrap dl dd:not(:last-child) {
    margin-bottom: 15px;
  }
}

/* // カタログ 2405〜 //
----------------------------------------------- */
#Catalog2 .wrap {
  width: 100%;
  max-width: 1200px;
  margin: 60px auto 0;
  display: flex;
  justify-content: space-between;
}
#Catalog2 .left {
  width: 100%;
  max-width: 450px;
  margin-top: 140px;
}
#Catalog2 .right {
  width: 100%;
  max-width: 680px;
}
#Catalog2 .right figure img {
  width: 100%;
}
#Catalog2 .btn {
  border-radius: 0;
  border: 2px solid #777;
  color: #333;
  padding: 15px 120px;
  background-color: transparent;
  transition: 0.2s;
  display: block;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  margin: 0 auto 20px;
  font-size: 124% !important;
  letter-spacing: 0.1em;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  text-align: center;
}
#Catalog2 .btn:hover {
  background-color: transparent;
  border: 2px solid #000;
  color: #000;
}
@media screen and (max-width: 740px) {
  /* SP */
  #Catalog2 .wrap {
    width: 100%;
    max-width: 100%;
    margin: 30px auto 0;
    display: block;
    padding: 0 15px;
  }
  #Catalog2 .left {
    width: 100%;
    max-width: 100%;
    margin-top: 0;
    margin-bottom: 30px;
  }
  #Catalog2 .left .text {
    width: 95%;
    margin: auto;
  }
  #Catalog2 .right {
    width: 100%;
    max-width: 100%;
  }

  #Catalog2 .btn {
    width: 95%;
    padding: 15px 10px;
  }
}

/* // 毎月イベントチラシ告知 2601〜 //
----------------------------------------------- */
.area-image-2col {
  display: flex;
  gap: 2px; /* 画像間の余白 */
}

.area-image-2col a {
  flex: 0 0 50%; /* 常に2列 */
  max-width: 200px; /* 画像最大幅 */
}

.area-image-2col img {
  width: 100%;
  max-width: 200px;
  height: auto;
  display: block;
}

@media all and (min-width: 741px) {
  /* //    |- PC  */
  .elmSP {
    display: none !important;
  }
}
@media all and (max-width: 740px) {
  /* //    |- SP  */
  .elmPC {
    display: none !important;
  }
}
