@charset "UTF-8";
/*--------------------------------------------------------------
reset.min.css
リセット関係・clearfixなど

fonts.min.css
フォントアイコンを記載したcss

common.css
レイアウト、TOPのスタイルを記載したcss

--------------------------------------------------------------*/
/* fontIcon
:before,
:after {
	content: "\f099";
	font-family: "icomoon";
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}
/* ------------------------------------------------------------ */
/* 全デバイス/画面サイズに共通 かつ
　　479：スマートフォン縦：基本・レイアウト指定 */
/* ------------------------------------------------------------ */
* html body {
  background: url(null) fixed;
}
html {
  font-size: 62.5%;
  overflow-x: hidden;
}
/*ナビ表示のときはスクロールしないように*/
html.is-locked {
    overflow-y: hidden;
}
body {
  margin: 0;
  padding: 0;
  background: #fff;
  color: #000;
  font-size: 14px;
  line-height: 1.8;
  font-weight: 400;
  font-style: normal;
	font-family: "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  overflow-wrap: break-word;
  text-size-adjust: 100%;
  font-feature-settings: "palt";
  letter-spacing: .075em;
	-webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;

}
.pc {
  display: none;
}
@media (min-width: 751px) {
  /*電話番号リンクをスマホのみ有効にする*/
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

/* ------------------------------------------------------------ */
/* font size */
/* ------------------------------------------------------------ */
@media screen and (min-width: 768px) {
  /* 768px以上 */
  body {
    font-size: 1.5rem; /* 15px */
  }
}
@media screen and (min-width: 1154px) {
  /* 1154px以上 */
  body {
    font-size: 1.6rem; /* 16px */
  }
}

/* ------------------------------------------------------------ */
/* img */
/* ------------------------------------------------------------ */
.thum, .image, .banner {
  margin: 0 auto;
  text-align: center;
}
/* ------------------------------------------------------------ */
/* icon */
/* ------------------------------------------------------------ */
#svg {
	display: none;
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
}
.arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	width: 1.4em;
	height: 1.4em;
	border-radius: 100px;
	transition: all .3s;
}
.arrow:not(:last-child) {
	margin-right:5px;
}
.arrow:hover {
	background-color: #e0e0e0;
	cursor: pointer;
}
.arrow svg {
	width: .6em;
	height: .7em;
	fill: #454545;
}

/* ------------------------------------------------------------ */
/* link */
/* ------------------------------------------------------------ */
::selection {
  color: #383838;
  background: rgba(0,0,0,0.1);
  text-shadow: none;
}

::-moz-selection {
  color: #383838;
  background: rgba(0,0,0,0.1);
  text-shadow: none;
}
a {
  color: #000;
  cursor: pointer;
  line-height: inherit;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
}
.main-logo a {
	line-height: 0;
}
a:link {
  color: #000;
  text-decoration: none;
}
a:visited {
  color: #000;
  text-decoration: none;
}
a:hover {
  color: #666;
  opacity: 0.8;
  text-decoration: none;
}
a:active {
  color: #000;
  text-decoration: none;
}
.scale_img {
  overflow: hidden;
}
.scale_img img {
  transition: all .3s;
}
a:hover .scale_img img {
  transform: scale(1.2);
}
a.inline-link,
.inline-link {
	 text-underline-position: under;
	 text-decoration: none;
	 transition: all .3s;
/* text-decoration-color: #707070;
    -webkit-text-decoration:underline solid #707070 1px; */
}
.inline-link:hover {
	text-decoration: none;
	opacity: .85;
	cursor: pointer;
}
/* ------------------------------------------------------------ */
/* ボタン */
/* ------------------------------------------------------------ */
.btn-item {
	width: 100%;
	text-align: center;
	display: flex;
    flex-wrap: wrap;
	margin-top: 1em;
	margin-bottom: 1em;
}
.btn-item .btn {
    font-weight: 500;
    display: inline-block;
    letter-spacing: .075em;
	line-height: 1.5;
	max-width: 100%;
    color: #fff;
    background: #304FA3;
    border: 2px solid #304FA3;
    margin-bottom: .5em;
    padding: .5em 1.5em;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
	border-radius: 3px;
	min-height: inherit;
	white-space: pre-wrap;
	margin: 0 20px;
}
.btn-item .btn:not(:last-child) {
	margin-right: 1em;
}
.btn-item .btn:hover {
	background: #fff;
	color: #304FA3;
	opacity: 1;
	cursor: pointer;
}
.btn-item .btn.btn-border {
	background: #fff;
	color: #304FA3;
}
.btn-item .btn.btn-border:hover {
	background: #304FA3;
	color: #fff;
}
.btn-item .btn.btn-gray {
	background: #454545;
	color: #fff;
	border: 2px solid #454545;
}
.btn-item .btn.btn-gray:hover {
	background: #fff;
	color: #454545;
}
.btn-item .btn.btn-grn {
	background: #2D9F54;
	color: #fff;
	border: 2px solid #2D9F54;
}
.btn-item .btn.btn-grn:hover {
	background: #fff;
	color: #2D9F54;
}
.btn-item .btn-off,
.btn-item .btn-off:hover {
	background: #D5D5D5;
	color: #000;
	border: 2px solid #D5D5D5;
}
.btn-item .btn-large {
	min-width: 250px;
	font-size: 1.3em;
}
.btn-item .btn.btn-sm {
	font-size: 1.4rem;
	padding: 0.3em 0.5em;
	min-width: inherit;
}
.edit-btn {
	display: flex;
	align-items: center;
}
.edit-btn .btn {
	font-size: 1.4rem;
	font-weight: 500;
    padding: 0.5em 1em;
    background: #304FA3;
    border-radius: 50px;
	line-height: 1.4;
	color: #fff;
	transition: all 0.3s ease-in-out;
}
.edit-btn .btn:hover {
	opacity: .85;
	cursor: pointer;
}
.edit-btn .btn:not(:last-child) {
	margin-right: 1em;
}
.edit-btn .btn:not(:last-child) {
	margin-right: .5em;
}
.edit-btn .btn.btn_gray {
	background-color: #454545;
}
.edit-btn .btn.btn_grn {
	background-color: #2D9F54;
}
.flx-line .edit-btn .btn {
	font-size: 1.2rem;
}
/* ------------------------------------------------------------ */
/* header */
/* ------------------------------------------------------------ */
.main-header {
	width: 100%;
	position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  /* スマホ用の慣性スクロール */
  -webkit-overflow-scrolling: touch;
}
.header_inner {
	position: relative;
	z-index: 5;
  width: 100%;
  height: 55px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  box-shadow: 0 0 5px 0 rgb(0 0 0 / 20%);
}
.admin-board .header_inner {
	background: #222222;
}
.user-board .header_inner {
	background: #0F286E;
}
.main-logo {
	margin: 0;
  display: flex;
  height: 100%;
  max-width: 300px;
  margin-right: 1em;
  align-items: center;
}
/* hamburger */
.hamburger {
  width: 32px;
  height: 22px;
  flex-shrink: 0;
}
.hamburger button {
  min-height: inherit;
  position: relative;
  width: 100%;
  height: 100%;
  outline: none;
}
.hamburger span {
  height: 2px;
  width: 100%;
  display: block;
  background: #fff;
  transition: all .3s ease-in-out;
  position: absolute;
  left: 0;
	border-radius: 50px;
}
.hamburger span:first-of-type {
  top: 0;
}
.hamburger span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.hamburger span:nth-of-type(3) {
  bottom: 0;
}
.hamburger.is-open span:first-of-type,
.is-open .hamburger span:first-of-type{
  top: 10px;
  transform: rotate(45deg);
}
.hamburger.is-open span:nth-of-type(2),
.is-open .hamburger span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.is-open span:nth-of-type(3),
.is-open .hamburger span:nth-of-type(3) {
  top: 10px;
  transform: rotate(-45deg);
  left: 0;
}

