@charset "shift_jis";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.0.0/dist/css/yakuhanjp_s.min.css');

/* ========== ========== ==========
	共通
========== ========== ========== */

#saiji_wrap *, 
#saiji_wrap *:before, 
#saiji_wrap *:after {
	box-sizing: border-box;
	/* transition: 0.2s; */
}

#saiji_wrap h1, #saiji_wrap h2, 
#saiji_wrap h3, #saiji_wrap h4,
#saiji_wrap p {
	margin: 0;
	padding: 0;
}

#saiji_wrap, #saiji_wrap p, #saiji_wrap td, #saiji_wrap a {
	font-family: YakuHanJPs, "Noto Sans Japanese", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	line-height: 1.75;
}
#saiji_wrap ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#saiji_wrap img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: bottom;
}

#saiji_wrap a,
#saiji_wrap a:hover {
    text-decoration: none;
	transition: 0.2s;
}

#saiji_wrap a:hover,
#saiji_wrap a:hover > img {
	opacity: 0.5;
}

#saiji_wrap strong {
	font-size: inherit;
	font-weight: bold;
}

#saiji_wrap span {
	display: inline-block;
	font-size: inherit;
	font-weight: inherit;
}

.float_box { width: 100%; }
.fl { float: left;}
.fr { float: right; }

.clear { 
	clear: both;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

/* ---------- ---------- ---------- */

.l { text-align: left; }
.c { text-align: center; }
.r { text-align: right; }

@media only screen and (max-width: 960px) {
	#saiji_wrap, #saiji_wrap p, #saiji_wrap td, #saiji_wrap a {
		font-size: 1.6vw;
	}
}
@media only screen and (max-width: 720px) {
	#saiji_wrap, #saiji_wrap p, #saiji_wrap td, #saiji_wrap a {
		font-size: 2.2vw;
	}
}
@media only screen and (max-width: 480px) {
	#saiji_wrap, #saiji_wrap p, #saiji_wrap td, #saiji_wrap a {
		font-size: 3.3vw;
	}
}



/* ========== ========== ==========
	#saiji_wrap
========== ========== ========== */

#saiji_wrap {
    width: 100%;
    margin: 0 auto 2em;
    padding: 0;
	box-sizing: border-box;
}
@media only screen and (max-width: 960px) {
	#saiji_wrap {
		padding: 1em;
	}
}



/* ========== ========== ==========
	#saiji_head
========== ========== ========== */

#saiji_head {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}



/* ========== ========== ==========
	#saiji_nav
========== ========== ========== */

#saiji_nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 2em auto 0;
	padding: 0;
}
#saiji_nav .item {
	width: 49%;
	margin: 0 2% 2% 0;
	background: #94cac0 url("../images/bg_saiji_nav_01.png") 95% center no-repeat;
	background-size: contain;
	border-radius: 1em;
	padding: 1.5em 8em 1.5em 1.5em;
}
#saiji_nav .item:nth-child(2n) {
	margin-right: 0;
}
#saiji_nav .item .ttl {
	margin-bottom: 1em;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #222222;
	font-size: 1.25em;
	font-weight: bold;
	text-align: center;
}
#saiji_nav .item .txt {
	text-align: center;
}
@media only screen and (max-width: 720px) {
	#saiji_nav .item {
		width: 100%;
		margin-right: 0;
	}
}



/* ========== ========== ==========
	#saiji_main
========== ========== ========== */

#saiji_main section {
	margin-top: 4em;
}
#saiji_main section h3.ttl {
	padding: 0.5em;
	background-color: #5cc1ef;
	color: #ffffff;
	font-size: 2em;
	font-weight: bold;
	text-align: center;
}

#saiji_main section h3.ttl_w {
	padding: 0.5em;
	background-color:#F60;
	color: #ffffff;
	font-size: 2em;
	font-weight: bold;
	text-align: center;
}

#saiji_main section .content_inner {
	padding-top: 4em;
}
#saiji_main section .content_inner h4.ttl {
	margin-bottom: 2em;
	padding: 0.5em 1em;
	background-color:#000;
	color: #ffffff;
	font-size: 1.25em;
	font-weight: bold;
	text-align: center;
}
#saiji_main section .content_inner h5.ttl {
	margin-bottom: 0.5em;
	color: #efb168;
	font-size: 1.25em;
	font-weight: bold;
}
#saiji_main section .content_inner p {
	margin-bottom: 1em;
}



