@charset "UTF-8";
* {
    margin: 0;
    padding: 0;
    color: #111;
	font-family: "Open Sans", sans-serif;
    font-size: 14px;
    line-height: 1.8em;
	letter-spacing: 0.05em;
}
body, html {
    height: 100%;
    margin: 0 auto;
}
html {
    scroll-behavior: smooth;
}
img {
    width: 100%;
    vertical-align: top;
}
a {
	text-decoration: none;
}
a:hover {
	opacity: 0.8;
}
h1, h2, h3, h4, h5 {
	font-weight: normal;
} 
h1 {
	font-size: 21px;
}
h2 {
	font-size: 18px;
	color: #7b8174;
}
.anchor {
  margin-top: -60px;
  padding-top: 60px;
}
.inner {
    width: 90%;
    max-width: 980px;
    margin-right: auto;
    margin-left: auto;
}
.inner768 {
    width: 90%;
    max-width: 768px;
    margin-right: auto;
    margin-left: auto;
}
.inner280 {
    width: 90%;
    max-width: 190px;
    margin-right: auto;
    margin-left: auto;
}
.margin_l {
	margin-top: 5%;
	margin-bottom: 5%;
}
.margin_m {
	margin-top: 3%;
	margin-bottom: 3%;
}
.margin_s {
	margin-top: 1%;
	margin-bottom: 1%;
}
.margin_bottom_l {
	margin-bottom: 5%;
}
.margin_bottom_m {
	margin-bottom: 3%;
}
.margin_bottom_s {
	margin-bottom: 1%;
}
.padding_l {
	padding: 5%;
}
.padding_m {
	padding: 3%;
}
.padding_top_s {
	padding-top: 1%;
}
.padding_bottom_s {
	padding-bottom: 1%;
}
.center {
	text-align: center;
}
.white {
	color: #fff;
}
.bg_white {
	background-color: #fff;
}
.just {
    text-align: justify;
}
.title_holizonal {
    background-color: #97a791;
    color: #fff;
    padding: 1% 0;
	font-size: 18px;
	text-align: center;
}
header {
    position: relative;
    overflow: hidden;
    height: calc(100vh - 60px);
	box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5%;
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: rgba(1, 1, 1, 0.4);
    background-blend-mode: overlay;
    font-size: 30px;
	background-image: url('../img/michikusa/img01.jpg');
}
header div {
    padding-top: 3%;
    color: #fff;
	font-size: 60px;
}
/*
header img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 1400px) {
    header img {
        width: 120%;
        max-width: 120%;
    }
}
@media screen and (max-width: 1200px) {
    header img {
        width: 140%;
        max-width: 140%;
    }
}
@media screen and (max-width: 960px) {
    header {
        height: auto;
        padding-top: calc(100% - 60px);
    }
    header img {
        width: 150%;
        max-width: 150%;
    }
}
*/
main {
    background-color: #ede3d6;
}
.top_nav {
    position: sticky;
    top: 0;
    height: 60px;
    background-color: #7b8174;
    font-size: 0;
	display: flex;
}
.top_nav section {
    height: 60px;
    font-size: 14px;
    overflow: hidden;
}
.top_nav_left {
	width: 148px;
}
.top_nav_right {
	flex-grow: 1;
    position: relative;
}
.top_nav_info {
	padding: 14px 80px 0 0;
	float: right;
	font-size: 12px;
	font-weight: bold;
}
a.tel {
	margin-left: 10px;
	margin-right: 30px;
}
a.tel span {
  font-size: 20px;
	font-weight: normal;
}
a.tel img {
	width: 20px;
	padding-top: 6px;
	padding-right: 4px;
}
a.mail img {
	width: 20px;
	padding-top: 10px;
}
/*電話番号のクリックはタブレットから*/
@media(min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    text-decoration: none;
  }
}
@media(max-width: 768px) {
	.disappear {
		display: none;
	}
}
.btn {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    width: 60px;
    z-index: 90;
    background-color: #7b8174;
}
.btn span, .btn span:before, .btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #111;
    position: absolute;
}
.btn span:before {
    bottom: 8px;
    background-color: #111;
}
.btn span:after {
    top: 8px;
    background-color: #111;
}
.btn:hover {
	cursor: pointer;
}
.gnav {
	position: fixed;
    top: 0;
	right: 0;
    display: none;
    height: auto;
	width: 300px;
    background-color: #fff;
}
.gnav p {
	padding: 16px 10px;
	font-size: 14px;
	font-weight: bold;
	color: #7b8174;
}
nav.gnav ul {
    padding: 10px 0;
}
nav.gnav ul li {
    display: block;
    padding: 0;
    height: auto;
    text-align: left;
}
nav.gnav ul li a {
	position: relative;
    display: block;
    padding: 10px 10px 10px 30px;
}

