@charset "UTF-8";
/* CSS Document */

/* リセット */
a {
	text-decoration: none;
}

p {
	font-size: 0em;
	line-height: 0%;
	margin: 0;
	padding: 0;
	border: 0;
}

/* フォント */

body{
	font-size:10px;
	font-family: noto-sans-cjk-jp,sans-serif;
    font-weight: 400;
    font-style: normal;
	color: #333;
}

.mv_copy {
	font-size: calc(1.8em + 10 * (100vw - 300px) / 400);
	line-height:200%;
	letter-spacing: 0.1em;
	color:#333333;
	font-family: a-otf-ryumin-pr6n,serif;
	font-weight: 200;
	font-style: normal;
}

.st_copy{
	float:right;
	font-family: YuKyokasho Yoko,serif;
    font-size: 2.3em;
	letter-spacing: 0.1em;
	line-height: 1.3em;
    font-style: normal;
    font-weight: 400;
	height:290px;
	color: #333333;
	float: right;
	  writing-mode: tb-rl;
 	 /* IE独自仕様 */
	  writing-mode: vertical-rl;
 	 -moz-writing-mode: vertical-rl;
	 -o-writing-mode: vertical-rl;
	 -webkit-writing-mode: vertical-rl;
}

.text8_sp {
	font-size: 0.8em;
	letter-spacing: 0.1em;
}

.text9_sp {
	font-size: 0.9em;
	letter-spacing: 0.1em;
}

.text12_sp {
	font-size: 1.2em;
	letter-spacing: 0.1em;
	line-height: 1.9em;
}

.text13_sp {
	font-size: 1.3em;
	letter-spacing: 0.1em;
}

.text14_sp {
	font-size: 1.4em;
	letter-spacing: 0.1em;
	line-height: 1.6em;
}

.text15_sp {
	font-size: 1.5em;
	letter-spacing: 0.1em;
}

.text16_sp{
	font-size: 1.6em;
	letter-spacing: 0.1em;
}

.text18_sp {
	font-size: 1.8em;
	letter-spacing: 0.1em;
}

.text19_sp {
	font-size: 1.9em;
	letter-spacing: 0.1em;
	line-height: 1.6em;
}

.text21_sp {
	font-size: 2.1em;
	letter-spacing: 0.1em;
}

.text23_sp {
	font-size: 2.3em;
	letter-spacing: 0.1em;
	line-height: 1.3em;
}

/* ページ */

/*アニメーション要素のスタイル*/
.animation{
	opacity : 0;
	visibility: hidden;
	transition: 1s;
	transform: translateY(-30px);
}

.animation_top {
  animation: fadein-top 1s ease-out forwards;
}

@keyframes fadein-top {
  0% {
    opacity: 0;
    transform: translateY(-20px); /* 開始時はマイナス指定 */
  }
  100% {
    opacity: 1;
    transform: translateY(0); /* 終了時の位置をデフォルトに */
  }
}

/*アニメーション要素までスクロールした時のスタイル*/
.active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.sp_header {
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 98;
}

.sp_header_bg{
	position: absolute;
	width: 100%;
	height: 60px;
	z-index: 2;
}

.sp_header_logo {
	position: absolute;
	height: 40px;
	margin-top: 27px;
	left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	z-index: 3;
}

.sp_header_icon {
	position: absolute;
	right: 10px;
	height: 30px;
	margin-top: 12px;
	z-index: 3;
}

.sp_header_icon {
	position: absolute;
	right: 10px;
	height: 30px;
	margin-top: 12px;
	z-index: 3;
	opacity: 1;
}

.sp_header input {
	display: none;
}

 nav {
	position: fixed;
	display:flex;
	flex-flow: column;
	align-items: center;
	column-gap: 40px;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%; /* 画面幅に対して */
	height: 1000px; /* 画面の高さに対して */
	background-color: #f2efec;
	transform: translateX(-110%);
	transition-duration: 0.5s;
	text-align: center;
	z-index: 99;
}

input[type=checkbox]:checked ~ nav {
	transform: translateX(0%);
	transition-duration: 0.5s;
} 

.nav_menu_close{
	position: absolute;
	right: 10px;
	height: 30px;
	margin-top: 12px;
}

.nav_logo {
	width: 30%;
	display: block;
	margin: 0 auto;
	margin-top: 40px;
}

.nav_menu {
	width: 80%;
	margin-top: 40px;
	display: flex;
	flex-direction: column;
}

