﻿div#video {
    position: relative;
    overflow: hidden;
    height: 80vh;}
    
video.video.width_100per {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}




img{filter: grayscale(0%) !important;}


/*mouse-----------------------------------------------------------------------*/
body{
cursor: auto; 
}
.cursor,.follower {
border-radius: 50%;
position: fixed; 
top: 0;
left: 0; 
cursor: block; 
pointer-events: none; 
}

/*.cursor{*/
/*width: 8px;*/
/*height: 8px;*/
/*background-color: #141414;*/
/*z-index: 1001;*/
/*}*/
.follower{
width: 40px;
height: 40px;
background-color: rgb(75,214,219);
background-color: linear-gradient(90deg, rgba(75, 193, 219,1) 0%, rgba(75, 214, 219,1) 100%);
mix-blend-mode:multiply;
z-index: 1000; 

}

.follower.is-active{
     background-color: transparent !important;
     border: solid 1px #4bc1db;
     mix-blend-mode:multiply;
     transform: scale(1.8);

}

/*mouse-----------------------------------------------------------------------*/



/*font-----------------------------------------------------------------------------*/
.font_serif,#main_nav li a, .sc_nav li a, .sc_nav .shop_link a,h2,h3,.top_cms_title,.more a,.balloon_l p,.cate_title,section#page10 li a
{font-family: 'Libre Baskerville','Noto Serif JP', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", serif !important;}
.font_bold {  font-weight: 500;}

.intro_title h3 {color: #141414;}

    
#intro .intro_txt h2 {
    transform: translateY(-27%);
    font-size: 23px;
    letter-spacing: 3px;
    width: 70% !important;
    background: transparent;
    text-align: left;
    padding: 0 0;
}

.intro_txt {
    padding-top: 60px;
    padding-bottom: 50px;
    background-image: url(dup/img/intro_img01.png), url(dup/img/intro_img02.png);
    background-size: 25%;
    background-repeat: no-repeat;
    background-position: bottom right,top -5% left -5%;
    background-color: transparent;
    border: solid 1px #c1a30c;
}



#intro .slick {
     margin-left: 0%; 
}

section#intro {margin-top: 30px;}

#intro .intro_img {
    position: relative;
    transform: translate(-30px, 0px);
}
#intro .intro_title {
    width: 100%;
    position: absolute;
    top: 50%;
    right: -100%;
    transform: translate(-14%, -54%);
}





.contents1_txt h3, #top_contents2 h3 span {letter-spacing: 3px;}

.insta{
    letter-spacing: 0.1em;
    margin-bottom: 5px;
    text-shadow: 5px 5px 3px rgb(20 20 20 / 20%);}

 .catch{
    z-index: 3;
    height: 100%;
    width: 100%;
    width: 100%;}

#timeout{
    position:absolute;
}


 .catch_sp h2 {display:none;}


/*アニメーション*/
.text.offs .effect {
  opacity: 0;
}
.text.ons .effect {
  opacity: 1;
  transition-duration: 1s;
}

/*遅延の設定*/
.delay-1 {
  transition-delay: 2.5s;
}
.delay-2 {
  transition-delay: 2.7s;
}
.delay-3 {
  transition-delay: 2.9s;
}
.delay-4 {
  transition-delay: 3.1s;
}
.delay-5 {
  transition-delay: 3.3s;
}
.delay-6 {
  transition-delay: 3.5s;
}
.delay-7 {
  transition-delay: 3.7s;
}
.delay-8 {
  transition-delay: 3.9s;
}
.delay-9 {
  transition-delay: 4.1s;
}
.delay-10 {
  transition-delay: 4.3s;
}
.delay-11 {
  transition-delay: 4.5s;
}
.delay-12 {
  transition-delay: 4.7s;
}
.delay-13 {
  transition-delay: 4.9s;
}
.delay-14 {
  transition-delay: 5.1s;
}
.delay-15 {
  transition-delay: 5.3s;
}
.delay-16 {
  transition-delay: 5.5s;
}
.delay-17 {
  transition-delay: 5.7s;
}


/*cms-----------------------------------------------------------------------------*/

/*linkStyle*/
a.linkStyle {
    color: #141414;
    transition: 0.5s;
    border-bottom: solid 1px
}
a.linkStyle:hover {
    color: #141414;
    cursor: pointer;
}



#cms_2-b h3.cate_title {
    font-size: 30px;
    letter-spacing: 0.3em;
    margin-bottom: 5px;
    text-shadow: 5px 5px 3px rgb(20 20 20 / 20%);}
    
.cms_2-b h3.cate_title {
    font-size: 23px;
    letter-spacing: 0.03em;
    margin-bottom: 5px;
    text-shadow: 5px 5px 3px rgb(20 20 20 / 20%);}
    
