
* {font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", 'Work Sans',sans-serif;
	letter-spacing: .1em;
color:#003049;
}

body{background-color:#fdfdfd;}

.hide_pc { display: none;
}
.hide_sp { display: block;
}
.center{
	text-align:center;
}

body { margin: 0;
}

ul, li {
	margin: 0;
	padding: 0;
	list-style: none;
}

a {
	text-decoration: none;
}

h1, h2 {
	text-align: center;
}


h1.hold{
    margin: 50px auto;
    border-radius: 50px;
    padding: 10px;
    font-size: 3.5rem;
}

h1.hold span{
	font-size: 1.5rem;
	background-color: revert;
	padding: 0px!important;
}

h2.message {
	width: 70%;
	margin: 50px auto;
	padding: 70px 0px 30px;
	text-align: center;
	font-size: 1.2rem;
	line-height: 2;
	/*border: 1px solid #000;*/
	display: block;
	line-height: 2.5rem;
}



h3 {
	margin: 10px 0 5px;
	font-size: 1.0rem;
}

main {
	width: 1200px;
	margin: 0 auto;
}
.img-box img {
	width: 100%;
}

.flex {
	display: flex!important;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.bold {
	font-weight: 700;
}





.map {
	border: 2px solid #ccc;
	padding: 13px 0;
	font-size: 1.1rem;
	letter-spacing: 0.4rem;
	margin: 0 auto;
	display: block;
	width: 33%;
	text-align: center;
}

.linkbtn {
	margin: 10px 0 5px;
	padding: 5px 10px;
	font-weight: 600;
	background-color: #fff;
	border: 2px solid #353535;
	display: inline-block!important;
}

.card_txt{margin: 0 auto;
    width: 70%;
	font-size: 1rem;
}




/* テキスト */
.txt {
	width: 100%;
	text-align: center;
}
.txt img {
	width: 100%;
}

.l_header ul, .l_footer ul {
	display: flex;
	justify-content: center;
}

.l_header a, .l_footer a {
	padding: 15px 30px;
	display: block;
}

.l_header #logo {
	width: 200px;
	margin: 0 auto;
}

.l_header #logo img {
	width: 100%;
}

.l_header ul {
	background-color: #fdfdfd;
}

.l_footer {
	margin-top: 100px;
	padding: 20px;
	background-color: #004870;
}

.l_footer, .l_footer a {
	color: #fff;
	transition-property: all;
	transition: 0.2s linear;
}

.l_footer a:hover {
	text-decoration: underline;
}