/* ========== ========== ==========
	#saiji_news
========== ========== ========== */

#saiji_news {
	margin-top: 4em;
	padding: 2em;
	background-color: #eeeeee;
}
#saiji_news .ttl {
	margin-bottom: 1em;
	font-size: 1.25em;
	font-weight: bold;
	text-align: center;
}
#saiji_news .list_saiji_news li {
	padding: 0.5em 0;
	font-size: 1em;
	border-bottom: 1px dotted #4d4d4d;
}
#saiji_news .list_saiji_news li:first-child {
	border-top: 1px dotted #4d4d4d;
}
#saiji_news .list_saiji_news li:before {
	content: "■";
	margin-right: 0.5em;
	color: #efb168;
}
#saiji_news .list_saiji_news li.red {
	color: #ea553a;
}
#saiji_news .list_saiji_news li a {
    color: #ea553a;
    text-decoration: underline;
}



/* ========== ========== ==========
	#saiji_shop
========== ========== ========== */

#saiji_shop {
	margin-top: 4em;
}
#saiji_shop .saiji_shop_list {
    display: flex;
    flex-wrap: wrap;
}
#saiji_shop .saiji_shop_list .shop {
    width: 23.5%;
    margin-right: 2%;
    padding-bottom: 1em;
    border: 1px solid #cccccc;
}
#saiji_shop .saiji_shop_list .shop:nth-child(4n) {
    margin-right: 0;
}
#saiji_shop .saiji_shop_list .shop p {
    font-size: 0.9em;
}
#saiji_shop .saiji_shop_list .shop .img {
    margin-bottom: 1em;
}
#saiji_shop .saiji_shop_list .shop .ttl {
    margin-bottom: 1em;
    padding: 0 1em;
    font-weight: bold;
}
#saiji_shop .saiji_shop_list .shop .txt {
    margin-bottom: 1em;
    padding: 0 1em;
}
#saiji_shop .saiji_shop_list .shop .pri {
    padding: 0 1em;
    text-align: right;
}
#saiji_shop .btn {
    display: block;
    width: 80%;
    margin: 2em auto 0;
    padding: 1em;
    background-color: #efb166;
    border-radius: 100vh;
    color: #ffffff;
    font-size: 1.25em;
    font-weight: bold;
    text-align: center;
}
@media only screen and (max-width: 720px) {
    #saiji_shop .saiji_shop_list .shop {
        width: 49%;
        margin-bottom: 2%;
    }
    #saiji_shop .saiji_shop_list .shop:nth-child(4n) {
        margin-right: 2%;
    }
    #saiji_shop .saiji_shop_list .shop:nth-child(2n) {
        margin-right: 0;
    }
    #saiji_shop .saiji_shop_list .shop:nth-child(n+3) {
        margin-bottom: 0;
    }
}
@media only screen and (max-width: 480px) {
    #saiji_shop .btn {
        width: 100%;
    }
}



/* ========== ========== ==========
	.artist_list
========== ========== ========== */

.artist_list {
	display: flex;
	flex-wrap: wrap;
}
.artist_list .item {
	width: 23.5%;
	margin: 0 2% 2em 0;
}
.artist_list .item:nth-child(4n) {
	margin-right: 0;
}
.artist_list .item .img {
	border-radius: 50%;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 25%);
	overflow: hidden;
}
.artist_list .item .img.opacity {
	opacity: 0.25;
}
.artist_list .item .ttl {
	font-weight: bold;
	text-align: center;
}
.artist_list .item .red {
	color: #ea553a;
}
@media only screen and (max-width: 720px) {
	.artist_list .item {
		width: 32%;
	}
	.artist_list .item:nth-child(4n) {
		margin-right: 2%;
	}
	.artist_list .item:nth-child(3n) {
		margin-right: 0;
	}
}



/* ========== ========== ==========
	.workshop
========== ========== ========== */

