@charset "utf-8";

/* ---------------------------------------------
 layout modules
------------------------------------------------ */

/* base modules
------------------------------------------------ */
.content p,
.content ul,
.content dl,
.content ol,
.content table,
.content blockquote{
  margin: 20px 0 0;
  line-height:1.8em;
}

.column-image-left + .entry-container > p,
.column-image-right + .entry-container > p {
  margin-top: 10px;
}

.content ul p, .content ul dl, .content ul ol,
.content dl p, .content dl ul, .content dl ol,
.content ol p, .content ol ul, .content ol dl,
.content table p, .content table ul, .content table dl, .content table ol{
  margin: 0;
}

.content p img, .content dl img, .content ul img {
  vertical-align: middle;
}

.column-image-left,.column-image-center,.column-image-right { margin-top:20px !important; }

/* common modules
------------------------------------------------ */

em        { font-weight:bold;}

.small    { font-size:1.2rem;  }
.x-small  { font-size:1rem;  }

.large    { font-size:1.8rem; }
.x-large  { font-size:2.2rem; }

.attention{ color: #FF3366;   }
.bold     { font-weight:bold; }

.center{ text-align: center !important; }
.right { text-align:right !important;   }
.left  { text-align:left !important;    }

.float-l{ float: left;  }
.float-r{ float: right; }
.clear  { clear: both;  }

.img-l{ float:left;  margin:0 25px 10px 0; }
.img-r{ float:right; margin:0 0 10px 25px; }

.nowrap         { white-space:nowrap; }
.nomargintop    { margin-top: 0 !important; }
.content .nocss { margin:0; padding:0; border:none; background:none; }

a[href*="tel:"] {
  pointer-events: none;
	text-decoration:none;
	color:#333;
}

/* 横並びのみ指定 */
.flex-lay{
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}



/* 幅指定 */

.w80{ width:80%; margin:0 auto;}
.w70{ width:70%; margin:0 auto;}
.w50{ width:50%; margin:0 auto;}


/* margin */

.b80{ margin-bottom:80px;}

/* --- anchor --- */

.anchor{
  background:url(../images/icon_arrow01.png) no-repeat 0 0.4em;
  padding-left:13px;
}

/* --- ext icon --- */

a[href$='.xls'], a[href$='.xlsx']{
  background: url(../images/fileicon/xls.png) no-repeat 100% 50%;
  padding-right: 25px;
}

a[href$='.doc'], a[href$='.docx']{
  background: url(../images/fileicon/doc.png) no-repeat 100% 50%;
  padding-right: 25px;
}

a[href$='pdf']{
  background: url(../images/fileicon/pdf.png) no-repeat 100% 50%;
  padding-right: 25px;
}

a[href$='ppt']{
  background: url(../images/fileicon/ppt.png) no-repeat 100% 50%;
  padding-right: 25px;
}


/* --- openwin --- */

.openwin{
  padding-right: 15px;
}

/* ---　pagetop-in　 --- */

.pagetop-in {
  text-align:right;
}

.pagetop-in a {
  font-size: 92%;
}

/* --- blockquote --- */

blockquote,
.acms-entry blockquote{
  background:#fff;
  border:0;
  margin-top:40px;
  padding:30px 20px;
}


/* --- btn --- */

.btn a{
	display:block;
	color:#000;
	font-weight:bold;
	text-decoration:none;
	border:1px solid #000000;
	transition: 0.3s;
	padding:10px 0;
	text-align:center;
	position:relative;
	letter-spacing:1px;
}

.btn a:hover{
	background:#ac1e05;
	border:1px solid #ac1e05;
	color:#fff;
}

/* --- pagelink --- */

.pagelink{
	text-align:center;
	margin:20px auto 0;
}

.pagelink li{
	position:relative;
	display:inline-block;
	padding:0 20px;
}

.pagelink li::after{
	content:"/";
	display:block;
	position:absolute;
	top:0;
	right:0;
}

.pagelink li:last-child::after{
	display:none;
}

/* ------ title -------------------------------- */

.content h2,
.content .wysiwyg h1{
  clear:both;
  margin:30px 0 0;
	font-size:2.4rem;
  font-weight:bold;
}
.content h2 a:link          { text-decoration:underline; }
.content h2 a:visited       { text-decoration:underline; }
.content h2 a:hover,a:active{ text-decoration:none; }

.content h2.type01,
.entry-container h2,
.content .wysiwyg h1{
	display: flex;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size:2.4rem;
	margin:100px 0 0;
}

.content h2.type01::before,
.content h2.type01::after,
.entry-container h2::before,
.entry-container h2::after,
.content .wysiwyg h1::before,
.content .wysiwyg h1::after{
	content:"";
	width:101px;
	height:22px;
}

.content h2.type01::before,
.entry-container h2::before,
.content .wysiwyg h1::before{
	background:url(../images/bg_h2_l.png) no-repeat right 0 center;
	margin:0 30px 0 0;
}

.content h2.type01::after,
.entry-container h2::after,
.content .wysiwyg h1::after{
	background:url(../images/bg_h2_r.png) no-repeat 0 center;
	margin:0 0 0 30px;
}

.content h3,
.content .wysiwyg h2,
.entry-container h3{
  clear:both;
  margin:30px 0 0;
  font-weight:bold;
	font-size:2.4rem;
	position:relative;
  text-align: center;
}
.content h3.left {
  text-align: left;
}
.content .wysiwyg h2::after {
  background: none;
  width: 0;
  margin: 0;
}
.content .wysiwyg h2,
.entry-container h3{
  position: relative;
  margin-bottom: 1em;
}
.content .wysiwyg h2::before,
.entry-container h3:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 22px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
  border-radius: 2px;
}

