@charset "utf-8";
.inner{
  max-width:inherit;
  margin:0 auto;
}
.pc{
  display:none;
}

html{
  font-size:1.6vw;
}

#wrap{
  position:relative;
}

header{
  /*background:rgba(255,255,255,0.8);*/
  position:-webkit-sticky;
  position:sticky;
  top:0;
  left:0;
  z-index:100;
}
#top header{
  width:100%;
  background:transparent;
  position:fixed;
}
#top body.customize-support header{
  top:12.26667vw;
}
header .inner{
  padding:5.3333vw 4vw 4.66667vw;
  justify-content:flex-start;
}
header #logo{
  width: auto;
  height:5.9375vw;
  margin:0 auto;
  padding-right: 6.666667vw;
  order:2;
}
header #logo a,
header #logo img{
  display:block;
  max-width:inherit;
  height:100%;
}
#top header.wh #logo img{
  -webkit-filter: invert(100%);
  -moz-filter: invert(100%);
  -o-filter: invert(100%);
  -ms-filter: invert(100%);
  filter: invert(100%);
}
header #menu{
  order:1;
  width:6.666667vw;
  height:5.6vw;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
header #menu span{
  text-indent:-9999px;
  display:block;
  width:4.166667vw;
  height:3.3333vw;
  border-top:1px solid #000;
  border-bottom:1px solid #000;
  box-sizing:border-box;
  position:relative;
}
#top header.wh #menu span{
  border-top:1px solid #fff;
  border-bottom:1px solid #fff;
}
header #menu span:after{
  content:"";
  display:inline-block;
  width:100%;
  height:1px;
  background:#000;
  position:absolute;
  top:50%;
  left:0;
  transform:translateY(-50%);
}
#top header.wh #menu span:after{
  background:#fff;
}

footer{
}
footer .inner{
  padding:2.66667vw 4vw;
  font-size:1.25rem;
  text-align:right;
}

nav{
  width:100%;
  height:0;
  opacity:0;
  background:rgba(255,255,255,0.9);
  -webkit-transition:all 0.6s ease-in-out;
  -moz-transition:all 0.6s ease-in-out;
  -ms-transition:all 0.6s ease-in-out;
  transition:all 0.6s ease-in-out;
  overflow:hidden;
  position:fixed;
  top:0;
  left:0;
  z-index:100;
}
nav.on{
  height:100vh;
  opacity:1.0;
}
nav.on .inner{
  padding:0 4vw;
}
nav.on .inner{
  padding:5.3333vw 4vw;
}
nav #close{
  width:6.666667vw;
  height:5.6vw;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
nav #close span{
  text-indent:-9999px;
  display:block;
  width:4.166667vw;
  height:3.3333vw;
  position:relative;
}
nav #close span:before,
nav #close span:after{
  content:"";
  display:inline-block;
  width:100%;
  height:1px;
  background:#000;
  position:absolute;
  top:50%;
  left:0;
}
nav #close span:before{
  transform:rotate(-45deg);
}
nav #close span:after{
  transform:rotate(45deg);
}
nav ul.row{
  margin-top:17.3333vw;
  flex-flow:column;
}
nav ul.row li a{
  display:block;
  padding:3.0rem 0;
  font-size:2.875rem;
  text-align:center;
  line-height:1.0;
}
nav ul.row li a:hover{
  text-decoration:none;
}
nav #sns{
  padding:3.0rem 0;
  text-align:center;
}
nav #sns a{
  width:11.2vw;
  margin:0 3.2vw;
  display:inline-block;
}

#main{
  height:100vh;
  overflow:hidden;
  position:relative;
}
#main .copy{
  padding:2.66667vw 4vw;
  color:#fff;
  font-size:1.25rem;
  text-align:center;
  position:absolute;
  bottom:0;
  right:0;
}
#slides,
#slides .slick-list{
}
#slides .slide img{
  width:100%;
  height:100vh;
  max-width:inherit;
  object-fit: cover;
}

