/*
config
*/
:root {
	--font-serif: "Noto Serif JP",serif;
	--font-sans: "Noto Sans JP",sans-serif;
	--font-serif-slant: "Fanwood Text",serif;

	--color-logo: #a4282e;		/*ロゴ色*/
	--color-member: #c1ac33;	/*会員*/
	--color-opencompe: #7c9e35;	/*オープンコンペ*/
	--color-monfri: #5185ac;	/*月金クラブ*/
	--color-ladies: #da6679;	/*レディース会*/
	--color-notice: #aaa;		/*情報*/
	--color-gold: #968a4b;

}
/*
html
*/
html {
	overflow-y: scroll;
	overflow-x: hidden;
	background-color: #fff;
	> body {
		margin: 0;
		font-family: var(--font-sans);
		font-feature-settings: "palt" 1;
		line-break: strict;
		overflow-x: hidden;
		min-height: 100vh;
		scroll-behavior: smooth;
		text-rendering: optimizeSpeed;
	}
}
/*
headerfix01wrapper
*/
#headerfix01wrapper {
	user-select: none;
	position: fixed;
	width: 100%;
	background-color: white;
	z-index: 2;
	transition: all 0.3s;
	@media print {
		display: none;
	}
	@media (width < 900px) {
		display: none;
	}
	> header {
		position: relative;
		padding: 0 5%;
		> .inner {
			height: 80px;
			max-width: 1300px;
			margin: 0 auto;
			display: flex;
			justify-content: space-between;
			align-items: center;
			transition: all 0.3s;
			> .logo {
				> a {
					text-decoration: none;
					&[href]:hover {
						opacity: 0.8;
					}
					> img {
						width: 350px;
						height: 56px;
						transition: all 0.3s;
					}
				}
			}
			> .menu {
				display: flex;
				align-items: center;
				justify-content: space-between;
				width: 420px;
				transition: 0.3s;
				> a {
					display: block;
					text-decoration: none;
					font-size: 1.5rem;
					line-height: 1;
					font-family: var(--font-sans);
					font-weight: 500;
					transition: 0.3s;
					&:hover {
						opacity: 0.7;
					}
					&:nth-of-type(1),
					&:nth-of-type(2) {
						color: #fff;
						padding: 10px 0;
						width: 9em;
						border-radius: 5px;
						text-align: center;
					}
					&:nth-of-type(1) {
						background-image: linear-gradient(#e6553d,#a6282f);
					}
					&:nth-of-type(2) {
						background-image: linear-gradient(#d4c369,#9a8a28);
					}
					&:nth-of-type(3) {
						background-image: linear-gradient(#12d412,#10bd10);
						width: 9em;
						border-radius: 5px;
						display: flex;
						justify-content: center;
						align-items: center;
						cursor: pointer;
						> div {
							background-image: url(../image/mark_line2.svg);
							background-repeat: no-repeat;
							background-position: 0% 50%;
							min-height: 28px;
							min-width: 35px;
							transition: 0.3s;
						}
						> span {
							color: #fff;
							padding: 10px 0;
							transition: 0.3s;
						}
					}
				}
			}
		}
	}
	> nav {
		padding-bottom: 5px;
		border-bottom: solid 3px #fff;
		> ul {
			margin: 0;
			width: 100%;
			display: table;
			border-collapse: collapse;
			position: relative;
			> li {
				margin: 0;
				list-style: none;
				display: table-cell;
				vertical-align: middle;
				text-align: center;
				font-size: 1.7rem;
				border-style: none none none solid;
				border-width: 1px;
				border-color: #ccc;
				width: 15.33%;
				font-family: var(--font-sans);
				font-weight: 500;
				@media (width < 1000px) {
					font-size: 1.3rem;
				}
				&:hover {
					background-color: #eee;
					> .submenu {
						display: flex;
						padding: 15px 0;
						> dl {
							margin: 0 10px 0 0;
							> dd {
								margin: 0;
								text-align: left;
								> a {
									display: block;
									text-decoration: none;
									font-size: 1.4rem;
									line-height: 1.3;
									color: #333;
									padding: 10px 10px;
									border-radius: 5px;
									&[href]:hover {
										background-color: #fff;
									}
									@media (width < 1000px) {
										font-size: 1.1rem;
									}
								}
							}
						}
					}
				}
				&:first-child {
					border-style: none;
				}
				&:first-child,
				&:last-child {
					width: 4%;
					&:hover {
						background-color: #fff;
					}
				}
				> a {
					display: block;
					text-decoration: none;
					color: #333;
					height: 40px;
					display: flex;
					align-items: center;
					justify-content: center;
					&:not([href]) {
						background-image: url(../image/submenu_arrow.svg);
						background-repeat: no-repeat;
						background-position: 93% 55%;
					}
				}
				> .submenu {
					display: none;
					position: absolute;
					width: 100vw;
					left: 0;
					top: 40px;
					background-color: #eee;
				}
			}
		}
	}
}
@media (width < 1300px) {
	#headerfix01wrapper {
		> nav {
			> ul {
				> li {
					width: auto;
					&:first-child,
					&:last-child {
						display: none;
					}
					&:nth-of-type(2) {
						border-style: none;
					}
					&:nth-of-type(2) > .submenu > dl:nth-of-type(1) {
						margin-left: 3%;
					}
					&:nth-of-type(4) > .submenu > dl:nth-of-type(1) {
						margin-left: 41%;
					}
					&:nth-of-type(5) > .submenu > dl:nth-of-type(1) {
						margin-left: 55%;
					}
				}
			}
		}
	}
}
/*
headerfix02wrapper
*/
#headerfix02wrapper {
	display: none;
	user-select: none;
	position: fixed;
	width: 100%;
	background-color: white;
	z-index: 2;
	transition: all 0.3s;
	@media print {
		display: none;
	}
	@media (width < 900px) {
		display: block;
	}
	> header {
		padding: 0 0 0 5%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 60px;
		> .logo {
			padding-top: 0px;
			> a {
				> img {
					max-width: 220px;
				}
			}
		}
		> .toggle {
			width: 65px;
			height: 60px;
			padding-top: 11px;
			box-sizing: border-box;
			background-color: var(--color-logo);
			text-align: center;
			> #toggleTopMenuButton {
				cursor: pointer;
				transition: all 0.3s;
				> svg {
					> line {
						stroke-linecap: round;
						stroke-width: 12%;
						stroke: #fff;
					}
				}
				> div {
					font-size: 1.0rem;
					line-height: 1;
					color: #fff;
				}
			}
		}
	}
	> nav {
		text-align: center;
		overflow: hidden;
		transition: all 0.3s;
		background-color: var(--color-logo);
		> ul {
			padding: 0;
			margin: 0;
			> li {
				list-style: none;
				font-size: 1.3rem;
				line-height: 4;
				font-weight: bold;
				border-top: solid 1px #c88;
				display: flex;
				> a {
					display: block;
					text-decoration: none;
					cursor: pointer;
					color: #fff;
					flex-grow: 1;
				}
				> a:nth-child(2),
				> a:nth-child(3) {
					border-left: solid 1px #c88;
				}
			}
		}
	}
}
/*
headerfixmarginwrapper
*/
#headerfixmarginwrapper {
	height: 128px;
	@media (width < 900px) {
		height: 60px;
	}
}
/*
footermenuwrapper
*/
#footermenuwrapper {
	padding: 0 5%;
	background-color: #fff;
	> .inner {
		margin: 0 auto;
		max-width: 1200px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 40px 0 30px 0;
		> input[type="checkbox"] {
			display: none;
		}
		> dl {
			margin: 0;
			padding: 0 20px 10px 20px;
			box-sizing: border-box;
			> dt {
				margin: 0;
				font-size: 1.5rem;
				padding: 5px 0;
				font-family: var(--font-sans);
				font-weight: 500;
				&.sp {
					display: none;
				}
			}
			> dd {
				margin: 0;
				font-size: 1.3rem;
				padding: 4px 0;
			}
			> dt > label,
			> dt > a,
			> dd > a {
				text-decoration: none;
				line-height: 1.4;
				&[href]:hover {
					text-decoration: underline;
				}
				&[target="_blank"] {
					padding-right: 22px;
					background-image: url(../image/mark_external_888.svg);
					background-repeat: no-repeat;
					background-position: 100% 0%;
				}
			}
			> dt > label {
				font-size: 1.3rem;
				color: var(--color-logo);
			}
			> dt > a,
			> dd > a {
				color: #333;
			}
		}
	}
}
@media screen and (max-width:1169px) {
	#footermenuwrapper {
		> .inner {
			> dl {
				width: 33.33%;
			}
		}
	}
}
@media screen and (max-width:709px) {
	#footermenuwrapper {
		> .inner {
			> dl {
				width: 50%;
			}
		}
	}
}
@media screen and (max-width:539px) {
	#footermenuwrapper {
		padding: 0 0;
		> .inner {
			padding: 50px 0 15px 0;
			> dl {
				width: 100%;
				padding: 0;
				> dt {
					&.sp {
						display: block;
					}
				}
				> dt,
				> dd {
					text-align: center;
					border-top: solid 1px #ccc;
					> label,
					> a {
						display: block;
						padding: 8px 0;
					}
					> label {
						background-image: url(../image/icon_square_plus_888.svg);
						background-repeat: no-repeat;
						background-position: 95% 50%;
					}
					&:empty {
						display: none;
					}
				}
			}
			> figure {
				display: block;
			}
			> input[type="checkbox"] + dl > dt:not(:first-child),
			> input[type="checkbox"] + dl > dd {
				max-height: 0;
				padding: 0;
				overflow: hidden;
				border-top: none;
				border-color: #fff;
				transition: all 0.3s;
			}
			> input[type="checkbox"]:checked + dl {
				> dt {
					> label {
						background-image: url(../image/icon_square_minus_888.svg);
					}
				}
				> dt:not(:first-child),
				> dd {
					max-height: 60px;
					padding: 6px 0;
					border-top: solid 1px #ccc;
				}
			}
		}
	}
}
/*
footernaviwrapper
*/
#footernaviwrapper {
	padding: 0 5%;
	background-color: #fff;
	> .inner {
		margin: 0 auto;
		max-width: 1200px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 20px 0;
		border-style: solid none;
		border-width: 1px;
		border-color: #888;
		> a {
			font-size: 1.5rem;
			line-height: 1;
			color: #333;
			padding: 0 50px;
			font-family: var(--font-sans);
			font-weight: 500;
			border-left: solid 1px #888;
			text-decoration: none;
			&[href]:hover {
				text-decoration: underline;
			}
			&:nth-of-type(1) {
				border-left: none;
			}
		}
	}
}
@media screen and (max-width:929px) {
	#footernaviwrapper {
		> .inner {
			> a {
				padding: 0 20px;
			}
		}
	}
}
@media screen and (max-width:669px) {
	#footernaviwrapper {
		> .inner {
			> a {
				padding: 0 10px;
			}
		}
	}
}
@media screen and (max-width:539px) {
	#footernaviwrapper {
		padding: 0;
		> .inner {
			padding: 0;
			border-style: solid none none none;
			> a {
				display: none;
			}
		}
	}
}
/*
footeraddresswrapper
*/
#footeraddresswrapper {
	padding: 0 5%;
	background-color: #fff;
	> .inner {
		max-width: 1200px;
		margin: 0 auto;
		padding: 20px 0;
		position: relative;
		> div {
			display: flex;
			justify-content: center;
			align-items: center;
			> figure {
				margin: 0 10px;
				max-width: 300px;
				> a {
					> img {
						max-width: 100%;
					}
				}
			}
			> div {
				margin: 0 10px;
				font-size: 1.5rem;
				line-height: 1.3;
				color: #333;
			}
		}
		> figure {
			margin: 0;
			position: absolute;
			top: calc(50% - 15px);
			right: 0%;
			cursor: pointer;
			background-image: linear-gradient(#12d412,#10bd10);
			width: 9em;
			border-radius: 5px;
			font-size: 1.4rem;
			display: flex;
			justify-content: center;
			align-items: center;
			&:hover {
				opacity: 0.7;
			}
			> div {
				background-image: url(../image/mark_line2.svg);
				background-repeat: no-repeat;
				background-position: 0% 50%;
				min-height: 28px;
				min-width: 35px;
				transition: 0.3s;
			}
			> span {
				color: #fff;
				padding: 8px 0;
				transition: 0.3s;
			}
		}
	}
}
@media screen and (max-width:999px) {
	#footeraddresswrapper {
		> .inner {
			> div {
				flex-direction: column;
				> div {
					margin: 10px 0 0 0;
				}
			}
		}
	}
}
@media screen and (max-width:679px) {
	#footeraddresswrapper {
		> .inner {
			> figure {
				display: none;
			}
		}
	}
}
@media screen and (max-width:389px) {
	#footeraddresswrapper {
		> .inner {
			text-align: center;
		}
	}
}
/*
footercopyrightwrapper
*/
#footercopyrightwrapper {
	text-align: center;
	padding: 30px 17%;
	background-color: #000;
	position: relative;
	> div {
		position: absolute;
		left: 10px;
		top: 16px;
		opacity: 0.6;
		cursor: pointer;
		transition: all 0.2s;
		&:hover {
			opacity: 1;
		}
	}
	> small {
		font-size: 1.2rem;
		line-height: 1.3;
		color: #fff;
	}
}
@media screen and (max-width:739px) {
	#footercopyrightwrapper {
		margin-bottom: 45px;
	}
}
@media screen and (max-width:589px) {
	#footercopyrightwrapper {
		> div {
			display: none;
		}
	}
}
/*
footerfixwrapper
*/
#footerfixwrapper {
	display: none;
	position: fixed;
	z-index: 2;
	left: 0;
	bottom: 0;
	width: 100%;
	text-align: center;
	padding: 0px 5%;
	background-color: #000;
	height: 50px;
	> a {
		display: block;
		text-decoration: none;
		font-size: 1.5rem;
		line-height: 1;
		font-family: var(--font-sans);
		font-weight: 500;
		color: #fff;
		border-radius: 5px;
		text-align: center;
		&:nth-of-type(1) {
			background-image: linear-gradient(#e6553d,#a6282f);
			margin-top: 8px;
			margin-right: 8px;
			padding: 10px 10px;
		}
		&:nth-of-type(2) {
			background-image: linear-gradient(#d4c36c,#9b8b29);
			margin-top: 8px;
			margin-right: 8px;
			padding: 10px 10px;
		}
		&:nth-of-type(3) {
			margin-top: 11px;
		}
	}
}
@media screen and (max-width:739px) {
	#footerfixwrapper {
		display: flex;
		align-items: flex-start;
	}
}
/*
lineat
*/
#lineat {
	padding: 10px 10px 15px 10px;
	border: solid 5px #39ad36;
	background-color: #fff;
	text-align: center;
	> h3 {
		margin: 0;
		font-size: 1.6rem;
		line-height: 1;
		color: #39ad36;
		font-family: var(--font-sans);
		font-weight: 500;
	}
	> hr {
		border-top: dotted 1px #aaa;
		border-bottom: none;
	}
	> a {
		display: block;
		background-color: #39ad36;
		font-size: 1.5rem;
		line-height: 1;
		color: #fff;
		font-weight: 700;
		padding: 30px 10px;
		border-radius: 4px;
		text-decoration: none;
		margin: 25px 0 20px 0;
		box-shadow: 2px 2px 3px rgba(0,0,0,0.5);
	}
	> p {
		margin: 5px 0 0 0;
		font-size: 1.2rem;
		line-height: 1.5;
		color: #666;
		&:nth-of-type(1) {
			margin-top: 20px;
		}
	}
	> .qr {
		align-items: center;
		margin: 40px 0;
		> img {
			width: 140px;
			height: auto;
		}
	}
	> .button {
		margin-top: 10px;
		> button {
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			box-sizing: border-box;
			height: 40px;
			border: solid 1px #39ad36;
			border-radius: 3px;
			cursor: pointer;
			font-size: 1.5rem;
			line-height: 1;
			background-color: #fff;
			color: #39ad36;
			-moz-user-select: none;
			-webkit-user-select: none;
			-ms-user-select: none;
			user-select: none;
			margin-right: 10px;
			&:hover {
				opacity: 0.7;
			}
		}
	}
}

