@charset "utf-8";

.content{
    margin: 0 auto;
}

.scroll-prevent {
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100%;
    
}

.box{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10000;
  -webkit-transition: all 1.2s ease; /* 1.2秒でフェードアウト */
          transition: all 1.2s ease;
  color: #ccc; /* ローディングアニメーションカラー */
  background-color: #fff; /* 背景カラー */
}

.box.loaded{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

/* ローディングアニメーション */
.spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform-origin: center;
          transform-origin: center;
  width: 40px;
  height: 40px;
}
.spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform-origin: center;
          transform-origin: center;
  width: 40px;
  height: 40px;
}
.spinner.type1 {
  border-radius: 50%;
  border-width: 1px;
  border-style:solid;
  border-color: #ccc rgba(204, 204, 204, 0.12) rgba(204, 204, 204, 0.12);
  /* ローディング要素のアニメーションを指定 */
  -webkit-animation: spinner1_1 1s infinite linear forwards;
          animation: spinner1_1 1s infinite linear forwards;
}
 
/* ローディング要素のアニメーション内容 */
@-webkit-keyframes spinner1_1 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
 
@keyframes spinner1_1 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}

.modal_box{
    display: none;
    height: 120vh;
    position: fixed;
    top: 0;
    left:0;
    width: 100%;
    background-color: #fff;
    z-index: 9999;
}

    
.modal_content{
    background: #fff;
    left: 50%;
    padding: 40px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 60%;
}

 a { outline: none; }
#hoge {
	overflow : hidden;
	outline : none;
}


body { 
  -webkit-font-smoothing: antialiased;
  color: #4c4647;
  height: 100%;
  text-align: left;
  position: relative;	
  background: #FFF;
  font-size: 13px;
  font-weight: 300;
  line-height:18px;
  font-family:'Helvetica Neue LT ARM W05_45 L',"Noto Sans Japanese", Quicksand, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, sans-serif;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  box-sizing: border-box;
}

h1,h2,h3,h4,h5,p {
	font-weight: normal;
	margin: 0;
}

.jp p {
	letter-spacing: 0.05em;	
}

.en p {
	letter-spacing: 0.02em;	
}

a{
	text-decoration: none;
	color: #4c4647;
    cursor: pointer;
}

a:hover{
	text-decoration: none!important;
	color: #333;
}

.fullscreen body {
	overflow: hidden;	
}

ul {
	padding: 0;
	list-style: none;
}

br.sp {
    display: none;
}

/* Layout */


#header {
    width: calc(100% - 100px);
    margin: 0 0 0 0;
	padding:0 50px;
    height: 140px;
	top:0px;
	left:0px;
	position: fixed;
	z-index: 2000;
}

.navlogo {
    clear:none;
	margin:35px 0 25px 0px;
    width: 130px;
	display:block;
    z-index: 2000;
    position:absolute;
}

.navlogo img {
    width: 100%;
}

