/*--------------------------------------------------*/
/* 基本 */
/*--------------------------------------------------*/

@media (min-width: 768px) {
	.cms-page .container {
		max-width: 1100px;
	}
}

/*--------------------------------------------------*/
/* タブ */
/*--------------------------------------------------*/

.tab-wrap {
	max-width: 1000px;
	margin: 0 auto;
}
.tab-wrap .tabs {
	margin-bottom: 25px;
}
.tab-wrap .tabs ul {
	display: flex;
}
.tab-wrap .tabs ul li {
	display: flex;
	width: 12.5%;
}
.tab-wrap .tabs-topics ul li {
	width: 20%;
}
.tab-wrap .tabs ul li .tab {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background-color: #ffffff;
	color: var(--basic);
	width: 100%;
	min-height: 70px;
	cursor: pointer;
	font-weight: 500;
	line-height: 1.2;
	padding: 5px;
	transition: 0.3s;
}
.tab-wrap .tabs ul li .tab:focus-visible,
.tab-wrap .tabs ul li .tab:hover,
.tab-wrap .tabs ul li .tab.active {
	background-color: #FFF6F5;
}
.tab-wrap .tabs ul li .tab:focus-visible::after,
.tab-wrap .tabs ul li .tab:hover::after,
.tab-wrap .tabs ul li .tab.active::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	width: 100%;
	height: 4px;
	background-color: var(--red);
}
.tab-wrap .tab-content {
	display: none;
	width: 100%;
}
.tab-wrap .tab-content.active {
	display: block;
}
@media (min-width: 768px) {
	.tab-wrap .tabs ul {
		border: 1px solid #E3E3E3;
	}
	.tab-wrap .tabs ul li {
		border-right: 1px solid #E3E3E3;
	}
	.tab-wrap .tabs ul li:last-child {
		border: none;
	}
}
@media (max-width: 991px) {
	.tab-wrap .tabs ul li .tab {
		font-size: var(--font-14);
	}
}
@media (max-width: 767px) {
	.tab-wrap {
		margin: 0 -10px;
	}
	.tab-wrap .tabs {
		margin-bottom: 20px;
	}
	.tab-wrap .tabs ul {
		flex-wrap: wrap;
		border-left: 1px solid #E3E3E3;
		border-top: 1px solid #E3E3E3;
	}
	.tab-wrap .tabs ul li {
		width: 50%;
		border-right: 1px solid #E3E3E3;
		border-bottom: 1px solid #E3E3E3;
	}
	.tab-wrap .tabs ul li:first-child {
		width: 100%;
	}
	.tab-wrap .tabs ul li .tab {
		min-height: 52px;
	}
}

/*--------------------------------------------------*/
/* タブ内コンテンツ */
/*--------------------------------------------------*/

.tab-wrap .tab-content > ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.tab-wrap .tab-content > ul > li {
	display: flex;
	width: 33.33%;
	padding: 0 10px;
	margin-bottom: 20px;
}
.tab-wrap .tab-content .card-wrap {
	position: relative;
	display: block;
	width: 100%;
	border: 1px solid #E3E3E3;
	background-color: #ffffff;
}
.tab-wrap .tab-content .card-wrap .thum-wrap {
	position: relative;
	aspect-ratio: 8 / 5;
}
.tab-wrap .tab-content .card-wrap .thum-wrap img {
	transition: 0.3s;
}
.tab-wrap .tab-content .card-wrap .txt-wrap {
	padding: 15px 20px;
}
.tab-wrap .tab-content .card-wrap .txt-wrap .date {
	font-size: var(--font-14);
}
.tab-wrap .tab-content .card-wrap .txt-wrap .title {
	font-size: var(--font-16);
	font-weight: 500;
	line-height: 1.6;
	margin: 5px 0 0 0;
}
.tab-wrap .tab-content .card-wrap .cat-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding: 5px 15px 25px 20px;
}
.tab-wrap .tab-content .card-wrap .cat-wrap .category {
	border-radius: 30px;
	border: 1px solid var(--red);
	color: var(--red);
	font-size: var(--font-14);
	font-weight: 700;
	padding: 0 15px;
}
.tab-wrap .tab-content .card-wrap .cat-wrap .more {
	display: flex;
	align-items: center;
	font-size: var(--font-14);
	font-weight: 500;
	color: #747474;
}
.tab-wrap .tab-content .card-wrap .cat-wrap .more::after {
	font-family: "Material Symbols Sharp";
	content: "\e941";
	font-size: 20px;
	font-weight: 300;
}
@media (min-width: 768px) {
	.tab-wrap .tab-content .card-wrap {
		padding-bottom: 70px;
	}
	.tab-wrap .tab-content .card-wrap:hover .thum-wrap img {
		scale: 1.1;
	}
	.tab-wrap .tab-content .card-wrap .cat-wrap {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
	}
}
@media (max-width: 991px) {
	.tab-wrap .tab-content > ul > li {
		width: 50%;
	}
}
@media (max-width: 767px) {
	.tab-wrap .tab-content > ul > li {
		width: 100%;
	}
}

