/*
Theme Name: 守成クラブ阪神尼崎
Description:守成クラブ阪神尼崎のホームページ作成
Theme URI: http://hanshin-ama-shusei.club
Author: takane
Author URI: http://la-passione.co.jp
Version: 1.00
*/

/*default clear設定*/

@font-face {
	font-family: 'shingo_L';
	src: url('/font/A-OTF-ShinGoPro-Light.otf') format('truetype');
}

@font-face {
	font-family: 'shingo_M';
	src: url('/font/A-OTF-ShinGoPro-Medium.otf') format('truetype');
}

ul,
menu,
dir {
	display: block;
	list-style-type: none;
	margin: 0;
	padding: 0;
	-webkit-margin-before: 0em;
	-webkit-margin-after: 0em;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
	-webkit-padding-before: 0em;
	-webkit-padding-after: 0em;
	-webkit-padding-start: 0px;
	-webkit-padding-end: 0px;
}

dl {
	display: block;
	-webkit-margin-before: 0em;
	-webkit-margin-after: 0em;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
}

dd {
	display: block;
	-webkit-margin-start: 0px;
}

p {
	display: block;
	-webkit-margin-before: 0px;
	-webkit-margin-after: 0px;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
}

fieldset {
	border: none;
}

hr {
	display: none;
}

img {
	border: 0px;
}

p {
	padding: 0;
	margin: 0;
}

table {
	display: table;
	border-collapse: collapse;
	-webkit-border-horizontal-spacing: 0px;
	-webkit-border-vertical-spacing: 0px;
}

input[type="button"],
input[type="submit"] {
	-webkit-appearance: none;
	cursor: pointer;
}

/*a href css*/
a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}

a {
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}

.cf:after {
	content: ".";
	display: block;
	visibility: hidden;
	line-height: 0;
	width: 100%;
	height: 0;
	clear: both;
}

.cfb:before {
	content: ".";
	display: block;
	visibility: hidden;
	line-height: 0;
	width: 100%;
	height: 0;
	clear: both;
}

.sp10:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	width: 100%;
	height: 10px;
}

.sp20:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	width: 100%;
	height: 20px;
}

.sp30:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	width: 100%;
	height: 30px;
}

.sp50:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	width: 100%;
	height: 50px;
}

.bold {
	font-weight: bold;
}

.txtrd {
	color: #F10004;
}

.txtgr {
	color: #008A1F;
}

.txts {
	font-size: small;
}

.txtm {
	font-size: medium;
}

.txtL {
	font-size: large;
}

.txtLL {
	font-size: x-large;
}

