@charset "UTF-8";
body {
    font-family: 'Noto Serif JP', serif, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media print, screen and (min-width:768px) {
body {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
}
/**
 * Noto Sans CJK JP: https://www.google.com/get/noto/#sans-jpan
 * Noto Sans JP: https://fonts.google.com/earlyaccess#Noto+Sans+JP
 */
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 100;
    src: local("Noto Sans CJK JP Thin"), url(../fonts/NotoSansJP-Thin.woff2) format('woff2'), url(../fonts/NotoSansJP-Thin.woff) format('woff'), url(../fonts/NotoSansJP-Thin.otf) format('opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 300;
    src: local("Noto Sans CJK JP Light"), url(../fonts/NotoSansJP-Light.woff2) format('woff2'), url(../fonts/NotoSansJP-Light.woff) format('woff'), url(../fonts/NotoSansJP-Light.otf) format('opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 400;
    src: local("Noto Sans CJK JP Regular"), url(../fonts/NotoSansJP-Regular.woff2) format('woff2'), url(../fonts/NotoSansJP-Regular.woff) format('woff'), url(../fonts/NotoSansJP-Regular.otf) format('opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 500;
    src: local("Noto Sans CJK JP Medium"), url(../fonts/NotoSansJP-Medium.woff2) format('woff2'), url(../fonts/NotoSansJP-Medium.woff) format('woff'), url(../fonts/NotoSansJP-Medium.otf) format('opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    src: local("Noto Sans CJK JP Bold"), url(../fonts/NotoSansJP-Bold.woff2) format('woff2'), url(../fonts/NotoSansJP-Bold.woff) format('woff'), url(../fonts/NotoSansJP-Bold.otf) format('opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 900;
    src: local("Noto Sans CJK JP Black"), url(../fonts/NotoSansJP-Black.woff2) format('woff2'), url(../fonts/NotoSansJP-Black.woff) format('woff'), url(../fonts/NotoSansJP-Black.otf) format('opentype');
}
#wrap {
    overflow: hidden;
}
/*------------------------------------------------------------Page Top*/
#pagetop {
    position: fixed;
    bottom: 20px;
    right: 0px;
}
/*------------------------------------------------------------main*/
#content {
    position: relative;
    z-index: 1000;
    top: 100%;
    background: url("../img/common_img/bg.jpg");
    box-sizing: border-box;
    padding: 40px 30px 0 30px;
}

@media print, screen and (min-width:768px) {
#content {
    padding: 60px 80px 0 80px;
}
}
body {
    height: 100%;
}
/* ----------------------------------------------------------------header*/
header {
    visibility: hidden;
    width: 100%;
    position: relative;
}
/*border*/
header::after {
    content: "";
    display: block;
    position: absolute;
    border: 1px solid rgba(133, 152, 28, 0.0);
    box-sizing: border-box;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 500;
    transition: 0.5s;
}
header #logo {
    position: absolute;
    top: -100px;
    left: 50px;
    transition: 0.5s;
    opacity: 0;
}
header nav {
    position: absolute;
    top: -100px;
    right: 50px;
    transition: 0.5s;
    opacity: 0;
}
div.contact {
    display: block;
    position: absolute;
    top: auto;
    bottom: -100px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    transition: 0.5s;
    opacity: 0;
    z-index: 10000;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 10px;
}
div.contact ul {
}
div.contact ul li {
    padding: 0 auto 10px;
    width: 50%;
    height: auto;
}
div.contact ul li a img {
    width: 90%;
    height: auto;
	max-width: 264px;
}
@media print, screen and (min-width:768px) {
div.contact ul li {
    padding: 0 15px 10px 15px;
    width: inherit;
    height: inherit;
}
}
div.contact.fixed {
    opacity: 1;
    bottom: 0;
}
div.contact.fixed.ptn_btm {
    bottom: 20px;
}
div.copy {
    display: none;
}
div.copy_sp {
    position: relative;
    display: block;
    right: 0;
    left: 0;
    bottom: 100px;
    margin: auto;
    z-index: 9999;
    height: auto;
    color: rgba(133,152,28,1.00);
    font-size: 11px;
}

