@charset "euc-jp";

:root {
	--karuizawa-blue: #191d6a;
	--karuizawa-green: #00723a;
	--buy-red: #ff222b;
	--sell-blue: #2484ff;
}

.buy-red { color: var(--buy-red);}
.sell-blue { color: var(--sell-blue);}

.marines-black { color: #000;}

#karuizawa {
	margin: 18px 10px;
}

.cont-wrapper {
	width: 900px;
	margin: 0 auto;
	padding: 0;
	background-color: #fff;
}
.cont-header {
	position: relative;
}

.head-member-btn,
.head-member-btn2,
.head-member-btn3 {
	position: absolute;
	display: block;
	padding: 6px 10px;
	font-size: 11px;
	color: #fff;
	background-color: var(--karuizawa-green);
	text-decoration: none;
	border-radius: 13px;
}
.head-member-btn {
	top: 42px;
	right: 8px;
}
.head-member-btn2 {
	top: 12px;
	right: 8px;
}
.head-member-btn3 {
	top: 70px;
	right: 8px;
}
.head-member-btn:hover,
.head-member-btn2:hover,
.head-member-btn3:hover {
	color: #fff;
	background-color: var(--karuizawa-blue);
}

.main-btn-list {
	display: table;
	margin: -32px auto 0;
}
.main-btn-list .main-btn-wrap {
	display: table-cell;
}
.main-btn-list .main-btn {
	width: 340px;
	height: 68px;
	text-align: left;
}
.main-btn-list .main-btn:first-child {
	margin-right: 24px;
}
.btn-bg {
	position: relative;
	width: 340px;
	height: 68px;
	background-color: #fff;
	border-radius: 34px;
	cursor: pointer;
}
.btn-bg::after {
	content: '▼';
	position: absolute;
	top: 28px;
	right: 32px;
	color: #fff;
	font-size: 1rem;
}
.main-btn.open .btn-bg::after {
	content: '▲';
}
.main-btn-submenu {
	display: none;
	position: absolute;
	margin: 0 0 0 0;
	background-color: #fff;
	width: 340px;
	border: 3px solid #ddd;
	border-radius: 6px;
	z-index: 1;
	box-shadow: 0 0 12px 1px rgb(0 0 0 / 20%);
}
.main-btn-submenu.sell{
	border-color: #2484ff;
}
.main-btn-submenu.buy{
	border-color: #ff222b;
}
.main-btn-submenu a {
	position: relative;
	display: block;
	padding: 16px 18px;
	font-size: 1.4rem;
	color: #555;
	text-decoration: none;
	border-bottom: 1px solid #e6e6e6;
}
.main-btn-submenu.sell a.top-link {
	padding: 18px 18px;
	font-size: 1.8rem;
	font-weight: bold;
	color: #2484ff;
}
.main-btn-submenu.buy a.top-link {
	padding: 18px 18px;
	font-size: 1.8rem;
	font-weight: bold;
	color: #ff222b;
}
.main-btn-submenu a::after {
	position: absolute;
	top: 50%;
	right: 13px;
	display: block;
	content: '';
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: 1px solid #888;
	border-right: 1px solid #888;
	transform: rotate(45deg);
}
.main-btn-submenu a:hover {
	background-color: #f6f6f6;
}
.main-btn-submenu.sell a.top-link:hover {
	color: #fff;
	background-color: #2484ff;
}
.main-btn-submenu.buy a.top-link:hover {
	color: #fff;
	background-color: #ff222b;
}
.main-btn-submenu a.top-link:hover::after {
	border-color: #fff;
}

.main-sub-links {
	display: table;
	margin: 18px auto 0;
}
.main-sub-links li {
	display: table-cell;
}
.main-sub-links li:first-child {
	padding-right: 24px;
}
.main-sub-links li a {
	display: block;
	position: relative;
	width: 388px;
	height: 88px;
	padding: 30px 0 0 20px;
	font-size: 2.4rem;
	font-weight: bold;
	color: #fff;
	background-color: var(--karuizawa-blue);
	border: 4px solid var(--karuizawa-blue);
	border-radius: 4px;
	text-decoration: none;
	overflow: hidden;
}
.main-sub-links .btn-beginner::before {
	content: url(/karuizawainternational/img/icon-beginner.png);
	position: absolute;
	top: 18px;
	left: 18px;
}
.main-sub-links .btn-flow::before {
	content: url(/karuizawainternational/img/icon-flow.png);
	position: absolute;
	top: 26px;
	left: 56px;
}
.main-sub-links .btn-beginner::after,
.main-sub-links .btn-flow::after {
	content: url(/karuizawainternational/img/icon-arrow2.png);
	position: absolute;
	top: 30px;
	right: 24px;
}
.main-sub-links .btn-beginner:hover::after,
.main-sub-links .btn-flow:hover::after {
	right: 32px;
}

h2 {
	display: inline-block;
	width: 340px;
	padding: 16px 0 12px;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1;
	border: 2px solid var(--karuizawa-blue);
	border-radius: 34px;
}
h2 span {
	font-size: 3.6rem;
	font-weight: bold;
}
h2.buy {
	border-color: #ff222b;
}
h2.sell {
	border-color: #2484ff;
}

.calender-wrap {
	padding: 18px 30px;
	background-color: var(--karuizawa-blue);
}

.calender-event-list {
	margin-top: 6px;
}
.calender-event {
	margin-bottom: 6px;
}

.event-cell {
	display: table;
	width: 100%;
	padding: 18px 24px;
	background-color: #fff;
	border-radius: 3px;
}

