
* {
margin: 0;
padding: 0;
}
html{
margin:0px;
padding:0px;
scroll-padding-top: 70px;
}
body{
-webkit-text-size-adjust: none;
background-color:#fff;
text-align:center;
color:#111111;
font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
font-weight:400;
font-size:14px;
line-height:2;
}
img{
border-style:none;
display:block;
padding:0px 0px 0px 0px;
margin:0px 0px 0px 0px;
}

a {
color:#111;
text-decoration:none;
}
a:hover, a:focus {
text-decoration: none;
color:#a48b77;
}


li{list-style:none;}


/* ローディング画面のスタイル */
#loading-screen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color:#423c37;
display: flex;
justify-content: center;
align-items: center;
transition: opacity 1s ease-in-out;
}
#loading-screen img {
width: 300px;
}

/* メインコンテンツのスタイル */
#main-content {
opacity: 0;
}

/* ロゴのスタイル */
#loading-screen img {
width: 300px;
opacity: 0; /* 初期状態では透明 */
animation: fadeIn 1s ease-in-out forwards; /* フェードインのアニメーション */
}

/* ローディング画面が表示される間、ロゴのフェードインを適用 */
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}


.box_in{
width: 90%;
padding:50px 0 0 0;
margin: 0px auto;
text-align: left;
}

.box_in_x{
width: 100%;
padding: 0;
margin: 0px auto;
text-align: left;
}

.box_in_v{
width: 100%;
padding:50px 0 0 0;
margin: 0px auto;
text-align: left;
}

/* ---Header----*/

#header {
width:100%;
transition: background-color 0.5s ease-in-out; /* 背景色の変更を滑らかに */
position:fixed;
z-index:100;
text-transform:uppercase;
}
.bg_header {
background-color: rgba(66, 60, 55, 0.6);
}
/* フェードアウトする時のスタイル */
.bg_header.fade-out {
background-color: rgba(66, 60, 55, 0); /* 背景を透明にする */
}

.header_in{
width: 94%;
height: 60px;
text-align: left;
padding:0px;
margin: 0px auto;
display: flex;
justify-content: space-between;
align-items: center;
}
.h_logo{
max-width:200px;
padding:0px;
margin:0px 20px 0 5px;

}
.h_logo a{
max-width: 100%;
max-height:30px;
display:inline-block;
vertical-align: middle;
}
.h_logo img{
max-width: 100%;
max-height:30px;
margin:0px;
padding:0;
}