@media print, screen and (min-width:768px) {
div.copy {
    display: block;
    position: absolute;
    top: 50%;
    left: -100px;
    transform: rotate(-90deg);
    margin-left: auto;
    margin-right: auto;
    color: #82961c;
    transition: 0.5s;
    opacity: 0;
    z-index: 10000;
    font-size: 11px;
}
div.copy_sp {
    display: none;
}
}
div.pagetop a {
    display: block;
}
div.pagetop a img {
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: auto;
    margin-bottom: auto;
    transition: 0.5s;
    opacity: 0;
    z-index: 800;
}
header::before {
    content: "";
    /*
	height: 80px;
	width: 100%;
	
background: -moz-linear-gradient(top,  rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.7) 80%, rgba(255,255,255,0.7) 100%); 
background: -webkit-linear-gradient(top,  rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.7) 80%,rgba(255,255,255,0.7) 100%); 
background: linear-gradient(to bottom,  rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.7) 80%,rgba(255,255,255,0.7) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6ffffff', endColorstr='#b3ffffff',GradientType=0 ); */
    height: 80px;
    width: 100%;
    border: 0 solid rgba(255, 255, 255, 0.7);
    display: block;
    position: absolute;
    top: 0px;
    left: 0;
    transition: 0.5s;
    box-sizing: border-box;
}
.fixed {
    position: fixed !important;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
}
header.fixed {
    visibility: visible;
}
/*border
#header.fixed::after{
	content: "";
	display: block;
	position: absolute;
	border:1px solid rgba(133,152,28,0.7);
	box-sizing: border-box;
	top:80px;
	left:50px;
	right:50px;
	bottom:60px;
	
	z-index: 9999;	
}*/

header.fixed #logo {
    /*opacity: 1;
    top: 25px;
    left: 25px;
    z-index: 1000;*/
    display: none;
}

@media print, screen and (min-width:1070px) {
header #logo {
    left: 50px;
}
}
header #logo img {
    width: 120px;
    height: auto;
}

@media print, screen and (min-width:576px) {
header #logo img {
    width: auto;
    height: auto;
}
header.fixed #logo {
    display: block;
    opacity: 1;
    top: 25px;
    left: 25px;
    z-index: 1000;
}
}
header.fixed nav {
    opacity: 1;
    top: 40px;
    right: 25px;
    z-index: 1000;
    display: none;
}

@media print, screen and (min-width:992px) {
header.fixed nav {
    display: block;
}
}

@media print, screen and (min-width:1070px) {
header.fixed nav {
    right: 50px;
}
}
div.copy.fixed {
    opacity: 1;
    left: -100px;
    width: auto;
}

@media print, screen and (min-width:576px) {
div.copy.fixed {
    left: -90px;
}
}
div.pagetop.fixed a img {
    opacity: 1;
    right: 10px;
    width: auto;
}

@media print, screen and (min-width:576px) {
div.pagetop.fixed a img {
    right: 15px;
}
}
div.pagetop.fixed {
    opacity: 1;
    right: 0;
    width: auto;
    top: 50%;
}
header.fixed::before {
    border-top: 0px solid rgba(255, 255, 255, 0.8);
    /*border-left:49px solid rgba(255,255,255,0.8);
	border-right:49px solid rgba(255,255,255,0.8);
	border-bottom:59px solid rgba(255,255,255,0.8);*/

    display: block;
    top: 0;
    left: 0;
}