.content h4,
.content .wysiwyg h3{
  clear:both;
  font-weight:bold;
  margin:30px 0 0;
	font-size:2rem;
  text-align: center;
}
.content h4::before,
.content .wysiwyg h3::before {
  display: none;
}

.content h5,
.content .wysiwyg h4{
  clear:both;
  font-weight:bold;
  margin:40px 0 0;
	font-size:2rem;
}


/* ------ ul ----------------------------------- */


/* --- normal list --- */

.list li,
.wysiwyg li {
  padding-left: 15px;
  margin-bottom: 5px;
  position: relative;
}

.wysiwyg ol li{
	text-indent:0!important;
}

.list li:before,
.wysiwyg li::before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background: #d12b10;
  /*border-radius: 4px;*/
  position: absolute;
  top: 0.6em;
  left: 0;
}

.wysiwyg ol li::before {
	counter-increment: number;
   content: counter(number);
	 background:none;
	 color:#d12b10;
	 top:0;
}


/* --- link list --- */

.link li {
  padding-left: 15px;
  margin-bottom: 5px;
  position: relative;
}

.link li:before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border-top: solid 2px #d12b10;
  border-right: solid 2px #d12b10;
  position: absolute;
  top: 0.6em;
  left: 0;
  transform: rotate(45deg);
}

/* --- number list --- */

ol {
  counter-reset:number;
  padding:0;/* paddingキャンセル */
  list-style:none;/* olがはき出す数字を消す */
}

ol li {
  text-indent: -30px;
  padding-left: 30px;
}

ol > li:before {
  counter-increment: number;
  content: counter(number) ". ";
  font-weight: bold;
  text-align: right;
  display: inline-block;
  width: 25px;
  margin-right: 5px;
  line-height: ;
}

ol li li {
  text-indent: 0px;
}

/* --- attention list --- */

.rice li{
  margin:0 0 5px 1em;
  text-indent:-1em;
}

/* --- compact list --- */

.compact li{
  display:inline;
  margin-right:10px;
}

/* --- within compact list --- */

.within {
  padding: 8px;
  border: 1px solid #ddd;
}

.within li{
}


.content ul ul, .content dl dl, .content ol ol {
  margin-top: 5px;
}

/* ------ dl ----------------------------------- */

/* --- normal list --- */

.list dt{
  font-weight:bold;
}

.list dd{
  padding-left:13px;
}

/* --- link list --- */

.link dt{
  background:url(../images/icon_arrow01.png) no-repeat 0 0.4em;
  padding-left:15px;
  font-weight:bold;
}

.link dd{
  padding-left:15px;
}

/* --- horizonal --- */