.workshop {
	display: flex;
	justify-content: space-between
}
.workshop .img {
	width: 48%;
}
.workshop .txt {
	width: 48%;
}
.calendar_workshop .calendar {
	width: 100%;
	margin-top: 2em;
	border-top: 1px solid #cccccc;
	border-left: 1px solid #cccccc;
	border-collapse: collapse;
}
.calendar_workshop .calendar th {
	background-color: #eeeeee;
}
.calendar_workshop .calendar th,
.calendar_workshop .calendar td {
	padding: 1em;
	border-right: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	text-align: center;
}
.calendar_workshop .calendar td .clue {
	display: block !important;
	padding: 0 1em;
	background-color: #efb168;
	border-radius: 0.25em;
	color: #ffffff;
}
.calendar_workshop .calendar td .catton {
	display: block !important;
	padding: 0 1em;
	background-color: #97c1a1;
	border-radius: 0.25em;
	color: #ffffff;
}
.calendar_workshop .calendar td .mt {
	margin-top: 0.25em;
}
@media only screen and (max-width: 1000px) {
	.calendar_workshop {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
	}
	.calendar_workshop .calendar {
		min-width: 600px;
	}
}
@media only screen and (max-width: 720px) {
	.workshop {
		flex-wrap: wrap;
	}
	.workshop .img {
		width: 100%;
	}
	.workshop .txt {
		width: 100%;
		margin-top: 2em;
	}
}


/* ========== ========== ==========
	.article
========== ========== ========== */

#content03 {
	margin-top: 0 !important;
}

.content_inner .article .movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.content_inner .article .movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  margin-bottom: 2em;
}
/*.content_inner .article {
	display: flex;
	justify-content: space-between;
}*/
/*.content_inner .article .img {
	width: 46%;
}*/
.content_inner .article .txt {
	padding-top:2em;
}
.content_inner .article .txt p {
	margin-bottom: 1em !important;
}
.content_inner .article .txt .artist {
	padding: 2em;
	background-color: #eeeeee;
}
.content_inner .article .txt .artist p {
	font-size: 0.75em !important ;
}
.content_inner .article .txt .price {
	margin-top: 2em;
	padding: 1em !important;
	background-color: #eeeeee;
}
.content_inner .article .txt .price .price__ttl {
    /* color: #efb168; */
    font-weight: bold !important;
}
.content_inner .article .txt .price .price__inner::before {
    content: "……";
    display: inline-block;
    margin: 0 0.5em;
}
.content_inner .article .txt .price .price__txt {
    display: block;
    margin-top: 1em;
    font-size: 0.75em;
}
/*@media only screen and (max-width: 1000px) {
	.content_inner .article .img {
		width: 48%;
	}
	.content_inner .article .txt {
		width: 48%;
	}
}*/
@media only screen and (max-width: 480px) {
	.content_inner .article {
		flex-wrap: wrap;
	}
	.content_inner .article .img {
		width: 100%;
		margin-bottom: 2em;
	}
	.content_inner .article .txt {
		font-size:1.5em;
		width: 100%;
	}
}


/* ========== ========== ==========
	#content04
========== ========== ========== */

#saiji_main #content04 {
    margin-top: 0;
}
#content04 .clue__main .ttl {
    margin-bottom: 2em;
    padding: 1em;
    background-color: #0097d2;
    color: #ffffff;
    font-size: 1.25em;
    text-align: center;
}
#content04 .clue__main .flex-box {
    display: flex;
    justify-content: space-between;
}
#content04 .clue__main .flex-box .img {
    width: 48%;
}
#content04 .clue__main .flex-box .txt {
    width: 48%;
    padding: 2em;
    border: 4px solid #0097d2;
    position: relative;
    z-index: 1;
}
#content04 .clue__main .flex-box .txt::before {
    content: "";
    width: 40px;
    height: 40px;
    border: 20px solid transparent;
    border-top: 20px solid #0097d2;
    border-left: 20px solid #0097d2;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
}
#content04 .clue__main .flex-box .txt::after {
    content: "";
    width: 40px;
    height: 40px;
    border: 20px solid transparent;
    border-right: 20px solid #0097d2;
    border-bottom: 20px solid #0097d2;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 10;
}
#content04 .clue__main .flex-box .txt p {
    margin-bottom: 1em;
}
@media only screen and (max-width: 720px) {
    #content04 .clue__main {
        width: 80%;
        margin: 0 auto;
    }
    #content04 .clue__main .flex-box {
        flex-wrap: wrap;
    }
    #content04 .clue__main .flex-box .img {
        width: 100%;
        margin-bottom: 2em;
    }
    #content04 .clue__main .flex-box .txt {
        width: 100%;
    }
}








/* ========== ========== ==========
	.pageTop
========== ========== ========== */

.pageTop {
	z-index: 9999;
}