@media print, screen and (min-width:576px) {
header.fixed::before {
    border-top: 84px solid rgba(255, 255, 255, 0.8);/*border-left:49px solid rgba(255,255,255,0.8);
	border-right:49px solid rgba(255,255,255,0.8);
	border-bottom:59px solid rgba(255,255,255,0.8);*/
}
}
nav ul {
    display: flex;
    flex-wrap: wrap;
}
nav ul li {
    list-style-type: none;
    padding: 0 8px;
    font-size: 14px;
    color: #82961c;
}
nav ul li.active span {
    border-bottom: 2px solid #82961c;
}
nav a {
    color: #82961c;
    position: relative;
    display: inline-block;
    transition: .3s;
}
nav a {
    color: #82961c;
    position: relative;
    display: inline-block;
    transition: .3s;
}
nav a:hover {
    color: #82961c;
}
nav a:visited {
    color: #82961c;
}
nav a::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 0;
    height: 2px;
    background-color: #82961c;
    transition: .3s;
    color: #82961c;
}
nav a:hover::after {
    width: 100%;
}
nav ul li.nav_icon1 i {
    margin-left: 5px;
    margin-right: -1px;
}
nav ul li i {
    font-size: 26px;
    margin-top: -3px;
}
nav ul li i:hover {
    opacity: 0.7;
    filter: alpha(opacity=60);
    -moz-opacity: 0.6;
    -webkit-transition: all 0.7s;
    -moz-transition: all 0.7s;
    transition: all 0.7s;
}
nav ul li.nav_icon1 a::after, nav ul li.nav_icon2 a::after {
    height: 0;
    background-color: #fff;
}
/*------------------------------------------------------------nav_sp*/
#nav_sp {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
    width: 100%;
}
#nav_sp li {
    padding: 15px 13px;
    color: #fff;
    font-size: 14px;
    letter-spacing: 3px;
    width: 50%;
    float: left;
}
.menu-trigger, .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}

@media screen and (min-width:992px) {
.menu-trigger, .menu-trigger span {
    display: none;
}
}
.menu-trigger {
    position: fixed;
    /*bottom: 20px;
 right: 20px;*/
    top: 15px;
    right: 10px;
    width: 48px;
    height: 48px;
    z-index: 10002;
}

@media screen and (min-width:576px) {
.menu-trigger {
    position: fixed;
    top: 25px;
}
}
a.menu-trigger:hover {
}
.menu-trigger span {
    position: absolute;
    z-index: 9999;
    left: 11px;
    width: 55%;
    height: 3px;
    background-color: #82961c;
}
.menu-trigger span:nth-of-type(1) {
    top: 14px;
}
.menu-trigger span:nth-of-type(2) {
    top: 23px;
}
.menu-trigger span:nth-of-type(3) {
    bottom: 14px;
}
.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(20px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-20px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
}
#overlay {
    display: none;
    width: 100%;
    height: 100%;
    text-align: center;
    position: fixed;
    top: 0;
    z-index: 10001;
    background: rgba(0, 0, 0, 0.8);
    padding: 20px;
    box-sizing: border-box;
}
#overlay ul {
    padding-left: 0px;
}
#overlay ul li {
    padding-left: 0px;
    list-style-type: none;
}
#overlay ul li a {
    color: #fff;
    text-decoration: none;
    font-size: 100%;
}
#overlay ul li i {
    font-size: 150%;
}
#overlay ul li.active a, #overlay ul li a:hover {
    color: #82961c;
}
/*------------------------------------------------------------slider*/

#mainimgarea {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}
#mainimage {
    width: 100%;
    height: 100%;
}
/*Swiperのサイズ*/
.swiper-container {
}
.swiper-slide {
    overflow: hidden;
    position: relative;
    background: #85981c;
}
.swiper-wrapper {
    height: 650px !important;
}

@media print, screen and (min-width:768px) {
.swiper-wrapper {
    height: auto !important;
}
}
/*指定キャッチ*/
.swiper-slide h2 {
    position: absolute;
    color: #fff;
    font-size: 20px;
    z-index: 110;
    padding: 0 20px;
    bottom: 21%;
    left: 0;
    right: 0;
    margin: 0 auto;
}

