html {
	font-size:62.5%;
	height: 100%;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	position: relative;
	z-index: 1;
	color: #000000;
	font-weight: 400;
}

main, section, footer{
	z-index: 1;
	position: relative;
}

a {
	opacity: 1;
	transition: opacity .2s;
	text-decoration: underline;
	color: #000;
}

a:hover {
	opacity: .5;
	transition: opacity .5s;
	text-decoration: none;
}
ul, ol {
	padding: 0;
	margin: 0;
}

li {
	list-style: none;
}

a.text-link:hover {
	text-decoration: none;
}

p {
	font-size: clamp(1.4rem, 1.171rem + 0.57vw, 1.6rem);
}

.text-link {
	color: #2b36a1;
}

.font-color-yellow {
	color: #ffff00;
}

.marker-blue {
	background:linear-gradient(transparent 50%, #aaffe2 60%);
}
.marker-yellow {
	background:linear-gradient(transparent 50%, #ffff00 60%);
}

.font-mincho {
	font-family: "Noto Serif JP", serif;
}

.fontw-500 {
	font-weight: 500;
}

.kome-list .kome-list-item {
	font-size: 1.4rem;
	font-weight: 300;
	line-height: 1.8;
	display: table;
}

.kome-list .kome-list-item > span {
	display: table-cell;
}

@media screen and (max-width: 899px) {
	.wrap {
		overflow: hidden;
	}

	.kome-list .kome-list-item {
		font-size: calc(( 18 / 640) * 100vw);
	}
}


/*-------------------------
	header
-------------------------*/

.header {
	z-index: 100;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	height: 69px;
	background: #FFF;
	border-bottom: 4px solid #000;
}

.header .inner {
	padding: 20px 0;
	max-width: 990px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header .header-navi {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 15px;
}

.header .header-navi-item {
	padding-right: 15px;
	border-right: 1px solid #000000;
}

.header .header-navi-item:last-child {
	padding-right: 0;
	border-right: none;
}

.header .header-navi-item a {
	text-decoration: none;
	line-height: 1.4;
	font-size: 1.4rem;
	font-weight: 500;
	color: #000000;
}

@media not screen and (max-width: 900px) {
	.header .trigger {
		display: none;
	}
}

@media screen and (max-width: 899px) {
	.header {
		padding: 0 15px;
		height: 60px;
	}

	.header .inner {
		padding: 10px 0;
	}
	.header nav {
		display: none;
	}
	.header .trigger {
		display: block;
	}
	
	.header .trigger {
		width: 40px;
		height: 40px;
		z-index: 2000;
	}
	.header .inner .trigger span {
		display: block;
		position: absolute;
		width: 25px;
		border-bottom: solid 2px #000000;
		transition: .35s ease-in-out;
		right: 5%;
	}
	.header .inner .trigger span:nth-child(1) {
		top: 18px;
	}
	.header .inner .trigger span:nth-child(2) {
		top: 26px;
	}
	.header .inner .trigger span:nth-child(3) {
		top: 34px;
	}
	.header .inner .trigger.active span:nth-child(1) {
		top: 26px;
		right: 5%;
		transform: rotate(-45deg);
	}
	.header .inner .trigger.active span:nth-child(2), .header .inner .trigger.active span:nth-child(3) {
		top: 26px;
		right: 5%;
		transform: rotate(45deg);
	}
	.header nav.active {
		z-index: 100;
		position: fixed;
		top: 60px;
		right: 0;
		left: 0;
		bottom: 0;
		background: #1f286f;
		width: 100%;
		height: 100%;
		display: block;
	}

	.header .header-navi {
		display: block;
		width: 60%;
		margin: 30px auto 0;
	}
	
	.header .header-navi-item {
		padding-right: 0;
		border-right: none;
		border-bottom: 1px solid #FFF;
	}
	
	.header .header-navi-item a {
		padding: 20px;
		display: block;
		color: #FFF;
	}
}

/*-------------------------
	main
-------------------------*/
.main {
	margin-top: 69px;
}

@media screen and (max-width: 899px) {
	.main {
		margin-top: 60px;
	}
}

/*-------------------------
	footer
-------------------------*/
.footer {
	padding: 50px 0 30px;
	background: #222222;
}

.footer .inner {
	max-width: 940px;
	margin: 0 auto;	
}

.footer .banner .banner-list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 40px;
}

.footer .banner .banner-list-item:first-child img {
	width: 139px;
}

.footer .banner .banner-list-item:nth-child(2n) img {
	width: 166px;
}

.footer .banner .banner-list-item:nth-child(3n) img {
	width: 129px;
}

.footer .sns-sp {
	margin-top: 40px;
}

.footer .sns-sp .sns__btn {
	margin-top: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
}

.footer .sns-sp .sns__title {
	text-align: center;
	font-weight: 600;
	color: #FFF;
}

.footer .sns-sp .sns__btn .sns__btn-item:first-child img {
	width: 39px;
}

.footer .sns-sp .sns__btn .sns__btn-item:nth-child(2n) img ,
.footer .sns-sp .sns__btn .sns__btn-item:nth-child(3n) img {
	width: 39px;
}

.footer .copyright {
	text-align: center;
	margin-top: 20px;
}

.footer .copyright small {
	font-size: 1.2rem;
	color: #FFF;
}

@media not screen and (min-width: 899px) {
	.footer .inner {
		padding: 0 5%;
	}

	.footer .banner .banner-list {
		gap: 20px;
	}
	.footer .copyright small {
		font-size: calc(( 16 / 550) * 100vw);
	}

}

/*-------------------------
	mv
-------------------------*/
.mv img {
	width: 100%;
}
.mv .images {
	line-height: 0.8;
	display: block;
}

/*-------------------------
	section
-------------------------*/
.section .inner {
	max-width: 940px;
	margin: 0 auto;	
}

@media screen and (max-width: 899px) {
	.section .inner {
		padding: 0 5%;
	}
}

/*-------------------------
	section-1
-------------------------*/
.section-1 {
	padding: 100px 0 100px;
	position: relative;
	background: url('../images/section1_bg.webp') no-repeat center center;
	background-size: cover;
}

.section-1 .heading1 {
	text-align: center;
	margin-top: -180px;
}

.section-1 .catch {
	text-align: center;
	margin-bottom: 20px;
	font-size: 3.2rem;
	font-weight: 600;
	color: #FFFFFF;
}

.section-1 .catch + .text ,
.section-1 .catch + .text + .text {
	text-align: center;
	margin-top: 40px;
	font-size: 1.8rem;
	color: #FFFFFF;
}

.section-1 .catch + .text {
	margin-top: 60px;
}

.section-1 .list-icon {
	max-width: 795px;
	margin: 0 auto 40px;
	padding: 25px 0;
    background-image: linear-gradient(to right, #FFF 2px, transparent 2px), linear-gradient(to right, #FFF 2px, transparent 2px);
    background-size: 10px 2px;
    background-position: left bottom, left top;
    background-repeat: repeat-x;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 50px;
}

@media screen and (max-width: 899px) {

	.section-1 {
		padding: 60px 0;
		background: url(../images/section1_bg_sp.webp) no-repeat center center;
		background-size: cover;
	}
	.section-1 .heading1 {
		margin-top: -130px;
	}
	.section-1 .heading1 img {
		width: 80%;
	}
	.section-1 .catch {
		font-size: calc(( 27 / 550) * 100vw);
	}
	.section-1 .list-icon {
		padding: 15px 0;
		margin-bottom: 15px;
		background-image: linear-gradient(to right, #FFF 2px, transparent 2px), linear-gradient(to right, #FFF 2px, transparent 2px);
		background-size: 6px 2px;
		background-position: left bottom, left top;
		background-repeat: repeat-x;
		gap: 20px;
	}
	.section-1 .catch + .text ,
	.section-1 .catch + .text + .text {
		margin-top: 20px;
		font-size: calc(( 24 / 550) * 100vw);
	}
}

/*-------------------------
	section-2
-------------------------*/
.section-2 {
	padding: 90px 0 40px;
	margin-top: 140px;
	background: url('../images/section2_bg.webp') repeat left top;
}

.section-2 .heading2 {
	text-align: center;
	margin-top: -180px;
}

.section-2 .flex {
	margin-top: -40px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.section-2 .flex .flex-texts .name {
	padding: 8px 0 0 50px;
	width: 620px;
	height: 65px;
	font-size: 3rem;
	background: url('../images/section2_ttl_bg.webp') no-repeat center center;
	background-size: contain;
	color: #FFFFFF;
}

.section-2 .flex .flex-texts .name > span {
	padding-left: 10px;
	font-size: 1.9rem;
}

.section-2 .flex .flex-texts .text {
	padding-left: 50px;
	margin-top: 25px;
	line-height: 1.8;
	font-weight: 500;
	font-size: 2.2rem;
}

.section-2 .flex .flex-texts .catch {
	padding-left: 50px;
	margin-top: 10px;
	font-weight: 500;
	font-size: 3.2rem;
}

@media not screen and (min-width: 899px) {
	.section-2 {
		padding-top: 100px;
		margin-top: 80px;
	}
	.section-2 .heading2 {
		margin-top: -150px;
	}
	.section-2 .heading2 img {
		width: 60%;
	}
	.section-2 .flex {
		margin-top: 20px;
		align-items: center;
	}
	.section-2 .flex .flex-texts .name {
		padding: 16px 0 0 30px;
		width: 200px;
		height: fit-content;
		min-height: 85px;
		background: url(../images/section2_ttl_bg_sp.webp) no-repeat center center;
		background-size: 100% 100%;
		font-size: calc(( 27 / 550 ) * 100vw);
	}
	.section-2 .flex .flex-texts .name > span {
		display: block;
		font-size: calc(( 15 / 550 ) * 100vw);
		padding-left: 0;
	}

	.section-2 .flex + .texts .text {
		font-size: calc(( 22 / 550 ) * 100vw);
		font-weight: 500;
	}

	.section-2 .flex + .texts .catch {
		font-size: calc(( 32 / 550 ) * 100vw);
		font-weight: 500;
	}
}

@media screen and (max-width: 853px) and (min-width: 767px){
	.section-2 .flex .flex-texts .name {
		padding: 10px 0 0 40px;
		width: 450px;
		height: fit-content;
		min-height: 85px;
		background: url(../images/section2_ttl_bg_sp.webp) no-repeat center center;
		background-size: 100% 100%;
		font-size: calc(( 27 / 550 ) * 100vw);
	}
}

/*-------------------------
	section-3
-------------------------*/
.section-3 {
	padding: 90px 0 100px;
	margin-top: 130px;
	background: url('../images/section3_bg.webp') no-repeat left top;
	background-size: cover;
}

.section-3 .heading2 {
	text-align: center;
	margin-top: -180px;
}

.section-3 .contents {
	margin-top: 40px;
}

.section-3 .contents .col {
	padding: 70px 50px 120px;
	background: url('../images/section3_col_bg.webp') no-repeat center center;
	background-size: 100% 100%;
}

.section-3 .contents .col-2 {
	padding-bottom: 150px;
}

.section-3 .contents .col .line {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 20px;
}

.section-3 .contents .col .line >  .img {
	line-height: 0.9;
}

.section-3 .contents .col .line > .texts {
	line-height: 1.4;
}

.section-3 .contents .col .line > .texts > .pos {
	font-size: 1.8rem;
	font-weight: 500;
}

.section-3 .contents .col .line > .texts > .name {
	font-size: 2.7rem;
	font-weight: 500;
}

.section-3 .contents .col .line > .texts > .name > span {
	padding-left: 10px;
	font-size: 1.8rem;
	font-weight: 500;
}

.section-3 .contents .col .line + .catch {
	margin-top: 35px;
	font-size: 3.4rem;
	font-weight: 500;
}

.section-3 .contents .col .line + .catch + .text {
	margin-top: 20px;
	line-height: 1.6;
	font-size: 1.8rem;
}

.section-3 .parts {
	margin-top: -30px;
}

.section-3 .parts .line {
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

@media not screen and (min-width: 899px) {
	.section-3 {
		padding-top: 80px;
		padding-bottom: 40px;
		margin-top: 80px;
		background: url('../images/section3_bg_sp.webp') no-repeat left top;
		background-size: cover;
	}
	.section-3 .heading2 {
		margin-top: -140px;
	}
	.section-3 .inner {
		padding: 0 4%;
	}
	.section-3 .contents {
		margin-top: 20px;
	}
	.section-3 .heading2 img {
		width: 65%;
	}
	.section-2 .flex {
		margin-top: 20px;
		align-items: center;
	}
	.section-2 .flex + .texts {
		margin-top: 20px;
	}
	.section-3 .contents .col {
		padding: 40px 20px 60px;
		background: url('../images/section3_col_bg_sp.webp') no-repeat center center;
		background-size: 100% 100%;
	}
	.section-3 .contents .col .line .img {
		width: calc(( 180 / 430 ) * 100%);
	}

	.section-3 .contents .col .line > .texts > .pos ,
	.section-3 .contents .col .line > .texts > .name > span {
		font-size: calc(( 18 / 640 ) * 100vw);
	}
	.section-3 .contents .col .line > .texts > .name  {
		font-size: calc(( 24 / 640 ) * 100vw);
	}
	.section-3 .contents .col .line + .catch {
		margin-top: 10px;
		font-size: calc(( 28 / 640 ) * 100vw);
	}
	.section-3 .contents .col .line + .catch + .text {
		margin-top: 10px;
		font-size: calc(( 20 / 640 ) * 100vw);
	}
	.section-3 .parts {
		margin-top: -15px;
	}
}

/*-------------------------
	section-4
-------------------------*/
.section-4 {
	padding: 90px 0 40px;
	margin-top: 130px;
	background: url('../images/section2_bg.webp') repeat left top;
}

.section-4 .heading2 {
	text-align: center;
	margin-top: -180px;
}

.section-4 .col {
	text-align: center;
	margin-top: 20px;
}

.section-4 .kome-list {
	margin-top: 40px;
}

@media not screen and (min-width: 899px) {
	.section-4 {
		padding-top: 80px;
		padding-bottom: 60px;
		margin-top: 80px;
	}
	.section-4 .heading2 {
		margin-top: -140px;
	}
	.section-4 .heading2 img {
		width: 60%;
	}
	.section-4 .col {
		margin-top: 10px;
	}
	.section-4 .kome-list {
		margin-top: 20px;
	}
}

/*-------------------------
	section-5
-------------------------*/
.section-5 {
	padding: 90px 0 40px;
	margin-top: 140px;
	background: url('../images/section5_bg.webp') no-repeat center center;
	background-size: cover;
}

.section-5 .heading2 {
	text-align: center;
	margin-top: -180px;
}

.section-5 .contents {
	padding: 50px 30px;
	background: #FFFFFF;
}

.section-5 .contents + .contents {
	margin-top: 50px;
}

.section-5 .contents .heading3 {
	padding: 13px 0;
	text-align: center;
	font-weight: 500;
	font-size: 2.6rem;
	color: #FFF;
	background: #1f286f;
}

.section-5 .contents .intro-text {
	margin-top: 25px;
	font-size: 1.9rem;
	font-weight: 400;
}

.section-5 .contents .line {
	margin-top: 30px;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 30px;
}

.section-5 .contents .line:first-child {
	margin-top: 0;
}

.section-5 .contents .line .ttl {
	padding-left: 20px;
	min-width: 233px;
	max-width: 233px;
	min-height: 120px;
	font-weight: 500;
	font-size: 2.8rem;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	color: #FFF;
	background: #1f286f;
}

.section-5 .contents .line .texts .text {
	font-size: 2rem;
	font-weight: 500;
}

.section-5 .contents .line .texts .catch-l {
	line-height: 1.4;
	font-size: 3.2rem;
	font-weight: 500;
}

.section-5 .contents .line .texts .catch-m {
	line-height: 1.4;
	font-size: 2.6rem;
	font-weight: 500;
}

.section-5 .contents .line .texts .catch-s {
	line-height: 1.4;
	font-size: 2.2rem;
	font-weight: 500;
}

.section-5 .contents .line .texts .sub-text {
	font-size: 1.6rem;
	font-weight: 400;
}

.section-5 .contents .line .texts .catch-s + .sub-text ,
.section-5 .contents .line .texts .catch-m + .sub-text ,
.section-5 .contents .line .texts .catch-l + .sub-text ,
.section-5 .contents .line .texts .text + .sub-text {
	margin-top: 10px;
}

.section-5 .contents .line .texts .text + .text {
	margin-top: 10px;
}

.section-5 .contents .table {
	margin-top: 40px;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 30px;
}

.section-5 .contents .table .ttl {
	min-width: 233px;
	max-width: 233px;
	min-height: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 25px;
	border: 5px solid #1f286f;
	background: #FFF;
}

.section-5 .contents .table .ttl-center {
	min-width: 233px;
	max-width: 233px;
	min-height: 120px;
	padding-left: 20px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	line-height: 1.4;
	font-size: 2.6rem;
	font-weight: 500;
	color: #1f286f;
	border: 5px solid #1f286f;
	background: #FFF;
}

.section-5 .contents .table .ttl > .text {
	line-height: 1.4;
	font-size: 2.6rem;
	font-weight: 500;
	color: #1f286f;
}

.section-5 .contents .table .col {
	margin-top: 15px;
}

.section-5 .contents .table .col.mt30 {
	margin-top: 30px;
}

.section-5 .contents .table .texts .text-l {
	font-size: 2rem;
}

.section-5 .contents .table .texts .text-ll {
	font-size: 2.2rem;
}

.section-5 .contents .table .texts .text-m {
	font-size: 1.8rem;
}

.section-5 .contents .table .texts .heading4 {
	padding: 5px 10px;
	width: fit-content;
	font-size: 1.8rem;
	color: #FFF;
	background: #1f286f;
}

.section-5 .contents .table .texts .heading4 + .text-m ,
.section-5 .contents .table .texts .text-m + .sub-text ,
.section-5 .contents .table .texts .text-m + .text-m ,
.section-5 .contents .table .texts .row {
	margin-top: 10px;
}

.section-5 .contents .table .texts .button {
	margin-top: 30px;
	display: inline-block;
}

.section-5 .contents .table .texts .button + .sub-text {
	margin-top: 30px;
}

.section-5 .contents .table .texts .sub-text {
	font-weight: 400;
	font-size: 1.6rem;
}

.section-5 .contents .line-center ,
.section-5 .contents .table-center {
	align-items: center;
}

@media not screen and (min-width: 899px) {
	.section-5 {
		padding-top: 80px;
		padding-bottom: 60px;
		margin-top: 80px;
		background: url('../images/section5_bg_sp.webp') no-repeat center center;
		background-size: cover;
	}
	.section-5 .heading2 {
		margin-top: -140px;
	}
	.section-5 .heading2 img {
		width: 65%;
	}
	.section-5 .contents {
		padding: 30px 20px;
	}
	.section-5 .contents .line {
		margin-top: 40px;
		display: block;
	}
	.section-5 .contents .line .ttl {
		padding: 5px 20px;
		margin-bottom: 20px;
		min-width: auto;
		max-width: 100%;
		min-height: fit-content;
		font-size: calc(( 24 / 640 ) * 100vw);
	}
	.section-5 .contents .line .texts .text{
		font-size: calc(( 20 / 640 ) * 100vw);
		font-weight: 500;
	}
	.section-5 .contents .line .texts .catch-l {
		font-size: calc(( 28 / 640 ) * 100vw);
		font-weight: 500;
	}
	.section-5 .contents .line .texts .sub-text {
		font-size: calc(( 18 / 640 ) * 100vw);
		font-weight: 400;
	}
	.section-5 .contents .line .texts .catch-s {
		font-size: calc(( 24 / 640 ) * 100vw);
		font-weight: 500;
	}
	.section-5 .contents .line .texts .catch-m {
		font-size: calc(( 24 / 640 ) * 100vw);
		font-weight: 500;
	}
	.section-5 .contents .heading3 {
		font-size: calc(( 28 / 640 ) * 100vw);
	}
	.section-5 .contents .intro-text {
		margin-top: 10px;
		font-size: calc(( 22 / 640 ) * 100vw);
		font-weight: 400;
	}
	
	.section-5 .contents .table {
		margin-top: 20px;
		display: block;
	}
	.section-5 .contents .table .ttl {
		position: relative;
		margin-top: 40px;
		min-width: auto;
		max-width: 100%;
		min-height: fit-content;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: row;
		gap: 25px;
		height: 60px;
		border: 5px solid #1f286f;
		background: #FFF;
	}
	.section-5 .contents .table .ttl > img{
		position: absolute;
		left: 10px;
		bottom: 10px;
		width: 13%;
	}
	.section-5 .contents .table-2 .ttl {
		margin-top: 70px;
	}
	.section-5 .contents .table-2 .ttl > img{
		width: 10%;
	}

	.section-5 .contents .table .ttl > .text {
		font-size: calc(( 24 / 640 ) * 100vw);
		font-weight: 500;
	}
	.section-5 .contents .table .texts .text-l {
		font-size: calc(( 22 / 640 ) * 100vw);
	}
	.section-5 .contents .table .texts .heading4 {
		font-size: calc(( 20 / 640 ) * 100vw);
	}
	.section-5 .contents .table .texts .text-m {
		font-size: calc(( 20 / 640 ) * 100vw);
	}
	.section-5 .contents .table .texts .sub-text {
		font-weight: 400;
		font-size: calc(( 18 / 640 ) * 100vw);
	}

	.section-5 .contents .table .texts .text-ll {
		font-size: calc(( 22 / 640 ) * 100vw);
	}
	.section-5 .contents .table .ttl-center {
		margin-top: 10px;
		min-width: auto;
		max-width: 100%;
		min-height: fit-content;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: row;
		padding-left: 0;
		gap: 0;
		height: 60px;
		border: 5px solid #1f286f;
		background: #FFF;
		font-size: calc(( 24 / 640 ) * 100vw);
		font-weight: 500;
	}
	.section-5 .contents .table .ttl-center + .texts {
		margin-top: 20px;
	}

	.section-5 .contents .table .texts .button {
		width: 100%;
		text-align: center;
	}
}

/*-------------------------
	section-6
-------------------------*/
.section-6 {
	padding: 60px 0 150px;
	background: url('../images/section6_bg_top.webp'),url('../images/section6_bg_bottom.webp');
	background-size: 100% auto;
	background-position: top center, bottom center;
	background-repeat: no-repeat;
}

.section-6 .inner {
	max-width: 980px;
}

.section-6 .heading2 {
	text-align: center;
}

.section-6 .col-2 ,
.section-6 .col-3 {
	margin-top: 100px;
}

.section-6 .col .head3 {
	padding-left: 15px;
	line-height: 1.4;
	font-size: 2.8rem;
	border-left: 19px solid #dd8722;
}

.section-6 .col .qa {
	padding: 25px;
	margin-top: 30px;
	border-radius: 10px;
	background: #1f286f;
}

.section-6 .col .qa .question {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
} 

.section-6 .col .qa .answer {
	margin-top: 15px;
	padding: 25px;
	border-radius: 8px;
	background: #FFF;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 15px;
}

.section-6 .col .qa .answer .text-a .line:last-child {
	margin-top: 20px;
}

.section-6 .col .qa .question .icon-q,
.section-6 .col .qa .answer .icon-a {
	line-height: 0.9;
}

.section-6 .col .qa .answer .icon-a {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 10px;
}

.section-6 .col .qa .answer .text-a {
	font-size: 1.8rem;
	font-weight: 500;
}

.section-6 .col .qa .answer .text-a .line {
	font-size: 1.8rem;
	font-weight: 500;
}

.section-6 .col .qa .question .icon-arrow {
	margin-left: auto;
}

.section-6 .col .qa .question .text-q {
	font-size: 2.2rem;
	font-weight: 500;
	color: #FFF;
}

@media not screen and (min-width: 899px) {
	.section-6 {
		padding: 40px 0 60px;
		background: url('../images/section6_bg_top_sp.webp'), url('../images/section6_bg_bottom_sp.webp');
		background-size: 100% auto;
		background-position: top center, bottom center;
		background-repeat: no-repeat;
	}

	.section-6 .heading2 img {
		width: 60%;
	}

	.section-6 .heading2 + .col {
		margin-top: 20px;
	}

	.section-6 .col .head3 {
		padding-left: 8px;
		line-height: 1.8;
		font-size: calc(( 24 / 640 ) * 100vw);
		border-left: 13px solid #dd8722;
	}
	.section-6 .col .qa {
		margin-top: 20px;
		padding: 20px;
	}

	.section-6 .col .qa .question .text-q ,
	.section-6 .col .qa .answer .text-a {
		font-size: calc(( 18 / 640 ) * 100vw);
		font-weight: 500;
	}
	

	.section-6 .col .qa .answer {
		padding: 20px;
	}

	.section-6 .col .qa .question .icon-q {
		min-width: 22px;
		width: 22px;
	}

	.section-6 .col .qa .answer .icon-a {
		min-width: 22px;
		width: 22px;
	}
	.section-6 .col-2, .section-6 .col-3 {
		margin-top: 50px;
	}
}


/*-------------------------
	pagetop
-------------------------*/
#pagetop {
	z-index: 99;
	position: relative;
	position: fixed;
	right: 35px;
	bottom: 35px;
}

@media not screen and (min-width: 899px) {
	#pagetop {
		width: calc(( 150 / 640 ) * 68%);
	}

	.isPc {
		display: none;
	}

	.isSp {
		display: inline;
	}
}

@media not screen and (max-width: 900px) {
	.isSp {
		display: none;
	}

	.isPc {
		display: inline;
	}
}


/* 一次選考結果発表テーブル */
.senkoh-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 30px;
    font-size: 16px;
}

.senkoh-title {
    text-align: center;
    font-size: 44px;
    margin-bottom: 30px;
	margin-top: 80px;
    letter-spacing: 2px;
}

.senkoh-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    font-size: 16px;
}

.senkoh-th {
    background-color: #1f286f;
    padding: 12px;
    text-align: left;
    font-weight: normal;
    border: 4px solid #ffffff;
    font-size: 16px;
	color: #ffffff;
}

.senkoh-td {
    background-color: #fef3d8;
    padding: 20px;
    border: 4px solid #fff;
    font-size: 16px;
}

.senkoh-row:hover .senkoh-td {
    background-color: #fef0c8;
}

.senkoh-note {
    text-align: right;
    font-size: 14px;
    margin-bottom: 20px;
}

.senkoh-footer {
    text-align: center;
    font-size: 34px;
    font-weight: bold;
    margin-top: 20px;
}
/* ============================================================
   最終選考結果発表セクション
   style.css の末尾に追記
   ============================================================ */

/*-------------------------
    section-result
-------------------------*/
.section-result {
    padding: 90px 0 100px;
    margin-top: 140px;                                        /* section-2と同じ手法で上に空間を確保 */
    background: url('../images/section2_bg.webp') repeat left top; /* 格子柄はsection-2と同じ画像を流用 */
}
 
.result-main-ttl {
    text-align: center;
    margin-top: -180px;    /* タイトルを背景の上端からはみ出させる */
    margin-bottom: 30px;
}
 
.result-main-ttl img {
    max-width: 600px;
    width: 100%;
}

/* 受賞数サマリー */
.result-summary {
    text-align: center;
    margin-bottom: 20px;
}

.result-summary img {
    max-width: 700px;
    width: 100%;
}

/* 川島さん SPECIALブロック */
.result-special {
    text-align: center;
    margin-bottom: 60px;
}
 
.result-special img {
    max-width: 700px;
    width: 100%;
}
 
.result-special__texts {
    max-width: 700px;
    margin: 20px auto 0;
    text-align: left;
    padding: 0 20px;
}
 
/* 名前 */
.result-special__name {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.4;
}
 
.result-special__name-sub {
    padding-left: 10px;
    font-size: 1.9rem;
    font-weight: 400;
}
 
/* 本文 */
.result-special__text {
    margin-top: 25px;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.8;
}
 
/* マーカー */
.result-special__marker {
    background: linear-gradient(transparent 50%, #aaffe2 60%);
}
 
/* キャッチ */
.result-special__catch {
    margin-top: 10px;
    font-size: 3.2rem;
    font-weight: 500;
}
/* 各賞ブロック共通 */
.result-award-block {
    margin-top: 60px;
}

/* 賞タイトル画像 */
.result-award-ttl {
    text-align: center;
    margin-bottom: 30px;
}

.result-award-ttl img {
    max-width: 500px;
    width: 100%;
}

/* ----------------------------------------
   作品カード共通
---------------------------------------- */
.result-card {
    display: flex;
    gap: 0;
    background: #fff;
    border-radius: 0;
    outline: 7px solid #000;
    box-shadow: 15px 15px 0px  rgba(0, 0, 0, 0.2);
    overflow: visible;
    margin-bottom: 50px;
}

/* ----------------------------------------
   1列レイアウト（優秀賞・佳作）
   左：書影＋ボタン  右：テキスト群
---------------------------------------- */
.result-card--1col {
    padding: 20px;
    gap: 24px;
    align-items: flex-start;
}

/* 左カラム：書影＋ボタン */
.result-card--1col .result-card__left {
    flex-shrink: 0;
    width: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

/* 書影エリア（余白付き枠） */
.result-card--1col .result-card__thumb {
    width: 100%;
    background: #ccc;
    line-height: 0;
    border: 1px solid #ddd;
}

.result-card--1col .result-card__thumb img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
	outline: 1px solid #b6b6b6;
}

/* ボタン */
.result-card--1col .result-card__btn {
    width: 100%;
    line-height: 0;
    margin: 0;
}

.result-card--1col .result-card__btn a {
    display: block;
}

.result-card--1col .result-card__btn img {
    width: 100%;
}

/* 右カラム：テキスト群 */
.result-card--1col .result-card__body {
    flex: 1;
    padding: 4px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* タイトル */
.result-card__title {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.4;
}

/* 著者名 */
.result-card__genre {
    font-size: 1.5rem;
    font-weight: 700;
    color: #333;
}

/* あらすじ */
.result-card__desc {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.7;
    color: #333;
}

/* 応募名義（2列カード用に残す） */
.result-card__author {
    font-size: 1.4rem;
    font-weight: 500;
    color: #555;
}

/* 川島さん講評見出し */
.result-card__review-ttl {
    font-size: 1.6rem;
    font-weight: 700;
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid #ddd;
}

/* 川島さん講評本文 */
.result-card__review {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.7;
    color: #333;
}

/* ----------------------------------------
   2列グリッドレイアウト（期待賞・努力賞）
---------------------------------------- */
.result-card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
}
.result-card--2col {
    flex-direction: row;
    margin-bottom: 0;
    padding: 12px;
    gap: 14px;
    align-items: flex-start;
}

.result-card--2col .result-card__thumb {
    flex-shrink: 0;
    width: 100px;
    min-height: 130px;
    background: #ccc;
    line-height: 0;
}

.result-card--2col .result-card__thumb img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
	outline: 1px solid #b6b6b6;
}

.result-card--2col .result-card__body {
    flex: 1;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.result-card--2col .result-card__title {
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.4;
}

/* フッターバナー */
.result-footer-banner {
    text-align: center;
    margin-top: 60px;
}

.result-footer-banner img {
    max-width: 700px;
    width: 100%;
}


/* ============================================================
   SPレスポンシブ対応
   ============================================================ */

@media screen and (max-width: 899px) {

    .section-result {
        padding-top: 100px;
        margin-top: 80px;
    }
 
    .result-main-ttl {
        margin-top: -150px;
    }
 
    .result-main-ttl img {
        max-width: 90%;
    }

    .result-summary img,
    .result-special img {
        max-width: 95%;
    }
	
	.result-special img {
        max-width: 95%;
    }
 
    .result-special__texts {
        max-width: 95%;
        padding: 0;
    }
 
    .result-special__name {
        font-size: calc((27 / 550) * 100vw);
    }
 
    .result-special__name-sub {
        display: block;
        padding-left: 0;
        font-size: calc((15 / 550) * 100vw);
    }
 
    .result-special__text {
        font-size: calc((22 / 550) * 100vw);
    }
 
    .result-special__catch {
        font-size: calc((32 / 550) * 100vw);
    }
    .result-award-ttl img {
        max-width: 80%;
    }

    /* 1列カード（優秀賞・佳作）: 書影 → ボタン → テキストの縦積み */
    .result-card--1col {
        flex-direction: column;
        padding: 20px;
        gap: 14px;
    }

    .result-card--1col .result-card__left {
        width: 100%;
        flex-direction: column;  /* 書影とボタンも縦並びに */
        align-items: flex-start;
        gap: 18px;
    }

    .result-card--1col .result-card__thumb {
        width: 100%;             /* 書影を横幅いっぱいに */
        flex-shrink: unset;
    }

	.result-card--1col .result-card__btn {
        text-align: center;
    }

    .result-card--1col .result-card__btn img {
        width: 80%;
    }
    .result-card--1col .result-card__body {
        width: 100%;
    }

    .result-card__title {
        font-size: calc((32 / 640) * 100vw);
    }

    .result-card__desc,
    .result-card__genre,
    .result-card__author {
        font-size: calc((26 / 640) * 100vw);
    }

    /* 2列グリッド（期待賞・努力賞）: 1列に変更 */
    .result-card-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .result-card--2col .result-card__thumb {
        width: 100px;
        min-height: 130px;
    }

    .result-card--2col .result-card__title {
        font-size: calc((24 / 640) * 100vw);
    }

    .result-card--2col .result-card__author {
        font-size: calc((20 / 640) * 100vw);
    }

    .result-footer-banner img {
        max-width: 95%;
    }
}


/* レスポンシブ対応 */
@media (max-width: 600px) {
    .senkoh-container {
        padding: 24px;
    }
	.senkoh-title{
        font-size: 30px;
		margin-top: 40px;
	
	}
	.senkoh-footer{
        font-size: 24px;
    }

    .senkoh-th,
    .senkoh-td {
        padding: 8px;
        font-size: 14px;
    }
}
.font-color-red{
	color:#FF0004;
}

/*アコーディオン開閉*/
@media (min-width: 576px) {
  .accordion {
    padding-right: 48px;
    padding-left: 48px;
  }
}
@media (max-width: 575px) {
  .accordion {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.accordion summary {
  list-style: none;
}
@media (min-width: 576px) {
  .accordion summary {
    padding-top: 10px;
    padding-right: 24px;
    padding-bottom: 10px;
  }
}
.accordion .wrapper {
  margin-inline: auto;
}
@media (min-width: 1080px) {
  .accordion .wrapper {
    width: min(100%, 108rem);
  }
}
@media (min-width: 576px) {
  .accordion_block:not(:first-of-type) {
    margin-top: 20px;
  }
}
@media (max-width: 575px) {
  .accordion_block:not(:first-of-type) {
    margin-top: 12px;
  }
}
.accordion_block[open] summary::before {
  transform: rotate(90deg);
}
.accordion_block[open] .content {
  max-height: 100%;
  opacity: 1;
  visibility: visible;
}
.accordion_block summary {
  position: relative;
  background-color: #3fa5ce;
  color: #fff;
}
@media (min-width: 576px) {
  .accordion_block summary {
    padding-left: 40px;
    font-size: 20px;
    line-height: 1.56;
  }
}
@media (max-width: 575px) {
  .accordion_block summary {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 36px;
    line-height: 1.385;
  }
}
@media (max-width: 575px) {
  .accordion_block summary {
    font-size: 16px;
  }
}
.accordion_block summary::before {
  display: inline-block;
  position: absolute;
  left: 0;
  aspect-ratio: 1/1;
  height: auto;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 55%);
          clip-path: polygon(0 0, 0% 100%, 100% 55%);
  background-color: #fff;
  content: "";
  transition: transform ease 0.4s;
}
@media (min-width: 576px) {
  .accordion_block summary::before {
    top: 16px;
    left: 16px;
    width: 16px;
  }
}
@media (max-width: 575px) {
  .accordion_block summary::before {
    top: 15px;
    left: 12px;
    width: 12px;
  }
}
.accordion .content {
  transition: max-height ease 0.5s;
  background-color: #f3f3f3;
}
@media (min-width: 576px) {
  .accordion .content {
    padding: 20px 32px 28px 32px;
  }
}
@media (max-width: 575px) {
  .accordion .content {
    padding: 16px min(2.6666666667%, 2rem);
  }
}
@media (min-width: 1080px) {
  .accordion .content:not(:first-of-type) {
    margin-top: 9rem;
  }
}
@media (min-width: 576px) {
  .accordion .content p {
    font-size: 18px;
    line-height: 1.75;
  }
}
@media (max-width: 575px) {
  .accordion .content p {
    font-size: 16px;
    line-height: 1.5;
  }
}