.nav_line {
	width: 100%;
	height: 1px;
	opacity: 0.7;
}

.nav_btn {
	display: table;
	height: 60px;
}

.nav_txt {
	color: #333333;
	font-family: YuKyokasho Yoko,serif;
    font-style: normal;
    font-weight: 400;
	display:table-cell;
	vertical-align:middle;
}

.nav_oshop {
	display: inline-block;
	width: 16px;
	margin-right: 8px;
}

.nav_icon {
	display: flex;
	column-gap: 10px;
	margin-top: 40px;
	align-items: center;
}

.nav_ig img {
	width: 40px;
}

.nav_tw {
	display: none;
}

.nav_tw img {
	width: 40px;
}

.nav_fb img {
	width: 40px;
}

.follow_us_sp {
	margin-right: 10px;
}


body{
  margin: 0;
  padding: 0;
}

.mv_onlineshop {
	display: none;
}

.mv_scroll{
	position: absolute;
	width:25px;
	height: auto;
	right: 20px;
	bottom: -20px;
	z-index: 2;
}

.pagetop {
	position: fixed;
	right: 20px;
	bottom: 14px;
	width: 60px;
	height: auto;
	display: block;
	text-align: center;
	z-index: 90;
}

.pagetop01 {
	margin-top: 5px;
}

.pagetop02 {
	animation-name: pagetop_move;
	animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-duration: 2s;
}

@keyframes pagetop_move {
  0% {
    transform: translate(0, 0px);
  }
  100% {
    transform: translate(0, -5px);
  }
}

.mv_wrapper{
	position:relative;
	width: 100%;
}

.mv_img {
	display: none;
}

.mv_img_sp {
	margin-top: 50px;
	width: 100%;
	height: auto;
}

.mv_logo {
	display: none;
}

.mv_logo_sp {
	position: absolute;
	top: 43%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	z-index: 1;
}

.mv_logo_sp {
	width: 37%;
}

.mv_logo_sp_back{
	position: absolute;
	width: 80%;
	top: 43%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	z-index: 0;
	opacity: 0.6;
}

.mv_copy {
	position: absolute;
	bottom: 10%;
	left: 6%;
}

.mv_menu{
  display: none;
}

.mv_menu a{
 float: left;
 padding-left: 10px;
}

.mv_line_sp {
	position: absolute;
	bottom: 12px;
	width: 100%;
	height: auto;
}

.st_wrapper{
	position: relative;
	width: 100%;
	height: auto;
	padding-top:40px;
	padding-bottom: 30px;
}

.st_txt_box{
	display: flex;
	justify-content: center;
	margin: 0 auto;
	margin-top: 10px;
}

.st_img{
	display: none;
}

.st_img_sp {
	text-align: center;
	margin: 0 auto;
	margin-top: 30px;
	max-width:  400px;
}

.st_img_sp img{
	width: 85%;
	height: auto;
}

.st_txt {
	height: 290px;
	margin-right: 14px;
	color: #333333;
	line-height: 1.9em;
	text-align: justify;
	text-orientation: upright;
	writing-mode: tb-rl;
	/* IE独自仕様 */
	 writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
 	-o-writing-mode: vertical-rl;
 	-webkit-writing-mode: vertical-rl;
}

.st_txt_sp_none {
	display: none;
}

.st_img img {
	float: left;
	margin: 100px auto;
}

.products_wrapper {
	position: relative;
	width: 100%;
	height: auto;
	background-color: #e8e1d9;
	background-image: url("../img/pr_bg.jpg");
	background-repeat: repeat;
}

.pr_box{
	width: 100%;
	height: auto;
	padding-top: 60px;
	padding-bottom: 130px;
	text-align: center;
}

.pr_line {
	display: none;
}

.pr_line_sp {
	position: absolute;
	top: -4px;
	width: 100%;
	transform: scale(1, -1);
}

.pr_line_k img{
	position: absolute;
	top: 1px;
	width: 100%;
	opacity: 0.1;
}

.pr_cloud_sp {
	position: absolute;
	right: 0px;
	top: -5px;
	width: 120px;
}

.pr_ttl img{
	width: 220px;
	height: auto;
}

.pr_txt {
	text-align: center;
}

.pr_copy {
	display:inline-block;
	color: #5e5950;
	padding-top: 26px;
	width: 76%;
	text-align: justify;
	text-justify: inter-ideograph;
	margin-bottom: 40px;
	display: none;
}

