/*
Theme Name:GAIA child
Theme URI:
Description:WordPressテーマ「gaia」の自作子テーマです。
Author:MP
Template:gaia_tcd102
Version:1.2
*/

/*----------------------------------------------------
common
----------------------------------------------------*/
:root {
	--main-color: #3eb7bc;
	--sub-color: #2d8b8e;
	--black: #444;
	--main-font: 'fot-tsukuardgothic-std', sans-serif;
	--en-font: 'neuzeit-grotesk', sans-serif;
	--font-size-pc: 17px;
	--font-size-sp: 15px;
}
/*----------------------------------------------------
PC/SP表示切替
----------------------------------------------------*/
.pc-only {
	display: block;
}
.sp-only {
	display: none;
}
@media only screen and (max-width: 767px) {
	.pc-only {
		display: none;
	}
	.sp-only {
		display: block;
	}
}
/*----------------------------------------------------
 マージン制御
----------------------------------------------------*/
.mg-l {
	margin-bottom: 100px !important;
}
@media only screen and (max-width: 767px) {
	.mg-l {
		margin-bottom: 40px !important;
	}
}
.mg-m {
	margin-bottom: 80px !important;
}
@media only screen and (max-width: 767px) {
	.mg-m {
		margin-bottom: 30px !important;
	}
}
.mg-s {
	margin-bottom: 50px !important;
}
@media only screen and (max-width: 767px) {
	.mg-s {
		margin-bottom: 20px !important;
	}
}
/*----------------------------------------------------
 改行制御
----------------------------------------------------*/
.none-br {
	text-align: center;
}
@media only screen and (max-width: 950px) {
	.none-br {
		text-align: left;
	}
	.none-br br {
		display: none;
	}
}
.inline {
	display: inline-block;
}
/*----------------------------------------------------
位置制御
----------------------------------------------------*/
@media only screen and (max-width: 767px) {
	.sp-center {
		text-align: center !important;
	}
}
/*----------------------------------------------------
画像
----------------------------------------------------*/
/* .post_content img {
	width: 100%;
	vertical-align: bottom;
} */
/*----------------------------------------------------
フォント
----------------------------------------------------*/
body,
a {
	font-family: var(--main-font) !important;
	color: var(--black);
	font-weight: 600;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
time {
	font-family: var(--main-font) !important;
	font-weight: 600 !important;
}
.post_content {
	font-family: var(--main-font) !important;
	font-weight: 600 !important;
}
.text-s {
	font-size: 70%;
}
@media only screen and (max-width: 767px) {
	.text-sp-s {
		font-size: 70%;
	}
}
/*----------------------------------------------------
リスト
----------------------------------------------------*/
.post_content ul li {
	list-style-type: disc;
}
/*----------------------------------------------------
ヘッダーナビ
----------------------------------------------------*/
span.p-global__nav-name {
	padding-bottom: 0.2em;
}
.p-drawer-menu__sns a {
	font-weight: 500;
}
/*----------------------------------------------------
パンくずリスト
----------------------------------------------------*/
.c-breadcrumb__item:last-of-type > span[itemprop='name'] {
	color: #fff;
}
/*----------------------------------------------------
フッター
----------------------------------------------------*/
.l-footer__bottom a,
.l-footer__bottom p {
	font-weight: 500 !important;
}
.l-footer__nav-list li:first-of-type a {
	color: #fff !important;
}
.l-footer__nav-list a {
	font-size: 16px;
}
.l-footer__nav-list li:not(:first-child) a:before {
	content: '－';
	margin-right: 8px;
	color: #93d3d5;
}
/*----------------------------------------------------
見出し
----------------------------------------------------*/
.c-headline {
	font-family: var(--en-font) !important;
	font-weight: 700;
	/* color: rgba(var(--tcd-accent-color, 0, 0, 0), 1); */
	font-size: 50px !important;
}
.p-fp-banner__title {
	font-family: var(--main-font) !important;
	font-weight: 600;
	/* font-size: 40px !important; */
}
@media (max-width: 767px) {
	.c-headline {
		font-size: 36px !important;
	}
	.p-page-header__headline {
		font-size: 24px !important;
	}
}
/*----------------------------------------------------
テーブル
----------------------------------------------------*/
table {
	border-collapse: collapse;
	line-height: 1.8 !important;
	white-space: normal !important;
}
table td {
	width: auto !important;
	vertical-align: middle !important;
	background: transparent;
	padding: 15px 20px;
	word-break: break-word;
	border: 1px solid #ddd;
}
table thead td {
	background: #e9f6f7 !important;
	text-align: center;
}
table tbody td:first-child {
	width: 20% !important;
	background: #e9f6f7;
	text-align: center;
}
table thead + tbody td {
	background: none !important;
	text-align: left;
}
@media only screen and (max-width: 767px) {
	table td {
		padding: 10px 3vw !important;
	}
	table tbody td:first-child {
		width: 25% !important;
		min-width: 6em;
	}
}
/*----------------------------------------------------
リスト
----------------------------------------------------*/
.q_styled_ol {
	margin-left: 0 !important;
}
/*----------------------------------------------------
ボタン
----------------------------------------------------*/
/*横並びボタン制御------------------------*/
.u-col-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 3em;
}
.u-col-btn .post_col {
	flex: none;
}
@media only screen and (max-width: 767px) {
	.u-col-btn {
		flex-direction: column;
	}
}
/*----------------------------------------------------
固定ページ
----------------------------------------------------*/
/*全体------------------------*/
.p-page-header__headline {
	font-family: var(--en-font) !important;
	font-size: 50px !important;
}
.p-page-header__description {
	font-size: 24px;
}
@media only screen and (max-width: 767px) {
	.p-page-header__headline {
		font-size: 30px !important;
	}
	.p-page-header__description {
		font-size: 18px;
	}
}
/*デザインコンテンツ------------------------*/
.post_content .p-dc__content-desc {
	font-size: var(--font-size-pc);
}
.post_content .p-dc__desc-text {
	font-size: var(--font-size-pc);
}
@media only screen and (max-width: 767px) {
	.post_content .p-dc__content-catch {
		font-size: 24px;
	}
	.post_content .p-dc__content-desc {
		font-size: var(--font-size-sp);
	}
	.post_content .p-dc__desc-text {
		font-size: var(--font-size-sp);
	}
}
/*2カラムコンテンツ------------------------*/
.post_content .p-2col__desc {
	font-size: var(--font-size-pc);
}
.post_content .p-2col__item-title {
	font-size: 22px;
}
.post_content .p-2col__item-desc__text {
	font-size: var(--font-size-pc);
}
@media only screen and (max-width: 767px) {
	.post_content .p-2col__catch {
		font-size: 24px;
	}
	.post_content .p-2col__desc {
		font-size: var(--font-size-sp);
	}
	.post_content .p-2col__item-title {
		font-size: 16px;
	}
	.post_content .p-2col__item-desc__text {
		font-size: var(--font-size-sp);
	}
}
/*アクセスコンテンツ------------------------*/
.post_content .p-map__desc {
	font-size: var(--font-size-pc);
}
.post_content .p-map__item-desc {
	font-size: var(--font-size-pc);
}
@media only screen and (max-width: 767px) {
	.post_content .p-map__desc {
		font-size: var(--font-size-sp);
	}
	.post_content .p-map__item-desc {
		font-size: var(--font-size-sp);
	}
}
/*テーブルコンテンツ------------------------*/

