@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Sawarabi+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Material+Icons");
/*基本設定*/
/*==============================
 SP向け設定（599px以下）※ベース
==============================*/
html {
		font-size: 62.5%;
		/* 10px */
		scroll-behavior: smooth;
}

body {
		width: 100%;
		background-color: #0d204f;
		color: #292e1e;
		font-family: 'Sawarabi Gothic', sans-serif;
		font-size: 1.4rem;
}

img {
		max-width: 100%;
		height: auto;
		display: block;
		border: 0;
}

#outer {
		display: flex;
		flex-direction: column;
}

header {
		margin: 0 auto;
		width: 100%;
}

/* ---------------
 コンテンツ
--------------- */
main {
		background-color: #f7f5eb;
}

/*----- ヘッダー -----*/
h1 {
		background-image: url("./img/logo_sp.png");
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		width: 100%;
		height: 110px;
}

h1 span {
		font-size: 0;
}

main a {
		text-decoration: underline;
}

main a:link {
		color: #3e92cc;
}

main a:visited {
		color: #a675a1;
}

main a:hover {
		color: #db5461;
}

/*----- メニュー -----*/
nav {
		width: 100%;
		margin: 1.5rem auto 0 auto;
		order: 2;
}

nav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
		background-color: #0d204f;
		margin: 0 auto;
		padding: 0;
		max-width: 700px;
}

nav ul li {
		list-style-type: none;
		color: #f7f5eb;
		margin: 0;
		text-align: center;
		width: 24%;
		height: 2.6rem;
		line-height: 2.6rem;
}

nav ul li img,
nav ul li a img {
		width: 36px;
}

nav ul li.active {
		color: #db5461;
}

#menu2 {
		border-right: solid 1px #f7f5eb;
		border-left: solid 1px #f7f5eb;
}

#menu3 {
		border-right: solid 1px #f7f5eb;
}

#menu5 {
		margin-top: 0.7rem;
}

/*----- ページ内メニュー -----*/
.page-menu-outer {
		width: 100%;
		background-color: #0d204f;
		position: sticky;
		position: -webkit-sticky;
		top: 0;
		z-index: 3;
}

.page-menu {
		margin: 0 auto;
		max-width: 500px;
		height: 4rem;
		display: flex;
		justify-content: space-around;
}

.page-menu li {
		line-height: 4rem;
		color: #f7f5eb;
		text-align: center;
}

.page-menu li a:link,
.page-menu li a:visited,
.page-menu li a:hover {
		color: #f7f5eb;
}

/*----- 見出し・テキスト -----*/
h2 {
		margin: 2.4rem auto 2rem auto;
		width: 96%;
		max-width: 660px;
		height: 50px;
		line-height: 50px;
		font-size: 2.4rem;
		font-family: 'Sawarabi Mincho', sans-serif;
		color: #0d204f;
		text-shadow: 2px 2px 0px #f7f5eb, -2px 2px 0px #f7f5eb, 2px -2px 0px #f7f5eb, -2px -2px 0px #f7f5eb, 2px 0px 0px #f7f5eb, 0px 2px 0px #f7f5eb, -2px 0px 0px #f7f5eb, 0px -2px 0px #f7f5eb;
		letter-spacing: 0.4rem;
		text-align: center;
		background-image: url("./img/bg_h2l.png"), url("./img/bg_h2r.png");
		background-position: top left, bottom right;
		background-repeat: no-repeat;
}

h3 {
		margin: 5rem auto 2rem auto;
		width: 94%;
		max-width: 620px;
		height: 40px;
		line-height: 40px;
		font-size: 2rem;
		font-family: 'Sawarabi Mincho', sans-serif;
		color: #a675a1;
		letter-spacing: 0.3rem;
		text-align: center;
		background-image: url("./img/bg_h3l.png"), url("./img/bg_h3r.png");
		background-position: top left, bottom right;
		background-repeat: no-repeat;
}

.outer-h4 {
		text-align: center;
		margin: 3rem 0;
}

h4 {
		position: relative;
		display: inline-block;
		padding: 0 55px;
		color: #a675a1;
		font-size: 1.6rem;
		font-family: 'Sawarabi Mincho', sans-serif;
}

h4:before, h4:after {
		content: '';
		position: absolute;
		top: 50%;
		display: inline-block;
		width: 45px;
		height: 1px;
		background-color: #a675a1;
}

