@charset "utf-8";
  
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-y: scroll;
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */ }
html {scroll-behavior: smooth;}
*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit; }

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0; }

  
  
 

body {
	margin:0;
	padding:0;
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
	background-color:#f9ffff;
}

body img {
    display: block;
    max-width: 100%;
    height: auto;
}

li {
  list-style: none; }
  
a{
text-decoration:none;
}

 /* 全体幅 */
#wrapper {
  max-width: 800px;
  margin: 0 auto;
border:0px solid #EEE;
box-shadow:rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
-webkit-box-shadow:rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
-moz-box-shadow:rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
}

@media screen and (max-width: 640px) {
#wrapper {
  max-width: 100%;
  margin: 0 auto;
  margin-top:0px;
  background-color:#ffffff;
}
}

h1 {
margin:0px;
}

h2 {
margin:0px;
}

h3 {
margin:0px;
}

h4 {
margin:0px;
}

 /* 背景画像パート */
.bg01{
    background-image: url(../img/bg_01.png);
}

.upimage{
	padding:30px 0;
	margin: 0 auto;
}

/* ボタン背景 */
.btnbg{
     background: url(../img/bg_02.png) 
}


 /* ボタン位置調整 */
.btnimage{
	width:60%;
	margin-left:auto;
	margin-right:auto;
	padding:100px 0; 
}

@media screen and (max-width: 767px) {
.btnimage{
	width:80%;
	margin-left:auto;
	margin-right:auto;
	padding:50px 0; 
}
}

 /* ボタン位置調整 */
.btnimage2{
	width:80%;
	margin-left:auto;
	margin-right:auto;
	padding-bottom:20px;
}

 /* ボタンテキスト */
.btntxt1{
	text-align:center;
	font-size:2em;
	font-weight:bold;
	padding-top:30px;
}
.btntxt2{
	text-align:center;
	font-size:1.2em;
	padding-bottom:30px;
}



 /* ボタン キラッと */
@keyframes shiny {
    0% { left: -20%; }
    10% { left: 120%; }
    100% { left: 120%; }
}

.shiny-btn {
    position: relative;
    display: block;
    overflow: hidden;
}