.horizonal dt {
  clear: left;
  float: left;
  width: 10em;
  padding:8px 8px 8px 0;
}

.horizonal dd {
  padding:8px 15px 8px 11em;
  border-bottom:1px solid #ddd;
}



/* ------ layout frame ------------------------- */

.content .layout-frame {
  clear: both;
  margin-left: -20px;
}

.content .layout-3col {
  margin-left: -15px;
}

.content .layout-unit {
  float: left;
  display: inline;
  margin-left: 20px;
}

.content .layout-3col .layout-unit {
  margin-left: 15px;
}

/* 720px */
.grid-1 { width: 60px; }
.grid-2 { width:110px; }
.grid-3 { width:170px; }
.grid-4 { width:230px; }
.grid-5 { width:290px; }
.grid-6 { width:350px; }
.grid-7 { width:410px; }
.grid-8 { width:470px; }
.grid-9 { width:530px; }
.grid-10{ width:590px; }
.grid-11{ width:650px; }



/* ------ social media ------------------------- */

.social-icon ul{
  margin:20px auto;
  text-align:center;
}

.social-icon ul li{
  display:inline-block;
}

.social-icon ul li a {
  display: block;
  width: 60px;
  height: 60px;
  text-indent: -99999px;
  font-size: 50%;
  border-radius:50%;
}

@media screen and ( min-width:750px ){
  .facebook:hover {
    background:url(../images/svg/facebook.svg) center center no-repeat;
    background-size: 100%;
    background-color: #3b5998!important;
  }
}
.facebook {
  background:url(../images/svg/facebookClick.svg) center center no-repeat;
  background-size: 100%;
  background-color: #ffffff!important;
  border: 1px solid #3b5998;
}
@media screen and ( min-width:750px ){
  .twitter:hover {
    background:url(../images/svg/twitter.svg) center center no-repeat;
    background-size: 100%;
    background-color: #00aced!important;
  }
}
.twitter {
  background:url(../images/svg/twitterClick.svg) center center no-repeat;
  background-size: 100%;
  background-color: #ffffff!important;
  border: 1px solid #00aced;
}
@media screen and ( min-width:750px ){
  .line:hover {
    background:url(../images/svg/line.svg) center center no-repeat;
    background-size: 100%;
    background-color: #2cbf13!important;
  }
}
.line {
  background:url(../images/svg/lineClick.svg) center center no-repeat;
  background-size: 100%;
  background-color: #ffffff!important;
  border: 1px solid #2cbf13;
}



/* ------ table -------------------------------- */

table{
  border-collapse:collapse;
  border:1px solid #fff;
  width:100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;

}

table th,
table td{
  padding:10px;
  vertical-align:top;
  border:1px solid #fff;
  background-color: rgba(250,202,147,0.05);
}

table th{
  background-color: rgba(250,202,147,0.1);
  font-weight:bold;
}

table thead th,
th.head {
  background-color: rgba(250,202,147,0.15);
  text-align:center;
}

/* --- noborder --- */

table.noborder,
table.noborder td,
table.noborder th{
  border:0;
  background: none;
}

/* index
------------------------------------------------ */

.index {
  clear: both;
  margin: 0 0 0 -20px;
}

.index dl {
  position: relative;
  float: left;
  display: inline;
  margin-left: 20px;
  width: 350px;
  background: #eee;
}

.index dt {
  padding: 7px;
  background:#ddd;
}

.index dt a {
  text-decoration:none;
}

.index dd {
  padding: 7px;
}


/* cms
------------------------------------------------ */

/* --- entry-date --- */

.entry-date {
  text-align: right;
  font-size: 87%;
}

/* --- entry-navigation / pager-navigation --- */

.entry-navigation,
.pager-navigation{
  font-size:87%;
  margin:50px 0 0;
}

.entry-navigation a:link, .entry-navigation a:visited, .entry-navigation a:hover, .entry-navigation a:active,
.pager-navigation a:link, .pager-navigation a:visited, .pager-navigation a:hover, .pager-navigation a:active{
  text-decoration:none;
}

.entry-navigation ul,
.pager-navigation ul{
  margin:0;
}

/* entry-navigation */

