@charset "utf-8";

:root {
	--black: #000;
	--white: #fff;
	--yellow: #fff000;
	--blue-gradation: linear-gradient(90deg, rgba(0, 138, 208, 1), rgba(102, 193, 238, 1));
	--red-gradation: linear-gradient(to right, #f058aa 0%, #e60012 100%);
}

/*--------------------------------------------------
  基本の汎用スタイル・ユーティリティ
--------------------------------------------------*/
.blue_link {
	color: var(--black);
	text-decoration: underline;
}

.txt_box {
	border: 1px solid #dcdcdc;
	padding: 1.5em;
}

.wid100 {
	width: 100% !important;
}

.tag {
	display: inline-block;
	padding: 0 10px;
	background-color: var(--yellow);
	color: var(--black);
	font-size: 0.875rem;
	margin-right: 10px;
}

.sp {
	display: none !important;
}

@media screen and (max-width: 768px) {
	.tag {
		padding: 0 6px;
		font-size: 0.75rem;
		margin-right: 5px;
	}

	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}
}

/*--------------------------------------------------
  レイアウト・構造系
--------------------------------------------------*/
.main_contents h4.sec_ttl {
	text-align: center;
}

.main_contents h4.sec_ttl span {
	display: block;
}

.col2,
.col3,
.col4 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
}

/*.col2::after,*/
.col3::after,
.col4::after {
	display: block;
	content: "";
}

.col2 li,
.col3 li,
.col4 li {
	display: block;
}

.c_wrap {
	/* padding-bottom: 0; */
}

/* 汎用ユーティリティ */
.intro_atv {
	margin-top: 80px;
}

@media screen and (max-width: 768px) {
	.col2 .col2_l,
	.col2 .col2_r {
		width: 100%;
	}

	.col2 figure.col2_r {
		width: 75%;
		margin-top: 30px;
		margin-left: auto;
		margin-right: auto;
	}

	.col3_btn li {
		width: 49%;
	}

	.intro_atv {
		margin-top: 40px;
	}
}

@media screen and (max-width: 480px) {
	.col2 figure.col2_r {
		width: 100%;
	}

	.col3_btn li {
		width: 100%;
	}
}

/*--------------------------------------------------
  特定要素のスタイル
--------------------------------------------------*/
#yokohama .howto .btn {
	background-color: #6e8ba4;
	background: linear-gradient(90deg, rgba(185, 217, 142, 1), rgba(0, 174, 149, 1));
	-webkit-box-shadow: 1px 3px 0px 0 rgba(0, 0, 0, 0.2);
	box-shadow: 0px 0px 16px -6px #002396;
}

/*--------------------------------------------------
  セクション・見出し・導入文
--------------------------------------------------*/
.introduction {
	text-align: center;
	font-weight: 700;
	margin-bottom: 5em;
}

.sec01 .sec_ttl span {
	color: #b8d200;
	line-height: 1.2;
}

.sec01 .sec_ttl span span {
	font-size: 0.5em;
}

/* intro_02 見出し：CONTENTS と日本語の行間（横浜 howto と同じ） */
.howto:not(.en) #intro_02 > .sec_ttl > span {
	line-height: 1.2;
}

.howto:not(.en) #intro_02 > .sec_ttl {
	line-height: 1.3;
}

/* intro_02 見出し：英語版は日本語見出し行がないため、見出し下の余白を確保（横浜 howto と同じ見え方） */
.howto.en #intro_02 > .sec_ttl > span {
	margin-bottom: 1.5em;
}

.circle_title {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	font-size: 1em;
	font-weight: 700;
}