.h_nav03{
white-space: nowrap;
margin:0px 50px 0 0px;
background-color: #a48b77;
border-radius: 200px;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
.h_nav03:hover{
color: #fff;
opacity: 0.7;
}
.pc_h_online-shop a{
display:flex;
align-items: center;
font-size: 10px;
line-height: 10px;
letter-spacing: 1px;
padding: 8px 10px 8px 8px;
}

.pc_h_online-shop a p{
color: #fff;
margin: 0 10px 0 10px;
}
.pc_h_online-shop a img{width: 13px;margin: 0 0 0 0;}



/* 
hamburger(ハンバーガーアイコン)
=================================== */
.hamburger {
position: absolute;
right: 20px;
top: 20px;
width: 40px;
height: 40px;
cursor: pointer;
z-index: 300;
}

.hamburger__line {
position: absolute;
width: 30px;
height: 2px;
right: 0;
background-color: #ddd;
transition: all 0.5s;
border-radius: 100px;
}

.hamburger__line--1 {
top: 0px;
}

.hamburger__line--2 {
top: 10px;
}

.hamburger__line--3 {
top: 20px;
}

/*ハンバーガーがクリックされたら*/
.open .hamburger__line--1 {
transform: rotate(-45deg);
top: 11px;
}

.open .hamburger__line--2 {
opacity: 0;
}

.open .hamburger__line--3 {
transform: rotate(45deg);
top: 11px;
}

/* 
sp-nav(ナビ)
=================================== */
.sp-nav {
position: fixed;
right: -100%; /*ハンバーガーがクリックされる前はWindow右側に隠す*/
top: 0px;
width:100%; /* 出てくるスライドメニューの幅 */
height: 100vh;
background-color: #413c38;
transition: all 0.5s;
z-index: 299;
overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}

/*ハンバーガーがクリックされたら右からスライド*/
.open .sp-nav {
right: 0;
}
/* 背景のスクロールを禁止 */
.no-scroll {
    overflow: hidden;
    height: 100vh;
}

/* 
black-bg(ハンバーガーメニュー解除用bg)
=================================== */
.black-bg {
position: fixed;
left: 0;
top: 0;
width: 100vw;
height: 100vh;
background-color: #000;
opacity: 0;
visibility: hidden;
transition: all 0.5s;
cursor: pointer;
z-index: 100;
}

/*ハンバーガーメニューが開いたら表示*/
.open .black-bg {
opacity: 0.8;
visibility: visible;
}

.sp-nav_logo{
width: 90%;
height: 60px;
display: flex;
align-items: center;
margin: 0 auto;
}
.sp-nav_logo a{height:30px;}
.sp-nav_logo a img{height:30px;margin: 0 0 0 5px;}

header ul {
margin:10px auto 100px auto;
width:90%;
}
header ul li {
color:#fff;
text-align:left;
display:block;
background-color: #58534f;
padding:20px;
font-size:14px;
line-height:14px;
letter-spacing:1px;
font-weight:300;
cursor:pointer ;
margin:0px auto 3px auto;
}
header ul li img{
display: inline;
width: 15px;
padding:0 0 0 15px;
vertical-align: bottom;
}
header ul li span{
font-size:14px;
font-weight:300;
text-indent:10px;
}
header ul li a{display: block; color:#fff;}


/* スライドショー  */
@-webkit-keyframes zoomUp {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
100% {
-webkit-transform: scale(1.15);
transform: scale(1.15);
}
}

@keyframes zoomUp { /* 1.15倍させる指定 */
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
100% {
-webkit-transform: scale(1.15);
transform: scale(1.15);
}
}

.swiper-slide {
overflow: hidden;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
margin:0px 0 0 0;
padding:0 0 0 0;
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img { /* 12秒かけて拡大させる */
-webkit-animation: zoomUp 12s linear 0s;
animation: zoomUp 12s linear 0s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}

.slide-img {
background-size: cover; 
background-position: center center; /* 背景画像は中央を軸に表示させる */
height:85vh; /* 85vhの高さで表示させる */
}

.slide-text01 {
position: absolute;
width:80%;
z-index: 10;
bottom:10%;
right:10%;
text-align:right;
margin:0 auto;
}
.slide01-low_box01{margin:0;}
.slide01-low_box01 h1{
color:#111;
font-weight:300;
font-size:5vw;
letter-spacing: 2px;
line-height: 1.7;
}
.slide01-low_box01 p{
color:#222;
font-weight:300;
font-size:3.5vw;
letter-spacing: 2px;
line-height: 1.7;
margin:30px 0 0 0;
}

@media screen and (min-width: 620px) {
	.slide01-low_box01 h1{
	color:#111;
	font-weight:300;
	font-size:24px;
	letter-spacing: 2px;
	line-height: 1.7;
	}
	.slide01-low_box01 p{
	color:#222;
	font-weight:300;
	font-size:16px;
	letter-spacing: 2px;
	line-height: 1.7;
	margin:30px 0 0 0;
	}
}


.slide-text02 {
position: absolute;
z-index: 10;
width:80%;
top:20%;
left:10%;
text-align:left;
margin:0 auto;
}
.slide02-low_box01{margin:0 auto;}
.slide02-low_box01 h1{
color:#fff;
font-weight:300;
font-size:5vw;
letter-spacing: 2px;
line-height: 1.7;
}
.slide02-low_box01 p{
color:#fff;
font-weight:300;
font-size:3.5vw;
letter-spacing: 2px;
line-height: 1.7;
margin:30px 0 0 0;
}

@media screen and (min-width: 620px) {
	.slide02-low_box01 h1{
	color:#fff;
	font-weight:300;
	font-size:24px;
	letter-spacing: 2px;
	line-height: 1.7;
	}
	.slide02-low_box01 p{
	color:#fff;
	font-weight:300;
	font-size:16px;
	letter-spacing: 2px;
	line-height: 1.7;
	margin:30px 0 0 0;
	}
}

.slide-text03 {
position: absolute;
z-index: 10;
width:80%;
top:40%;
left:10%;
text-align:left;
margin:0 auto;
}
.slide03-low_box01{margin:0;}
.slide03-low_box01 h1{
color:#111;
font-weight:300;
font-size:5vw;
letter-spacing: 2px;
line-height: 1.7;
}
.slide03-low_box01 p{
color:#222;
font-weight:300;
font-size:3.5vw;
letter-spacing: 2px;
line-height: 1.7;
margin:30px 0 0 0;
}

@media screen and (min-width: 620px) {
	.slide03-low_box01 h1{
	color:#111;
	font-weight:300;
	font-size:24px;
	letter-spacing: 2px;
	line-height: 1.7;
	}
	.slide03-low_box01 p{
	color:#222;
	font-weight:300;
	font-size:16px;
	letter-spacing: 2px;
	line-height: 1.7;
	margin:30px 0 0 0;
	}
}



/* 横向きプログレスバーのコンテナ */
.swiper-progress-container {
position: absolute;
bottom:0px; /* スライドの下部に配置 */
left: 50%; /* 中央揃え */
transform: translateX(-50%); /* 水平方向の中央寄せ */
width:100%; /* プログレスバーの幅（スライド幅に合わせて調整） */
height: 7px; /* バーの高さ */

border-radius: 2px;
overflow: hidden;
z-index: 1000; /* スライドより上に */
}

/* プログレスバー */
.swiper-progress {
width: 0%; /* 初期状態では0%（動的に変更） */
height: 100%;
background: #e6e6e6;
transition: width 0.1s linear;
}



/* ---title---*/

.title_area01{
text-align:left;
}
.title_area01 h2{
text-align:left;
color:#111;
font-size:5vw;
line-height:1.5;
letter-spacing:2px;
font-weight:300;
margin:0;
position: relative;
display: inline-block;
}

@media screen and (min-width: 620px) {
	.title_area01 h2{
	text-align:left;
	color:#111;
	font-size:24px;
	line-height:1.5;
	letter-spacing:2px;
	font-weight:300;
	margin:0;
	position: relative;
	display: inline-block;
	}
}

.title_area01 h2:before {
content: '';
position: absolute;
top:0;
bottom:0;
display: inline-block;
width: 30px;
height: 1px;
right: -50px;
margin: auto;
background-color:#cccccc;
}

.text_area01{
margin:20px 0 0 0;
color:#222;
font-size:3.5vw;
letter-spacing:1px;
line-height:2;
font-weight:100;
text-align:left;
}

@media screen and (min-width: 620px) {
	.text_area01{
	margin:20px 0 0 0;
	color:#222;
	font-size:16px;
	letter-spacing:1px;
	line-height:2;
	font-weight:100;
	text-align:left;
	}
}


/* ---メインビジュアル_下層用---*/

.main_visual_low{
width: 100%;
background-color: #f6f3f1;
}
.h_bg_color{
width: 100%;
height: 60px;
background-color: #423c37;
}
.low_main_title{
text-align: left;
padding:7% 10%;
background:url(../images/low_main_title_bg.png) bottom center no-repeat;
background-size:100%;
}

.low_main_title h1{
color:#111;
font-size:5vw;
line-height:1.5;
letter-spacing:2px;
font-weight:300;
}
@media screen and (min-width: 620px) {
	.low_main_title h1{
	color:#111;
	font-size:27px;
	line-height:1.5;
	letter-spacing:2px;
	font-weight:300;
	}
}

.low_main_title span{
color:#222;
font-size:3.5vw;
letter-spacing:1px;
line-height:2;
font-weight:100;
text-align:left;
margin:0px 30px 0 0;
display:block;
}
@media screen and (min-width: 620px) {
	.low_main_title span{
	color:#222;
	font-size:16px;
	letter-spacing:1px;
	line-height:2;
	font-weight:100;
	text-align:left;
	margin:0px 30px 0 0;
	display:block;
	}
}



/* ---t_c01---*/

.t_c01{
width: 100%;
overflow: hidden;
background:url(../images/t_c01_bg.png) bottom 60px left no-repeat;
background-size:100%;
position: relative;
text-align: center;
}

.t_c01_l{
width:84%;
margin: 0px auto 45% auto;
}

.btn01 a{
width: 70%;
position: relative;
display: inline-block;
background-color: #423c37;
border-radius: 200px;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
color: #fff;
padding: 15px 0px;
margin:30px auto 0 auto;
text-align: center;
font-size: 14px;
line-height: 14px;
}
.btn01 a:before {
content: '';
position: absolute;
top:0;
bottom:0;
display: inline-block;
width: 40px;
height: 1px;
right: -20px;
margin: auto;
background-color:#cccccc;
}
.btn01 a:hover{
color: #fff;
opacity: 0.7;
}

.t_c01_r{
position: absolute;
bottom:60px;
right: 0;
width:65%;
overflow: hidden;
z-index: -1;
}
.t_c01_r img{width:120%;}


/* ---t_c02---*/

.t_c02{
width: 100%;
overflow: hidden;
display: flex;
justify-content:space-between;
padding: 0 0 0% 0;
}

.t_c02_l{
width:25%;
overflow: hidden;
}
.t_c02_l img{width:180%;margin: 0 0 0 -40%;}

.t_c02_r{
width:57%;
position: relative;
margin: 20px 0 0 0;
padding: 0 8% 45% 0;
}

.t_c02_in_view{
position: absolute;
right: 0;
bottom: 0;
width:70%;
}
.t_c02_in_view img{width:100%;}


/* ---t_c03---*/

.t_c03{
width: 100%;
padding: 0 0 0% 0;
}
.t_c03_in{
width:86%;
margin: 0px auto 0% auto;
}

/* ---carousel---*/

.carousel-container {
position: relative;
width: 100%;
overflow: hidden;
display: flex;
align-items: center;
margin:30px 0 0 0;
}

.carousel-wrapper {
display: flex;
white-space: nowrap;
will-change: transform;
}

.carousel-item {
width: 182px;
flex: 0 0 auto;
}
.carousel-item img{
width: 180px;
margin: 0 auto;
}

@media screen and (min-width: 620px) {
	.carousel-item {
	width: 302px;
	background-color: #fff;
	margin: 0 0px;
	padding:0;
	text-align: center;
	flex-shrink: 0;
	}
	.carousel-item img{
	width: 300px;
	margin: 0 auto;
	}
}


/* ---t_c04---*/

.t_c04{
width: 100%;
padding: 0 0 0 0;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
}

.t_c04_banner01{
position: relative;
width:100%;
overflow: hidden;
height: 300px;
}

@media screen and (min-width: 620px) {
	.t_c04_banner01{
	position: relative;
	width: calc(50% - 1px);
	overflow: hidden;
	height: 300px;
	}
}

.t_c04_banner01:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url(../images/t_c04_btn01.jpg) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
}
.t_c04_banner01:hover:after {
opacity: .9;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}
.t_c04_banner01 a {
position: relative;
z-index: 1;
height: 100%;
text-decoration: none;
color: #fff;
display: block;
}
.t_c04_banner01 div{
margin:5% 7% 7% 7%;
padding: 10px 50px 10px 0;
background: url(../images/t_c04_icon.png) no-repeat right bottom 10px;
background-size: 20px;
border-bottom: 1px solid #fff;
display: inline-block;
}
.t_c04_banner01 div h2{
color:#fff;
font-size: 18px;
line-height: 18px;
letter-spacing:2px;
font-weight:300;
}
.t_c04_banner01 div h2 span{
color:#fff;
font-size:12px;
line-height: 12px;
letter-spacing:1px;
font-weight:300;
display: inline-block;
margin: 0 0 10px 0px;
}



.t_c04_banner02{
position: relative;
width:100%;
overflow: hidden;
height: 300px;
}

@media screen and (min-width: 620px) {
	.t_c04_banner02{
	position: relative;
	width: calc(50% - 1px);
	overflow: hidden;
	height: 300px;
	}
}

.t_c04_banner02:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url(../images/t_c04_btn02.jpg) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
}
.t_c04_banner02:hover:after {
opacity: .9;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}
.t_c04_banner02 a {
position: relative;
z-index: 1;
height: 100%;
text-decoration: none;
color: #fff;
display: block;
}
.t_c04_banner02 div{
margin:5% 7% 7% 7%;
padding: 10px 50px 10px 0;
background: url(../images/t_c04_icon.png) no-repeat right bottom 10px;
background-size: 20px;
border-bottom: 1px solid #fff;
display: inline-block;
}
.t_c04_banner02 div h2{
color:#fff;
font-size: 18px;
line-height: 18px;
letter-spacing:1px;
font-weight:300;
}
.t_c04_banner02 div h2 span{
color:#fff;
font-size:12px;
line-height: 12px;
letter-spacing:1px;
font-weight:300;
display: inline-block;
margin: 0 0 10px 0px;
}
.t_c04_banner02 div h2 span img{
width: 13px;
display: inline-block;
margin: 0 0 0 10px;
}



/* ---aboutページ---*/

.a_c01{
padding: 10% 8% 8% 8%;
background: url(../images/a_c01_bg.jpg) no-repeat center center;
background-size: cover;
}
.a_c01 p{
margin:0px 0 30px 0;
color:#dfdfdf;
font-size:3.5vw;
letter-spacing:1px;
line-height:2;
font-weight:100;
text-align:left;
}
.a_c01 h3{
color:#fff;
font-size:4.5vw;
line-height:2;
letter-spacing:2px;
font-weight:300;
text-align:left;
margin:0px 0 30px 0;
}
@media screen and (min-width: 620px) {
	.a_c01 p{
	margin:0px 0 30px 0;
	color:#dfdfdf;
	font-size:16px;
	letter-spacing:1px;
	line-height:2;
	font-weight:100;
	text-align:left;
	}
	.a_c01 h3{
	color:#fff;
	font-size: 27px;
	line-height:27px;
	letter-spacing:2px;
	font-weight:300;
	text-align:left;
	margin:0px 0 30px 0;
	}
}

.a_c02_01{
margin: 0px 0 0 0;
}

.a_c02_l{
width:84%;
margin:0px auto;
}

.a_c02_l h3{
text-align:left;
color:#111;
font-size: 4vw;
line-height:1.5;
letter-spacing:2px;
font-weight:300;
margin:0 0 0px 0;
}

.text_area02{
margin:30px 0 0 0;
padding: 0 0 30px 0;
color:#222;
font-size:3.5vw;
letter-spacing:2px;
line-height:2;
font-weight:100;
border-bottom: 1px solid #e8cbbd;
}
.text_area02 p{margin:20px 0 0 0;}
.text_area02 p span{font-weight:600;}

.text_area03{
margin:30px 0 0 0;
color:#222;
font-size:3.5vw;
letter-spacing:2px;
line-height:2;
font-weight:100;
}
.text_area03 p{margin:20px 0 0 0;}


@media screen and (min-width: 620px) {
	.a_c02_l h3{
	text-align:left;
	color:#111;
	font-size: 20px;
	line-height:20px;
	letter-spacing:2px;
	font-weight:300;
	margin:0 0 0px 0;
	}

	.text_area02{
	margin:30px 0 0 0;
	padding: 0 0 30px 0;
	color:#222;
	font-size:16px;
	letter-spacing:2px;
	line-height:2;
	font-weight:100;
	border-bottom: 1px solid #e8cbbd;
	}
	.text_area02 p{margin:20px 0 0 0;}
	.text_area02 p span{font-weight:600;}

	.text_area03{
	margin:50px 0 0 0;
	color:#222;
	font-size:16px;
	letter-spacing:2px;
	line-height:2;
	font-weight:100;
	}
	.text_area03 p{margin:20px 0 0 0;}
}




.a_c02_r{
width:84%;
margin: 30px auto;
}
.a_c02_r img{width:100%;}


.a_c02_02{
padding: 0 7% 0 7%;
margin:30px 0 0 0;
}

.text_area04{
margin:0px 0 0 0;
color:#222;
font-size:3.5vw;
letter-spacing:2px;
line-height:2;
font-weight:100;
}
.text_area04 p{margin:20px 0 0 0;}

@media screen and (min-width: 620px) {
	.text_area04{
	margin:0px 0 0 0;
	color:#222;
	font-size:16px;
	letter-spacing:2px;
	line-height:2;
	font-weight:100;
	}
	.text_area04 p{margin:20px 0 0 0;}
}

.btn02{
width:84%;
margin: 0px auto 0 auto;
text-align: center;
text-transform:uppercase;
}

.btn02 a{
width: 70%;
position: relative;
display: inline-block;
background-color: #423c37;
border-radius: 200px;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
color: #fff;
padding: 15px 0px;
margin:30px auto 0 auto;
text-align: center;
font-size: 14px;
line-height: 14px;
}
.btn02 a:before {
content: '';
position: absolute;
top:0;
bottom:0;
display: inline-block;
width: 40px;
height: 1px;
right: -20px;
margin: auto;
background-color:#cccccc;
}
.btn02 a:hover{
color: #fff;
opacity: 0.7;
}

.btn02 a img{
display: inline-block;
width: 14px;
margin:0px 0px 0 10px;
}
.btn02 a p{
display: inline-block;
}


.a_c03{
padding:50px 8%;
background: url(../images/a_c03_bg.jpg) center center;
background-size:100px;
}
.a_c03_in{
background-color: #fcfcfc;
box-shadow: 0 0px 40px rgba(0, 0, 0, 0.2);
padding:8%;
}

.a_c03_l{
text-align: center;
border-bottom: 1px solid #e8cbbd;
margin:0px 2% 70px 2%;
}
.a_c03_r{
text-align: center;
margin:70px 2% 0px 2%;
}


.title_area02 h2{
text-align:center;
color:#111;
font-size:5vw;
line-height:1.5;
letter-spacing:2px;
font-weight:300;
margin:0 auto;
display: inline-block;
}

@media screen and (min-width: 620px) {
	.title_area02 h2{
	text-align:center;
	color:#111;
	font-size: 32px;
	line-height:32px;
	letter-spacing:2px;
	font-weight:300;
	margin:0 auto;
	display: inline-block;
	}
}


.text_area05{
margin:30px 0 30px 0;
}
.text_area05 p{
color:#222;
font-size:3.5vw;
letter-spacing:1px;
line-height:2;
font-weight:100;
margin:0px 0 30px 0;
text-align: left;
}
.text_area05 p span{
color:red;
font-size:3vw;
}
@media screen and (min-width: 620px) {
	.text_area05 p{
	color:#222;
	font-size:14px;
	letter-spacing:1px;
	line-height:2;
	font-weight:100;
	margin:0px 0 30px 0;
	text-align: left;
	}
	.text_area05 p span{
	color:red;
	font-size:12px;
	}
}




.text_area06{
margin:30px 0 30px 0;
}
.text_area06 ul{
margin:0px 0 0px 0;
}

.text_area06 ul li{
background: url(../images/a_c03_icon01.png) no-repeat left center;
background-size:14px;
padding: 0 0 0 30px;
color:#222;
font-size:3.5vw;
letter-spacing:1px;
line-height:2;
font-weight:100;
text-align: left;
margin: 10px 0;
}
.text_area06 ul li img{
width: 16px;
display: inline-block;
vertical-align: middle;
margin: 0 0 0 10px;
}
.text_area06 ul li a{
text-decoration: underline;
}

@media screen and (min-width: 620px) {
	.text_area06 ul li{
	background: url(../images/a_c03_icon01.png) no-repeat left center;
	background-size:14px;
	padding: 0 0 0 30px;
	color:#222;
	font-size:16px;
	letter-spacing:1px;
	line-height:2;
	font-weight:100;
	text-align: left;
	margin: 10px 0;
	}
	.text_area06 ul li img{
	width: 20px;
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 10px;
	}
	.text_area06 ul li a{
	text-decoration: underline;
	}
}



/* ---footer---*/

.footer{
overflow: hidden;
width:100%;
text-align:center;
margin:70px auto 0;
padding:70px 0px 20px 0px;
background-color: #423c37;
}
.footer_in{
width:90%;
text-align:center;
margin:0 auto;
padding:0px 0px 0px 0px;

}

.f_navigation{
width: 100%;
text-align:center;
margin:0px auto;
padding:0px;
}
.f_navigation_in{
text-align:center;
margin:0px auto;
}
.f_navigation_in a{
padding:0 7px 0 7px;
list-style-type:none;
font-weight:300;
font-size:13px;
line-height:1.5;
letter-spacing:1px;
}


.f_logo{
width:30%;
max-width: 150px;
text-align:center;
margin:0px auto 0 auto;
padding:0px 0px 0px 0px;
}

.f_logo_view a{width:100%;display:inline-block;}
.f_logo_view img{width:100%;margin:0 auto;}


.f_sns_plus{
text-transform:uppercase;
text-align:center;
margin:30px auto 30px auto;
padding:0px;
display: flex;
align-items: center;
justify-content:center;
flex-wrap: wrap;
}

.f_nav01{
display: inline-block;
margin:10px;
}
.pc_f_instagram a{
display: flex;
justify-content:space-between;
align-items: center;
padding: 8px 20px;
}
.pc_f_instagram a img{
width: 17px;
margin:0px 10px 0 0;
}
.pc_f_instagram a p{
color:#fff;
font-size: 12px;
line-height: 12px;
letter-spacing:2px;
margin: 0 15px 0 0px;
}


.f_nav01 a{
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
.f_nav01 a:hover{
opacity: 0.7;
}

.f_nav03{
display: inline-block;
margin:10px;
background-color: #a48b77;
border-radius: 200px;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;

}
.f_nav03:hover{
color: #fff;
opacity: 0.7;
}
.pc_f_online-shop a{
display:flex;
align-items: center;
font-size: 11px;
line-height: 11px;
letter-spacing: 1px;
padding: 8px 20px;
}

.pc_f_online-shop a p{
color: #fff;
margin: 0 15px 0 10px;
}
.pc_f_online-shop a img{width: 13px;margin: 0 0 0 0;}



.f_copy{
width:90%;
margin:0px auto 0px auto;
text-align:left;
position: relative;
padding: 100px 0 0 0;
}

.f_copy:after{
position: absolute;
top: 0px;
left:0;
right: 0;
margin: 0 auto;
content: "";
width: 40px;
height: 1px;
background-color: #dddddd;
}
.f_copy p{
font-size:10px;
padding:0px 0px;
color:#fff;
letter-spacing: 2px;
font-weight: 300;
}

#pageTop {
text-transform:uppercase;
position:fixed;
right:2.5%;
bottom:15px;
cursor:pointer;
z-index: 99;
background-color: #423c37;
border-radius: 100px;
padding: 5px 20px;
}

#pageTop a {
display:flex;
align-items: center;
}
#pageTop a img{width:15px;margin:0px 8px 0px 0px;}
#pageTop a p{
font-size:10px;
padding:0px 0px;
color:#fff;
letter-spacing:2px;
font-weight: 300;
}

