@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.7em + 10 * (100vw - 500px) / 600);
	line-height:200%;
	letter-spacing: 0.1em;
	color:#333333;
	font-family: a-otf-ryumin-pr6n,serif;
font-weight: 200;
font-style: normal;
	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_copy{
	float:right;
	font-family: YuKyokasho Yoko,serif;
    font-size: 3.2em;
	letter-spacing: 0.1em;
	line-height: 1.4em;
    font-style: normal;
    font-weight: 400;
	height:400px;
	margin: 150px auto;
	margin-right: 30px;
	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;
}

.text10 {
	font-size: 1.0em;
	letter-spacing: 0.1em;
}

.text12 {
	font-size: 1.2em;
	letter-spacing: 0.1em;
}

.text14 {
	font-size: 1.4em;
	letter-spacing: 0.1em;
	line-height: 1.7em;
}

.text15 {
	font-size: 1.5em;
	letter-spacing: 0.1em;
	line-height: 2.0em;
}

.text16 {
	font-size: 1.6em;
	letter-spacing: 0.1em;
	line-height: 2.1em;
}

.text18 {
	font-size: 1.8em;
	letter-spacing: 0.1em;
	line-height: 1.6em;
}

.text20 {
	font-size: 2.0em;
	letter-spacing: 0.1em;
}

.text22 {
	font-size: 2.2em;
	letter-spacing: 0.1em;
}

.text26 {
	font-size: 2.6em;
	letter-spacing: 0.1em;
	line-height: 1.6em;
}

.text28 {
	font-size: 2.8em;
	letter-spacing: 0.1em;
}

.text30 {
	font-size: 3.0em;
	letter-spacing: 0.1em;
}

.text14_menu {
	font-size: 1.4em;
	letter-spacing: 0.1em;
	color: #333333;
    list-style-type: none;
	font-family: a-otf-ryumin-pr6n,serif;
font-weight: 300;
font-style: normal;
  writing-mode: tb-rl;
  /* IE独自仕様 */
  writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
}

/* ページ */

.sp_header {
	display: none;
}

body{
  margin: 0;
  padding: 0;
}

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

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

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

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

.mv_onlineshop {
	position: fixed;
	right: 0;
	top: 60px;
	z-index: 98;
	display: none;
}

.mv_onlineshop:hover {
	opacity: 0.7;
	transition: .3s;
}

.mv_scroll{
	position: absolute;
	bottom: -50px;
	right: 100px;
	z-index: 2;
}

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

.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;
}

.pagetop:hover {
  transform:scale(1.1,1.1);
  transition:1s all;
}

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

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

.mv_img {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
}

.mv_img_sp {
	display: none;
}

.mv_logo {
	position: absolute;
	top: 5%;
	left: 3.43%;
	width: 14%;
}

.mv_logo_sp {
	display: none;
}

.mv_logo_sp_back {
	display: none;
}

.mv_copy {
	position: absolute;
	top: 8%;
	right: 6%;
	height: 700px;
}

.mv_menu{
  position: absolute;
  display: flex;
  left: 2.421%;
  bottom: 10%;
}

.mv_menu a{
 padding-left: 20px;
}

.text14_menu:hover {
	opacity: 0.6;
	transition: .3s;
}

.mv_line {
	position: absolute;
	bottom: -1px;
	width: 100%;
}

.mv_line_sp {
	display: none;
}

.st_wrapper{
	position: relative;
	width: 100%;
	height: 700px;
}

.st_box{
	display: flex;
	width:980px;
	margin: 0 auto;
	justify-content: center;
  	align-items: center;
	column-gap: 50px;
}

.st_txt_box{
	display: flex;
}