/*--------------------------------------------------
  ポイントリスト（.point_list）
--------------------------------------------------*/
.point_list {
	counter-reset: item;
	color: #fff;
	list-style-type: none;
	margin-bottom: 4em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.point_list li {
	width: 32%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	background: rgb(0, 139, 213);
	margin-top: 5em;
	padding: 80px 30px 150px;
	position: relative;
}
.en .point_list li {
	margin-top: unset;
}

.point_list li:nth-child(1) {
	background: rgb(0, 139, 213);
	background: linear-gradient(175deg, rgba(0, 139, 213, 1) 0%, rgba(0, 97, 177, 0.3) 100%), url(/2026/ja/yokohama/howto/images/point_bg01.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain;
}

.point_list li:nth-child(2) {
	background: rgb(0, 139, 213);
	background: linear-gradient(175deg, rgba(0, 139, 213, 1) 0%, rgba(0, 97, 177, 0.3) 100%), url(/2026/ja/yokohama/howto/images/point_bg02.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain;
}

.point_list li:nth-child(3) {
	background: rgb(0, 139, 213);
	background: linear-gradient(175deg, rgba(0, 139, 213, 1) 0%, rgba(0, 97, 177, 0.3) 100%), url(/2026/ja/yokohama/howto/images/point_bg03.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain;
}

/* nagoya用の背景 */
#nagoya .point_list li:nth-child(1) {
	background: linear-gradient(to top, transparent 0, #dc1a0b 50%, #6f0000 100%), url(/2026/ja/yokohama/howto/images/point_bg01.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain;
}

#nagoya .point_list li:nth-child(2) {
	background: linear-gradient(to top, transparent 0, #dc1a0b 50%, #6f0000 100%), url(/2026/ja/yokohama/howto/images/point_bg02.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain;
}

#nagoya .point_list li:nth-child(3) {
	background: linear-gradient(to top, transparent 0, #dc1a0b 50%, #6f0000 100%), url(/2026/ja/yokohama/howto/images/point_bg03.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain;
}

.point_list li:before {
	counter-increment: item;
	content: counter(item);
	/* font-family: "Barlow", sans-serif; */
	font-weight: 700;
	color: rgb(255 255 255 / 100%);
	font-size: 50px;
	line-height: 50px;
	width: 75px;
	text-align: center;
	position: absolute;
	top: 25px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	z-index: 2;
}

.point_list li dt {
	font-size: 20px;
}

@media screen and (max-width: 768px) {
	.point_list li {
		width: 48%;
		margin-top: 1.5em;
	}
}

@media screen and (max-width: 580px) {
	.point_list li {
		width: 100%;
		padding: 80px 30px 100px;
	}

	.point_list li:nth-child(1),
	.point_list li:nth-child(2),
	.point_list li:nth-child(3) {
		background-size: cover;
	}
}

/*--------------------------------------------------
  Col3ボタン（.col3_btn）
--------------------------------------------------*/
.col3_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.col3_btn li {
	width: 32%;
	margin-right: 0%;
	margin-top: 2%;
}

.col3_btn li .btn {
	max-width: 100%;
	font-size: 0.8em;
	letter-spacing: normal;
}

.en .col3_btn li {
	width: 49%;
}

#yokohama .col3_btn li,
#nagoya .col3_btn li {
	width: 32%;
	margin-top: 0;
	margin-bottom: 10px;
}

#yokohama .col3_btn li .btn,
#nagoya .col3_btn li .btn {
	max-width: 100%;
	font-size: 0.8em;
}

@media screen and (max-width: 768px) {
	.col3_btn li,
	#yokohama .col3_btn li,
	#nagoya .col3_btn li {
		width: 49%;
	}

	.en .col3_btn li:nth-child(3n) {
		margin-right: 0%;
	}

	.en .col3_btn li,
	#yokohama.en .col3_btn li,
	#nagoya.en .col3_btn li {
		width: 100%;
	}
}

@media screen and (max-width: 540px) {
	.col3_btn li,
	#yokohama .col3_btn li,
	#nagoya .col3_btn li {
		width: 100%;
	}
}

/*--------------------------------------------------
  カードリスト（.card_list）
--------------------------------------------------*/
.card_list {
	overflow: hidden;
}

.card_list li {
	width: 49%;
	margin-top: 1.5em;
}

.card_list li .col2 {
	padding: 1.5em;
	background: rgb(0, 139, 213);
	background: linear-gradient(77deg, rgba(0, 139, 213, 1) 0%, rgba(0, 97, 177, 1) 100%);
	-webkit-box-shadow: 1px 3px 0px 0 rgba(0, 0, 0, 0.2);
	box-shadow: 0px 0px 16px -6px #002396;
	box-shadow: 1px 3px 0px 0 rgba(0, 0, 0, 0.2);
	margin-top: 0;
	flex-wrap: nowrap;
	height: 100%;
	color: #fff;
}

.card_list li a.col2 {
	text-decoration: none;
	cursor: pointer;
}

#yokohama .howto .card_list li .col2:hover {
	background: rgb(183, 200, 0);
	background: -o-linear-gradient(315deg, rgba(183, 200, 0, 1) 0%, rgba(0, 87, 15, 1) 80%);
	background: linear-gradient(135deg, rgba(183, 200, 0, 1) 0%, rgba(0, 87, 15, 1) 80%);
}

#nagoya .howto_page .card_list li a.col2:hover {
	background: #e09a00;
	background: -o-linear-gradient(315deg, #e09a00 0%, #c24500 100%);
	background: linear-gradient(135deg, #e09a00 0%, #c24500 100%);
}

#nagoya .card_list li .col2 {
	background: #dc1a0b;
	background: -moz-linear-gradient(left, #dc1a0b 0%, #6f0000 100%);
	background: -webkit-linear-gradient(left, #dc1a0b 0%, #6f0000 100%);
	background: linear-gradient(to right, #dc1a0b 0%, #6f0000 100%);
}

.card_list li .col2::after {
	display: none;
}

.card_list li dl {
	width: calc(100% - 35%);
	height: 100%;
	margin: auto 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.card_list li.wid100 dl {
	width: calc(100% - 20%);
}

.card_list li dl > dd {
	margin-bottom: 1em;
}

.card_list li dl > dd:last-child {
	margin-top: auto;
	margin-bottom: 0em;
}

.card_list li dl dd p {
	font-size: 0.8em;
	line-height: 1.4;
}

.card_list li dl dd .yokohama,
.card_list li dl dd .online,
.card_list li dl dd .nagoya {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.25em;
	width: 8em;
	font-size: 0.7em;
	position: relative;
	text-align: center;
	line-height: 1;
	background-color: #0041ff;
	padding: 6px 5px;
	letter-spacing: normal;
}

.card_list li dl dd .nagoya {
	background-color: #dc1a0b;
}

.card_list li dl dd .yokohama::before,
.card_list li dl dd .nagoya::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	line-height: 1;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\f3c5";
	color: #fff;
	letter-spacing: normal;
	flex-shrink: 0;
	font-size: 11px;
}

.card_list li dl dd .online::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	line-height: 1;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\f390";
	color: #fff;
	letter-spacing: normal;
	flex-shrink: 0;
	font-size: 11px;
}

.card_list li dl dd .online {
	background-color: #00a8d0;
}

.card_list li dl dd .yokohama i,
.card_list li dl dd .online i,
.card_list li dl dd .nagoya i {
	line-height: 1;
	display: inline-block;
	left: 0;
	margin-right: 0.25em;
}

.card_list li#technological_development_presentations dl dd .online {
	width: 10em;
}

.card_list li .col2_r {
	width: 30%;
	margin: 0;
}

.card_list li.wid100 .col2_r {
	width: 20%;
}

@media screen and (max-width: 768px) {
	.card_list li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 1.5em;
	}

	.card_list li dl {
		display: block;
		height: initial;
	}
}