.logo {
    text-align: center;
    margin: 45vh auto 0;
    width: 100%;
    // アニメーション設定: ;
    animation-name: fade-in;
    animation-duration: 10s;
    animation-timing-function: ease-out;
    animation-delay: 10s;
    animation-iteration-count: 10;
    animation-direction: normal;
    animation-fill-mode: forwards;
}
  @keyframes fade-in1 {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
.top_main {
    width:100%;
    z-index: 10;
}

.main_logo {
  width:190px;	
  z-index: 20;
  transition: 1.2s ease-in-out;
}

.main_logo img {
  width: 100%;   
}

.global_sp {
    background: #fff;
    color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 990;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    justify-content: center;
    font-size: 15px;
    letter-spacing: 0.3em;
    opacity: 0;
    -webkit-transition: opacity .8s ease;  /* アニメーション時間は 0.8秒 */
    -ms- transition: opacity .8s ease;
    -moz- transition: opacity .8s ease;
    transition: opacity .8s ease, visibility .8s ease;
}

.open .global_sp{
    visibility: visible;
    opacity: 1;
}

ul.nav {
    align-items: center;
    text-align: center;
    vertical-align: middle;
    transition-delay: .3s;
    transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
}

li.deley,
li.deley img {
    opacity: 0;
    -webkit-transition: translateY(-10px);
    transform: translateY(-10px);
    transition: opacity .2s ease, -webkit-transform .6s ease;
    transition: transform .6s ease, opacity .2s ease;
    transition: transform .6s ease, opacity .2s ease, -webkit-transform .6s ease;
    padding:1.8vh 0;
    text-align: center;
}

.open li.deley,
.open li.deley img {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    transition: opacity .3s ease, -webkit-transform .5s ease;
    transition: transform .5s ease, opacity .3s ease;
    transition: transform .5s ease, opacity .3s ease, -webkit-transform 1s ease;
}

li.deley:nth-child(1) {
    padding:5vh 0 1.8vh 0;
    transition-delay: .3s;
}

li.deley:nth-child(2) {
    transition-delay: .35s;
}

li.deley:nth-child(3) {
    transition-delay: .4s;
}

li.deley:nth-child(4) {
    transition-delay: .45s;
}

li.deley:nth-child(5) {
    transition-delay: .5s;
}

li.deley:nth-child(6) {
    transition-delay: .55s;
}

li.deley:nth-child(7) {
    transition-delay: .6s;
}

li.deley:nth-child(8) {
    transition-delay: .65s;
}
li.deley:nth-child(9) {
    transition-delay: .7s;
}
.icon {
    display: inline-block;
    width: 35px;
}

.border {
    color: #ccc;
}

 .navToggle {
    display: block;
    position: fixed;
    right: 50px;
    top: 40px;
    width: 50px;
    height: 40px;
    z-index: 2000;
    background:none;
    text-align: center;
}
 
.navToggle span {
    position: absolute;
    display: block;
    width: 50px;
    border-bottom: solid 1px #4c4647;
    -webkit-transition: .50s ease-in-out;
    -moz-transition: .50s ease-in-out;
    transition: .50s ease-in-out;
}
 
.navToggle span:nth-child(1) {
    top: 5px;
}
 
.navToggle span:nth-child(2) {
    top: 20px;
}

.navToggle.active span:nth-child(1) {
    top: 15px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
 
.navToggle.active span:nth-child(2) {
    top: 15px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.navToggle.active span.white:nth-child(1) {
    top: 15px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-bottom: solid 1px #4c4647;
}
 
.navToggle.active span.white:nth-child(2) {
    top: 15px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    border-bottom: solid 1px #4c4647;
}

#footer_top {
    width: 300px;
    padding: 0 50px;
    clear: both;
    z-index: 2000;
}
#footer_top_center {
    text-align: center;
    width: 300px;
    margin: 50px auto;
    clear: both;
}

#footer_wrap {
    width:100%;
    background-color: #aec5d3;
    text-align: center;
    padding:5vh 0;
}

.footer {
    text-align: center;
    margin:0 auto 10vh;
    color: #fff;
    width:650px;
}

.footer tr.footer_menu td {
    padding-right: 30px;
    font-size:14px;
}

.footer tr.footer_menu td a {
    color: #fff;
}

.footer tr.footer_menu td a:hover {
    text-decoration: underline!important;
}

.footer tr.footer_menu td:last-child {
    padding-right: 0px;
}

.insta_icon {
    width:25px;
    height:25px;
    display: inline-block;
    margin:0 auto;
    padding: 0 10px;
}

.insta_icon img {
    width:100%;
    height:auto;
}

.marmors_icon {
    padding: 20px 0;
    width: 94px;
    height: auto;
    display: block;
    margin: 0 auto;
}
.marmors_icon img {
    width:100%;
}

.copyright {
	font-size:11px;
    letter-spacing: 0.1em;
	text-align:center;
	line-height: 18px;
    color: #fff;
}

.top_caption {
    font-size:10px;
    bottom:20px;
    display: block;
    letter-spacing: 0.1em;
    margin-top:20px;
}


#contents {
	overflow:hidden;
    width: 100%;
	margin:190px auto 100px auto;
    text-align: left;
}