.tab-wrap .tab-content .card-wrap .thum-wrap .label {
	position: absolute;
	left: 0;
	top: 0;
	font-size: var(--font-14);
	font-weight: 500;
	line-height: 1.4;
	color: #ffffff;
	background-repeat: no-repeat;
	background-position: left 10px center;
	background-size: 16px;
	padding: 5px 10px 5px 30px;
	z-index: 1;
}
.tab-wrap .tab-content .card-wrap .thum-wrap img {
	position: relative;
	z-index: 0;
}

/* task */
.tab-wrap .tab-content .card-task .thum-wrap .recruiting {
	background-color: #007AC6;
	background-image: url("../img/common/label-01.png");
}
.tab-wrap .tab-content .card-task .thum-wrap .ongoing {
	background-color: #01865B;
	background-image: url("../img/common/label-02.png");
}
.tab-wrap .tab-content .card-task .thum-wrap .completed {
	background-color: var(--red);
	background-image: url("../img/common/label-03.png");
}
.tab-wrap .tab-content .card-task .thum-wrap .txt {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: var(--font-24);
	font-weight: 700;
	line-height: 1.4;
	color: #ffffff;
	padding: 20px;
}

/* post */
.tab-wrap .tab-content .card-post .thum-wrap .accepting {
	background-color: #007AC6;
	background-image: url("../img/common/label-04.png");
}
.tab-wrap .tab-content .card-post .thum-wrap .ended {
	background-color: var(--red);
	background-image: url("../img/common/label-05.png");
}
.tab-wrap .tab-content .card-post .thum-wrap .archived {
	background-color: var(--red);
	background-image: url("../img/common/label-03.png");
}
.tab-wrap .tab-content .card-post .thum-wrap .activity-report {
	background-color: #01865B;
	background-image: url("../img/common/label-06.png");
}

/* .btn */
.tab-wrap .btn {
	margin: 30px auto 0 auto;
}
@media (min-width: 768px) {
	.tab-wrap .tab-content ul li .card-wrap .link-wrap a:focus-visible,
	.tab-wrap .tab-content ul li .card-wrap .link-wrap a:hover {
		
	}
	.tab-wrap .tab-content ul li .card-wrap .link-wrap a:focus-visible::after,
	.tab-wrap .tab-content ul li .card-wrap .link-wrap a:hover::after {
		
	}
}
@media (max-width: 767px) {
	.tab-wrap .btn {
		margin-top: 15px;
	}
}

/*--------------------------------------------------*/
/* .pagination-wrap */
/*--------------------------------------------------*/

.pagination-wrap {
	font-size: var(--font-14);
	line-height: 1.4;
}
.custom-pagination {
	display: flex;
	align-items: center;
	width: fit-content;
	margin: 30px auto 0 auto;
}
.custom-pagination button:disabled {
	color: inherit;
	opacity: 1;
}
.custom-pagination .prev,
.custom-pagination .next {
	position: relative;
}
.custom-pagination .prev {
	margin-right: 20px;
}
.custom-pagination .next {
	margin-left: 20px;
}
.custom-pagination .prev > .nav-arrow,
.custom-pagination .next > .nav-arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	border: 1px solid var(--basic);
	background-color: #ffffff;
	color: var(--basic);
	transition: 0.3s;
}
.custom-pagination .prev > .nav-text,
.custom-pagination .next > .nav-text {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: calc(100% + 5px);
	width: 2em;
}
.custom-pagination .pagination-info {
	margin: 0 20px 0 5px;
}
.custom-pagination .page-numbers-wrap {
	display: flex;
	align-items: center;
}
.custom-pagination .page-numbers-wrap > * {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid var(--basic);
	background-color: #ffffff;
	color: var(--basic);
	margin: 0 5px;
	transition: 0.3s;
}
.custom-pagination .page-numbers-wrap > *.current {
	background-color: var(--basic);
	color: #ffffff;
}
@media (min-width: 768px) {
	.custom-pagination .prev:hover > .nav-arrow,
	.custom-pagination .next:hover > .nav-arrow,
	.custom-pagination .page-numbers-wrap > *:hover {
		background-color: var(--basic);
		color: #ffffff;
	}
}
@media (max-width: 767px) {
	.pagination-wrap {
		margin-right: -10px;
		margin-left: -10px;
	}
	.custom-pagination .prev > .nav-arrow,
	.custom-pagination .next > .nav-arrow {
		width: 32px;
		height: 32px;
	}
	.custom-pagination .pagination-info {
		margin-right: 10px;
	}
	.custom-pagination .page-numbers-wrap > * {
		width: 25px;
		height: 25px;
	}
}