.marker {
	/*background: linear-gradient(transparent 45%,#A3F1F9 45%);*/
}
.marker_sky {
	background: linear-gradient(transparent 45%,#A3F1F9 45%);
}
span.mark {
	padding: 0 9px;
	color: #000;
	background: -webkit-linear-gradient(left, transparent 50%,#A3F1F9 50%) 100% bottom / 202% 65% no-repeat;
	background: linear-gradient(to right, #A3F1F9 50%, transparent 50%) 100% bottom / 202% 65% no-repeat;
	-webkit-transition: background-position .2s ease-out;
	transition: background-position .2s ease-out;
}

span.mark:hover {
	/*background: linear-gradient(transparent 45%,#f6ef94 45%);*/
	background-position: 0% bottom;
}


.heading03 {
	position: relative;
	padding-bottom: 20px;
	font-size: 26px;
	text-align: center;
	font-weight: 600;
}

.heading03::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 52px;
	height: 6px;
	background-color: #22304f;
	border-radius: 100%;
}







.kv {
	font-size: 1.2rem;
	font-weight: 600;
	margin: 0 calc(50% - 50vw);
    width: 100vw;
    background-color: #fff;
}

.kv img {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.kv_cr {
	text-align: right;
    padding-right: 30px;
    font-size: 0.8rem;
    color: #292f338f;
}





/*NEWS*/


.news {
	margin-top: 120px;
}

.title {
	margin-bottom: 25px;
	text-align: center;
	font-size: 2.0rem;
	font-weight: 500;
	width: 100%;
}


/*contents*/

.contents {
	margin-top: 120px;
}

.comingtext {
	width: fit-content;
	max-width: 70%;
	margin: 0 auto;
}

.specialev .center {
	margin-top: 25px;
	line-height: 1.8;
}





ul.release {
	margin-top: 40px;
}

ul.release li {
	width: 30%;
	margin: 0 1.5% 40px;
}

ul.release li h3 {
	padding: 10px 30px;
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

ul.release li a {
	color: #fff;
}

ul.release li img {
	width: 100%;
	margin-bottom: 10px;
}

.table {
	margin-top: 40px;
}

.table .t_01 {
	color: #fff;
	font-weight: 600;
	background-color: #ccc;
}
.table .t_02 {
	border-bottom: 1px dotted #efefef;
}

.table .t_time {
	width: calc(10% - 20px);
	padding: 10px;
}
.table .t_title {
	width: calc(30% - 20px);
	padding: 10px;
}
.table .t_comment {
	width: calc(60% - 20px);
	padding: 10px;
}



.list li {
	width: 24%;
	margin: 0 0.5% 20px;
	position: relative;
}
.list li .label {
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 95px 60px 0;
	border-color: transparent #f6ef94 transparent transparent;
}
.list li .label > span {
	font-weight: 700;
	font-size: 14px;
	text-align: right;
	display: block;
	width: 84px;
	padding: 10px 8px 0 0;
}

.list li .label > .new {
	font-size: 12px;
	width: 99px;
	padding: 6px 10px 0 0;
}



.list li a {
	color: #fff;
	display: block;
	background: #22304f;
	border-radius: 5px;
}

.linkbtn2 {
    margin: 10px 0 5px;
    padding: 5px 10px;
    font-weight: 600;
    background-color: #fff !important;
    border: 2px solid #353535;
    display: inline-block !important;
    color: #22304f !important;
}

.nonevent{
	pointer-events: none;
}

.list h3 span{
font-size:1rem;
}

.list li img {
	width: 100%;
}

.list lidiv {
	font-size: 0.8rem;
}

.list div{
	margin-bottom: 10px;
	font-size: 0.8rem;
}





/* event */
.event-info{
  background:#f9f9f9;
  padding:24px;
  border-radius:12px;
  line-height:1.6;
  margin-top: 20px;
  font-size: 0.9rem;
}

.event-info dl{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:10px 16px;
}

.event-info dt{
  font-weight:600;
}

.event-info dd{
  margin:0;
}
.event-section-title{
  margin-top:60px;
  font-size:22px;
}

.event-section-note{
  margin-top:10px;
  color:#666;
  font-size:14px;
}

@media (max-width:768px){

.event-info{
  padding:18px;
}

.event-info dl{
  display:block;
}

.event-info dt{
  margin-top:14px;
}

.event-info dd{
  margin:4px 0 10px 0;
}
.sf-frame{
  padding:40px 30px;}
}

.event .txt {
	width: 760px;
	margin: 36px auto;
}

.event ul.release li h3 {
	padding: 0;
	border: 0;
	text-align: left;
	font-size: 16px;
}

.event ul.release li .shop_d{
	font-size:0.7rem;
	background-color:#F89174;
	padding:3px 5px;
	color:#fff;
}
.event ul.release li .shop_u{
	font-size:0.7rem;
	background-color:#f6ef94;
	padding:3px 5px;
	color:#003049;
}

.event  .date{
	margin-top: 10px;
}


.event h2{
padding-top: 60px;
}

.event h3 {
	text-align: center;
	margin: 0 auto 16px;
	font-size: 20px;
}


.event .notice {
	font-size: 13px;
	text-align: center;
	margin: 20px 0 80px;
}

.section-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;

  font-size:28px;
  margin:40px 0;
  color:#0e3d59;
}

.section-title::before,
.section-title::after{
  content:"";
  display:block;

  width:34px;
  height:6px;

  background:
  radial-gradient(circle,#0e3d59 3px,transparent 3.5px) 0 50%/12px 6px repeat-x;
}

.sf-frame{
  position:relative;
  padding:40px;
  border:4px solid transparent;
  border-radius:6px;
  border-image:linear-gradient(90deg,#1f6b86,#8fc8d6) 1;
}

/* 左上角 */
.sf-frame::before{
  content:"";
  position:absolute;
  top:-12px;
  left:-12px;
  width:40px;
  height:40px;
  border-top:4px solid #1f6b86;
  border-left:4px solid #1f6b86;
  border-radius:3px;
}

/* 右下角 */
.sf-frame::after{
  content:"";
  position:absolute;
  bottom:-12px;
  right:-12px;
  width:40px;
  height:40px;
  border-bottom:4px solid #8fc8d6;
  border-right:4px solid #8fc8d6;
  border-radius:3px;
}

/*サイン会*/
#sign {
	margin-top: 0px;
	color: #fff;
	position: relative;
}
#sign > div.day + div.day {
	margin-top: 70px;
}
#sign > div:first-of-type {
	margin-top: 0px;
}
#sign > div:nth-of-type(2) {
	margin-top: 130px;
}
#sign > div.day > p {
	font-size: 28px;
	text-align: center;
	font-weight: bold; 
	margin-top: 50px
}