#pageTop a:hover {
opacity: 0.7;
}


.sp-none{
display:none !important;
}
.pc-br{
display:none !important;
}
.link_pc{
display:none !important;
}


/* ---コンテンツ表示アニメーション---*/
.animate {
  opacity: 0;
  transition: opacity 0.8s ease 0.3s, transform 0.8s ease 0.3s; /* 0.3秒の遅延 */
  will-change: opacity, transform;
}

.fade-in-from-bottom {
  transform: translateY(30px); /* 下から */
}

.fade-in-from-top {
  transform: translateY(-30px); /* 上から */
}

.fade-in-from-left {
  transform: translateX(-15px); /* 左から */
}

.fade-in-from-right {
  transform: translateX(15px); /* 右から */
}

.animate.visible {
  opacity: 1;
  transform: translateY(0) translateX(0); /* 元の位置に */
}







table.com_tb{
    border-collapse:collapse;
    margin:20px auto;
    text-align:center;
    width:90%;
}
table.com_tb th{
	font-size:14px;
    border-collapse:collapse;
    border-bottom:1px solid #000;
    padding:25px 7px; 
    box-sizing:border-box;
    text-align:center;
    width:35%;
}
table.com_tb td{
	font-size:14px;
    border-collapse:collapse;
    border-bottom:1px solid #000;
    line-height:1.5;
    padding:25px 7px; 
    box-sizing:border-box;
    text-align:left;
}
table.com_tb tr:last-child th{
	border:none;
}
table.com_tb tr:last-child td{
	border:none;
}