/*--------------------------------------------------*/
/* .cms-page */
/*--------------------------------------------------*/

.cms-page .page-body .section-first {
	padding-bottom: 0;
}

/* .btn-wrap */
.cms-page .page-body .btn-wrap {
	padding: 160px 0;
	margin: 0;
}
.cms-page .page-body .btn-wrap .btn {
	margin: 0 auto;
}
.cms-single-page .page-body .btn-wrap .btn {
	min-height: 85px;
}
.achievements-single-page .page-body .btn-wrap .btn {
	min-height: auto;
}
@media (min-width: 768px) {
	.cms-page .page-body .btn-wrap {
		display: flex;
		justify-content: center;
		margin: 0 -10px;
	}
	.cms-single-page .page-body .btn-wrap .btn {
		margin: 0 10px;
	}
}
@media (max-width: 767px) {
	.cms-page .page-body .btn-wrap {
		padding: 100px 0;
	}
	.cms-page .page-body .btn-wrap .btn {
		margin: 0 auto;
	}
	.cms-page .page-body .btn-wrap > .btn + .btn {
		margin-top: 20px;
	}
}

/*--------------------------------------------------*/
/* .cms-index-page */
/*--------------------------------------------------*/

.cms-index-page .tab-wrap .tab-content {
	display: block;
}

/*--------------------------------------------------*/
/* .cms-single-page */
/*--------------------------------------------------*/

.cms-single-page .page-body {
	padding-top: 80px;
}
@media (max-width: 767px) {
	.cms-single-page .page-body {
		padding-top: 50px;
	}
	.cms-single-page .page-body .container {
		padding: 0 30px;
	}
}

/* .entry-header */
.cms-single-page .entry-header .category {
	width: fit-content;
	border-radius: 30px;
	border: 1px solid var(--red);
	color: var(--red);
	font-size: var(--font-14);
	font-weight: 700;
	padding: 0 15px;
}
.cms-single-page .entry-header .article-title {
	font-size: var(--font-32);
	border-bottom: 1px solid #E3E3E3;
	padding-bottom: 20px;
	margin: 10px 0 20px 0;
}
.cms-single-page .entry-header .date {
	text-align: right;
	color: #747474;
}
.cms-single-page .entry-header .img-wrap {
	margin-top: 100px;
}
@media (max-width: 767px) {
	.cms-single-page .entry-header .article-title {
		font-size: var(--font-22);
		padding: 0 30px 15px 30px;
		margin: 10px -30px 15px -30px;
	}
	.cms-single-page .entry-header .date {
		font-size: var(--font-14);
		text-align: left;
	}
	.cms-single-page .entry-header .img-wrap {
		margin-top: 50px;
	}
}