#panelwrapper {
	> img {
		width: 100%;
	}
}
/*
panel02wrapper
*/
#panel02wrapper {
	position: relative;
	> img {
		width: 100%;
	}
	> div {
		position: absolute;
		width: 100%;
		text-align: center;
		left: 0;
		font-size: 5.0rem;
		top: calc(50% - 1em);
		> div:nth-of-type(1) {
			font-size: 5.0rem;
			line-height: 1;
			color: #fff;
			font-family: var(--font-serif);
		}
		> div:nth-of-type(2) {
			margin-top: 1em;
			font-size: 3.0rem;
			line-height: 1;
			color: #fff;
			font-family: var(--font-serif-slant);
			letter-spacing: 0.1em;
		}
	}
}
@media screen and (max-width:1029px) {
	#panel02wrapper {
		> div {
			font-size: 4.0rem;
			> div:nth-of-type(1) {
				font-size: 4.0rem;
			}
			> div:nth-of-type(2) {
				font-size: 2.6rem;
			}
		}
	}
}
@media screen and (max-width:749px) {
	#panel02wrapper {
		> img{
			min-height: 150px;
			object-fit: cover;
		}
		> div {
			font-size: 3.6rem;
			> div:nth-of-type(1) {
				font-size: 3.6rem;
			}
			> div:nth-of-type(2) {
				font-size: 2.0rem;
			}
		}
	}
}
@media screen and (max-width:419px) {
	#panel02wrapper {
		> div {
			> div.wide {
				font-size: 2.8rem;
			}
		}
	}
}
/*
titlewrapper
*/
#titlewrapper {
	padding: 30px 7% 0 7%;
	text-align: center;
	> h1 {
		margin: 0;
		font-size: 3.6rem;
		line-height: 1.2;
		color: #333;
		font-family: var(--font-serif);
		font-weight: 700;
	}
	> p {
		margin: 35px 0 0 0;
		font-size: 1.5rem;
		line-height: 1.2;
		color: #333;
		font-family: var(--font-serif);
	}
}
@media screen and (max-width:429px) {
	#titlewrapper {
		> h1 {
			font-size: 2.8rem;
		}
		> p {
			font-size: 1.4rem;
		}
	}
}
/*
calendarwrapper
*/
#calendarwrapper {
	user-select: none;
	padding: 0 5%;
	margin-top: 50px;
	text-align: center;
	> .inner {
		max-width: 1100px;
		margin: 0 auto;
		> .month {
			display: flex;
			justify-content: space-between;
			> div:nth-of-type(1),
			> div:nth-of-type(3) {
				display: flex;
				align-items: center;
				cursor: pointer;
				transition: all 0.2s;
				&:hover {
					opacity: 0.7;
				}
				> span {
					padding: 0 5px;
					font-size: 2.0rem;
					line-height: 1;
					color: #333;
					font-family: var(--font-serif);
				}
				> img {
				}
			}
			> div:nth-of-type(2) {
				font-size: 2.6rem;
				line-height: 1;
				color: #333;
				font-family: var(--font-serif);
				font-weight: 700;
				> span {
					font-size: 3.6rem;
				}
			}
		}
	}
}
@media screen and (max-width:780px) {
	#calendarwrapper {
		> .inner {
			> .month {
				> div:nth-of-type(1),
				> div:nth-of-type(3) {
					> span {
						font-size: 1.4rem;
					}
					> img {
						width: 15px;
					}
				}
				> div:nth-of-type(2) {
					font-size: 1.6rem;
					> span {
						font-size: 2.6rem;
					}
				}
			}
		}
	}
}