.center {
	text-align: center;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

/*flex設定*/
.flex {
	display: -webkit-flex;
	/* Safari */
	display: flex;
	-webkit-flex-direction: row;
	/* Safari */
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	/* Safari */
	flex-wrap: wrap;
}

/*--------------------------
body
---------------------------*/
body,
html {
	height: 100%;
}

body {
	border: none;
	padding: 0px;
	margin: 0px;
	color: #000000;
	font-family: "shingo_L";
	font-size: medium;
}


@media screen and (max-width: 767px) {

	/* 767pxまで（スマートフォン用）の記述 */
	.pc {
		display: none;
	}

	.smp,
	.tbl {
		display: block;
	}
}

@media screen and (min-width: 768px) {

	/* 768px以上用（タブレット用）の記述 */
	.tbl {
		display: block;
	}

	.smp,
	.pc {
		display: none;
	}
}

@media screen and (min-width: 910px) {

	/* 910px以上用（PC用）の記述 */
	.pc {
		display: block;
	}

	.smp,
	.tbl {
		display: none;
	}
}


/*--------------------------
h1,h2,h3,h4
---------------------------*/

h1 {
	font-size: 1em;
	-webkit-margin-before: 0;
	-webkit-margin-after: 0;
	-webkit-margin-start: 0;
	-webkit-margin-end: 0;
	font-weight: nomal;
}

h2 {
	-webkit-margin-before: 0px;
	-webkit-margin-after: 0px;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
	font-weight: normal;
	text-align: center;
	font-family: shingo_L;
	font-size: xx-large;
	margin-bottom: 20px;
}

h3 {
	-webkit-margin-before: 0px;
	-webkit-margin-after: 0px;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
	font-weight: normal;
	text-align: center;
}

h4 {
	-webkit-margin-before: 0px;
	-webkit-margin-after: 0px;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
	font-weight: normal;
	text-align: center;
}

/*--------------------------
共通項目
---------------------------*/
section {
	width: 100%;
	max-width: 1010px;
	margin-left: auto;
	margin-right: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-top: 30px;
	padding-bottom: 40px;
	padding-left: 2%;
	padding-right: 2%;
}

header {
	width: 100%;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #EAEAEA;
}

.top header {
	border-bottom-style: none;
}

header section {
	height: 90px;
}

header h1 {
	float: left;
}

header h1 img {
	width: 100%;
	height: auto;
	max-width: 330px;
}

/*ヘッダーナビ*/
header nav {
	float: right;
}

header nav.gnavi {
	margin-top: 10px;
}

header nav.gnavi ul {}

header nav.gnavi ul li {
	float: left;
	border-right: 1px solid #BCBCBC;
	padding-left: 10px;
	padding-right: 10px;
	font-size: small;
}

header nav.gnavi ul li:last-child {
	border-right-style: none;
}

header nav.gnavi ul li a {
	text-decoration: none;
	color: #000000;
}

header nav.gnavi ul li a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 736px) {

	/*スマホ：736px以下の場合に適用するスタイル */
	section {
		padding-bottom: 0px;
	}

	header section {
		height: 50px;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	header h1 img {
		width: 100%;
		height: auto;
		max-width: 250px;
		padding-left: 10px;
	}

}


/*エントリーボタン*/
.entry {
	width: 100%;
	margin-bottom: 10px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.entry .title {
	text-align: center;
	width: 100%;
}

.entry dl {
	float: left;
	width: 31%;
	height: 80px;
	position: relative;
	background-color: #ce0003;
	background-image: url(img/icn_entry.png);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-left: 1%;
	margin-right: 1%;
	background-repeat: no-repeat;
	background-position: 20px center;
	padding-left: 70px;
	color: #FFFFFF;
	padding-top: 20px;
	padding-bottom: 10px;
}

.entry.zoom {
	margin-bottom: 20px;
}

.entry.zoom dl {
	background-color: #0071DC;
}

.entry dl dt {
	font-size: large;
	font-family: "shingo_M";
	margin-bottom: 0px;
	line-height: 1em;
}

.entry dl dd {
	-webkit-margin-start: 0px;
}

.entry dl a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent: -999px;
}

.entry dl a:hover {
	background-color: rgba(230, 230, 230, 0.26);
}

.report {
	margin-bottom: 30px;
}

.report button {
	width: 280px;
	height: 80px;
	background-color: #18b5ae;
	background-image: url(img/icn_entry.png);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	color: #FFFFFF;
	background-repeat: no-repeat;
	background-position: 30px center;
	padding-left: 50px;
	padding-top: 10px;
	padding-bottom: 10px;
	display: block;
	border-style: none;
	font-size: x-large;
}

.report button:hover {
	background-color: #2C8BE4;
}

@media screen and (max-width: 736px) {

	/*スマホ：736px以下の場合に適用するスタイル */
	.entry dl {
		float: none;
		width: 96%;
		height: 80px;
		margin-left: 2%;
		margin-right: 2%;
		background-repeat: no-repeat;
		background-position: 20px center;
		padding-left: 70px;
		color: #FFFFFF;
		padding-top: 20px;
		padding-bottom: 10px;
		-webkit-margin-before: 0em;
		-webkit-margin-after: 0em;
		margin-bottom: 10px;
	}

}


/*--------------------------
TOPページ
---------------------------*/

/*スライダーエリア*/
.slider {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	padding: 40px 20px;
	min-height: 100vh;

	@media (max-width: 768px) {
		padding: 20px 10px;
		min-height: auto;
	}
}

.slider-container {
	max-width: 1200px;
	margin: 0 auto;

	@media (max-width: 768px) {
		max-width: 100%;
	}
}

.main-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 30px;
	margin-bottom: 40px;
	background: rgba(255, 255, 255, 0.95);
	border-radius: 20px;
	padding: 30px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);

	@media (max-width: 768px) {
		grid-template-columns: 1fr;
		text-align: center;
		gap: 20px;
		padding: 20px;
		margin-bottom: 20px;
	}
}

.event-info {
	display: flex;
	justify-content: center;

	@media (max-width: 768px) {
		order: 1;
	}
}

