/*====================
 全体・設定
====================*/
html {
  scroll-behavior: smooth !important;
}

body {
  width: 100%;
  margin: 0px;
  font-family: 'Playfair', serif; /* ← 追加 */
  font-weight: 400;
  line-height: 1.5;
  color: #5d5855;
  text-align: left;
  background-color: #f9f7f4;
  font-display: swap;
}

.container{
 width:100%;
 height:auto !important;
 padding-right:15px;
 padding-left:15px;
 margin:0px;
}

img{
 max-width:100%;
 height:auto;
 margin:0px;
 display:block;
}



/*==================
 フォントの設定
====================*/
:root{
 font-family:'playfair','nserif',serif !important;
}

html{
 font-family:'playfair','nserif',serif !important;
}

body{
 font-family:'playfair','nserif',serif !important;
}

input,
button,
select,
optgroup,
textarea{
 font-family:'playfair','nserif',serif !important;
}

h1, .h1{
 width:100% !important;
 font-size:2.5rem !important;
 font-weight:bold !important;
 font-family:'playfair','nserif',serif !important;
 text-align:center !important;
 display:block !important;
 align-items:center !important;
 color:#5d5855;
}

h2, .h2{
 width:100% !important;
 font-size:2.2rem !important;
 font-weight:bold !important;
 font-family:'playfair','nserif',serif !important;
 text-align:center !important;
 display:block !important;
 align-items:center !important;
 color:#5d5855;
 margin:0px !important;
}

h2 span{
 font-weight:bold !important;
 font-family:'playfair','nserif',serif !important;
 font-size:.50em !important;
 color:#5d5855;
 border-bottom:0px !important;
}

.heading-white{
 color:#fff !important;
}

.heading-white span{
 color:#fff !important;
}

h3, .h3{
 width:100% !important;
 font-size:1.6rem !important;
 font-weight:bold !important;
 text-align:left !important;
 display:block !important;
 align-items:center !important;
 margin-bottom:1.5rem;
 color:#5d5855;
}

h4, .h4{
 width:100% !important;
 font-size:1.4rem !important;
 text-align:center !important;
 font-weight:bold !important;
 color:#5d5855;
}

h4 span{
 font-size:1.2rem !important;
 font-weight:500 !important;
 text-align:center !important;
 align-items:center !important;
}

h5, .h5{
 font-size:1.2rem !important;
 text-align:center !important;
 font-weight:bold !important;
 color:#5d5855;
}

p, .p{
 font-size:1.2rem !important;
 font-weight:normal !important;
 margin-bottom:0px !important;
 line-height:40px !important;
 color:#5d5855;
}

p span{
 border-bottom:1px dotted #5d5855;
}

span{
 font-size:1rem !important;
 font-weight:500 !important;
 text-align:center !important;
 align-items:center !important;
}

em{
 color:#dc3545 !important;
 font-size:1rem !important;
 font-weight:bold !important;
}

@media screen and (max-width:959px){
p small,
.small{
 width:100% !important;
 font-size:0.5rem !important;
}

}

dl, .dl{
 margin:0px;
 padding:0px;
}

dt, .dt{
 font-size:1.2rem !important;
 margin-top:1rem !important;
 float:left !important;
}

dd, .dd{
 font-size:1.2rem !important;
 margin-top:1rem !important;
 float:left !important;
}



/*==========================
 会社概要・設定
==========================*/
@media screen and (max-width:414px){
dd, .dd{
 margin-top:0rem !important;
 margin-bottom:1rem !important;
}

}

/*==========================
 フォント・レスポンシブ・設定
==========================*/
@media screen and (max-width:959px){
h1, .h1{
 font-size:2rem !important;
}

h2, .h2{
 font-size:1.6rem !important;
}

h3, .h3{
 font-size:1.4rem !important;
}

h4, .h4{
 font-size:1.2rem !important;
}

h4 span{
 font-size:1rem !important;
}

h5, .h5{
 font-size:1rem !important;
}

}



/*==========================
 リンクの設定
==========================*/
a, .a,
a:link, a:visited{
 margin:0px;
 color:#5d5855;
 text-decoration:none !important;
 font-weight:bold !important;
}

a:hover{
 color:#8e9195;
 opacity:0.6 !important;
 transition:0.5s !important;
}

a:active{
 color:#8e9195 !important;
}

.navbar-light
.navbar-nav
.nav-link:hover{
 opacity:0.6 !important;
 transition:0.5s !important;
}