@media screen and (max-width: 640px) {
	.card_list li {
		margin-top: 0.5em;
	}

	.card_list li.wid100 .col2 {
		flex-wrap: wrap;
	}

	.card_list li.wid100 dl {
		width: 100%;
	}

	.card_list li.wid100 .col2_r {
		width: 100%;
	}
}

/*--------------------------------------------------
  Aboutリスト（.about_list）
--------------------------------------------------*/
.about_list li {
	margin-top: 70px;
}

.about_list li .col2_l {
	width: 55%;
	padding-right: 5%;
	margin-top: 1.5em;
}

/* howto / howto_page 専用：テキスト列の縦位置を .col2_l 全体ではなく本文 p（先頭が h5 のときは h5）に寄せる。fullness 等は上記 margin-top のまま。 */
.howto .about_list li .col2_l,
.howto_page .about_list li .col2_l {
	margin-top: 0;
}

.howto .about_list li.col2 .col2_l > h5:first-child,
.howto_page .about_list li.col2 .col2_l > h5:first-child {
	margin-top: 1.5em;
}

.howto .about_list li.col2 > p.col2_l,
.howto_page .about_list li.col2 > p.col2_l,
.howto .about_list li.col2 .col2_l > p:first-child,
.howto_page .about_list li.col2 .col2_l > p:first-child {
	margin-top: 1.5em;
}

.howto .about_list li.col2 .col2_l > h5:first-child + p,
.howto_page .about_list li.col2 .col2_l > h5:first-child + p {
	margin-top: 0;
}

/* 交互レイアウトで本文が右列（figure.col2_l + p.col2_r）のとき用。howto 内 figure.col2_r は img のみで p が子にならない想定 */
.howto .about_list li.col2 .col2_r > h5:first-child,
.howto_page .about_list li.col2 .col2_r > h5:first-child {
	margin-top: 1.5em;
}

.howto .about_list li.col2 > p.col2_r,
.howto_page .about_list li.col2 > p.col2_r,
.howto .about_list li.col2 .col2_r > p:first-child,
.howto_page .about_list li.col2 .col2_r > p:first-child {
	margin-top: 1.5em;
}

.howto .about_list li.col2 .col2_r > h5:first-child + p,
.howto_page .about_list li.col2 .col2_r > h5:first-child + p {
	margin-top: 0;
}
/* END./ howto / howto_page 専用 */

.about_list li .col2_r {
	width: 45%;
}

.about_list li:nth-child(2n) .col2_l {
	order: 2;
	padding-right: 0%;
	padding-left: 5%;
}

.about_list li:nth-child(2n) .col2_r {
	order: 1;
}

@media screen and (max-width: 580px) {
	.card_list li {
		width: 100%;
		margin-bottom: 1.5em;
	}

	.about_list li .col2_l {
		order: 2;
		width: 100%;
		padding-right: 0%;
	}

	.about_list li .col2_r {
		order: 1;
		width: 80%;
	}

	.about_list li:nth-child(2n) .col2_l {
		padding-left: 0%;
	}
}

/*--------------------------------------------------
  FAQリスト（.howto_faq_list）
--------------------------------------------------*/
.howto_faq_list {
	margin-top: 30px;
}

.howto_faq_list li {
	margin-bottom: 30px;
	border-bottom: 1px solid #b9b9b9;
	padding: 0 0 30px 0;
}

.howto_faq_list li:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

.howto_faq_list li p {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.faq_q_txt {
	font-weight: 700;
	font-weight: bold;
	margin-bottom: 10px;
}

.faq_a_txt:before,
.faq_q_txt:before {
	text-align: center;
	content: "Q";
	display: block;
	font-size: 1em;
	font-weight: 600;
	background: #e21b11;
	color: #fff;
	height: 30px;
	width: 30px;
	line-height: 30px;
	margin-top: 3px;
}

.faq_a_txt:before {
	content: "A";
	background: #005bac;
}

.faq_txt {
	width: calc(100% - 40px);
	line-height: 2em;
}

/*--------------------------------------------------
  カード用バッジ（.howto_card_badge）
--------------------------------------------------*/
.card_list li .col2:has(> .howto_card_badge) {
	padding-top: 2.1em;
}

.card_list li .col2 > .howto_card_badge {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background: #e8380d;
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2;
	padding: 6px 10px;
	border-radius: 2px;
	white-space: nowrap;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
	border: 1px solid rgba(255, 255, 255, 0.25);
	pointer-events: none;
}

/* 名古屋ガイド：バッジ背景色 */
.howto_page .card_list li .col2 > .howto_card_badge,
#nagoya .howto .card_list li .col2 > .howto_card_badge {
	background: #f4f71f;
	color: #1a1a1a;
}