.cms_2-b h3.box_title1 {
    display: flex;
    align-items: center;
    opacity: 0.8;
    font-size: 16px;}
    
#cms_2-b h3.box_title1{
    display: flex;
    align-items: center;
    opacity: 0.8;
    font-size: 18px;
}
#cms_2-b h3.box_title1::before,.cms_2-b h3.box_title1::before {
    border-top: 1px solid;
    content: "";
    flex-grow: 1;
    max-width: 35px;
    opacity: 0.6;
    margin-right: 1rem;}
    
    
#cms_2-b .box_txt1,.cms_2-b .box_txt1{
    margin-bottom: 40px;}

/*voice------------------------------------*/

/*Q&A------------------------------------*/
/*吹き出し*/
.balloon_l,
.balloon_r{
  margin: 15px 0;
  display:flex;
  justify-content: flex-start;
   align-items: center; /*縦位置を真ん中揃え*/
}
.balloon_r{
  justify-content:flex-end;
}
.faceicon h3{
    border-radius: 50%;
    text-align: center;
    font-size: 20px;
    padding: 8px 20px;
}

.balloon_l .faceicon h3 {
    background: #636363;}
.balloon_l p {
    color: #636363;}

.balloon_r .faceicon{
  margin-left:25px;
}
.balloon_l .faceicon{
  margin-right:25px;
}
.balloon_r .faceicon{
  order:2 !important;
}


.balloon_l .says {
    border-bottom: solid 1px;
    border-right: solid 0px;
    border-left: solid 1px;
    font-size: 25px;
}
    
    
.says {
  /*max-width:700px; */
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding: 17px 13px 15px 18px;
  background: #fff;/*色は任意*/
  box-sizing:border-box;
  margin:0 !important;
  line-height:1.5;
  border-bottom: solid 1px;
  border-right: solid 1px;
/*   align-items: center; */
}
.says p{
  margin:8px 0 0 !important; 
}
.says p:first-child{
  margin-top:0 !important;
}
.says:after {
    content: "";
    position: absolute;
    border: 1px solid #141414;}

.balloon_l .says:after {
  left: -20px;
  top: 50%;
  transform: translate(0px, 0px);
  border-right: 27px solid #636363;
  border-color:#636363 !important;
}
.balloon_r .says:after {
    right: -20px;
    top: 50%;
    transform: translate(0px, 0px);
    border-left: 27px solid #141414;
}

.balloon_l .says {
    margin-right: 85px !important;}
.balloon_r .says {
    margin-left: 85px !important;
    font-size: 17px;}


/*about--------------------------------------------*/
#cms_2-a h3.cate_title {
    padding: 0;
    letter-spacing: 3px;
    display: flex;
    align-items: center;
    border: 0px;
}

#cms_2-a h3.cate_title::before {
    border-top: 1px solid;
    content: "";
    flex-grow: 1;
    max-width: 35px;
    opacity: 0.6;
    margin-right: 1rem;
}

#cms_2-a .cate {
    margin-bottom: 75px;}
    
    
.catch_sp h2{display:none !important;}
    
/*IE*/
@media all and (-ms-high-contrast: none){
    .d_none_IE{display:none !important;}
    .d_block_IE{display:block !important;}

/*mouse-----------------------------------------------------------------------*/
body{
cursor: auto; 
}

.cursor{
width: 0px;
height: 0px;
background-color: #141414;
z-index: 1001;
}

/*mouse-----------------------------------------------------------------------*/

#intro .intro_title {
    width: 100%;
    position: absolute;
    top: 51% !important;
    right: -100%;
    transform: translate(-14%, -42%);
    height:100% !important;
}

.insta {
    text-shadow: 5px 5px 3px rgba(20,20,20,0.2) !important;
}


#cms_2-b h3.cate_title {
    text-shadow: 5px 5px 3px rgba(20,20,20,0.2) !important;}
    
.cms_2-b h3.cate_title {
    text-shadow: 5px 5px 3px rgba(20,20,20,0.2) !important;}


}
/*タブレット*/
@media screen and (max-width: 768px){
    
    section#page10 li a .title1{font-size:14px;}

    .cursor, .follower{display: none !important;}

div#video {
    position: relative;
    overflow: hidden;
    height: 46vh;
}

h1 img {
    max-width: 150px;
}
header #header {
    padding: 20px;
    justify-content: center;
}

.catch .posi_center {
    position: absolute;
    top: 50%;
    left: 24%;
    transform: translate(-13%,-50%);
}

#intro h3 { font-size: 17px;}
.intro_txt {width: 78%!important;}
#intro .intro_txt h2, .intro_txt p {
    width: 80%!important;
}

#intro .intro_txt h2 {
    transform: translateY(-21%);
    font-size: 24px;
    letter-spacing: 3px;
}

#top_contents1 .contents1_txt {
    width: 75%!important;
    margin-left: 22%;}