.B-link{
 color:#fff !important;
 text-decoration:none !important;
 background-color:#8e9195 !important;
}

.B-link:hover{
 color:#fff !important;
 background-color:#8e9195 !important;
 opacity:0.6 !important;
 transition:0.5s !important;
}

.nav-link.active{
 color:#8e9195 !important;
}



/*==========================
 リンク文字の設定
==========================*/
.text-link{
 margin:0px;
 color:#FE2E2E !important;
 text-decoration:none !important;
 font-weight:bold !important;
}

.text-link:hover{
 color:#FE2E2E !important;
 opacity:0.6 !important;
 transition:0.5s !important;
}



/*==========================
 リンク・アンカーポイントの設定
==========================*/
.anchor{
 display:block !important;
 padding-top:100px !important;
 margin-top:-100px !important;
}



/*==========================
 ボタンの設定
==========================*/
.btn{
  color:#8e9195 !important;
  display:block !important;
  text-align: center !important;
  font-weight:bold !important;
  font-size:1rem !important;
  border-color:#8e9195 !important;
  outline:none !important;
  background-color:#fff !important;
  text-decoration:none !important;
  -webkit-transition: all 0.5s!important;
  -moz-transition: all 0.5s !important;
  -ms-transition: all 0.5s!important;
  -o-transition: all 0.5s !important;
  transition: all 0.5s !important;
}

.btn:hover{
 color:#fff !important;
 text-decoration:none !important;
 background-color:#8e9195 !important;
}



/*========================================================
 メニューのボタンの設定(クリックしたら下にメニューが出てくる)
========================================================*/
.button-menu{
 font-size:1.7rem !important;
}



/*==========================
 大見出し・設定
==========================*/
#B-heading{
 height:auto !important;
 margin-top:5.3rem;
 background-repeat:no-repeat !important;
 background-size:cover !important;
 background-position:center !important;
 content-visibility:auto !important;
 contain-intrinsic-size:200px !important;
}

#B-heading h1{
 color:#5d5855 !important;
 margin:3rem 0px !important;
}



/*==========================
 小見出し・設定
==========================*/
.heading{
 background-position:center !important;
 background-repeat:no-repeat !important;
 background-size:100% !important;
}



/*==========================
 小見出し・PC・設定
==========================*/
@media screen and (min-width:960px){
.heading{
 margin-top:3rem;
 margin-bottom:3rem;
}

}



/*==========================
 小見出し・レスポンシブ・設定
==========================*/
@media screen and (max-width:959px){
.heading{
 margin-top:3rem !important;
 margin-bottom:3rem!important;
}

.heading h2{
 font-size:1.6rem !important;
}

}



/*==========================
 事業所案内・見出し・設定
==========================*/
.business-heading{
 text-align:left !important;
 padding-left:13px !important;
 border-left:10px solid #8e9195 !important;
}



/*==========================
 キャッチフレーズ・PC・設定
==========================*/
@media (min-width:960px){
.catchphrase{
 font-size:2.5rem !important;
 margin:3rem 0px 3rem 0px !important;
 padding:0px !important;
 text-align:center !important;
}

}



/*==================================
 キャッチフレーズ・レスポンシブ・設定
==================================*/
@media (max-width:959px){
.catchphrase{
 font-size:1.4rem !important;
 margin:3rem 0px 3rem 0px !important;
 padding:0px !important;
 text-align:center !important;
}

}



/*==========================
 区切り線・設定
==========================*/
hr.style-one{
 border:0;
 height:1px;
 background:#8e9195;
 background-image: linear-gradient(to right, #ccc, #8e9195, #ccc);
}



/*===============================
 トップページに戻るボタン・PC・設定
===============================*/
@media(min-width:980px){
#page_top{
 width:100px;
 height:100px;
 position:fixed;
 right:10px;
 bottom:75px;
 z-index:400;
 content-visibility:auto !important;
 contain-intrinsic-size:100px !important;
}

#page_top a{
 position:relative;
 display:block;
 width:100px;
 height:100px;
 text-decoration:none;
}

}
  
  
  
/*===========================================
 トップページに戻るボタン・レスポンシブ・設定
===========================================*/
@media(max-width:979px){
#page_top{
 display:none !important;
}
  
}



/*===========================================
 トップページに戻るボタン・レスポンシブ・設定
===========================================*/
@media(max-width:979px){
#page_top{
 display:none !important;
}

}