.card_list li .col2 figure.col2_r {
	display: block;
	overflow: hidden;
	align-self: stretch;
	margin: 0;
	min-height: 0;
}

.card_list li .col2 figure.col2_r img {
	width: 100%;
	height: 100%;
	min-height: 120px;
	object-fit: cover;
	object-position: center;
	display: block;
}

@media screen and (max-width: 640px) {
	.card_list li .col2:has(> .howto_card_badge) {
		padding-top: 1.95em;
	}

	.card_list li .col2 > .howto_card_badge {
		font-size: 0.65rem;
		padding: 5px 8px;
	}

	.card_list li .col2 figure.col2_r img {
		min-height: 0;
		height: auto;
		max-height: 220px;
	}
}

/*--------------------------------------------------
  AI検索機能（.online_ai_search）
--------------------------------------------------*/
#online_ai_search .circle_title {
	font-size: 22px;
}

#online_ai_search .col2 {
	column-gap: 2%;
	row-gap: 10px;
}

#online_ai_search .col2 .col2_l {
	flex: 1;
}

#online_ai_search .col2 .col2_r {
	flex: 1;
	border: none;
}

#online_ai_search .btn_cont {
	margin-top: 40px;
}

#online_ai_search .btn {
	display: inline-block;
	width: 30%;
}

/* 見出し付きブロック */
.block-with-heading .heading {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: unset;
	padding: 16px 10px;
	background: var(--blue-gradation);
	border-radius: 5px 5px 0 0;
	color: var(--white);
	font-size: 1.25rem;
	font-weight: 700;
	text-align: center;
}

.nagoya .block-with-heading .heading {
	background: var(--red-gradation);
}

.block-with-heading .heading .num {
	margin-right: 0.2em;
	font-family: "Open Sans";
	font-size: 2rem;
}

.block-with-heading .text_block {
	padding: 18px 30px 20px;
	background-color: var(--white);
	border: 3px solid #4895d5;
	border-top: none;
	border-radius: 0 0 5px 5px;
	text-align: justify;
	word-break: break-all;
}

.nagoya .block-with-heading .text_block {
	border-color: #e60012;
}

@media screen and (max-width: 850px) {
	#online_ai_search .circle_title {
		margin-bottom: 10px;
		font-size: 1.125rem;
	}

	/* 見出し付きブロック */
	.block-with-heading .heading {
		font-size: 1.125rem;
	}

	.block-with-heading .heading .num {
		font-size: 1.625rem;
	}
}

@media screen and (max-width: 768px) {
	#online_ai_search .col2 .col2_l {
		flex: 0 0 100%;
	}

	#online_ai_search .col2 .col2_r {
		flex: 0 0 100%;
	}

	#online_ai_search .col2 figure.col2_r {
		flex: 0 0 80%;
	}

	#online_ai_search .btn {
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	#online_ai_search .circle_title {
		font-size: 1rem;
	}

	#online_ai_search .col2 figure.col2_r {
		flex: 0 0 90%;
	}

	#online_ai_search .btn_cont {
		margin-top: 30px;
	}

	/* 見出し付きブロック */
	.block-with-heading .heading {
		padding: 10px;
		font-size: 1rem;
	}

	.block-with-heading .heading .num {
		font-size: 1.375rem;
	}

	.block-with-heading .text_block {
		padding: 10px 20px 15px;
	}
}

/*--------------------------------------------------
  オンライン展示会専用ページ（.fullness_page）
--------------------------------------------------*/
.fullness_page .introduction {
	margin-bottom: 3em;
}

.fullness_page .timeline_sub-ttl {
	font-size: 1em;
	font-weight: 700;
}

.fullness_page .timeline-001__section {
	position: relative;
	padding: 0 0 3em 3.5em;
}

.fullness_page .timeline-001__section::before,
.fullness_page .timeline-001__section::after {
	position: absolute;
	content: "";
}

.fullness_page .timeline-001__section::before {
	bottom: -10px;
	left: 17px;
	transform: translateX(-50%);
	width: 10px;
	height: 100%;
	background: #b8d200;
}

.fullness_page .timeline-001 {
	counter-reset: number 0;
}

.fullness_page .timeline-001__section::after {
	top: 5px;
	left: -6px;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	background-color: #0062a8;
	counter-increment: number 1;
	content: counter(number) " ";
	text-align: center;
	font-family: "Open Sans", "Noto Sans JP", sans-serif;
	font-weight: bold;
	font-size: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

#nagoya .fullness_page .timeline-001__section::after {
	background-color: #a71717;
}

.fullness_page .timeline-001__content {
	border-bottom: dashed 1px #c6cdd3;
	padding-bottom: 1.5em;
}

.fullness_page .timeline-001__title {
	color: #0062a8;
	font-size: 1.05em;
	font-weight: 600;
	margin: 0 auto 0.5em;
}

.fullness_page .timeline-001 .timeline_sub-ttl {
	margin: 0 auto 0.5em;
	width: 95%;
}

.fullness_page .timeline-001 .timeline_sub-ttl + p {
	width: 95%;
	margin: auto;
	margin-bottom: 20px;
}

