@charset "UTF-8";

body {
  background-color: #fefefe;
}
body, #wrapper {
  color: #000;
}

/* Common parts */
.hide {
  display: none !important;
}

/* Header */
header nav.gnavi {
	display: flex;
}
header nav.gnavi ul {
	display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 601px) {
  header .header-content {
    padding: 20px 0;
  }
}

/* 権限アイコン */
span.icon_cap::after {
  padding: 3px 5px;
  font-size: 1rem;
  line-height: 1;
  white-space: nowrap;
}
span.icon_cap.admin::after {
  content: "管理者";
  color: #fff;
  background-color: #1f3134;
}
span.icon_cap.executive::after {
  content: "幹部理事";
  color: #fff;
  background-color: #d9333f;
}
span.icon_cap.director::after {
  content: "理事";
  color: #fff;
  background-color: #ec6800;
}
span.icon_cap.supporter::after {
  content: "サポーター";
  color: #fff;
  background-color: #028760;
}
span.icon_cap.instractor::after {
  content: "インストラクター";
  color: #fff;
  background-color: #165e83;
}
span.icon_cap.paidmember::after {
  content: "有料会員";
  color: #444;
  background-color: #aacf53;
}
span.icon_cap.freemember::after {
  content: "一般会員";
  color: #444;
  background-color: #f1e537;
}
span.icon_cap.guest::after {
  content: "ゲスト";
  color: #444;
  background-color: #a0d8ef;
}

/* Global Navi */
/* nav.gnavi .submenu {
  display: none;
} */
nav.gnavi ul.menu {
  width: 100%;
}
nav.gnavi .has_submenu span,
nav.gnavi a {
  padding: .5rem 1rem;
  display: block;
}
nav.gnavi li {
  /* position: relative; */
}
nav.gnavi ul.submenu {
  min-width: fit-content;
  position: absolute;
  display: block;
  background: #fff;
  z-index: 100;
}
nav.gnavi ul.submenu li {
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
nav.gnavi ul.submenu li:first-child {
  border-top: 1px solid #ccc;
}
@media screen and (min-width: 601px) {
  nav.gnavi ul.menu {
    display: flex;
  }
}
.init-right:after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 0 0 15px;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* ページヘッダー */
.contents_header h1 {
  height: initial;
  color: initial;
  background: no-repeat;
	text-align: left;
  line-height: initial;
  text-shadow: none;
}

.label {
  padding-left: 10px;
  width: 200px;
}
.input,
.data {
  padding-left: 10px;
  border-left: 1px solid #ccc;
  flex: 1;
}

/* ダイアログ */
.modaldialog {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
  z-index: 11000;
}
.modaldialog .overlay {
	background-color: #333;
	opacity: .7;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
}
.modaldialog .dialog_inner {
	margin: 0 auto;
	padding: 20px;
	width: 100%;
	width: fit-content;
	max-width: 98vw;
}
.modaldialog .content_wrap {
	padding: 20px;
	background-color: #fff;
	border-radius: 5px;
}
.modaldialog .content {
	margin-bottom: 10px;
}
.modaldialog .btn_area {
	text-align: center;
}
.modaldialog .btn_area button {
	margin: 0 20px;
	border: 1px solid;
	line-height: 1;
}

/* Form */
form input.tel {
  width: 6rem;
}
form textarea.note {
  width: 100%;
}
/*デバッグ用*/
div.debug {
	margin: 0 auto;
	padding: 0px 10px;
	max-width: 1200px;
}