/*==================
 ヘッダー・設定
====================*/
#header{
 height:auto !important;
}



/*==================================
 ナビメニュー上部の線・スクロール時・設定
==================================*/
.nav.transform{
 background-color:rgba(69, 147, 225,.8) !important;
 height:auto !important;
}



/*==================
 ナビメニュー・設定
====================*/
.fixed-top{
 position:fixed;
 top:0px !important;
 margin:0px !important;
 padding:0px !important;
}

.navbar-nav{
 margin:0px auto !important;
}

.navbar{
 width:100%;
 font-weight:bold;
 flex-wrap:nowrap !important;
 padding-right:1rem !important;
 padding-left:1rem !important;
 margin-right:auto !important;
 margin-left:auto !important;
}

.navbar h1{
 width:auto !important;
 margin:0px !important;
 z-index:1000 !important;
}

.navbar-light .navbar-nav{
 color:#fff !important;
 text-align:center !important;
 font-size:1rem !important;
}

.navbar-brand{
 height:auto !important;
 margin:0px !important;
 display:block !important;
}

.dropdown-menu{
  position:absolute;
  top:100%;
  left:-34px!important;
  min-width:10rem;
  padding: .5rem 0.5rem !important;
  margin: .125rem 0 0;
  font-size:1rem !important;
  text-align:left !important;
  background-clip:padding-box;
  background-color:rgba(142, 145, 149, 0.7) !important;
  border:0px solid rgba(0, 0, 0, 0.15) !important;
  color:#fff !important;
  vertical-align:baseline;
 }

.dropdown-item{
 display:block !important;
 width:100% !important;
 padding:0.5rem 2rem !important;
 clear:both !important;
 font-weight:500 !important;
 text-decoration:none !important;
 text-align:center !important;
 white-space:nowrap !important;
 background-color:transparent !important;
 color:#fff !important;
 position:relative !important;
}

.dropdown-item:hover,
.dropdown-item:focus{
 opacity:0.6 !important;
 transition:0.5s !important;
}

.dropdown-item::before{
 background:#fff !important;
 content:'' !important;
 width:60% !important;
 height:2px !important;
 margin:0px 20% 0px 20% !important;
 position:absolute !important;
 left:0 !important;
 bottom:0 !important;
 transform-origin:center top !important;
 transform:scale(0, 1) !important;
 transition:transform .5s !important;
}

.dropdown-item:hover::before{
 color:#fff !important;
 opacity:0.6 !important;
 transition:0.5s !important;
 transform-origin:center top !important;
 transform:scale(1, 1) !important;
}

.logo1{
 max-width:100% !important;
}

.logo2{
 display:none !important;
}



/*==============================
 ナビメニュー・スクロール時・設定
==============================*/
.fixed-top.transform{
 height:auto !important;
 background-color:rgba(142,145,149,0.7) !important;
}

.transform .navbar-light .navbar-nav .nav-link{
 color:#fff !important;
}



/*==================
 ナビメニュー・PC・設定
====================*/
@media (min-width:960px){
.fixed-top{
 background-color:rgba(142,145,149,0.7) !important;
}

.navbar{
 margin-top:0rem !important;
}

.navbar-collapse{
 margin:0px 1rem !important;
}

.navbar-nav{
 margin-right:3rem !important;
}

.navbar-brand img{
 width:80px !important;
 height:auto !important;
}

.openbtn,
.g-nav{
 display:none !important;
}

.fixed-top{
 max-width:100% !important;
 display:flex !important;
 position:fixed !important;
 justify-content:space-between !important;
 transition: .5s !important;
 background-repeat:no-repeat !important;
 background-size:100% !important;
}

.nav-item{
 margin:0 0.3rem;
}

.navbar-light .navbar-nav .nav-link{
 color:#fff !important;
 position:relative; 
 padding-bottom:5px;
}

.navbar-light .navbar-nav .nav-link::before{
 background:#fff;
 content:'';
 width:100%;
 height:2px;
 position:absolute;
 left:0;
 bottom:0;
 margin:auto;
 transform-origin:center top;
 transform:scale(0, 1);
 transition:transform .3s;
}

.navbar-light .navbar-nav .nav-link:hover::before{
 transform-origin:center top;
 transform:scale(1, 1);
}

}



