@charset "UTF-8";

header::after,
#footer::after,
#contents::after,
#main::after,
#visual::after{
	content: "";
	display: block;
	clear: both;
}

.mm-navbar{
	display: none;
}

/* scroll Top */
#page-top{
	display: block;
	position: fixed;
	bottom: 5px;
	right: 5px;
	width: 50px;
	height: 36px;
	background-color: rgba(0,0,0,0.5);
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	padding-top: 12px;
	font-size: 20px;
	color: #fff;
	line-height: 120%;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	z-index: 999999999999;
}
@media screen and (max-width: 768px){
	#page-top{
		bottom: 10px !important;
	}
}
#page-top a{
	color: #fff;
}
#page-top:hover{
	background-color: rgba(0,0,0,0.2);
}

#wrapper{
	text-align: left;
}

span.cursive{
	font-family: 'Alex Brush', cursive;
	font-weight: normal !important;
	color: #b2b1b1;
}

/* Loading　*/
#splash {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  text-align:center;
  color:#CCC;
}
#splash_text {
  position: absolute;
  top: 50%;
  left: 50%;
    z-index: 999;
  transform: translate(-50%, -50%);
  color: #CCC;
  width: 100%;
}
.loader_cover {
    width: 100%;
    height: 50%;
	background-color:rgba(0, 0, 0, 0.9);
    transition: all .2s cubic-bezier(.04, .435, .315, .9);
    transform: scaleY(1);
}
.loader_cover-up {
    transform-origin: center top;
}
.loader_cover-down {
    position: absolute;
    bottom: 0;
    transform-origin: center bottom;
}
.coveranime {
    transform: scaleY(0);
}
#wrapper{
    width:100%;
    height: 100vh;
}

.grecaptcha-badge {
  display: none;

}

.sw-btn-visit a{
	background: #119040 !important;
	border:1px solid #119040 !important;
	color: #FFF !important;
}

.sw-btn-online a{
	background: #ACC61D !important;
	border:1px solid #ACC61D !important;
	color: #FFF !important;
}

.sw-btn-cs a{
	background: #AAA !important;
	border:1px solid #AAA !important;
	color: #FFF !important;
}

.fancybox-close-small--------{
	width: 28px;
	background-color: transparent;
	border: none;
  position: absolute;
  top: -40px;
  right: 0px;
  z-index: 999999999999999999;
}
.fancybox-image{
	border:5px solid #FFF !important;
	background-color: #FFF;
	padding: 600px;
}
.fancybox-image{
	border:5px solid #FFF !important;
	background-color: #FFF;
	padding: 600px;
}
.fancybox-caption__body{
	font-size: 0.933em;
	letter-spacing: 2px;
	padding-bottom: 30px;
}


/*----------------------------------------
　PC
-------------------------------------------*/
@media print, screen and (min-width: 769px){

.sw-btn-visit a:hover{
	background: #EFEFEF !important;
	border:1px solid #EFEFEF !important;
	color: #333 !important;
}
.sw-btn-online a:hover{
	background: #EFEFEF !important;
	border:1px solid #EFEFEF !important;
	color: #333 !important;
}
.sw-btn-online a:hover{
	background: #EFEFEF !important;
	border:1px solid #EFEFEF !important;
	color: #333 !important;
}

#badge{
	position: fixed;
	top: 40px !important;
	right: 20px;
	z-index:1;
	text-align:right;
}
#badge .mob{
	display: none;
}


#badge2{
	position: fixed;
	top: 41% !important;
	right: 0px;
	z-index:1;
	text-align:right;
}

.sw-inner{
	width: 1060px;
	margin:auto;
}

header{
	position: fixed;
	top: 0% !important;
	right: 0px;
	z-index:9999;
	text-align:right;
}
header .sw-btn{
	font-size: 0.875em;
	line-height: 160%;
	text-align: center;
	display: inline-block;
}
header .sw-btn a{
	display: block;
	border:none;
	border-radius: 3px;
	background-color: rgba(255,255,255,0.6);
	padding: 8px 20px;
	color: #333;
	text-decoration: none;
}
header .sw-btn a:hover{
	display: block;
	border:none;
	border-radius: 3px;
	background-color: rgba(255,255,255,0.8);
	padding: 8px 20px;
	color: #333;
	text-decoration: none;
}

#footer {
	width: 100%;
	background-color: #EFEFEF;
}
#footer p.copy{
	background-color: #EFEFEF;
	font-size: 0.688em;
	color:#333;
	text-align:center;
	padding: 10px 0 10px 0;
}