/* .entry-body */
.cms-single-page .entry-body {
	line-height: 1.8;
	padding-top: 90px;
}
.cms-single-page .entry-body h2 {
	font-size: var(--font-32);
	color: var(--red);
	margin: 90px 0 30px 0;
}
.cms-single-page .entry-body h3 {
	font-size: var(--font-24);
	margin: 70px 0 20px 0;
}
.cms-single-page .entry-body h4 {
	font-size: var(--font-20);
	color: #747474;
	margin: 40px 0 20px 0;
}
.cms-single-page .entry-body ul li::marker {
	color: var(--red);
}
.cms-single-page .entry-body a:not([class]) {
	font-weight: 500;
	text-decoration: underline;
	color: var(--red);
}
/* 記事内（例：.entry-content）の target="_blank" が付いたaタグ */
.cms-single-page .entry-body a:not([class])[target="_blank"]::after {
	font-family: "Material Symbols Sharp"; /* 以前設定したGoogle Icon */
	content: "\e89e"; /* 外部リンク用のアイコンコード */
	vertical-align: middle;
	font-size: 110%;
	font-weight: 300;
	line-height: 1.4;
}
.cms-single-page .entry-body blockquote {
	background-color: #FAFAFA;
	padding: 50px;
	margin: 3em 0;
}
.cms-single-page .entry-body blockquote > *:last-child {
	margin-bottom: 0;
}
.cms-single-page .entry-body .btn {
	margin: 6em auto;
}
.cms-single-page .entry-body .row {
	margin: 3em -10px;
}
.cms-single-page .entry-body .row > * {
	padding: 0 10px;
}
.cms-single-page .entry-body .row figure {
	display: block;
	margin: 0;
}
.cms-single-page .entry-body .row figcaption {
	font-size: var(--font-14);
	line-height: 1.6;
	margin-top: 10px;
}
.cms-single-page .entry-body .row figcaption > *:last-child {
	margin-bottom: 0;
}
.cms-single-page .entry-body .table-wrap {
	margin: 3em 0;
}
.cms-single-page .entry-body .table-wrap > p {
	font-size: var(--font-14);
	line-height: 1.6;
	margin-top: 10px;
}
.cms-single-page .entry-body .basic-table {
	border-top: 1px solid #E3E3E3;
	width: 100%;
}
.cms-single-page .entry-body .basic-table th,
.cms-single-page .entry-body .basic-table td {
	vertical-align: middle;
	border-bottom: 1px solid #E3E3E3;
	padding: 20px 20px;
}
.cms-single-page .entry-body .basic-table th {
	font-weight: 600;
	background-color: #FFF6F5;
	width: 25%;
}
.cms-single-page .entry-body .simple-table {
	border-left: 1px solid #E3E3E3;
	border-top: 1px solid #E3E3E3;
	width: 100%;
}
.cms-single-page .entry-body .simple-table th,
.cms-single-page .entry-body .simple-table td {
	vertical-align: middle;
	border-right: 1px solid #E3E3E3;
	border-bottom: 1px solid #E3E3E3;
	padding: 30px 30px;
}
.cms-single-page .entry-body .simple-table th {
	background-color: #FFF6F5;
	border-right: none;
	font-weight: 600;
	text-align: center;
	width: 32%;
}
.cms-single-page .entry-body table td > * {
	margin: 0;
}
@media (min-width: 768px) {
	.cms-single-page .entry-body a:not([class]):hover {
		text-decoration-thickness: 2px;
	}
}
@media (max-width: 767px) {
	.cms-single-page .entry-body {
		padding-top: 50px;
	}
	.cms-single-page .entry-body h2 {
		font-size: var(--font-22);
		margin: 60px 0 30px 0;
	}
	.cms-single-page .entry-body h3 {
		font-size: var(--font-20);
		margin: 40px 0 20px 0;
	}
	.cms-single-page .entry-body h4 {
		font-size: var(--font-18);
		margin: 30px 0 15px 0;
	}
	.cms-single-page .entry-body blockquote {
		padding: 30px;
		margin: 2em 0;
	}
	.cms-single-page .entry-body .table-wrap {
		margin: 2em -10px;
	}
	.cms-single-page .entry-body .btn {
		margin: 3em auto;
	}
	.cms-single-page .entry-body .row {
		margin: 2em -20px;
	}
	.cms-single-page .entry-body .row > * + * {
		margin-top: 30px;
	}
	.cms-single-page .entry-body .sp-block-table th,
	.cms-single-page .entry-body .sp-block-table td {
		display: block;
		width: 100%;
		padding: 10px 20px;
	}
	.cms-single-page .entry-body .sp-block-table td {
		padding-bottom: 20px;
	}
	.cms-single-page .entry-body .simple-table {
		border-left: none;
	}
	.cms-single-page .entry-body .simple-table td {
		border-right: none;
	}
}

/* 調整 */
.cms-single-page .entry-body > h2,
.cms-single-page .entry-body > h3,
.cms-single-page .entry-body > h4,
.cms-single-page .entry-body > p,
.cms-single-page .entry-body > ul,
.cms-single-page .entry-body > ol,
.cms-single-page .entry-body > blockquote {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}
.cms-single-page .entry-body > *:first-child {
	margin-top: 0;
}
.cms-single-page .entry-body > *:last-child {
	margin-bottom: 0;
}

/*--------------------------------------------------*/
/* .theme-page */
/*--------------------------------------------------*/

.theme-page .page-body .section-first {
	padding-bottom: 0;
}

/* .btn-wrap */
.theme-page .page-body .btn-wrap {
	padding: 160px 0;
	margin: 0;
}
.theme-page .red-wrap:has(.proposal-dl.theme) {
	margin-top: 160px;
}
@media (min-width: 768px) {
	.theme-page .page-body .btn-wrap {
		display: flex;
		justify-content: center;
		margin: 0 -10px;
	}
	.theme-page .page-body .btn-wrap .btn {
		margin: 0 10px;
	}
}
@media (max-width: 767px) {
	.theme-page .red-wrap:has(.proposal-dl.theme) {
		margin-top: 100px;
	}
	.theme-page .page-body .btn-wrap {
		padding: 100px 0;
	}
	.theme-page .page-body .btn-wrap > .btn {
		margin: 0 auto;
	}
	.theme-page .page-body .btn-wrap > .btn + .btn {
		margin-top: 20px;
	}
}