/*============================
 ナビメニュー・レスポンシブ・設定
============================*/
@media (max-width:959px){
.fixed-top{
 background-color:rgba(142,145,149,0.7) !important;
}

.navbar{
 margin-top:0rem !important;
}

.navbar-toggler:focus{
 outline:3px solid #fff !important;
 box-shadow:none !important;
}

.fixed-top{
 max-width:100% !important;
 height:100%;
 background-repeat:no-repeat !important;
 background-size:auto 4rem !important;
}

.navbar-collapse{
 margin:0px 1rem !important;
 display:none !important;
}

.navbar-expand-lg .navbar-nav .nav-link{
 padding-right: .5rem !important;
 padding-left: .5rem !important;
 margin-top:0px !important;
}

.navbar-brand img{
 max-width:100px !important;
 height:auto !important;
 margin:0px !important;
}

.dropdown-menu{
 position:absolute;
 top:100%;
 left:0;
 min-width:10rem;
 padding: .5rem 0;
 margin: .125rem 0 0;
 font-size:1rem!important;
 text-align:center !important;
 background-clip:padding-box;
 background-color:rgba(142, 145, 149, 0.7) !important;
 border:0px solid rgba(0, 0, 0, 0.15) !important;
 color:#fff !important;
 vertical-align:baseline;
}

/* SNSのアイコン設定 */
.sns-icon{
  width:24px;
  height:24px;
  min-width:24px;
  flex-shrink:0;
}
#footer .text-small span{
  flex:1;
}


}



/*===========================================
 ハンバーガーメニュー(押したら全体に拡大)・設定
===========================================*/

/*========= ナビゲーションのためのCSS ===============*/
ul{
 list-style:none !important;
}
 
#g-nav{
/*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
 position:fixed;
 z-index:-1;
 opacity:0;/*はじめは透過0*/
 background-color:#8e9195 !important;
 
/*ナビの位置と形状*/
 top:0;
 left:0;
 width:100%;
 display:flex;
 justify-content:center;
 align-items:center;

/*動き*/
 transition:opacity .4s linear, visibility .6s ease;
 pointer-events:none;
 touch-action:auto !important;
}
 
/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
 opacity:1;
 z-index:999;
 height:100vh;/*ナビの高さ*/
 pointer-events:auto;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
 /*ナビの数が増えた場合縦スクロール*/
 position:fixed;
 z-index:999;
 width:100%;
 height:100vh;/*表示する高さ*/
 overflow:auto;
 -webkit-overflow-scrolling:touch;
}
 
/*ナビゲーション*/
#g-nav ul{
 display:none;
 /*ナビゲーション天地中央揃え*/
 position:absolute;
 z-index:999;
 top:25rem;
 left:50%;
 transform:translate(-50%,-50%);
 width:95% !important;
 margin:0px;
 padding:0px;
}

#g-nav.panelactive ul{
 display:block;
}
 
/*リストのレイアウト設定*/
#g-nav li{
 list-style:none;
 text-align:center;
 transition:transform .6s ease, opacity .2s ease;
 margin:1.5rem 0px 1.5rem 0px !important;
}

#g-nav li a{
 color:#fff;
 text-decoration:none;
 padding:10px;
 display:block;
 letter-spacing:0.1em;
 font-weight:bold;
 font-size:1.2rem !important;
}

#g-nav .list-reserve{
 margin-top:50px !important;
 padding:10px !important;
 border-top:2px solid #fff !important;
 border-bottom:2px solid #fff !important;
}
 
#g-nav .list-reserve a{
 font-size:1rem !important;
}
 
#g-nav .list-reserve a strong{
 color:#fff !important;
 text-align:center !important;
 font-weight:bold !important;
 font-size:1.3rem !important;
}


 
/*========= ボタンのためのCSS ===============*/
.openbtn{
 position:fixed;
 z-index:9999;/*ボタンを最前面に*/
 right:10px;
 cursor:pointer;
 width:60px;
 height:60px;
 padding:0.3rem;
}

/*×に変化*/
.openbtn span{
 display:inline-block;
 transition:all .4s;
 position:absolute;
 left:16px;
 height:3px;
 border-radius:2px;
 background-color:#fff;
 width:45%;
 margin-top:0.5rem;
}

.openbtn span:nth-of-type(1){
 top:12px;
}
 
.openbtn span:nth-of-type(2){
 top:20px;
}
 
.openbtn span:nth-of-type(3){
 top:28px;
}
 