.entry-navigation{
  background:#fdf3e4;
  padding:10px;
}

.entry-navigation li{
  width:33%;
}


.entry-navigation .entry-new{
  float:left;
}

.entry-navigation .entry-list{
  float:left;
  text-align:center;
}

.entry-navigation .entry-old{
  float:right;
  text-align:right;
}

.entry-navigation .home{
  text-align:center;
  margin-top:-20px;
}

.entry-navigation ul:after {
  visibility:hidden;
  display:block;
  font-size:0;
  content:" ";
  clear:both;
  height:0;
}
* html .entry-navigation ul             { zoom:1; } /* IE6 */
*:first-child+html .entry-navigation ul { zoom:1; } /* IE7 */

/* pager-navigation */

.pager-navigation {
  padding-bottom: 50px;
}

.pager-navigation ul li{
  float:left;
  text-align:center;
  margin-right:1px;
  line-height:1;
  padding-left: 0 !important;
}

.pager-navigation ul li span.cur{
  /* background:#f6f6f6;
  border:1px solid #CECECE; */
  color:#d12b10;
  display:block;
  line-height:1;
  padding:1em;
  position:relative;
  border-bottom: 1px solid #d12b10;
}

.pager-navigation ul li a:link,
.pager-navigation ul li a:visited{
  /* background:#fff;
  border:1px solid #CECECE; */
  border-bottom: 1px solid #eee;
  color:#666;
  display:block;
  line-height:1;
  padding:1em;
  position:relative;
}

.pager-navigation ul li a:hover,
.pager-navigation ul li a:active{
  background:#eee;
}

/* 続きを読むリンク */
.search.entry p.continue {
  margin: 0;
  padding: 0;
}

.search.entry p.continue a {
  display: block;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid #E8E8E8;
}

.search.entry p.continue a:hover {
  background-color: #F0F0F0;
}

/* index-list */

.index-list{
	background:#fff;
	padding:40px;
}

.index-list ul li {
  padding-left: 15px;
  margin-bottom: 15px;
  position: relative;
}

.index-list ul li:before {
  content: '';
  display: block;
  width:6px;
  height:6px;
  border-top: solid 2px #d12b10;
  border-right: solid 2px #d12b10;
  position: absolute;
  top: 0.6em;
  left: 0;
  transform: rotate(45deg);
}

.index-list ul li span{
	display:block;
	font-size:1.4rem;
}

/* ------------------------ */


/* bnr-list pdf-list */

.bnr-list,
.pdf-list{
	text-align:center;
	margin:0 auto;
}

.bnr-list li{
	display:inline-block;
	width:280px;
	margin:0 5px;
}

.pdf-list li{
	display:inline-block;
  width:22%;
	margin:0 1% 30px;
}

.bnr-list li a{
	display:block;
	height:80px;
	line-height:80px;
	background:#fff url(../images/icon_arrow_bla.png) no-repeat 25px 50%;
	background-size:20px auto;
	transition: 0.3s;
}

.pdf-list li a{
	display:block;
	height:60px;
	line-height:60px;
	background:#fff url(../images/icon_arrow_bla.png) no-repeat 25px 50%;
	background-size:20px auto;
	transition: 0.3s;
  padding-left: 50px;
}


@media screen and ( min-width:750px ){

	.bnr-list li a:hover,
	.pdf-list li a:hover{
		color:#fff;
		background:#ac1e05 url(../images/icon_arrow.png) no-repeat 25px 50%;
		background-size:20px auto;
	}
}

/* title-box */

.content .title-box h2::before,
.content .title-box h2::after{
	display:none;
}

.title-box{
	width:60px;
	color:#333;
	letter-spacing:2px;
}

.title-box h2{
	transform: rotate(90deg);
	font-size:2rem;
	margin:0 0 0 20px;
}

.title-box span{
	position:relative;
	margin-top:-36px;
	display:block;
	-webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
					-webkit-text-stroke-width: .3px !important;
}



/* about */

.content.about p{
	line-height:2;
}

.about-story{
	position:relative;
	margin-bottom:200px;
}

.f-lbox {
	width:50%;
	height:600px;
  z-index: 1000;
  position: -webkit-sticky;
  position: sticky;
  top:100px;
	display: flex;
}


