/* Y'S GEAR : /event/boatshow/css/boatshow.css */


body {
	overflow-x: hidden;
}

.contentsWidth {
	overflow: hidden;
	font-size: 1.6rem;
	font-weight: 500;
}
.contentsWidth *, 
.contentsWidth *::before,
.contentsWidth *::after { box-sizing: border-box; }
.contentsWidth a,
.contentsWidth a::before,
.contentsWidth a::after { transition: all 0.3s ease; }
.contentsWidth a img { transition: all 0.3s ease; }

@media screen and (min-width: 569px) {
	.contentsWidth .sp { display: none !important; }
} /* */

@media screen and (max-width: 980px) {
	.contentsWidth {
		margin-right: -20px;
		margin-left: -20px;
	}
} /* */

@media screen and (max-width: 568px) {
	.contentsWidth {
		padding: 0 !important;
		margin-right: 0;
		margin-left: 0;
		font-size: 1.4rem;
	}
	.contentsWidth .pc { display: none !important; }
} /* */


/*======================================================================*
 *  [ Common ] 
 *======================================================================*/

/* [ 注釈 ] */
.note {
	padding-left: 1em;
	color: #333;
	font-size: 1.2rem;
	text-indent: -1em;
}

/*======================================================================*
 *  [ ヘッダー ] 
 *======================================================================*/

.bsHeader {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: min(128px, 13.1vw);
	margin-bottom: 30px;
	padding: 25px 20px;
	background: url(../img/header_bg.png) left top / 100% auto no-repeat;
}

.bsHeader .logo {
	width: 42.55%;
}
.bsHeader h2 {
	flex: 1;
	padding-right: 10px;
}
.bsHeader .booth {
	width: 26.38%;
}

@media screen and (max-width: 768px) {
	.bsHeader {
		display: block;
		background-size: 220% auto;
		text-align: center;
	}
	
	.bsHeader .logo {
		width: min(400px, 100%);
	}
	.bsHeader h2 {
		margin: 25px auto 15px;
		padding-right: 0;
	}
	.bsHeader .booth {
		width: min(248px, 100%);
	}
} /* */

@media screen and (max-width: 568px) {
	.bsHeader {
		margin-bottom: 0;
	}
	
	.bsHeader h2 {
		width: min(248px, 100%);
	}
	.bsHeader .booth {
		width: min(200px, 100%);
	}
} /* */


/*======================================================================*
 *  [ 終了テキスト ] 
 *======================================================================*/

.bsEnd {
	margin: 0 auto 50px;
	padding: 30px 20px;
	border: 3px double #014099;
	background: #EBF5FE;
	color: #014099;
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
}
.bsEnd p + p {
	margin-top: 10px;
}
.bsEnd b {
	display: inline-block;
}

@media screen and (max-width: 980px) {
	.bsEnd {
		width: calc(100% - 40px);
	}
} /* */

@media screen and (max-width: 568px) {
	.bsEnd {
		width: calc(100% - 20px);
		padding: 20px 10px;
		font-size: 2rem;
	}
} /* */


/*======================================================================*
 *  [ ナビゲーション ] 
 *======================================================================*/

.bsNav {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	max-width: 680px;
	margin: 0 auto 75px;
	padding: 0 20px;
}