.openbtn.active p{
 color:#fff !important;
}
 
.openbtn.active span:nth-of-type(1){
 top:18px;
 left:18px;
 transform:translateY(6px) rotate(-45deg);
 width:30%;
 color:#fff !important;
 background-color:#fff !important;
}
 
.openbtn.active span:nth-of-type(2){
 opacity:0;
 color:#fff !important;
 background-color:#fff !important;
}
 
.openbtn.active span:nth-of-type(3){
 top:30px;
 left:18px;
 transform:translateY(-6px) rotate(45deg);
 width:30%;
 color:#fff !important;
 background-color:#fff !important;
}

/* open */
.open {
  overflow:hidden;
}

#gloval-nav {
  visibility:visible;
  opacity:1;
}

#gloval-nav li{
 opacity:1;
 transform:translateX(0);
 transition:transform 1s ease, opacity .9s ease;
}





/*==================
 トップ動画・設定
====================*/
#top{
 margin-top:0px;
 position:relative;
}

.video-wrapper{
 position:relative;
 width:100%;
 height:auto;
}



/*===================
 トップ動画・PC・設定
===================*/
@media screen and (min-width:960px){
.video-wrapper:after{
 position: absolute;
 content: "";
 top: 0;
 left: 0;
 width:100%;
 height:100%;
 background-color:rgba(0, 0, 0, 0.2);
 background-image:radial-gradient(black 20%, transparent 20%),
 radial-gradient(black 20%, transparent 20%);
 background-size: 3px 3px;
 background-position: 0 0, 3px 3px;
}

#top video{
 width:100% !important;
 height:auto !important;
 margin:0px !important;
 display:block !important;
}

}



/*===========================
 トップ動画・レスポンシブ・設定
===========================*/
@media screen and (max-width:959px){
.video-wrapper{
 height:100vh !important;
 overflow:hidden !important;
 position:relative !important;
 width:100vw !important;
}

.video-wrapper:after{
 position: absolute;
 content: "";
 top: 0;
 left: 0;
 width:100%;
 height:100vh;
 background-color:rgba(0, 0, 0, 0.2);
 background-image:radial-gradient(black 20%, transparent 20%),
 radial-gradient(black 20%, transparent 20%);
 background-size: 3px 3px;
 background-position: 0 0, 3px 3px;
}

#top video{
 height:100vh !important;
 left:0 !important;
 object-fit:cover !important;
 position:absolute !important;
 top:0 !important;
 width:100vw !important;
}

}



/*==================
 メイン・設定
====================*/
.contents-background{
 padding:5rem 0rem !important;
 background-size: cover !important;
 background-position:center !important;
 background-repeat:no-repeat !important;
}



/*==================
 メイン・PC・設定
====================*/
@media screen and (min-width:960px){
#main{
 padding:5rem 0rem;
}

.contents-background{
 background-size: cover !important;
 background-position:center !important;
 background-repeat:no-repeat !important;
}

.contents-background2{
 background-size: cover !important;
 background-position:center !important;
 background-repeat:no-repeat !important;
}

}



/*========================
 メイン・レスポンシブ・設定
========================*/
@media screen and (max-width:959px){
#main{
 padding:1.5rem 0rem;
}

.contents-background{
 padding:0rem 0rem !important;
 background-size: cover !important;   /* ←これに変更 */
 background-position:center !important;
 background-repeat:no-repeat !important;
}

.contents-background2{
 padding:0rem 0rem !important;
 background-size: cover !important;   /* ←これに変更 */
 background-position:left !important;
 background-repeat:no-repeat !important;
}

}



/*============================
 メイン・PC・フェードイン・設定
============================*/
@media screen and (min-width:960px){
/*.フェードインアニメーションの指定*/
.scrollanime{
 opacity:1.2;
}
/*一瞬表示されるのを防ぐ*/
    
.fadeInDown{
 animation-name:fadeInDown;
 animation-duration:1s;
 animation-fill-mode:forwards;
}

@keyframes fadeInDown{
0%{
 opacity:0;
}
    
100%{
 opacity:1;
 transform:translate(0);
}

}

/*上下の動きを指定*/
.updown{
 transform:translateY(-100px);
}

.downup{
 transform:translateY(100px);
}

}



/*=======================================
 メイン・トップページ・企業理念・設定
=======================================*/
.circle-1,
.circle-2,
.circle-3{
 width:100% !important;
 height:auto !important;
 display:block !important;
 overflow:hidden !important;
}