.f-lbox .f-photo{
	width:90%;
	height:600px;
	/*overflow:hidden;*/
}

.f-lbox .f-photo img{
	width:100%;
}

.f-lbox .f-title{
	width:10%;
	text-align:left;
}

.f-lbox .f-title h2{
	margin:20px auto 0;
	font-size:2.8rem;
	-webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.f-lbox.r-photo{
	left:50%;
}

.fix-box{
	width:100%;
	padding-left:50%;
	margin-top:-600px;
}

.fix-box.l-txt{
	padding:0 50% 0 0;
}

.f-text {
  /* position: -webkit-sticky;
  position: sticky; */
  top: 0;
	width:100%;
	padding:0 20px 20px;
}

.f-text p.s-size{
	width:424px;
	margin:30px auto;
}

.f-text .s-size img{
	width: 424px;
  height:265px;
	 object-fit: cover;
}

.l-txt .f-text{
	padding:0 20px 20px 0;
}

table td.menseki span{
	display:inline-block;
	width:13em;
}

p.lead {
    margin: 20px 120px 80px;
}

@media screen and ( max-width:750px ){
    p.lead{
    margin: 0!important;
    }
}

.column-image-left{
    float: left;
}

h2.left-vertical{
    display: inline-block;
    margin: 20px 0px 0px 0px;
}

h2.left-vertical::before,
h2.left-vertical::after{
	display:none;
}

/* facility */

.exhibition-box,
.profile-box{
	position:relative;
}

.exhibition-box{
	width:40%;
	/*margin-right:86px;*/
}

.profile-box{
	width:60%;
}

.exhibition-box::after,
.profile-box::after{
	content:"";
	display:block;
	position:absolute;
	left:40px;
	border-left:1px solid #000;
}

.exhibition-box::after{
	bottom:100px;
	width:63px;
	height:45%;
}

.profile-box::after{
	bottom:-20px;
	width:63px;
	height:80%;
}

.eb-inner{
	margin:0 0 0 50px;
}

.eb-inner dl{
	margin:0;
}

.eb-inner dt{
	width:247px;
	height:350px;
	overflow:hidden;
}

.eb-inner .title{
	font-size:2rem;
	font-weight:bold;
}

.eb-inner:hover .title{
	color:#ac1e05;
}

.eb-inner .title{
	margin-top:10px;
}

.eb-inner .title span{
	display:block;
	font-size:1.6rem;
	font-weight:normal;
}

.eb-inner a{
	color:#333;
	text-decoration:none;
}

.exhibition-box .btn{
	position:absolute;
	bottom:-35px;
	left:18px;
	width:50px;
	-webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.exhibition-box .btn a{
	padding:30px 10px;
	line-height:2;
}

.works{
	margin:0 auto 80px;
}

#default-demo,
.works-list{
  display: flex;
  flex-wrap: wrap;
}
.col-xs-4 {
  max-width: calc( 100% / 4 );
  padding: 2em;
}
.col-xs-3 {
  max-width: calc( 100% / 3 );
  padding: 2em;
}
.thumbnail img { width: 100%; display: block; }
.thumbnail .caption {
  text-align: center;
}
.slick-lightbox-slick-caption {
  font-size: 1.6rem !important;
}
.works .btn-more{
	border: 1px solid #000;
	padding: 15px 30px;
	display: block;
	margin: 2rem auto;
	width: 25%;
}
.works .btn-more:hover{
	color: #ac1e05;
	border: 1px solid #ac1e05;
}

table.timeline{
	margin-top: 80px;
}
table.timeline th{
	width: 15%;
	text-align: center;
	vertical-align: middle;
	padding: 20px;
}
table.timeline td{
	width: 70%;
	padding: 20px;
}

/* pottery-hall */

.pottery-hall-box{
	position:relative;
	margin-bottom:80px;
}

.pottery-hall-box::after{
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	left:40px;
	width:63px;
	height:50%;
	border-left:1px solid #000;
}

.pottery-hall-box .p-photo{
	width:40%;
	margin:0 50px;
}

.pottery-hall-box .text{
	width:40%;
}

/* rentalgallery */

.event-info{
	display:flex;
	-webkit-box-pack:justify;/*　間隔均等　*/
    -webkit-justify-content:space-between;
    -ms-flex-pack:justify;
    justify-content:space-between;
}

.event-info div{
	width:100%;
}

.event-info div ul.flex-lay{
  justify-content:flex-start;
  flex-wrap:wrap;
}

.event-info div ul.flex-lay li{
  margin-bottom: 30px;
  margin-right:40px;
}

.event-info div ul.flex-lay li:nth-child(4n){
  margin-right: 0px;
}

.event-info div ul.flex-lay li dd.label{
  text-align: center;
}

.event-info div ul.flex-lay li dd.label span{
  position: relative;
  display: inline-block;
  padding: 0 55px;
}

.event-info div ul.flex-lay li dd.label span:before,
.event-info div ul.flex-lay li dd.label span:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: black;
}

.event-info div ul.flex-lay li dd.label span:before {
  left:0;
}
.event-info div ul.flex-lay li dd.label span:after {
  right: 0;
}


.event-info .now{
	width:283px;
}

.event-info .next{
	width:596px;
}

.event-info h3{
	display:inline-block;
  clear:both;
  margin:30px 0 0;
	padding-bottom:5px;
  font-weight:bold;
	font-size:2.4rem;
	position:relative;
}

.event-info h3::after{
	content:"";
	display:block;
	width:20px;
	height:1px;
	background-color:#000;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
}

.event-info .next ul{
	-webkit-justify-content:space-between;
    -ms-flex-pack:justify;
    justify-content:space-between;
}

.event-info dl{
	width:210px;
}

.event-info dl dt + dd{
	font-size:1.8rem;
	margin-top:10px;
}

.event-info dt{
	width:100%;
	height:350px;
	overflow:hidden;
	text-align:center;
}

/*.event-info dt img{
	width:auto;
	height:100%;
}*/

.sk li span{
	display:inline-block;
	width:16em;
}

/* cafe */

.cafe-menu{
	width:80%;
	min-width:950px;
	margin:0 auto;
	font-size:1.8rem;
}

.cafe-menu .flex-lay{
	justify-content:space-between;
}

.cafe-menu .drink{
	width:48%;
	position:relative;
	padding:30px 50px 100px;
	border-bottom:2px solid #eee;
	border-top:2px solid #eee;
}

.cafe-menu .drink li{
	line-height:2;
}

.cafe-menu .drink .price{
	position:absolute;
	bottom:40px;
	right:10%;
}

.cafe-menu .cake{
	padding:30px 50px 50px;
	border-bottom:2px solid #eee;
}

.cafe-menu .drink span,
.cafe-menu .cake dd{
	display:block;
	font-size:1.4rem;
	padding-left:2em;
	margin-left:-1em;
}

.cafe-menu .cake dd.price{
	display:block;
	padding:0;
	margin:0;
	font-size:1.8rem;
	text-align:right;
}

.cafe-menu p.center{
	font-size:1.6rem;
	padding:30px 0 50px;
	border-bottom:2px solid #eee;
}


/* products */

.product-box h2{
	margin-top:80px;
}

.product-box ul{
	margin:40px auto 0;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	justify-content:space-around;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
  	flex-wrap: wrap;
}

.product-box ul li{
	text-align:center;
	margin-bottom:40px;
	width:25%;
}

.product-box ul li dl{
	width:260px;
}

.product-box dt{
	width:260px;
	height:160px;
	margin-bottom:20px;
	overflow:hidden;
}

.product-box dd{
	font-size:1.4rem;
}

.product-box dd.price,
.product-box dd.pro-text{
	font-size:1.6rem;
}
.product-box dd.pro-name{
	font-size:2rem;
}

/* guide */

dl.line-box{
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	width:70%;
	margin:0 auto;
	padding:30px 40px;
	border-bottom:2px solid #eee;
}


.inner dl.line-box:first-of-type,
h2 + dl.line-box,
.ac-map + dl.line-box{
	border-top:2px solid #eee;
	margin-top:40px;
}

dl.line-box dt{
	width:20%;
}
dl.line-box dd{
	width:80%;
}

dl.line-box dd span{
	position:relative;
	right:0;
	display:inline-block;
}

dl.line-box dl{
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	-webkit-box-pack:justify;/*　間隔均等　*/
    -webkit-justify-content:space-between;
    -ms-flex-pack:justify;
    justify-content:space-between;
  -ms-flex-wrap: wrap;/*　折り返し　*/
	-webkit-flex-wrap: wrap;
  	flex-wrap: wrap;
}

dl.line-box dl dt{
	width:80%;
}

dl.line-box dl dd{
	width:20%;
}

.ac-map{
	width:100%;
	height:400px;
	margin-top:40px;
	position:relative;
}

.ac-map iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

/* faq */

dl.faq{
	border-top:2px solid #eee;
	border-bottom:2px solid #eee;
	position:relative;
}

dl.faq + dl.faq{
	border-top:none;
	margin:0 auto;
}

.faq h3 {
  text-align: left;
}

.faq dt{
	position:relative;
	cursor:pointer;
	padding:25px 37px 25px 87px;
	font-size:1.8rem;
	background:url(../images/icon_q.png) no-repeat 20px 20px;
}

.faq dt span{
	display:block;
	width:32px;
	height:32px;
	background-color:#df6953;
	position:absolute;
	top:25px;
	right:40px;
	border-radius:100%;
}

.faq dt::before,
.faq dt::after{
	content: '';
	display: block;
	width: 15px;
	height: 2px;
	border-radius: 5px;
	background:#fff;
	position: absolute;
	right:48px;
	top:41px;
	transform: translateY(-50%);
	z-index:5;
}

.faq dt::after {
	background:#fff;
	transform: translateY(-50%) rotate(90deg);
	transition: 0.5s;
}

.faq dt.active::after {
	transform: rotate(0);
	transition: 0.5s;
}

.faq dt.active::before,
.faq dt.active::after{
	background:#df6953;
}

.faq dt.active span{
	background-color:#fceee7;
}

.faq dd{
	display:none;
	color:#666;
	padding:25px 37px 40px 87px;
}


/**/
.faq.riyou dt{
	position:relative;
	cursor:pointer;
	padding:25px 37px 25px;
	font-size:1.8rem;
	background:none;
}

.faq.riyou dd{
	display:none;
	color:#666;
	padding:25px 37px 40px;
}

/* local-bnr */

.local-bnr{
	margin-bottom:100px;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	-webkit-box-pack:justify;
    -webkit-justify-content:space-between;
    -ms-flex-pack:justify;
    justify-content:space-between;
		flex-wrap: wrap;
}

.local-bnr li{
	width : -webkit-calc(100% / 3) ;
  width : calc(100% / 3) ;
	font-size:1.8rem;
	position: relative;
	overflow: hidden;
	text-align: center;
}

.local-bnr li::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	background-size: cover;
	transition: all .3s ease-out;
}