/* ------------------------------------------------------------ */
/* login-menu */
/* ------------------------------------------------------------ */
.log-menu {
	display: flex;
	justify-content: flex-end;
	flex-grow: 1;
	height: 100%;
}
.set-btn {
	display: flex;
	align-items: center;
	color: #fff;
}
.user_icon {
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 100px;
	background-color: #D9D9D9;
	overflow: hidden;
	position: relative;
}
.user_icon img{
	position: absolute;
	width: 100%;
	max-width: inherit;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
  }
.user_name {
	position: relative;
	font-weight: 500;
	line-height: 1.4;
}
.user_name::after {
	content: 'さん';
	display: inline-block;
	font-size: .8em;
	margin-left: 5px;
}

.set-menu {
	display: none;
	visibility: hidden;
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translateY(100%);
	background: #fff;
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	border: 1px solid #e7e7e7;
	width: 200px;
	opacity: 0;
	transition: all .3s;
}
.set-menu.is-open {
	display: block;
	visibility: visible;
	z-index: 10;
	opacity: 1;
}
.set-menu .user_name {
	font-size: 1.4rem;
	padding: 1em 1.5em;
	border-bottom: 1px solid #cfcfcf;
	color: #304FA3;
}
.set-menu ul {
	padding: .5em 0;
}
.set-menu-item {
	display: block;
	padding: 3px 1.5em;
	font-weight: 500;
	color: #000;
	font-size: 1.6rem;
}
.set-menu-item:hover {
	color: #304FA3;
}


/* ------------------------------------------------------------ */
/* drawernav */
/* ------------------------------------------------------------ */
.drawernav {
	width: 200px;
	height: 100%;
	position: fixed;
	top: 0;
	z-index: 2;
	-webkit-transition: transform 0.3s;
	transition: transform 0.3s;
	background: #fff;
}
.drawernav.right { /*右から*/
	right: 0;
	transform: translateX(100%);
}
.drawernav.left { /*左から*/
	left: 0;
    transform: translateX(-100%);
}
.show-nav .drawernav {
  transform: translateX(0);
  pointer-events: auto;
  overflow-y: auto;
}
.drawernav_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: auto;
  opacity: 0;
  position: relative;
  padding: 55px 0 1.5em;
  z-index: 1;
/*
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
*/
}
.show-nav .drawernav_inner {
  opacity: 1;
  transition: 1.8s cubic-bezier(.165, .84, .44, 1) .3s;
}
.hidden-nav.overlay {
  position: fixed;
  width: 100vw;
  height: 100vh;
  display: block;
  background: rgba(0, 0, 0, .2);
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  z-index: 10;
}
.show-nav .hidden-nav.overlay {
  opacity: 1;
  visibility: visible;
}
/* ------------------------------------------------------------ */
/* admin_nav */
/* ------------------------------------------------------------ */
.drawernav.admin-menu-bar {
	background: #0F286E;
}
.nav-menu {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	margin: 0 auto 2em;
}
.admin-item {
	font-weight: 500;
	font-size: 1.5rem;
	padding: .8em 1.2em;
	display: flex;
	align-items: center;
	background-color: #304FA3;
	color: #fff;
	border-bottom: 1px solid #0F286E;
}
a.admin-item {
	color: #fff;
}
.admin-item.current {
	background-color: #222222;
}

/* ------------------------------------------------------------ */
/* common content */
/* ------------------------------------------------------------ */
.wrapper {
	width: 100%;
	height: auto;
	overflow: hidden;
  }