@media print, screen and (min-width:768px) {
.swiper-slide h2 {
    bottom: 110px;
}
}
/*上の黒*/
.swiper-slide::before {
    content: "";
    /*
  background-image: radial-gradient(#000 20%, transparent 0), radial-gradient(#000 20%, transparent 0);
  background-position: 0 0, 10px 10px;
  background-size:4px 4px;
	*/
    background-color: rgba(0, 0, 0, 0.4);
    background-blend-mode: multiply;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 5;
}
/*img*/
.swiper-slide::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
/*zoom*/
.swiper-slide-active::after {
    opacity: 0;
    animation-name: slider-zoomout;
    animation-timing-function: ease;
    animation-delay: 0s;
    animation-duration: 8s;
    animation-fill-mode: forwards;
    z-index: -1;
}
/*はじめのがたつき防止に最初の1枚に1回だけ*/
.slide01.zoomout::after {
    opacity: 0;
    animation-name: slider-zoomout02;
    animation-timing-function: ease;
    animation-delay: 0s;
    animation-duration: 8s;
    z-index: -1;
}
.slide01::after {
    background: url("../img/index_img/slide01.jpg") center center no-repeat #000;
    background-size: cover;
}
.slide02::after {
    background: url("../img/index_img/slide02.jpg") center center no-repeat #000;
    background-size: cover;
}
.slide03::after {
    background: url("../img/index_img/slide03.jpg") center center no-repeat #000;
    background-size: cover;
}
.slide04::after {
    background: url("../img/index_img/slide04.jpg") center bottom no-repeat #000;
    background-size: cover;
}
 @keyframes slider-zoomout {
 0% {
 opacity: 0;
 transform: scale(1.2, 1.2);
}
 50% {
 opacity: 1;
}
 100% {
 opacity: 1;
 transform: scale(1.0, 1.0);
}
}
 @keyframes slider-zoomout02 {
 0% {
 opacity: 0;
 transform: scale(1.2, 1.2);
}
 50% {
 opacity: 1;
}
 100% {
 opacity: 1;
 transform: scale(1.0, 1.0);
}
}
/*スクロール*/
a.main_scroll {
    position: absolute;
    bottom: 40px;
    padding-top: 70px;
    text-decoration: none;
    font-family: 'Noto Sans JP';
    font-weight: 400;
    font-size: 1.8rem;
    z-index: 101;
    color: #fff;
}
a.main_scroll span {
    position: absolute;
    top: 0;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: sdb 1.5s infinite;
    animation: sdb 2.0s infinite;
    box-sizing: border-box;
    z-index: 100;
}
 @-webkit-keyframes sdb {
 0% {
 -webkit-transform: rotate(-45deg) translate(0, 0);
 opacity: 0;
}
 50% {
 opacity: 1;
}
 100% {
 -webkit-transform: rotate(-45deg) translate(-20px, 20px);
 opacity: 0;
}
}
 @keyframes sdb {
 0% {
 transform: rotate(-45deg) translate(0, 0);
 opacity: 0;
}
 50% {
 opacity: 1;
}
 100% {
 transform: rotate(-45deg) translate(-20px, 20px);
 opacity: 0;
}
}
/*h1*/
h1 {
    position: absolute;
    font-size: 10px;
    top: 5px;
    right: 10px;
    color: #fff;
    z-index: 103;
}

@media print, screen and (min-width:768px) {
h1 {
    top: 10px;
    right: 30px;
}
}
/*meinimg tx*/
div.chath {
    position: absolute;
    top: 47%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
    z-index: 104;
    width: 100%;
    padding: 0 20px;
}
div.chath img {
    width: 270px;
    height: auto;
}

@media print, screen and (min-width:576px) {
div.chath img {
    width: 380px;
    height: auto;
}
}

@media print, screen and (min-width:992px) {
div.chath img {
    width: auto;
    height: auto;
}
}
#main_bnr {
    margin-top: 20px;
}
#language {
    padding-top: 20px;
}
#language li {
    padding: 0 10px;
    color: #fff;
}
#language li a {
    color: #fff;
}
#language li.active span {
    background-color: #667741;
    padding: 2px 10px;
}
/*------------------------------------------------------------mainnavi*/
#mainnavi {
    margin-bottom: 15px;
    display: none;
}
#mainnavi ul {
    overflow: hidden;
    background: #ccc;
    border-radius: 3px;
}
#mainnavi ul li {
    text-align: center;
    border-bottom: 1px dotted #999;
}
#mainnavi ul li:last-child {
    border-bottom: 0;
}
#mainnavi ul li a {
    color: #333;
    text-decoration: none;
    display: block;
    padding: 10px 0;
}
#mainnavi ul li a:hover, #mainnavi ul li.active a {
    background: #ddd;
}

@media print, screen and (min-width:768px) {
#mainnavi {
    display: block;
}
#mainnavi ul li {
    width: 25%;
    float: left;
    border: 0;
    padding: 0;
}
#mainnavi ul li a {
    border-right: 1px dotted #999;
}
#mainnavi ul li:last-child a {
    border-right: 0;
}
}
/*------------------------------------------------------------pagetitle*/
#pagetitle {
    margin-bottom: 10px;
}