#sign > div.day > div:first-of-type > div:hover {
	background-color: #ededed;
	transition: 0.5s;
	cursor: pointer;
}
#sign > div.day > div:first-of-type > div + div {
	margin-top: 20px;
}
#sign > div.day > div:first-of-type > div {
	position: relative;
	transition: 0.5s;
	display: flex;
	margin: 10px auto;
	padding: 15px 0;
	border-radius: 10px;
	width: 880px;
	background-color: #DEDEDE;
	justify-content: center;
	text-align: left;
}
#sign > div.day > div:first-of-type > div a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#sign > div.day > div:first-of-type > div > div:first-of-type {
	width: 120px;
	text-align: right;
	padding-right: 30px;
}
#sign > div.day > div:first-of-type > div > div:first-of-type span {
	color: #a7a7a7;
}
#sign > div.day > div:first-of-type > div > div:last-of-type {
	position: relative;
	width: 880px;
	padding-left: 30px;
	box-sizing: border-box;
	border-left: 1px solid #a7a7a7;
	font-weight: bold;
}
#sign > div.day > div:first-of-type > div > div:last-of-type > div {
	position: absolute;
	top: 60%;
	transform: translateY(-50%) translateX(0);
	-webkit-transform: translateY(-50%) translateX(0);
	line-height: 1rem;
}
#sign > div.day > div:first-of-type > div > div:last-of-type > div span{
	font-size: 14px;
	color: #242C3A;
	font-weight: bold;
	/* background-color: #fff;*/
	/* border: 0px solid #fff; */
	padding: 5px 10px;
	border-radius: 15px;
	margin:0  1px;
}
#sign > div.day > div:first-of-type > div > div:last-of-type > div .store{
	font-size: 12px;
	color: #fff;
	font-weight: bold;
	background-color: #F89174;
	border: 0px solid #F89174; 
	padding: 5px 10px;
	border-radius: 15px;
	margin:0  1px;
}
#sign > div.day > div:first-of-type > div > div:last-of-type > div p:last-of-type {
	margin-top: -3px;
	font-size: 20px;
}


@media screen and (max-width: 960px) {
	#sign > div.day > div:first-of-type > div > div:last-of-type {
        width: 100%;padding: 10px;
    }
    #sign > div.day > div:first-of-type > div {
    	width: 100%;padding: 35px 10px;
    }
	#sign > div.day > div:first-of-type > div > div:last-of-type > div span{
		padding: 5px 5px;
	}
}