/*--------------------------------------------------*/
/* .theme-index-page */
/*--------------------------------------------------*/

.theme-index-page .tab-wrap .tab-content {
	display: block;
}

/*--------------------------------------------------*/
/* .theme-single-page */
/*--------------------------------------------------*/

.theme-single-page .page-body {
	line-height: 1.8;
}
@media (max-width: 767px) {
	.theme-single-page .container {
		padding: 0 20px;
	}
}

/* .entry-header */
.theme-single-page .entry-header {
	position: relative;
	background-color: #FAFAFA;
	padding-top: 80px;
}
.theme-single-page .entry-header > * {
	position: relative;
	z-index: 1;
}
.theme-single-page .entry-header .mv-wrap {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 600px;
	z-index: 0;
}
.theme-single-page .entry-header .container {
	max-width: 100%;
}
.theme-single-page .entry-header .white-wrap {
	max-width: 1500px;
	background-color: #ffffff;
	box-shadow: 0 3px 15px rgba(0,0,0,0.05);
	padding: 100px 50px;
	margin: 0 auto;
	overflow: hidden;
}
.theme-single-page .entry-header .inner {
	max-width: 1000px;
	margin: 0 auto;
}
.theme-single-page .entry-header .row-wrap {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -20px;
}
.theme-single-page .entry-header .row-wrap > * {
	padding: 0 20px;
}
.theme-single-page .entry-header .col-img .img-wrap {
	aspect-ratio: 8 / 5;
}
.theme-single-page .entry-header .category {
	width: fit-content;
	border-radius: 30px;
	border: 1px solid var(--red);
	color: var(--red);
	font-size: var(--font-14);
	font-weight: 700;
	padding: 0 15px;
}
.theme-single-page .entry-header .title-wrap {
	border-bottom: 1px solid #E3E3E3;
	padding-bottom: 15px;
	margin: 20px 0;
}
.theme-single-page .entry-header .title-wrap .red {
	font-size: var(--font-14);
	font-weight: 700;
}
.theme-single-page .entry-header .title-wrap .article-title {
	font-size: var(--font-32);
	margin: 5px 0 0 0;
}
.theme-single-page .entry-header .info {
	color: #747474;
}
.theme-single-page .entry-header .line-title {
	font-size: var(--font-24);
	margin-top: 50px;
	margin-bottom: 20px;
}
.theme-single-page .entry-header .line-grad p {
	font-size: var(--font-24);
	font-weight: 700;
	line-height: 1.6;
}
@media (min-width: 768px) {
	.theme-single-page .entry-header .col-img {
		order: 1;
		width: 42.5%;
	}
	.theme-single-page .entry-header .col-txt {
		width: 57.5%;
	}
}
@media (max-width: 767px) {
	.theme-single-page .entry-header {
		padding-top: 50px;
	}
	.theme-single-page .entry-header .white-wrap {
		padding: 20px 20px 50px 20px;
	}
	.theme-single-page .entry-header .col-img {
		margin-bottom: 40px;
	}
	.theme-single-page .entry-header .title-wrap {
		margin-bottom: 15px;
	}
	.theme-single-page .entry-header .title-wrap .article-title {
		font-size: var(--font-22);
	}
	.theme-single-page .entry-header .info {
		font-size: var(--font-14);
	}
	.theme-single-page .entry-header .line-grad::after {
		width: 65px;
	}
	.theme-single-page .entry-header .line-title {
		font-size: var(--font-20);
	}
	.theme-single-page .entry-header .line-grad p {
		font-size: var(--font-20);
	}
}