.fullness_page .fullness_txt .timeline_sub-ttl + p,
.fullness_page .fullness_txt .timeline_sub-ttl {
	width: 100%;
}

.fullness_page .col2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.fullness_page .timeline-001 .col2 {
	width: 95%;
	margin: auto;
	margin-bottom: 20px;
}

.fullness_page .fullness_list.fullness_list02 {
	width: 95%;
}

.fullness_page .col2 dl {
	width: 49%;
	margin-bottom: 20px;
}

.fullness_page .col3 {
	align-items: flex-end;
}

.fullness_page .col3 dl {
	width: 32%;
}

.fullness_page .fullness_list dt {
	margin-bottom: 10px;
}

.fullness_page i.titl_i {
	margin-right: 5px;
	color: #005bac;
}
.fullness_page.nagoya i.titl_i {
	color: #a71717;
}

.under_page .fullness_page .sec01 figure {
	border-top-right-radius: unset;
	margin-bottom: 0;
	margin: auto;
}

/* 活用ガイド導入画像のみ：PC 60%、SP 80% */
.fullness_page .fullness_intro_figure {
	width: 60%;
}

.fullness_page .fullness_intro_figure img {
	max-width: 100%;
	height: auto;
	display: block;
}

@media screen and (max-width: 768px) {
	.fullness_page .fullness_intro_figure {
		width: 80%;
	}
}

@media screen and (max-width: 705px) {
	.fullness_page .fullness_intro_figure {
		width: 100%;
	}
}

@media screen and (max-width: 500px) {
	.fullness_page .introduction {
		margin-bottom: 2em;
	}

	.fullness_page ul.fullness_points_nav {
		padding-top: 30px !important;
	}
}

.under_page .fullness_page .sec01 figure.border_none {
	border: unset;
}

.flex_fullness_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 95%;
	margin: auto;
}

.flex_fullness_list .fullness_txt {
	width: 55%;
}

.flex_fullness_list .fullness_list {
	width: 44%;
}

.fullness_page span.highlight {
	color: #005bac;
}
#nagoya .fullness_page span.highlight {
	color: #e7061d;
}

.fullness_page .line_title {
	background: linear-gradient(transparent 60%, #b8d200 60%);
	display: inline-block;
}

#nagoya .fullness_page .line_title {
	/* background: linear-gradient(transparent 60%, #a71717 60%); */
}

.col3.more_list li {
	width: 32%;
	background: #f1f8ff;
	border-radius: 25px;
	border: 4px solid #005bac;
	box-sizing: border-box;
}

#nagoya .col3.more_list li {
	background: #ffffff;
	border: 4px solid #a71717;
}

.fullness_page .col3.more_list li figure {
	border: none !important;
	max-width: 300px;
}

/* 英語ページのみ：画像左右の余白 */
.en .fullness_page .col3.more_list li figure {
	max-width: none;
	padding-right: 15px;
	padding-left: 15px;
}

.fullness_page .col2_btn.anchor_link {
	justify-content: space-between;
}

.fullness_page .col2_btn.anchor_link li {
	margin-right: 0;
	margin-bottom: 10px;
	width: 49%;
}

.fullness_page .col2_btn.anchor_link .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(12px, 1.6vw, 16px);
}

/*--------------------------------------------------
  3ポイント構成（fullness_point_01 / 02 / 03）
  添付画像準拠
--------------------------------------------------*/
/* 3ポイント紹介ブロック（展示会でこんな経験…） */
.fullness_page .fullness_intro_block {
	margin-bottom: 30px;
}

.fullness_page .fullness_intro_ttl {
	font-size: 1.4em;
	font-weight: 700;
	text-align: center;
	margin: 0 0 0.8em;
	line-height: 1.5;
}

.fullness_page .fullness_intro_lead {
	font-size: 0.95em;
	text-align: center;
	margin: 0 0 1.5em;
	color: #333;
}

.fullness_page .fullness_intro_problems {
	list-style: none;
	padding: 0;
	margin: 0 auto 2em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1em;
	max-width: 640px;
}

.fullness_page .fullness_intro_problems li {
	position: relative;
	background: #00326a;
	color: #fff;
	padding: 0.8em 1.2em 1.2em;
	border-radius: 16px;
	font-size: 0.8em;
	line-height: 1.4;
	box-sizing: border-box;
}

/* 1つ目・2つ目：上段横並び */
.fullness_page .fullness_intro_problems li:nth-child(1),
.fullness_page .fullness_intro_problems li:nth-child(2) {
	flex: 1 1 calc(50% - 0.5em);
	min-width: 220px;
	max-width: 300px;
}

/* 3つ目：下段中央 */
.fullness_page .fullness_intro_problems li:nth-child(3) {
	flex: 0 0 auto;
	max-width: 380px;
	margin-left: auto;
	margin-right: auto;
}

/* 吹き出しのしっぽ（下向き三角） */
.fullness_page .fullness_intro_problems li::after {
	content: "";
	position: absolute;
	bottom: -10px;
	transform: translateX(-50%);
	border-width: 10px 12px 0;
	border-style: solid;
	border-color: #00326a transparent transparent;
}

.fullness_page .fullness_intro_problems li:nth-child(1)::after {
	left: 35%;
}

.fullness_page .fullness_intro_problems li:nth-child(2)::after {
	left: 65%;
}