#visual {
	width: 100%;
	min-width: 1160px;
	background-image: url(/2023/images/top/cover__.jpg);
	background-position: center 0px;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
/*	height: 200vh;*/
	padding-bottom: 120px;
}

#visual p.logo{
	width: 120px;
	position: absolute;
	top: 120px;
	right:60px;
	z-index: 9999;
}
#visual .hgroup{
	padding: 80px 0 0 100px;
	margin-bottom: 100px;
}
#visual h1.title{
	font-size: 2.0em;
	font-family: "fot-tsukubrdgothic-std", sans-serif;
	font-weight: 700;
	color: #FFF;
	margin-bottom: 24px;
}
#visual h2.theme{
	width: 60%;
	filter: drop-shadow(2px 2px 2px #016731) ;
}
#visual p.author{
	clear: both;
	font-size: 0.875em;
	color: #FFF;
	text-align: right;
	margin: 40px 0 40px 40px;
	margin-right: 70px;
} 

#visual .main-image img,
#visual h2.theme img{
	width: 100%;
	height: auto;
}

#outline {
	width: 70%;
	margin: auto;
	margin-bottom: 50px;
	background-color: rgba(0,0,0,0.6);
}
#outline h3{
	line-height: 160%;
	margin-bottom: 8px !important;
}
#outline p.sub{
	font-size: 1.5em !important;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	color: #FFF;
	text-align: center;
	margin-bottom: 30px;
}
#outline p.lead{
	font-size: 1.375em !important;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	color: #FFF;
	letter-spacing: 1px;
	text-align: center;
	margin-bottom: 24px;
}
#outline .term{
	text-align: center;
	padding: 60px 30px 40px 30px;
}
#outline .term span.catch{
	vertical-align:top;
	border: solid 1px #CCC;
	display: inline-block;
	font-size: 36% !important;
	font-family: 'Noto Sans JP' !important;
	padding:10px 10px 10px 10px;
	line-height: 100%;
	margin-top: 12px;
	margin-right: 14px;
}
#outline .term h3{
	font-size: 2.750em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #FFF;
	letter-spacing: 4px;
	margin-bottom: 20px;
}
#outline .term h3 span{
	font-size: 70%;
}
#outline .caution{
	margin-top:20px;
}
#outline p{
	font-size: 1.25em;
	font-family: 'Noto Serif JP', serif;
	margin-bottom: 16px;
	color: #FFF;
}

.text-marker-grey{
}

#intro{
	width: 90%;
	margin: auto;
}
#intro h4{
	font-size: 1.5em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #DDD;
	letter-spacing: 1px;
	margin-bottom: 14px;
}
#intro p.lead{
	font-size:1.0em;
	color: #FFF;
	margin-bottom: 16px;
}

#intro .thumb{
	width: 60%;
	margin: auto;
}
#intro .thumb img{
	width: 100%;
	heoght: auto;
}
#intro .new{
	width: 90%;
	margin: auto;
	padding: 40px 20px;
	background-color: rgba(0,0,0,0.6);
	margin-top: 50px;
}
#intro .place{
	width: 90%;
	margin: auto;
	background-color: rgba(0,0,0,0.6);
	padding: 40px 20px;
	margin-top: 400px;
}

#theme{
	width: 100%;
	padding: 100px 0 40px 0;
	background-color: #222;
	background-image: url(/2023/images/top/bg_sub.jpg);
	background-position: center 0px;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
}
#theme .bg{
	width: 100%;
	position: relative;
}
#theme .hgroup{
	width: 65%;
	margin: auto;
	margin-bottom: 80px;
}
#theme .hgroup h2{
	width: 600px;
	margin-bottom: 30px;
}
#theme .hgroup p.lead{
	font-size: 1.25em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #FFF;
	line-height: 190% !important;
	letter-spacing: 1px;
	padding-left: 20px;
}

/*#theme .content{
	border: solid 5px #222;
}*/

#theme .content h3{
	font-size: 2.25em !important;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #DDD;
	letter-spacing: 1px;
	margin-bottom: 40px;
}
#theme .content p{
	font-size: 1.063em;
	color: #DEDEDE;
	line-height: 190%;
}
#theme .content p.flg{
	width: 500px;
	margin-bottom: 40px;
}

#theme .content .newproducts{
	 padding-bottom: 50px !important;
}

#theme .content .newproducts .sw-box{
	width: 1060px;
	height: 520px;
	margin-left: 100px;
	background-image: url(/2023/images/top/image_newproducts5.png);
	background-position: center 0px;
	background-repeat: no-repeat;
	background-size: cover;
}