.privacy_wrap{
    max-width:100%;
    width:90%;
    margin:20px auto;
    text-align:center;
    padding:0 20px;
    box-sizing:border-box;
}
.privacy_wrap h3{
    font-size:16px;
    padding:0 0 20px;
}
.privacy_wrap p{
    text-align:left;
    font-size:14px;
    padding:0 0 20px;
}



.faq_wrap{
    max-width:100%;
    width:90%;
    margin:0px auto;
    text-align:center;
    padding:0px;
    box-sizing:border-box;
}
dl.faq_list{
    margin:0 auto;
}
.faq_list dt {
    cursor: pointer;
    padding: 10px 30px 10px 10px; /* 右に余白追加 */
    background: #f2f2f2;
    border: 1px solid #ccc;
    font-weight: bold;
    position: relative;
    text-align:left;
    font-size:14px;
}

.faq_list dt::before {
    content: "Q.";
    color: #a48b77;
    font-weight: bold;
    margin-right: 10px;
}

/* ▼ アイコン表示 */
.faq_list dt::after {
    content: "▼";
    position: absolute;
    right: 15px;
    font-size:11px;
    color:#666;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s;
}

/* 開いてる時は ▲ に切り替え */
.faq_list dt.open::after {
    content: "▲";
}

.faq_list dd {
    position:relative;
    font-size:14px;
    display: none;
    text-align:left;
    padding: 15px;
    background: #fff;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding-left: 40px; /* テキストのインデント */
}
.faq_list dd::before {
    content: "A.";
    position: absolute;
    left: 15px;
    top: 15px;
    color: #423c37;
    font-weight: bold;
}