#calendarwrapper {
	> .inner {
		> .table {
			display: table;
			border-collapse: collapse;
			margin-top: 20px;
			border: solid 2px #888;
			width: 100%;
			> dl {
				display: table-row;
				> dt {
					display: table-cell;
					width: 14.28%;
					border-left: solid 1px #fff;
					background-color: #888;
					font-size: 1.5rem;
					line-height: 1;
					color: #fff;
					padding: 10px 0;
					text-align: center;
					&:first-child {
						border-left: none;
					}
					&:nth-of-type(1) {
						background-color: #a4282e;
					}
					&:nth-of-type(7) {
						background-color: #252e63;
					}
				}
				> dd {
					display: table-cell;
					border-top: solid 1px #888;
					border-left: solid 1px #888;
					text-align: left;
					vertical-align: top;
					padding: 5px;
					&:empty {
						padding: 0;
					}
					> div {
						font-size: 2.4rem;
						line-height: 1;
						color: #333;
						width: 2em;
						display: flex;
						justify-content: flex-end;
						align-items: center;
						> span {
							display: none;
							font-size: 1.4rem;
							padding-left: 5px;
							color: #555;
						}
					}
					&:nth-of-type(1) > div {
						color: #a4282e;
						> span {
							color: #ddcdcd;
						}
					}
					&:nth-of-type(7) > div {
						color: #252e63;
						> span {
							color: #cac9dd;
						}
					}
					> a {
						display: block;
						margin: 4px 0 0 0;
						padding: 5px;
						border-radius: 3px;
						text-decoration: none;
						&[href]:hover {
							opacity: 0.7;
						}
						> h3 {
							margin: 0;
							font-size: 1.5rem;
							line-height: 1.3;
							color: #fff;
							font-family: var(--font-sans);
							font-weight: 500;
						}
						> div {
							margin: 0;
							font-size: 1.4rem;
							line-height: 1.3;
							color: #fff;
							font-family: var(--font-sans);
							font-weight: 300;
							> span {
								display: inline-block;
								margin-right: 3px;
								font-size: 1.0rem;
								line-height: 1;
								color: #fff;
								&.bt:after {
									content: "BT";
									background-color: #268fb2;
									border-radius: 10px;
									padding: 1px 3px;
								}
								&.as:after {
									content: "AS";
									background-color: #bc5172;
									border-radius: 10px;
									padding: 1px 3px;
								}
							}
						}
						> p {
							margin: 0;
							font-size: 1.4rem;
							line-height: 1.3;
							color: #fff;
							font-family: var(--font-sans);
							font-weight: 300;
						}
						&.opencompe {
							background-color: var(--color-opencompe);
						}
						&.monfri {
							background-color: var(--color-monfri);
						}
						&.ladies {
							background-color: var(--color-ladies);
						}
						&.member {
							background-color: var(--color-member);
						}
						&.notice {
							background-color: var(--color-notice);
						}
					}
				}
			}
		}
	}
}
@media screen and (max-width:780px) {
	#calendarwrapper {
		> .inner {
			> .table {
				display: block;
				border-style: none none solid none;
				border-width: 1px;
				> dl {
					display: block;
					margin: 0;
					> dt {
						display: none;
					}
					> dd {
						display: block;
						margin: 0;
						border-right: solid 1px #888;
						&:empty {
							border: none;
						}
						> div {
							width: 2.5em;
							font-size: 1.6rem;
							margin-right: 10px;
							> span {
								display: inline;
							}
						}
						&:nth-of-type(1) > div {
							> span {
								color: #a4282e;
							}
						}
						&:nth-of-type(7) > div {
							> span {
								color: #252e63;
							}
						}
					}
				}
			}
		}
	}
}
/*
informDocument category color
JavaScriptに class="informDocument" が記載されている
*/
.informDocument {
	.category {
		padding: 6px 10px;
		font-size: 1.1rem;
		line-height: 1;
		color: white;
		width: 140px;
		min-width: 140px;
		box-sizing: border-box;
		background-color: #999;
		border-radius: 3px;
		white-space: nowrap;
		overflow: hidden;
		display: flex;
		/*justify-content: space-between;*/
		justify-content: space-around;
		/*justify-content: center;*/
	}
}
.informDocument {
	.category {
		&.informCategoryOther {			/*その他*/
			background-color: #707070;
		}
		&.informCategoryImportant {		/*重要なお知らせ*/
			background-color: #9b8a29;
		}
		&.informCategoryInform {		/*お知らせ*/
			background-color: #60a039;
		}
		&.informCategoryEventCompe {	/*イベント・コンペ情報*/
			background-color: #a4282e;
		}
		&.informCategoryOpenCompe {		/*オープンコンペ*/
			background-color: var(--color-opencompe);
		}
		&.informCategoryMonFri {		/*月金クラブ*/
			background-color: var(--color-monfri);
		}
		&.informCategoryLadies {		/*レディース会*/
			background-color: var(--color-ladies);
		}
		&.informCategoryMember {		/*会員*/
			background-color: var(--color-member);
		}
		&.informCategoryNotice {		/*情報*/
			background-color: var(--color-notice);
		}
	}
}