.contents_title {
    font-size: 17px;
    letter-spacing: 0.2em;
    margin:50px 0 80px 0;
}

.contents_main {
    font-size:12px;
    letter-spacing: 0.2em;
    width:750px;
    text-align: center;
    margin:0 auto;
}

/* layout about*/

.about_text {
    padding-bottom: 30px;
    line-height: 2.7em;
    text-align: left;
}

/* layout collection */

.collection_menu {
    font-size: 12px;
    letter-spacing: 0.1em;
    margin: 0px 150px 100px;
    text-align: right;
}

#collection-productList {
    width: calc(100% - 300px);
    margin:0 150px 50px;
    clear: both;
}

#collection-productList:after {
    display: block;
    content: "";
    clear: both;
}

#collection-productList .main_img {
    width:32%;
    float:left;
    display: block;
    padding-right: 2%;
    margin-bottom:2%;
    transition: .5s;
}

#collection-productList .main_img:hover {
    opacity: 0.7;
}

#collection-productList .main_img:nth-child(3n) {
    padding-right: 0;
}

.main_img img {
    width:100%;
}

.details {
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	left:0;
	width: 720px;
	height:900px;
	margin: auto;
    margin-top:-1%;
	clear:both;
	display: table-cell;
}
.detail_imgs {
	margin:0 auto;
    text-align: center;
    width: 100%;
	display:block;
}

.detail_imgs img {
    height:auto;
    width:100%;
}

    
.caption {
    padding:0px;
    line-height: 1.6em;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-align: left;
    width: 310px;
    float: left;
    position: absolute;
    bottom: -8vh;
    left: 75%;
}
.caption img{
    width:100px;
    height:100%!important;
    margin:0;
}

.modal_close {
    cursor: pointer;
    position: absolute;
    right: 4vw;
    top:6vh;
    z-index: 9999;
    letter-spacing: 0.1em;
}

.btn-flat-border {
  display: inline-block;
  background:#4c4648;
  padding: 0.3em 3em;
  text-decoration: none;
  color: #fff;
  border: solid 1px #4c4648;
  transition: .4s;
  margin:5px 0 15px;
  
}

.btn-flat-border:hover {
  color: #fff;
}

.thumbnail-item  {
  opacity: 1;
  transition: .5s;
}


.thumbnail-item:hover {
  opacity: 0.7;
}


/* layout news*/
.newsWrap {
    width: 100%;
    padding-bottom:90px;
    margin-bottom:50px;
    border-bottom:solid 1px #ccc;
    clear: both;
}

.newsWrap:last-child {
    border-bottom:none;
    padding-bottom:100px;
}

.newsWrap:after {
    display: block;
    content: "";
    clear: both;
}

.news_img {
    width:100%;
    display: block;
}
.news_img img {
    width:100%;
}

.news_text {
    display: block;
    width:100%;
    margin:0 auto 0 0;
    line-height: 2.3em;
    padding-top:25px;
    text-align: left;
    letter-spacing: 0.2em;
}

.news_text span.date {
    font-size:12px;
    padding-bottom:20px;
    width:100%;
    display: block;
}

/* layout stockist*/

.stockist_area {
    width:40%;
    margin-right:5%;
    text-align: left;
    font-size:14px;    
    font-family:'Helvetica Neue LT W05_65 Medium'
}

.stockist {
    width:100%;
    margin:15px auto;
    text-align: left;
}

.stockistWrap {
    width: 100%;
    margin-bottom:100px;
    clear: both;
}

.stockistWrap:aftre {
    display: block;
    content: "";
    clear: both;
}

p.area {
    padding:25px 0 10px;
    width: 100%;
}

p.area:nth-first-child {
    padding:0px 0px 10px;
}

.stockist p.shopname,
.stockist p.address,
.stockist p.tel {
    width:100%;
    line-height: 2.0em;
}


/* layout contact*/

.contactWrap {
    width:100%;
    clear:both;
    margin-top:50px;
}

.contactWrap:after {
    display: block;
    content: "";
    clear: both;
}

.contact_textWrap {
    width:100%;
    text-align: left;
    float:left;
}