/*--------------------------------------------------------
お問合せ
--------------------------------------------------------*/
.contact_wrap{
    max-width:100%;
    width:90%;
    margin:0px auto;
    text-align:center;
    padding:0px;
    box-sizing:border-box;
}


table.contact_tb{
  border-collapse: collapse;
  border: 1px solid #a48b77;
  box-sizing:border-box;
  width: 100%;
  margin: 0px auto;
}
table.contact_tb th{
  display: block;
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  border: 1px solid #a48b77;
  background: #eaeaea;
  padding: 10px;
  box-sizing:border-box;
  color: #333;
  font-size: 14px;
}
table.contact_tb td{
  display: block;
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #a48b77;
  background: #fff;
  box-sizing:border-box;
  padding: 10px;
  font-size: 14px;
}
.contact_tb th span{
  font-size: 13px;
  color: crimson;
}


/*form style*/
.form-text {
  font-size: 16px;
  width: 100%;
  padding: 5px;
  box-sizing:border-box;
  border: 1px solid #ccc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.form-text-mini {
  font-size: 16px;
  box-sizing:border-box;
  width: 70%;
  padding: 10px;
  border: 1px solid #ccc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.form-textarea {
  font-size: 16px;
  box-sizing:border-box;
  width: 100%;
  padding: 5px;
  height: 200px;
  border: 1px solid #ccc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.form-select {
  width: 100%;
  box-sizing:border-box;
  height: 40px;
  padding: 5px;
  border: 1px solid #ccc;
  font-size: 16px;
}