.circle-1,
.circle-2,
.circle-3 img{
 width:100% !important;
 height:100% !important;
 display:block !important;
}

.circle-1{
 border-radius:50% 50% 50% 70%/50% 50% 70% 60%;
}
.circle-2{
 border-radius:80% 30% 50% 50%/50%;
}
.circle-3 {
 border-radius:40% 40% 50% 40%/30% 50% 50% 50%;
}



/*=======================================
 メイン・トップページ・商品紹介・設定
=======================================*/
.products-list{
 width:100% !important;
 height:auto !important;
 margin-top:1.5rem !important;
 position:relative !important;
}

.products-list ul{
 margin:0px !important;
 padding:0px !important;
 list-style-type:none !important;
}

.products-number{
 margin:0px !important;
 font-size:4rem !important;
 font-weight:bold !important;
 color:#8e9195 !important;
 line-height:1.7 !important;
}

.products-list ul li h3{
 color:#8e9195 !important;
 font-size:1.7rem !important;
}



/*=================================================
 メイン・トップページ・商品紹介・レスポンシブ設定
=================================================*/
@media screen and (max-width:960px){
.products-list:before{
 display:none !important;
}

}

.page-item.active
.page-link{
 color:#fff !important;
 background-color:#8e9195  !important;
 border-color:#8e9195  !important;
}



/*====================================
 メイン・お問い合わせ・設定
====================================*/
.badge{
 padding:0.25em 0.4em;
 font-size:0.3rem;
 font-weight:700;
 text-align:center;
 white-space:nowrap;
 vertical-align:baseline;
 border-radius:0.25rem;
 transition:color 0.15s ease-in-out,
 background-color 0.15s ease-in-out,
 border-color 0.15s ease-in-out,
 box-shadow 0.15s ease-in-out;
 margin-left:10px;
}
 
.badge-danger{
 color:#fff;
 background-color:#dc3545;
}



/*===================================
 メイン・コンテンツ背景画像・設定
===================================*/
#contents-background{
 margin:0px !important;
 padding:0px !important;
}



/*==================
 フッター・設定
====================*/
#footer{
 padding:3rem 0px 3rem 0px;
 background-color:#8e9195;
 content-visibility:auto !important;
 contain-intrinsic-size:300px !important;
}

#footer h1{
 text-align:left !important; 
 color:#fff !important;
}

#footer h5{
 font-size:1.5rem !important;
 text-align:left !important; 
 color:#fff !important;
 margin-bottom:1.5rem !important;
}

#footer .list-unstyled{
 list-style:none !important;
}



/*======================
 フッター・PC・設定
======================*/
@media screen and (min-width:960px){
  #footer .footer-logo{
    width:80px !important;
    height:auto !important;
    margin:0px !important;
  }


#footer .link-secondary{
 width:auto !important;
 height:auto !important;
 font-size:1rem !important;
 color:#fff !important;
 margin-bottom:0.5rem !important;
}

#footer .link-secondary a{
 margin:0px !important;
 text-decoration:none !important;
 font-size:1rem !important;
 color:#fff !important;
 display:inline-block;
}

#footer .link-secondary a img{
 width:30px !important;
 height:30px !important;
 margin:0px !important;
}

}



/*==========================
 フッター・レスポンシブ・設定
==========================*/
@media(max-width:959px){
#footer .footer-logo{
 max-width:80px !important;
 height:auto !important;
 margin:0px !important;
}

#footer h5{
 text-align:center !important;
 margin-bottom:0.5rem !important;
}

#footer p{
 text-align:center !important;
}

#footer .link-secondary{
 text-align:center !important;
}

#footer .link-secondary{
 width:100% !important;
 height:100% !important;
 margin-bottom:0.5rem !important;
 display:block !important;
 text-decoration:none !important;
 font-size:1rem !important;
 color:#fff !important;
}

#footer .link-secondary a{
 margin:0px !important;
 font-size:1rem !important;
 color:#fff !important;
 display:inline-block;
}

#footer .link-secondary a img{
 width:30px !important;
 height:30px !important;
 margin:0px auto !important;
}

}



/*=======================
 コピーライト・設定
=======================*/
#copyright{
  background-color:#8e9195 !important;
}

#copyright p{
 color:#fff !important;
 font-size:0.8rem !important;
 font-weight:bold !important;
 text-align:center !important;
 margin:0px !important;
}