@media screen and ( min-width:750px ){
	.local-bnr li:hover::after {
			-moz-transform: scale(1.2);
			-webkit-transform: scale(1.2);
			-ms-transform: scale(1.2);
			transform: scale(1.2);
	}

}
.local-bnr li a {
	z-index: 1;
	position: relative;
	display:block;
	line-height:200px;
	height:200px;
	color:#fff;
}

.local-bnr li:nth-child(1)::after{
	background: url(../images/bg_title_facility.jpg) no-repeat 50% 0;
	background-size: cover;
}

/*.local-bnr li:nth-child(2)::after{
	background: url(../images/bg_title_pottery-hall.jpg) no-repeat 50% 0;
	background-size: cover;
}*/

.local-bnr li:nth-child(2)::after{
	background: url(../images/bg_title_rentalgallery.jpg) no-repeat 50% 0;
	background-size: cover;
}

.local-bnr li:nth-child(3)::after{
	background: url(../images/bg_title_cafe.jpg) no-repeat 50% 0;
	background-size: cover;
}

.local-bnr li a span{
	background-color: rgba( 255, 255, 255, 0.5 );
	padding: 30px;
	color: #000;
}


/* ループスライド画像 */

.slid-loop{
	width:100%;
	margin:60px auto;
	overflow:hidden;
}