.st_txt {
	float: right;
	height: 400px;
	color: #333333;
	margin: 150px auto;
	margin-right: 20px;
	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_img img {
	width: 500px;
	opacity: 0.9;
	margin-left: -50px;
}

.st_img_sp {
	display: none;
}

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

.pr_box{
	display: flex;
	flex-direction:row-reverse;
	width: 1160px;
	height: auto;
	margin: 0 auto;
	padding-top: 120px;
	padding-bottom: 340px;
}

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

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

.pr_cloud {
	position: absolute;
	right: 0px;
	top: 0px;
	width: 160px;
	height: 82px;
}

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

.pr_txt {
	text-align: center;
	margin-right: -10px;
	margin-left: 40px;
}

.pr_copy {
	display:inline-block;
	height: 240px;
	color: #5e5950;
	padding-top: 26px;
	writing-mode: tb-rl;
	/* IE独自仕様 */
	 writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
 	-o-writing-mode: vertical-rl;
 	-webkit-writing-mode: vertical-rl;
	margin-bottom: 260px;
	display: none;
}
.pr_itembox {
	display: flex;
	flex-wrap: wrap;
	justify-content:flex-end;
	row-gap:60px;
	margin-top: 60px;
	width: 100%;
	align-items: stretch;
}

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

.item_ruby {
	font-family: a-otf-ryumin-pr6n,serif;
	font-weight: 200;
	font-style: normal;
	margin-top: 20px;
	
}

.item_ttl {
	font-family: a-otf-ryumin-pr6n,serif;
	font-weight: 200;
	font-style: normal;
	margin-top:26px;
}

.item_txt {
	display:inline-block;
	width: 200px;
	border-top: solid #bdb8b0 1px;
	padding-top: 16px;
	margin-top:30px;
	text-align: justify;
}

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

.pr_btn:hover {
	opacity: 0.7;
	transition: .3s;
}

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

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

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

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

.ws_bg {
	position: absolute;
	bottom:-2px;
	width: 100%;
	min-height: 220px;
	max-height: 270px;
	
}

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

.ws_cloud01 {
	position: absolute;
	left: 0px;
	top: -280px;
	width: 160px;
	height: 82px;
	transform: scale(-1, 1);
	z-index: 1;
}

.ws_cloud02 {
	position: absolute;
	right: 0px;
	top: 1200px;
	width: 160px;
	height: 82px;
}

.ws_box {
	display: flex;
	width: 1210px;
	margin: 0 auto;
	z-index: 2;
}

.ws_copy {
	color: #333333;
	font-family: YuKyokasho Yoko,serif;
    font-style: normal;
    font-weight: 400;
	margin-top: 60px;
	margin-left: 20px;
	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;
}

.ws_txt {
	height: 370px;
	width: 280px;
	color: #5e5950;
	margin-top: 60px;
	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;
}

.ws_txtbox_sp{
	display: flex;
}

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

.ws_img_box{
	position: relative;
	float: right;
	margin-left: 40px;
}

.ws_img img{
	width: 528px;
	height: 486px;
}

.ws_img{
	position: absolute;
	z-index: 0;
	margin-top: -30px;
}

.ws_btn {
	position: absolute;
	background-color: #e17960;
	border-radius: 40px;
	width: 374px;
	height: 70px;
	text-align: center;
	display:block;
	z-index: 2;
	bottom: -40px;
	margin-left:77px;
	display: flex;
	justify-content:space-around;
	transition: .3s;
}

.ws_btn:hover {
  background-color: #cc5c42;
}

.arrow_pc_ws{
	width: 17px;
	padding-right: 10px;
}

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

.ws_btn_txts {
	display: inline-block;
	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{
	margin: 100px auto;
	width:960px;
	margin-bottom: 180px;
	margin-top: 120px;
}

.ws_deco_sp{
	display: none;
}

.ws_deco_ttl_sp{
	display: none;
}

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

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

.ws_c_ttl img{
	width: 308px;
}

.ws_c_box{
	display: flex;
}

.ws_content {
	margin:0 auto;
	width: 286px;
}

.content_img {
	margin-top:50px;
}

.ws_c_plate_sp {
	display: none;
}

.contents_line_sp{
	display: none;
}

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

.content_ttl p{
	position: absolute;
	display: inline-block;
	top: 45%;
	width: 230px;
	text-align: center;
}

.ws_c_ttl_txt {
	text-align: center;
	margin-top: 50px;
	color: #5e5950;
}

.ws_c_txt{
	width:264px;
	margin: 0 auto;
	margin-top: 10px;
	display: none;
}

.ws_annotation_txt{
	float: right;
	color: #787570;
	margin-top: 30px;
	margin-bottom: 60px;
}

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

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

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

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

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

.ws_a_ttl{
	width:515px;
	margin-top: -60px;
}

.ws_a_txt{
	margin-top: 30px;
}

.ws_a_txt_sp{
	display: none;
}

.ws_a_inst_mail {
	display: flex;
	text-align: center;
	width: 640px;
	margin: 0 auto;
	margin-top: 40px;
	margin-bottom: 20px;
}

.ws_a_inst {
	 display: flex;
	 flex-flow: column;
	 align-items: center;
	 background: url("../img/plate02.png") no-repeat center;
	 height: 333px;
	 width: 320px;
}

.inst {
	margin-top: 40px;
	margin-bottom: 10px;
	margin-left: 15px;
}

.inst_ttl {
	width: 230px;
	font-family: YuKyokasho Yoko,serif;
    font-style: normal;
    font-weight: 400;
	letter-spacing: 0.07em;
	border-bottom: solid 1px #e7dbcd ;
	padding-bottom: 4px;
	margin-left: 15px;
}

.inst_address {
	margin-top: 20px;
	margin-left: 15px;
	color: #695d7f;
}

.inst_address:hover{
    text-decoration: underline;
	opacity: 0.6;
}

.inst_txt {
	color: #373431;
	margin-top: 20px;
	margin-left: 15px;
}

.ws_a_line {
	 display: flex;
	 flex-flow: column;
	 align-items: center;
	 background: url("../img/plate03.png") no-repeat center;
	 height: 333px;
	 width: 320px;
}

.line {
	margin-top: 40px;
	margin-bottom: 10px;
	margin-left: -15px;
}

.line_ttl {
	width: 230px;
	font-family: YuKyokasho Yoko,serif;
    font-style: normal;
    font-weight: 400;
	letter-spacing: 0.07em;
	border-bottom: solid 1px #e7dbcd ;
	padding-bottom: 4px;
	margin-left: -15px;
}

.line_address {
	margin-top: 20px;
	margin-left: -15px;
	color: #695d7f;
}

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

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

.ws_arrow_bk {
	display: inline;
	width: 14px;
	padding-bottom:4px;
}

.ws_a_necessary{
	margin: 0 auto;
	display: flex;
	width: 636px;
	margin-bottom: 50px;
}

.ws_a_n01{
	background-color: #dfdbd4;
	width: 232px;
}

.ws_a_n01 p{
	text-align: left;
	margin-left: 30px;
	margin-top: 50px;
}

.ws_a_n02{
	background-color: #e9e5dd;
	width: 404px;
	padding: 20px;
}

.ws_a_n01_txt_sp {
	display: none;
}

.ws_a_n02 li{
	text-align: left;
}

.ss_bg {
	position: absolute;
	bottom:-2px;
	width: 100%;
	min-height: 180px;
	max-height: 240px;
	
}

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

.ss_cloud01 {
	position: absolute;
	left: 0px;
	top: -50px;
	width: 160px;
	height: 82px;
	transform: scale(-1, 1);
}

.ss_ttl_box {
	position: absolute;
	top: 10px;
	width: 1020px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.ss_ttl {
	width: 112px;
	float: right;
	margin-right: -60px;
}

.storys {
	display: flex;
	justify-content: center; 
	flex-direction: row-reverse;
	items: stretch;
	padding-top: 120px;
}

.storys_sp {
	display: none;
}

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

.story_img {
	width: 290px;
	margin-top:20px;
}

.story_ttl {
	width: 270px;
	text-align: left;
	margin-left: 30px;
	margin-top: 14px;
	color: white;
	letter-spacing: 0em;
	line-height: 1.7em;
}

.story_txt {
	width: 270px;
	text-align: left;
	margin-left: 30px;
	margin-top: 10px;
	margin-bottom: 10px;
	color: #c2b7d9;
}

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

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

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

.info_map_box{
	display:flex;
	height: 580px;
}

.info_map{
	width:50%;
}

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

.info_box{
	display: flex;
	flex-flow: column;
	justify-content: center;
	margin: 0 auto;
	margin-top: -80px;
}

.info_txt{
	width:50%;
	text-align: center;
	width: 400px;
	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;
	margin-bottom: 10px;
	margin-top: 10px;
}

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

.info_bg_sp{
	display: none;
}

.info_bg{
	position:absolute;
	bottom: 0;
	height: 80px;
	width: 100%;
}

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

.logo_white {
	width: 210px;
}

.fotter_info {
	position:absolute;
	display: flex;
	bottom: 20px;
	left: 40px;
}

.fotter_ig {
	margin-right: 10px;
}

.fotter_ig:hover {
	opacity: 0.6;
	transition: .3s;
}

.fotter_ig img {
	width: 50px;
}

.fotter_tw {
	margin-right: 10px;
	display: none;
}

.fotter_tw:hover {
	opacity: 0.6;
	transition: .3s;
}

.fotter_tw img {
	width: 50px;
}

.fotter_fb {
	margin-right: 30px;
}

.fotter_fb:hover {
	opacity: 0.6;
	transition: .3s;
}

.fotter_fb img {
	width: 50px;
}

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