.event-cell li {
	display: table-cell;
	vertical-align: middle;
}
.event-cell li.event-date {
	width: 160px;
	text-align: left;
	font-family: 'Noto Sans JP';
	font-size: 3.6rem;
}
.event-cell li.event-info {
	text-align: left;
	vertical-align: middle;
	padding: 0 12px;
}
.event-cell li.event-link {
	width: 154px;
	text-align: center;
}
.event-cell .event-type,
.event-cell .event-location {
	font-size: 1.2rem;
}
.event-cell .event-location {
	position: relative;
	display: inline-block;
	padding-left: 27px;
}
.event-cell .event-location::before {
	content: url(/karuizawainternational/img/icon-location.png);
	position: absolute;
	top: -2px;
	left: 12px;
}
.event-cell .event-title {
	display: inline-block;
	position: relative;
	padding: 14px 0 0 0;
	font-family: 'Noto Sans JP';
	font-size: 3.2rem;
	font-weight: bold;
}

.event-title-wrapper {
	display: flex;
	align-items: center;
}
.event-title-wrapper span {
	padding: 14px 6px 0 0;
}

.event-title.logo-pl-buf,
.event-title.logo-pl-fig {
	padding-left: 48px;
}

.event-cell .event-link a {
	display: inline-block;
	width: 154px;
	padding: 11px 0;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	background-color: var(--karuizawa-green);
	text-decoration: none;
	border-radius: 4px;
}

.event-cell .event-link a:hover {
	filter: alpha(opacity = 80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}
.event-cell .event-inactive {
	display: inline-block;
	width: 154px;
	padding: 8px 0;
	font-size: 1.2rem;
	line-height: 1.4;
	color: #fff;
	background-color: #999;
	text-decoration: none;
	border-radius: 4px;
}

.calender-pager-wrap {
	position: relative;
}

.calender-pager {
	display: table;
	width: 648px;
	margin: 18px auto;
}

.calender-pager li {
	display: table-cell;
	width: 54px;
	height: 38px;
	margin: 0 auto;
	color: #999;
	background-color: #fff;
	text-align: center;
	vertical-align: middle;
	font-size: 2.4rem;
	border-right: 1px solid #999;
}
.calender-pager li a {
	display: block;
	width: 54px;
	height: 38px;
	padding: 8px 0;
	color: #00214b;
	text-decoration: none;
}
.calender-pager li a:hover {
	color: #fff;
	background-color: #00214b;
}
.calender-pager li.active {
	color: #fff;
	background-color: #00214b;
}
a.calender-prev {
	position: absolute;
	display: block;
	top: 1px;
	left: 32px;
	width: 54px;
	height: 36px;
	padding: 12px 0 0;
	color: #333;
	font-size: 1.4rem;
	font-weight: bold;
	text-decoration: none;
	background-color: #fff;
}
a.calender-prev::before {
	content: "";
	position: absolute;
	top: 0;
	left: -48px;
	width: 0;
	height: 0;
	border-top: 18px solid transparent;
	border-right: 24px solid #ffffff;
	border-bottom: 18px solid transparent;
	border-left: 24px solid transparent;
}
a.calender-prev:hover {
	color: #fff;
	background-color: #ad0009;
}
a.calender-prev:hover::before {
	border-right: 24px solid #ad0009;
}
a.calender-next {
	position: absolute;
	display: block;
	top: 1px;
	right: 32px;
	width: 54px;
	height: 36px;
	padding: 12px 0 0;
	color: #333;
	font-size: 1.4rem;
	font-weight: bold;
	text-decoration: none;
	background-color: #fff;
}
a.calender-next::before {
	content: "";
	position: absolute;
	top: 0;
	right: -48px;
	width: 0;
	height: 0;
	border-top: 18px solid transparent;
	border-right: 24px solid transparent;
	border-bottom: 18px solid transparent;
	border-left: 24px solid #ffffff;
}
a.calender-next:hover {
	color: #fff;
	background-color: #ad0009;
}
a.calender-next:hover::before {
	border-left: 24px solid #ad0009;
}
a.calender-prev.inactive,
a.calender-next.inactive {
	pointer-events: none;
	color: #999;
}

/*** お知らせ ***/
.npbo-info-list {
	width: 100%;
	border-top: 1px solid #ddd;
}
.npbo-info-list li {
	padding: 12px 36px;
	text-align: left;
	background-color: #fff;
	border-bottom: 1px solid #ddd;
	font-size: 1.8rem;
	line-height: 1.4;
}
.npbo-info-list li a {
	word-break: break-word;
}

/*** 重要なお知らせ ***/
.important_info {
	width: 740px;
	margin: 24px auto 0;
	padding: 24px;
	font-size: 20px;
	text-align: left;
	border: 2px solid #edca37;
	background-color: #ffc;
}
.important_info a {
	position: relative;
	display: inline-block;
	padding-left: 48px;
	font-weight: bold;
	line-height: 1.2;
	color: var(--karuizawa-blue);
	text-decoration: none;
	word-break: break-all;
}
.important_info a:hover {
	text-decoration: underline;
}
.important_info a::before {
	content: url(/karuizawainternational/img/pc-ex-icon.png);
	position: absolute;
	width: 36px;
	height: 32px;
	top: -4px;
	left: 0;
}

/*** トップに戻るボタン ***/
.to_top {
	width: 960px;
	margin: 36px auto;
	padding-right: 24px;
	text-align: right;
	font-size: 1.4rem;
}

/* フッターのトップへ戻るボタン(SP版の物を流用) */
.js-top-btn {
	width: 54px;
	height: 54px;
	position: fixed;
	right: 10%;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	overflow: hidden;
	color: #fff;
	background-color: #333;
	border-radius: 32px;
	opacity: .8;
	z-index: 100;
	cursor: pointer;
}