.date-badge {
	background: linear-gradient(45deg, #ff6b6b, #ee5a24);
	color: white;
	padding: 20px;
	border-radius: 15px;
	text-align: center;
	box-shadow: 0 5px 15px rgba(255, 107, 107, 0.3);

	span {
		display: block;
		font-weight: bold;

		&.frequency {
			font-size: 16px;
			margin-bottom: 8px;

			@media (max-width: 768px) {
				font-size: 14px;
			}
		}

		&.location {
			font-size: 14px;
			margin-bottom: 5px;
			opacity: 0.9;

			@media (max-width: 768px) {
				font-size: 12px;
			}
		}

		&.venue {
			font-size: 18px;

			@media (max-width: 768px) {
				font-size: 16px;
			}
		}
	}

	@media (max-width: 768px) {
		padding: 15px;
	}
}

.logo-section {
	display: flex;
	justify-content: center;

	@media (max-width: 768px) {
		order: 0;
	}
}

.main-logo {
	max-height: 120px;
	width: auto;
	filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.1));

	@media (max-width: 768px) {
		max-height: 80px;
	}
}

.social-links {
	h3 {
		color: #2c3e50;
		font-size: 18px;
		margin-bottom: 15px;
		text-align: center;

		@media (max-width: 768px) {
			font-size: 16px;
			margin-bottom: 10px;
		}
	}

	@media (max-width: 768px) {
		order: 2;
	}
}

.social-grid {
	display: flex;
	flex-direction: column;
	gap: 15px;

	@media (max-width: 768px) {
		gap: 10px;
	}
}

.social-card {
	text-align: center;

	.user-type {
		display: block;
		font-size: 12px;
		color: #666;
		margin-bottom: 8px;
		font-weight: bold;

		@media (max-width: 768px) {
			font-size: 11px;
			margin-bottom: 5px;
		}
	}
}

.social-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	color: #2c3e50;
	padding: 12px;
	border-radius: 10px;
	background: rgba(52, 152, 219, 0.1);
	transition: all 0.3s ease;

	&:hover {
		background: rgba(52, 152, 219, 0.2);
		transform: translateY(-2px);
	}

	img {
		width: 24px;
		height: 24px;
		margin-bottom: 5px;

		@media (max-width: 768px) {
			width: 20px;
			height: 20px;
		}
	}

	span {
		font-size: 11px;
		font-weight: bold;

		@media (max-width: 768px) {
			font-size: 10px;
		}
	}

	@media (max-width: 768px) {
		padding: 10px;
	}
}

