@charset "utf-8";
/* CSS Document */
html { scroll-behavior: smooth;}
body {
	font-family: 'M PLUS Rounded 1c';
	color: #524c4c;
	font-size: 16px;
}
.Link{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* 例：br.sp_brはタブレット以上のサイズでは非表示にする */
@media screen and (min-width: 600px) {
  .sp_br{
    display: none;
  }
}

header {
	width: 100%;
	height: 200px;
}
.HeaderNavi {
	display: block;
	overflow: auto;
	background-color:#F5F0EB;
}
.Logo {
	width: 100px;
	margin: 0 auto;
	padding: 8px 0;
}
.Menu {
	//height: 80px;
	background-color: #EBE5DF;
	overflow: visible;
	display: block;
	padding: 10px 3%;
}
ul.MenuT {
	max-width: 600px;
	height: 30px;
    display: flex;
    flex-wrap: wrap; /*--折り返しの指定--*/
    justify-content: space-around;
	margin: 0 auto;
	line-height: 30px;
}
ul.MenuT li {
	font-size: 15px;
	text-align:center;
}
.MenuT a:hover {
	text-decoration: underline;
}
/*-------------------------------
FONT要素
-------------------------------*/
.MplusRound {font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: bold;}
.arrow:after {
	content: "▶";
	padding-left: 8px;
}

.QuicksandF {
	font-family: 'Quicksand', sans-serif;
}
.kiwiMaruF {
	font-family: 'Kiwi Maru', serif;
	font-weight: 500
}
.Lora {
	font-family: 'Lora', serif;
}
.NotoSans {
	font-family: 'Noto Sans JP', sans-serif;
}
.KosugiMaru{
	font-family: 'Kosugi Maru', sans-serif;
}

/*
font-family: 'Kiwi Maru', serif;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Quicksand', sans-serif;
*/

i {
	color: #A7C399
}
/*==FONT要素ここまで=======================*/




/*TOPに戻るボタンが出現*/
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 3%;
  bottom: -50px;
  background: #E40003;
  opacity: 1;
  border-radius: 50%;
	z-index: 999;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}




/*マーカーアニメーション*/
 
.marker-animation.active{
    background-position: -100% .5em;
}
 
.marker-animation {
	/*各CSSでカラーは指定（これは黄色）*/
    //background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    //background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    //background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    //background-image: -o-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    //background-image: linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
	/*各CSSでカラーは指定（これは黄色）*/
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 2s ease;
    font-weight: bold;
}

/*------------------------
ヘッダーの追随メニュー共通要素
----------------------*/

#stickyNavi {
	max-width: 100%;
	position: sticky;/*固定する*/
    position: -webkit-sticky;/*Safari用ベンダープレフィックス*/
    top: 0px;/*ブラウザの上からの距離はゼロ*/
	background-color: rgba(255,255,255,0.80);
	z-index: 9999;
	width: 100%;
	margin: 0 auto;
	display: block;
	overflow: hidden;
	height: 80px;
}
/*=======================================*/
main {
	max-width: 100%;
	margin: 0;
	padding: 0
}
section {
	clear: both;
	margin: 0;
	padding: 0;
}






#valignbottom {
    vertical-align: bottom;
}
h2 {
	text-align: center;
	font-size: 2.4em;
	width: 100%;
	color: #520003;
	line-height: 2em;
	position: relative;
	text-shadow: 1px 1px 1px #ffffff;
}

.subText {
	position: relative;
	width: 100%;
	text-align: center;
	font-size: 1.4em;
	font-weight: bold;
	color: #969696;
	letter-spacing: 0.1em;
	line-height: 3.8em;
	margin-bottom: 0px;
	padding: 0;
}
.subText span {
  font-size: 18px;
  font-size: 1.8rem;
  display: block;
}

.subText:before {
  position: absolute;
  bottom: 74px;
  left: calc(50% - 30px);
  width: 60px;
  height: 4px;
  content: '';
  border-radius: 3px;
  background: #969696;
}
h3 {
	float: left;
	width: 50%;
}
.t3 {
	line-height: 1.5;
	padding-left: 2em
}

.t4 {
	line-height: 1.5;
	padding-left: 1.3em;
	font-size: 20px;
}
.Lspace01 {
	letter-spacing: 0.1em;
}

@media only screen and (min-width:600px) and (max-width:900px) {
/*tablet用のcssを記述*/
	h2 {
		line-height: 1.3em;
		font-size: 4.5vmin;
	}
	.subText {
		font-size: 3.5vmin;
	line-height: 4.7em;
	}
	.subText:before {
		bottom: 78%;
	}
	
}
@media screen and (max-width:599px) {
/*スマホ用のcssを記述*/
	h2 {
		line-height: 1.4em;
		font-size: 7vmin;
	}
	.subText {
		font-size: 5vmin;
	line-height: 6em;
	}
	
	.subText:before {
		bottom: 78%;
	}
}


/* layout */
#headerwrap {
	max-width: 1080px;
	margin: 0 auto;
}