.pr_itembox {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap : 20px;
	row-gap: 45px;
	width: 100%;
	align-items: stretch;
}

.pr_item {
	width: 40%;
	text-align: center;
}

.item_img {
	width: 100%;
}

.item_ruby {
	font-family: a-otf-ryumin-pr6n,serif;
	font-weight: 200;
	font-style: normal;
	margin: 0 auto;
	width: 90%;
	margin-top: 14px;
	
}

.item_ttl {
	font-family: a-otf-ryumin-pr6n,serif;
	font-weight: 200;
	font-style: normal;
	margin: 0 auto;
	width: 90%;
	margin-top: 18px;
}

.item_txt {
	display:inline-block;
	border-top: solid #bdb8b0 1px;
	padding-top: 8px;
	margin: 0 auto;
	width: 90%;
	margin-top: 28px;
	line-height: 1.5em;
	text-align: justify;
	text-justify: inter-ideograph;
}

.pr_btn {
	background-color: #695d7f;
	border-radius: 20px;
	width: 130px;
	height: 35px;
	text-align: center;
	display:block;
	margin:0 auto;
	margin-top: 20px;
}

.pr_btn_txt {
	font-family: YuKyokasho Yoko,serif;
	line-height: 2.7em;
    font-style: normal;
    font-weight: 400;
	color: white;
	display: inline;
	margin-left: 24px;
}

.pr_btn_cc {
    background-color: #C9BDB2;
    border-radius: 20px;
	width: 130px;
	height: 35px;
	text-align: center;
	display:block;
	margin:0 auto;
	margin-top: 20px;
}

.pr_btn_txt_cc {
    font-family: YuKyokasho Yoko,serif;
	line-height: 2.7em;
    font-style: normal;
    font-weight: 400;
    color: #EEE8E4;
}

.arrow_pc {
	width: 10px;
	float: right;
	margin-top: 14px;
	margin-right: 10px;
	display: inline;
}

.ws_bg {
	position: absolute;
	bottom:-2px;
	width: 100%;
	height: 80px;
	
}

.workshop_wrapper {
	position:relative;
	weight: 100%;
	height: auto;
	background-color: #f2efec;
	padding-bottom: 100px;
}

.ws_cloud01 {
	position: absolute;
	left: 0px;
	top: -80px;
	width: 100px;
	transform: scale(-1, 1);
	z-index: 1;
}

.ws_cloud02 {
	position: absolute;
	right: 0px;
	top: 1680px;
	width: 100px;
}

.ws_box {
	width: 100%;
	text-align: center;
	z-index: 2;
}

.ws_copy {
	height: 260px;
	color: #333333;
	font-family: YuKyokasho Yoko,serif;
    font-style: normal;
    font-weight: 400;
	margin-left: 15px;
	float: right;
	writing-mode: tb-rl;
	/* IE独自仕様 */
	 writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
 	-o-writing-mode: vertical-rl;
 	-webkit-writing-mode: vertical-rl;
	text-align: justify;
	text-justify: inter-ideograph;
}

.ws_txtbox_sp{
	display: flex;
	justify-content: center;
	margin-top: 30px;
}

.ws_txt {
	height: 260px;
	color: #5e5950;
	float: right;
	line-height: 1.9em;
	writing-mode: tb-rl;
	/* IE独自仕様 */
	 writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
 	-o-writing-mode: vertical-rl;
 	-webkit-writing-mode: vertical-rl;
	text-align: justify;
	text-justify: inter-ideograph;
}

.ws_c_ttl_txt {
	text-align: center;
	color: #5e5950;
	width: 80%;
	margin: 0 auto;
	margin-top: 20px;
}

.ws_ttl img{
	width: 220px;
	height: auto;
}

.ws_img_box{
	position: relative;
	margin-top: 40px;
}

.ws_img img{
	width: 90%;
	height: auto;
}

.ws_img{
	z-index: 0;
}

.ws_btn {
	position: absolute;
	background-color: #e17960;
	border-radius: 40px;
	width: 300px;
	height: 60px;
	text-align: center;
	display:block;
	z-index: 2;
	bottom: -20px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display: flex;
	justify-content:space-around;
}

.arrow_pc_ws{
	width: 13px;
	padding-right: 5px;
}

.inicon_pc_ws{
	width: 25px;
	padding-left: 10px;
}

.ws_btn_txts {
	margin: auto 0;
}