.contact_text {
    width:100%;
    float:left;
    padding-bottom:50px;
    line-height: 1.8em;
}

.contact_text span.inline_text {
    font-size: 14px;
    padding-bottom:15px;
    width:100%;
    display:block;
}

.map {
   width: 40%;
   float:left;
   margin-left:10%;
   text-align: left;
 }

.map img {
    width:100%;
}

@media screen and (max-width:1180px) {

.details {
	width: 576px;
	height:720px;
}
.caption {
    padding: 0px 0px 40px 0px;
    line-height: 1.6em;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-align: left;
    width: 30%;
    float: none;
    position: initial;
    bottom: 12vh;
    align-items: center;
    margin: 0 auto 5vw;
    padding: 3vw 7vw 0 0;
}

}

@media screen and (max-width:1080px) {
	
#header {
   height: 120px;
}
    
.navlogo {
   width:140px;
}
    
.navToggle {
   top: 35px;
}

#contents {
  margin:190px auto auto;
}
    
#mainVisualWrap img{
 width:auto;
 height:100%;
}
    
.news_text {
    display: block;
    float: none;
    width: 100%;
    margin: 0px 0 10px 0;
    line-height: 2.0em;
}
    
.newsWrap {
    padding-bottom: 40px;
}
    
.news_text span.date {
    padding-bottom:20px;
}
.modal_close {
    right: 10vw;
}

.caption {
    line-height: 1.6em;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-align: left;
    width: 30%;
    float: none;
    position: initial;
    bottom: 12vh;
    align-items: center;
    margin: 0 auto 5vw;
    padding: 3vw 11vw 0 0;
}
    
}
@media screen and (max-width:1030px) {
#contents {
    margin: 190px auto auto;
}
    
.contents_main {
    width: 680px;
    margin:auto;
    }
    
.collection_menu {
    font-size: 11px;
}

.collectionWrap {
    margin-bottom:10px;
}

.collection_main_img,
.collection_main_img:nth-child(3n) {
    width:45%;
    float:left;
    display: block;
    padding-right: 10%;
    margin-bottom:5%;
}    

.collection_main_img:nth-child(2n) {
    padding-right: 0;
}
    
.caption {
    padding: 0px 0px 40px 0px;
    line-height: 1.6em;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-align: left;
    width: 70%;
    float: none;
    position: initial;
    bottom: 12vh;
    align-items: center;
    margin: 0 auto 5vw;
    padding: 4vw 10vw 0 0;
}
    
.news_img {
    width: 100%;
    float: none;
    display: block;
}
    
.news_text {
    padding-top: 15px;
}
    
.stockist {
    width: 100%;
}
    
.contact_textWrap {
    width: 100%;
    text-align: left;
    float:none;
}
    
.map {
    width: 50%;
    float: none;
    margin: 40px auto 30px 0;
}
    

@media screen and (max-width:768px) {
    
    #header {
    width: calc(100% - 50px);
    margin: 0 25px;
	padding: 0;
    position: fixed;
	}

  @keyframes fade-in1 {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
    
    .main_logo {
    width:190px;	
    }
	
    .navlogo {
    width:100px;
    }
    
    .navToggle span {
    width:30px;
    top:35px;
    right:0;
    display: block;
    }
    
    .navToggle span:nth-child(2) {
    top: 15px;
    }
    
    .navToggle {
    right:25px;
    }
    
    .global_sp {
    font-size:12px;
    }
    
    li.deley {
    padding:1.5vh 0;
    }
	
    li.deley img {
    padding:1.5vh 0;
    width:15px!important;
    }
    
    #footer_top {
    width: 80%;
    bottom: 20px;
    padding:0px 25px;
    margin-top:20px;
    }
    
   .footer {
    margin:0 auto 5vh 0;
    width: 80%
    }
    
    tr.footer_menu {
    width:70%;
    line-height: 2.2;
    text-align: left;
    }
    .footer tr.footer_menu td {
    float: left;
    width: 38%;
    padding:0 0 0 25px;
    font-size:11px;
    letter-spacing: 0.1em;
    line-height: 2.3;
    }
    .footer_menu2 {
        text-align: left;
    }
    .insta_icon {
    margin: 0 0 0 18px;
    width: 15px;
    }
    .insta_icon:nth-of-type(2) {
        margin-left: 5px;
    }
    
    .marmors_icon {
    margin: 0 0 0 25px;;
    }
	
	.copyright {
    text-align: left;
    padding-left: 25px;
    margin-top: 4vh;
    font-size: 8px;
    }
    
    #contents {
    margin: 100px auto auto;
}
    
    .logo {
        margin:45vh auto 0;
    }
    
    .top_scroll {
    width:100%;
    z-index: 200;
    padding-bottom:30px;
}

    .contents_title {
    font-size: 14px;
    letter-spacing: 0.1em;
    margin: 40px 0 50px 0;
}
    
    .contents_main {
    font-size: 10px;
    letter-spacing: 0.1em;
    width: 370px;
    text-align: left;
    margin: 50px auto;
}
    
