@charset "utf-8";
/*@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:300,700,900&display=swap&subset=japanese'); */
/*************************************************
	ベース設定
*************************************************/
body, h1, h2, h3, h4, h5, p, dd, dt, dl, li, td, th {
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', Meiryo, serif;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    color: #111;
    font-weight: 300;
}
body {
	box-sizing: border-box;
	position: relative;
}
h1, h2 {
	font-weight: 700;
	text-align: center;
}
h3, h4 {
	font-weight: 300;
}
p {
   font-weight: 300;
}
ul {
	list-style: none;
	padding-left: 0;
}
dl {
	padding-left: 0;
}
img {
	max-width: 100%;
}
.ma {
	margin-left: auto;
	margin-right: auto;
}
.db {
	display: block;
}
.di {
	display: inline-block;
}
.bgc {
	background: #ccc;
}
.bgd {
	background: #ddd;
}
.bd-ccc {
	border: thin solid #ccc;
}
.bd-ddd {
	border: thin solid #ddd;
}
.bg-ccc {
	backgrond: #ccc;
}
.bg-ddd {
	backgrond: #ddd;
}
.bs {
	box-shadow: 0px 0px 3px 1px rgba(0, 0, 0, 0.2);
}
.f10 {
	font-size: 10px;
}
.f12 {
	font-size: 12px;
}
.f14 {
	font-size: 14px;
}
.f16 {
	font-size: 16px;
}
.fb {
	font-weight: bold;
}
.fn {
	font-weight: normal;
}
.center {
	text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
a:hover {
	text-decoration: none;
}
.float-l {
	float: left;
}
.float-l:after {
	clear: left;
}
.float-r {
	float: right;
}
.float-r:after {
	clear: right;
}
.w5 { width: 5%; } .w10 { width: 10%; } .w15 { width: 15%; } .w20 { width: 20%; } .w30 { width: 30%; } .w40 { width: 40%; } 
.w50 { width: 50%; } .w60 { width: 60%; } .w70 { width: 70%; } .w80 { width: 80%; } .w90 { width: 90%; }

.m5p { margin: 5px; } .m10p { margin: 10px; } .m15p { margin: 15px; } .m20p { margin: 20px; } .m30p { margin: 30px; } .m40p { margin: 40px; }
.m05e { margin: 0.5em; } .m1e { margin: 1em; } .m2e { margin: 2em; } .m3e { margin: 3em; } .m4e { margin: 4em; } .m5e { margin: 5em; }

.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt40 {
	margin-top: 40px;
}
.mt50 {
	margin-top: 50px;
}
.mt60 {
	margin-top: 60px;
}
.mt80 {
	margin-top: 80px;
}
.mt100 {
	margin-top: 100px;
}
.mt120 {
	margin-top: 120px;
}
.mt140 {
	margin-top: 140px;
}
.mt160 {
	margin-top: 160px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb50 {
	margin-bottom: 50px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb80 {
	margin-bottom: 80px;
}
.mb100 {
	margin-bottom: 100px;
}
.mb120 {
	margin-bottom: 120px;
}
.mb140 {
	margin-bottom: 140px;
}
.mb160 {
	margin-bottom: 160px;
}
.mt1e {
	margin-top: 1em;
}
.mt2e {
	margin-top: 2em;
}
.mt3e {
	margin-top: 3em;
}
.ml1e {
	margin-left: 1em;
}
.ml2e {
	margin-left: 2em;
}
.ml3e {
	margin-left: 3em;
}
.mr1e {
	margin-right: 1em;
}
.mr2e {
	margin-right: 2em;
}
.mr3e {
	margin-right: 3em;
}
.mb1e {
	margin-bottom: 1em;
}
.mb2e {
	margin-bottom: 2em;
}
.mb3e {
	margin-bottom: 3em;
}
.p5p {
	padding: 5px;
}
.p10p {
	padding: 10px;
}
.p15p {
	padding: 15px;
}
.p05e {
	padding: 0.5em;
}
.p1e {
	padding: 1em;
}
.p1-5e {
	padding: 1.5em;
}
.p2e {
	padding: 2em;
}
.p3e {
	padding: 3em;
}
.pt1e {
	padding-top: 1em;
}
.pt2e {
	padding-top: 2em;
}
.pt20 {
	padding-top: 20px;
}
.pt30 {
	padding-top: 30px;
}
.pt40 {
	padding-top: 40px;
}
.pt50 {
	padding-top: 50px;
}
.pt60 {
	padding-top: 60px;
}
.pt80 {
	padding-top: 80px;
}
.pt100 {
	padding-top: 100px;
}
.pb1e { padding-bottom: 1em; } .pb2e { padding-bottom: 2em; } .pb3e { padding-bottom: 3em; } .pb4e { padding-bottom: 4em; } .pb5e { padding-bottom: 5em; }

.pb20 {
	padding-bottom: 20px;
}
.pb30 {
	padding-bottom: 30px;
}
.pb40 {
	padding-bottom: 40px;
}
.pb50 {
	padding-bottom: 50px;
}
.pb60 {
	padding-bottom: 60px;
}
.pb80 {
	padding-bottom: 80px;
}
.pb100 {
	padding-bottom: 100px;
}
.en {
	font-size: 1.08em;
}
.absolute {
	position: absolute;
}
.relative {
	position: relative;
}
/*************************************************
	PCナビ
*************************************************/
.nav_class {
    display: flex;
    justify-content: flex-end;
    background: rgba(255, 255, 255, 0.7);
}
.page .nav_class, .single .nav_class, .archive .nav_class {
	/*position: fixed;
	width: 100%;
	top: 0;
	right: 0;
	z-index: 100;*/
}
.gnav {
    display: flex;
    justify-content: flex-end;
    width: 750px;
    padding-left: 0;
    margin-left: 0;
    margin-bottom: 0;
}
.gnav > li {
	position: relative;
    width: 150px;
}
.gnav li {
    list-style: none;
    position: relative;
}
.gnav li a {
    color: #333;
    display: block;
    font-size: 14px;
    height: 65px;
    line-height: 65px;
    text-align: center;
    text-decoration: none;
    width: 100%;
    transition: .3s;
}
.gnav li li a {
	border-bottom: thin solid #ccc;
	background: rgba(255, 255, 255, 0.7);
}
.gnav li li:last-child a {
	border-bottom: 0px;
}
.gnav li a:hover {
	color: #2445aa;
}
.gnav ul.sub-menu {
	position: absolute;
	top: 50px;
	left: 0;
	width: 100%;
	padding-left: 0;
}
.gnav li li {
	width: 220px;
    height: 0;
    overflow: hidden;
    transition: .3s;
}
.gnav li li a {
    border-top: thin solid #efefef;
    text-align: left;
    padding-left: 1em;
}
.gnav li:hover > ul > li, .gnav li:focus > ul > li {
    height: 65px;
    overflow: visible;
    z-index: 999;
}
.menu-fixed {
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
}
.gnav {
	display:none;/*非表示に*/
}
/*************************************************
	mobileナビ（Slick Nav）
*************************************************/
.slicknav_menu {
	/*position: fixed;
	z-index: 999;
	width: 100%;
	left: 0;
	top: 0;*/
 	/*display:none;*//*PC時は非表示*/
 	background: rgba(255, 255, 255, 0);
}
.slicknav_btn {
	background: rgba(30, 34, 8, 0.9);
	margin: 15px;
	padding: 10px;
	border-radius: 1px;
}
.slicknav_nav {
	background: rgba(30, 34, 8, 0.8);
}
.slicknav_nav a {
	padding: 10px;
	margin: 5px;
}
.slicknav_nav .slicknav_row:hover, .slicknav_nav a:hover {
	background: rgba(30, 34, 8, 0.9);
	border-radius: 0;
}
.slicknav_nav a:hover {
	color: #fff;
}
.slicknav_menu .slicknav_icon-bar {
    background-color: rgba(255, 255, 255, 0.8);
}
.mobile-logo img {
	height: 40px;
	margin-left: 6px;
	margin-top: 6px;
}

.slicknav_menu, .mobile-logo {
		display:block;
}
.slicknav_icon,
.slicknav_icon span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}
.slicknav_icon {
    position: relative;
    width: 50px;
    height: 44px;
}
.slicknav_menu .slicknav_icon-bar{
    position: absolute;
    left: 0;
}
.slicknav_icon span:nth-of-type(1) {
    top: 0;
}
.slicknav_icon span:nth-of-type(2) {
    top: 3px;
}
.slicknav_icon span:nth-of-type(3) {
    bottom: 0;
}
.active .slicknav_icon-bar:nth-of-type(1) {
    -webkit-transform: translateY(6px) rotate(-45deg);
    transform: translateY(6px) rotate(-45deg);
}
.active .slicknav_icon-bar:nth-of-type(2) {
    opacity: 0;
}
.active .slicknav_icon-bar:nth-of-type(3) {
    -webkit-transform: translateY(-6px) rotate(45deg);
    transform: translateY(-6px) rotate(45deg);
}

/*************************************************
	共通
*************************************************/
a {
	color: #135197;
	transition: .3s;
}
a:hover {
	color: #468dde;
}
.heading {
	padding-top: 0;
	margin-bottom: 60px;
}
/*************************************************
	ヘッダー
*************************************************/
header {
	position: absolute;
	top: 15px;
	left: 15px;
	z-index: 1000;
}
header h1 {
	font-size: 14px;
	font-weight: normal;
}
header h1 a {
	color: #111;
}
header h1 a:hover {
	color: #222;
}
header .logo {
	height: 50px;
	padding-right: 1.5em;
}
/*************************************************
	フッター
*************************************************/
footer {
	background: #dbdd4e;
	padding-top: 60px;
	margin-top: 120px;
}
footer a {
	color: #aaa;
	transition: .3s;
	text-align: center;
}
footer a:hover {
	color: #fff;
}
footer .logo {
	height: 50px;
	padding-right: 0;
}
.copyright {
	font-size: 12px;
	text-align: center;
	margin-top: 60px;
	padding: 1em 0;
	color: #dbdd4e;
	background: rgba(30, 34, 8, 0.9);
}
/*************************************************
	トップページ
*************************************************/
.box {
	margin: 0 auto;
	border: thin solid #aaa;
	width: 600px;
	background: #dbdd4e;
}
.auth-logo {
	text-align: center;
	margin: 30px 0 10px;
}
.auth-logo img {
	width: 80px;
}
h2 {
	padding-bottom: 0;
}
h2.not {
	margin-top: 60px;
	padding-bottom: 0;
}
.time {
	border-bottom: thin solid #546525;
}
.profile, .name, .team, .time {
	text-align: center;
}
.time {
	font-size: 14px;
	padding-bottom: 0.5em;
}
.profile img {
	margin-top: 10px;
	box-shadow: 0 2px 10px 0 rgba(0,0,0,0.12);
}
.name {
	margin-top: 10px;
}
.space {
	width: 50px;
	margin: 10px auto;
	height: 1px;
	border-bottom: thin solid #546525;
}
.oi-warning {
	padding-right: 3px;
	color: rgba(30, 34, 8, 0.9);
}
.loginout {
	margin: 0 auto;
}
@media screen and (max-width: 991px) {
	.box {
		width: 90%;
	}
	.mysite .item-title {
		padding: 1em 0 0 1em;
	}
	.home .top-message {
		position: relative;
		bottom: 0;
		left: 0;
		background: #fff;
	}
	.home .top-message p {
		text-align: center;
	}
}
@media screen and (max-width: 768px) {
	.box {
		width: 95%;
	}
}
.login-box {
	border: thin solid #555;
	padding: 3em;
}
.login-box p {
	text-align: center;
}
.login-box p.forget {
	font-size: 12px;
}
.login-button {
  display: block;
  width: 200px;
  text-align: center;
  font-size: 16px;
  color: #555;
  text-decoration: none;
  font-weight: bold;
  padding: 12px 24px;
  position: relative;
  border: 1px solid #555;
  transition: .4s;
  background: #f5f5f5;
  text-align: center;
  margin: 40px auto;
}
.loginout {
	/*position: absolute;
	top: 18px;
	right: 18px;*/
}
footer .loginout {
	position: relative;
	top: 0;
	left: 0;
}
.login-button.to-in, .login-button.to-out {
  width: 80px;
  padding: 4px 5px;
  border: thin solid #999;
  font-size: 14px;
  margin: 20px auto;
  font-weight: normal;
}
footer .login-button.to-in, footer .login-button.to-out {
	border: thin solid #fff;
	background: transparent;
	color: #fff; 
}
.to-in, .logged-in .to-out {
	display: block;
}
.to-out, .logged-in .to-in {
	display: none;
}

.login-button:hover {
  border: 1px solid transparent;
  color: #c45606;
  background: #fff;
}

footer .login-button:hover {
  color: #aaa;
  background: #0a0a0a;
}

.login-button:before, .login-button:after {
  width: 100%;
  height: 100%;
  z-index: 3;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  transform: scale(0);
  transition: .2s;
}

.login-button:before {
  border-bottom: 1px solid #c45606;
  border-left: 1px solid #c45606;
  transform-origin: 100% 0%;
}

.login-button:after {
  border-top: 1px solid #c45606;
  border-right: 1px solid #c45606;
  transform-origin: 0% 100%;
}

.login-button:hover:after,
.login-button:hover:before {
  transform: scale(1);
}

@media screen and (min-width: 576px) {
	dl.sum dt, dl.sum dd {
		border-left: 0;
	}
}
@media screen and (max-width: 575px) {
	dl.sum dt {
		border-top: 0;
	}
	h2 small {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	header .logo {
		height: 40px;
	}
	h1 span {
		display: none;
	}
	h2 {
		font-size: 24px;
	}
	li.non {
		font-size: 14px;
	}
	.login-box {
		padding: 2em;
	}
}
@media screen and (max-width: 991px) {
	.login-box p {
		text-align: center;
		font-size: 14px;
	}
	.login-box p:first-child {
		padding-bottom: 1em;
	}
	.login-button {
		width: 100px;
		padding: 8px 12px;
	}
	footer .logo {
		padding-right: 0;
		margin-bottom: 0;
	}
}
/*************************************************
	固定ページ
*************************************************/
section.contents {
	padding-top: 0;
}
.card {
	border: thin solid #dbdd4e;
}
.card-body dl {
	margin-top: 1.5em;
	/*margin-left: 1em;*/
	border-top: thin solid #dbdd4e;
}
.card-body dt {
	/*border-bottom: thin solid rgba(30, 34, 8, 0.1);*/
	font-size: 18px;
	margin: 1em 1em 0 1em;
}
.card-body p.small {
	margin-top: 16px;
	padding-top: 6px;
	border-top: thin solid  rgba(0,0,0,.2);
}
.card-body ul {
	margin-top: 0.25em;
}
.card-body li {
	margin-left: 1em;
}
.card-header {
	background: #fcfce5;
}
.list-header, .list-body {
	font-size: 14px;
}
.list-header {
	display: inline-block;
	margin-top: 1em;
	padding: 0 .5em .25em;
	font-weight: bold;
	border-bottom: thin solid #dbdd4e;
}
.list-body {
	list-style-type: circle;
}
.list-body li {
	margin-left: 1.5em;
}
.site {
	display: block;
	text-align: center;
	width: 200px;
	margin: 2em 1em 1em 1em;
	padding: .75em 1em;
	background: #fcfce5;
	border: thin solid rgba(0,0,0,.125);
}
.site a {
	transition: .3s;
}
.site a:hover {
	opacity: .7;
}
.oi-home, .oi-list, .oi-map-marker {
	font-size: 1.2rem;
	padding-right: .5em;
}
.shop {
	border-bottom: thin solid  rgba(0,0,0,.2);
	padding-bottom: 6px;
}
.shop .oi {
	top: 2px;
	padding-left: .5em;
	padding-right: 1em;
	font-weight: normal;
}
.map-list {
	margin-top: -12px;
}
.jusyo {
	display: inline-block;
	margin-left: 16px;
	padding-top: 12px;
}
/*
.oi-map-marker.map-list {
	padding: .5em .25em .5em 1em;
}
*/
