/* variables*/
:root{
    --main-color: #222222;
    --subject-font-size: 20px;
    --subject-font: Optima, Segoe, Segoe UI, Candara, Calibri, Arial, sans-serif;
}
.bg-slider {
    max-width: 100%;
    height: 100vh;
    background-position:center center;
    background-size: cover;
    display: flex;
    justify-content: center; 
}
.bg-slider a {
    margin-top: auto;
    margin-bottom: 30px;
    outline: none !important;
}
.bg-slider a .scroll-button {
    display: inline-block;
    bottom: 0;
    left: 50%;
    width: 24px;
    height: 24px;
    border-left: 1px solid #222222;
    border-bottom: 1px solid #222222;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    box-sizing: border-box;
}

/* オリジナルコンテナ */
.org-container {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
}

.org-container .inner {
    margin: auto;
    width: 80%;
    font-family: var(--subject-font);
    font-size: 12px;
}

.org-container .inner p {
    font-family: var(--subject-font);
}

.org-container .inner a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    outline: none;
}

.org-container .inner .scroll-button {
    display: inline-block;
    z-index: 2;
    top: 0;
    left: 50%;
    width: 24px;
    height: 24px;
    border-left: 1px solid #222222;
    border-bottom: 1px solid #222222;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: sdb 2s infinite;
    animation: sdb 2s infinite;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.org-container .inner .chapter {
    font-size: var(--subject-font-size);
}

.org-container img {
    max-width: 100%;
    height: auto;
}

.org-container .access-text {
    width: 100%;
    margin-left: 100px;
}

/* 円 */
.circle {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    color: #ffffff;
    background: black;
}

.td-right {
    text-align: right;
}

.org-container .inner table tr td a{
    display: block;
    width: 100%;
    height: 100%;
}

.org-container .inner p a {
    display: block;
    width: 100%;
    height: 100%;
    color: #222222;
}

.org-container .inner .tel {
    display: block;
    width: 100%;
    height: 100%;
    color: #222222;
}

/* ---------------------------
隙間
--------------------------- */
.space_1 {height: 1px; clear: both;}
.space_5 {height: 5px; clear: both;}
.space_10 {height: 10px; clear: both;}
.space_15 {height: 15px; clear: both;}
.space_20 {height: 20px; clear: both;}
.space_25 {height: 25px; clear: both;}
.space_30 {height: 30px; clear: both;}
.space_35 {height: 35px; clear: both;}
.space_40 {height: 40px; clear: both;}
.space_45 {height: 45px; clear: both;}
.space_50 {height: 50px; clear: both;}
.space_60 {height: 60px; clear: both;}
.space_70 {height: 70px; clear: both;}
.space_80 {height: 80px; clear: both;}
.space_90 {height: 90px; clear: both;}
.space_100 {height: 100px; clear: both;}
.space_150 {height: 150px; clear: both;}


/*---- oryza copy -----*/
.gallery .title-element {
  text-align: left;
  letter-spacing: .05em;
}

@media (min-width: 1024px) {
  
  .space_changed_by_device {
      height: 100px; clear: both;
  }

  .org-container .inner table tr td {
      padding: 0 25px 0 0;
      font-family: var(--subject-font);
  }

  .shop-image-left {
      float: left;
      max-width: 49.5%;
  }

  .shop-image-right {
      float: right;
      max-width: 49.5%;
  }

  .org-container .gallery-image img {
      max-width: 80%;
      height: auto;
  }

  .org-container .access-item div {
      display: flex;
      align-items: flex-end;
      justify-content: center;
      width: 100%;
      vertical-align: bottom;
  }

  .org-container .map-image {
      max-width: 50%;
      height: auto;
  }

  .outer-container{
      margin: 0 auto;
      position: relative;
      width: 100%;
  }

  /*----gallery----*/
  .main-header.main-header-title{
    background-color: transparent;
    display: block;
    min-height: 0;
    margin: 119px auto 20px;
    position: relative !important;
    padding-top: 0 !important;
    width: 80% !important;
  }
  .main-lower{
    width: 100%;
  }
  .main-lower .container{
    width: 80%;
  }
  .gallery .title-element{
    font-size: 12px;
    font-weight: normal;
    display: inline-block;
    height: auto;
    margin: 0;
    padding: 0;
    width: auto;
  }
  .gallery .title-element p{
    margin: 0 0 .75em 0;
  }
  .gallery .back-to-works{
    padding-right: 20px;
    margin: 0;
  }
  .gallery .back-to-works.back-to-works-top {
      top: -3px;
      left: -80px;
      position: absolute;
      z-index: 100;
  }
  .gallery .back-to-works.back-to-works-bottom {
      left: -80px !important;
      position: relative;
      top: -92px !important;
      z-index: 100;
  }
  .gallery .back-to-works.back-to-works-bottom span{
      display: none;
  }
  .gallery .back-to-works a {
      padding: 0 0 .2em;
      position: relative;
      font-size: 12px;
      color: #999;
      border-top: none;
      right: 0;
      text-decoration: none;
      -webkit-transition: all .15s ease;
      transition: all .15s ease;
  }
  .gallery .back-to-works a:before {
      content: '<';
      color: #999;
      position: absolute;
      top: 0;
      right: -1.5em;
      -webkit-transition: right .25s ease;
      transition: right .25s ease;
  }
  .gallery .back-to-works:hover a{
      color: #333;
      right: .5em;
  }
  .gallery .back-to-works:hover a:before {
      color: #333;
      right: -1em;
  }
  
  .gallery .outer-container main .original_gallery_images{
      margin: 0 auto;
      width: 80%;
  }
  .gallery .outer-container main .original_gallery_images .container{
      margin-bottom: 80px;
      width: 100%;
  }
  .gallery .outer-container main .original_gallery_images .container .masonry{
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      -o-flex-direction: column;
      flex-direction: column;
  }
  .gallery .outer-container main .original_gallery_images .container .masonry .page-asset{
      margin: 0 0 40px;
      width: 100%;
  }
  .gallery .outer-container main .original_gallery_images .container .masonry .page-asset:last-child{
      margin-bottom: 0;
  }
  .gallery .outer-container main .original_gallery_images .container .masonry .page-asset .item-link .image-wrap{
      cursor: default;
  }
  
  /*----grid----*/
  .outer-container main .container {
      padding: 0;
      max-width: none;
  }
  .outer-container main .container.main-lower-controls-wrapper{
      padding: 0 70px;
  }
  .grid {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      padding-bottom: 60px;
  }
  .grid .grid-item{
      margin-bottom: 11vw !important;
      width: 48.5% !important;
      transform: translate3d(0,0,0) !important;
  }
  .grid .grid-item .item-link{
      width: 100%;
  }
  .grid .grid-item .image-wrap img{
      -webkit-filter: grayscale(0%);
      filter: grayscale(0%);
      -webkit-transition: all .5s ease;
      transition: all .5s ease;
  }
  .grid .grid-item .image-wrap:hover img{
      -webkit-filter: grayscale(100%);
      filter: grayscale(100%);
  }

  /*----listing----*/
  .listing .main-lower{
      transform: translate3d(0,40px,0);
      -webkit-transition: -webkit-transform cubic-bezier(0.23, 1, 0.32, 1) 1500ms, opacity 1.5s;
      transition: transform cubic-bezier(0.23, 1, 0.32, 1) 1500ms, opacity 1.5s;
      opacity: 0;
  }
  /*マウスオーバー時のテキストの表示を画像の左下に設定する*/
  .item-label-overlay {
      position: relative;
  }
  .item-label {
      position: absolute;
      top: 90%!important;
      font-family: var(--subject-font) !important;
  }

  .listing .visible .main-lower {
      opacity: 1;
  }
  .listing .item-link .item-label-overlay {
      background: rgba(255, 255, 255, 0.9);
      -webkit-transition: opacity .5s ease;
      transition: opacity .5s ease;
  }
  .listing .item-link:hover .item-label-overlay .item-label {
      font-size: 20px !important;
      color: #222222;
      left: 0;
  }
  .listing .item-link .item-label-overlay .item-label{
      font-size: 20px !important;
      font-weight: normal;
      left: -20px;
      -webkit-transition: left .5s ease;
      transition: left .5s ease;
  }

  /*----contact----*/
  #content_page_wrapper {
      width: 680px;
  }
  
  #content_page_wrapper ._4ORMAT_content_page_row h2 {
      font-size: var(--subject-font-size) !important;
      font-family: var(--subject-font);
      font-weight: lighter !important; 
  }
  
  ._4ORMAT_module_contact_input {
    font-family: var(--subject-font);
  }
  
  #content_page_wrapper p {
      font-family: var(--subject-font) !important;
      margin-bottom: 1.5em !important;
      text-align: justify;
      text-justify: inter-ideograph;
      line-height: 2em !important;
  }
  #content_page_wrapper ._4ORMAT_module_text_03{
      padding-left: 0 !important;
      padding-right: 0 !important;
  }
  #content_page_wrapper ._4ORMAT_module_text_03 .twelvecol{
      padding-left: 0 !important;
      padding-right: 0 !important;
  }
  #content_page_wrapper ._4ORMAT_module_text_07{
      border-top: 1px solid  #eee;
      padding-top: 20px !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      padding-bottom: 30px !important;
  }
  #content_page_wrapper ._4ORMAT_module_text_07 .fourcol{
      font-variant-ligatures: none;
      width: 30% !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
  }
  #content_page_wrapper ._4ORMAT_module_text_07 .eightcol{
      width: 70% !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
  }
  #content_page_wrapper ._4ORMAT_module_text_07 .eightcol ul{
      margin-bottom: 0 !important;
  }
  #content_page_wrapper ._4ORMAT_module_text_07 .eightcol ul li{
      list-style-type: disc;
      line-height: 1.5em;
      margin-bottom: .5em;
      padding-left: .8em !important;
      text-indent: -1.4em;
  }
  #content_page_wrapper ._4ORMAT_module_text_07 .eightcol p{
      margin-bottom: 0 !important;
  }

  #content_page_wrapper ._4ORMAT_module_contact_08 .twocol{
      display: none;
  }
  #content_page_wrapper ._4ORMAT_module_contact_08 .eightcol{
      width: 100% !important;
  }
  #content_page_wrapper ._4ORMAT_module_contact_08 .eightcol .sixcol{
      width: 100%;
  }
  #content_page_wrapper ._4ORMAT_module_contact_08 .eightcol .sixcol input{
      border-right-width: 1px
  }
  #content_page_wrapper ._4ORMAT_module_contact_08 .eightcol .row:nth-child(3) .sixcol.last{
      display: none;
  }


  /*----footer----*/
  footer{
    background-color: transparent;
    bottom: 20px;
    color: #666;
    font-family: verdana, Arial, sans-serif;
    font-size: 12px;
    line-height: 1;
    padding: 0;
    position: fixed;
    right: 64px;
  }
}