.fullness_page .fullness_intro_problems li:nth-child(3)::after {
	left: 50%;
}

#nagoya .fullness_page .fullness_intro_problems li {
	background: #a71717;
}

#nagoya .fullness_page .fullness_intro_problems li::after {
	border-color: #a71717 transparent transparent;
}

.fullness_page .fullness_intro_conclusion {
	font-size: 1.2em;
	font-weight: 700;
	text-align: center;
	margin: 0;
	line-height: 1.5;
}

.fullness_page .fullness_intro_num {
	display: inline-block;
	font-size: 1.4em;
	color: #00326a;
	padding: 0 0.15em;
}

#nagoya .fullness_page .fullness_intro_num {
	color: #a71717;
	background: linear-gradient(transparent 55%, #ffd700 55%);
}

@media screen and (max-width: 768px) {
	.fullness_page .fullness_intro_problems {
		max-width: 100%;
		padding: 0 1em;
	}

	.fullness_page .fullness_intro_problems li:nth-child(1),
	.fullness_page .fullness_intro_problems li:nth-child(2) {
		min-width: 0;
		max-width: none;
	}

	.fullness_page .fullness_intro_ttl {
		font-size: 1.2em;
	}
}

@media screen and (max-width: 699px) {
	.fullness_page .fullness_intro_problems {
		flex-direction: column;
		align-items: center;
	}

	.fullness_page .fullness_intro_problems li:nth-child(1),
	.fullness_page .fullness_intro_problems li:nth-child(2),
	.fullness_page .fullness_intro_problems li:nth-child(3) {
		flex: 1 1 auto;
		width: 100%;
		max-width: 100%;
	}
}

@media screen and (max-width: 540px) {
	.fullness_page .fullness_intro_problems li:nth-child(1),
	.fullness_page .fullness_intro_problems li:nth-child(2) {
		flex: 1 1 100%;
	}
}

.fullness_page ul.fullness_points_nav {
	margin-bottom: 30px !important;
	padding-top: 50px;
}

.fullness_page .fullness_points_nav li {
	display: flex;
}

.fullness_page .fullness_points_nav .btn.arrow_btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 71px;
	height: auto;
	padding-left: 18px;
	padding-right: 18px;
	font-size: 18px !important;
	line-height: 1.3;
}

.en .fullness_page .fullness_points_nav .btn.arrow_btn {
	font-size: 16px !important;
}

.fullness_page .fullness_points_nav .btn.arrow_btn i {
	position: absolute;
	left: 10%;
}

@media screen and (max-width: 705px) {
	.fullness_page .fullness_points_nav {
		flex-direction: column;
	}

	.fullness_page .fullness_points_nav li {
		width: 100% !important;
	}

	.fullness_page .fullness_points_nav br {
		display: none;
	}

	.fullness_page .fullness_points_nav .btn.arrow_btn {
		font-size: 16px !important;
		min-height: 40px;
	}
}


@media screen and (max-width: 480px) {
	.fullness_page .fullness_points_nav br {
		display: block;
	}
	.en .fullness_page .fullness_points_nav .btn.arrow_btn {
	    font-size: 14px !important;
	}
}

@media screen and (max-width: 450px) {
	.fullness_page .fullness_points_nav .btn.arrow_btn {
		font-size: 14px !important;
	}
}

.fullness_page .fullness_points_wrap {
	width: 100%;
}

.fullness_page .fullness_point_section {
	margin-bottom: 2.5em;
	position: relative;
}

.fullness_page .fullness_point_section:last-child {
	margin-bottom: 0;
}

/* ヘッダー：Point部分をタグ風に */
.fullness_page .fullness_point_header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	margin-bottom: 0;
	border-radius: 8px 8px 0 0;
	overflow: hidden;
	position: relative;
	z-index: 2;
	background: #00326a;
	gap: 12px;
	padding: 12px 20px;
}

.fullness_page .fullness_point_header_left {
	flex: 0 0 auto;
	padding: 3px 15px;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	background: #7189ad;;
	border-radius: 20px;
}

#nagoya .fullness_page .fullness_point_header_left {
	background: #a71717;
}

.fullness_page .fullness_point_header_right {
	flex: 1 1 auto;
	padding: 0;
	color: #ffffff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	background: transparent;
}

#nagoya .fullness_page .fullness_point_header {
	background: #e6023ba3;
}

#nagoya .fullness_page .fullness_point_header_right {
	background: transparent;
}

.en .fullness_page .fullness_point_header_right {
	font-size: 16px !important;
}

.en .fullness_page .fullness_points_nav .btn.arrow_btn span {
	font-size: 14px !important;
}

.en .fullness_page .fullness_points_nav li:last-child .btn.arrow_btn {
	padding-left: 40px;
}

.en .fullness_page .fullness_points_nav li:last-child .btn.arrow_btn span {
	font-size: 11px !important;
	display: block;
	line-height: 1.2;
}

.fullness_page .fullness_point_header_right_purple {
	background: #6b6b7a;
}

#nagoya .fullness_page .fullness_point_header_right_purple {
	background: #8b5a5a;
}

.fullness_page .fullness_point_header_right_large {
	font-size: 1em;
	font-weight: 700;
}

.fullness_page .fullness_point_body {
	background: #fff;
	border: 1px solid #e8e8e8;
	border-top: none;
	border-radius: 0 0 8px 8px;
	padding: 1.5em;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.fullness_page .fullness_point_col2 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2em;
}

