@charset "UTF-8";
/* RESET */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
button,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var,
optgroup {
  font-style: inherit;
  font-weight: inherit;
}

del,
ins {
  text-decoration: none;
}

li {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before,
q:after {
  content: "";
}

abbr,
acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: baseline;
}

sub {
  vertical-align: baseline;
}

legend {
  color: #000;
}

input,
button,
textarea,
select,
optgroup,
option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
}

input,
button,
textarea,
select {
  *font-size: 100%;
}

/* RESET HTML5 */
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

/* GENERAL */
a:link,
a:visited {
  color: #000000;
  text-decoration: none;
}

a:hover {
  color: #000000;
  text-decoration: none;
}

a {
  outline: none;
}

/* CLEARFIX */
.clearfix {
  zoom: 1;
}

.clearfix:after,
.box:after,
.ftBox:after,
.workList li:after,
.workCreditBox:after,
.pageControl:after,
.newsPhotoList:after,
.buyList:after,
.aboutList li:after,
.orderDetailBox:after,
.aboutBox:after,
.aaaaaaaaaa:after,
.aaaaaaaaaa:after,
.aaaaaaaaaa:after,
.aaaaaaaaaa:after,
.aaaaaaaaaa:after,
.aaaaaaaaaa:after,
.aaaaaaaaaa:after,
.aaaaaaaaaa:after,
.aaaaaaaaaa:after,
.aaaaaaaaaa:after,
.aaaaaaaaaa:after,
.aaaaaaaaaa:after {
  content: ".";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  font-size: 0;
  line-height: 0;
}

strong {
  font-weight: bold;
}

img {
  vertical-align: bottom;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  border-radius: 0;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
  border-radius: 0;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
  border-radius: 0;
}

html.hidden,
body.hidden {
  overflow: hidden;
}

html {
  width: 100%;
  height: 100%;
}

body {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  height: 100%;
  background-color: #fff;
  color: #000000;
  position: relative;
  line-height: 200%;
  font-weight: 400;
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "游明朝体 Medium", "Yu Mincho", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 14px;
}

body {
  -webkit-overflow-scrolling: touch;
}

body.mfp-active {
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  position: fixed;
  overflow: auto;
}

body .mfp-wrap {
  position: fixed;
  overflow: auto;
  top: 0 !important;
}

.mfp-bg {
  background-color: #fff;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

/* overlay at start */
.mfp-fade.mfp-bg {
  opacity: 0;
}

/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.98;
}

/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

.fade {
  opacity: 0;
  -webkit-transition: all 1.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 1.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  position: relative;
  top: 60px;
}
.fade.active {
  opacity: 1;
  top: 0;
}

.fadeSimple {
  opacity: 0;
  -webkit-transition: all 1.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 1.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  position: relative;
}
.fadeSimple.active {
  opacity: 1;
}

.fade2 {
  opacity: 0;
  -webkit-transition: all 3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 3s cubic-bezier(0.215, 0.61, 0.355, 1);
  position: relative;
  top: 0;
}
.fade2.active {
  opacity: 1;
  top: 0;
}

.fade3 {
  opacity: 0;
  -webkit-transition: all 2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 2s cubic-bezier(0.215, 0.61, 0.355, 1);
  position: relative;
  top: 30px;
}
.fade3.active {
  opacity: 1;
  top: 0;
}