@media (max-width: 1023px){
  /*.logo-image{*/
  /*    height: auto;*/
  /*    width: 280px;*/
  /*}*/
  
  .sp_br {
      display: none;
  }
  
  .space_changed_by_device {
      height: 80px; clear: both;
  }
  
  .grid .grid-item{
      width: calc(48%);
      margin: 1%;
  }
  
  .org-container .inner table tr td {
      padding: 0 25px 0 0;
      font-family: var(--subject-font);
  }

  /*----listing----*/
  .listing .item-link .item-label-overlay {
      background: rgba(255, 255, 255, 0.9);
      transition: opacity .5s ease;
  }
  /*マウスオーバー時のテキストの表示を画像の左下に設定する*/
  .item-label-overlay {
    position: relative;
  }
  .item-label {
    position: absolute;
    top: 90%!important;
    font-family: var(--subject-font) !important;
  }
  .listing .item-link:hover .item-label-overlay .item-label {
      font-size: 20px !important;
      color: #222222;
      left: 0;
  }
  .listing .item-link .item-label-overlay .item-label{
      font-size: 20px !important;
      left: -20px;
      -webkit-transition: left .75s ease;
      transition: left .75s ease;
  }
  
  #content_page_wrapper ._4ORMAT_content_page_row h2{
      font-family: var(--subject-font);
      font-weight: lighter !important; 
  }
  
}