#contents .inner{
  padding:8vw 4vw;
}
#contents .entry{
}
#contents .entry .post{
  padding-bottom:13.3333vw;
}
#contents h1.ttl{
  font-size:2.25rem;
  font-weight:normal;
}
#contents .works h1.ttl{
  margin-bottom:5.3333vw;
  text-align:center;
}
#contents h2{
  font-size:2.25rem;
  font-weight:normal;
  line-height:1.4;
}
#contents h2.name{
  width:26.66667vw
}
#contents h3{
  font-size:2.0rem;
  font-weight:normal;
  line-height:1.4;
}
#contents h4,
#contents h5,
#contents h6{
  font-size:1.75rem;
  font-weight:normal;
  line-height:1.4;
}
#contents p,
#contents ul,
#contents ol,
#contents dl,
#contents table{
  font-size: 1.875rem;
  line-height: 1.8;
}
#contents .post :last-child{
  margin-bottom:0;
}
#contents .post p{
  margin-bottom:2.66667vw;
  font-size: 1.875rem;
}
#contents .page p{
}
#contents iframe{
  width:100%;
  height:100vw;
  margin:2.66667vw 0;
  vertical-align: bottom;
}
.works{
  font-size: 1.875rem;
  line-height: 1.8;
}
.works .list{
  margin:0 auto;
}
.works .wp-block-image,
.works .wp-block-video,
.works .blocks-gallery-grid .blocks-gallery-image,
.works .blocks-gallery-grid .blocks-gallery-item,
.works .wp-block-gallery .blocks-gallery-image,
.works .wp-block-gallery .blocks-gallery-item{
  margin-bottom:8vw;
}
.works .wp-block-columns{
  margin:0 auto 8vw;
}
.works .blocks-gallery-grid{
}
.works .wp-block-columns .wp-block-column{
}
.works .wp-block-columns .wp-block-image,{
  margin-bottom:0;
}
.works .blocks-gallery-grid .blocks-gallery-image figure, 
.works .blocks-gallery-grid .blocks-gallery-item figure, 
.works .wp-block-gallery .blocks-gallery-image figure, 
.works .wp-block-gallery .blocks-gallery-item figure{
  flex-flow: column;
}
.works .blocks-gallery-grid .blocks-gallery-image figcaption, 
.works .blocks-gallery-grid .blocks-gallery-item figcaption, 
.works .wp-block-gallery .blocks-gallery-image figcaption, 
.works .wp-block-gallery .blocks-gallery-item figcaption{
  bottom: inherit;
  top: 100%;
  background: none;
  color: #000;
  font-size: 1.0rem;
  text-align: right;
  padding: 5px 0;

}

.works.row .entry{
  width:100%;
  margin-bottom:4vw;
}
.works.row .entry .title{
  margin-top:0.5rem;
  /*font-size:1.5rem;*/
}
.works.row .entry .thumbnail{
  overflow: hidden;
/*  display:-webkit-flex;
  display:-moz-flex;
  display:-ms-flex;
  display:flex;*/
}
.works.row .entry img {
  width: 92vw;
  height:48.93333vw;
  max-width: inherit;
  object-fit: cover;
  display:block;
}
.works.row .entry a:hover{
  text-decoration:none;
}
.works.row .entry a:hover img{
  opacity:0.7;
}

.return{
  margin-top:5.3333vw;
  font-size:1.875rem;
}