.loop_css2 {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    width: 100vw;
    overflow: hidden;
  }

  .loop_css2 ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .loop_css2 li {
    display: inline-block;
    width: calc(100vw / 6);
    min-width: 150px;
    margin: 0;
    list-style: none;
    text-align: center;
  }

  .loop_css2 li img {
    display: block;
    width: 100%;
    height: auto;
  }

  .loop_css2 ul:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
  }

  .loop_css2 ul + ul {
    -webkit-animation: loop2 50s  linear infinite;
    animation: loop2 50s linear infinite;
  }

  .loop_css2:hover ul {
    animation-play-state: paused;
  }

  @-webkit-keyframes loop {
    0% {
      -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
      transform: translateX(100%);
    }
    to {
      -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
      transform: translateX(-100%);
    }
  }

  @keyframes loop {
    0% {
      -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
      transform: translateX(100%);
    }
    to {
      -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
      transform: translateX(-100%);
    }
  }

  @-webkit-keyframes loop2 {
    0% {
      -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
      transform: translateX(0);
    }
    to {
      -webkit-transform: translateX(-200%);
      -ms-transform: translateX(-200%);
      transform: translateX(-200%);
    }
  }

  @keyframes loop2 {
    0% {
      -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
      transform: translateX(0);
    }
    to {
      -webkit-transform: translateX(-200%);
      -ms-transform: translateX(-200%);
      transform: translateX(-200%);
    }
  }