@media (min-width: 768px){
  .sp-menu {
      display: none;
  }
}

@media (max-width: 767px){
  
  .pc-menu {
      display: none;
  }
  
  .td-right {
      text-align: left;
  }
  
  .overlayed-menu {
      margin-top: -80px;
  }
	.overlayed-menu .item {
  		font-size: 16px;
  		padding-bottom: 20px;
	}
	.overlayed-menu a {
  		letter-spacing: .04em;
      font-family: var(--subject-font) !important;
      color: var(--main-color) !important;
      font-size: 16px !important;
      opacity: 1 !important;
	}
  .overlayed-menu .just-text {
      padding-top: 4px !important;
      padding-bottom: 4px !important;
      font-family: var(--subject-font) !important;
      color: var(--main-color) !important;
      font-size: 10px !important;
      opacity: 0.7;
  }
  .overlayed-menu .below {
      padding-bottom: 20px !important;
  }
  
  .sp_br {
      display: none;
  }
  
  .pc-only{
      display: none;
  }
  
  .space_changed_by_device {
      height: 50px; clear: both;
  }

  .org-container .inner table tr td {
      padding: 0 8px 0 0;
      font-family: var(--subject-font);
  }
  
  .shop-image-left {
      max-width: 100%;
  }

  .shop-image-right {
      max-width: 100%;
  }

  .org-container .gallery-image img {
      max-width: 100%;
      height: auto;
  }

  .org-container .map-image {
      max-width: 100%;
      height: auto;
  }

  /*----gallery----*/
  .main-header.main-header-title{
      background-color: transparent;
      display: block;
      padding:0 20px;
      position: relative !important;
      min-height: 0;
      margin: 20px 0 10px;
  }
  .gallery .title-element{
      font-size: 12px;
      font-weight: normal;
      display: block;
      padding: 0;
  }
  .gallery .title-element p{
      letter-spacing: .05em;
      margin: 0 0 .5em;
  }
  .grid {
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
  }
  .grid-item.landscape.extra-large, .grid-item.square.extra-large{
      width: calc(100%) !important;
      margin: 10px 0;
  }
  .grid .grid-item .item-link{
      width: 100%;
  }
  .grid .grid-item .image-wrap img{
      -webkit-filter: grayscale(0%);
      filter: grayscale(0%);
      -webkit-transition: all .5s ease;
      transition: all .5s ease;
  }
  .grid .grid-item .image-wrap:hover img {
      -webkit-filter: grayscale(100%);
      filter: grayscale(100%);
  }
  body.gallery main .container{
      padding-bottom: 50px;
  }
  body.gallery .masonry-item, body.listing .masonry-item{
      margin-bottom: 10px;
      width: 100%;
  }
  .gallery .back-to-works{
      margin: 0;
  }
  .gallery .back-to-works.back-to-works-bottom {
      box-sizing: border-box;
      padding-left: 20px;
      position: relative;
      bottom: 50px !important;
      z-index: 100;
  }

  /*----listing----*/
  .listing .main-lower{
      transform: translate3d(0,40px,0);
      -webkit-transition: -webkit-transform cubic-bezier(0.23, 1, 0.32, 1) 1500ms, opacity 1.5s;
      transition: transform cubic-bezier(0.23, 1, 0.32, 1) 1500ms, opacity 1.5s;
      opacity: 0;
  }
  .listing .visible .main-lower {
      opacity: 1;
  }
  .listing .item-link .item-label-overlay {
      background: rgba(255, 255, 255, 0.9);
      -webkit-transition: opacity .5s ease;
      transition: opacity .5s ease;
  }
  .listing .item-link .item-label-overlay .item-label{
      font-weight: normal;
      font-size: 14px !important;
      left: -20px;
      padding-left: 20px;
      -webkit-transition: left .5s ease;
      transition: left .5s ease;
      font-family: var(--subject-font) !important;
  }
  .listing .item-link:hover .item-label-overlay .item-label {
      font-size: 14px !important;
      color: #222222;
      left: 0;
  }

  /*----contents----*/
  #content_page_wrapper ._4ORMAT_content_page_container {
      padding-bottom: 50px;
  }
  
  #content_page_wrapper p {
      font-family: var(--subject-font) !important;
  }
  
  #content_page_wrapper .align_center h2.xl-headline {
      border-top: none;
      padding-top: 0;
      margin-top: 0;
      margin-bottom: 2em;
      font-size: 16px !important;
  }
  #content_page_wrapper ._4ORMAT_content_page_row {
      padding-top: 6px !important;
      padding-bottom: 0 !important;
      padding-right: 20px !important;
      padding-left: 20px !important;
  }
  #content_page_wrapper ._4ORMAT_content_page_row h2 {
      border-top: 1px solid  #eee;
  		padding-top: 1.5em;
  		margin-top: 1em;
  		margin-bottom: 1em;
      font-family: var(--subject-font) !important;
      font-size: var(--subject-font-size) !important;
      font-weight: lighter; 
  }
  #content_page_wrapper ._4ORMAT_content_page_row ul {
      padding-left: 1.8em;
      margin-bottom: 0;
  }
  #content_page_wrapper ._4ORMAT_content_page_row ul li{
      text-align: justify;
      text-justify: inter-ideograph;
      text-indent: -1.5em;
      margin-bottom: 1em;
  }
  #content_page_wrapper ._4ORMAT_content_page_row ul li:last-child{
      margin-bottom: 0;
  }
  #content_page_wrapper ._4ORMAT_content_page_row div {
      margin: 0 !important;
      padding: 0 !important;
  }
  #content_page_wrapper ._4ORMAT_content_page_row p {
      text-align: justify;
      text-justify: inter-ideograph;
      margin-bottom: 0;
      margin-top: 1em;
  }
  #content_page_wrapper ._4ORMAT_content_page_row p:first-child{
      margin-top: 0;
  }
  #content_page_wrapper ._4ORMAT_module_contact_08{
      margin-top: 2em;
  }
  #content_page_wrapper ._4ORMAT_module_contact_08 input,
  #content_page_wrapper ._4ORMAT_module_contact_08 textarea{
      -webkit-appearance: none;
      appearance: none;
      box-shadow: none;
      border-radius: 0 !important;
  }
  #content_page_wrapper ._4ORMAT_module_contact_08 input[name="submit"]{
      margin-top: 10px;
  }
  #content_page_wrapper ._4ORMAT_module_contact_08 .eightcol .row:nth-child(3) .sixcol.last{
      display: none;
  }

  /*----blog----*/
  .blog .xl-headline{
    font-size: 16px;
    text-align: center;
  }
  .f_blog_wrapper h1 a{
    font-size: 16px !important;
    letter-spacing: .05em;
  }
  .f_blog_post p{
    line-height: 1.5em !important;
  }

  /*----footer----*/
  footer{
    background-color: transparent;
    bottom: 19px;
    color: #666;
    font-size: 12px;
    font-family: verdana, Arial, sans-serif;
    line-height: 1em;
    padding: 0;
    position: fixed;
    right: 15px;
  }
}