.insta {
    letter-spacing: 0.1em;
    margin-bottom: 10px;
    margin-top: 60px;
    text-shadow: 5px 5px 3px rgb(20 20 20 / 20%);
}


#cms_2-b h3.cate_title {
    font-size: 23px;
    letter-spacing: 0.3em;
    margin-bottom: 5px;
    text-shadow: 5px 5px 3px rgb(20 20 20 / 20%);
}

#cms_2-b h3.box_title1 {
    display: flex;
    align-items: center;
    opacity: 0.8;
    font-size: 16px;
}
.balloon_l, .balloon_r {
    margin: 20px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.balloon_l .says {font-size: 22px;}

}
/*スマホ*/
@media screen and (max-width: 667px){
 
 

/*#timeout_sp{display:block;}*/
#cms_2-b .cate_box{padding:15px;}

    div#video {
    position: relative;
    overflow: hidden;
    height: 35vh;
}

#loader .logo {
    max-width: 180px;
}
    
h1 img {max-width: 130px;}

#menu_bt {
    top: 23px;
    right: 20px;
    width: 38px;}
    
#intro .intro_title {
    width: 90%;
    position: relative;
    top: 0%;
    right: 0%;
    transform: translate(4%, 0%);
}

#intro .intro_img {
    position: relative;
    transform: translate(-0px, 0px);
}

#intro .intro_txt h2 {
    transform: translateY(-45%);
    font-size: 15px;
    letter-spacing: 3px;
}

.intro_txt {
    width: 90%!important;
}

.intro_txt {
    padding-top: 60px;
    padding-bottom: 50px;
    background-image: url(dup/img/intro_img01.png), url(dup/img/intro_img02.png);
    background-size: 39%;
    background-repeat: no-repeat;
    background-position: bottom right,top -5% left -5%;
    background-color: transparent;
    border: solid 1px #c1a30c;
}

#intro .intro_txt h2, .intro_txt p {
    width: 87%!important;
    padding: 0;
}

#intro .intro_txt h2 {
    transform: translateY(-36%);
    font-size: 18px;
    letter-spacing: 5px;
}

#intro h3 {
    font-size: 17px;
    margin-bottom: 10px;
}

#top_contents1 .contents1_txt {
    width: 100%!important;
    margin-left: 0%;
}

.insta {
    font-size: 14px;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
    margin-top: 30px;
    text-shadow: 5px 5px 3px rgb(20 20 20 / 20%);
}

.cms_2-b h3.cate_title { font-size: 20px;}

.cms_2-b h3.box_title1 {  font-size: 14px;}

#cms_1-a .pager li {
    margin-right: 0px !important;}
    
#cms_2-b h3.cate_title {
    font-size: 22px;
    letter-spacing: 0.2em;
    margin-bottom: 5px;
    text-shadow: 5px 5px 3px rgb(20 20 20 / 20%);}
    
#cms_2-b h3.box_title1 {
    font-size: 14px;}

.faceicon h3 {
    border-radius: 50%;
    text-align: center;
    font-size: 16px;
    padding: 6px 11px;
}

.balloon_l .says {
    font-size: 18px;
    margin-right: 43px !important;
}

.balloon_r .says {
    margin-left: 43px !important;
    font-size: 15px;
}


.balloon_l .faceicon h3 {
    padding: 6px 10px;
} 

.balloon_l .faceicon,.balloon_r .faceicon {
    margin-right: 7px;
    margin-left: 7px;
}
    
    
#cms_2-c .box_item{padding:0px;}


.says {
    padding: 10px 5px 10px 5px;}
.balloon_l .says:after {
    left: -36px;}
    
.balloon_r .says:after {
    right: -36px;
    z-index: -2;}
   
   
  .balloon_l .says:after {
    border-right: 0px solid ;}
    .balloon_r .says:after{border-left: 0px solid}
.tel a { font-size: 25px !important;}

 .catch_sp{
    z-index: 3;
    height: 100%;
    width: 100%;
    width: 100%;
     display: block;
 }

.catch_sp .posi_center {
    position: absolute;
    top: 50%;
    left: 22%;
    transform: translate(-7%,-50%);
}
 .catch h2{display:none;}


 .catch_sp h2 {display:block !important;}
 
#page_title {
    min-height: 200px !important;}
#page_title {
    padding: 30px 30px 150px !important;
}

}


/*スマホ*/
@media screen and (max-width: 320px){
        .catch_sp .posi_center {transform: translate(-12%,-50%);}
}





/*20211102 仕様説明*/

.fadein{
     opacity: 0;
     transform: translateY(20px);
     transition: 1.5s cubic-bezier(0.5, 0.1, 0.2, 1) 0s;
     transition-property: opacity,transform
}

/*.fadein02{animation-delay: 2.5s;}*/

.fadein.fadetrans{
     opacity: 1;
     transform: none
}