.fullness_page .fullness_point_col_l {
	flex: 1 1 45%;
	min-width: 280px;
}

.fullness_page .fullness_point_col_r {
	flex: 1 1 45%;
	min-width: 280px;
}


.fullness_page .fullness_point_figure img {
	display: block;
	width: 100%;
}

/* Point 1：画像上の見出し（大・太字・黒・中央・青線下） */
.fullness_page .fullness_point_headline_over_img {
	margin-bottom: 20px;
	padding-bottom: 0.8em;
	font-size: 18px;
	font-weight: 700;
	color: #00326a;
	text-align: left;
	line-height: 1.4;
	border-bottom: 3px solid #00326a;
}

#nagoya .fullness_page .fullness_point_headline_over_img {
	border-bottom-color: #a71717;
	color: #a71717;
}

.fullness_page .fullness_point_desc {
	margin: 0 0 1em;
	line-height: 1.8;
}

.fullness_page .fullness_point_steps_ttl {
	font-weight: 700;
	margin: 0 0 0.5em;
	font-size: 0.95em;
	color: #00326a;
}

#nagoya .fullness_page .fullness_point_steps_ttl {
	color: #a71717;
}

.fullness_page .fullness_point_steps {
	margin: 0 0 1.2em;
	padding-left: 0;
	list-style: none;
	counter-reset: step;
}

.fullness_page .fullness_point_steps li {
	margin-bottom: 0.4em;
	line-height: 1.6;
	padding-left: 2em;
	position: relative;
	counter-increment: step;
}

.fullness_page .fullness_point_steps li::before {
	content: counter(step) ".";
	position: absolute;
	left: 0;
	color: #00326a;
	font-weight: 700;
	font-size: 0.85em;
}

#nagoya .fullness_page .fullness_point_steps li::before {
	color: #a71717;
}

/* Point 2：キーメッセージ（大・太字・黒・黄マーカー・右寄せ） */
.fullness_page .fullness_point_keymsg {
	margin: 0 0 1em;
	padding: 0.3em 0.2em 0.2em;
	font-size: 1.2em;
	font-weight: 700;
	color: #000;
	text-align: right;
	line-height: 1.5;
	background: linear-gradient(transparent 55%, #fff000 55%);
	background-size: 100% 1.4em;
	background-repeat: no-repeat;
	background-position: 0 0.35em;
	width: fit-content;
	margin-left: auto;
}

#nagoya .fullness_page .fullness_point_keymsg {
	background: linear-gradient(transparent 55%, #fff000 55%);
	background-size: 100% 1.4em;
	background-repeat: no-repeat;
	background-position: 0 0.35em;
}

.fullness_page .fullness_point_section .btn_cont {
	margin: 1em 0 0;
}

/* 見学リストのつくり方ボタン：細く、文字幅に合わせる */
.fullness_page .btn_visit_list {
	display: inline-block !important;
	width: fit-content !important;
}

/* fullness：CTAボタン＋直下注釠（幅はボタンと注釠の広い方に合わせ、注釠はその中で中央） */
.fullness_page .fullness_cta_wrap {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	max-width: 100%;
}

/* Point1 単独CTAのみ左右を広げる */
.fullness_page .fullness_point_01 .fullness_cta_wrap > a.btn.arrow_btn.btn_visit_list {
	padding: 10px 3em !important;
}
/* .fullness_page .fullness_point_col_r > .fullness_cta_wrap {
	margin-top: 1em;
} */
.fullness_page .fullness_cta_wrap .txt_red_sm {
	margin: 0;
	text-align: center;
}

/* Point3「見学リストを作成する」— area色(color_yh / color_ng)は付けない。競合しないので .fullness_page 配下のみ短く指定 */
.fullness_page .btn_make_list {
	text-shadow: 0px 0px 5px rgb(0 0 0 / 50%);
	background: linear-gradient(90deg, #c9d108 0%, #91e04b 75%) !important;
}

.fullness_page .btn_make_list.disabled {
    background: #a2a2a2 !important;
}

/* メッセージボックス（ボタンではなく背景付きボックス） */
.fullness_page .fullness_point_msg_box {
	margin: 30px 0 0;
	padding: 20px 10px;
	background: #f1f8ff;
	border-radius: 4px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

#nagoya .fullness_page .fullness_point_msg_box {
	background: #fff5f5;
	border-left-color: #a71717;
}

.fullness_page .fullness_point_section .col2_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
	margin-top: 1.5em;
}

.fullness_page .fullness_point_section .col2_btn li {
	display: flex;
	justify-content: center;
	box-sizing: border-box;
	flex: 1 1 0;
	min-width: 0;
}

/*
 * Point3：style_under.css の `.under_page .btn:not(..., .col2_btn a, ...)` で
 * .col2_btn 内の a は除外され、共通 .btn の padding(0.1em)のみが当たる。
 * Point1〜2の単独CTAだけ under_page .btn の padding 10px 1em が当たるため小さく見える。
 */
.fullness_page .fullness_point_section .col2_btn .fullness_cta_wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 100%;
}

.fullness_page .fullness_point_section .col2_btn a.btn.arrow_btn.btn_visit_list {
	display: block !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	padding: 10px 1em;
	text-align: center;
}