#sign_fixed1,*, *:before, *:after {
	box-sizing: border-box;
}

.col02{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}



#sign_fixed1 .dys {
    font-size: 28px;
    text-align: center;
    font-weight: bold;
    margin-top: 50px;
}


#sign_fixed1 {
	margin-top: 0px;
	color: #fff;
	position: relative;
}
.col02 > div{
	width: 50%;
	padding: 10px;
}


#sign_fixed1 .waku{
	position: relative;
    transition: 0.5s;
    display: flex;
    margin: 10px;
    padding: 10px 0;
    border-radius: 10px;
    width: 100%;
    background-color: #DEDEDE;
    justify-content: center;
    text-align: left;}


#sign_fixed1 .sign_time{
	width: 100px;
    text-align: right;
    padding-right: 30px;
}
#sign_fixed1 .sign_time span{
	color: #a7a7a7;
}

#sign_fixed1 .name{
	position: relative;
    width: 55%;
    padding-left: 30px;
    box-sizing: border-box;
    border-left: 1px solid #a7a7a7;
    font-weight: bold;
}
#sign_fixed1 .name2{
	position: absolute;
    top: 50%;
    transform: translateY(-50%) translateX(0);
    -webkit-transform: translateY(-50%) translateX(0);
}
#sign_fixed1 .name p{
	margin-top: -3px;
    font-size: 20px;
}
#sign_fixed1 .name p span{
	font-size: 14px;
    color: #242C3A;
    font-weight: bold;
    padding: 5px 10px;
    border-radius: 15px;
    margin: 0 1px;
}

#sign_fixed1 a{position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


#sign_fixed1 .waku:hover {
	background-color: #ededed;
	transition: 0.5s;
	cursor: pointer;
}




@media screen and (max-width: 960px) {
	#sign_fixed1 .waku{
		margin: 10px 0;
	}
	#sign_fixed1 .name{padding-left: 9px;width: 85%;}
	#sign_fixed1 .name p span{padding: 5px 7px;}
	#sign_fixed1 .sign_time{padding-right: 20px;}
	#sign_fixed1 .name p{padding-right: 9px;}
}



#sign_fixed > div.day + div.day {
	margin-top: 70px;
}
#sign_fixed > div:first-of-type {
	margin-top: 0px;
}
#sign_fixed > div:nth-of-type(2) {
	margin-top: 130px;
}
#sign_fixed > div.day > p {
	font-size: 28px;
	text-align: center;
	font-weight: bold; 
	margin-top: 50px
}

#sign_fixed > div.day > div:first-of-type > div:hover {
	background-color: #ededed;
	transition: 0.5s;
	cursor: pointer;
}

#sign_fixed > div.day > div:first-of-type > div {
	margin-top: 20px;
}

#sign_fixed > div.day > div:first-of-type > div {
	position: relative;
	transition: 0.5s;
	display: flex;
	margin: 10px;
	padding: 15px 0;
	border-radius: 10px;
	width: 48%;
	background-color: #DEDEDE;
	justify-content: center;
	text-align: left;
}

#sign_fixed > div.day > div:first-of-type > div a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#sign_fixed > div.day > div:first-of-type > div > div:first-of-type {
    width: 80px;
    text-align: right;
    padding-right: 30px;
}
    #sign_fixed > div.day > div:first-of-type > div > div:first-of-type span {
      color: #a7a7a7;
}
#sign_fixed > div.day > div:first-of-type > div > div:last-of-type {
    position: relative;
    width: 55%;
    padding-left: 30px;
    box-sizing: border-box;
    border-left: 1px solid #a7a7a7;
    font-weight: bold;
}
    #sign_fixed > div.day > div:first-of-type > div > div:last-of-type > div {
      position: absolute;
      top: 50%;
      transform: translateY(-50%) translateX(0);
      -webkit-transform: translateY(-50%) translateX(0);
}
#sign_fixed > div.day > div:first-of-type > div > div:last-of-type > div span{
    font-size: 14px;
    color: #242C3A;
    font-weight: bold;
   /* background-color: #fff;*/
   /* border: 0px solid #fff; */
    padding: 5px 10px;
    border-radius: 15px;
    margin:0  1px;
}