.fadeDelay1 {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.fadeDelay2 {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.fadeDelay3 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.fadeStr .char {
  text-shadow: 0 0 13px #827572;
  opacity: 0;
  color: #827572;
  color: #000;
}
.fadeStr .char:nth-of-type(1) {
  -webkit-transition: text-shadow 1.5s ease-out 0.12s, opacity 1s ease-in-out 0.12s, color 1s ease-in-out 0.5s;
  transition: text-shadow 1.5s ease-out 0.12s, opacity 1s ease-in-out 0.12s, color 1s ease-in-out 0.5s;
}
.fadeStr .char:nth-of-type(2) {
  -webkit-transition: text-shadow 1.5s ease-out 0.24s, opacity 1s ease-in-out 0.24s, color 1s ease-in-out 0.5s;
  transition: text-shadow 1.5s ease-out 0.24s, opacity 1s ease-in-out 0.24s, color 1s ease-in-out 0.5s;
}
.fadeStr .char:nth-of-type(3) {
  -webkit-transition: text-shadow 1.5s ease-out 0.35s, opacity 1s ease-in-out 0.35s, color 1s ease-in-out 0.5s;
  transition: text-shadow 1.5s ease-out 0.35s, opacity 1s ease-in-out 0.35s, color 1s ease-in-out 0.5s;
}
.fadeStr .char:nth-of-type(4) {
  -webkit-transition: text-shadow 1.5s ease-out 0.33s, opacity 1s ease-in-out 0.33s, color 1s ease-in-out 0.5s;
  transition: text-shadow 1.5s ease-out 0.33s, opacity 1s ease-in-out 0.33s, color 1s ease-in-out 0.5s;
}
.fadeStr .char:nth-of-type(5) {
  -webkit-transition: text-shadow 1.5s ease-out 0.43s, opacity 1s ease-in-out 0.43s, color 1s ease-in-out 0.5s;
  transition: text-shadow 1.5s ease-out 0.43s, opacity 1s ease-in-out 0.43s, color 1s ease-in-out 0.5s;
}
.fadeStr .char:nth-of-type(6) {
  -webkit-transition: text-shadow 1.5s ease-out 0.18s, opacity 1s ease-in-out 0.18s, color 1s ease-in-out 0.5s;
  transition: text-shadow 1.5s ease-out 0.18s, opacity 1s ease-in-out 0.18s, color 1s ease-in-out 0.5s;
}
.fadeStr .char:nth-of-type(7) {
  -webkit-transition: text-shadow 1.5s ease-out 0s, opacity 1s ease-in-out 0s, color 1s ease-in-out 0.5s;
  transition: text-shadow 1.5s ease-out 0s, opacity 1s ease-in-out 0s, color 1s ease-in-out 0.5s;
}
.fadeStr .char:nth-of-type(8) {
  -webkit-transition: text-shadow 1.5s ease-out 0.06s, opacity 1s ease-in-out 0.06s, color 1s ease-in-out 0.12s;
  transition: text-shadow 1.5s ease-out 0.06s, opacity 1s ease-in-out 0.06s, color 1s ease-in-out 0.12s;
}
.fadeStr .char:nth-of-type(9) {
  -webkit-transition: text-shadow 1.5s ease-out 0.12s, opacity 1s ease-in-out 0.12s, color 1s ease-in-out 0.12s;
  transition: text-shadow 1.5s ease-out 0.12s, opacity 1s ease-in-out 0.12s, color 1s ease-in-out 0.12s;
}
.fadeStr .char:nth-of-type(10) {
  -webkit-transition: text-shadow 1.5s ease-out 0.24s, opacity 1s ease-in-out 0.24s, color 1s ease-in-out 0.12s;
  transition: text-shadow 1.5s ease-out 0.24s, opacity 1s ease-in-out 0.24s, color 1s ease-in-out 0.12s;
}
.fadeStr .char:nth-of-type(11) {
  -webkit-transition: text-shadow 1.5s ease-out 0.15s, opacity 1s ease-in-out 0.15s, color 1s ease-in-out 0.12s;
  transition: text-shadow 1.5s ease-out 0.15s, opacity 1s ease-in-out 0.15s, color 1s ease-in-out 0.12s;
}
.fadeStr .char:nth-of-type(12) {
  -webkit-transition: text-shadow 1.5s ease-out 0.33s, opacity 1s ease-in-out 0.33s, color 1s ease-in-out 0.12s;
  transition: text-shadow 1.5s ease-out 0.33s, opacity 1s ease-in-out 0.33s, color 1s ease-in-out 0.12s;
}
.fadeStr .char:nth-of-type(13) {
  -webkit-transition: text-shadow 1.5s ease-out 0.33s, opacity 1s ease-in-out 0.33s, color 1s ease-in-out 0.12s;
  transition: text-shadow 1.5s ease-out 0.33s, opacity 1s ease-in-out 0.33s, color 1s ease-in-out 0.12s;
}
.fadeStr .char:nth-of-type(14) {
  -webkit-transition: text-shadow 1.5s ease-out 0.03s, opacity 1s ease-in-out 0.03s, color 1s ease-in-out 0.12s;
  transition: text-shadow 1.5s ease-out 0.03s, opacity 1s ease-in-out 0.03s, color 1s ease-in-out 0.12s;
}
.fadeStr .char:nth-of-type(15) {
  -webkit-transition: text-shadow 1.5s ease-out 0.18s, opacity 1s ease-in-out 0.18s, color 1s ease-in-out 0.12s;
  transition: text-shadow 1.5s ease-out 0.18s, opacity 1s ease-in-out 0.18s, color 1s ease-in-out 0.12s;
}
.fadeStr .char:nth-of-type(16) {
  -webkit-transition: text-shadow 1.5s ease-out 0s, opacity 1s ease-in-out 0s, color 1s ease-in-out 0.12s;
  transition: text-shadow 1.5s ease-out 0s, opacity 1s ease-in-out 0s, color 1s ease-in-out 0.12s;
}

.workList .active .fadeStr .char {
  opacity: 1;
  text-shadow: 0 0 0 #827572;
  color: #000;
}

.workDetailList .active .fadeStr .char {
  opacity: 1;
  text-shadow: 0 0 0 #827572;
  color: #fff;
}

.workDetailList .fadeStr .char {
  text-shadow: 0 0 13px #fff;
  color: #fff;
}

.workDetailList .fadeStr.splitting.active .char {
  text-shadow: 0 0 0 #fff;
}

article.detail .fadeStr .char {
  text-shadow: 0 0 13px #fff;
  color: #fff;
}

article.detail .fadeStr.splitting.active .char {
  text-shadow: 0 0 0 #fff;
}

main {
  position: relative;
  display: block;
  width: 100%;
  z-index: 3;
}

.sec {
  overflow: hidden;
}

#work {
  overflow: visible;
}

main.page {
  padding-top: 230px;
}

.onlyPc {
  display: block;
}

.onlySp {
  display: none;
}

.slick-slide img.onlyPc {
  display: block;
}

.slick-slide img.onlySp {
  display: none;
}

* {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

body.fullscreen header .headerBox a {
  color: #fff;
}

body.brownPage {
  background-color: #827572;
  color: #fff;
}
body.brownPage a {
  color: #fff;
}
body.brownPage footer {
  background-color: #fff;
  color: #86868e;
}
body.brownPage footer a {
  color: #86868e;
}
body.brownPage footer .ftList {
  border-color: #86868e;
}

header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
header .headerBox {
  text-align: center;
  padding-top: 40px;
  font-size: 30px;
  letter-spacing: 0.1em;
  font-family: baskerville-display-pt, serif;
}
header .headerBox img {
  max-width: 80%;
  width: 270px !important;
}

#loading {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 6;
  text-align: center;
  overflow: hidden;
  display: none;
  -webkit-transition: -webkit-transform 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 1.6s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#loading video {
  /*
  		width: 100%;
  		height: 100%;	
  		object-fit: cover;	
  */
  width: 903px;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#loading img {
  width: 950px;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.mainVisual {
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-bottom: 10.5%;
  color: #fff;
}
.mainVisual.active .topSliderBox {
  opacity: 1;
}
.mainVisual.named .name {
  opacity: 1;
}
.mainVisual .name {
  position: absolute;
  left: 0%;
  top: 50%;
  width: 100%;
  text-align: center;
  -webkit-transform: translate(0%, -50%);
      -ms-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
  z-index: 5;
  font-size: 0;
  letter-spacing: 0.02em;
  font-family: baskerville-display-pt, serif;
  white-space: nowrap;
  display: inline-block;
  opacity: 0;
  -webkit-transition: all 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.mainVisual .name img {
  width: 800px;
  width: 600px;
}
.mainVisual .topSliderBox {
  height: 100%;
  opacity: 0;
  -webkit-transition: all 4.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 4.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.mainVisual .topSliderBox div {
  height: 100%;
  vertical-align: top;
}
.mainVisual .topSliderBox img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.pageChange {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 500;
  z-index: 2;
  margin-bottom: 10.5%;
}
.pageChange .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #827572;
  z-index: 2;
  opacity: 1;
  -webkit-transition: all 3.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 3.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.pageChange .bg.active {
  opacity: 0;
}
.pageChange .name {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 5;
  font-size: 80px;
  letter-spacing: 0.02em;
  font-family: baskerville-display-pt, serif;
  white-space: nowrap;
  opacity: 1;
  -webkit-transition: all 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.pageChange .img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.pageChange .img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.pageChange.active .fadeStr .char {
  opacity: 1;
  text-shadow: 0 0 0 #fff;
  color: #fff;
}

.contentBox {
  position: relative;
  max-width: 1460px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 130px;
  padding-right: 130px;
}

.contentBoxWide {
  position: relative;
  max-width: 1460px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 80px;
  padding-right: 80px;
}

.contentBoxGrid {
  padding: 0 10.5%;
  padding: 0 7.5%;
}

.grid {
  margin: 0 -4%;
  margin-bottom: 10.5%;
  min-height: 100vh;
}
.grid .grid-item {
  width: 36%;
  margin: 0 7%;
  margin-bottom: 10.5%;
  overflow: hidden;
}
.grid .grid-item:first-child {
  margin-top: 10.5%;
}
.grid a {
  display: block;
  overflow: hidden;
}
.grid img {
  width: 100%;
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
  opacity: 0;
  -webkit-transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  margin-top: 60px;
}
.grid img.active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1;
  margin-top: 0;
}
.grid {
  /*
  		&:hover{
  			img{
  				transform: scale(1.05);
  			}
  		}
  */
}

footer {
  background-color: #827572;
  color: #fff;
  padding-top: 140px;
  padding-bottom: 120px;
  font-family: baskerville-display-pt, serif;
}
footer a {
  color: #fff;
}

.ftBox {
  max-width: 1460px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 130px;
  padding-right: 130px;
}
.ftBox .left {
  float: left;
  width: 400px;
  max-width: 50%;
  padding-top: 280px;
  line-height: 2;
}
.ftBox .left img {
  max-width: 100%;
  width: 260px;
}
.ftBox .right {
  float: right;
  width: 50%;
}

.ftList {
  width: 210px;
  border-top: 1px solid #a89794;
  padding-top: 55px;
  margin-bottom: 45px;
}
.ftList li {
  margin-bottom: 25px;
}
.ftList li a {
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.16em;
  font-family: baskerville-display-pt, serif;
  -webkit-transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.ftList li a:hover {
  opacity: 0.6;
}

.categoryBox {
  position: absolute;
  right: 0;
  top: 47px;
  width: 330px;
  z-index: 11;
  font-size: 13px;
  letter-spacing: 0.16em;
  font-family: baskerville-display-pt, serif;
}
.categoryBox .ttl {
  border-bottom: 0.5px solid #000;
  margin-bottom: 20px;
  cursor: pointer;
}
.categoryBox .categoryList {
  display: none;
}
.workList li {
  position: relative;
  margin-bottom: 17.5%;
}
.workList li .overArea {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 2;
  -webkit-transform: translate(0%, -50%);
      -ms-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
}
.workList li .overArea .ttl {
  margin-bottom: 50px;
  font-size: 50px;
  letter-spacing: 0.12em;
  letter-spacing: 0.1em;
  font-family: baskerville-display-pt, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "游明朝体 Medium", "Yu Mincho", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  line-height: 1;
}
.workList li .overArea .ttl .small {
  font-size: 30px;
  display: inline-block;
  letter-spacing: 0.06em;
}
.workList li .overArea .desp {
  font-size: 14px;
  letter-spacing: 0.12em;
  font-family: baskerville-display-pt, serif;
  opacity: 0;
  -webkit-transition: all 3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 3s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}
.workList li .img {
  width: 75%;
  float: right;
  overflow: hidden;
}
.workList li .img img {
  width: 100%;
  -webkit-transform: scale(1.04);
      -ms-transform: scale(1.04);
          transform: scale(1.04);
  opacity: 0;
  -webkit-transition: all 3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 3s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}
.workList li a {
  display: block;
}
.workList li.active .desp {
  opacity: 1;
}
.workList li.active .img img {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.ttlBox {
  white-space: nowrap;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: left top;
      -ms-transform-origin: left top;
          transform-origin: left top;
  position: fixed;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 50px;
  mix-blend-mode: difference;
  z-index: 2000;
  color: #fff;
}
.ttlBox p,
.ttlBox span {
  display: inline-block;
}
.ttlBox span {
  margin-right: 15px;
}
.ttlBox h2 {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 0.12em;
  font-family: baskerville-display-pt, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "游明朝体 Medium", "Yu Mincho", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  margin-right: 20px;
  padding-left: 230px;
}
.ttlBox span {
  font-size: 10px;
  letter-spacing: 0.12em;
  font-family: baskerville-display-pt, serif;
}

.ttlBoxNews h2 {
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "游明朝体 Medium", "Yu Mincho", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 13px;
}

.workDetailList li {
  margin-bottom: 100px;
}
.workDetailList li img {
  max-width: 100%;
}
.workDetailList li .tate {
  padding-left: 15%;
  padding-right: 15%;
}
.workDetailList li .mainImg {
  position: relative;
}
.workDetailList li .mainImg .overArea {
  position: absolute;
  left: 0%;
  top: 50%;
  width: 100%;
  z-index: 2;
  -webkit-transform: translate(0%, -50%);
      -ms-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
  text-align: center;
  color: #fff;
}
.workDetailList li .mainImg .overArea .ttl {
  font-size: 50px;
  letter-spacing: 0.12em;
  font-family: baskerville-display-pt, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "游明朝体 Medium", "Yu Mincho", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  margin-bottom: 30px;
  line-height: 1.4;
}
.workDetailList li .mainImg .overArea .desp {
  font-size: 13px;
  letter-spacing: 0.12em;
  font-family: baskerville-display-pt, serif;
  -webkit-transition: all 2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 2s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
  opacity: 0;
}
.workDetailList li .mainImg .imgZoom {
  overflow: hidden;
}
.workDetailList li .mainImg .imgZoom img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
  opacity: 0;
  -webkit-transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.workDetailList li.active .mainImg .overArea .desp {
  opacity: 1;
}
.workDetailList li.active .mainImg .imgZoom img {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.workDetailList2 li .mainImg .overArea {
  position: relative;
  left: initial;
  top: initial;
  -webkit-transform: translate(0%, 0%);
      -ms-transform: translate(0%, 0%);
          transform: translate(0%, 0%);
  color: #000;
}
.workDetailList2 .active .fadeStr .char {
  text-shadow: none;
  color: #000;
}

.workCreditBox {
  margin-bottom: 10.5%;
}
.workCreditBox .left {
  float: left;
  width: calc(50% - 50px);
}
.workCreditBox .right {
  float: right;
  width: calc(50% - 50px);
}
.workCreditBox .mainTtl {
  font-size: 13px;
  letter-spacing: 0.1em;
  font-family: baskerville-display-pt, serif;
  margin-bottom: 20px;
}
.workCreditBox .mainDesp {
  font-size: 13px;
  text-align: justify;
}

.creditList {
  font-size: 13px;
  letter-spacing: 0.1em;
  font-family: baskerville-display-pt, serif;
}
.creditList li .ttl {
  color: #787878;
  float: left;
  margin-right: 20px;
}
.creditList li .desp {
  padding-left: 140px;
}

.backBox {
  text-align: center;
  margin-bottom: 10.5%;
}
.backBox a {
  font-size: 15px;
  letter-spacing: 0.12em;
  font-family: baskerville-display-pt, serif;
  padding: 10px 0px;
  width: 400px;
  max-width: 100%;
  display: inline-block;
  position: relative;
  overflow: hidden;
}
.backBox a:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #000;
  position: absolute;
  left: 0;
  bottom: 0;
}
.backBox a:hover:after {
  -webkit-animation: bar-animation 0.6s 1;
          animation: bar-animation 0.6s 1;
}

@-webkit-keyframes bar-animation {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  51% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes bar-animation {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  51% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.pageControl {
  margin-bottom: 14%;
}
.pageControl .each {
  width: calc(50% - 50px);
  position: relative;
  -webkit-transition: all 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  display: block;
}
.pageControl .each:hover {
  opacity: 0.6;
}
.pageControl .each:hover:before {
  opacity: 0.6;
}
.pageControl .each:before {
  content: "";
  position: absolute;
  top: 50%;
  width: 40%;
  height: 0.5px;
  background-color: #000;
  z-index: 2;
  -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.pageControl .each .img {
  width: 70%;
  float: right;
}
.pageControl .each .img img {
  width: 100%;
}
.pageControl .each .category {
  font-size: 12px;
  letter-spacing: 0.12em;
  font-family: baskerville-display-pt, serif;
  white-space: nowrap;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: left top;
      -ms-transform-origin: left top;
          transform-origin: left top;
  line-height: 1.4;
  position: absolute;
  left: 29px;
  top: 0;
  z-index: 2;
}
.pageControl .each .ttl {
  position: absolute;
  left: 0;
  bottom: -15px;
  z-index: 2;
  font-size: 38px;
  letter-spacing: 0.12em;
  letter-spacing: 0.08em;
  font-family: baskerville-display-pt, serif;
  line-height: 1.1;
}
.pageControl .prev {
  float: left;
}
.pageControl .prev:before {
  left: 0%;
}
.pageControl .prev:hover:before {
  left: -10%;
}
.pageControl .next {
  float: right;
}
.pageControl .next:before {
  right: -20%;
}
.pageControl .next:hover:before {
  right: -30%;
}

.pageOrderControl {
  margin-bottom: 14%;
}
.pageOrderControl .each {
  position: relative;
  -webkit-transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition: all 2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 2s cubic-bezier(0.215, 0.61, 0.355, 1);
  display: block;
  margin-bottom: 40px;
}
.pageOrderControl .each:hover {
  opacity: 0.6;
}
.pageOrderControl .each .img {
  width: 50%;
  margin-left: 50%;
}
.pageOrderControl .each .img img {
  width: 100%;
}
.pageOrderControl .each .category {
  font-size: 13px;
  letter-spacing: 0.12em;
  font-family: baskerville-display-pt, serif;
  line-height: 1.4;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  z-index: 2;
}
.pageOrderControl .each .category:before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: calc(40% + 100px);
  height: 0.5px;
  background-color: #fff;
  z-index: 2;
  -webkit-transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.pageOrderControl .each .ttl2 {
  white-space: nowrap;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: left bottom;
      -ms-transform-origin: left bottom;
          transform-origin: left bottom;
  margin-left: -30px;
  font-size: 13px;
  letter-spacing: 0.12em;
  font-family: baskerville-display-pt, serif;
}
.pageOrderControl .each:hover .category:before {
  left: -40px;
}

.pageControlNews .each .ttl {
  font-size: 20px;
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "游明朝体 Medium", "Yu Mincho", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.pageTtl {
  font-size: 70px;
  letter-spacing: 0.12em;
  font-family: baskerville-display-pt, serif;
  line-height: 1.4;
  margin-bottom: 14%;
}

.gridNews {
  margin: 0 -40px;
  margin-bottom: 3.5%;
  min-height: 100vh;
}
.gridNews img {
  width: 100%;
}
.gridNews .grid-item {
  width: calc(50% - 80px);
  margin: 0 40px;
  margin-bottom: 80px;
}
.gridNews .wide {
  width: calc(100% - 80px);
}
.gridNews .half {
  width: calc(50% - 80px);
}
.gridNews .yoko .ttl {
  font-size: 29px;
}
.gridNews .yoko .img {
  width: 65%;
  float: left;
  margin-bottom: 0;
}
.gridNews .yoko .despArea {
  width: calc(35% - 40px);
  float: right;
}
.gridNews .paddingLeft {
  padding-left: 15%;
}
.gridNews .paddingRight {
  padding-right: 15%;
}
.gridNews .date,
.gridNews .category {
  font-size: 13px;
  letter-spacing: 0.12em;
  font-family: baskerville-display-pt, serif;
  line-height: 1.4;
}
.gridNews .category {
  margin-bottom: 10px;
}
.gridNews .img {
  margin-bottom: 20px;
  overflow: hidden;
}
.gridNews .img img {
  -webkit-transition: all 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.gridNews .ttl {
  font-size: 25px;
  line-height: 1.4;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
}
.gridNews .desp {
  letter-spacing: 0.1em;
}
.gridNews a {
  display: block;
  -webkit-transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.gridNews a:hover img {
  -webkit-transform: scale(1.04);
      -ms-transform: scale(1.04);
          transform: scale(1.04);
}
.gridNews a:hover {
  opacity: 0.8;
}

.pageNationBox {
  margin-bottom: 14%;
  text-align: center;
}
.pageNationBox a,
.pageNationBox span {
  margin: 0 10px;
}

article.detail .secBox {
  margin-bottom: 7%;
}
article.detail .secBox img {
  width: 100%;
  height: auto !important;
}
article.detail .secBox .mainImgBox {
  margin-bottom: 3.5%;
}
article.detail .secBox .mainImgBox .fadeStr.active .char {
  opacity: 1;
  text-shadow: 0 0 0 #fff;
}
article.detail .secBox .mainImgBox.active .mainImg img {
  opacity: 1;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}
article.detail .secBox .mainImgBox.active .mainImg .overArea .desp {
  opacity: 1;
  top: 0;
}
article.detail .secBox .mainImgBox.active .caption {
  opacity: 1;
}
article.detail .secBox .mainImgBox .mainImg {
  position: relative;
  margin-bottom: 10px;
}
article.detail .secBox .mainImgBox .mainImg .overArea {
  position: absolute;
  width: 100%;
  text-align: center;
  color: #fff;
  left: 0;
  top: 50%;
  z-index: 2;
  -webkit-transform: translate(0%, -50%);
      -ms-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
}
article.detail .secBox .mainImgBox .mainImg .overArea .ttl {
  font-size: 40px;
  letter-spacing: 0.12em;
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "游明朝体 Medium", "Yu Mincho", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  margin-bottom: 30px;
  line-height: 1.2;
}
article.detail .secBox .mainImgBox .mainImg .overArea .desp {
  font-size: 13px;
  letter-spacing: 0.12em;
  font-family: baskerville-display-pt, serif;
  position: relative;
  top: 50px;
  opacity: 0;
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
  -webkit-transition: all 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
article.detail .secBox .mainImgBox .mainImg .img {
  overflow: hidden;
}
article.detail .secBox .mainImgBox .mainImg img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
  opacity: 0;
  -webkit-transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
article.detail .secBox .mainImgBox .caption {
  text-align: right;
  font-size: 11px;
  letter-spacing: 0.1em;
  opacity: 0;
  -webkit-transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
article.detail .secBox .mainImgBox .caption.left {
  text-align: left;
}
article.detail .secBox .box .left {
  width: calc(50% - 60px);
  white-space: 50%;
  float: left;
  font-size: 30px;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
article.detail .secBox .box .right {
  width: 50%;
  width: calc(50% - 20px);
  float: right;
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 2;
  text-align: justify;
  word-break: break-all;
}
article.detail .secBox .box .right p {
  margin-bottom: 20px;
}
article.detail .secBox .box .right a {
  text-decoration: underline;
}
article.detail .secBox .movieBox {
  padding-top: 40px;
  width: 980px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
article.detail .secBox .movieBox video {
  width: 100%;
}

.newsPhotoList {
  margin-bottom: 7%;
}
.newsPhotoList li {
  float: right;
  margin-bottom: 5%;
  margin-left: 5%;
}
.newsPhotoList li img {
  width: 100%;
}
.newsPhotoList li.wide {
  width: 70%;
}
.newsPhotoList li.half {
  width: 45%;
}

.buyBox {
  text-align: center;
  margin-bottom: 14%;
}
.buyBox .buyTtl {
  font-size: 50px;
  letter-spacing: 0.08em;
  font-family: baskerville-display-pt, serif;
  line-height: 1.2;
  margin-bottom: 40px;
}
.buyBox .buyDesp {
  font-size: 27px;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #c8c8c8;
}

.buyList {
  margin: 0 -30px;
  margin-bottom: 7%;
}
.buyList li {
  float: left;
  width: calc(33.33% - 60px);
  margin: 0 30px;
  margin-bottom: 90px;
  position: relative;
  opacity: 0;
  top: 50px;
  -webkit-transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.buyList li.active {
  opacity: 1;
  top: 0;
}
.buyList li:nth-child(3n) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.buyList li:nth-child(3n+1) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.buyList li:nth-child(3n+2) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.buyList li {
  /*
  		&:nth-of-type(1) {
  			transition-delay: 0s;
  		}
  		&:nth-of-type(2) {
  			transition-delay: $buyDelay * 1;
  		}
  		&:nth-of-type(3) {
  			transition-delay: $buyDelay * 2;
  		}
  		&:nth-of-type(4) {
  			transition-delay: $buyDelay * 3;
  		}
  		&:nth-of-type(5) {
  			transition-delay: $buyDelay * 4;
  		}
  		&:nth-of-type(6) {
  			transition-delay: $buyDelay * 5;
  		}
  		&:nth-of-type(7) {
  			transition-delay: $buyDelay * 6;
  		}
  		&:nth-of-type(8) {
  			transition-delay: $buyDelay * 7;
  		}
  		&:nth-of-type(9) {
  			transition-delay: $buyDelay * 8;
  		}
  */
}
.buyList li .img {
  margin-bottom: 25px;
}
.buyList li .img img {
  width: 100%;
}
.buyList li .despArea .ttl {
  font-size: 15px;
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.12em;
  line-height: 1.4;
}
.buyList li .despArea .size {
  font-size: 13px;
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.12em;
  color: #c8c8c8;
  line-height: 1.6;
  margin-bottom: 20px;
}
.buyList li .despArea .price {
  font-size: 15px;
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.12em;
  margin-bottom: 5px;
}
.buyList {
  /*
  	&.active{
  		li{
  			opacity: 1;
  			top: 0;
  		}
  	}
  */
}

.aboutList li {
  margin-bottom: 14%;
}
.aboutList li .left {
  float: left;
  width: 50%;
  font-size: 50px;
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.08em;
  line-height: 1;
}
.aboutList li .right {
  float: right;
  width: 50%;
  text-align: justify;
}
.aboutList li .right .ttl {
  font-size: 20px;
  margin-bottom: 30px;
  letter-spacing: 0.1em;
}
.aboutList li .right .desp {
  font-size: 15px;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
}
.aboutList li .right .subDesp {
  font-size: 13px;
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.02em;
  color: #c8c8c8;
  line-height: 1.6;
}

.orderDetailBox {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: visible;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.orderDetailBox .left {
  width: 57vw;
}
.orderDetailBox .left .img img {
  width: 100%;
  opacity: 0;
  -webkit-transition: all 1.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 1.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.orderDetailBox .left .img img.active {
  opacity: 1;
}
.orderDetailBox .right {
  width: 43vw;
  padding: 250px 100px;
  position: relative;
  position: sticky;
  top: 0px;
  z-index: 20;
}
.orderDetailBox .right .ttl {
  font-size: 25px;
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.12em;
  margin-bottom: 5px;
}
.orderDetailBox .right .year {
  font-size: 15px;
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.12em;
  margin-bottom: 30px;
}
.orderDetailBox .right .size {
  font-size: 13px;
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.12em;
  margin-bottom: 30px;
  color: #c8c8c8;
}
.orderDetailBox .right .price {
  font-size: 15px;
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.12em;
  margin-bottom: 30px;
}
.orderDetailBox .right .subTtl {
  font-size: 15px;
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.12em;
  margin-bottom: 20px;
}
.orderDetailBox .right .desp {
  font-size: 13px;
  color: #c8c8c8;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-bottom: 60px;
  text-align: justify;
}
.orderDetailBox .right .btn {
  margin-bottom: 60px;
}

.scrollBox {
  /*
  	width: 57% !important;
  	width: 100% !important;
  */
}
.scrollBox.bottom {
  position: absolute;
  bottom: 0 !important;
  top: initial !important;
}

.btn {
  background-color: #453836;
  color: #fff;
  font-size: 15px;
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.12em;
  display: block;
  padding: 20px 20px 18px 20px;
}

/* 
========================
      BUTTON THREE
========================
*/
.btn-three {
  color: #fff;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transition: all 2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 2s cubic-bezier(0.215, 0.61, 0.355, 1);
  position: relative;
}

.btn-three::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  -webkit-transform: scale(0.5, 0.5);
      -ms-transform: scale(0.5, 0.5);
          transform: scale(0.5, 0.5);
  background-color: rgba(255, 255, 255, 0.1);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn-three:hover::before {
  opacity: 1;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1);
}

.disable {
  opacity: 0.3 !important;
  pointer-events: none;
}

.aboutBox {
  position: relative;
  margin-bottom: 14%;
}
.aboutBox .left {
  float: left;
  width: 60%;
  width: calc(60% - 60px);
  position: relative;
  z-index: 2;
}
.aboutBox .right {
  float: right;
  width: 40%;
  text-align: right;
  font-family: baskerville-display-pt, serif;
  font-size: 10px;
  letter-spacing: 0.06em;
}
.aboutBox .right img {
  width: 100%;
}
.aboutBox .name {
  font-size: 25px;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}
.aboutBox .job {
  font-size: 13px;
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.12em;
  margin-bottom: 40px;
}
.aboutBox .profile {
  font-size: 13px;
  letter-spacing: 0.1em;
  margin-bottom: 60px;
}
.aboutBox .profile p {
  margin-bottom: 20px;
}
.aboutBox .profileEn {
  font-family: baskerville-display-pt, serif;
  letter-spacing: 0.08em;
}

/* ------------------------------------------
contact
------------------------------------------ */
#tblForm {
  margin-top: 0px;
}

#btnArea {
  margin-top: 30px;
  margin-bottom: 50px;
}

#btnArea input {
  margin: 0 10px;
  background: none;
  border: 0;
  color: #fff;
  display: block;
  width: 100px;
  padding: 12px 0 8px 0;
  background-color: #827572;
  text-align: center;
}

#tblForm #btnArea input {
  border-radius: 0;
}

#tblForm th {
  padding: 10px;
  padding-left: 0;
  width: 210px;
  vertical-align: top;
  padding-top: 16px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#tblForm th .require {
  float: right;
  font-size: 10px;
  color: #fff;
  background-color: #696969;
  padding: 2px 6px 0px 6px;
  border-radius: 4px;
  line-height: 180%;
  margin-top: 0px;
}

#tblForm td {
  padding: 10px;
  padding-left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#tblForm .sel1 {
  width: 290px;
}

#tblForm .sel2 {
  width: 60px;
}

#tblForm .sel3 {
  width: 400px;
  height: 150px;
}

#tblForm input {
  border: solid 1px #ccc;
  border-radius: 4px;
  padding: 6px;
}

#tblForm .wpcf7-list-item input {
  border: none;
}

#tblForm textarea {
  border: solid 1px #ccc;
  border-radius: 4px;
  padding: 6px;
}

/*
.attention {
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 280px;
}
*/
#btnArea input {
  display: inline-block;
  cursor: pointer;
}

#tblForm {
  /*
    margin-left: auto;
    margin-right: auto;
  */
}

.contactBox {
  margin-bottom: 14%;
  margin-top: -7%;
}

.grecaptcha-badge {
  z-index: 3;
}

@media screen and (max-width: 1140px) {
  .categoryBox {
    width: 260px;
  }
}
@media screen and (max-width: 980px) {
  .categoryBox {
    width: 200px;
  }
}
@media screen and (max-width: 760px) {
  .categoryBox {
    width: 150px;
  }
}
.bookList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px 40px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 250px;
}
.bookList figure {
  margin-bottom: 25px;
}
.bookList figure img {
  width: 100%;
}
.bookList li {
  width: calc(50% - 20px);
  position: relative;
  opacity: 0;
  top: 50px;
  -webkit-transition: all 1.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 1.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.bookList li.active {
  opacity: 1;
  top: 0;
}
.bookList li:nth-child(2n+1) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.bookList li:nth-child(2n) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.bookList li .despArea .ttl {
  font-size: 15px;
}
.bookList li .despArea .desp {
  font-size: 13px;
  color: #c8c8c8;
  line-height: 1.6;
}

a.amazonBtn {
  display: inline-block;
  padding: 10px 65px;
  background-color: #453836;
  color: #fff;
  letter-spacing: 0.16em;
  font-family: baskerville-display-pt, serif;
  font-weight: 400;
  -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
a.amazonBtn:hover {
  opacity: 0.6;
}

a.amazonBtnBig {
  display: inline-block;
  padding: 12px 60px 12px 0px;
  background-color: #ff9900;
  text-align: center;
  letter-spacing: 0.06em;
  width: 400px;
  max-width: 100%;
  font-family: baskerville-display-pt, serif;
  font-weight: 400;
  font-size: 15px;
  -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
a.amazonBtnBig span {
  display: inline-block;
  background-image: url("../images/ico_amazon.svg");
  background-repeat: no-repeat;
  background-size: 42px auto;
  background-position: left center;
  padding: 13px 0px 10px 90px;
}
a.amazonBtnBig:hover {
  opacity: 0.6;
}

.bookDetailList {
  margin-bottom: 180px;
}
.bookDetailList li {
  margin-bottom: 90px;
  position: relative;
}
.bookDetailList li:last-child {
  margin-bottom: 0;
}
.bookDetailList li .mainImg {
  text-align: center;
}
.bookDetailList li .mainImg.active {
  padding-top: 0;
}
.bookDetailList li .mainImg.active img {
  opacity: 1;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}
.bookDetailList li .mainImg.tate1 img {
  width: 64%;
}
.bookDetailList li .mainImg img {
  width: 100%;
  opacity: 0;
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.bookDetailList li .mainImgMini {
  overflow: hidden;
  padding-top: 40px;
  -webkit-transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.bookDetailList li .overArea {
  position: absolute;
  z-index: 2;
  width: 100%;
  text-align: center;
  top: 50%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  color: #fff;
}
.bookDetailList li .overArea .ttl {
  font-size: 50px;
  margin-bottom: 60px;
}
.bookDetailList li .overArea .fadeStr.splitting .char {
  color: #fff;
  text-shadow: 0 0 13px #fff;
}
.bookDetailList li .overArea .fadeStr.splitting.active .char {
  opacity: 1;
  text-shadow: 0 0 0 #fff;
}
.bookDetailList li .overArea .despArea {
  position: relative;
  opacity: 0;
  -webkit-transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 2.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}
.bookDetailList li .overArea .despArea.active {
  top: 0;
  opacity: 1;
}
.bookDetailList li.tate .mainImg img {
  max-width: 64%;
}
.bookDetailList li.col2 {
  gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.bookDetailList li.col2 .mainImg {
  width: calc(50% - 5px);
}
.bookDetailList li.col2 .mainImg:last-child {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.bookDetailList li.col2 .mainImg:last-child img {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.bookDetailBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 100px;
}
.bookDetailBox .each .subTtl {
  font-size: 13px;
  margin-bottom: 13px;
}
.bookDetailBox .each .subDesp {
  font-size: 13px;
  margin-bottom: 45px;
  letter-spacing: 0.1em;
}
.bookDetailBox .each .subDesp:last-child {
  margin-bottom: 0;
}
.bookDetailBox .each .subDespMain {
  text-align: justify;
}
.bookDetailBox .each .subDespMini {
  font-size: 11px;
  line-height: 1.9;
}
.bookDetailBox .left {
  width: 58%;
  padding-right: 150px;
}
.bookDetailBox .right {
  width: 42%;
}

.bookCreditList li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: 0.03em;
}
.bookCreditList li .job {
  width: 100px;
}

/* ------------------------------------------
smartphone
------------------------------------------ */
@media screen and (max-width: 719px) {
  .onlyPc {
    display: none;
  }
  .onlySp {
    display: block;
  }
  .fadeDelay1 {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .fadeDelay2 {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .fadeDelay3 {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .bookList {
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 100px;
  }
  .bookList li {
    width: 100%;
  }
  .bookList li:nth-child(2n+1) {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .bookList li:nth-child(2n) {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .bookDetailList {
    margin-bottom: 100px;
  }
  .bookDetailList li {
    margin-bottom: 17.5%;
    margin-bottom: 80px;
  }
  .bookDetailList li .overArea {
    position: relative;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    padding-top: 40px;
  }
  .bookDetailList li .overArea .ttl {
    font-size: 30px;
    margin-bottom: 25px;
  }
  .bookDetailList li .overArea .fadeStr.splitting .char {
    color: #000;
  }
  .bookDetailList li .mainImgMini {
    margin-left: 20px;
    margin-right: 20px;
  }
  .bookDetailList li .mainImgMini.tate1, .bookDetailList li .mainImgMini.tate {
    padding-left: 15%;
    padding-right: 15%;
  }
  .bookDetailList li .mainImgMini.tate1 img {
    width: 100%;
  }
  .bookDetailList li.col2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 80px;
  }
  .bookDetailList li.col2 .mainImg {
    width: 100%;
  }
  .bookDetailList li.col2 .mainImg:last-child {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .bookDetailList li.col2 .mainImg:last-child img {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  a.amazonBtn {
    padding: 6px 55px;
  }
  a.amazonBtnBig {
    padding: 8px 60px 8px 0px;
  }
  .bookDetailBox {
    display: block;
    margin-left: 20px;
    margin-right: 20px;
  }
  .bookDetailBox .each {
    width: auto;
    padding-right: 0;
  }
  .bookDetailBox .left {
    margin-bottom: 60px;
  }
  header .headerBox img {
    max-width: 50%;
  }
  #loading video {
    width: 426.3px;
  }
  #loading img {
    width: 430px;
  }
  .mainVisual {
    text-align: center;
  }
  .mainVisual .name {
    white-space: normal;
    line-height: 1.1;
  }
  .mainVisual .name img {
    width: 270px;
  }
  header .headerBox {
    font-size: 17px;
    padding-top: 16px;
  }
  .contentBox {
    padding-left: 0;
    padding-right: 0;
  }
  .ftBox {
    padding-left: 40px;
    padding-right: 40px;
  }
  .mainVisual {
    margin-bottom: 60px;
  }
  .grid {
    margin-left: 0;
    margin-right: 0;
  }
  .grid .grid-item {
    width: auto;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
  }
  .grid .grid-item:first-child {
    margin-top: 0;
  }
  footer {
    padding-top: 80px;
    padding-bottom: 20px;
  }
  .ftBox .left {
    width: auto;
    float: none;
    text-align: center;
    padding-top: 0;
    margin-bottom: 70px;
  }
  .ftBox .left p {
    text-align: left;
    display: inline-block;
    line-height: 1.1;
  }
  .ftBox .right {
    float: none;
    width: auto;
  }
  .ftList {
    width: auto;
  }
  #button_container {
    top: 11px;
    left: 20px;
  }
  #toggle {
    width: 30px;
  }
  #toggle span {
    width: 30px;
  }
  #overlayBg {
    background-color: rgba(155, 155, 155, 0.9);
    background-color: rgba(30, 30, 30, 0.9);
  }
  #overlay .overlay-menu {
    top: 60px;
    left: 20px;
  }
  #overlay .lineList li a {
    font-size: 18px;
  }
  #overlay .lineList li.contact {
    padding-top: 30px;
  }
  #toggle.active .middle {
    top: 360px;
    top: 420px;
  }
  .navClose {
    top: 520px;
    left: 15px;
  }
  .navClose span {
    width: 40px;
  }
  .workList {
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 100px;
  }
  .workList li .overArea {
    position: relative;
    top: initial;
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .workList li .overArea .ttl {
    font-size: 25px;
    margin-bottom: 10px;
  }
  .workList li .overArea .desp {
    font-size: 10px;
    line-height: 1.4;
  }
  .workList li .img {
    width: auto;
    margin-bottom: 20px;
  }
  .workList li .img img {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .categoryBox {
    position: relative;
    right: initial;
    top: initial;
    text-align: center;
    width: auto;
    padding-top: 80px;
  }
  .categoryBox .categoryBox2 {
    display: inline-block;
  }
  .categoryBox.categoryBoxSp {
    padding-top: 0;
    margin-bottom: 20px;
  }
  main.page {
    padding-top: 50px;
  }
  .ttlBox {
    -webkit-transform: rotate(90deg) scale(0.7);
        -ms-transform: rotate(90deg) scale(0.7);
            transform: rotate(90deg) scale(0.7);
    left: 21px;
    padding-left: 20px;
  }
  .ttlBox h2 {
    padding-left: 150px;
  }
  .workDetailList {
    margin-left: 20px;
    margin-right: 20px;
  }
  .workDetailList li {
    margin-bottom: 80px;
  }
  .workDetailList li.first {
    margin-left: -20px;
    margin-right: -20px;
  }
  .workDetailList li .mainImg .imgZoom {
    margin-bottom: 40px;
  }
  .workDetailList li .mainImg .overArea {
    position: relative;
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0);
    top: initial;
    color: #000;
  }
  .workDetailList li .mainImg .overArea .ttl {
    font-size: 22px;
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 20px;
  }
  .workDetailList li .mainImg .overArea .desp {
    line-height: 1.4;
  }
  .workDetailList .active .fadeStr .char {
    text-shadow: 0 0 0 #000;
  }
  .workCreditBox {
    margin-left: 40px;
    margin-right: 40px;
  }
  .workCreditBox .left {
    float: none;
    width: auto;
    margin-bottom: 60px;
  }
  .workCreditBox .right {
    float: none;
    width: auto;
  }
  .pageControl {
    margin-bottom: 140px;
  }
  .pageControl .prev {
    float: none;
    width: auto;
    margin-bottom: 80px;
  }
  .pageControl .next {
    float: none;
    width: auto;
  }
  .pageControl .each .img {
    float: none;
    text-align: right;
    width: auto;
  }
  .pageControl .each .img img {
    width: 70%;
  }
  .pageControl .each .ttl {
    font-size: 23px;
    margin-left: 44px;
  }
  .pageControl .each .category {
    left: 70px;
    font-size: 10px;
  }
  .workCreditBox {
    margin-bottom: 26%;
  }
  .backBox {
    margin-bottom: 16%;
  }
  .backBox a {
    width: 160px;
  }
  .pageTtl {
    font-size: 35px;
    text-align: center;
    padding-top: 90px;
    margin-bottom: 20%;
  }
  .gridNews {
    margin-left: 10px;
    margin-right: 10px;
  }
  .gridNews .grid-item {
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 40px;
  }
  .gridNews .fade3 {
    -webkit-transition: all 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
    top: 10px;
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    position: relative;
  }
  .gridNews .fade3.active {
    top: 0;
  }
  .gridNews .wide {
    width: auto;
  }
  .gridNews .wide .desp {
    font-size: 12px;
    line-height: 1.8;
  }
  .gridNews .half {
    width: calc(50% - 20px);
    width: auto;
  }
  .gridNews .half .desp {
    font-size: 12px;
    line-height: 1.8;
  }
  .gridNews .ttl {
    font-size: 16px;
  }
  .gridNews .yoko .img {
    width: auto;
    float: none;
    margin-bottom: 20px;
  }
  .gridNews .yoko .despArea {
    width: auto;
    float: none;
  }
  .gridNews .yoko .despArea .date {
    display: inline-block;
    margin-right: 10px;
  }
  .gridNews .yoko .despArea .category {
    display: inline-block;
  }
  .gridNews .yoko .ttl {
    font-size: 18px;
  }
  .gridNews .paddingLeft {
    padding-left: 0;
  }
  .gridNews .paddingRight {
    padding-right: 0;
  }
  .secPadding {
    padding-top: 60px;
  }
  .ttlBoxNews {
    display: none;
  }
  article.detail .secBox .mainImgBox .fadeStr.active .char {
    text-shadow: 0 0 0 #000;
    color: #000;
  }
  article.detail .secBox {
    margin-left: 20px;
    margin-right: 20px;
  }
  article.detail .secBox .mainImgBox {
    margin-bottom: 40px;
  }
  article.detail .secBox .mainImgBox .mainImg .overArea {
    position: relative;
    left: initial;
    top: initial;
    -webkit-transform: translate(0%, 0%);
        -ms-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
    padding-top: 20px;
  }
  article.detail .secBox .mainImgBox .mainImg .overArea .ttl {
    text-align: left;
    font-size: 20px;
    color: #000;
    margin-bottom: 0;
  }
  article.detail .secBox .mainImgBox .mainImg .overArea .desp {
    color: #000;
    text-align: left;
    top: 0;
    -webkit-transition-delay: 1s;
            transition-delay: 1s;
  }
  article.detail .secBox .mainImgBox .mainImg .overArea .desp .year {
    display: inline-block;
    margin-right: 10px;
  }
  article.detail .secBox .mainImgBox .mainImg .overArea .desp .category {
    display: inline-block;
  }
  article.detail .secBox .box .left {
    float: none;
    width: auto;
    font-size: 18px;
    margin-bottom: 30px;
  }
  article.detail .secBox .box .right {
    float: none;
    width: auto;
    font-size: 14px;
  }
  .newsPhotoList {
    margin-left: 20px;
    margin-right: 20px;
  }
  .pageChange .name {
    font-size: 50px;
  }
  .buyBox .buyTtl {
    padding-top: 80px;
    font-size: 24px;
  }
  .buyBox .buyDesp {
    font-size: 15px;
    margin-bottom: 120px;
  }
  .buyList {
    margin: 0 10px;
    margin-bottom: 100px;
  }
  .buyList li {
    width: calc(50% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 60px;
  }
  .buyList li:nth-child(2n) {
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
  .buyList li:nth-child(2n+1) {
    -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s;
  }
  .buyList li .img {
    margin-bottom: 15px;
  }
  .buyList li .despArea .size {
    letter-spacing: 0;
    font-size: 12px;
  }
  .buyList li .despArea .price {
    letter-spacing: 0.05em;
  }
  .aboutList {
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 100px;
  }
  .aboutList li .left {
    font-size: 24px;
    float: none;
    width: auto;
    margin-bottom: 20px;
  }
  .aboutList li .right {
    float: none;
    width: auto;
  }
  .orderDetailBox {
    display: block;
  }
  .orderDetailBox .left {
    float: none;
    width: auto;
    width: 100%;
  }
  .orderDetailBox .right {
    float: none;
    width: 100%;
    position: relative;
    top: initial;
    padding: 60px 20px;
  }
  .orderSlider div {
    height: 80vh;
  }
  .orderSlider img {
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .orderSlider.slick-dotted.slick-slider {
    margin-bottom: 50px;
  }
  .slick-dots {
    bottom: -40px;
  }
  .aboutBox {
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 21%;
  }
  .aboutBox .left {
    float: none;
    width: auto;
  }
  .aboutBox .right {
    position: relative;
    width: auto;
  }
  .aboutBox .profile {
    text-align: justify;
  }
  .aboutBox .profileEn {
    text-align: left;
    letter-spacing: 0.02em;
  }
  .aboutBox .name {
    font-size: 20px;
    margin-bottom: 0;
  }
  .aboutBox .job {
    letter-spacing: 0.08em;
  }
  .ftBox .left {
    float: none;
    width: auto;
    max-width: initial;
    padding-left: 30px;
    padding-right: 30px;
  }
  #tblForm {
    width: 100%;
  }
  #tblForm th {
    display: block;
    width: auto;
    padding-bottom: 0;
    padding-right: 0;
  }
  #tblForm td {
    display: block;
    width: auto;
    padding-top: 0;
    padding-right: 0;
  }
  #tblForm .sel1,
  #tblForm .sel3 {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #tblForm th .require {
    margin-top: -2px;
  }
  .contactBox {
    margin-left: 20px;
    margin-right: 20px;
  }
  .workList li .overArea .ttl .small {
    font-size: 19px;
  }
  .creditList li .desp {
    padding-left: 100px;
  }
  .workDetailList .fadeStr .char {
    text-shadow: 0 0 13px #000;
    color: #000;
  }
  .workDetailList .active .fadeStr .char {
    color: #000;
  }
  .orderDetailBox .left .img img {
    opacity: 1;
  }
  .grid {
    height: initial !important;
  }
  .grid .grid-item {
    position: relative !important;
    left: initial !important;
    top: initial !important;
    height: initial !important;
    margin: 0 0%;
    margin-bottom: 50px;
  }
  .gridNews {
    height: initial !important;
  }
  .gridNews .grid-item {
    position: relative !important;
    left: initial !important;
    top: initial !important;
    height: initial !important;
    margin: 0 7%;
    margin-bottom: 50px;
  }
  .contentBoxGrid {
    padding: 0;
  }
  .grid {
    margin-bottom: 80px;
  }
}