.map_btn{
  display: block;
  margin: 20px auto;
  width: 80%;
  border-radius: 50px;
  padding: 15px;
  border: 3px solid #423c37;
  color: #423c37;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}
.map_btn:hover{
  background: #423c37;
  color: #fff;
}

div.error_box{
  display: none;
  width: 90%;
  text-align: left;
  margin: 10px auto 30px;
  padding: 10px;
  border: 1px solid #a48b77;
  border-radius: 10px;
}
div.error_box p{
  color: crimson;
  font-size: 14px;
  font-weight: 500;
}

div.success_box{
  display: none;
  width:90%;
  text-align: left;
  margin: 0px auto 30px;
  padding: 10px;
  border: 1px solid #423c37;
  border-radius: 10px;
}
div.success_box p{
  color: #423c37;
  font-size: 16px;
  font-weight: 500;
}




/*ajax loading*/
#overlay{ 
  position: fixed;
  top: 0;
  z-index: 100;
  width: 100%;
  height:100%;
  display: none;
  background: rgba(0,0,0,0.6);
}
.cv-spinner {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;  
}
.spinner {
  width: 40px;
  height: 40px;
  border: 4px #ddd solid;
  border-top: 4px #2e93e6 solid;
  border-radius: 50%;
  animation: sp-anime 0.8s infinite linear;
}
@keyframes sp-anime {
  100% { 
    transform: rotate(360deg); 
  }
}
.is-hide{
  display:none;
}