#theme .content .newproducts .sw-entry{
	text-align: center;
	padding-top: 90px;
}

#theme .content .trend{
	width: 100%;
	min-width: 1160px;
	padding: 120px 0 200px 0;
	background-color: #222;
	background-image: url(/2023/images/top/trend__.jpg);
	background-position: center 0px;
	background-repeat: no-repeat;
	background-size: cover;
}
#theme .trend .text{
	padding-top: 60px;
}

#theme .demo{
	padding: 80px 0 40px 0;

}
#theme .content .demo .title-point{
	text-align: center;
	width: 70%;
	margin: auto;
	margin-bottom: 40px;
}
#theme .demo .title-point h4{
	font-size: 1.83em !important;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #DDD;
	letter-spacing: 4px;
	margin-bottom: 12px;
}
#theme .demo .title-point .icon{
	width: 130px;
	margin: auto;
}
#theme .content .demo .title-point .icon img{
	width: 100%;
	height: auto;
}
#theme .content .demo .sw-box{
	margin-bottom: 45px;
}
#theme .content .demo .sw-box .image{
	margin-bottom: 16px;
}

#theme .content .sw-entry .name{
	font-size: 1.250em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	letter-spacing: 1px;
	margin-bottom: 2px;
}
#theme .content .sw-entry .title{
	font-size: 1.0em !important;
}
#theme .content .demo p.lead{
	text-align: center;
}
#theme .content .demo .box-nfd{

}
#theme .content .demo .box-designer{
	margin-top: 80px;
	margin-bottom: 40px;
}

#theme .content .demo .well{
	width: 70%;
	margin:auto;
	margin-top: 20px;
	padding: 1.2em 1.2em;
	background-color: rgba(0,0,0,0.2);
	border-radius: 3px !important;
	text-align: center !important;
}
#theme .content .demo .well .thumb img{
	width: 100%;
	height: auto;
}
#theme .content .demo .well p{
	text-align: center !important;
}

#app{
	padding:60px 0; 
}
#app h3{
	font-size: 1.5em;
	font-weight: 600;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 1px;
}
#app h4{
	font-size: 1.750em;
	font-weight: 600;
	text-align: center;
	margin-bottom: 30px;
}
#app .reserve{
	border: solid 2px #666;
	padding: 30px 30px;
	margin:30px 0 30px 0; 
}
#app .reserve p{
	font-size: 1.750em;
	font-weight: 600;
	color: #6f5f57;
	text-align: center;
	letter-spacing: 1px;
}
#app .reserve p.notice{
	font-size: 1.750em;
	font-weight: 600;
	color: #d85b58;
	text-align: center;
	letter-spacing: 1px;
}


#app p.more{
	font-size: 1.75em;
	font-weight: 600;
	color: #FF6600;
	text-align: center;
	letter-spacing: 1px;
	margin-bottom: 30px;
}

#app p.more{
	font-size: 2.0em;
	font-weight: 600;
	color: #FF6600;
	text-align: center;
	letter-spacing: 1px;
}

#app .contact{
	background-color: #FFF;
}


.sw-btnType{
	font-size: 1.250em;
	color: #333;
	text-align: center;
	text-decoration: none;
	-webkit-transition: background 0.4s;
	-moz-transition: background 0.4s;
	-o-transition: background 0.4s;
	transition: background 0.4s;
	margin-bottom: 10px;
}
.sw-btnType a{
	display: inline-block;
	border-radius: 5px;
	background-color: #6f5f57;
	padding: 20px 30px;
	color: #FFF;
	text-decoration: none;
	-webkit-transition: background 0.4s;
	-moz-transition: background 0.4s;
	-o-transition: background 0.4s;
	transition: background 0.4s;
}
.sw-btnType a:hover{
	display: inline-block;
	background-color: rgba(255,255,255,0.8);
	padding: 20px 30px;
	color: #6f5f57;
	text-decoration: none;
}

.reserve #main{
	width: 90%;
	margin: auto;
	padding: 40px 0;
}

.reserve #main h2{
	font-size: 1.75em;
	text-align: center;
	margin-bottom: 20px;
}



}

/*----------------------------------------
　Mobile
-------------------------------------------*/
@media screen and (max-width: 768px){

.fancybox-slide {
    padding: 50px 12px 12px 12px !important;
}


#badge{
	position: fixed;
	bottom: 7px !important;
	left: 20px;
	z-index:1;
}
#badge .sw-btn{
	zoom: 82%;
	background-color:rgba(64, 145, 198, 0.5) !important;
}