#sign_fixed > div.day > div:first-of-type > div > div:last-of-type > div p:last-of-type {
    margin-top: -3px;
    font-size: 20px;
}

#sign_fixed .col2{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
}

@media screen and (max-width: 960px) {
	.col02 > div{
		width: 100%;
	}
	#sign .store_u{
	left: 110px;
	}
	#sign .store_d{
	left: 110px;
	}
}



/* soraris */
.soraris .img-box {
	margin: 20px 0;
}
.soraris .map {
	margin-top: 40px;
}




/* market */
.market ul {
	margin: 50px 0 0;
}
.market .flex li {
	width: 32%;
}
.market .flex li .date {
	margin-top: 10px;
	padding: 1px 8px;
	color: #fff;
	font-size: 0.8rem;
	background-color: #999;
	display: inline-block;
}
.market .flex li h3 {
	font-size: 1.1rem;
}
.market .flex li .info {
	font-size: 0.9rem;
}

/*Profile　プロフィール*/
#Profile ul.list {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#Profile ul.list li {
	width: 49%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#Profile ul.list li img {
	width: 20%;
	object-fit: contain;
}
#Profile ul.list li div {
	width: 77%;
}
#Profile ul.list li h3 {
	margin: -2px 0 2px;
}
#Profile ul.list li p {
	font-size: 0.9rem;
}


.copyright {
	color: #fff;
	text-align: center;
}
















@media screen and (min-width: 769px) {

}