/* .section */
.theme-single-page .section .border-title {
	position: relative;
	font-size: var(--font-22);
	color: var(--red);
	padding-bottom: 20px;
	margin: 80px 0 30px 0;
}
.theme-single-page .section .border-title::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	width: 100px;
	height: 2px;
	background-color: var(--red);
}
.theme-single-page .section-01 {
	background-color: #FAFAFA;
	padding: 120px 0 80px 0;
}
.theme-single-page .section-02 {
	padding-top: 80px;
}
.theme-single-page .section-01 .row {
	margin: 0 -2.5px 30px -2.5px;
}
.theme-single-page .section-01 .row > * {
	display: flex;
	padding: 0 2.5px;
}
.theme-single-page .section .white-wrap {
	width: 100%;
	background-color: #ffffff;
	padding: 50px;
}
.theme-single-page .section .white-wrap + .white-wrap {
	margin-top: 5px;
}
.theme-single-page .section .white-wrap .title {
	font-size: var(--font-20);
	color: var(--red);
	margin: 0 0 15px 0;
}
.theme-single-page .section .row .white-wrap {
	text-align: center;
}
.theme-single-page .section .row .white-wrap .title {
	margin-top: 15px;
}
.theme-single-page .section .row .white-wrap p {
	text-align: left;
}
.theme-single-page .section ul li::marker {
	color: var(--red);
}
.theme-single-page .section a:not([class]) {
	font-weight: 500;
	text-decoration: underline;
	color: var(--red);
}
.theme-single-page .section a:not([class])[target="_blank"]::after {
	font-family: "Material Symbols Sharp"; /* 以前設定したGoogle Icon */
	content: "\e89e";
	vertical-align: middle;
	font-size: 110%;
	font-weight: 300;
	line-height: 1.4;
}
.theme-single-page .section .white-wrap > *:last-child {
	margin-bottom: 0;
}
@media (min-width: 768px) {
	.theme-single-page .section a:not([class]):hover {
		text-decoration-thickness: 2px;
	}
}
@media (max-width: 767px) {
	.theme-single-page .section-01 {
		padding: 65px 0 50px 0;
	}
	.theme-single-page .section .white-wrap {
		padding: 40px 20px;
	}
	.theme-single-page .section .border-title {
		font-size: var(--font-18);
		padding-bottom: 15px;
		margin: 65px 0 15px 0;
	}
	.theme-single-page .section-01 .row {
		margin-bottom: 25px;
	}
	.theme-single-page .section-01 .row > * + * {
		margin-top: 5px;
	}
	
}

/* .basic-table */
.theme-single-page .page-body .basic-table {
	border-top: 1px solid #E3E3E3;
}
.theme-single-page .page-body .basic-table th,
.theme-single-page .page-body .basic-table td {
	vertical-align: top;
	border-bottom: 1px solid #E3E3E3;
	padding: 20px 20px;
}
.theme-single-page .page-body .basic-table th {
	font-weight: 600;
	vertical-align: middle;
	background-color: #FFF6F5;
	width: 25%;
}
.theme-single-page .page-body .sp-block-table td .td-title {
	font-size: var(--font-16);
	font-weight: 500;
	line-height: 1.8;
	margin: 0;
}
.theme-single-page .page-body .sp-block-table td > *:last-child {
	margin-bottom: 0;
}
@media (max-width: 767px) {
	.theme-single-page .page-body .sp-block-table th,
	.theme-single-page .page-body .sp-block-table td {
		display: block;
		width: 100%;
		padding: 10px 20px;
	}
	.theme-single-page .page-body .sp-block-table td {
		padding-bottom: 20px;
	}
}

/* .swiper-galleryp */
.theme-single-page .swiper-gallery .thum a {
	aspect-ratio: 5 / 3;
	border: 1px solid #E3E3E3;
}
.theme-single-page .swiper-gallery .thum a img {
	object-fit: contain;
	object-position: 50% 50%;
	width: 100%;
	height: 100%;
}
@media (max-width: 767px) {
	.theme-single-page .gallery-wrap {
		overflow: hidden;
	}
	.theme-single-page .swiper-wrap {
		margin: 0 0 70px 0;
	}
	.theme-single-page .swiper-wrap .swiper-button-prev {
		left: 0;
		top: calc(100% + 20px);
	}
	.theme-single-page .swiper-wrap .swiper-button-next {
		right: 0;
		top: calc(100% + 20px);
	}
	.theme-single-page .swiper-wrap .swiper-nav {
		top: calc(100% - 10px);
		padding: 0 50px;
	}
}

/* モーダル */
.theme-single-page .swiper-slide .thum a {
	display: block;
	cursor: zoom-in; /* 虫眼鏡アイコンになります */
	transition: opacity 0.3s;
}
.theme-single-page .swiper-slide .thum a:hover {
	opacity: 0.8;
}

@media (max-width: 767px) {
	.theme-single-page .red-wrap {
		margin: 100px auto 0 auto;
	}
}

/* .closed-wrap */
.theme-single-page .closed-wrap {
	background-color: #FFF6F5;
	padding: 30px 20px;
	margin-bottom: 50px;
}
.theme-single-page .closed-wrap .txt {
	position: relative;
	font-size: var(--font-24);
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	width: fit-content;
	margin: 0 auto;
	padding: 0 0.2em 0 1.4em;
}
.theme-single-page .closed-wrap .txt::before {
	position: absolute;
	left: 0;
	top: 0;
	font-family: "Material Symbols Sharp";
	content: "\e5ca";
	font-size: 110%;
	vertical-align: middle;
	margin-right: 0.2em;
}
@media (max-width: 767px) {
	.theme-single-page .closed-wrap {
		padding: 15px 20px;
		margin: 20px 0 40px 0;
	}
	.theme-single-page .closed-wrap .txt {
		font-size: var(--font-20);
	}
}