#badge2{
	display: none;
}

header{
	position: fixed;
	bottom: 0 !important;
	left: 0px;
	z-index:9999;
	text-align:right;
}
header .sw-btn{
	font-size: 0.875em;
	font-weight: 600;
	line-height: 160%;
	text-align: center;
	display: inline-block;
}
header .sw-btn a{
	display: block;
	border:none;
	border-radius: 3px;
	background-color: rgba(217,92,89,0.6);
	padding: 12px 18px;
	color: #FFF;
	text-decoration: none;
}
header .sw-btn a:hover{
	display: block;
	border:none;
	border-radius: 3px;
	background-color: rgba(217,92,89,0.8);
	padding: 12px 18px;
	color: #FFF;
	text-decoration: none;
}


#footer {
	width: 100%;
}
#footer p.copy{
	background-color: #000;
	font-size: 0.688em;
	color:#DEDEDE;
	text-align:center;
	padding: 10px 0 10px 0;
}

#visual {
	width: 100%;
	background-image: url(/2023/images/top/cover__.jpg);
	background-position: center 0px;
	background-repeat: repeat-y;
	background-size: contain;
	position: relative;

	padding-bottom: 60px;
}

#visual .main-image{
	position: relative;
	z-index: 1;
}
#visual p.logo{
	width: 120px;
	position: absolute;
	top: 24px;
	left:60px;
	z-index: 9999;
}


#visual p.logo{
	width: 160px;
	z-index: 9999;
}
#visual .hgroup{
	width: 94%;
	margin: auto;
	padding: 40px 0 0 0;
	margin-bottom: 24px;
}
#visual h1.title{
	font-size: 1.375em;
	font-family: "fot-tsukubrdgothic-std", sans-serif;
	font-weight: 700;
	color: #FFF;
	text-shadow: 0 0 4px #016731, 0 0 4px #016731, 0 0 4px #016731, 0 0 4px #016731;
	padding-bottom: 16px;
}
#visual h2.theme{
	width: 99%;
	margin: auto;
	filter: drop-shadow(2px 2px 2px #016731) ;
}
#visual p.author{
	clear: both;
	font-size: 0.933em;
	color: #FFF;
	text-shadow: 0 0 4px #016731, 0 0 4px #016731, 0 0 4px #016731, 0 0 4px #016731;
	text-align: right;
	margin: 0 0 30px 40px;
	margin-right: 20px;
} 

#visual .main-image img,
#visual h2.theme img{
	width: 100%;
	height: auto;
}

#outline {
	width: 94%;
	margin: auto;
	margin-bottom: 40px;
	background-color: rgba(0,0,0,0.6);
}
#outline h3{
	line-height: 160%;
	margin-bottom: 8px !important;
}
#outline p.sub{
	font-size: 1.125em !important;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	color: #FFF;
	line-height: 160% !important;
	text-align: center;
	margin-bottom: 30px;
}
#outline p.lead{
	font-size: 1.125em !important;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	color: #FFF;
	line-height: 160%;
	letter-spacing: 1px;
	text-align: center;
	margin-bottom: 24px;
}
#outline .term{
	text-align: center;
	padding: 36px 30px 24px 30px;
}
#outline .term span.catch{
	vertical-align:top;
	border: solid 1px #CCC;
	display: inline-block;
	font-size: 50% !important;
	font-family: 'Noto Sans JP' !important;
	padding:10px 10px 10px 10px;
	line-height: 100%;

}
#outline .term h3{
	font-size: 1.8750em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #FFF;
	letter-spacing: 2px;
	margin-bottom: 20px;
}
#outline .term h3 span{
	font-size: 70%;
}
#outline .caution{
	margin-top:20px;
}
#outline p{
	font-size: 1.25em;
	font-family: 'Noto Serif JP', serif;
	margin-bottom: 16px;
	color: #FFF;
}

.text-marker-grey{
}

#intro{
	width: 90%;
	margin: auto;
}
#intro h4{
	font-size: 1.375em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #DDD;
	letter-spacing: 1px;
	margin-bottom: 14px;
}
#intro p.lead{
	font-size:1.0em;
	color: #FFF;
	margin-bottom: 16px;
}
#intro .thumb{
	width: 95%;
	margin: auto;
}
#intro .thumb img{
	width: 100%;
	heoght: auto;
}
#intro .new{
	width: 90%;
	margin: auto;
	padding: 34px 24px;
	background-color: rgba(0,0,0,0.6);
	margin-bottom: 40px;
}
#intro .place{
	width: 90%;
	margin: auto;
	background-color: rgba(0,0,0,0.6);
	padding: 34px 24px;

}