.shiny-btn::after {
    content: '';
    position: absolute;
    top: -10%;
    left: -20%;
    width: 40px;
    height: 100%;
    transform: scale(2) rotate(20deg);
    background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
    
    /* アニメーション */
    animation-name: shiny;
    animation-duration: 5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

/* 動画背景 */
.mvbg{
     background: url(../img/bg_03.png) 
}

/* 動画 */
div.vid_contents {
width: 60%;/*背景色を横幅いっぱいに広げる*/
text-align: center;
margin: auto;
padding: 1% 1% 1% 1%;/*ここで動画の周りの余白を調整*/
background: #fff;/*余白の背景色*/
}

video.vid_main {
width: 100%;
}

.eltext h3{
	font-size:2em;
	text-align: center;
	padding-bottom:20px;
}
.elbg{
	padding:20px 0;
}


/* マージン */
.marb50{
    margin-top:50px;
    margin-bottom:50px;
}
.marb50u{
    margin-top:50px;
}
.marb100{
    margin-top:100px;
    margin-bottom:100px;
}
.marb100u{
    margin-top:100px;
}






.bgshop{
background-color:#aad0c2;
display: flow-root;
margin-top:80px;
}


.shopinner {
width:90%;
margin-right:auto;
margin-left:auto;
margin-bottom:30px;
  background-color: #fff;
  padding:20px;
}

.shopt {
  text-align: center;
  padding-top: 40px;
  padding-bottom: 10px;
  font-size: 2em;
  font-weight: bold;
  color:#fff;
}

.shopinner__wrap {
  display: flex;
  gap: 20px;
}

.shopinner__map,
.shopinner__info {
  width: 50%;
}

/* Google Map */
.shopinner__map iframe {
  width: 100%;
  height: 100%;
  min-height: 250px;
  border: 0;
}

.teln{
font-size:1.3em;
}

/* スマホ表示 */
@media screen and (max-width: 768px) {
.shopinner {
width:80%;
}
  .shopinner__wrap {
    flex-direction: column;
  }

  .shopinner__map,
  .shopinner__info {
    width: 100%;
  }

  .shopinner__map iframe {
    min-height: 200px;
  }
}

@media screen and (max-width: 767px) {
.infotxt{
    font-size:120%;
}
}

/* 店舗ロゴ */
.logo{
 width:50%;
 float:left;
 margin-top:20px;
}

.iconL{
	width:24px;vertical-align:middle; float:left;
}
.shoptxt{
	vertical-align:middle;display:inline-block; float:left; padding-left:10px;
}


/* 予約バナー設置 */
.Innerbu {
  position: fixed;
  height: 100vh;
	z-index: 100;
}
.Inner-CTA {
  position: fixed;
  right: 0;
  bottom: 50%;
  width: 64px;
  height: 160px;
}

@media screen and (max-width: 767px) {
.Innerbu {
  display:none;
}
}


.float-bnr.device-sp p {
    width: 33.3333%;
    display: table-cell;
}

.float-bnr {
    position: fixed;
    bottom: 0;
	z-index: 99999999;
    width: 100% !important;
    height: auto !important;
}
@media screen and (min-width: 767px) {
.float-bnr.device-sp p {
  display:none;
}
}

/* 店舗画像 */
.shopL{
    width:48%;
    float:left;
    margin:20px 0 0 0;
}
.shopR{
    width:48%;
    float:right;
    margin:20px 0 0 0;
    text-align:left;
}

@media screen and (max-width: 767px) {
.shopL{
    width:100%;
    float:none;
    margin:20px 0 0 0;
}
.shopR{
    width:100%;
    float:none;
    margin:20px 0 0 0;
}
}




/* お問い合わせフォーム */
.contactarea{
	margin:50px 0;
}
.Form {
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
  margin-bottom: 100px;
  padding:0 20px;
}
@media screen and (max-width: 480px) {
  .Form {
    margin-top: 40px;
  }
}
.Form-Item {
  border-top: 1px solid #ddd;
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 480px) {
  .Form-Item {
    padding-left: 14px;
    padding-right: 14px;
    padding-top: 16px;
    padding-bottom: 16px;
    flex-wrap: wrap;
  }
}
.Form-Item:nth-child(5) {
  border-bottom: 1px solid #ddd;
}
.Form-Item-Label {
  width: 100%;
  max-width: 248px;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
  }
}
.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label.isMsg {
    margin-top: 0;
  }
}
.Form-Item-Label-Required {
  border-radius: 6px;
  margin-right: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 48px;
  display: inline-block;
  text-align: center;
  background: #5bc8ac;
  color: #fff;
  font-size: 14px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label-Required {
    border-radius: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    width: 32px;
    font-size: 10px;
  }
}
.Form-Item-Label-Required2 {
  border-radius: 6px;
  margin-right: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 48px;
  display: inline-block;
  text-align: center;
  background: #666666;
  color: #fff;
  font-size: 14px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label-Required2 {
    border-radius: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    width: 32px;
    font-size: 10px;
  }
}
.Form-Item-Input {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #eaedf2;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Input {
    margin-left: 0;
    margin-top: 18px;
    height: 40px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Item-Textarea {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #eaedf2;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Btn {
  border-radius: 6px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 280px;
  display: block;
  letter-spacing: 0.05em;
  background: #5bc8ac;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .Form-Btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 160px;
    font-size: 16px;
  }
}


/* お問い合わせフォームタブ切り替え */
.tab-area{
width: 100%;
margin: 0 auto;
}
.tab-btn{
display:none; /*タブの切り替えを制御するラジオボタンを非表示に*/
}
.tab-list-wrap{
padding:0; /*デフォルトの値をクリア*/
margin: 0; /*デフォルトの値をクリア*/
list-style-type:none; /*デフォルトの値をクリア*/
display:flex; /*ボタンを横並びに*/
justify-content:space-between; /*ボタンを横幅いっぱいに配置*/
}
 
.tab-list{
display:block;
width: 260px;
padding: 8px 0;
text-align:center;
border-top:1px solid #4e7bcc;
border-left:1px solid #4e7bcc;
border-right:1px solid #4e7bcc;
border-radius: 4px 4px 0 0;
background: #c5daff;
box-sizing:border-box; /*borderの値を横幅に含める*/
cursor:pointer; /*オンマウス時にカーソルを指の形に*/
}
 