/*--------------------------------------------------*/
/* 共創パートナー・アクセラレーターのご紹介 */
/*--------------------------------------------------*/

.co-creation-card-wrap ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
}
.co-creation-card-wrap ul li {
	width: 25%;
	padding: 0 15px;
	display: flex;
	margin-bottom: 30px;
}
.co-creation-card-wrap .thum-wrap {
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	box-shadow: 0 3px 15px rgba(0,0,0,0.05);
	line-height: 1.4;
	width: 100%;
	text-align: left;
	letter-spacing: 0.02em;
}
.co-creation-card-wrap .thum-wrap > * {
	width: 100%;
}
.co-creation-card-wrap .thum {
	aspect-ratio: 4 / 5;
}
.co-creation-card-wrap .txt {
	background-color: #ffffff;
	color: var(--basic);
	padding: 20px 20px 40px 20px;
}
.co-creation-card-wrap .txt .company_name {
	font-size: var(--font-14);
	font-weight: 600;
	color: var(--red);
	margin-bottom: 5px;
}
.co-creation-card-wrap .txt .job_title {
	font-size: var(--font-12);
	font-weight: 600;
	color: #747474;
}
.co-creation-card-wrap .txt .name {
	font-weight: 500;
	border-top: 1px solid #E3E3E3;
	margin-top: 15px;
	padding-top: 15px;
}
.co-creation-card-wrap .tap-txt {
	font-size: 14px;
}
@media (min-width: 576px) {
	.co-creation-card-wrap .thum-wrap {
		cursor: auto;
	}
}
@media (max-width: 991px) {
	.co-creation-card-wrap ul li {
		width: 33.33%;
	}
}
@media (max-width: 767px) {
	.co-creation-card-wrap ul {
		margin: 0 -5px;
	}
	.co-creation-card-wrap ul li {
		width: 50%;
		padding: 0 5px;
		margin-bottom: 10px;
	}
}
@media (max-width: 575px) {
	.co-creation-card-wrap {
		margin: 0 -10px;
	}
	.co-creation-card-wrap .txt {
		padding: 15px 10px 15px 10px;
	}
	.co-creation-card-wrap .txt .company_name {
		font-size: var(--font-10);
	}
	.co-creation-card-wrap .txt .job_title {
		font-size: var(--font-10);
	}
	.co-creation-card-wrap .txt .name {
		font-size: var(--font-12);
		padding-top: 10px;
	}
}

/*--------------------------------------------------*/
/* 川崎市担当職員 */
/*--------------------------------------------------*/

.kawasaki-staff-card-wrap ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
}
.kawasaki-staff-card-wrap ul li {
	width: 25%;
	padding: 0 15px;
	display: flex;
	margin-bottom: 25px;
}
.kawasaki-staff-card-wrap .thum-wrap {
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	box-shadow: 0 3px 15px rgba(0,0,0,0.05);
	line-height: 1.4;
	width: 100%;
	text-align: left;
	letter-spacing: 0.02em;
}
.kawasaki-staff-card-wrap .thum-wrap > * {
	width: 100%;
}
.kawasaki-staff-card-wrap .thum {
	aspect-ratio: 4 / 5;
}
.kawasaki-staff-card-wrap .txt {
	background-color: #ffffff;
	color: var(--basic);
	padding: 20px 20px 40px 20px;
}
.kawasaki-staff-card-wrap .txt .staff_type {
	font-size: var(--font-12);
	font-weight: 600;
	color: var(--red);
}
.kawasaki-staff-card-wrap .txt .staff_name {
	font-weight: 500;
	border-bottom: 1px solid #E3E3E3;
	margin: 25px 0 10px 0;
	padding-bottom: 10px;
}
.kawasaki-staff-card-wrap .txt .staff_info {
	font-size: var(--font-14);
	color: #747474;
}
.kawasaki-staff-card-wrap .tap-txt {
	font-size: 14px;
}
@media (max-width: 991px) {
	.kawasaki-staff-card-wrap ul li {
		width: 33.33%;
	}
}
@media (max-width: 767px) {
	.kawasaki-staff-card-wrap ul {
		margin: 0 -5px;
	}
	.kawasaki-staff-card-wrap ul li {
		width: 50%;
		padding: 0 5px;
	}
}
@media (max-width: 575px) {
	.kawasaki-staff-card-wrap {
		margin: 0 -10px;
	}
	.kawasaki-staff-card-wrap .txt {
		padding: 15px 10px 20px 10px;
	}
	.kawasaki-staff-card-wrap .txt .staff_type {
		font-size: var(--font-10);
	}
	.kawasaki-staff-card-wrap .txt .staff_name {
		font-size: var(--font-12);
		margin: 15px 0 5px 0;
		padding-bottom: 5px;
	}
	.kawasaki-staff-card-wrap .txt .staff_info {
		font-size: var(--font-10);
	}
}
@media (min-width: 576px) {
	.kawasaki-staff-card-wrap .thum-wrap {
		cursor: auto;
	}
}