.ws_btn_txt {
	font-family: YuKyokasho Yoko,serif;
	line-height: 1.3em;
    font-style: normal;
    font-weight: 400;
	color: white;
	display: inline-block;
	text-align: center;
}

.ws_contents{
	width: 100%;
	margin-bottom: 120px;
	margin-top: 100px;
}

.ws_c_ttl{
	display: flex;
	justify-content: center;
}

.ws_c_plate {
	display: none;
}

.ws_c_plate_sp {
	width: 130px;
}

.ws_deco_pc{
	display: none;
}

.ws_deco_sp{
	height: 1px;
}

.ws_c_ttl p{
	color: #333333;
	font-family: YuKyokasho Yoko,serif;
    font-style: normal;
    font-weight: 400;
	letter-spacing: 0.1em;
	margin-right: 20px;
	margin-left: 20px;
	text-align: center;
	margin-top: -26px;
}

.ws_c_box{
	display:flex;
  	flex-flow: column;
	justify-content: center;
	row-gap: 24px;
	width: 80%;
	margin: 0 auto;
	margin-top: 20px;
}

.ws_content {
	display: flex;
	column-gap: 5%;
	justify-content: center;
	align-items: center;
}

.contents_line_sp{
	height: 1px;
}

.content_img{
	width: 143px;
}

.content_ttl{
	position: relative;
	font-family: YuKyokasho Yoko,serif;
    font-style: normal;
    font-weight: 400;
	margin-top:-20px;
	text-align: center;
}

.content_ttl p{
	position: absolute;
	display: inline-block;
	top: 45%;
	width: 130px;
	text-align: center;
	letter-spacing: 0em;
}

.ws_c_txt{
	width: 50%;
	margin-top: -5px;
	line-height: 1.6em;
	display: none;
}

.ws_annotation_txt{
	color: #787570;
	margin:0 auto;
	margin-top: 20px;
	margin-bottom: 60px;
	line-height: 1.3em;
	width:220px;
	text-align: center;
}

.ws_application{
	position: relative;
	width:90%;
	border: 1px solid #d8b769;
	margin: 0 auto;
	text-align: center;
}

.ws_a_d01{
	position: absolute;
	width: 40px;
	top:-1px;
	left:-1px;
}

.ws_a_d02{
	position: absolute;
	width: 40px;
	top:-1px;
	right:-1px;
	transform: scale(-1, 1);
}

.ws_a_d03{
	position: absolute;
	width: 40px;
	bottom:-1px;
	left:-1px;
	transform: scale(1, -1);
}

.ws_a_d04{
	position: absolute;
	width: 40px;
	bottom:-1px;
	right:-1px;
	transform: scale(-1, -1);
}

.ws_a_ttl{
	width:330px;
	margin-top: -40px;
}

.ws_a_txt_sp{
	width:80%;
	margin: 0 auto;
	margin-top: 10px;
}

.ws_a_txt{
	display: none;
}

.ws_a_inst_mail {
	display: flex;
	flex-flow:column;
	justify-content: center;
	align-items: center;
	margin-top: 20px;
	margin-bottom: 20px;
}

.ws_a_inst {
	 background: url("../img/plate02_sp.png") no-repeat center;
	 width: 230px;
	 height: 221px;
	 text-align: center;
}

.inst {
	margin-top: 28px;
	margin-bottom: 2px;
	width:60px;
}

.inst_ttl {
	width: 180px;
	font-family: YuKyokasho Yoko,serif;
    font-style: normal;
    font-weight: 400;
	letter-spacing: 0.07em;
	border-bottom: solid 1px #e7dbcd ;
	margin: 0 auto;
	padding-bottom: 2px;
	margin-bottom: 10px;
}

.inst_address {
	color: #695d7f;
}

.inst_txt {
	color: #373431;
	margin-top: 10px;
	line-height: 1.6em;
}

.ws_a_line {
	 background: url("../img/plate03_sp.png") no-repeat center;
	 width: 230px;
	 height: 221px;
}

.line {
	margin-top: 22px;
	margin-bottom: 2px;
	width:60px;
}

.line_ttl {
	width: 180px;
	font-family: YuKyokasho Yoko,serif;
    font-style: normal;
    font-weight: 400;
	letter-spacing: 0.07em;
	border-bottom: solid 1px #e7dbcd ;
	padding-bottom: 2px;
	margin: 0 auto;
	margin-bottom: 10px;
}

.line_address {
	color: #695d7f;
}

.line_txt {
	color: #373431;
	margin-top: 10px;
	line-height: 1.6em;
}