.post_content .p-tc__table-body__item-label {
	vertical-align: middle;
}
.post_content .p-tc__content-desc {
	font-size: var(--font-size-pc);
}
.post_content .p-tc__table-body__item-cell {
	line-height: 2;
	font-size: var(--font-size-pc);
	font-weight: 600;
}
.post_content .p-tc__bottom-desc {
	font-size: var(--font-size-pc);
}
.c-button,
.post_content .c-button {
	font-size: var(--font-size-pc);
}
@media only screen and (max-width: 767px) {
	.post_content .p-tc__content-desc {
		font-size: var(--font-size-sp);
		text-align-last: left;
		text-align: justify;
	}
	.post_content .p-tc__content-headline {
		font-size: 24px;
	}
	.post_content .p-tc__table {
		white-space: normal;
	}
	.post_content .is-row--1 .p-tc__table-body__item-label {
		width: 6em;
	}
	.post_content .p-tc__table-body__item-cell {
		line-height: 1.8;
		font-size: var(--font-size-sp);
	}
	.post_content .p-tc__bottom-desc {
		font-size: var(--font-size-sp);
	}
	.c-button,
	.post_content .c-button {
		font-size: var(--font-size-sp);
	}

	/* .post_content .p-tc__table {
		white-space: unset;
	}
	.post_content .is-row--1 .p-tc__table-body__item-label {
		display: inline-block;
		width: 100%;
	}
	.post_content .p-tc__table-body__item-cell {
		display: inline-block;
	} */
}
/*----------------------------------------------------
トップページ
----------------------------------------------------*/
/*メインビジュアル------------------------*/
.l-header__logo {
	justify-content: center;
}
.c-logo__image {
	height: 52px !important;
}
.p-fp-slider__headline {
	text-shadow: 0 0 5px #1e2c69;
}
.p-fp-slider__logo {
	margin-top: -5vh;
}
.p-fp-slider__logo img {
	width: 80vh !important;
	max-width: 85vw;
	filter: drop-shadow(0 0 5px rgba(30, 44, 105, 0.5));
}
@media (max-width: 767px) {
	.l-header__logo {
		justify-content: left;
	}
	.c-logo__image {
		height: 40px !important;
	}
	.p-fp-slider__logo {
		margin-top: -25vh;
	}
}
/*スライダー------------------------*/
.p-fp-section:nth-child(1) {
	position: relative;
}
.swiper-container {
	position: relative;
}
.swiper.slider1 {
	margin-bottom: 200px;
}
.swiper.slider2 {
	margin-bottom: 120px;
}
.swiper-slide {
	position: relative;
}
.swiper-slide img {
	border-radius: 50px;
}
.swiper-slide p {
	margin-bottom: 0;
}
.swiper .slider-ttl {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	font-family: var(--main-font);
	font-size: 15px;
	font-weight: 500;
	text-align: center;
	color: #fff;
	line-height: 1.4;
	text-shadow: 0 0 3px rgba(0, 0, 0, 0.7);
	padding: 1em;
}
.swiper.slider1 .slider-ttl {
	top: 0;
	bottom: unset;
}
.slider-catch {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 1200px !important;
	width: 80vw;
}
.p-fp-section:nth-child(2) {
	padding-top: 0 !important;
}
@media (max-width: 1200px) {
	.p-fp-section:nth-child(1) {
		padding-top: 80px;
	}
}
@media (max-width: 767px) {
	.p-fp-section:nth-child(1) {
		padding-top: 40px;
	}
	.swiper.slider1 {
		margin-bottom: 60px;
	}
	.swiper.slider2 {
		margin-bottom: 50px;
	}
	.swiper-slide img {
		border-radius: 30px;
	}
	.slider-catch {
		width: 90vw;
	}
}
/*お知らせ------------------------*/
.p-fp-news {
	position: relative;
}