/*  メインコンテンツ */
#contents {
    margin:0;
	padding: 0;
	width: 75%;
	overflow: hidden;
	float: left;
	display: block;
}
/* メインフレーム  */
#Contents {
    max-width:1080px;
	margin:20px auto 20px;
	overflow: hidden;
	clear: both;
}
#mainarea {
	width: 100%
}
#footerwrap {
    background: url(../images/footer_bg.png) repeat-x;
	clear:both;
}
.clear {
    clear:both;
}


/*------------------
index グローバルメニュー
------------------*/
#gnavi {
	width: 100%;
	background-color: #9fb7d4;
}
.content {
  width: 750px;
  height: 200px;
  background: #eee;
  margin: 0 auto;
  padding: 10px;
  text-align: left;
  box-sizing: border-box;
}

/*========================*/
.dropmenu{
  *zoom: 1;
  list-style-type: none;
  width: 1080px;
  margin: 5px auto 0px auto;
  padding: 0;
}
.dropmenu:before, .dropmenu:after{
  content: "";
  display: table;
}
.dropmenu:after{
  clear: both;
}
.dropmenu li{
  position: relative;
  width: 16.66%;
  float: left;
  margin: 0;
  padding: 0;
  text-align: center;
}
.dropmenu li a{
  display: block;
  margin: 0;
  padding: 15px 0 11px;
  background: #9fb7d4;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
}
.dropmenu li ul{
  list-style: none;
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
}
.dropmenu li ul li{
  width: 100%;
}
.dropmenu li ul li a{
  padding: 13px 15px;
  border-top: 1px solid #7c8c0e;
  border-top: 1px solid #000000;
  background: #6e7c0c;
  background: #615D5D;
  text-align: left;
}
.dropmenu li:hover > a{
  background: #6e7c0c;
  background: #615D5D;
}
.dropmenu li a:hover{
  background: #616d0b;
  background: #cccccc;
}

/*  サイドメニュー要素 */
#sidemenu {
    width:23%;
	float:left;
	padding: 0;
	margin-right: 2%;
	overflow: hidden;
}
.side-menu {
    width:220px;
	float:left;
	overflow: hidden;
	display: block;
}
#online, #link, #spcontents {
	margin-bottom: 30px;
	padding: 0;
	width: 100%;
}
#link {
    margin-botom:100px;
	display:block;
}
#online {
    margin-botom:5px;
	display:block;
}
#online ul li {
	border: #CCCCCC 1px solid;
	padding: 0;
	margin: 5px 0;
}

.sideheader {
    margin:15px 0 10px 0;

}
.side-menu ul {
    text-align: center;
	width:196px;
}
.side-menu li {
	display:block;
	padding-top: 3px;
	padding-right: 0;
	padding-bottom: 3px;
	padding-left: 0;
	height:auto;
	
}
.side-menu ul.side-contents {
	width: 90%;
	background-color: #FBFAF2;
	padding: 5%;
	overflow: hidden;
	display: block;
}
.side-menu ul.side-contents li {
	float: left;
}
/*====================================
ベーシックバージョン
=====================================*/

#normal li ul{
  display: none;
}
#normal li:hover ul{
  display: block;
}

/*------------------
footerエリア
------------------*/
.FooterWrap {
	max-width: 1080px;
	margin: 0px auto;
	padding: 30px 0;
}
#footer {
	width: 1080px;
	margin: 40px auto 0 auto;
	padding: 0 0 10px 0;
	overflow: hidden;
}
.footer_info {
	width: 96%;
	margin: 0 2%;
	display: block;
	overflow: hidden;
}
.info {
	//margin: 15px 0;
	font-size: 12px;
	float: right;
	width: 50%;
	
}
.info ul li {
	padding-bottom: 3px;
	list-style:none;
	text-align: right;
}
.footer_navi {
	float: right;
	width:40%;
	display: block;
	overflow: hidden;
	text-align: right;
	margin-right: 20px;
}
.footer_navi ul {
	margin:0 0px 20px 0;
}
.footer_navi ul li {
	padding: 0 0 10px 0;
	font-size: 14px;
	list-style: none;
}
.footer_navi a {
	color: #454545;
	text-decoration: none;
}
.footer_navi a:hover:before {
	content: url("../img/arrow.png");
	padding-right: 8px;
}
.copyright {
	clear: both;
	text-align: center;
	margin: 20px 0 0;
	color: #BBBBBB;
	font-size: 12px;
}

.footerLogo{
	width: 10%;
	margin: 0 auto 15px;
}
.footerLogo img {
	width: 100%;
}
footer small {
	text-align: center;
	width: 100%;
}
footer {
	background-color: #44474B;
	max-width: 100%;
	margin: 0 auto;
	color: #fff;
}
footer a {
	color: #fff;
	text-decoration: underline;
}
footer a:hover {
	text-decoration: none;
}
.tb {display: none}

.pc	{ display:inline!important; }
.sp	{ display:none; }

.pc-none {display: none!important;}
@media only screen and (min-width:600px) and (max-width:900px) {
/*tablet用のcssを記述*/
	.tb-none {display: none!important;}
	.tb {display: inline!important}
}


@media screen and (max-width:599px) {
/*スマホ用のcssを記述*/
.pc	{ display: none!important; }
.sp { display:inline!important; }
}