@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;
}

.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(/2025/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(/2025/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(/2025/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(/2025/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(/2025/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(/2025/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;
}

#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 .card_list li .col2 {
	background: #dc1a0b;
	background: -moz-linear-gradient(right, #dc1a0b 0%, #6f0000 100%);
	background: -webkit-linear-gradient(right, #dc1a0b 0%, #6f0000 100%);
	background: linear-gradient(to left, #dc1a0b 0%, #6f0000 100%);
	pointer-events: none;
}

.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-block;
	width: 8em;
	font-size: 0.7em;
	position: relative;
	text-align: center;
	background-color: #0041ff;
	padding: 3px 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 .online::before,
.card_list li dl dd .nagoya::before {
	font-family: "Material Icons";
	line-height: 1;
	display: inline-block;
	content: "place";
	color: #fff;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	margin-right: 0.25em;
	font-size: 13px;
	vertical-align: sub;
}

.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;
}

.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;
}

/*--------------------------------------------------
  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;
	border: 1px solid #4e4e4e;
}

.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);
}

.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;
}