#copyright p a{
 color:#fff !important;
}

#copyright p a:hover{
 border-bottom:1px solid #fff !important;
}


.voice-item {
  padding-bottom: 22px;
  margin-bottom: 22px;
  border-bottom: 1px solid #e5e2dd;
  border-bottom: none !important;
}

@media (max-width: 767px) {
  .voice-item {
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
}

.voice-item p {
  margin-bottom: 8px;
  line-height: 1.7;
}

.voice-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.voice-card {
  background: #f2f2f2;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.voice-age {
  font-weight: 600;
  margin-bottom: 8px;
}

/*flow*/
#section4 {
    /*kground:
      rgba(244, 236, 220, 0.4)
      url("../images/bg4.png") repeat-y right center / 400px;*/
    padding: 20px;
    border-radius: 100px;
}

/*画面幅600px以上の追加指定*/
@media screen and (min-width:600px) {

  #section4 {
    padding: 20px 50px;
    overflow: hidden;
  }

} /* 追加指定ここまで */


/* ==========================
   Flow（施術の流れ）
========================== */

.flow {
  text-align: center;
  margin: 40px auto;
}

/* 見出し */
.flow-title {
  margin-bottom: 20px;
}

/* リスト */
.flow-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* 各項目 */
.flow-list li {
  margin: 12px 0;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.8;
}

/* 補足（シャワーなど） */
.flow-list small {
  display: block;
  font-size: 0.9rem;
  color: #888;
  margin-top: 4px;
}

/* スマホ */
@media screen and (max-width: 959px) {
  .flow {
    margin: 30px auto;
  }

  .flow-list li {
    font-size: 1rem;
    margin: 10px 0;
  }

  .flow-note {
    font-size: 0.9rem;
  }
}
#logo img{
  width:80px !important;
  height:auto !important;
}

#footer h1 img{
 width:80px !important;
 height:auto !important;
}

.navbar-brand img{
 width:80px !important;
}

.navbar{
 padding-left:1 !important;
 padding-right:1 !important;
 min-height:auto !important;
}

.navbar-brand{
 margin:0 !important;
 padding:0 !important;
}

/*Q＆A*/
.faq-section {
  max-width: 800px;
  margin: auto;
  padding: 40px 20px;
}

/* タイトル */
.faq-title {
  text-align: center;
  font-size: 28px;
  margin-bottom: 40px;
  letter-spacing: 0.1em;
}

/* ===== Q&A全体 ===== */
.faq-section {
  max-width: 800px;
  margin: auto;
  padding: 0 20px 40px;
}

/* 各QA */
.faq-item {
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e5e2dd;
}

/* 質問 */
.faq-q {
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}

/* 回答 */
.faq-a {
  opacity: 0.9;
  line-height: 1.8;
}

/* ===== スマホ対応 ===== */
@media (max-width: 600px) {
  .faq-q {
    font-size: 15px;
  }
  .faq-a {
    font-size: 14px;
  }
}

/*ビフォーアフター*/
.ba-section {
  padding: 40px 20px;
  /*background: #f7f7f7;*/
  text-align: center;
}

.ba-title {
  font-size: 20px;
  margin-bottom: 30px;
  letter-spacing: 1px;
}

.ba-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  max-width: 900px;
  margin: auto;
}

@media (min-width: 768px) {
  .ba-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.ba-item img {
  width: 100%;
  height: auto;
  display: block;
  background: #fff;
  padding: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.flow {
  max-width: none;
  width: 100%;
}


/*facial-lifting施術メニュー*/
.menu-section{
  width: 100%;
  padding: 60px 20px;
}

/* 中央寄せだけ */
.menu-inner{
  max-width: 900px;
  margin: 0 auto 40px;
  text-align: center;
}

/* グリッド（これが神） */
.menu-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  max-width: 1100px;
  margin: 0 auto;
}

/* カード */
.menu-item{
  background: #fff;
  padding: 20px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}

/* 画像 */
.menu-item img{
  width: 85%;
  height: 250px;
  object-fit: cover;
  margin: 20px auto;
  display: block;
}

/* 価格 */
.price{
  text-align: center;
  font-weight: bold;
  margin-top: 10px;
}

/* スマホ */
@media (max-width: 768px){
  .menu-grid{
    grid-template-columns: 1fr;
  }
}

/*yearに下線を付けない*/
#copyright span{
  border-bottom:none !important;
}