/* [ ボタン ] */
.bsNav a {
	display: flex;
	align-items: center;
	gap: 20px;
	width: min(290px, 50%);
	padding: 20px;
	background: #014099;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}
.bsNav a:hover,
.bsNav a:active {
	color: #fff !important;
	opacity: 0.7;
}
.bsNav a::before {
	display: block;
	width: 22px;
	height: 14px;
	background: url(../img/icon_arrow.svg) center center / contain no-repeat;
	content: "";
}
.bsNav a span {
	flex: 1;
}

@media screen and (max-width: 568px) {
	.bsNav {
		gap: 10px;
		margin-bottom: 50px;
		padding: 0 10px;
	}

	/* [ ボタン ] */
	.bsNav a {
		gap: 15px;
		width: 50%;
		padding: 15px;
		font-size: 1.6rem;
	}
} /* */


/*======================================================================*
 *  [ イベント ] 
 *======================================================================*/

.bsEvent {
	margin-bottom: 100px;
	padding-bottom: 50px;
	background: #004098;
	/* background: url(../img/event_bg.jpg) #014099; */
	background: linear-gradient(to bottom, #ffffff min(500px, 50vw),#014099 min(500px, 50vw),#014099 100%);
	color: #fff;
}

/* [ タイトル ] */
.bsEvent h3 {
	position: relative;
	margin-bottom: -5%;
	padding: 0 12%;
	text-align: center;
	z-index: 5;
}

/* [ 共通 ] */
.bsConsult, .bsTalk, .bsProfile {
	width: min(860px, 100%);
	margin: 0 auto;
	padding: 0 20px;
}
.bsConsult h4, .bsTalk h4 {
	width: 100%;
	margin-bottom: 30px;
	padding: 0.4em 1em;
	border-radius: 2em;
	background: #001E4F;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
}

@media screen and (max-width: 568px) {

	/* [ タイトル ] */
	.bsEvent h3 {
		padding: 0 10px;
	}

	/* [ 共通 ] */
	.bsConsult, .bsTalk, .bsProfile {
		padding: 0 10px;
	}
	.bsConsult h4, .bsTalk h4 {
		padding: 0.6em 1em;
		border-radius: 2.2em;
		font-size: 2.2rem;
	}
} /* */


/*======================================================================*
 *  [ イベント：アドバイザー ] 
 *======================================================================*/

.bsAdvisor {
	padding-bottom: 30px;
}
.bsAdvisor p {
	margin-top: -30px;
	padding: 0 12%;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.bsAdvisor p {
		margin-top: 0;
	}
} /* */

@media screen and (max-width: 568px) {
	.bsAdvisor {
	}

	.bsAdvisor p {
		padding: 0 20px;
	}
	.bsAdvisor p img {
		width: min(375px, 100%);
	}
} /* */


/*======================================================================*
 *  [ イベント：お悩み相談 ] 
 *======================================================================*/

.bsConsult {
	text-align: center;
}

/* [ 悩み ] */
.bsConsult ul {
	display: flex;
	justify-content: center;
	gap: 30px;
	margin-bottom: 40px;
}
.bsConsult li img {
	border-radius: 50%;
	filter: drop-shadow(5px 5px 20px #001E4F); 
}

/* [ テキスト ] */
.bsConsult .txt {
	display: flex;
	justify-content: center;
	align-items: end;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 20px;
}

/* [ 日付 ] */
.bsConsult .date {
	margin-bottom: 5px;
}

/* [ 注釈 ] */
.bsConsult a.note {
	color: #fff !important;
	text-decoration: underline;
}
.bsConsult a.note:hover, 
.bsConsult a.note:active {
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	/* [ 悩み ] */
	.bsConsult ul {
		gap: 20px;
	}
} /* */

@media screen and (max-width: 568px) {
	/* [ 悩み ] */
	.bsConsult ul {
		justify-content: center;
		flex-wrap: wrap;
		padding: 0 10px;
	}
	.bsConsult li {
		width: calc(50% - 10px);
	}
	.bsConsult li:last-child {
		margin-top: -10%;
	}
} /* */


/*======================================================================*
 *  [ イベント：トークショー ] 
 *======================================================================*/

.bsTalk {
	display: flex;
	flex-wrap: wrap;
}

/* [ トーク ] */
.bsTalk .talk {
	display: flex;
	justify-content: space-between;
	align-items: start;
	flex-wrap: wrap;
	gap: 20px 0;
	width: 50%;
}
.bsTalk .talk:nth-of-type(1) {
	padding-right: 20px;
}
.bsTalk .talk:nth-of-type(2) {
	padding-left: 20px;
	border-left: 1px solid #fff;
}
.bsTalk .talk h5 {
	width: 100%;
	font-size: 2rem;
}
.bsTalk .talk p {
	width: 100%;
}
.bsTalk .talk dl {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 0;
	width: calc(100% - 120px);
	font-weight: bold;
}
.bsTalk .talk dt {
	width: 3em;
}
.bsTalk .talk dd {
	width: calc(100% - 3em);
}
.bsTalk .talk a:not([href]) {
	pointer-events: none;
}

@media screen and (max-width: 768px) {
	.bsTalk {
		display: block;
	}

	/* [ トーク ] */
	.bsTalk .talk {
		width: min(440px, 100%);
		margin: 0 auto;
	}
	.bsTalk .talk:nth-of-type(1) {
		padding: 0 0 20px;
	}
	.bsTalk .talk:nth-of-type(2) {
		padding: 20px 0 0;
		border-top: 1px solid #fff;
		border-left: none;
	}
} /* */

@media screen and (max-width: 568px) {
	/* [ トーク ] */
	.bsTalk .talk {
		padding-right: 5px !important;
		padding-left: 5px !important;
	}
	.bsTalk .talk h5 {
		font-size: 1.8rem;
	}
	.bsTalk .talk p {
		width: min(300px, 100%);
	}
} /* */


/*======================================================================*
 *  [ イベント：アドバイザープロフィール ] 
 *======================================================================*/

.bsProfile {
	margin-top: 100px;
}

/* [ タイトル ] */
.bsProfile h4 {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-bottom: 50px;
	font-size: 3rem;
}
.bsProfile h4::before,
.bsProfile h4::after {
	content: "／";
}

/* [ プロフィール ] */
.bsProfile .profile {
	display: flex;
	align-items: start;
	gap: 40px;
	margin-bottom: 50px;
}
.bsProfile .profile img {
	display: block;
	width: 212px;
	margin: 0 auto;
}
.bsProfile .profile div {
	flex: 1;
}
.bsProfile .profile h5 {
	margin-bottom: 5px;
	font-size: 3rem;
}
.bsProfile .profile h5 span {
	display: inline-block;
	font-size: 1.4rem;
}
.bsProfile .profile h5 + p {
	margin-bottom: 20px;
	font-size: 2rem;
	font-weight: bold;
}
.bsProfile .profile h5 + p span {
	display: inline-block;
}

/* [ welcome ] */
.bsProfile .welcome {
	text-align: center;
}

@media screen and (max-width: 768px) {
	/* [ プロフィール ] */
	.bsProfile .profile {
		gap: 20px;
	}
} /* */

@media screen and (max-width: 568px) {
	.bsProfile {
		margin-top: 60px;
	}

	/* [ タイトル ] */
	.bsProfile h4 {
		font-size: 2rem;
	}

	/* [ プロフィール ] */
	.bsProfile .profile {
		display: block;
	}
	.bsProfile .profile img {
		margin-bottom: 20px;
	}
	.bsProfile .profile h5 {
		font-size: 2.6rem;
		text-align: center;
	}
	.bsProfile .profile h5 + p {
		margin-bottom: 10px;
		font-size: 1.8rem;
		text-align: center;
	}
	.bsProfile .profile p + p {
		width: min(355px, 100%);
		margin: 0 auto;
	}

	/* [ welcome ] */
	.bsProfile .welcome img {
		width: min(355px, 100%);
	}
} /* */


/*======================================================================*
 *  [ 展示内容 ] 
 *======================================================================*/

.bsExh {
	margin-bottom: 40px;
}

/* [ 見出し + テキスト ] */
.bsExh h3 {
	margin-bottom: 50px;
	padding: 30px 20px;
	border-top: 3px solid #001E4F;
	border-bottom: 3px solid #001E4F;
	text-align: center;
}
.bsExh h3 + p {
	margin-bottom: 50px;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}

.bsExh h4 {
	margin-bottom: 50px;
	color: #001E4F;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}

/* [ 内容 ] */
.bsExh .list {
	display: flex;
	align-items: center;
	gap: 20px;
	max-width: 880px;
	margin: 0 auto 50px;
}
.bsExh .list > div {
	flex: 1;
}
.bsExh .list ul {
	font-weight: bold;
}
.bsExh .list li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 1.4em;
}
.bsExh .list li::before {
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 1em;
	height: 1em;
	border: 3px solid #fff;
	border-radius: 50%;
	background: #001E4F;
	content: "";
}
.bsExh .list a {
	color: #014099;
	text-decoration: underline;
}
.bsExh .list a:hover,
.bsExh .list a:active {
	color: #014099 !important;
	text-decoration: none;
}
.bsExh .list img {
	width: 50%;
}

/* [ ブース ] */
.bsExh .booth .note {
	text-align: right;
}

@media screen and (max-width: 980px) {
	.bsExh {
		padding: 0 20px;
	}

	/* [ 見出し + テキスト ] */
	.bsExh h3 {
		margin-right: -20px;
		margin-left: -20px;
	}
} /* */

@media screen and (max-width: 768px) {
	/* [ 内容 ] */
	.bsExh .list {
		display: block;
	}
	.bsExh .list div {
		width: min(440px, 100%);
		margin: 0 auto 30px;
	}
	.bsExh .list img {
		display: block;
		width: min(440px, 100%);
		margin: 0 auto;
	}
} /* */

@media screen and (max-width: 568px) {
	.bsExh {
		padding: 0 10px;
		margin-bottom: 40px;
	}

	/* [ 見出し + テキスト ] */
	.bsExh h3 {
		margin: 0 -10px 30px;
		padding: 20px 0;
	}
	.bsExh h3 + p {
		margin-bottom: 30px;
		font-size: 1.6rem;
	}

	/* [ 小見出し ] */
	.bsExh h4 {
		margin-bottom: 30px;
		font-size: 1.8rem;
	}

	/* [ 内容 ] */
	.bsExh .list {
		display: block;
	}

	/* [ ブース ] */
	.bsExh .booth .note {
		text-align: left;
	}
} /* */


/*======================================================================*
 *  [ ボートショー ] 
 *======================================================================*/

.bsJibs {
	padding: 50px 20px;
	background: #ebf5fe;
	text-align: center;
}

/* [ ロゴ ] */
.bsJibs .logo {
	margin-bottom: 25px;
	width: min(670px, 100%);
}

/* [ 詳細 ] */
.bsJibs dl {
	display: flex;
	align-items: start;
	flex-wrap: wrap;
	gap: 20px;
	max-width: 670px;
	margin: 0 auto 20px;
	color: #001E4F;
	font-weight: bold;
	text-align: left;
}
.bsJibs dt {
	width: 68px;
	background: #0097D0;
	color: #fff;
	text-align: center;
	line-height: 1.8;
}
.bsJibs dd {
	width: calc(100% - 20px - 68px);
	font-size: 1.8rem;
	line-height: 1.6;
}
.bsJibs dd span {
	display: inline-block;
	font-size: calc(1em - 0.4rem);
}

/* [ リンク ] */
.bsJibs .link {
	display: inline-block;
	position: relative;
	width: min(670px, 100%);
	padding: 5px 10px 5px 32px;
	border: 1px solid #014099;
	background: #fff;
	color: #014099;
	font-size: 2rem;
	font-weight: bold;
	text-align: left;
}
.bsJibs .link:hover,
.bsJibs .link:active {
	background: rgba(1, 64, 153, 0.1);
}
.bsJibs .link::before {
	position: absolute;
	top: 50%;
	left: 10px;
	width: 18px;
	height: 12px;
	background: #014099;
	mask: url(../img/icon_arrow.svg) center center / contain no-repeat;
	transform: translateY(-50%) rotate(-90deg);
	content: "";
}
.bsJibs .link span {
	display: inline-block;
}

@media screen and (max-width: 568px) {
	.bsJibs {
		padding: 30px 10px;
	}

	/* [ 詳細 ] */
	.bsJibs dl {
		gap: 20px 10px;
	}
	.bsJibs dt {
		width: 62px;
	}
	.bsJibs dd {
		width: calc(100% - 10px - 62px);
		font-size: 1.4rem;
		line-height: 1.8;
	}
	.bsJibs dd img {
		width: min(360px, 100%);
	}

	/* [ リンク ] */
	.bsJibs .link {
		font-size: 1.4rem;
	}
} /* */