.content {
  width: 100%;
  height: auto;
  position: relative;
  margin: 0 auto;
}
.content.full,
.user-board .content,
.admin-board .content {
	min-height: calc(100vh - 35px);
}
.content.full {
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.admin-board .content,
.user-board .content {
	padding-top: 55px;
}
.base {
	width: 100%;
	height: auto;
	position: relative;
	padding: 2.5em 0;
	margin: 0 auto;
  }
.inner {
	width: 100%;
	max-width: 100%;
	height: auto;
	padding: 0 1em;
	margin: 0 auto;
	clear: both;
  }
  .inner::after {
	content: "";
	clear: both;
	display: block;
  }
  .edit-content {
	  padding: 1em;
	  margin: 0 auto 2em;
  }

.box {
	width: 100%;
	margin: 0 auto 3em;
}
/* ------------------------------------------------------------ */
/* user_board */
/* ------------------------------------------------------------ */
.login-logo {
	padding: 1em;
	text-align: center;
	margin: 0 auto 1em;
	background-color: #454545;
	border-radius: 10px;
}
.login_box {
	max-width: 500px;
	margin: 0 auto;
}


.pin_box {
    display: flex;
    width: 100%;
    max-width: 500px;
    margin: 2em auto;
}
.pin_num {
    flex: 1;
}
.pin_num:not(:last-child) {
    margin-right: 1em;
}
.pin_num input {
    min-width: inherit;
    width: 100%;
    height: 90px;
    padding: 1em;
    text-align: center;
    font-size: 25px;
    border: 1px solid #bfbfbf;
    border-radius: 15px;
}

/* ------------------------------------------------------------ */
/* box */
/* ------------------------------------------------------------ */
.bg_box {
	padding: 1em 1.5em;
	margin: 0 auto 2em;
}
.bg_box > *:first-child {
	margin-top: 0;
}
.bg_box > *:last-child {
	margin-bottom: 0;
}
.round_head {
	font-size: 1.3em;
	color: #fff;
	padding: .3em .8em;
	background-color: #304FA3;
	font-weight: 500;
	border-radius: 10px 10px 0 0 ;
}
.user_box {
	padding: 4% 5%;
	margin: 0 auto 2em;
	border-radius: 2vw;
}
.round_cnt {
	padding: 4% 5%;
	margin: 0 auto 2em;
	border-radius: 0 0 10px 10px;
}
.comfirm-box {
	border: 1px solid #bfbfbf;
	padding: 5px 10px;
	margin: 1em auto;
	background-color: #e6edff;
	color: #454545;
}
.comfirm-box > *:first-child {
	margin-top: 0;
}
.comfirm-box > *:last-child {
	margin-bottom: 0;
}
.comfirm-box.error {
	border: 1px solid #E62E2E;
	background-color: #FFEDED;
	color: #E62E2E;
}
.comfirm_txt {
	font-weight: 500;
	font-size: 1.5rem;
}
/* ------------------------------------------------------------ */
/* ttl txt */
/* ------------------------------------------------------------ */
.main-ttl {
  font-size: 1.6em;
  font-weight: 500;
  color: #454545;
  margin: 0 auto .5em;
	line-height: 1.5;
	letter-spacing: .1em;
}
.user-board .main-ttl {
	color: #304FA3;
	margin: 0 auto 1em;
}
.sub-ttl {
  font-size: 1.4em;
  font-weight: 500;
  color: #454545;
  margin: 1em auto .5em;
	line-height: 1.5;
}
.sub-ttl.flx-line {
	margin-top: .5em;
	margin-bottom: .5em;
}
.mid-ttl {
	font-size: 1.2em;
	margin: 1em auto .8em;
	font-weight: 700;
}
.sm-ttl {
	font-size: 1.1em;
	line-height: 1.4;
	margin: 0 auto .5em;
	font-weight: 700;
}
.add-comment {
	display: inline-block;
	font-size: 1.4rem;
	margin-left: 1em;
}
.txt {
	margin: 0 auto 1.5em;
}
.caption {
	font-size: .85em;
	margin: 0 auto 1em;
}
.bold {
	font-weight: 700;
}
.midi {
	font-weight: 500;
	color: #454545;
}
.align-center {
	text-align: center;
}
.align-right {
	text-align: right;
}
.align-left {
	text-align: left;
}
.ttl_flx_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	align-items: center;
}
.ttl_flx_box .btn-item,
.ttl_flx_box .sub-ttl,
.ttl_flx_box .flx-line{
	width: auto;
	margin-left: 0;
	margin-right: 0;
}

/* ------------------------------------------------------------ */
/* color */
/* ------------------------------------------------------------ */
.bg_gray {
	background: #F7F7F7;
}
.bg_white {
	background: #fff;
}
.bg_red {
   background: #FFEDED;
}
.bg_blue {
	background: #e8f2ff;
 }
.clr_red {
   color: #E62E2E;
}
/* ------------------------------------------------------------ */
/* list */
/* ------------------------------------------------------------ */
.list li:not(:last-child) {
	margin-bottom: .5em;
}
.dot_list li {
	position: relative;
	padding-left: 1em;
}
.dot_list li::before {
	content: '・';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}
.num-list {
	counter-reset: item;
}
.num-list li::before{
	display: inline-block;
	counter-increment: item;
    content: counter(item)'.';
}

/* ------------------------------------------------------------ */
/* flx_box */
/* ------------------------------------------------------------ */
.flx_box {
  width: 100%;
  height: auto;
  margin: 0 auto 1em;
  display: flex;
  flex-wrap: wrap;
}
.hrzn_center {
	justify-content: center;
}
.hrzn_right {
	justify-content: flex-end;
}
.hrzn_equal {
	justify-content: space-between;
}
.flx-line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.flx-line > * {
	margin-top: 5px;
	margin-bottom: 5px;
}
.flx-line > *:not(:last-child) {
	margin-right: .5em;
}