.ws_arrow_bk {
	display: inline;
	width: 10px;
	padding-bottom: 3px;
}

.ws_a_necessary{
	display: flex;
	flex-flow:column;
	width: 80%;
	margin: 0 auto;
	margin-bottom: 40px;
}

.ws_a_n01_txt{
	display: none;
}

.ws_a_n01{
	background-color: #dfdbd4;
	width: 100%;
	height: 50px;
}

.ws_a_n01 p{
	margin-top:25px;
}

.ws_a_n02{
	background-color: #e9e5dd;
	width: 100%;
}

.ws_a_n02 li{
	text-align: left;
}

.ss_bg {
	position: absolute;
	bottom:-2px;
	width: 100%;
	height: 60px;
	
}

.shortstory_wrapper{
	width: 100%;
	background-color: #887d9d;
	position: relative;
	padding-bottom: 80px;
}

.ss_cloud01 {
	position: absolute;
	left: 0px;
	top: -18px;
	width: 90px;
	transform: scale(-1, 1);
}

.ss_ttl {
	width: 75px;
	position:absolute;
	top: 10px;
	right: 6%;
	z-index: 1;
}

.storys_carousel {
	padding-top: 70px;
	width: 100%;
}

.slick-dots li button:before {
	font-size: 15px!important;
	color: white !important;
	opacity: 1!important;
}

.slick-dots li.slick-active button:before {
	opacity: 1!important;
	color: #d8b769!important;
}

.slick-dots{
	bottom: -40px!important;
}

.storys {
	display: none;
}

.story_contents {
	width: 100%;
	background-color: #7b6f93;
	text-align: center;
	margin-right: 10px;
	margin-left: 10px;
}

.story_img {
	width: 88%;
	margin: 0 auto;
	margin-top:15px;
	
}

.story_ttl {
	text-align: left;
	color: white;
	width: 84%;
	margin: 0 auto;
	margin-top:18px;
	height: 40px;
}


.story_txt {
	text-align: left;
	color: #c2b7d9;
	width: 84%;
	margin: 0 auto;
	margin-top:8px;
	margin-bottom: 30px;
}

.shopinfo_wrapper{
	width: 100%;
	position: relative;
	background-image: url("../img/pr_bg.jpg");
	background-repeat: repeat;
	padding-bottom: 100px;
}

.info_ttlbox{
	height: 230px;
	width: 100%;
	background: url("../img/info_ttl_img.jpg") no-repeat center;
	background-size: cover;
}

.info_ttl{
	position:absolute;
	width: 200px;
	right: 23%;
	top: 100px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.info_map_box{
	margin-top: 110px;
	display:flex;
	flex-flow: column;
	justify-content: center;
	flex-direction: column-reverse;
}

.info_map{
	width:90%;
	height: 250px;
	margin: 0 auto;
	margin-top: 20px;
}

.info_map iframe {
	width: 100%;
	height: 250px;
}

.info_box{
	display: flex;
	flex-flow:column;
	margin-bottom: 20px;
}

.info_txt{
	width:80%;
	text-align: center;
	margin: 0 auto;
	line-height: 1.6em;
}

.info_txt_a {
	color: #695d7f;
}

.info_txt_a:hover{
    text-decoration: underline;
	opacity: 0.6;
	transition: .3s;
}

.info_line{
	opacity: 0.5;
	width: 80%;
	margin: 0 auto;
	margin-bottom: 10px;
	margin-top: 10px;
}

.info-miniicon{
	height: 13px;
	margin-right:10px;
}

.info_bg_sp{
	position:absolute;
	bottom: -2px;
	height: 40px;
	width: 100%;
}

.info_bg{
	display: none;
}

.footer {
	position: relative;
	background-color: #887d9d;
	width: 100%;
	padding-top: 20px;
	text-align: center;
	height: 240px;
}

.logo_white {
	width: 128px;
}

.fotter_info {
	position:absolute;
	display: flex;
	flex-flow:column;
	justify-content: center;
	align-items: center;
	row-gap: 20px;
    left: 50%;
	bottom: 0px;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.footer_icon {
	display: flex;
	column-gap: 10px;
}

.fotter_ig img {
	width: 40px;
}

.fotter_tw {
	display: none;
}

.fotter_tw img {
	width: 40px;
}

.fotter_fb img {
	width: 40px;
}

.fotter_txt {
	color: #d5cee2;
	margin: auto 0;
}
