@charset "utf-8";

/* <inline> */

@font-face {
  font-family: "Icons-SNS";
  src:
    url(/fonts/icons-sns.ttf?v=2025051201) format("opentype"),
    url(/fonts/icons-sns.woff?v=2025051201) format("woff");
}


@media (min-width:480px) {

/* </inline> */

/* <pconly> */
	
	/* <inline> */
	a[href^="tel:"]::before {
		content: "☎ ";
	}
	.inline-word-wrap-zone {
		word-break: keep-all;
	}
	.block-word-wrap-zone {
		display: flex;
		flex-flow: row wrap;
	}
	.block-word-wrap-gap-zone {
		display: flex;
		flex-flow: row wrap;
		column-gap: 1em;
	}
	.text-small {
		font-size: 12px;
	}
	.text-warning {
		text-indent: -1em;
		padding-left: 1em;
	}
	.text-warning::before {
		content: "※";
	}

	.article-main {
		-ms-grid-column: 1;
		-ms-grid-column-span: 4;
		grid-column: 1 / 5;
	}

	.headline {
		background-color: #F0F0F0;
		margin-top: 0;
	}
	.headline-logo {
		background-image: url(/images/sugushinu2026/480/title.jpg);
		background-repeat: no-repeat;
		background-position: center top;
		margin-right: auto;
		margin-left: auto;
		padding-right: calc(50% - 480px);
		padding-left: calc(50% - 480px);
		height: 705px;
		width: 960px;
		overflow: hidden;
		position: relative;
	}
	.headline-logo > img {
		position: absolute;
		top: 100%;
		left: 0;
	}

	.end-of-life,
	.toauthor,
	.what,
	.introduction,
	.story,
	.highlight,
	.comment,
	.supervisor,
	.overview,
	.media {
		margin-right: calc(50% - 607px);
		margin-left: calc(50% - 480px);
		width: 753px;
	}

	.end-of-life {
		font-size: 24px;
		font-weight: bold;
		color: #FFF;
		background-color: #C0153F;
		margin-top: 40px;
		margin-right: calc(50% - 607px);
		margin-left: calc(50% - 480px);
		width: 673px;
		padding: 20px 40px;
		position: relative;
	}
	.end-of-life::before {
		content: "";
		border: 1px solid #FFF;
		height: calc(100% - 9px);
		width: calc(100% - 9px);
		position: absolute;
		top: 4px;
		left: 4px;
	}

	.introduction > p,
	.story > p {
		text-align: left;
		margin-top: 20px;
		margin-right: 40px;
		margin-left: 40px;
	}
	.introduction > p:first-child,
	.story > p:first-child {
		margin-top: 0;
	}

	.introduction > p > img {
		height: auto;
		width: 100%;
	}

	.introduction > ol > li {
		margin-top: 10px;
	}
	.introduction > ol > li:first-child {
		margin-top: 20px;
	}

	.introduction-video {
		margin-right: auto;
		margin-left: auto;
		width: 673px;
		aspect-ratio: 1 / 0.5625;
	}
	.introduction-video > iframe {
		border: none;
		height: 100%;
		width: 100%;
	}

	.what {
		margin-top: 20px;
		display: grid;
		row-gap: 20px;
		column-gap: 20px;
		grid-template-rows: auto auto;
		grid-template-columns: 20px 200px 1fr 20px;
	}
	.what > h2 {
		grid-row: 1;
		grid-column: 1 / -1;
	}
	.what > .what-book {
		grid-row: 2;
		grid-column: 2;
		align-self: center;
		justify-self: center;
	}
	.what > .what-book > img {
		height: auto;
		width: 100%;
	}
	.what > .what-book > figcaption {
		font-size: 10px;
		margin-top: 5px;
	}
	.what > .what-periods {
		text-align: left;
		grid-row: 2;
		grid-column: 3;
		align-self: center;
		justify-self: start;
	}
	.what > .what-periods > p + p {
		margin-top: 1em;
	}

	.side-menu {
		padding-top: 741px;
		padding-bottom: 40px;
		position: relative;
	}

	/* </inline> */

	.highlight > dl > div {
		text-align: left;
		margin-top: 1em;
		margin-right: 40px;
		margin-left: 40px;
	}
	.highlight > dl > div:first-child {
		margin-top: 20px;
	}
	.highlight > dl > div > dt {
		font-weight: bold;
	}
	.highlight > dl > div > dt::before {
		content: "・";
	}
	.highlight > dl > div > dd {
		margin-left: 3em;
	}

	.comment > dl > div {
		text-align: left;
		margin-top: 20px;
		margin-right: 40px;
		margin-left: 40px;
	}
	.comment > dl > div > dt {
		font-size: 24px;
		font-weight: bold;
	}
	.comment > dl > div > dd {
		margin-top: 5px;
	}

	.supervisor > p,
	.outline > p {
		text-align: left;
		margin-top: 1em;
		margin-right: 40px;
		margin-left: 40px;
	}
	.supervisor > p:first-of-type,
	.outline > p:first-of-type {
		margin-top: 20px;
	}

	.supervisor > dl {
		margin-top: 20px;
		margin-right: 40px;
		margin-left: 40px;
		display: -webkit-flex;
		-webkit-flex-flow: row nowrap;
		-webkit-justify-content: flex-end;
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-end;
	}
	.supervisor > dl > dd {
		margin-left: 1em;
	}

	.overview > dl,
	.media > dl {
		margin-top: 20px;
		margin-right: 40px;
		margin-left: 40px;
	}
	.overview > dl > div,
	.media > dl > div {
		text-align: left;
		margin-top: 10px;
		display: -webkit-flex;
		-webkit-flex-flow: row nowrap;
		display: flex;
		flex-flow: row nowrap;
	}
	.overview > dl > div > dt,
	.media > dl > div > dt {
		width: 14em;
	}
	.overview > dl > div > dd,
	.media > dl > div > dd {
		width: calc(100% - 14em);
	}

	.overview-stuffs > li {
		display: inline-block;
	}
	.overview-stuffs > li::before {
		content: "・";
	}
	.overview-stuffs > li:first-child::before {
		content: none;
	}

	.overview > h3 {
		color: #FFF;
		background-color: #7AC99A;
		margin-top: 40px;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.overview-schedule > img {
		height: auto;
		width: 100%;
	}

	.overview-one-status {
		display: flex;
		flex-flow: row wrap;
	}
	.overview-one-status > dt {
		flex: 0 0 10em;
	}
	.overview-one-status > dd {
		flex: 0 0 calc(100% - 10em);
	}

	.overview-ticket-sale > div {
		display: flex;
		flex-flow: row wrap;
	}
	.overview-ticket-sale > div > dt {
		flex: 0 0 10em;
	}
	.overview-ticket-sale > div > dd {
		flex: 0 0 calc(100% - 10em);
	}

	.overview-ticket-status > div {
		margin-top: 1em;
	}
	.overview-ticket-status > div:first-child {
		margin-top: 0;
	}
	.overview-ticket-status > div > dt::before {
		content: "（";
	}
	.overview-ticket-status > div > dt::after {
		content: "）";
	}

	.overview-tickets > li {
		margin-top: 1em;
	}
	.overview-tickets > li:first-child {
		margin-top: 0;
	}

	a.overview-ticket-button {
		font-weight: bold;
		text-align: center;
		color: #FFF;
		background-color: #E71873;
		padding-top: 1em;
		padding-bottom: 1em;
		width: 20em;
		display: block;
		transition: background-color ease 0.5s;
	}
	a.overview-ticket-button:hover,
	a.overview-ticket-button:active,
	a.overview-ticket-button:focus {
		background-color: #305389;
	}

	.media dl > div > dd > ul > li {
		display: inline;
	}
	.media dl > div > dd > ul > li::before {
		content: "・";
	}
	.media dl > div > dd > ul > li:first-child::before {
		content: unset;
	}

	.side-menu > ul {
		border-top: 1px dotted #999;
	}
	.side-menu > ul > li > a {
		font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGPMinchoE, serif;
		font-size: 15px;
		font-weight: bold;
		text-align: left;
		text-decoration: none;
		color: #000;
		border-bottom: 1px dotted #333;
		padding: 20px;
		display: block;
		transition: background-color ease 0.5s;
	}
	.side-menu > ul > li > a:hover,
	.side-menu > ul > li > a:active,
	.side-menu > ul > li > a:focus {
		background-color: #F8F8F8;
	}

	.side-menu > ul > li:last-child > a {
		text-align: center;
		line-height: 1;
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.side-menu > ul > li:last-child > a::before {
		content: "\e901";
		font-family: "Icons-SNS";
		font-size: 40px;
		line-height: 1;
		display: block;
	}

	.aside-x {
		display: none;
	}

/* </pconly> */
	
/* <inline> */

}

/* </inline> */





/* <inline> */

@media (min-width: 1px) and (max-width: 479px) {

	.pconly {
		display: none;
	}
	a[href^="tel:"]::before {
		content: "☎ ";
	}
	.inline-word-wrap-zone {
		word-break: keep-all;
	}
	.block-word-wrap-zone {
		display: flex;
		flex-flow: row wrap;
	}
	.block-word-wrap-gap-zone {
		display: flex;
		flex-flow: row wrap;
		column-gap: 1em;
	}
	.text-small {
		font-size: 12px;
	}
	.text-warning {
		text-indent: -1em;
		padding-left: 1em;
	}
	.text-warning::before {
		content: "※";
	}

	.headline {
		text-align: center;
		background-color: #F0F0F0;
		margin-top: 0;
	}
	.headline-logo > img {
		height: auto;
		width: 100%;
	}

	.end-of-life {
		font-size: 18px;
		font-weight: bold;
		text-align: left;
		color: #FFF;
		background-color: #C0153F;
		margin-top: 40px;
		padding: 20px 15px;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.end-of-life::before {
		content: "";
		border: 1px solid #FFF;
		height: calc(100% - 9px);
		width: calc(100% - 9px);
		position: absolute;
		top: 4px;
		left: 4px;
	}

	.toauthor {
		text-align: left;
		background-color: #F0F0F0;
		margin-top: 40px;
		margin-right: 20px;
		margin-left: 20px;
		padding: 20px 20px 25px;
		position: relative;
	}
	.toauthor::before {
		content: "";
		height: 100%;
		width: calc(100% + 20px);
		border-top: 1px solid #333;
		border-bottom: 1px solid #333;
		display: block;
		position: absolute;
		top: -5px;
		left: -14px;
	}
	.toauthor::after {
		content: "";
		height: calc(100% + 20px);
		width: 100%;
		border-left: 1px solid #333;
		border-right: 1px solid #333;
		display: block;
		position: absolute;
		top: -14px;
		left: -5px;
	}

	.introduction > p {
		text-align: left;
		margin-top: 20px;
		margin-right: 10px;
		margin-left: 10px;
	}

	.introduction > ol > li {
		margin-top: 10px;
	}
	.introduction > ol > li:first-child {
		margin-top: 20px;
	}

	.introduction-video {
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		aspect-ratio: 1 / 0.5625;
	}
	.introduction-video > iframe {
		border: none;
		height: 100%;
		width: 100%;
	}

	.what > .what-book {
		margin-top: 20px;
	}
	.what > .what-book > img {
		height: auto;
		width: 100%;
	}
	.what > .what-book > figcaption {
		font-size: 9px;
		margin-top: 5px;
	}
	.what > .what-periods > p {
		text-align: left;
		margin-top: 1em;
		margin-right: 10px;
		margin-left: 10px;
	}
	.what > .what-periods > .what-outside {
		margin-right: 0;
		margin-left: 0;
	}
	.what-outside > cite > a {
		text-align: center;
		display: block;
	}

/* </inline> */

	.highlight > dl > div {
		margin-top: 1em;
		margin-right: 10px;
		margin-left: 10px;
	}
	.highlight > dl > div > dt {
		font-weight: bold;
		text-align: left;
	}
	.highlight > dl > div > dt::before {
		content: "・";
	}
	.highlight > dl > div > dd {
		text-align: left;
		margin-left: 1em;
	}

	.comment > dl > div {
		text-align: left;
		margin-top: 20px;
	}
	.comment > dl > div > dt {
		font-size: 24px;
		font-weight: bold;
		text-align: center;
		margin-top: 1em;
		margin-right: 10px;
		margin-left: 10px;
	}
	.comment > dl > div > dd {
		margin-top: 1em;
		margin-right: 10px;
		margin-left: 10px;
	}

	.supervisor > p,
	.outline > p {
		text-align: left;
		margin-top: 1em;
		margin-right: 10px;
		margin-left: 10px;
	}
	.supervisor > p:first-of-type,
	.outline > p:first-of-type {
		margin-top: 20px;
	}

	.supervisor > dl {
		margin-top: 20px;
		margin-right: 10px;
		margin-left: 10px;
		display: -webkit-flex;
		-webkit-flex-flow: row nowrap;
		-webkit-justify-content: flex-end;
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-end;
	}
	.supervisor > dl > dd {
		margin-left: 1em;
	}

	.overview > dl,
	.media > dl {
		margin-top: 20px;
		margin-right: 10px;
		margin-left: 10px;
	}
	.overview > dl > div,
	.media > dl > div {
		text-align: left;
		margin-top: 10px;
	}
	.overview > dl > div > dd,
	.media > dl > div > dd {
		margin-left: 2em;
	}

	.overview-stuffs > li {
		display: inline-block;
	}
	.overview-stuffs > li::before {
		content: "・";
	}
	.overview-stuffs > li:first-child::before {
		content: none;
	}

	.overview > h3,
	.overview > dl:last-child {
		margin-top: 40px;
	}

	.overview > h3 {
		color: #FFF;
		background-color: #7AC99A;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.overview-schedule > img {
		height: auto;
		width: 100%;
	}

	.overview-one-status > dt::before,
	.overview-ticket-status > div > dt::before,
	.overview-ticket-sale > div > dt::before {
		content: "（";
	}
	.overview-one-status > dt::after,
	.overview-ticket-status > div > dt::after,
	.overview-ticket-sale > div > dt::after {
		content: "）";
	}
	.overview-one-status > dd,
	.overview-ticket-sale > div > dd {
		margin-left: 2em;
	}

	.overview-ticket-status > div {
		margin-top: 1em;
	}
	.overview-ticket-status > div:first-child {
		margin-top: 0;
	}

	.overview-tickets > li {
		margin-top: 1em;
	}
	.overview-tickets > li:first-child {
		margin-top: 0;
	}

	a.overview-ticket-button {
		font-weight: bold;
		text-align: center;
		color: #FFF;
		background-color: #E71873;
		padding-top: 1em;
		padding-bottom: 1em;
		width: 20em;
		display: block;
		transition: background-color ease 0.5s;
	}
	a.overview-ticket-button:hover,
	a.overview-ticket-button:active,
	a.overview-ticket-button:focus {
		background-color: #305389;
	}

	.media dl > div > dd > ul > li {
		display: inline;
	}
	.media dl > div > dd > ul > li::before {
		content: "・";
	}
	.media dl > div > dd > ul > li:first-child::before {
		content: unset;
	}

	.aside-x > div > a {
		text-decoration: none;
		line-height: 1;
		background-color: #F0F0F0;
		margin-top: 40px;
		padding-top: 40px;
		padding-bottom: 40px;
		display: block;
		transition: background-color ease 0.5s;
	}
	.aside-x > div > a:hover,
	.aside-x > div > a:active,
	.aside-x > div > a:focus {
		color: #FFF;
		background-color: #305389;
	}
	.aside-x > div > a::before {
		content: "\e901";
		font-family: "Icons-SNS";
		font-size: 40px;
		line-height: 1;
		margin-bottom: 10px;
		display: block;
	}

	body > footer {
		margin-top: 0;
	}

/* <inline> */

}

/* </inline> */