#tab-btn1:checked ~ .tab-list-wrap #tab-list1,
#tab-btn2:checked ~ .tab-list-wrap #tab-list2,
#tab-btn3:checked ~ .tab-list-wrap #tab-list3,
#tab-btn4:checked ~ .tab-list-wrap #tab-list4{
background:#ffffff; /*対応するボタンにチェックが入ったときに背景を#ffffff（白）に*/
}
.tab-content{
padding:20px;
border-bottom: 1px solid #4e7bcc;
border-left: 1px solid #4e7bcc;
border-right: 1px solid #4e7bcc;
display:none; /*初期状態を非表示に*/
}
#tab-btn1:checked ~ .tab-content-wrap #tab-content1,
#tab-btn2:checked ~ .tab-content-wrap #tab-content2,
#tab-btn3:checked ~ .tab-content-wrap #tab-content3,
#tab-btn4:checked ~ .tab-content-wrap #tab-content4{
display: block;/*対応するボタンにチェックが入ったときに表示*/
}


@media screen and (max-width: 767px) {
.tab-list{
display:block;
width: 150px;
padding: 8px 0;
text-align:center;
border-top:1px solid #4e7bcc;
border-left:1px solid #4e7bcc;
border-right:1px solid #4e7bcc;
border-radius: 4px 4px 0 0;
background: #c5daff;
box-sizing:border-box; /*borderの値を横幅に含める*/
cursor:pointer; /*オンマウス時にカーソルを指の形に*/
}
}

.szone{
	width:100%;
}
.seltext{
	padding:20px 0 0 50px;
}

@media screen and (max-width: 767px) {
.szone{
	width:100%;
	padding-right:40px;
}
}



/* 振袖コレクションブランドスライド */
.slider-wrap {
      display: flex;
      align-items: flex-start;
      max-width: 1200px;
      margin: 60px auto;
      gap: 40px;
    }

    /* 左のイメージ */
    .left-image {
      width: 55%;
    }

    .left-image img {
      width: 100%;
      height: auto;
      display: block;
    }

    /* 右のスライド */
    .right-slider {
      width: 45%;
      position: relative;
    }

    .swiper-slide img {
      width: 100%;
      height: auto;
      display: block;
    }
    
    
    /* 左：スライド */
    .left-slider {
      width: 45%;
      position: relative;
    }
    
    .swiper-slide img {
      width: 100%;
      height: auto;
      display: block;
    }

    /* 右：固定画像 */
    .right-image {
      width: 55%;
    }

    .right-image img {
      width: 100%;
      height: auto;
      display: block;
    }
    
    


    /* 矢印の位置調整 */
    .swiper-button-next,
    .swiper-button-prev {
      color: #333;
    }
 .p-txt{
 	margin-top:1em;
 	font-size:0.9em;
 	line-height:1.1em;
 	color:#333;
 	text-align:center;
 }
 
 /*# 左右に流れるスライダー */
.flow-slider {
  margin: 80px 0;
}

.flow-slider .flowSwiper1 {
  overflow: hidden; 
}
.flow-slider .flowSwiper2 {
  overflow: hidden; 
}
.flow-slider .flowSwiper3 {
  overflow: hidden; 
}


 
 
 
 /*# スマホ固定バナー */
.fixed_cont{
  display:none;
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  z-index:999;
}
.fixed_cont ul{
  display:flex;
  width:100%;
  box-shadow:0 -2px 4px #555;
}
.fixed_cont ul li{
  width:100%;
  background:#e67c2e;
}
.fixed_cont ul li:first-child{
  background:#e67c2e;
}
.fixed_cont ul li:last-child{
  background:#e67c2e;
}
.fixed_cont ul li:not(:first-child){
  border-left:1px solid #fff;
}
.fixed_cont ul li a{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:10px 0;
  color:#fff;
}
.fixed_cont ul li a img{
  max-width:20px;
  margin-right:0.5em;
  filter:brightness(10);
}
@media (max-width: 768px){
  .fixed_cont{
    display:block;
  }
}

.fixed_cont2{
  display:none;
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  z-index:999;
}

@media (max-width: 768px){
  .fixed_cont2{
    display:block;
  }
  .btnimage{
	width:90%;
	margin-left:auto;
	margin-right:auto;
	padding:50px 0; 
}
}

/*-- 動画調整 --*/ 
.video-container {
  position: relative;
  width: 80%;
  margin-left:auto;
  margin-right:auto;
  margin-top:50px;
  margin-bottom:50px;
  padding-top: 177.7%; /* 縦横比（1920 ÷ 1080 × 100） */
  overflow: hidden;
}

.video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 必要に応じて contain に変更可能 */
}