@media screen and (max-width: 768px) {
	.hide_pc { display: block!important;
}
	.hide_sp { display: none!important;
}

	body {
		margin: 0;
	}

	main {
		width: 94%;
	}

	h2 {
		font-size: 1.4rem;
	}

	h2.message {
		width: 80%;
		padding: 0;
		font-size: 1.0rem;
	}

	h3 {
		font-size: 0.9rem;
	}



	.l_header #logo {
		width: 44%;
	}

	.l_header ul {
		margin: 7% 0;
		flex-direction: column;
		align-items: center;
	}

	.l_header a {
		padding: 15px;
	}

	.l_footer {
		margin-top: 20px;
	}

	.l_footer a {
		padding: 5px 10px;
		font-size: 0.7rem;
	}

	.kv {
		flex-direction: column;
	}

	.list li .label > .new {
	    font-size: 12px;
	    width: 72px;
		padding: 3px 6px 0 0;
		line-height: 1rem;
	}

	.heading03::after {
	width: 40px;
	}



	h1.hold{
	font-size: 2.5rem;
	}
	h1.hold .year{
	font-size: 1.5rem;
	}
	h1.hold span{
	font-size: 1rem;
	}

	.l_header ul {
		background-color: #fff;
	}

	.title {
		margin-bottom: 20px;
		font-size: 1.6rem;
		font-weight: 600;
	}

	.map {
		width: 85%!important;
	}

	#sign_fixed1 .dys {
		font-size: 1.2rem;
	}


	.table .t_02 {
		border-bottom: 1px solid #ccc;
	}
	.table .t_01 .t_time,
	.table .t_01 .t_title {
		border-bottom: 1px dotted #fff;
	}
	.table .t_time {
		flex-grow: 1;
	}
	.table .t_title {
		width: calc(80% - 20px);
	}

	.table .t_comment {
		width: calc(100% - 20px);
	}


	.comingtext {
		max-width: 100%;
	}


	.list li .label {
		position: absolute;
			border-width: 0 70px 50px 0;
	}
	.list li .label > span {
		font-size: 12px;
		width: 66px;
		padding: 10px 4px 0 0;
	}
	.news ul.release li {
		width: 100%;
	}

	.news ul.release li h3 {
		margin-top: 0;
		padding: 5px 16px;
	}

	ul.release li {
		width: 100%;
		margin: 0 1% 10px;
	}

	ul.release li .date {
		font-size: 13px;
	}

	ul.release li .info {
		font-size: 0.8rem;
	}


	.event .txt {
		width: 100%;
	}

	.event .timetable {
		width: 100%;
		font-size: 0.8rem;
	}

	.event .list 

	.event .info {
		word-break: break-all;
	}

	.event .place {
		font-size: 0.7rem;
	}

	.event .release .second {
		letter-spacing: 0;
	}

	.event ul.release li h3 {
		font-size: 14px;
	}

	.market .flex li {
		width: 49%;
		margin: 0 0 10px;
	}
	.market .flex li h3 {
		font-size: 1.0rem;
	}
	.market .flex li .info {
		font-size: 0.8rem;
	}
	.market .flex li .date {
		font-size: 0.7rem;
	}

	#Profile ul.list li {
		width: 100%;
		margin: 0 auto 20px;
	}
	#Profile ul.list li h3 {
		margin-top: -5px;
		margin-bottom: 0;
	}
	#Profile ul.list li img {
		width: 15%;
	}
	#Profile ul.list li div {
		width: 82%;
		margin-bottom: 0;
	}
	#Profile ul.list li p {
		font-size: 0.7rem;
	}

	.card_txt{
	    width: 100%;
	}






	#nav-drawer {
	  position: relative;
	}

	#nav-drawer #logo {
		margin-top: 50px;
	}

	#nav-drawer li {
		width: 55%;
		text-align: center;
		border-bottom: 0.5px solid #ccc;
	}

	#nav-drawer a {
		color: #000;
	}

	/*チェックボックス等は非表示に*/
	.nav-unshown {
	  display:none;
	}

	/*アイコンのスペース*/
	#nav-open {
		display: inline-block;
	  width: 30px;
	  height: 22px;
		vertical-align: middle;
		position: fixed;
		top: 20px;
	  right: 20px;
	  z-index: 9999;
	}

	/*ハンバーガーの形をCSSで表現*/
	#nav-open span, #nav-open span:before, #nav-open span:after {
	  position: absolute;
	  height: 3px;/*線の太さ*/
	  width: 25px;/*長さ*/
	  border-radius: 3px;
	  background: #555;
	  display: block;
	  content: '';
	  cursor: pointer;
	}
	#nav-open span:before {
	  bottom: -8px;
	}
	#nav-open span:after {
	  bottom: -16px;
	}

	/*閉じる用の薄黒箇所*/
	#nav-close {
	  display: none;
	  position: fixed;
	  z-index: 99;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background: black;
	  opacity: 0;
	  transition: .3s ease-in-out;
	}

	/*メニューの中身*/
	#nav-content {
	  overflow: auto;
	  position: fixed;
	  top: 0;
	  left: 0;
	  z-index: 9999;
	  width: 80%;
	  max-width: 330px;/*最大幅（お好みで調整を）*/
	  height: 100%;
	  background: #fff;
	  transition: .3s ease-in-out;
	  -webkit-transform: translateX(-105%);
	  transform: translateX(-105%);
	}

	/*チェックがついたら表示させる*/
	#nav-input:checked ~ #nav-close {
	  display: block;
	  opacity: .5;
	}

	#nav-input:checked ~ #nav-content {
	  -webkit-transform: translateX(0%);
	  transform: translateX(0%);
	  box-shadow: 6px 0 25px rgba(0,0,0,.15);
	}

	.header-logo-menu{
		display: flex;
		display: -moz-flex;
		display: -o-flex;
		display: -webkit-flex;
		display: -ms-flex;
		flex-direction: row;
		-moz-flex-direction: row;
		-o-flex-direction: row;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
	}

}