@media print, screen and (min-width:768px) {
#pagetitle {
    margin-bottom: 30px;
}
}
/*------------------------------------------------------------content*/
#content {
    text-align: left;
}
.section {
    clear: both;
    padding-bottom: 40px;
}

@media print, screen and (min-width:768px) {
.section {
    padding-bottom: 80px;
}
}
.section:last-child {
    padding-bottom: 40px;
}
/*subnavi*/
p.side_title {
    padding: 3px 0 3px 10px;
    font-size: 14px;
    font-weight: bold;
    border-left: 4px solid #666;
    margin: 5px 0;
}
.subnavi {
    margin-bottom: 10px;
}
.subnavi {
    border-top: 1px dotted #6D6D6D;
}
.subnavi li {
    border-bottom: 1px dotted #6D6D6D;
}
.subnavi li a {
    padding: 10px 0;
    display: block;
}
.subnavi li a:hover {
    text-decoration: underline;
}

@media print, screen and (min-width:768px) {
.subnavi {
    margin-bottom: 20px;
}
}
/* ----------------------------------------------------------------footer*/
#footer_line {
    border-top: 1px solid #4b6e2c;
    margin: 0 80px;
    padding-bottom: 80px;
}
footer {
    text-align: left;
    padding: 30px 30px 100px 30px;
    background: url("../img/common_img/bg.jpg");
    position: relative;
    z-index: 1000;
}
@media print, screen and (min-width:576px) {
footer {
    padding: 30px 30px 160px 30px;
}
}
@media print, screen and (min-width:768px) {
footer {
    padding: 30px 80px 120px 80px;
}
}
#footer01 img {
    float: none;
    clear: right;
    margin-bottom: 30px;
    width: 220px;
    height: auto;
}

@media print, screen and (min-width:576px) {
#footer01 img {
    float: none;
    clear: right;
    margin-bottom: 30px;
    width: auto;
    height: auto;
}
}

@media print, screen and (min-width:768px) {
#footer01 img {
    float: right;
    clear: none;
    margin-bottom: 0;
    width: auto;
    height: auto;
}
}
#footer02 ul li {
    padding: 0 5px;
}
#footer02 ul li i {
    font-size: 30px;
    color: #4b6e2c;
}
#footer03 {
    text-align: center;
}

@media print, screen and (min-width:768px) {
#footer03 {
    text-align: left;
}
}
#footer03 a {
    color: #222222;
    text-decoration: underline;
}
#footer_bnr {
    margin-top: 40px;
}
#footer_bnr li a {
    padding: 0 10px;
    color: #4b6e2c;
}
/*footernavi*/
footer ul {
    margin-bottom: 20px;
}
footer ul li {
    margin-bottom: 20px;
}
footer ul li a {
    padding: 10px 0;
    display: block;
    color: #6D6D6D;
    text-decoration: none;
}
footer ul li a:hover {
    text-decoration: underline;
}
/*footerinfo*/
#footerinfo {
    margin-bottom: 20px;
}
#footerinfo dl {
    color: #6D6D6D;
}

@media print, screen and (min-width:768px) {
#footerinfo {
    margin-bottom: 0px;
}
#footerinfo dl dd {
    float: none;
    margin-right: 0px;
}
}
/*footerbanner*/
#footerbanner {
    margin-top: 20px;
}
#footerbanner div {
    margin-bottom: 10px;
}