/*--------------------------------------------------*/
/* モーダル */
/*--------------------------------------------------*/

.modal-overlay {
	display: none;
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.8);
	align-items: center;
	justify-content: center;
}
.modal-wrap {
	position: relative;
	width: 80%;
	max-height: 80vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
.modal-close {
	position: absolute;
	top: 0;
	right: 0;
	width: 70px;
	background-color: var(--red);
	color: #ffffff;
	font-size: var(--font-12);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	padding: 15px 10px 10px  10px;
	z-index: 1;
}
.modal-close span {
	position: relative;
	display: block;
	width: 25px;
	height: 25px;
	margin: 0 auto 5px auto;
}
.modal-close span::before {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
	content: "";
	width: 100%;
	height: 3px;
	background-color: #ffffff;
}
.modal-close span::after {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
	content: "";
	width: 100%;
	height: 3px;
	background-color: #ffffff;
}

/* 575px以下限定の挙動 */
@media (max-width: 575px) {
	.thum-wrap {
		cursor: pointer;
	}
	.modal-overlay.is-open {
		display: flex;
	}
	/* モーダル内での調整 */
	#modal-body .thum-wrap {
		pointer-events: none; /* モーダル内ではタップ無効 */
	}
	.co-creation-modal .txt {
		padding: 20px 20px 40px 20px;
	}
	.co-creation-modal .txt .company_name {
		font-size: var(--font-14);
	}
		margin-bottom: 5px;
	}
	.co-creation-modal .txt .job_title {
		font-size: var(--font-12);
	}
	.co-creation-modal .txt .name {
		font-size: var(--font-16);
		margin-top: 15px;
		padding-top: 15px;
	}
	.kawasaki-staff-modal .txt {
		padding: 20px 20px 40px 20px;
	}
	.kawasaki-staff-modal .txt .staff_type {
		font-size: var(--font-12);
	}
	.kawasaki-staff-modal .txt .staff_name {
		font-size: var(--font-16);
		margin: 25px 0 10px 0;
		padding-bottom: 10px;
	}
	.kawasaki-staff-modal .txt .staff_info {
		font-size: var(--font-14);
	}
}

/*--------------------------------------------------*/
/* 固定ページ表示用 */
/*--------------------------------------------------*/

.display-card ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.display-card ul li {
	display: flex;
	width: 33.33%;
	padding: 0 10px;
	margin-bottom: 20px;
}
.display-card .card-wrap {
	width: 100%;
}
@media (max-width: 1199px) {
	.display-card ul li {
		width: 50%;
	}
}
@media (max-width: 767px) {
	.display-card ul li {
		width: 100%;
	}
}

/*--------------------------------------------------*/
/* 固定ページ表示用 */
/*--------------------------------------------------*/

/* iOS Safariのモーダル内画像ボヤけ（Rasterization）対策 */
.gslide-media,
.gslide-media img,
.gslide-image img {
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-perspective: 1000;
	perspective: 1000;
}
/* GLightboxの左右の矢印ボタンを非表示にする */
.gnext, .gprev {
	display: none !important;
}
.glightbox-clean .gclose {
	-webkit-appearance: none; /* ←これを追加（iOS Safari対策） */
	appearance: none;         /* ←これを追加 */
	border: none;             /* ←念のため枠線もリセット */
	
	position: absolute;
	top: 0;
	right: 0;
	width: 70px;
	height: auto;
	background-color: var(--red);
	color: #ffffff;
	font-size: var(--font-12);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	padding: 15px 10px 10px  10px;
	opacity: 1;
	border-radius: 0;
}
.glightbox-clean .gclose::after {
	content: "画面を\A閉じる"; /* <br> の代わりに \A を入れる */
	white-space: pre;       /* これがないと \A が効きません */
	display: block;
	margin-top: 5px;
}
@media (min-width: 768px) {
	.glightbox-clean .gclose:hover {
		background-color: var(--red) !important;
	}
}

/*--------------------------------------------------*/
/* 固定ページ表示用 */
/*--------------------------------------------------*/

.pre-single-page .page-body {
	padding: 80px 0;
}