#theme{
	width: 100%;
	padding: 40px 0 0px 0;
	background-color: #222;
	background-image: url(/2023/images/top/bg_sub.jpg);
	background-position: center 0px;
	background-repeat: repeat-y;
	background-size: cover;
}

#theme .hgroup{
	width: 90%;
	margin: auto;
	margin-bottom: 80px;
}
#theme .hgroup h2{
	width: 300px;
	margin-bottom: 30px;
}
#theme .hgroup p.lead{
	font-size: 1.063em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #FFF;
	line-height: 180% !important;
	letter-spacing: 1px;
	padding-left: 8px;
}
#theme .content p.flg{
	width: 350px;
	margin-bottom: 30px;
}

#theme .content h3{
	font-size: 1.55em !important;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #DDD;
	letter-spacing: 1px;
	margin-bottom: 20px;
}
#theme .content p{
	font-size: 1.063em;
	color: #DEDEDE;
	line-height: 180%;
}


#theme .content .newproducts{
	width: 90%;
	margin: auto;
	margin-bottom: 40px;
}
#theme .content .newproducts .image{
	width: 100%;
	margin: auto;
	margin-top: 24px;

}

#theme .content .trend{
	width: 90%;
	margin: auto;

}
#theme .content .trend .image{
}
#theme .content .trend .image .img{
	width: 100%;
	height: auto;
}
#theme .trend .text{
	margin-bottom: 24px;
}

#theme .demo{
	width: 90%;
	margin: auto;
	padding: 80px 0 40px 0;
}
#theme .content .demo .title-point{
	text-align: center;
	width: 70%;
	margin: auto;
	margin-bottom: 40px;
}
#theme .demo .title-point h4{
	font-size: 1.75em !important;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #DDD;
	letter-spacing: 1px;
	margin-bottom: 12px;
}
#theme .demo .title-point .icon{
	width: 130px;
	margin: auto;
}
#theme .content .demo .title-point .icon img{
	width: 100%;
	height: auto;
}
#theme .content .demo .sw-box{
	margin-bottom: 45px;
}
#theme .content .demo .sw-box .image{
	margin-bottom: 16px;
}

#theme .content .sw-entry .name{
	font-size: 1.250em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	letter-spacing: 1px;
	margin-bottom: 2px;
}
#theme .content .sw-entry .title{
	font-size: 1.0em !important;
}

#theme .content .demo .box-nfd{
	margin-bottom: 80px;
}
#theme .content .demo .box-designer{
	margin-bottom: 20px;
}

#theme .content .demo .well{
	width: 85%;
	margin:auto;
	margin-top: 20px;
	padding: 1.2em 1.2em;
	background-color: rgba(0,0,0,0.2);
	border-radius: 3px !important;
	text-align: center !important;
}
#theme .content .demo .well .thumb img{
	width: 100%;
	height: auto;
}
#theme .content .demo .well p{
	text-align: center !important;
}

#app{
	padding:60px 0; 
}
#app .sw-inner{
	width: 90%;
	margin:auto;
}



#app h3{
	font-size: 1.313em;
	font-weight: 600;
	font-family: 'Noto Serif JP', serif;
}
#app h4{
	font-size: 1.50em;
	font-weight: 600;
	text-align: center;
	margin-bottom: 30px;
}
#app .reserve{
	border: solid 2px #666;
	padding: 30px 30px;
	margin:30px 0 30px 0; 
}
#app .reserve p{
	font-size: 1.750em;
	font-weight: 600;
	color: #6f5f57;
	text-align: center;
	letter-spacing: 1px;
}
#app .reserve p.notice{
	font-size: 1.750em;
	font-weight: 600;
	color: #d85b58;
	text-align: center;
	letter-spacing: 1px;
}

#app .sw-btn{
	font-size: 1.250em;
	font-weight: 600;
	color: #d85b58;
	text-align: center;
	margin-bottom: 16px;
}

#app p.more{
	font-size: 1.5em;
	font-weight: 600;
	color: #FF6600;
	text-align: center;
	margin-bottom: 30px;
}


.reserve #main{
	width: 90%;
	margin: auto;
	padding: 40px 0;
}

.reserve #main h2{
	font-size: 1.25em;
	text-align: center;
	margin-bottom: 20px;
}






.fancybox-iframe{
	width: 98% !important;

    padding: 0px !important;
}


}