.content-area {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;

	@media (max-width: 768px) {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

.info-card {
	background: white;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;

	&:hover {
		transform: translateY(-5px);
	}
}

.card-header {
	padding: 20px;
	color: white;

	h3 {
		margin: 0;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.4;

		@media (max-width: 768px) {
			font-size: 16px;
		}
	}

	@media (max-width: 768px) {
		padding: 15px;
	}
}

.announcement-card {
	.card-header {
		background: linear-gradient(45deg, #28a745, #20c997);
	}
}

.event-card {
	.card-header {
		background: linear-gradient(45deg, #007bff, #6610f2);
	}
}

.card-content {
	padding: 25px;

	p {
		line-height: 1.6;
		color: #333;
		margin: 0;
		font-size: 14px;

		@media (max-width: 768px) {
			font-size: 13px;
		}
	}

	@media (max-width: 768px) {
		padding: 20px;
	}
}

.event-details {
	margin-bottom: 25px;

	@media (max-width: 768px) {
		margin-bottom: 20px;
	}
}

.detail-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid #f0f0f0;

	&:last-child {
		border-bottom: none;
	}

	.label {
		font-weight: bold;
		color: #666;
		font-size: 14px;

		@media (max-width: 768px) {
			font-size: 13px;
		}
	}

	.value {
		color: #333;
		font-size: 14px;

		&.highlight {
			color: #e74c3c;
			font-weight: bold;
			font-size: 16px;

			@media (max-width: 768px) {
				font-size: 15px;
			}
		}

		@media (max-width: 768px) {
			font-size: 13px;
		}
	}

	@media (max-width: 768px) {
		padding: 6px 0;
	}
}

.schedule {
	margin-bottom: 25px;

	h4 {
		color: #2c3e50;
		font-size: 16px;
		margin-bottom: 12px;
		padding-bottom: 8px;
		border-bottom: 2px solid #3498db;

		@media (max-width: 768px) {
			font-size: 15px;
			margin-bottom: 10px;
		}
	}

	ul {
		list-style: none;
		padding: 0;
		margin: 0;

		li {
			padding: 6px 0;
			padding-left: 20px;
			position: relative;
			font-size: 14px;
			color: #555;

			&:before {
				content: "•";
				color: #3498db;
				font-weight: bold;
				position: absolute;
				left: 0;
			}

			@media (max-width: 768px) {
				font-size: 13px;
				padding: 5px 0;
				padding-left: 15px;
			}
		}
	}

	@media (max-width: 768px) {
		margin-bottom: 20px;
	}
}

.additional-info {
	.feature-tags {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;

		@media (max-width: 768px) {
			gap: 6px;
		}
	}

	.tag {
		background: linear-gradient(45deg, #f39c12, #e67e22);
		color: white;
		padding: 6px 12px;
		border-radius: 20px;
		font-size: 12px;
		font-weight: bold;
		white-space: nowrap;

		@media (max-width: 768px) {
			font-size: 11px;
			padding: 5px 10px;
		}
	}
}

/*開催案内*/
article.slider section .date {
	position: absolute;
	top: 30px;
	left: 20px;
}

article.slider section .date p {
	color: #FFFFFF;
	font-size: xx-large;
	font-weight: bold;
	line-height: 1.4em;
}

/*近況のお知らせ*/
article.slider section .fblink {
	position: absolute;
	bottom: 30px;
	left: 20px;
	background-color: rgba(255, 255, 255, 0.7);
	width: 360px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-top: 5px;
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 10px;
}

article.slider section .fblink h3 {
	text-align: center;
	font-size: large;
	margin-bottom: 0px;
	font-weight: bold;
}

article.slider section .fblink dl {
	width: 50%;
}

article.slider section .fblink dl dt {
	font-weight: bold;
	text-align: center;
}

article.slider section .fblink dl dd {
	text-align: center;
	font-size: small;
	font-weight: bold;
}

article.slider section .fblink dl dd.icn {
	text-align: center;
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 50px;
}

article.slider section .fblink dl dd.icn img {
	width: 100%;
	height: auto;
}

/*事務局からのお知らせ*/
article.slider section .infomation {
	position: absolute;
	top: 175px;
	left: 20px;
	background-color: rgba(255, 255, 255, 0.7);
	width: 360px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-top: 5px;
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 10px;
}

article.slider section .infomation h3 {
	text-align: center;
	font-size: large;
	margin-bottom: 5px;
	font-weight: bold;
}

article.slider section .infomation .wrap {}

article.slider section .infomation .wrap .days {
	font-size: small;
	line-height: 1.4em;
	font-weight: bold;
}

article.slider section .infomation .wrap .title {
	line-height: 1.6em;
}

article.slider section .infomation .wrap .title span {
	font-size: small;
}

article.slider section .infomation .wrap .comment {
	font-size: small;
	padding-top: 5px;
	padding-bottom: 5px;
	line-height: 1.6em;
	border-top: 1px solid #727272;
	margin-top: 5px;
}

article.slider section .infomation .wrap .comment p {}

article.slider section .infomation .wrap .comment p.title {
	margin-bottom: 5px;
}

/*次回以降の例会申込について*/
article.slider section .next_entry {
	position: absolute;
	bottom: 30px;
	right: 20px;
	background-color: rgba(255, 255, 255, 0.7);
	width: 360px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-top: 5px;
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 10px;
	display: -webkit-flex;
	/* Safari */
	display: flex;
	-webkit-flex-direction: row;
	/* Safari */
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	/* Safari */
	flex-wrap: wrap;
}

article.slider section .next_entry h3 {
	text-align: center;
	font-size: medium;
	margin-bottom: 5px;
	font-weight: bold;
}

article.slider section p {
	font-size: medium;
	padding-top: 5px;
	padding-bottom: 5px;
	line-height: 1.6em;
}

article.slider section p span {
	font-size: small;
	line-height: 1em;
}

article.slider section .next_entry .wrap {
	width: 350px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

article.slider section .next_entry .qr {
	width: 110px;
}

article.slider section .next_entry .qr img {
	width: 100%;
	height: auto;
}


@media screen and (max-width: 767px) {
	/* 767pxまで（スマートフォン用）の記述 */

	article.slider {
		height: 1300px;
		background-position: center bottom;
		background-attachment: scroll;
		background-size: cover;
	}

	article.slider section {
		height: 1080px;
		padding-top: 5px;
		padding-left: 6%;
		padding-right: 6%;
	}

	article.slider section .slider_logo {
		margin-right: auto;
		margin-top: 0px;
		width: 60%;
		float: none;
		margin-left: auto;
	}

	article.slider section .slider_logo img {
		width: 100%;
		height: auto;
	}

	/*開催案内*/
	article.slider section .date {
		position: static;
		text-align: center;
	}

	/*近況のお知らせ*/
	article.slider section .fblink {
		width: 100%;
		padding-top: 5px;
		padding-right: 20px;
		padding-left: 20px;
		padding-bottom: 5px;
		position: static;
		margin-bottom: 15px;
	}

	/*事務局からのお知らせ*/
	article.slider section .infomation {
		width: 100%;
		padding-top: 5px;
		padding-right: 20px;
		padding-left: 20px;
		padding-bottom: 5px;
		position: static;
		margin-bottom: 20px;
	}

	/*事務局からのお知らせ*/
	article.slider section .next_entry {
		width: 100%;
		padding-top: 5px;
		padding-right: 20px;
		padding-left: 20px;
		padding-bottom: 5px;
		position: static;
	}



}

@media screen and (min-width: 768px) {

	/* 768px以上用（タブレット用）の記述 */
	article.slider {
		width: 100%;
		background-image: url(img/slider_bg.jpg);
		background-repeat: no-repeat;
		height: 650px;
		background-size: cover;
		background-position: center center;
		background-attachment: scroll;
	}

}

@media screen and (min-width: 910px) {

	/* 910px以上用（PC用）の記述 */
	article.slider {
		width: 100%;
		background-image: url(img/slider_bg.jpg);
		background-repeat: no-repeat;
		height: 650px;
		background-size: cover;
		background-position: center center;
		background-attachment: fixed;
	}

}

/*事務局からのお知らせ*/
article.notice {
	background-color: #f8f8f8;
	padding-top: 40px;
	padding-bottom: 40px;
}

article.notice section {
	max-width: 700px;
	margin-top: 0px;
	background-color: #FFFFFF;
	padding-top: 0px;
}

article.notice section h2 {
	text-align: center;
	font-family: shingo_M;
	font-size: large;
	margin-bottom: 40px;
	width: 400px;
	padding-top: 5px;
	padding-bottom: 5px;
	color: #FFFFFF;
	background-color: #ce0003;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

article.notice section .contents {
	padding-bottom: 20px;
	padding-top: 20px;
	border-bottom: 1px solid #E5E5E5;
}

article.notice section .contents div {
	font-size: small;
}

article.notice section .contents div.days {
	font-size: small;
}

article.notice section .contents div.title {
	margin-bottom: 10px;
	font-size: medium;
	font-family: shingo_M;
}

@media screen and (max-width: 736px) {

	/*スマホ：736px以下の場合に適用するスタイル */
	article.notice {
		padding-top: 30px;
		padding-bottom: 30px;
		padding-left: 4%;
		padding-right: 4%;
	}

	article.notice section {
		max-width: 100%;
		padding-left: 4%;
		padding-right: 4%;
	}

	article.notice section h2 {
		font-size: large;
		margin-bottom: 30px;
		width: 80%;
	}

}

/*--------------------------
みなと神戸会場紹介
---------------------------*/
article.introduction p {
	text-align: center;
	margin-bottom: 10px;
}

article.introduction p.img {
	text-align: center;
}

article.introduction p.img img {
	width: 100%;
	max-width: 1000px;
	height: auto;
}

.datalist {
	margin-bottom: 30px;
}

.datalist:after,
.datalist dl:after {
	content: ".";
	display: block;
	visibility: hidden;
	line-height: 0;
	width: 100%;
	height: 0;
	clear: both;
}

.datalist dl {
	float: left;
	padding-bottom: 10px;
}

.datalist dl dt {
	float: left;
	text-align: center;
	color: #FFFFFF;
}

.datalist dl dd {
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-left: 10px;
}

.schedule dl {
	width: 31%;
	margin-right: 1%;
	margin-left: 1%;
}

.schedule dl dt {
	background-color: #0D7BC7;
	width: 27%;
}

.schedule dl dd {
	width: 73%;
}

.schedule dl dd span.red {
	font-size: x-small;
	color: #DC0003;
}

@media screen and (max-width: 736px) {

	/*スマホ：736px以下の場合に適用するスタイル */
	article.introduction p {
		text-align: left;
	}

	.datalist dl {
		float: none;
		padding-bottom: 0px;
		width: 90%;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 10px;
	}
}

/*代表挨拶*/
article.greeting {
	background-color: #f8f8f8;
}

article.greeting div:after {
	content: ".";
	display: block;
	visibility: hidden;
	line-height: 0;
	width: 100%;
	height: 0;
	clear: both;
}

article.greeting p.txt {
	text-align: left;
	margin-bottom: 10px;
	float: right;
	width: 65%;
}

article.greeting p.img {
	width: 30%;
	float: left;
}

article.greeting p.img img {
	width: 100%;
	max-width: 300px;
	height: auto;
}

@media screen and (max-width: 736px) {
	/*スマホ：736px以下の場合に適用するスタイル */

	article.greeting p.txt {
		text-align: left;
		margin-bottom: 10px;
		float: none;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		display: block;
	}

	article.greeting p.img {
		width: 90%;
		float: none;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	article.greeting p.img img {
		width: 100%;
		max-width: 600px;
		height: auto;
	}
}


/*世話人紹介*/
article.caretaker p {
	text-align: center;
	margin-bottom: 20px;
	width: 80%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.caretakerList {
	margin-bottom: 30px;
}

.caretakerList:after {
	content: ".";
	display: block;
	visibility: hidden;
	line-height: 0;
	width: 100%;
	height: 0;
	clear: both;
}

.caretakerList dl {
	float: left;
	width: 18%;
	margin-left: 1%;
	margin-right: 1%;
	margin-bottom: 10px;
}

.caretakerList dl dt {
	padding: 0;
	margin: 0;
}

.caretakerList dl dt img {
	width: 100%;
	margin: 0;
	padding: 0;
	height: auto;
	vertical-align: bottom;
}

.caretakerList dl dd {
	background-color: #DBDBDB;
	font-size: small;
	line-height: 1.4em;
	height: 90px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	padding: 5%;
	box-sizing: border-box;
}

@media screen and (max-width: 736px) {

	/*スマホ：736px以下の場合に適用するスタイル */
	article.caretaker p {
		width: 90%;
		text-align: left;
	}

	.caretakerList dl {
		width: 48%;
		margin-left: 1%;
		margin-right: 1%;
		margin-bottom: 10px;
	}

	.caretakerList dl dd {
		font-size: small;
		height: 90px;
		padding: 5%;
	}

}

/*出発進行*/
article.departure {
	background-color: #f8f8f8;
}

article.departure p {
	text-align: center;
	margin-bottom: 20px;
	width: 80%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

article.departure p.img {
	text-align: center;
}

article.departure p.img img {
	width: 100%;
	max-width: 1000px;
	height: auto;
}

@media screen and (max-width: 736px) {

	/*スマホ：736px以下の場合に適用するスタイル */
	article.departure p {
		text-align: left;
		width: 90%;
	}

	article.departure p.img img {
		width: 100%;
	}

}

/*--------------------------
守成クラブとは
---------------------------*/
article.whats p {
	text-align: center;
	margin-bottom: 20px;
	width: 80%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

article.whats p.img {
	text-align: center;
}

article.whats p.img img {
	width: 90%;
	max-width: 600px;
	height: auto;
}

article.whats .yurai {
	width: 90%;
	border: 1px solid #E1E1E1;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}

article.whats .yurai p {}

article.whats .yurai p.title {
	background-color: #F2F2F2;
	width: 100%;
	font-size: x-large;
}


@media screen and (max-width: 736px) {

	/*スマホ：736px以下の場合に適用するスタイル */
	article.whats p {
		text-align: left;
		width: 90%;
	}

	article.whats .yurai p.title {
		text-align: center;
	}

	article.whats p.img img {
		width: 100%;
	}
}

/*かけがえのない会社を潰してはならない*/
article.concept {
	background-color: #f8f8f8;
}

article.concept p {
	text-align: center;
	margin-bottom: 20px;
	width: 80%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

article.concept .catch {
	width: 90%;
	border: 1px solid #E1E1E1;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
	background-color: #FFFFFF;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	padding: 3%;
	box-sizing: border-box;
}

article.concept .catch:after {
	content: ".";
	display: block;
	visibility: hidden;
	line-height: 0;
	width: 100%;
	height: 0;
	clear: both;
}

article.concept .catch h2 {
	text-align: left;
	float: left;
	font-size: x-large;
	width: 65%;
}

article.concept .catch p.txt {
	text-align: left;
	float: left;
	width: 65%;
}

article.concept .catch p.img {
	float: right;
	width: 30%;
}

article.concept .catch p.img img {}

@media screen and (max-width: 736px) {

	/*スマホ：736px以下の場合に適用するスタイル */
	article.concept {
		padding-bottom: 20px;
	}

	article.concept p {
		text-align: left;
		width: 90%;
	}

	article.concept .catch h2 {
		text-align: center;
		float: none;
		font-size: x-large;
		width: 100%;
	}

	article.concept .catch p.txt {
		text-align: left;
		float: none;
		width: 100%;
	}

	article.concept .catch p.img {
		float: none;
		width: 100%;
		text-align: center;
	}

}

/*活動内容*/
article.activity p {
	text-align: center;
	margin-bottom: 20px;
	width: 80%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

article.activity .detail {
	width: 100%;
	margin-bottom: 20px;
}

article.activity .detail:after {
	content: ".";
	display: block;
	visibility: hidden;
	line-height: 0;
	width: 100%;
	height: 0;
	clear: both;
}

article.activity .detail dl {
	width: 48%;
	margin-left: 1%;
	margin-right: 1%;
	margin-bottom: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	height: 120px;
	float: left;
	border: 1px solid #D3D3D3;
}

article.activity .detail dl dt {
	margin: 0;
	width: 100%;
	color: #FFFFFF;
	background-color: #ce0003;
	text-align: center;
}

article.activity .detail dl dd {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	padding: 2%;
	box-sizing: border-box;
}

article.activity .img {
	width: 100%;
	margin-bottom: 20px;
}

article.activity .img img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 736px) {
	/*スマホ：736px以下の場合に適用するスタイル */

	article.activity p {
		text-align: left;
		width: 90%;
	}

	article.activity .detail dl {
		width: 100%;
		height: 120px;
		float: none;
		margin-left: 0;
		margin-right: 0;
	}

}

/*会員について*/
article.how {
	background-color: #f8f8f8;
}

article.how p {
	text-align: center;
	margin-bottom: 20px;
	width: 80%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

article.how .box {
	width: 90%;
	border: 1px solid #2b9d4c;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
}

article.how .box h2 {
	background-color: #EDEDED;
	width: 100%;
	font-size: x-large;
	color: #2b9d4c;
	margin-bottom: 0px;
}

article.how .box .inner {
	text-align: left;
	padding: 3%;
	width: 90%;
}

article.how .box .inner dl {
	margin-bottom: 10px;
}

article.how .box .inner dl:after {
	content: ".";
	display: block;
	visibility: hidden;
	line-height: 0;
	width: 100%;
	height: 0;
	clear: both;
}

article.how .box .inner dl dt {
	width: 25%;
	margin-right: 1%;
	background-color: #2b9d4c;
	text-align: center;
	color: #FFFFFF;
	display: block;
	float: left;
}

article.how .box .inner dl dd {
	display: block;
	float: right;
	width: 70%;
}

article.how .box .inner .inbox {
	margin-bottom: 20px;
	border: 1px solid #C6C6C6;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	padding: 3%;
	box-sizing: border-box;
	margin-top: 20px;
}

@media screen and (max-width: 736px) {

	/*スマホ：736px以下の場合に適用するスタイル */
	article.how p {
		text-align: left;
		width: 90%;
	}

	article.how .box {
		width: 100%;
		margin-bottom: 20px;
	}

}




/*--------------------------
フッター
---------------------------*/
footer {
	background-color: #757575;
}

footer .comment {
	color: #FFFFFF;
	text-align: center;
	margin-bottom: 10px;
	font-size: small;
}

footer section .button_area {}

footer section .button_area .button {
	color: #3B3B3B;
	background-color: #FFFFFF;
}

footer section .button_area .button:hover {
	background-color: #E4E4E4;
}

footer .copyright {
	color: #FFFFFF;
	text-align: center;
	font-size: small;
}

footer section {
	padding-bottom: 10px;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
	/* タブレット：736px-1024pxの場合に適用*/

}

@media screen and (max-width: 767px) {
	/* スマホ：736px以下の場合に適用*/

}

/*--------------------------
フォーム
---------------------------*/

.table {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 30px;
	font-size: small;
	border-top: 1px solid #E7E7E7;
	border-left: 1px solid #E7E7E7;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	max-width: 1000px;
	margin: 0 auto
}

.table .tr {
	display: table;
	width: 100%;
	border-right: 1px solid #E7E7E7;
	border-bottom: 1px solid #E7E7E7;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.table .tr .th {
	width: 25%;
	padding: 1%;
	display: table-cell;
	vertical-align: middle;
	background-color: #f2f2f2;
	border-right: 1px solid #E7E7E7;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.table .tr .td {
	width: 75%;
	padding: 1%;
	display: table-cell;
	vertical-align: middle;
	background-color: #FFFFFF;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.table .tr .td p {
	margin-bottom: 10px;
	line-height: 1.8em;
}

.table .tr .td p .red {
	color: #E30003;
	font-size: large;
	font-weight: bold;
}

.table .field {
	border: 1px solid #bdbdbd;
	background: #ffffff;
	border-radius: 4px;
	padding: 8px;
	margin-bottom: 0px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.table .s {
	width: 20%;
}

.table .m {
	width: 30%;
}

.table .l {
	width: 50%;
}

.table .xl {
	width: 100%;
}

.table .area {
	width: 100%;
	height: 7em;
	line-height: 1.5em;
}

.alert {
	font-size: x-small;
	color: #FF3E41;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {

	.table .tr .th {
		width: 100%;
		display: block;
	}

	.table .tr .td {
		width: 100%;
		display: block;
	}

	.table .m {
		width: 50%;
	}

	.table .l {
		width: 100%;
	}

}

@media screen and (max-width: 767px) {
	/* 表示領域が736px以下の場合に適用するスタイル */

	.table .tr .th {
		width: 100%;
		display: block;
	}

	.table .tr .td {
		width: 100%;
		display: block;
	}

	.table .m {
		width: 50%;
	}

	.table .l {
		width: 100%;
	}

}


/*--------------------------
ボタン共通
---------------------------*/

.button_area {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	margin-bottom: 20px;
	text-align: center;
}

/*リンク系ボタン*/
.button_area .button {
	background-color: #E31414;
	color: #ffffff;
	padding-top: 15px;
	padding-bottom: 15px;
	font-size: 24px;
	text-decoration: none;
	border-radius: 3px;
	border-style: none;
	width: 500px;
	display: block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}

.button_area .button:hover {
	background-color: #F75454;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}

/*フォーム系ボタン*/
.submit-button {
	background-color: #ce0003;
	color: #ffffff;
	padding-top: 20px;
	padding-right: 18px;
	padding-left: 18px;
	padding-bottom: 20px;
	font-size: 18px;
	text-decoration: none;
	vertical-align: middle;
	margin-right: 1%;
	min-width: 45%;
	border-radius: 5px;
	border-style: none;
}

.submit-button:hover {
	background-color: #D04244;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}

.reset-button {
	border: 1px solid #BBBBBB;
	background-color: #a3a3a3;
	color: #ffffff;
	padding: 8.5px 18px;
	font-size: 14px;
	text-decoration: none;
	vertical-align: middle;
	margin-right: 1%;
	border-radius: 5px;
}

.reset-button:hover {
	background-color: #C4C4C4;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}

@media screen and (max-width: 736px) {

	/* 表示領域が736px以下の場合に適用するスタイル */
	.button_area .button {
		width: 86%;
	}

	.submit-button {
		min-width: 80%;
	}

}


/*--------------------------
GoTOPボタン
---------------------------*/
.gotop {
	position: fixed;
	right: 0px;
	bottom: 30px;
}

.gotop a {
	color: #FFFFFF;
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 15px;
	padding-bottom: 15px;
	background-color: #ce0003;
	width: 70px;
	font-size: small;
	text-decoration: none;
	font-family: "shingo_M";
}

.gotop a:hover {
	background-color: #D04547;
}


/*--------------------------
FB埋め込み
---------------------------*/
#FBtimeline {
	text-align: center;
	padding-top: 30px;
}

/*--------------------------
TOPmap下
---------------------------*/
.NextMeeting iframe {
	margin-bottom: 20px;
}

/*--------------------------
多会場リンク
---------------------------*/
.kansai {}

.kansai a {
	width: 80%;
	display: block;
	margin-left: auto;
	margin-right: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	max-width: 280px;
	padding-left: 3%;
	padding-right: 3%;
	padding-top: 15px;
	padding-bottom: 10px;
	text-align: center;
	color: #FFFFFF;
	font-size: x-large;
	background-color: #FF7500;
	text-decoration: none;
	line-height: 1.4em;
}

.kansai a:hover {
	opacity: 0.8;
}

.kansai a span {
	display: block;
	font-size: medium;
	line-height: 1.4em;
}