@media print, screen and (min-width:768px) {
#footerbanner {
    margin-top: 0px;
}
}
address {
    margin-top: 20px;
    font-size: 11px;
}
/*------------------------------------------------------------Pankuzu*/
/*pankuzu*/
#pankuzu {
    margin: 5px 0 15px;
    clear: both;
}
#pankuzu ol {
    margin-top: 10px;
    list-style: none;
    float: right;
}
#pankuzu ol li {
    float: left;
    font-size: 11px;
    padding: 0 7px 0 10px;
    background: url(../img/common_img/icon_pankuzu.gif) no-repeat 0 50%;
}
#pankuzu ol li em {
    font-style: normal;
}
#pankuzu ol li.home {
    padding-left: 0;
    background: none;
}
#pankuzu ol li a:link, #pankuzu ol li a:visited {
    text-decoration: none;
}
#pankuzu ol li a:hover, #pankuzu ol li a:active {
    text-decoration: underline;
}
/* ----------------------------------------------------------------rayout*/
.center {
    display: block;
    margin: auto;
}
/*------------------------------------------------------------table*/
.sheet_basic {
    width: 100%;
    border-collapse: collapse;
    max-width: 980px;
    margin: 0 auto;
}
.sheet_basic tr th, .sheet_basic tr td {
    border: 1px solid #f2f9c8;
    padding: 10px 20px;
    text-align: left;
    vertical-align: top;
    display: block;
    font-size: 15px;
}
.sheet_basic tr th {
    color: #fff;
    font-weight: bold;
    background: #b5c84b;
    border: 1px solid #fff;
    background-color: rgba(181, 200, 75, 0.8);
}
.sheet_basic tr th.table_ttl {
    background-color: rgba(133, 152, 28, 0.7);
}

@media print, screen and (min-width:992px) {
.sheet_basic tr th, .sheet_basic tr td {
    display: table-cell;
}
}
.sheet_basic2 {
    width: 100%;
    border-collapse: collapse;
    max-width: 980px;
    margin: 0 auto;
}
.sheet_basic2 tr th, .sheet_basic2 tr td {
    border: 1px solid #f2f9c8;
    padding: 10px 20px;
    text-align: left;
    vertical-align: top;
    display: block;
    font-size: 15px;
}
.sheet_basic2 tr th {
    color: #82961c;
}
.sheet_basic2 tr th.table_ttl {
    background-color: rgba(181, 200, 75, 0.8);
    color: #fff;
}

@media print, screen and (min-width:992px) {
.sheet_basic2 tr th, .sheet_basic2 tr td {
    display: table-cell;
}
}
/*------------------------------------------------------------Decoration*/
/*Line*/
hr.line_01 {
    height: 1px;
    clear: both;
    margin: 20px 0px;
    border-top: 1px dotted #CCC;
    border-right: 0 dotted #CCC;
    border-bottom: 0 dotted #CCC;
    border-left: 0 dotted #CCC;
}
.space_10 {
    height: 10px;
    clear: both;
}
.space_20 {
    height: 20px;
    clear: both;
}
.space_30 {
    height: 30px;
    clear: both;
}
.space_10 hr, .space_20 hr, .space_30 hr {
    display: none;
}
/*------------------------------------------------------------Text*/
/*title*/
.title01 {
    font-size: 28px;
    color: #85981c;
    letter-spacing: 2px;
    margin-bottom: 20px;
}
.title02 {
    font-size: 20px;
    color: #fff;
    margin-bottom: 20px;
    background: #b5c84b;
    padding: 3px 20px;
}
.title03 {
    font-size: 16px;
    font-weight: bold;
    color: #6D6D6D;
    padding-left: 10px;
    margin-bottom: 10px;
    border-left: 3px solid #6D6D6D;
}
.title03 span {
    font-size: 12px;
}
/*TextRight*/
.tx_right {
    text-align: right;
}
/*TextLeft*/
.tx_left {
    text-align: left;
}
/*TextCenter*/
.tx_cent {
    text-align: center;
}
.tx_cent_pc {
    text-align: left;
}

@media print, screen and (min-width:768px) {
.tx_cent_pc {
    text-align: center;
}
}
/*bold*/
.tx_bold {
    font-style: normal;
    font-weight: bold;
}
/*TextRed*/
.tx_red {
    color: #C33;
}
.tx_green {
    color: #85981c;
}

.tx_large {
    font-size: 18px;
}
.tx_large span {
    font-size: 20px;
}
@media print, screen and (min-width:768px) {
.tx_large {
    font-size: 24px;
}
.tx_large span {
    font-size: 32px;
}
}