/* カラム共通 */
.flx_item {
  width: 100%;
  height: auto;
  margin: 0 auto 1.5em;
}
/* ------------------------------------------------------------ */
/* animation */
/* ------------------------------------------------------------ */
@keyframes fadeInup {
  0% {
    opacity: 0;
    transform: translateY(50%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIndown {
  0% {
    transform: translateY(-50%);
  }
  100% {
    transform: translateY(0);
  }
}
.fadeInup {
  opacity: 0;
  animation: fadeInup 2s ease-in-out 0.3s 1 forwards;
}
.fadeIn {
  opacity: 0;
  animation: fadeIn 2s ease-in-out 2.5s 1 forwards;
}
.inview {
  opacity: 0;
}
/* ------------------------------------------------------------ */
/* ローカルナビ */
/* ------------------------------------------------------------ */
.localnav {
	width: 100%;
	margin: 0 auto 1em;
	display: flex;
	flex-wrap: wrap;
	height: 100%;
}
.localnav li {
	margin-bottom: .5em;
	position: relative;
}
.localnav li:not(:last-of-type) {
	padding-right: 1.2em;
}
.localnav li:not(:last-of-type)::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	right: .6em;
	transform: translateY(-50%);
	width: 1px;
	height: 1em;
	background: #454545;
}
.localnav a {
	font-weight: 400;
	color: #454545;
	display: inline-block;
}
.localnav a.current {
	color: #000;
	font-weight: 600;
}
/* ------------------------------------------------------------ */
/* pager */
/* ------------------------------------------------------------ */
.pager {
	font-size: 1.2em;
	font-weight: 500;
}
.pager .page-number {
	display: inline-block;
	color: #454545;
}
.pager .page-number.current {
	color: #304FA3;
}
.pager .page-number:not(:last-child) {
	margin-right: .5em;
}

/* ------------------------------------------------------------ */
/* タブ */
/* ------------------------------------------------------------ */
.tab_wrap {
	width: 100%;
	margin: 0 auto 2em;
}
.tab_btn {
    display: flex;
	border-bottom: 2px solid #304FA3;
	margin: 0 auto 1.5em;
}
.tab_btn a {
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
    padding: .8em 1em;
	border-radius: 5px 5px 0 0;
	background: #C7C7C7;
    color: #000;
	line-height: 1;
}
.tab_btn a:not(:first-of-type) {
	margin-left: .3em;
}
.tab_btn a.active,
.tab_btn a:hover {
   background: #304FA3;
	color: #fff;
	opacity: 1;
}
.tab_box{
    display: none;
}
.tab_box.is-active {
    display: block;
}
/* ------------------------------------------------------------ */
/* アコーディオン */
/* ------------------------------------------------------------ */
.ac_cnt {
	display: none;
}
/* ------------------------------------------------------------ */
/* form  */
/* ------------------------------------------------------------ */
.form-style {
    width: 100%;
}
.form-style .hissu {
    display: inline-block;
    padding: 4px 5px;
    margin: 0 5px;
    font-size: .75em;
	font-weight: 500;
    line-height: 1;
    color: #fff;
    background: #ef4848;
	border-radius: 5px;
}
.form-style .error {
	color: #ef4848;
	margin-top: 5px;
	font-weight: 500;
	font-size: .85em;
}
.form-style .auto {
	font-size: .85em;
	font-weight: 500;
	flex-shrink: 0;
}
.form-item {
    padding: .5em 0;
}
.input-ttl {
    width: 100%;
	padding: 5px 10px;
	background: #e1e1e1;
	margin-bottom: 10px;
	position: relative;
}
.input-field {
    width: 100%;
}
.flx-line.vertical {
	flex-direction: column;
}
.flx-line.nowrap {
	flex-wrap: nowrap;
}
.flx-line .cells {
	flex-grow: 1;
	flex-basis: 0;
}
.flx-line .cells:not(:first-of-type) {
	margin-left: .5em;
}
.flx-line.vertical .cells {
	width: 100%;
	display: flex;
	align-items: center;
}
.flx-line.vertical .cells:not(:first-of-type) {
	margin-left: 0;
	margin-top: 5px;
}
.flx-line.vertical .cells span {
	white-space: nowrap;
	font-size: .85em;
	margin-right: 5px;
	flex: 1;
}
.flx-line.vertical input {
	flex: 5;
}
.input-field span {
	display: inline-block;
	margin: 0 5px;
	flex-shrink: 0;
}
.form-style .horizon {
	margin: 0;
	display: inline-flex;
}
.form-style .horizon:not(:last-of-type) {
	margin-right: 1em;
}
.form-style .vertical {
	margin: 0;
	display: block;
}
.set-value {
	font-size: 1em;
	font-weight: 500;
}
.form-style input,
.form-style input[type=tel],
.form-style input[type=text],
.form-style input[type=email],
.form-style select,
.form-style textarea {
    border: 1px solid #bfbfbf;
	background: #fff;
    vertical-align: middle;
	border-radius: 0;
	padding: 5px 10px;
	letter-spacing: .075em;
}
.form-style input.is-error,
.form-style input[type=tel].is-error,
.form-style input[type=text].is-error,
.form-style input[type=email].is-error,
.form-style textarea.is-error {
	color: #ef4848;
	background: #FCEFEF;
	border: 1px solid #ef4848;
}
.form-style .sizeXS {
	max-width: 70px;
}
.form-style .sizeS {
	max-width: 150px;
}

input[type="file"] {
	position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    display: none;
}
.file-field {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.type-file {
	display: block;
    width: auto;
    cursor: pointer;
    position: relative;
	margin-right: 1em;
	flex-shrink: 0;
}
.file-label {
    display: inline-block;
    border-radius: 50px;
    background-color: #666;
    text-align: center;
    font-weight: 700;
    color: #fff;
    padding: 0.5em 1.5em;
    cursor: pointer;
	line-height: 1.4;
}
.file-label:hover {
	cursor: pointer;
	background: #37718e;
}
.file-message {
	display: flex;
	margin-top: 5px;
	align-items: center;
	flex-shrink: 0;
}
.file-message .btn-clear {
	display: none;
	font-size: 1.2em;
	margin-left: 1em;
}
.datepicker {
	position: relative;
}
.datepicker::before {
	content: '\f073';
	font-family: "icomoon";
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	color: #bfbfbf;
	position: absolute;
	top: 50%;
	right: .5em;
	transform: translateY(-50%);
	pointer-events: none;
	font-size: 1.2em;
}
.form-style .datepicker input {
	padding-right: 2em;
}
label.select {
	width: 100%;
	position: relative;
	display: inline-block;
}
label.select::before {
    content: '∨';
    display: block;
    position: absolute;
    top: 50%;
    right: .5em;
    transform: translateY(-50%);
    font-size: .7em;
	pointer-events: none;
}
label.select select {
	padding-right: 1.5em;
}
label.check,
label.radio{
    display: inline-flex;
	align-items: center;
	vertical-align: middle;
}
label.check:not(:last-of-type),
label.radio:not(:last-of-type) {
	margin-right: 1em;
}
.radio input[type="radio"],
.check input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 0 5px 0 0;
	-webkit-appearance: none;
	appearance: none;
	position: relative;
	flex-shrink: 0;
	border: 1px solid #bfbfbf;
	background: #fff;
	padding: 0;
}
.radio input[type="radio"]::after,
.check input[type="checkbox"]::after {
	content: "";
	display: block;
	line-height: 1;
	position: absolute;
}
.radio input[type="radio"] {
	border-radius: 100%;
}

.radio input[type="radio"]::after {
	width: 12px;
	height: 12px;
	border-radius: 100%;
	top: 3px;
	left: 3px;
	-webkit-transition: background-color 0.3s ease-in-out;
	transition: background-color 0.3s ease-in-out;
}
.radio input[type="radio"]:checked {
	border-color: #666666;
}
.radio input[type="radio"]:checked::after {
	background: #666666;
}
.check input[type="checkbox"] {
	border-radius: 3px;
}
.check input[type="checkbox"]:checked::after {
	content: "\f00c";
	font-family: "icomoon";
	display: inline-block;
	font-size: 0.9em;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	color: #055CAB;
	top: 3px;
	left: 2px;
}
.type-toggle input[type="checkbox"] {
	width: 48px;
	height: 28px;
	border: 1px solid #D5D5D5;
	border-radius: 3em;
	position: relative;
	appearance: none;
	display: block;
	background-color: #fff;
}
.type-toggle input[type="checkbox"]::after {
	content: '';
	width: 18px;
	height: 18px;
	background: #666666;
	border-radius: 100%;
	top: 4px;
	left: 4px;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	display: block;
	position: absolute;
}
.type-toggle input[type="checkbox"]:checked {
	background: #E62E2E;
	border-color: #E62E2E;
}
.type-toggle input[type="checkbox"]:checked::after {
	transform: translateX(120%);
	background: #fff;
}
.js-visible {
	margin-top: .5em;
}
.submit-item {
	padding: 2em 0;
	margin: 0 auto 2em;
}
button {
	letter-spacing: .075em;
}

.form-parts {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	margin-top: .8em;
	margin-bottom: .8em;
	margin-right: 1.5em;
}
.form-parts span {
	margin: 0 5px;
}
.form-parts > *:not(:last-child) {
	margin-right: .5em;
}

.check-btn,
.radio-btn {
	display: inline-block;
	margin-top: 3px;
	margin-bottom: 3px;
}
.check-btn:not(:last-child),
.radio-btn:not(:last-child) {
	margin-right: 5px;
}
.radio-btn input[type="radio"],
.check-btn input[type="checkbox"] {
	display: none;
  }
  .radio-btn input[type="radio"] + label,
  .check-btn input[type="checkbox"] + label {
	cursor: pointer;
	display: inline-block;
	font-size: 1.4rem;
    font-weight: 500;
    padding: 0.3em 1em;
    background: #a0a0a0;
    border-radius: 50px;
    line-height: 1.4;
    color: #fff;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
  }
  .radio-btn input[type="radio"]:hover + label,
  .check-btn input[type="checkbox"]:hover + label {
	background: #454545;
  }
  .radio-btn input[type="radio"]:disabled + label,
  .check-btn input[type="checkbox"]:disabled + label {
    background: #e5e5e5;
    color: #bfbfbf;
  }
  .radio-btn input[type="radio"].radio-blue:checked + label {
	background: #41BDFF;
  }
  .radio-btn input[type="radio"].radio-orng:checked + label {
	background: #EA9043;
  }
  .check-btn input[type="checkbox"]:checked + label {
	background: #41BDFF;
  }

/* guide-tips*/
.guide-tips {
    display: inline-block;
    vertical-align: text-bottom;
	line-height: 1.4;
}
.guide-tips::before {
	content: '？';
	color: #304FA3;
	border: 2px solid #304FA3;
	letter-spacing: 0;
	margin-left: 3px;
	width: 20px;
	height: 20px;
	display: inline-block;
	font-size: 1em;
	line-height: 1;
	text-align: center;
	border-radius: 50px;
	font-weight: 700;
}
.guide-tips .g-txt {
	display: none;
    position: absolute;
    padding: 10px;
    font-size: 14px;
    line-height: 1.6em;
    color: #fff;
    border-radius: 5px;
    background: #454545;
    width: 200px;
	font-weight: 500;
}
.guide-tips .g-txt:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 40%;
    border: 6px solid transparent;
    border-top: 10px solid #454545;
}
.guide-tips:hover {
	cursor: pointer;
}
.guide-tips:hover .g-txt{
	display: block;
    top: 0;
    left: 0;
	transform: translateY(-100%);
}

/* sort */
.sort-box {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 auto 1em;
	line-height: 1.6;
}
.sort-box > * {
	margin-top: 3px;
	margin-bottom: 3px;
	margin-right: .5em;
}
.sort-box .sm-ttl {
	width: 100%;
    margin: 0 0 0.5em;
}
.sort-box .sort-input,
.sort-box .sort-input{
	width: 160px;
}
.sort-box input {
	min-height: inherit;
}
.sort-box .sort-btn {
	border: none;
	background: #454545;
	color: #fff;
	border-radius: 3px;
	padding: 5px 10px;
	font-weight: 500;
	transition: all .3s;
}
.sort-box .sort-btn:hover {
	background: #304FA3;
}

/* ------------------------------------------------------------ */
/* table */
/* ------------------------------------------------------------ */
.table-wrapper {
	width: 100%;
	margin: 0 auto 2em;
}
.table-wrapper.overflow {
	overflow-x: auto;
	overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
	position: relative;
}
/* .table-wrapper.overflow::before {
	display: block;
    content: "\f337 スクロール";
    font-size: 12px;
    font-weight: bold;
    color: #aaa;
    width: 100%;
    font-family: 'icomoon', 'Noto Sans JP', sans-serif;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    margin: 0 auto 5px;
} */

/* table-txt 文字のみのテーブル　*/
.table-txt th,.table-txt td {
	padding-top: 5px;
	padding-bottom: 5px;
}
.table-txt th:not(:last-child),
.table-txt td:not(:last-child) {
	padding-right: 1.5em;
}
th {
	text-align: left;
}
/* table-list */
.table-list {
	width: 100%;
}
.table-list.auto {
	width: auto;
}
.table-list th {
	font-weight: 700;
	font-size: 14px;
	color: #454545;
}
.table-list th,
.table-list td {
	padding: 7px .8em;
	white-space: nowrap;
	vertical-align: middle;
    border-bottom: 1px solid #DCDCDE;
	background-color: #fff;
}
.table-list.calender th,
.table-list.calender td {
    padding: 3px;
    text-align: center;
}
.table-list tr:first-child th:first-child{
    z-index: 6;
}
.table-list tr:first-child th,
.table-list tr:first-child td{
    border-top: 1px solid #DCDCDE;
}
.table-list th:first-child,
.table-list td:first-child{
    border-left: 1px solid #DCDCDE;
}
.table-list th:last-child,
.table-list td:last-child {
	border-right: 1px solid #DCDCDE;
}
.gray_line th,
.gray_line td {
	background-color: #F7F7F7;
}
.dark_line th,
.dark_line td {
	background-color: #e7e7e7;
}
.red_line th,
.red_line td {
	background-color: #FFEDED;
}
.blue_line th,
.blue_line td {
	background-color: #e6edff;
}
.table-list .blank_cell {
	background-color: #C7C7C7;
}
/* 固定 */
.height-fixed {
	max-height: 550px;
	overflow-y: auto;
}
.has-fixed .table-list,
.height-fixed .table-list {
	border-collapse:separate;
}
.fixed-cell {
	position: sticky;
	top: 0;
	left: 0;
	background-color: #fff;
	z-index: 5;
}
.table-list .first:first-child {
	border-left:none;
}

/* 罫線あり */
.table-ruled th,
.table-ruled td {
	border-right: 1px solid #dcdcde;
}

/* ストライプ */
.table-stripe tr:nth-child(even) th,
.table-stripe tr:nth-child(even) td {
	background-color: #F7F7F7;
}

/* rowspan時のストライプ */
.has-rowspan th.odd,
.has-rowspan td.odd {
	background-color: #F7F7F7;
}

/* tableのinput */
.table-list .field-cell {
	padding: .5em .8em;
}
.field-cell input,
.field-cell input[type=tel],
.field-cell input[type=text],
.field-cell input[type=email],
.field-cell select,
.field-cell textarea {
	border: 1px solid #D5D5D5;
	background: #fff;
	min-height: inherit;
	letter-spacing: .075em;
	padding: 1px 7px;
}
.field-cell input,
.field-cell input[type=tel],
.field-cell input[type=text],
.field-cell input[type=email] {
	min-width: 150px;
}
.field-cell input.mini,
.field-cell input[type=tel].mini,
.field-cell input[type=text].mini,
.field-cell input[type=email].mini {
	min-width: 50px;
}
.field-cell select {
	min-width: 100px
}
/* tableのパーツ */
.hover_line {
	transition: all .3s;
}
.hover_line:hover {
	cursor: pointer;
	box-shadow: inset 1px 0 0 #dadce0, inset -1px 0 0 #dadce0, 0 1px 2px 0 rgb(60 64 67 / 30%), 0 1px 3px 1px rgb(60 64 67 / 15%);
    z-index: 2;
	position: relative;
}
.table-list .hover_line:hover th,
.table-list .hover_line:hover td {
	background-color: #e9e9e9;
}

.tb_sm {
	font-size: 1.4rem;
}
.calender .tb_day{
	font-size: 16px;
}
.tb_day {
	display: block;
	text-align: center;
	line-height: 1.4;
}
.tb_day span {
	display: block;
	font-size: 12px;
	font-weight: 400;
}
.tb_flx {
	width: 100%;
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
}
.tb_flx > *:not(:last-child) {
	margin-right: .5em;
}
.tb_flx .grow {
	flex-grow: 1;
}

.th-cell {
	width: 0;
	font-size: 14px;
	font-weight: 500;
}
.price-cell {
    text-align: right;
}
.table-list .num-cell {
	text-align: center;
    width: 40px;
	font-weight: 700;
    font-size: 14px;
    color: #454545;
}
.line-cell {
	width: 0;
}
.line-cell span {
	display: inline-block;
	margin-right: .5em;
}
.line-cell span:last-child {
	margin-right: 0;
}
.table-list .wrap-cell {
	white-space: inherit;
}
.check-cell {
	text-align: center;
}
.camp-period {
	font-size: 1.4rem;
	color:#454545;
}
.camp-period::before {
	content: '合宿期間：';
	display: block;
}
.tb_notice {
	font-size: 1.4rem;
	font-weight: 500;
	color: #E62E2E;
}
.status {
	color: #454545;
}
.st_fini .status {
	color: #2D9F54;
}
.st_now .status {
	color: #055CAB;
}
.st_notice .status {
	color: #E62E2E;
}
.st_notice td,
.st_notice th {
	background-color: #FFEDED;
}
.st_notice .status {
	position: relative;
}
.st_notice .status::before {
	content: '';
	display: block;
	width: 4px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #E62E2E;
}

.table-list .add-line td {
	background: none;
	border:none;
	padding: 1em;
}
.add-line .edit-btn .btn{
	background-color: #666;
	color: #fff;
	min-width: 300px;
}
.add-line .edit-btn .btn::before {
	content: '＋';
	margin-right: .5em;
}

/* 宿泊料金設定用 */
.table_room_charge {
	font-size: 14px;
	width: auto;
}
.table_room_charge th,
.table_room_charge td {
	width: 160px;
}
.table_room_charge th:first-child,
.table_room_charge td:first-child {
	width: 90px;
    text-align: center;
}
.table_room_charge input {
	text-align: right;
}
.table_room_charge .field-cell input,
.table_room_charge .field-cell input[type=tel],
.table_room_charge .field-cell input[type=text],
.table_room_charge .field-cell input[type=email] {
    min-width: 100px;
}

/* table calender */
td.cell-reserved {
	background-color: #055CAB;
	color:#fff;
	font-size: 80%;
}
td.cell-cancel {
	background-color: #C7C7C7;
	color:#fff;
	font-size: 80%
}
td.cell-unset {
	background-color: #dca237;
	color:#fff;
	font-size: 80%
}
td.cell-reserved .inline-link,
td.cell-cancel .inline-link,
td.cell-unset .inline-link {
	color: #fff;
}
td.cell-cancel .inline-link::before {
	content: '却下済：';
	display: inline-block;
}
td.cell-unset .inline-link::before {
	content: '仮：';
	display: inline-block;
}

/* table ハイライト */
/* .highlight {
	overflow: hidden;
} */
.highlight td {
	position: relative;
}
.highlight tr:hover td::before {
    background-color: rgb(0 0 0 / 5%);
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.highlight td::after {
	content: "";
    width: 100%;
    position: absolute;
	/* height: 5000vh;
	top: 50%;
	transform: translateY(-50%); */
    left: 0;
    z-index: 1;
  }
  .highlight td:hover::after {
	background-color: rgb(0 0 0 / 5%);
  }


/* ------------------------------------------------------------ */
/* modal  */
/* ------------------------------------------------------------ */
.modal {
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	z-index: 99998;
	left: 0;
}
.modal__bg {
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: fixed;
	top: 0;
	left: 0;
    width: 100%;
}
.modal-wrapper {
	width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.modal-cnt {
	width: 90%;
	max-width: 1200px;
	max-height: 75%;
	margin: 0 auto;
	background: #fff;
	padding: 4% 5%;
	border-radius: 10px;
	position: relative;
}
.modal-inner {
	width: 100%;
	height: 100%;
	overflow-y: auto;
}
.scroll-area {
	width: 100%;
	height: auto;
}
.scroll-area > *:last-child {
	margin-bottom: 0;
}
.close-btn {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(30%,-30%);
	width: 35px;
	height: 35px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #304FA3;
	color: #fff;
	font-size: 1.3em;
	border-radius: 50px;
	border: 2px solid #fff;
	font-weight: 700;
	letter-spacing: 0;
}
.close-btn i {
	line-height: 1;
	letter-spacing: 0;
}
.close-btn:hover {
	cursor: pointer;
	background: #707070;
}
.modal.overlay-message {
	display: block;
}

/* ------------------------------------------------------------ */
/* footer */
/* ------------------------------------------------------------ */
.main-footer {
  width: 100%;
	border-top: 1px solid #cecece;
}
.copy {
  padding: .5em 0;
  text-align: center;
  font-size: 12px;
  height: 35px;
}
.user-board .main-footer{
	border-top: none;
	background-color: #454545;
	color: #fff;
}
/* ------------------------------------------------------------ */
/* admin-board 　*/
/* ------------------------------------------------------------ */
.admin-board .hamburger {
	order: 1;
	margin-right: 1em;
}
.admin-board .main-logo {
	order: 2;
}
.admin-board .log-menu {
	order: 3;
}



@media screen and (min-width: 480px) {
  /* スマートフォン横 */
  .sp {
    display: block;
  }
  .base {
    padding: 3em 0;
  }
  /* ------------------------------------------------------------ */
  /* flx_box */
  /* ------------------------------------------------------------ */
  /* 2カラム */
  .flx_2cols .flx_item {
    width: calc((100% - 1em)/2);
    margin: 0 1em 1.5em 0;
  }
  .flx_2cols .flx_item:nth-child(2n){
    margin: 0 0 1.5em;
  }
  /* 3カラム */
  .flx_3cols .flx_item {
    width: calc((100% - 2em)/2);
    margin: 0 1em 1.5em 0;
  }
  .flx_3cols .flx_item:nth-child(3n) {
    margin: 0 0 1.5em;
  }
  /* 4カラム */
  .flx_4cols .flx_item {
    width: calc((100% - 1em)/2);
    margin: 0 1em 1.5em 0;
  }
  .flx_4cols .flx_item:nth-child(2n) {
    margin: 0 0 1.5em;
  }
    /* ------------------------------------------------------------ */
    /* btn  */
    /* ------------------------------------------------------------ */
	.btn-item .btn-large {
		min-width: 280px;
	}
	.flx_item .btn-item .btn-large,
	.flx_item .btn-item .btn {
		min-width: inherit;
		width: 100%;
		max-width: 300px;
	}
    /* ------------------------------------------------------------ */
    /* form  */
    /* ------------------------------------------------------------ */
	.form-style .sizeM {
		max-width: 300px;
	}
	.form-style .sizeL {
		max-width: 600px;
	}
}
@media screen and (min-width: 768px) {
  /* タブレット縦 / スマートフォン横 */
  /* ------------------------------------------------------------ */
  /* common content */
  /* ------------------------------------------------------------ */
  .inner {
    padding: 0 2em;
	max-width: 1200px;
  }
  .inner_small {
	max-width: 920px;
  }
  .base {
    padding: 4em 0;
  }
	.edit-content {
		padding: 1.5em;
	}
  /* ------------------------------------------------------------ */
  /* ttl txt */
  /* ------------------------------------------------------------ */
  /* ------------------------------------------------------------ */
  /* flx_box */
  /* ------------------------------------------------------------ */
  /* 2カラム */
  .flx_2cols .flx_item {
    width: calc((100% - 2em)/2);
    margin: 0 2em 2em 0;
  }
  .flx_2cols .flx_item:nth-child(2n) {
    margin: 0 0 2em;
  }
  /* 3カラム */
  .flx_3cols .flx_item {
    width: calc((100% - 1.5em)/3);;
    margin: 0 3em 2em 0;
  }
  .flx_3cols .flx_item:nth-child(3n) {
    margin: 0 0 2em;
  }
  /* 4カラム */
  .flx_4cols .flx_item,.flx_4cols .flx_item:nth-child(2n) {
    width: calc((100% - 4.5em)/4);
    margin: 0 1.5em 2em 0;
  }
  .flx_4cols .flx_item:nth-child(4n) {
    margin: 0 0 2em;
  }
  /* ------------------------------------------------------------ */
  /* form  */
  /* ------------------------------------------------------------ */
  .form-item {
	padding: 0;
}
    .form_flx .form-item {
		display: flex;
		padding: .8em 0;
	}

  .input-ttl {
		padding: 5px 0;
		background: none;
		margin-bottom: 0;
}
.form_flx .input-ttl {
	width: 25%;
	max-width: 230px;
	min-width: 150px;
	flex-shrink: 0;
	padding-right: 1em;
}
.form_flx .input-field {
	width: auto;
	flex-grow: 1;
}
.set-value {
	padding: 5px 0;
}
	/* ------------------------------------------------------------ */
	/* modal  */
	/* ------------------------------------------------------------ */
	.close-btn {
		width: 40px;
		height: 40px;
		font-size: 1.6em;
	}
	.modal-cnt {
		padding: 2em 2.5em;
	}

}
@media screen and (min-width: 1025px) {
  /* デスクトップ/タブレット横 */
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  /* ------------------------------------------------------------ */
  /* header */
  /* ------------------------------------------------------------ */
  .header_inner {
	  height: 70px;
	  padding: 0 15px;
  }
  .main-logo {
	max-width: inherit;
  }
  .main-logo img {
	max-width: 300px;
  }
  .system_name {
	display: inline-block;
	font-size: 1.4rem;
	line-height: 1;
	color: #fff;
	margin: 0 1em;
	white-space: nowrap;
}
  /* ------------------------------------------------------------ */
  /* gnav */
  /* ------------------------------------------------------------ */
  .gnav {
    box-shadow: none;
    width: auto;
	  height: 100%;
	  flex-grow: 1;
    padding: 0;
	  display: flex;
	  justify-content: space-between;
	  align-items: center;
	  margin-left: 2em;
  }
  /* nav-menu */
  .nav-menu {
	  width: auto;
	  height: 100%;
    flex-direction: row;
	 justify-content: flex-start;
    margin: 0;
  }
	/* login-menu */
	.log-menu {
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	.log-item > a {
		color: #666;
		font-size: 1.6rem;
		font-weight: 600;
	}
	.register-btn a {
		display: inline-block;
		padding: .3em 1em;
		background: #74BEE8;
		color: #fff;
		border-radius: 5px;
	}

  /* ------------------------------------------------------------ */
  /* admin_nav */
  /* ------------------------------------------------------------ */
	.drawernav.admin-menu-bar {
		transform: translateX(0);
		pointer-events: auto;
		overflow-y: auto;
		box-shadow: 0 0 10px 0 rgb(0 0 0 / 10%);
	}
	.admin-menu-bar .drawernav_inner {
		opacity: 1;
		padding-top: 70px;
	}
	.admin-menu-bar .nav-menu {
		flex-direction: column;
		width: 100%;
	}
	.admin-item {
		font-size: 1.6rem;
	}
	.set-btn {
		padding: .8em;
		position: relative;
		border-radius: 5px;
		transition: all .3s;
	}
	.set-btn:hover {
		cursor: pointer;
		background-color: #454545;
	}
	.admin-board .set-btn {
		padding-right: 2em;
	}
	.admin-board .set-btn::after {
		content: '';
		display: inline-block;
		position: absolute;
		width: .8em;
		height: .8em;
		border-bottom: 2px solid #fff;
		border-right: 2px solid #fff;
		top: 50%;
		right: .5em;
		transform: translateY(-50%)rotate(45deg);
		font-size: 0.85em;
		transition: all .3s;
	}
	.admin-board .set-btn.is-open::after {
		transform: translateY(-50%)rotate(-135deg);
	}
	.user_icon{
		margin-right: .5em;
	}
	.user-board .user_name {
		margin-right: 1em;
	}
	/* ------------------------------------------------------------ */
	/* btn */
	/* ------------------------------------------------------------ */
	/* ------------------------------------------------------------ */
	/* ttl */
	/* ------------------------------------------------------------ */
	.main-ttl {
		font-size: 2.8rem;
	}
	.sub-ttl {
		font-size: 2.4rem;
	}

	/* ------------------------------------------------------------ */
	/* タブ */
	/* ------------------------------------------------------------ */

	/* ------------------------------------------------------------ */
	/* common content */
	/* ------------------------------------------------------------ */
	.admin-board .content,
	.user-board .content {
		padding-top: 70px;
	}
	.admin-board .content,
	.admin-board .main-footer {
		padding-left: 200px;
	}
	.edit-content {
		padding: 2em 4%;
	}
	.base {
		padding: 5em 0;
	}
	/* ------------------------------------------------------------ */
  /* flx_box */
  /* ------------------------------------------------------------ */
  /* 2カラム */
  .flx_2cols .flx_item {
    width: calc((100% - 4em)/2);
    margin: 0 4em 2em 0;
  }
  .flx_2cols .flx_item:nth-child(2n) {
    margin: 0 0 2em;
  }
  /* PCのみ2カラム */
  .flx_pc2cols .flx_item {
    width: calc((100% - 4em)/2);
    margin: 0 4em 2em 0;
  }
  .flx_pc2cols .flx_item:nth-child(2n) {
    margin: 0 0 2em;
  }
  /* 3カラム */
  .flx_3cols .flx_item {
    width: calc((100% - 2em)/3);;
    margin: 0 6em 2em 0;
  }
  .flx_3cols .flx_item:nth-child(3n) {
    margin: 0 0 2em;
  }
  /* 4カラム */
  .flx_4cols .flx_item,.flx_4cols .flx_item:nth-child(2n) {
    width: calc((100% - 6em)/4);
    margin: 0 2em 2em 0;
  }
  .flx_4cols .flx_item:nth-child(4n) {
    margin: 0 0 2em;
  }
}

/* 陸上 */

td.cell-type1{
	background-color: #8b2b2b !important;
}

/* 水泳 */
td.cell-type2{
	background-color: #9437c2 !important;
}

/* その他 */
td.cell-type-other{
	background-color: #6e6a16 !important;
}

/* Pagination */
.localnav li.page-count:after{
	width: 0;
}
.localnav li.page-item.current{
	font-weight:400;
}
	
/* Calender holiday */
td.holiday{
	background:red;
}