nav.gnav ul li a::after {
    position: absolute;
    left: 10px;
    top: 16px;
    display: block;
    content: "";
    width: 6px;
    height: 6px;
    border-right: 2px solid #7b8174;
    border-top: 2px solid #7b8174;
    transform: rotate(45deg);
}
#on_off:checked ~ .gnav {
    display: block;
    z-index: 70;
}
#on_off:checked ~ .btn {
	position: fixed;
}
#on_off:checked ~ .btn span {
    background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/
}
#on_off:checked ~ .btn span::before {
    bottom: 0;
    transform: rotate(45deg);
    background-color: #111;
}
#on_off:checked ~ .btn span::after {
    top: 0;
    transform: rotate(-45deg);
    background-color: #111;
}
#menu-background {
    background-color: #333;
    display: none;
    height: 100%;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: all 0.3s linear 0s;
    width: 100%;
    z-index: -1;
}
#on_off:checked ~ #menu-background {
    display: block;
    opacity: 0.5;
    z-index: 70;
}
.three_columns_nm ul {
    font-size: 0;
	margin-bottom: 5%;
}
.three_columns_nm ul li {
    display: inline-block;
    width: 33.3333333%;
    vertical-align: top;
    font-size: 15px;
}
@media screen and (max-width: 960px) {
    .three_columns_nm ul li {
        width: 100%;
        margin-right: 0;
        clear: both;
    }
}
table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

table tr {
  background-color: #d0e6c8;
  padding: .35em;
  border-bottom: 2px solid #fff;
}
table th,
table td {
  padding: 1em 10px 1em 1em;
  border-right: 2px solid #fff;
}
table th {
	color: #fff;
}
table thead tr{
  background-color: #7b8174;
  color:#fff;
}
table tbody th {
    background: #97a791;
    color: #fff;
}
.txt{
   text-align: left;
}
.price{
  text-align: right;
  color: #7b8174;
  font-weight: bold;
}
.non{
  background:#fff
}
@media screen and (max-width: 768px) {
  table {
    border: 0;
    width:100%
  }
  table th{
    background-color: #167F92;
    display: block;
    border-right: none;
  }
  table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  table tr {
    display: block;
    margin-bottom: .625em;
  }
  table td {
    border-bottom: 1px solid #bbb;
    display: block;
    text-align: right;
    position: relative;
    padding: .625em .625em .625em 4em;
    border-right: none;
  }
  
  table td::before {
    content: attr(data-label);
    font-weight: bold;
    position: absolute;
    left: 10px;
    color: #111;
  }
  table td:last-child {
    border-bottom: 0;
  }
  table tbody th {
    color: #fff;
}
}
.map iframe {
    height: 50vh;
}
.group {
    background-color: #eee;
    padding: 12px 0;
}
.group section {
    font-size: 0;
}
.group div {
    display: inline-block;
    width: 50%;
    vertical-align: middle;
}
@media screen and (max-width: 414px) {
	.group div.group_read p {
		font-size: 14px;
	}
}
.group div.logo_hy {
	/*text-align: right;*/
}
.group div.logo_hy a {
    display: inline-block;
    width: 100%;
    max-width: 140px;
line-height:1em;
	vertical-align: middle;
}
.group div p {
    font-size: 12px;
}
@media screen and (max-width: 960px) {
    .group div {
        display: block;
        width: 100%;
        text-align: center;
    }
    .group div.logo_hy {
        width: 90%;
        text-align: center;
        margin: 0 auto 0 auto;
    }
}
@media screen and (max-width: 960px) {}