/*attention*/
.attention {
    font-size: 10px;
    line-height: 130%;
    margin: 5px 0;
}
.tx01 {
    font-size: 16px;
    line-height: 1.75;
}
.tx02 {
    font-size: 16px;
    line-height: 1.5;
}
/*------------------------------------------------------------Float*/
/*FloatLeft*/
.float_left {
    float: left;
}
/*FloatRight*/
.float_right {
    float: right;
}
/*ClearBoth*/
.clearboth {
    clear: both;
}
/*phbox*/
.phbox_right {
    text-align: center;
    margin-bottom: 10px;
}
.phbox_right img {
    max-width: 100%;
    height: auto;
}
.phbox_left {
    text-align: center;
    margin-bottom: 10px;
}
.phbox_left img {
    max-width: 100%;
    height: auto;
}
.ov_hidden {
    overflow: hidden;
}

@media print, screen and (min-width:768px) {
.phbox_right {
    float: right;
    margin-left: 10px;
    margin-bottom: 20px;
}
.phbox_left {
    float: left;
    margin-right: 10px;
    margin-bottom: 20px;
}
}
/*------------------------------------------------------------Margin*/
/*MarginTop*/
.margin_t05 {
    margin-top: 5px;
}
.margin_t10 {
    margin-top: 10px;
}
.margin_t20 {
    margin-top: 20px;
}
.margin_t30 {
    margin-top: 30px;
}
.margin_t40 {
    margin-top: 40px;
}
.margin_t50 {
    margin-top: 50px;
}
/*MarginBottom*/
.margin_b05 {
    margin-bottom: 5px;
}
.margin_b10 {
    margin-bottom: 10px;
}
.margin_b20 {
    margin-bottom: 20px;
}
.margin_b30 {
    margin-bottom: 30px;
}
.margin_b40 {
    margin-bottom: 40px;
}
.margin_b50 {
    margin-bottom: 50px;
}
/*MarginRight*/
.margin_r05 {
    margin-right: 5px;
}
.margin_r10 {
    margin-right: 10px;
}
.margin_r15 {
    margin-right: 15px;
}
.margin_r20 {
    margin-right: 20px;
}
/*MarginLeft*/
.margin_l05 {
    margin-left: 50px;
}
.margin_l10 {
    margin-left: 10px;
}
.margin_l15 {
    margin-left: 15px;
}
.margin_l20 {
    margin-left: 20px;
}
/*Margin_device*/
.margin-xs-b10 {
    margin-bottom: 10px;
}

@media print, screen and (min-width:768px) {
.margin-xs-b10 {
    margin-bottom: 0px;
}
}
/*------------------------------------------------------------ClearFix*/
.clearfix {
    zoom: 1;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}
/*------------------------------------------------------------Hoverimg*/
a:hover img.hoverimg {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha( opacity=60 )";
    -webkit-transition: all 0.7s;
    -moz-transition: all 0.7s;
    transition: all 0.7s;
}
/*------------------------------------------------------------other*/

.imeoff {
    ime-mode: disabled;
}
.imeactive {
    ime-mode: active;
}
.flex {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.btn {
    background-color: rgba(000, 000, 000, 0.3);
    border: 2px solid #fff;
    color: #fff;
    padding: 5px 30px;
    width: 100%;
    display: block;
    font-size: 20px;
    height: 45px;
}
a .btn:last-child {
    border-left: auto;
}

@media print, screen and (min-width:576px) {
a .btn:last-child {
    border-left: none;
}
}
.btn span.tx_small {
    font-size: 14px;
}
.btn span.tel-link a {
    color: #fff !important;
}
a .btn {
    color: #fff !important;
    line-height: 1.3;
    padding: 12px 30px;
    font-size: 16px;
}
a .btn:hover {
    background: #667741;
    border-top: 2px solid #677842;
    border-right: 2px solid #677842;
    border-bottom: 2px solid #677842;
    -webkit-transition: all 0.7s;
    -moz-transition: all 0.7s;
    transition: all 0.7s;
}
a .btn:before {
    content: '';
    font-size: 15px;
    display: inline-block;
    width: 21px;
    /*画像の幅*/
    height: 17px;
    /*画像の高さ*/
    background-image: url("../img/index_img/main_btn_book_icon.png");
    background-size: contain;
    vertical-align: middle;
    margin-right: 10px;
    margin-top: -5px;
}
.nodisp_tb {
    display: none;
}
.disp_tb {
    display: block;
}

@media print, screen and (min-width:768px) {
.nodisp_tb {
    display: inherit;
}
.disp_tb {
    display: none;
}
}