.navi{
  width:100%;
  margin-top:5.3333vw;
  overflow:hidden;
}
.navi:after{
  content:"";
  display:block;
  clear:both;
}
.navi .prev,
.navi .next{
  font-size:1.0rem;
  font-weight:bold;
  line-height:1.0;
  overflow:hidden;
}
.navi .prev a,
.navi .next a{
  width:4.0rem;
  height:0;
  padding-top:4.0rem;
  position:relative;
  overflow:hidden;
  display:block;
}
.navi .prev{
  float:left;
}
.navi .next{
  float:right;
}
.navi .prev a:before,
.navi .next a:before{
  content:"";
  width:1.25rem;
  height:1.25rem;
  display:block;
  position:absolute;
  top:1.375rem;
}
.navi .prev a:before{
  border-left:1px solid #000;
  border-bottom:1px solid #000;
  transform:rotate(45deg);
  right:0;
}
.navi .next a:before{
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(-45deg);
  left:0;
}

#more-button {
  background: #eee;
  height: 56px;
  margin: 8vw 0 0;
  width: 100%;
  display:none;
}

.scroller-status {
  display: none;
  margin-top: 0vw;
}

.infinite-scroll-request {
  animation: scroll-request 1.1s infinite linear;
  border: 4px solid #ccc;
  border-left: 4px solid #fff;
  border-radius: 50%;
  height: 24px;
  margin: auto;
  width: 24px;
  color:#fff;
}

@keyframes scroll-request {
  0% {
    transform: rotate(0deg);
  }
  
  100% {
    transform: rotate(360deg);
  }
}

.infinite-scroll-last,
.infinite-scroll-error {
  color: #ccc;
  text-align: center;
}
.infinite-scroll-last{
  opacity:0;
}


#contents .page .mw_wp_form_input p.confirm,
#contents .page .mw_wp_form_confirm p.input{
  display:none;
}
#contents .page .mw_wp_form_input p.input,
#contents .page .mw_wp_form_confirm p.confirm{
  margin-bottom:4vw;
  line-height:1.8;
}
#contents .page .mw_wp_form_complete p{
  margin-bottom:4vw;
  line-height:1.8;
}

form{
  font-size:1.5rem;
  line-height:1.8;
}
form i{
  color:#f00;
}
form table, form tbody, form tr, form th, form td {
display: block;
}
form table{
  width:100%;
  max-width:inherit;
  margin-bottom:6vw;
}
form th{
  width:100%;
  padding:2vw 0;
  text-align:left;
  font-weight:normal;
  /*line-height: 3;*/
  vertical-align:top;
}
form th i{
  margin-left:-0.5em;
}
.mw_wp_form_confirm form th{
  padding:2vw 0;
  line-height: 1.6;
}
form td{
  width:100%;
  padding:0;
}
.mw_wp_form_confirm form td{
  padding: 1.333vw 2.66667vw;
  font-size: 1.875rem;
  line-height: 1.6;
  border: 1px solid #eee;
}
form .submit{
  max-width:inherit;
  -webkit-display:flex;
  -moz-display:flex;
  -ms-display:flex;
  display:flex;
  justify-content:space-between;
}
form input,
form textarea{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
form input:focus,
form textarea:focus{
  outline: 0;
}
form input[type=text],
form input[type=email],
form textarea{
  width:100%;
  padding: 1.3333vw 2.66667vw;
  font-size:16px;
  line-height:1.6;
  border:1px solid #ccc;
  border-radius:0;
  box-sizing:border-box;
}
form input[type=text],
form input[type=email]{
}
form input[type=button],
form input[type=submit]{
  width:100%;
  max-width:inherit;
  background:#000;
  color:#fff;
  text-align:center;
  line-height:12vw;
}
form input[name=submit],
form input[name=submitBack]{
  width:48%;
}
.spanform{
  padding: 2vw 0;
}
form input[type=checkbox]{
  display: none;
}
form input[type=checkbox] + span{
  padding-left: 20px;
  position:relative;
  margin-right: 20px;
}
form input[type=checkbox] + span::before{
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 11px;
  height: 11px;
  border: 1px solid #ccc;
}
form input[type=checkbox]:checked + span{
}
form input[type=checkbox]:checked + span::after{
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  left: 0;
  width: 11px;
  height: 11px;
  transform: skewY(-45deg);
  border-top: 1px solid #aaa;
}