.loopslider {
  margin: 0 auto;
  width: 500px;
  height: 100px;
  text-align: left;
  position: relative;
  overflow: hidden;
}

.loopslider ul {
  height: 100px;
  float: left;
  display: inline;
  overflow: hidden;
}

.loopslider ul li {
  width: 100px;
  height: 100px;
  float: left;
  display: inline;
  overflow: hidden;
}

.instagram-container { margin: 30px auto; }
.instagram-container.swiper-container { height: auto; }
.instagram-container .swiper-wrapper{ transition-timing-function:linear; }

.instagram-container .swiper-slide {
  width: calc(100vw / 6);
  min-width: 150px;
  margin: 0;
}
.instagram-container .swiper-slide > a {
  display: block;
  width: 100%;
  height: 100%;
}
.instagram-container .swiper-slide > a img {
  max-width: 100%;
}

/* =======================================
  ClearFixElements
======================================= */
.loopslider ul:after {
  content: ".";
  height: 0;
  clear: both;
  display: block;
  visibility: hidden;
}

.loopslider ul {
  display: inline-block;
  overflow: hidden;
}



@media all and (-ms-high-contrast: none) {
  .f-lbox.r-photo{
		position:relative;
		left:50%;
		top:0;
	}
	.local-bnr li{
		width :33.3%;
	}

	.profile-box,
	.exhibition-box {
		height:630px;
	}

	.profile-box .title-box h2{
		margin:-20px 0 0 40px;
		position:relative;
	}

	.profile-box .title-box span{
		margin-top:-15px;
	}

	.f-lbox .f-title{
		position:relative;
	}

	.f-lbox .f-title h2{
		position:absolute;
		top:0;
	}

	.about .loop_css2 li {
    width: 16.6vw;
    min-width: 16.6vw;
  }

  .exhibition-area .title-box h2 {
    margin-right: -23px;
  }

}

@supports (-ms-ime-align: auto) {
  .f-lbox.r-photo{
    position:relative;
    left:50%;
    top:0;
  }
  .local-bnr li{
    width :33.3%;
  }

  .profile-box,
  .exhibition-box {
    height:630px;
  }

  .profile-box .title-box h2{
    margin:-20px 0 0 40px;
    position:relative;
  }

  .profile-box .title-box span{
    margin-top:-15px;
  }

  .f-lbox .f-title{
    position:relative;
  }

  .f-lbox .f-title h2{
    position:absolute;
    top:0;
  }

  .about .loop_css2 li {
    /* min-width: 266px; */
    /* min-width: 16.6%;
    width: 16.6%; */
    min-width: 150px;
    width: 16.6vw;
  }

}



/* 微調整 */
._mt40 {
  margin-top: 40px;
}

._mt60 {
  margin-top: 60px!important;
}
