@charset "utf-8";
/*
* COMMON
******************************************************/
.gn__content {
	margin:auto;
}
.gn-main-content {
	padding:40px 20px;
}
@media print, screen and (min-width: 1140px) {
	.gn__content {
		max-width: var(--content-size);
	}
	.gn-main-content {
		padding:60px 0;
	}
}

/*
* MV
******************************************************/
.mv-img {
	background: var(--color-primary);
}
@media print, screen and (min-width: 1140px) {
	.mv-img {
        width: 100%;
        max-width: 1920px;
        margin: auto;
	}
	.mv-img img {
		width:100vw;
	}
}

/*
* DESCRIPTION
******************************************************/
.gnDesc {
	margin: 60px 20px;
}
.gnDesc p {
	font-size: var(--font-size-ml);
	font-weight:var(--font-bold);
	color: var(--color-text-gray);
	text-align: center;
	line-height: 1.3;
	margin: 0 0 1em 0;
}
.gnDesc p span{
	font-size: var(--font-size-sl);
}
.gnDesc p.smallFont{
	font-size: var(--font-size-md);
}
@media print, screen and (min-width: 1140px) {
	.gnDesc {
		margin: 60px 0;
	}
	.gnDesc p {
		font-size: var(--font-size-lg);
	}
	.gnDesc p span{
		font-size: var(--font-size-xs);
	}
	.gnDesc p.smallFont{
		font-size: var(--font-size-lm);
	}
}

/*
* OVERVIEW
******************************************************/
.gn__content_overview {
    margin: 30px 0 0 0;
}
.gn__content_overview_list {
    margin: 20px 0;
}
.gn__content_overview_catch {
	color: var(--color-primary);
	font-weight: var(--font-bold);
	margin: 30px 0;
}
.gn__content_overview_heading {
	font-size: var(--font-size-ml);
	color: var(--color-default);
	background: var(--color-primary);
	font-weight: var(--font-bold);
	display: inline-block;
	width: 160px;
    text-align: center;
}
.gn__content_overview_desc {
	font-size: var(--font-size-md);
	font-weight: var(--font-bold);
	color: var(--color-text-gray);
	margin: .55em 0;
}
.gn__content_overview_desc.as_note {
	font-size: var(--font-size-sl);
	margin: -.55em 0 .55em 0;
}
.gn__content_overview_desc a {
    text-decoration: underline;
    color: var(--color-secondary);
}
.text-large {
	font-size: var(--font-size-lm);
}
.test-s {
	font-size: var(--font-size-xxs);
}
.gn__content_overview_desc_table {
	overflow-x: unset;
}
.gn__content_overview_desc_table table {
	width: 100%;
	border-collapse: collapse;
    border-spacing: 0;
    text-align: left;
    border-top: 1px solid var(--color-primary);
    border-right: 1px solid var(--color-primary);
    margin: 0 0 30px 0;
}
.gn__content_overview_desc_table th {
	background: var(--color-primary);
    border-left: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
    color: var(--color-default);
    font-weight: var(--font-bold);
	padding: 0 .5em;
}
.gn__content_overview_desc_table td {
	background: var(--color-default);
    border-left: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
	padding: 3px .5em;
	font-size: var(--font-size-ml);
	font-weight: var(--font-bold);
	color: var(--color-text-gray);
}
@media print, screen and (min-width: 1140px) {
	.gn__content_overview_catch {
		margin: 30px 0;
	}
	.gn__content_overview_heading {
		font-size: var(--font-size-lg);
	}
	.gn__content_overview_desc {
		font-size: var(--font-size-lm);
	}
	.gn__content_overview_desc.as_note {
        font-size: var(--font-size-md);
	}
	.text-large {
		font-size: var(--font-size-lg);
	}
	.gn__content_overview_desc_table th {
		padding: 0 1em;
	}
	.gn__content_overview_desc_table td {
		padding: 6px 1em;
		font-size: var(--font-size-lm);
	}
}


/*
* TITLE
******************************************************/
.gn__headline {
	background: var(--color-primary);
    color: var(--color-default);
    font-size: var(--font-size-ml);
    font-weight: var(--font-bold);
    text-align: center;
    padding: 24px 12px;
	margin: 5px 0 0 0;
}
.gnListContent__heading {
	background:var(--color-border-gray);
	color: var(--color-text-gray);
    font-size: var(--font-size-ml);
    font-weight: var(--font-bold);
	text-align: center;
    padding: 24px 12px;
	margin: 40px 0 0 0;
}
@media print, screen and (min-width: 1140px) {
	.gn__headline {
		font-size: var(--font-size-lg);
		padding: 12px;
	}
	.gnListContent__heading {
		font-size: var(--font-size-lg);
		padding: 12px;
		margin: 60px 0 0 0;
	}
}

/*
* LIST
******************************************************/
.gnListContent {
    padding: 20px 0 40px 0;
}
.gnListContent__lists__wrapper {
	margin: 0;
	padding: 20px;
}
.gnListContent__list-text {
	color: var(--color-text-gray);
    font-size: var(--font-size-sm);
	font-weight: var(--font-bold);
}
.gnListContent__list {
	margin: 20px 0 0 0;
}
.gnListContent__list:nth-child(3) {
	margin: 0;
}
@media print, screen and (min-width: 1140px) {
	.gnListContent {
		padding: 0 0 60px 0;
	}
	.gnListContent__lists__wrapper {
		margin: 50px 0 0 0;
		padding: 0;
	}
	.gnListContent__lists {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap:0 16px;
	}
	.gnListContent__list {
		margin: 0;
	}
	.gnListContent__list-text {
		font-size: var(--font-size-df);
	}
}

/*
* BUTTON
******************************************************/
.gnListContent__button {
	width: 300px;
	margin: 30px auto;
}
.gnListContent__button .ge-button {
	width: 300px;
	margin: 0 0 20px 0;
	font-size: var(--font-size-md);
}
@media print, screen and (min-width: 1140px) {
	.gnListContent__button {
		width: 440px;
		margin: 60px auto;
	}
	.gnListContent__button .ge-button {
		width: 440px;
		font-size: var(--font-size-ls);
	}
}

/*
* NOTICE
******************************************************/
.gnListContent__notice {
	color: #be3030;
	font-size: var(--font-size-xxs);
	text-align: left;
	margin: 20px;
	line-height: 2;
}
@media print, screen and (min-width: 1140px) {
	.gnListContent__notice {
		font-size: var(--font-size-md);
		text-align: center;
		margin: 40px 0;
	}
}


/*
* BANNER
******************************************************/
.gnListContent__banner {
	margin: 20px;
}
.border-bottom {
	border-bottom: 4px dotted var(--color-bg-gray);
	margin: 0 0 40px 0;
}
.gnListContent__banner--lists {
	margin: 20px 0 0 0;
	padding: 20px;
}
.gnListContent__banner--lists li {
	padding: 0 0 30px 0;
}
.gnListContent__banner--lists img {
	filter: drop-shadow(2px 3px 3px var(--color-text-lightgray));
}
.gnListContent__banner-img {
	padding: 30px 0;
	max-width:530px;
	margin: auto;
}
@media print, screen and (min-width: 1140px) {
	.gnListContent__banner {
		margin: 0;
	}
	.gnListContent__banner--lists {
		margin: 40px 0 0 0;
		padding: 0;
		display: flex;
		justify-content:space-between;
		flex-wrap: wrap;
	}
	.gnListContent__banner--lists li {
		padding: 0 0 16px 0;
	}
	.gnListContent__banner--lists img {
		max-width:530px;
	}
}