.p-fp-section__headline {
	margin: -0.3em 0 !important;
	line-height: 1.6 !important;
}
.p-fp-section__desc {
	margin-bottom: -0.3em !important;
	line-height: 1.6 !important;
	font-family: var(--main-font);
}
/*大会動画------------------------*/
.p-fp-section:nth-child(4) {
	background: linear-gradient(
		0deg,
		rgba(62, 183, 188, 0.7) 0%,
		rgba(200, 220, 120, 0.3) 40%,
		rgba(255, 255, 255, 1) 80%
	);
	padding-bottom: 180px;
}
.home .p-wave--footer {
	margin-top: -50px;
}
@media (max-width: 767px) {
	.p-fp-section:nth-child(4) {
		padding-bottom: 90px;
	}
}
/*----------------------------------------------------
スケジュールページ
----------------------------------------------------*/
.schedule__title.styled_h3 {
	text-align: center !important;
	margin-bottom: 0;
}
.schedule__table td {
	width: 37% !important;
}
.schedule__table td:first-child {
	width: 26% !important;
}
/*----------------------------------------------------
協賛募集ページ
----------------------------------------------------*/
.add-list__table td:first-child {
	width: 2em !important;
}
@media (max-width: 767px) {
	.add-list__table td:first-child {
		min-width: 2em;
	}
}
/*----------------------------------------------------
アクセスページ
----------------------------------------------------*/
.access-h3.styled_h3 {
	margin-bottom: 0;
	text-align: center !important;
}
.access-title {
	margin: 60px 0 40px;
	text-align: center;
}
.access-title:first-child {
	margin-top: 0;
}
.access-title img {
	display: block;
	width: 100px;
	margin: 0 auto;
}
.access-title p:empty {
	display: none;
}
.access-title h4 {
	position: relative;
	margin: 5px 0 0 !important;
	padding-bottom: 20px !important;
	border-bottom: 4px solid #eee;
	border-left: none;
	color: var(--black);
	font-size: 32px !important;
	text-align: center !important;
}
.access-title h4::before {
	position: absolute;
	content: '';
	width: 20%;
	max-width: 150px;
	height: 4px;
	bottom: -4px;
	left: 50%;
	background: #e39300;
	transform: translateX(-50%);
}
.access-title h4.airplane::before {
	background: #9b7cb6;
}
.access-title h4.train::before {
	background: #3fb177;
}
.access-title h4.explessbus::before {
	background: #9dc814;
}
.access-title h4.ship::before {
	background: #4488c8;
}
@media only screen and (max-width: 767px) {
	.access-title {
		margin: 40px 0 20px;
	}
	.access-title:first-child {
		margin-top: 20px;
	}
	.access-title img {
		width: 70px;
	}
	.access-title h4 {
		font-size: 19px !important;
	}
}
/* 交通機関リンク一覧------------------------ */
.well.access-hplink {
	padding: 1.5em 2em 0.7em;
}
.access-hplink .post_row .post_col {
	margin-bottom: 0 !important;
}
.access-hplink ul {
	margin-bottom: 0 !important;
}
.access-hplink ul li {
	line-height: 1.7;
	margin-bottom: 1em;
}
@media only screen and (max-width: 767px) {
	.access-hplink ul li {
		line-height: 1.8 !important;
		margin-bottom: 0.8em;
	}
}
/* 飛行機テーブル------------------------ */
.access-table-wrap .post_col {
	margin-bottom: 0 !important;
}
.access-table-airplane {
	border-collapse: collapse;
	word-break: break-word;
}
.access-table-airplane td {
	padding: 10px 5px;
	font-size: 20px;
	line-height: 1.4 !important;
	vertical-align: middle;
	border-color: #9b7cb6;
	border-left: none;
	border-right: none;
}
.access-table-airplane td:first-child {
	width: 36% !important;
	text-align: center;
	background: #f6f2fa;
}
.access-table-airplane td img {
	width: 2.5em;
	vertical-align: bottom;
	margin-right: 5px;
}
.access-table-airplane td span {
	display: inline-block;
	font-size: 16px;
}
.access-table-airplane td.airport {
	min-width: 2em;
	min-height: 6em;
	background: #9b7cb6;
	text-align: center;
}
.access-table-airplane td.airport span {
	color: #fff;
	writing-mode: vertical-rl;
	font-size: 22px;
	letter-spacing: 0.1em;
	text-align: center;
}
@media only screen and (max-width: 767px) {
	.access-table-airplane td {
		font-size: 16px;
		padding: 12px 5px !important;
	}
	.access-table-airplane td:first-child {
		width: 34% !important;
	}
	.access-table-airplane td img {
		width: 2em;
	}
	.access-table-airplane td span {
		font-size: 12px;
	}
	.access-table-airplane td.airport span {
		font-size: 18px;
	}
}
/* 高速バステーブル------------------------ */
.access-table-expressbus {
	border-collapse: collapse;
	word-break: break-word;
}
.access-table-expressbus th {
	color: #fff;
	background: #9dc814;
	font-size: 22px;
	line-height: 1.6;
	border: none;
}
.access-table-expressbus th span {
	font-size: 18px;
}
.access-table-expressbus td {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px 5px;
	font-size: 20px;
	line-height: 1.4 !important;
	text-align: center;
	border-color: #9dc814;
	border-left: none;
	border-right: none;
}
.access-table-expressbus td:first-child {
	border-top: none;
}
.access-table-expressbus td .bus-updown {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	width: 170px;
	color: #9dc814;
}
.access-table-expressbus td .bus-updown img {
	width: 55px;
	vertical-align: middle;
	margin: 0;
}
.access-table-expressbus td .double_arrow {
	color: #9dc814;
	margin: 0 10px;
}
@media only screen and (max-width: 767px) {
	.access-table-expressbus th {
		font-size: 16px;
	}
	.access-table-expressbus td {
		font-size: 16px;
		padding: 10px 5px;
	}
	.access-table-expressbus th span {
		font-size: 14px;
	}
	.access-table-expressbus td .bus-updown {
		width: 130px;
	}
	.access-table-expressbus td .bus-updown img {
		width: 40px;
	}
	.access-table-expressbus td .double_arrow {
		font-size: 18px;
		margin: 0 5px;
	}
}
@media only screen and (max-width: 500px) {
	.access-table-expressbus td {
		font-size: 14px;
	}
}
/* 船テーブル------------------------ */
.access-table-ship {
	border-collapse: collapse;
	word-break: break-word;
}
.access-table-ship th {
	color: #fff;
	background: #4488c8;
	font-size: 22px;
	line-height: 1.6;
	border: none;
}
.access-table-ship th span {
	font-size: 18px;
}
.access-table-ship td {
	vertical-align: middle;
	padding: 15px 5px;
	font-size: 18px;
	line-height: 2 !important;
	text-align: center;
	border-color: #4488c8;
	border-left: none;
	border-right: none;
	background: #f2f9ff !important;
}
.access-table-ship tr:nth-child(2) td {
	border-top: none;
}
.access-table-ship td > div {
	display: flex;
	justify-content: space-around;
}
.access-table-ship td .ship-route {
	display: flex;
	align-items: center;
	justify-content: left;
}
.access-table-ship td .ship-route span {
	font-size: 16px;
}
.access-table-ship td .ship-name {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	color: var(--black);
}
.access-table-ship td .ship-name span {
	font-size: 16px;
}
.access-table-ship td .ship-name img {
	width: 50px;
	vertical-align: middle;
	margin-right: 5px;
}
.access-table-ship td .double_arrow {
	color: #4488c8;
	margin: 0 10px;
}
@media only screen and (max-width: 767px) {
	.access-table-ship th {
		font-size: 16px;
	}
	.access-table-ship td {
		font-size: 16px;
		padding: 10px 5px;
	}
	.access-table-ship td .ship-route span {
		font-size: 14px;
	}
	.access-table-ship td > div {
		flex-wrap: wrap;
	}
	.access-table-ship td .ship-name img {
		width: 30px;
	}
	.access-table-ship td .ship-name span {
		font-size: 14px;
	}
	.access-table-ship td .double_arrow {
		font-size: 18px;
		margin: 0 5px;
	}
}
@media only screen and (max-width: 600px) {
	.access-table-ship td .ship-route {
		justify-content: center;
		width: 100%;
	}
	.access-table-ship td .ship-name {
		justify-content: center;
		width: 100%;
	}
}
/* 県内アクセスルート------------------------ */
ul.access-route {
	display: flex;
	margin: 0;
}
.styled_h5.access-route-title {
	background: none;
	padding-left: 0 !important;
	font-size: 22px !important;
	margin: 25px 0 5px;
}
ul.access-route li {
	padding: 0 15px;
	text-align: center;
	line-height: 1.4;
	list-style: none;
	flex: 1;
	justify-content: center;
}
ul.access-route li:nth-child(odd) {
	display: flex;
	align-items: center;
	background: #eee;
}
ul.access-route li:nth-child(even) {
	position: relative;
	display: grid;
	grid-template: 1fr 1fr / 1fr;
	gap: 15px;
	font-size: 14px;
}
ul.access-route li:nth-child(even):before {
	content: '';
	position: absolute;
	width: 100%;
	height: 0.5px;
	background: var(--black);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
ul.access-route li:nth-child(even) span:first-child {
	align-self: end;
}
ul.access-route li:first-child {
	background: #555;
	border-color: #555;
	color: #fff;
}
ul.access-route li:last-child {
	background: #e39300;
	border-color: #e39300;
	color: #fff;
}
ul.access-route li.access-route-airplane {
	background: #9b7cb6;
}
ul.access-route li.access-route-train {
	background: #3fb177;
}
ul.access-route li.access-route-ship {
	background: #4488c8;
}
@media only screen and (max-width: 767px) {
	ul.access-route {
		flex-direction: column;
		margin: 30px 0;
	}
	.post_content h5.access-route-title {
		position: relative;
		border: 1px solid #ddd;
		margin: 0 0 20px !important;
		padding: 15px 30px 15px 20px !important;
		font-size: 14px !important;
		text-align: center;
		cursor: pointer;
	}
	.post_content h5.access-route-title:active {
		background: #fff;
	}
	h5.access-route-title:after {
		position: absolute;
		content: '\e5cf';
		font-family: 'Material Icons';
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
	}
	h5.access-route-title.active:after {
		content: '\e5ce';
	}
	ul.access-route li {
		padding: 20px;
	}
	ul.access-route li:nth-child(even) {
		grid-template: 1fr / 1fr 1fr;
		gap: 25px;
		align-items: center;
		padding: 15px 0;
	}
	ul.access-route li:nth-child(even):before {
		width: 0.5px;
		height: 100%;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	ul.access-route li:nth-child(even) span:first-child {
		justify-self: end;
	}
	ul.access-route li:nth-child(even) span:last-child {
		justify-self: start;
	}
}
p.access-route-desc {
	margin-top: 50px;
}
@media only screen and (max-width: 767px) {
	p.access-route-desc {
		margin-top: 0;
	}
}
/* 主要会場アクセス------------------------ */
.access-table-venue td:first-child {
	width: auto !important;
}
.access-table-venue td {
	text-align: center !important;
}