@media screen and (min-width: 481px) {
	.fullness_page .fullness_point_section .col2_btn {
		flex-wrap: nowrap;
	}
}

.fullness_page .fullness_point_flow {
	display: flex;
	flex-direction: column;
	gap: 1.5em;
}

.fullness_page .fullness_point_flow_step {
	position: relative;
	background: #fff;
	border-radius: 8px;
	padding: 1em;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
	border: 1px solid #eee;
}

.fullness_page .fullness_point_flow_step:not(:last-child)::after {
	content: "→";
	display: block;
	text-align: center;
	color: #00326a;
	font-size: 1.2em;
	font-weight: 700;
	margin-top: 0.5em;
}

#nagoya .fullness_page .fullness_point_flow_step:not(:last-child)::after {
	color: #a71717;
}

.fullness_page .fullness_point_flow_ttl {
	font-weight: 700;
	margin: 0 0 0.5em;
	font-size: 0.95em;
}

.fullness_page .fullness_point_flow_note {
	font-size: 0.9em;
	color: #666;
	margin: 0 0 0.5em;
}

.fullness_page .fullness_point_flow_step .fullness_point_figure {
	margin-top: 0.5em;
}

@media screen and (max-width: 768px) {
	.fullness_page .fullness_point_col2 {
		gap: 20px;
	}

	.fullness_page .fullness_point_col_l,
	.fullness_page .fullness_point_col_r {
		flex: 1 1 100%;
		min-width: 100%;
	}

	.fullness_page .fullness_point_header {
		flex-direction: row;
		flex-wrap: nowrap;
	}

	.fullness_page .fullness_point_header_right {
		font-size: 16px;
	}

	.fullness_page .fullness_points_wrap {
		padding-top: 1em;
	}

	.fullness_page .fullness_point_keymsg {
		text-align: center;
		margin-left: 0;
	}
}

@media screen and (max-width: 480px) {
	.fullness_page .fullness_point_body {
		padding: 1em;
	}

	.fullness_page .fullness_point_section .col2_btn {
		flex-wrap: wrap;
	}

	.fullness_page .fullness_point_section .col2_btn li {
		flex: 0 0 100%;
		width: 100%;
		max-width: none;
	}

	.fullness_page .fullness_point_headline_over_img {
		font-size: 1.15em;
	}

	.fullness_page .fullness_point_keymsg {
		font-size: 1.05em;
	}

	.fullness_page .fullness_point_section li.btn_cont {
		display: flex;
		justify-content: center;
	}

	.fullness_page .btn_visit_list {
		width: 100% !important;
		max-width: 320px;
		display: block !important;
		text-align: center;
		box-sizing: border-box;
	}
}

.fullness_page .anchor_link .arrow_btn:after {
	content: "\f078";
}

.fullness_page .col2_btn.anchor_link li a i {
	margin-right: 5px;
}

.fullness_page .btn_cont {
	margin: auto;
}

.fullness_page .timeline_sub-ttl.circle_title i {
	margin-right: 5px;
}

.fullness_page h5.circle_title i {
	margin-right: 5px;
}

@media screen and (max-width: 850px) {
	/* 英語ページ：タブレット850以下は下線なし */
	.en .fullness_page .line_title {
		background: none;
	}
}

@media screen and (max-width: 768px) {
	.fullness_page .col2_btn.anchor_link li {
		width: 100%;
	}

	.col2_btn li.btn_cont {
		width: 100%;
		margin-bottom: 10px;
	}

	/* 英語ページ：画像の左右に余白をつける */
	.en .fullness_page .col3.more_list li figure {
		padding-right: 10px;
		padding-left: 10px;
	}
}

@media screen and (max-width: 650px) {
	.fullness_page .col2 dl {
		width: 100%;
	}

	.flex_fullness_list .fullness_list {
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	.fullness_page .timeline-001__section {
		padding-bottom: 1.5em;
	}

	.fullness_page .bar_ttl {
		padding: 0.6em;
	}

	.col3.more_list li {
		width: 100%;
		margin-bottom: 10px;
	}

	.flex_fullness_list .fullness_txt {
		width: 100%;
		margin-bottom: 20px;
	}

	.fullness_page .fullness_list.fullness_list02 {
		margin-top: 0;
	}

	.fullness_page .fullness2 {
		margin-top: -10px;
	}

	.fullness_page .about_list li {
		margin-top: 30px;
	}

	.col3.more_list li figure {
		max-width: 210px;
	}

	.fullness_page .fullness_list.fullness_list02,
	.fullness_page .timeline-001 .col2,
	.fullness_page .timeline-001 .timeline_sub-ttl,
	.fullness_page .timeline-001 .timeline_sub-ttl + p,
	.flex_fullness_list {
		width: 100%;
	}

	.fullness_page .col2_btn.anchor_link .btn {
		padding: 10px 40px 10px 20px;
		line-height: 120%;
	}
}

/*--------------------------------------------------
  その他ID指定
--------------------------------------------------*/
#intro_01 .col2 img {
	width: 45%;
}

@media screen and (max-width: 640px) {
	#intro_01 .col2 img {
		width: 100%;
	}
}

#intro_08 {
	/* margin-bottom: 60px; */
}

#yokohama .howto #intro_08 {
	padding-bottom: 60px;
}

#intro_08 .circle_title {
	margin-top: 60px;
}