h4:before {
		left: 0;
}

h4:after {
		right: 0;
}

main > p {
		margin: 0 auto 2rem auto;
		width: 90%;
		max-width: 600px;
		line-height: 2rem;
}

strong {
		font-weight: bold;
		color: #db5461;
}

/*----- イベント情報 -----*/
.ev-schedule {
		border: solid 1px #a675a1;
		margin: 5rem auto 0 auto;
		width: 90%;
		min-width: 290px;
		max-width: 500px;
}

.ev-schedule time {
		display: block;
		background-color: #a675a1;
		border: solid 1px #a675a1;
		border-radius: 8px 8px 0 0;
		color: #f7f5eb;
		width: 10rem;
		height: 2.8rem;
		margin: -2.8rem 2rem 0 -1px;
		line-height: 3rem;
		text-align: center;
		vertical-align: bottom;
}

.ev-basic-info {
		margin: 0.7rem auto;
		width: 90%;
		display: flex;
		flex-direction: column;
}

.ev-place, .ev-h-place {
		order: -1;
		font-size: 1.2rem;
}

.ev-name {
		margin: 0.3rem 0;
		text-align: center;
		font-size: 1.8rem;
		font-weight: bold;
		color: #db5461;
}

.ev-only, .ev-h-only {
		font-size: 1.2rem;
		text-align: right;
}

.ev-only::before, .ev-h-only::before {
		content: "―― ";
}

.ev-sp-info, .ev-h-sp-info-x {
		margin: 1rem auto 2rem auto;
		width: 90%;
		display: flex;
		flex-direction: column;
		background-color: #a675a1;
		color: #f7f5eb;
}

.ev-sp, .ev-h-sp {
		margin: 0.5rem 1rem 0 1rem;
		padding: 0 0 0.3rem 0;
		text-align: center;
		font-size: 1.6rem;
		letter-spacing: 0.2rem;
}

.ev-cp {
		margin: 0 1rem 0.5rem 1rem;
		padding: 0.3rem 0 0 0;
		text-align: center;
		font-size: 1.6rem;
		letter-spacing: 0.2rem;
		border-top: solid 1px #f7f5eb;
}

.ev-banner-info {
		width: 90%;
		max-width: 800px;
		margin: 2rem auto 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
}

.ev-banner-info::after {
		content: "";
		width: 200px;
		margin: 0 1rem;
		height: 0;
}

.ev-banner {
		width: 200px;
		margin: 0 1rem 2rem 1rem;
}

.ev-pixiv-info {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
}

.ev-new, .ev-menu {
		margin: 0 1rem 2rem 1rem;
		width: 90%;
		border: solid 1px #0096fa;
		border-radius: 10px;
		background-color: #ffffff;
}

.ev-new img, .ev-menu img {
		border-radius: 10px 10px 0 0;
		margin: 0 auto;
}

.ev-new a, .ev-menu a {
		text-decoration: none;
}

.ev-label {
		display: block;
		width: 100%;
		text-align: center;
		background-color: #0096fa;
		color: #f7f5eb;
		font-size: 15px;
		line-height: 36px;
		border-radius: 0 0 9px 9px;
}

.ev-label img {
		display: inline-block;
		width: 36px;
		margin: 0 5px 0 0;
}

/*----- WEBオンリー用 -----*/
.ev-display-info {
		width: 90%;
		max-width: 660px;
		margin: 0 auto 2rem auto;
		display: flex;
		justify-content: space-between;
}

.ev-display {
		width: 23%;
}

.ev-display p {
		font-size: 1.2rem;
		margin: 1rem 0 0 0;
		text-align: left;
}

.ev-display a {
		text-align: center;
		font-size: 1.6rem;
		background-color: #3e92cc;
		display: block;
		padding: 0.7rem;
}

.ev-display a:link,
.ev-display a:hover,
.ev-display a:visited {
		color: #f7f5eb;
		text-decoration: none;
}

.display_type {
		display: block;
}

.display_site {
		display: block;
		font-size: 1.1rem;
		margin: 0.5rem 0 0 0;
}

/*----- 内部リンクボタン -----*/
.link-button {
		width: 90%;
		margin: 2rem auto 5rem auto;
		max-width: 500px;
}

.link-button + .link-button {
		margin-top: -3.5rem;
}