.caption {
    padding:0px 0px 40px 0px;
    line-height: 1.6em;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-align: left;
    width: auto;
    float: none;
    position: initial;
    bottom: 12vh;
    align-items: center;
    margin: 0 auto 5vw;
    padding: 3vw 0vw 0 10vw;
}
	
    
    
    .about_text {
    line-height: 2.4em;
}
    
/* layout collection sp */
    

    
    .collection_menu {
    font-size: 11px;
    width: calc(100% - 50px);
    margin: 0px 25px;
    padding:0px 0px 40px 0px;
    }
    
    .details {
	width: 460px;
	height:576px;
    }
    
    .collectionWrap {
    padding-bottom: 30px;
    margin-bottom: 25px;
    }
    
    #collection-productList {
    margin:0px 50px;
    width:calc(100% - 100px);
    }
    
    #collection-productList .main_img {
    width: 32%;
    float: left;
    display: block;
    padding-right: 2%;
    margin-bottom: 2%;
}
    
    #collection-productList div:nth-child(3n) {
    padding-right: 0!important;
}
    
    #collection-productList .main_img:nth-child(4n) {
    padding-right: 2%;
}
    
    .modal_close {
    right: 4vw;
    top:4vh;
}
    
    
/* layout news sp */
    
    .news_text span.date {
    font-size: 10px;
    }
    
    .newsWrap {
    width: 100%;
    padding-bottom: 40px;
    margin-bottom: 25px;
    border-bottom: solid 1px #ccc;
    clear: both;
    }
    
    .newsWrap:last-child {
    padding-bottom:30px;
    }
    
/* layout stockist sp */
    .stockist_area {
    text-align: left;
    font-size: 13px;
}
    
    .stockist {
    margin: 10px auto;
}
    
    p.area {
    padding: 15px 0 5px;
    width: 100%;
}
   
    
    
/* layout contact sp */
    
    .map {
        width:60%;
    }
    
    .contact_text span.inline_text {
    font-size: 12px;
    padding-bottom:15px;
    width:100%;
    display:block;
}

}   
    
    
@media screen and (max-width: 414px) {      
 .spinner {
  position: absolute;
  top: 45%;
  left: 50%;
}
    
.logo {
    margin: 42vh auto 0;
    }
    
.main_logo {
    width:140px;	
}
    
#contents{
    margin: 150px 0 auto;
}

.contents_title {
    width:100%;
    padding-left:25px;
}
    
#collection-productList {
    width: calc(100% - 50px);
    margin: 0 25px;
}
    .details {
	width: 368px;
	height:460px;
    }

.contents_main,
#contents_collection {
    width:calc(100% - 50px);
    margin:0 25px;
}
    
.news_text {
    width: 100%;
    margin: 10px auto 10px 0;
    line-height: 2.0em;
}

br.sp {
    display: block;
}
    
.map {
    width:70%;
    }
    
.modal_box {
   height:120vh;
   overflow-y: scroll;
}
    
.modal_close {
    right: 6vw;
    top:3vh;
    font-size: 9px;
}
    
.caption {
    padding: 7vw 0vw 0 0;
    width:90%;
    font-size:9px;
}

}