.link-button a {
		display: block;
		position: relative;
		margin: 0 0 0 auto;
		width: 18rem;
		height: 3rem;
		line-height: 2.8rem;
		text-align: center;
		text-decoration: none;
		background-color: #0d204f;
}

.link-button a:link,
.link-button a:hover,
.link-button a:visited,
.link-button-ex a:link,
.link-button-ex a:hover,
.link-button-ex a:visited,
.link-button-ex-min a:link,
.link-button-ex-min a:hover,
.link-button-ex-min a:visited {
		color: #f7f5eb;
}

.link-button a::after {
		font-family: 'Material Icons';
		content: "\e5e1";
		position: absolute;
		right: 1rem;
}

/*----- 外部リンクボタン -----*/
.link-button-ex,
.link-button-ex-min {
		margin: 0 auto 2rem auto;
		padding: 0.7rem;
		width: 24rem;
		height: 5rem;
		text-align: center;
		font-size: 1.6rem;
		background-color: #3e92cc;
}

.link-button-ex-min {
		margin-bottom: 0.3em;
}

.link-button-ex a,
.link-button-ex-min a {
		display: block;
		position: relative;
		margin: 0 0 0 auto;
		text-decoration: none;
}

.link-button-ex-min a {
		padding: 0.5em 0 0 0;
}

.link-button-ex a span {
		font-size: 1.1rem;
}

.link-button-ex a::after,
.link-button-ex-min a::after {
		font-family: 'Material Icons';
		content: "\e89e";
		position: absolute;
		top: 0.9rem;
		right: 1rem;
}

/*----- フッター -----*/
footer {
		order: 3;
}

footer p {
		color: #f7f5eb;
		font-size: 70%;
		line-height: 1.2em;
		text-align: center;
		margin: 1.5rem 0;
		padding: 0;
}

/* ---------------
 各種ログ
--------------- */
/*----- イベント参加履歴 -----*/
.ev-h-schedule {
		margin: 2rem auto 4rem auto;
		width: 90%;
		min-width: 290px;
		max-width: 500px;
}

.ev-h-basic-info {
		width: 90%;
		margin: 0.7rem auto;
		display: flex;
		flex-wrap: wrap;
}

.ev-h-time {
		order: -2;
		width: 40%;
		max-width: 100px;
		font-size: 1.2rem;
}

.ev-h-place {
		width: 60%;
		max-width: 150px;
}

.ev-h-name {
		width: 100%;
		margin: 0.3rem 0;
		text-align: center;
		font-size: 1.6rem;
		font-weight: bold;
}

.ev-h-only {
		width: 100%;
}

.ev-h-sp-info {
		margin: 0.3em auto 0 auto;
		width: 90%;
		max-width: 500px;
		display: flex;
		justify-content: space-between;
}

.ev-h-new, .ev-h-plan {
		border: solid 1px #a675a1;
		width: 44%;
		max-width: 200px;
		display: flex;
		position: relative;
}

.ev-h-new {
		margin: 0 2% 0 0;
}

.ev-h-new div, .ev-h-plan div {
		text-align: center;
}

/* ツールチップ */
.tooltip-label {
		width: 60%;
		padding: 0.2em 0;
		background-color: #a675a1;
		color: #f7f5eb;
}

.tooltip-label + div {
		width: 40%;
		padding: 0.2em 0;
}

.tooltip {
		position: relative;
}

.tooltip-active {
		cursor: pointer;
		color: #3e92cc;
		text-decoration: underline;
}

.tooltip-inner-l {
		visibility: hidden;
		position: absolute;
		z-index: 1;
		opacity: 0;
		transition: opacity 500ms;
		width: 300%;
		bottom: 28px;
		margin-left: -205%;
}

.tooltip-inner-r {
		visibility: hidden;
		position: absolute;
		z-index: 1;
		opacity: 0;
		transition: opacity 500ms;
		width: 300%;
		bottom: 28px;
		right: 0;
		margin-right: -5%;
}

.tooltip-inner-l > .tooltip-text,
.tooltip-inner-r > .tooltip-text {
		background-color: #a675a1;
		color: #f7f5eb;
		padding: 5px 10px;
		text-align: left;
		border-radius: 6px;
		font-size: 12px;
		display: inline-block;
}

.tooltip-active:hover > .tooltip > .tooltip-inner-l,
.tooltip-active:hover > .tooltip > .tooltip-inner-r {
		visibility: visible;
		opacity: 1;
}

/*----- 頒布終了一覧 -----*/
/*----- 各種リンク ＞ アカウント一覧 -----*/
.bk-list-min, .ac-list {
		border-bottom: solid 1px #a675a1;
		width: 90%;
		max-width: 500px;
		margin: 0.7rem auto;
		padding: 0 0 0.7rem 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
}

.ac-list {
		margin: 2rem auto;
		padding: 0 0 2rem 0;
}

h3 + .bk-list-min,
h3 + .ac-list {
		border-top: solid 1px #a675a1;
		padding-top: 0.7rem;
}

h3 + .ac-list {
		padding-top: 2rem;
}

.bk-list-min:last-of-type,
.ac-list:last-of-type {
		margin-bottom: 5rem;
}

.bk-title,
.ac-title {
		width: 100%;
		margin: 0 0 0.5rem 0;
		text-align: center;
		font-size: 1.4rem;
		font-weight: bold;
}

.ac-title {
		font-weight: normal;
}

.bk-date {
		width: 40%;
		max-width: 150px;
		font-size: 1.2rem;
		text-align: center;
}

.bk-cp {
		width: 60%;
		max-width: 200px;
		font-size: 1.2rem;
		text-align: center;
}

.ac-text {
		width: 100%;
		font-size: 1.2rem;
		text-align: center;
}

/*==============================
 TB向け設定（600～1024px）
==============================*/
/*==============================
 PC向け設定（1025px以上）
==============================*/
@media only screen and (min-width: 1025px) {
		#outer {
				display: grid;
				grid-template-rows: auto auto;
				grid-template-columns: 220px auto;
				max-width: 1100px;
				margin: 0 auto;
				background-color: #f7f5eb;
		}
		header {
				background-color: #f7f5eb;
				width: 200px;
				height: 200px;
				grid-column-start: 1;
				position: fixed;
				margin-left: 10px;
		}
		h1 {
				background-image: url("./img/logo.png");
				background-size: cover;
				height: 200px;
		}
		nav {
				position: fixed;
				overflow-y: auto;
				margin: 0 0 0 10px;
				width: 200px;
				top: 200px;
				bottom: 0;
				background-color: #f7f5eb;
		}
		nav ul {
				background-color: #f7f5eb;
				margin: 2rem auto 0 auto;
				width: 180px;
		}
		nav ul li {
				width: 100%;
				height: 4rem;
				line-height: 3.8rem;
				color: #292e1e;
				font-size: 1.6rem;
		}
		nav ul li a {
				display: block;
		}
		nav ul li a:link {
				color: #f7f5eb;
		}
		nav ul li a:visited {
				color: #f7f5eb;
		}
		nav ul li a:hover {
				color: #db5461;
		}
		#menu1 {
				background-color: #0d204f;
		}
		#menu2 {
				border: 0;
				background-color: #0d204f;
				margin-top: 0.7rem;
		}
		#menu3, #menu4, #menu5 {
				background-color: #0d204f;
				margin-top: 0.7rem;
		}
		.active {
				background-color: #f7f5eb !important;
				border: solid 2px #0d204f !important;
		}
		main {
				border-left: solid 4px #0d204f;
				border-top: 0;
				border-bottom: 0;
				border-right: 0;
				grid-column-start: 2;
		}
		h2 {
				max-width: 850px;
		}
		h3 {
				max-width: 700px;
		}
		.ev-schedule {
				max-width: 770px;
		}
		.ev-basic-info {
				max-width: 660px;
		}
		.ev-sp-info, .ev-h-sp-info-x {
				max-width: 660px;
		}
		.ev-new, .ev-menu {
				width: 40%;
		}
		.ev-new img, .ev-menu img {
				max-height: 160.217px;
		}
		main > p {
				max-width: 780px;
		}
		.link-button {
				max-width: 770px;
		}
		footer {
				border-left: solid 4px #0d204f;
				grid-column-start: 2;
				background-color: #f7f5eb;
		}
		footer p {
				color: #292e1e;
				width: 98%;
				margin-right: auto;
				margin-left: auto;
		}
		footer p:nth-child(1) {
				border-top: solid 2px #0d204f;
				padding-top: 1.5rem;
		}
}
