* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

html {
	overflow:hidden;	transition: transform 0.3s;
 /* scroll-padding-top: 70px; /* 固定ヘッダの高さ分 */
 /*scroll-behavior: smooth; /*スムーズスクロールはスマホメニュー開閉でバグがあり削除です*/
}

body {font-family:'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	font-weight:500;
	color: #2c2c2c;
	font-size: 0.96rem;
	line-height:1.6rem;
	letter-spacing: 0.05rem;
	background:#FFFFFF;
	background-attachment: scroll;	/*	overflow-x: hidden; 入れるとスマホメニューの背景がバグる*/
overflow-y: visible;
}


main {margin-top: -200px; position: relative;}


/***************************************************************
インスタグラム設定
***************************************************************/
.instagram { height:auto;margin-top:0px;}
.instagram div {width: 184.6px; height: 184.6px; margin:0rem;}
.instagram div.insta { padding-top:30px}
.instagram div.insta img { width:40px; height:40px;}

.iframe-wrapper {
	position: relative;
	padding-bottom: 98%;
	height: 0;
	margin-top: -10px;
	overflow: hidden;
  }

  .iframe-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
  }





/***************************************************************
検索フォーム
***************************************************************/

.search-input {
background:none;
border: 2px solid #000;
border-radius: 4px;
width: 240px;
line-height:2.4rem;
margin-right: 1rem;
padding:0 3rem 0 1rem ;
transition: .3s;
}
.search-form .search-btn::before {
  top:-7px;
  right:0.8rem;
line-height:2rem !important;
}

.search-form .search-input:focus {
	width: 360px;
	color: #000;
background:#ffffe4;
}

.search-form .search-input::placeholder {
font-size: 1rem;
font-weight: 500;
line-height: 1.85rem;
letter-spacing: 0.05em;
color: #999;
}

.search-form .search-btn {
background: unset;
vertical-align: middle;
position: relative;
}
.search-form .search-btn::before {
position: absolute;
content: "　　";
cursor: pointer;
top:-4px;
right:2rem;
color: #ddd;
background-image: url(../images/search-icon.png);
background-size:23px 28px;
background-repeat:no-repeat;
background-position: right center;
}

/***************************************************************
H1～H6設定
***************************************************************/
h1,h2,h3,h4 {
	font-family:'M PLUS Rounded 1c','メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	font-weight:700;}
h3,h4,h5,h6 { font-weight: bold;}
h1 { font-size:2.125rem;
	font-weight: normal;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.1);
	line-height: 3.8rem;
	letter-spacing: 0.08rem;
	padding:2rem 0 1rem 0 ;
 }
 .item-1-col-text h1, .item-1-col-text-0 h1 {
	font-size:2.2rem;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.1);
	line-height: 2.8rem;
	letter-spacing: 0.1rem;
padding-bottom:0.1rem;
	padding:1rem 0 3rem 0rem;
	margin: 0rem 0 2rem 0;
 }


h2{ font-size:2rem;
	font-weight: normal;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.1);
	line-height: 2.5rem;
	letter-spacing: 0.08rem;
	padding:2rem 0;
  background-image:url(../images/h2-back.png);
  background-repeat:no-repeat;
  background-size:60px 3px;
  background-position: left top;
  }

h3{font-size:1.4rem;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.1);
	line-height: 1.7rem;
	letter-spacing: 0.1rem;
padding-bottom:0.1rem;
	padding:.5rem 0 1rem 2.7rem;
	margin: 3rem 0 2rem 0;
  background-image:url(../images/obi-icon.png);
  background-repeat:no-repeat, repeat-x;
  background-size:37px 43px;
  background-position: left top 5px;
 }

 h3 span,.item-1-col-text h1 span {
	background-image:url(../images/obi-line.png);
	background-repeat:repeat-x;
	background-size:5px 43px;
	background-position:left bottom;

 }
 h3.white-line {  background-image:url(../images/h2-back-white.png);}
 h3 b { display:block; position:absolute; top:-0.5rem; padding-left:4.5rem; font-size:1rem;}

h4 {font-size:1.4rem;	letter-spacing: 0.08rem;text-shadow: 1px 1px 1px rgba(0,0,0,0.1);padding-bottom:1rem;}
h4.green-line {
	padding:3rem 0 1rem 4rem !important; background-image:url(../images/h2-back.png);
	background-size:3rem 3px;
	background-repeat:no-repeat;
	background-position:left 3.8rem;

	}

h5 {font-size:1.1rem;	letter-spacing: 0.08rem;text-shadow: 1px 1px 1px rgba(0,0,0,0.1);padding-bottom:1rem;}
h6 {font-size:1rem;	letter-spacing: 0.08rem;text-shadow: 1px 1px 1px rgba(0,0,0,0.1);padding-bottom:1rem;}


/*縁取り*/
.outline {
  display        : inline-block;
  text-shadow    :
       1px  1px 0px rgba(255, 255, 255, 0.5),
      -1px  1px 0px rgba(255, 255, 255, 0.5),
       1px -1px 0px rgba(255, 255, 255, 0.5),
      -1px -1px 0px rgba(255, 255, 255, 0.5),
       1px  0px 0px rgba(255, 255, 255, 0.5),
       0px  1px 0px rgba(255, 255, 255, 0.5),
      -1px  0px 0px rgba(255, 255, 255, 0.5),
       0px -1px 0px rgba(255, 255, 255, 0.5);        /* 文字の影 */
}
h2 small,h3 small,h4 small { font-size:1rem;}

/***************************************************************
ローディング画面
***************************************************************/

.contents {
  width: 100%;
	height: 100%;
 /* height: 100vh;*/
}

.loading__img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background-image:url(../images/head_rogo.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:120px 28px;
}

#loader-bg {
  background-color: #fff;
  height: 100%;
  left: 0px;
  position: fixed;
  top: 0px;
  width: 100%;
  z-index: 100;
}
#loader-bg img {
  left: 50%;
  position: fixed;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 100;
}


.loading-bro {
  margin: 66px auto;
  width: 200px;
}

#load {
  width: 200px;
  animation: loading 3s linear infinite;
}
#load #loading-inner {
  stroke-dashoffset: 0;
  stroke-dasharray: 300;
  stroke-width: 1;
  stroke-miterlimit: 10;
  stroke-linecap: round;
  animation: loading-circle 2s linear infinite;
  stroke: #4faa11;
  fill: transparent;
}

@keyframes loading {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes loading-circle {
  0% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: -600;
  }
}

/***************************************************************
テキスト設定
***************************************************************/

p {
	text-align: justify; /* 両端揃え */
	text-justify: inter-ideograph; /* 両端揃えの種類 */
	word-break: break-all;/*半角を改行*/
	letter-spacing: 0.1rem;
	line-height:1.6rem;
	padding-bottom:2rem;
}

.big {}
.middle {}
.small {}
.hover {transition: all .3s ease-in-out;}
.hover:hover {opacity: 0.7;}
.red { color: #F3588B;}

/*--------------------------------------
  引用のデザイン
--------------------------------------*/
blockquote {
	position: relative;
	margin: 2em 0;
	padding: 2rem 1.5rem;
	font-size: .9em;
	border: 1px solid #CCC;
	border-radius: 6px;
	background-color: #F8F8F8;
}
blockquote:before,
blockquote:after{
position: absolute;
font-size: 4em;
opacity: .1;
}
blockquote:before{
top: 15px;
left: 20px;
content: '“';
}
blockquote:after{
bottom: -20px;
right: 20px;
content: '”';
}
blockquote p { padding:0;}



/*リスト*/
ul,ol { padding:20px 0px;}
ul li {
	padding-left:1.1rem;
	margin-bottom:1.4rem;
	list-style-type: none;
	line-height:2rem;
}

ol li {
	margin-left:1.3rem;
	margin-bottom:0.5rem;
}



/***************************************************************
aboutページ
***************************************************************/
iframe {
	width: 100%;
	margin: .5rem 0 2rem 0;
	aspect-ratio: 16/9; //アスペクト比（縦横比）を指定
  }


ul.link-list { padding: 0; margin: 0;}
ul.link-list li {display: block;width: 100%; background-image: url(../images/link-icon2.png);
background-size:23px 23px; background-repeat: no-repeat;
background-position: left top .5rem;
padding: 0 0 0 2rem!important; margin: 0 0 0 0;
line-height: 2.6rem;
font-weight: bold;}
ul.link-list li.link-none { background-image:none;}
ul.link-list li.pdf { background-image: url(../images/link-icon0.png);}
ul.link-list li a { color: #2a2a2a;text-decoration: underline;}
ul.link-list li a:hover { color:#F3588B;}

div.icon-wrap {
	float: left;
	width: 50%;
	background-size:60px 60px;
	background-repeat:no-repeat;
	background-position: left -10px top 5px;
	font-size:1.4rem;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.1);
	line-height: 1.7rem;
	letter-spacing: 0.1rem;
padding-bottom:0.1rem;
	padding:1.3rem 0 1rem 3rem;
	margin: 0;
	font-weight: bold;
}
div.icon-wrap p { font-size: 1rem; padding:1.8rem 0 ;}
div.icon-wrap ul li { font-size: 1rem;}
div.ab-time {  background-image:url(../images/list-time.png);}
div.ab-map {  background-image:url(../images/list-map.png);}
div.ab-inp {  background-image:url(../images/list-important.png);}
div.ab-flag {  background-image:url(../images/list-flag.png);}

span.line-ab {
background-image:url(../images/obi-line.png);
background-repeat:repeat-x;
background-size:5px 43px;
background-position:left bottom;
}
h3.CL {margin: -4rem 0 2rem 0;}
/***************************************************************
お知らせ詳細ページ
***************************************************************/
.item-1-col-text ul li {list-style-type: disc;	padding-left:0rem;
	margin:0 0 .5rem 1.5rem;}
	.item-1-col-text ol li {padding-left:0rem;
		margin:0 0 .5rem 1.5rem;}
		ul li.none {
			list-style-type: none;
			background-image: none;
		}
		ul li.pdf {  background-image: url("../images/link-icon0.png");}
		ul li.page { background-image: url("../images/link-icon2.png");}
		ul li.link { background-image: url("../images/link-icon1.png");}
		ul li.pdf,ul li.page,ul li.link {
			background-repeat: no-repeat;
			background-position: left center;
			background-size:22px 22px;
			list-style:none;
			margin: 0rem;
			padding-left:2rem;
			}
	a.pdf {
		background-image: url(../images/link-icon0.png);
		background-size:16px 16px;
		background-repeat: no-repeat;
		background-position: center left;
		padding-left:1.8rem;
	}
	a.url {
		background-image: url(../images/link-icon1.png);
		background-size:16px 16px;
		background-repeat: no-repeat;
		background-position: left center;
		padding-left:24px;
	}
/***************************************************************
背景設定
***************************************************************/
header#sub-wrap {
background-position:center bottom;
background-repeat:no-repeat;
background-size:cover;
}
header .sub-inner {
	background-image:url("../images/index-hero-back-02.png");
	background-position:center bottom;
	background-repeat:repeat-x;
	background-size:100% cover;
	width: 100%;
	height: 380px;
		text-align: center;
}

header .sub-inner-2 {
	background:#FFF;
	padding-top: 1rem;
	width: 100%;
	height: 280px;
		text-align: center;
}

header#index {
background-image:url("../images/index-hero-back-02.png"),url("../images/index-hero-back-01.jpg");
background-position:center bottom,center center;
background-repeat:repeat-x,repeat-x;
background-size:100% cover,100% cover;
width: 100%;
height: 660px;
	text-align: center;
}
.hero-button3 {padding-top: 100px;}
.hero-button {padding-top: 70px;}
.hero-title {padding-top: 50px;}
img.hero-img-01 {position: absolute; left:calc(50% - 800px); bottom: 150px;}
img.hero-img-02 {position: absolute; left:calc(50% - 500px); bottom: 150px;}
img.hero-img-03 {position: absolute; left:calc(50% + 180px); bottom: 150px;}
img.hero-img-04 {position: absolute; left:calc(50% + 500px); bottom: 150px;}
img.hero-img-05 {position: absolute; left:calc(50% - 550px); bottom: 170px;}
/***************************************************************
ヘッダーメニュー
***************************************************************/
menu {
background-image: url("../images/head-back-atripe.png");
	background-size: 50px 20px;
	background-repeat: repeat-x;
	background-position: center bottom 132px;
	background-color: #FFF;
width: 100%;
height: 250px;
}
.head-1 {
	height: 120px; padding: 0;margin: 0;
}
.head-2 {
	background-image: url("../images/head-menu-li.png");
	background-size: 743px 34px;
	background-repeat: no-repeat;
	background-position: center bottom 25px;
	height: 130px;
	padding: 0;margin: 0;

}
.head-2 ul { padding:0;}
.head-2 ul li {
	width: 240px;
	padding: 0;
	margin: 0;
	text-align: center;
}

/***************************************************************
インフォメーション設定
***************************************************************/
main.sub {margin-top: -140px;}
.tab-back {
height: 50px;
background-image: url(../images/tab-back.png);
background-repeat: repeat-x;
background-size: 25px 50px;
}

.tab-info { width: 17%;height: 50px;
margin: 0 .5rem;
text-align: center;
line-height: 54px;
font-size: 1.2rem;
}

.tab-info-over,.tab-info:hover,.tab-back h2 { width: 17%;height: 50px;
	background-image: url(../images/tab-L.png),url(../images/tab-R.png),url(../images/tab-body.png);
	background-size: 25px 50px,25px 50px,25px 50px;
	background-repeat: no-repeat, no-repeat, repeat-x;
	background-position: left top, right top, center top;
	margin: 0 .5rem;
	text-align: center;
	line-height: 54px;
	font-size: 1.2rem;
	}
.tab-info a,.tab-info-over a { width: 100%; height: 100%; display: block; font-weight: bold; color: #2c2c2c;}
.tab-back h2 {width:auto;min-width: 250px; font-size: 1.6rem; font-weight: bold; padding: 0rem 2rem; margin: 0 .5rem;}
.info-wrap {}
.info-wrap ol { border-bottom: 2px solid #2c2c2c; width: 100%; margin: 0 .5rem; line-height: 60px; position: relative; padding: 0;}
.info-wrap ol dd,.info-wrap ol dt {background-size: 60px 60px; background-repeat: no-repeat;}

.info-wrap ol dd { padding-left: 4rem; background-image:url(../images/list-L.png); background-position:left center;width: 50%;}
.info-wrap ol dt { padding-right: 4rem; background-image:url(../images/list-R.png); background-position:right center;
	width: 50%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
	font-weight: bold;
}
.info-wrap ol a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block;}
.info-wrap ol a:hover {background-color:rgba(255,224,73,0.2);}



/***************************************************************
ホバー画像
***************************************************************/
.radius_10 { border-radius: 10px;}
.ahover {
	position: relative;
	width: 50%;
	height:auto;
	margin: 1rem 0;
  }
  .ahover .hover-img {
	margin: 0;
	padding: 0;
  }
  .ahover-img img {
	width: 100%;
	height: 100%;
  }
  .ahover .hover-text {
	position:	absolute;
	width: calc(100% - 4rem);
	height: calc(100% - 0rem);
	top: 0;
	left: 2rem;
	color: #fff;
	background-color:	rgba(0,0,0,0.65);
	/*透明にして表示させない*/
	opacity: 0;
	/*ホバーの動き方*/
	transition: .3s ease-in-out;
	display: grid;
	place-items: center;
	cursor: pointer;
  }
  .ahover .hover-text .text1 {
	font-size: 1rem;
	padding: 1rem;
  }
  /*ホバーエフェクト*/
  .ahover:hover .hover-text {
	/*不透明にして表示*/
	opacity: 1;
  }

/***************************************************************
ページナビゲーション&info
***************************************************************/

.pager {
	/*  overflow: hidden;*/
		width:100%;
	margin:auto auto;
	height:120px;
	overflow:hidden;
	padding:80px;
}

.pager ul {
    list-style: none;
    position: relative;
    left: 50%;
    float: left;
}

.pager ul li {
    margin: 0 5px;
    position: relative;
    left: -50%;
    float: left;
	line-height:48px;
	background-image:none;
	padding:0px;font-weight:bold;
}

.pager ul li span,
.pager ul li a {
    display: block;
    font-size: 0.86rem;
	min-width: 48px;
    padding:0 1rem;
border-radius: 20px;
text-align: center;
}

.pager ul li.current  {	border:1px solid #2c2c2c;
	text-decoration:none;border-radius: 48px; background: #2a2a2a;    color: #FFFFFF;}


.pager ul li a {
    color:  #2c2c2c;
	border:1px solid #2c2c2c;
    text-decoration: none;
	border-radius: 48px;
}

.pager ul li a:hover {
    background: #2a2a2a;
    color: #fff;
}
 .pager li.glay {
    padding:0 1rem;
	color:#C3C3C3;
	text-decoration:none;
}

.pager ul li.yaji,.pager ul li.yaji a {
	border: none;
	font-weight:bold;
	text-decoration: underline;
}
.pager ul li.yaji:hover {
    text-decoration: none;
}



/***************************************************************
メニュー設定
***************************************************************/



.menu-trigger {
  position:  fixed;/*ボタン内側の基点となるためrelativeを指定*/
  background:#221815;
  cursor: pointer;
    width: 56px;
    height:56px;
  border-radius: 30px;
  top:30px;
}
.menu-trigger span {
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
  background: #fff;
    width: 50%;
}
.menu-trigger span:nth-of-type(1) {
  top:16px;
}
.menu-trigger span:nth-of-type(2) {
  top:27px;
}
.menu-trigger span:nth-of-type(3) {
   top:38px;
}

.menu-trigger.active span:nth-of-type(1) {
    top: 21px;
    left: 15px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
}

.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;/*真ん中の線は透過*/
}

.menu-trigger.active span:nth-of-type(3){
    top: 33px;
    left: 15px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
}



/***************************************************************
スマホ用メニュー
***************************************************************/


.is-animation {/*スクロール時の背景付ける*/
	transition: 2.5s;
	}
	menu ul.navmenu {
	 display:none;
		position: fixed;
		top:0;
		right:0;
		margin-top:0px;
		height:100%;
		width:100%;
		background-color:rgba(255,255,255,0.9);
		background-image: url(../images/footer-back-02.png);
		background-position:center bottom;
		background-size:360px 56px;
		background-repeat:no-repeat;
		z-index:9999;
		overflow-y: auto;
	}

	menu ul {
		padding:6rem 2rem 2rem 2rem;
	}
	menu ul.navmenu li {
		background-image:none;
		min-height:3.5rem;
	width:100%;
		line-height:3.5rem;
		font-size: 1.1rem;
	}
	menu ul.navmenu a { display:block; width:100%;}



a.accordion-link { float:right; height:100%; line-height:0; padding: 26px 26px 26px 75px;box-sizing:border-box;
	color: #2c2c2c;
	text-decoration: none;
	  transition: .2s;
}
a.accordion-link:hover,.navmenu .label-nolink:hover { color: #2c2c2c;}
.navmenu li {
  padding:0; margin:0;
  background-image:none;
}
.navmenu li:last-child {
}
.navmenu .label{
  cursor:pointer;
  padding: 26px 16px;
  width:60px;
  position: relative;
  transition: .5s;
}
.navmenu .label-nolink,.navmenu .label-link {
	background-image: url(../images/menu-arrow.png);
	background-repeat: no-repeat;
	background-size: 20px 20px;
	background-position: left 15px center;
  cursor:pointer;
  width:100%;
   line-height:0; padding: 26px 26px 26px 75px;
  position: relative;
  transition: .5s;
  color: #2c2c2c;
  box-sizing:border-box;
}
.navmenu .label-link {
	background-image: url(../images/menu-link.png);
}
.navmenu .label-nolink:hover {}

.navmenu .label:hover,.navmenu .label-nolink:hover,.navmenu .label-link:hover,a.accordion-link:hover,.navmenu .detail dd:hover {
background-color:rgba(0,0,0,0.1);
}


/*
ラベル右側のアイコン「＋」を設定
beforeが横棒
afterが縦棒
*/
.navmenu .label::before,
.navmenu .label::after {
  content: '';
  width: 20px;
  height: 1px;
  background: #000;
  position: absolute;
  top: 50%;
  left:50%;
  transform: translateY(-50%) translateX(-50%);
}
.navmenu .label::after {
  transform: translateY(-50%) translateX(-50%) rotate(90deg);
  transition: .2s;
}
/*
アコーディオンメニューが開いている場合
*/
.navmenu .label.open {
  /* ラベルの背景色を変更 */

}
.navmenu .label.open::before {
  /* ラベルアイコンの横棒を非表示 */
  opacity: 0;
}
.navmenu .label.open::after {
  /* ラベルアイコンの縦棒を横向きに回転 */
  transform:translateY(-50%) translateX(-50%) rotate(180deg);
}
/*
アコーディオンメニューのコンテンツ部分は、「display: none;」で非表示にしておく。
ラベルクリック時にjQueryの「  $(this).next().slideToggle();」で表示に切り替わる
*/
.navmenu .detail {
  padding: 0px; margin:0;
  display: none;
}
.navmenu .detail dl {
  display: flex;
  flex-wrap: wrap;
  padding:0; margin:0;
}

.navmenu .detail dd {
  cursor:pointer;
  position: relative;
  font-size: .96rem;
  transition: .2s;
  color: #2c2c2c;
  box-sizing:border-box;
  margin:0;
  width: 100%;
 background-image:url(../images/arrow-sp-white.png); background-size:12px 12px; background-repeat:no-repeat; background-position:24px center;
}

.navmenu .detail dd:hover { background-image:url(../images/arrow-sp-black.png);}

.navmenu .detail dd:last-child {
  border-bottom: none;
}

.navmenu .detail dd a {
	width:100%; height:100%; display:block;   line-height:0; padding: 26px 26px 26px 75px;
	color: #2c2c2c;
	text-decoration: none;
}
.navmenu .detail dd a:hover {
	color: #2c2c2c;
}


/***************************************************************
TOPお知らせタブ
***************************************************************/
ul.tab {
list-style: none;
	margin: 0;
	padding: 0;
}
ul.tab li {
float: left;
padding: 6px 20px;
	background-image: url("../images/stripe-back.png");
	background-size: 12.5px 12.5px;
	background-repeat: repeat;
color: #221815;
cursor: pointer;
border-radius: 12px 12px 0px 0px;
border-top: 3px solid #221815;
  border-right: 3px solid #221815;
  border-left: 3px solid #221815;
	margin:0 .6rem 0rem 0;font-weight: bold;
  text-shadow: #FFF 2px 2px 0px, #FFF -2px 2px 0px, #FFF 2px -2px 0px, #FFF -2px -2px 0px
}
ul.tab li::before {
		background-image: url("../images/stripe-back.png");
	background-size: 12.5px 12.5px;
	background-repeat: repeat;
}
ul.tab li:hover {
color: #FF0000;
}
ul.tab li.active {
	height: 60px;
	margin:0 .6rem 0rem 0;
}
div.tabContent {
	clear: both;
	position: relative;
	border-left:none;
	border-right:none;
	border-bottom:none;
	border-top: 3px solid #221815;
	padding:0px;
	width: 100%;
	margin-bottom: 1.5rem;;
	display: none;
}
div.active {
display: block;
}
div.tabContent ol {border-bottom: 3px solid #221815; margin: 0; padding:  .5rem 0; position: relative;}
div.tabContent ol a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block;}
div.tabContent ol a:hover {background-color:rgba(255,224,73,0.2);}
div.tabContent ol dt { margin: 0 .2rem;}
div.tabContent ol dd { padding: 10px 10px 5px 18px;}
span.tag-orange,span.tag-red,span.tag-blue,span.tag-pick,span.tag-green,div.tabContent small {
	font-size: .7rem; font-weight: bold; border-radius: 4px;padding: 2px 10px; margin: 0 .2rem;}
span.tag-orange { background: #fdd35c;}
span.tag-red { background: #eec5dc;}
span.tag-blue { background: #dddcf5;}
span.tag-pick { background: #8eeba2;}
span.tag-green { background: #CCFF99;}


/***************************************************************
リンク画像
***************************************************************/
.bt {
    transition: all 0.2s;
}

.bt:hover {
    transform: scale(1.1);
	filter: saturate(150%);
}


img.hover-img {	transform: scale(1);
	transition:transform 0.2s;}
img.hover-img:hover {	transform: scale(1.1,1.1);
	transition:transform 0.2s;
cursor: pointer;}
/*img.hover-img:hover::after {filter: drop-shadow(0 0 0.75rem crimson);}*/

.link-item {width: 31.6%; height: auto; margin-bottom: 1rem;}


.link-img-wrap {
 position: relative;
	background-image: url("../images/stripe-back.png");
background-size: 12.5px 12.5px;
width:100%; height:320px;
margin: 1rem 0 0 1rem;
	border-radius: 15px 0px 16px 0px;
}


.link-zoomIn {
	position: absolute;
	top: -10px; left: -10px;

}
.link-zoomIn img{
  filter: brightness(1.0);
  transition: filter 1s, border-color 1s ;
	width: 380px;
	height: 320px;
	object-fit: cover;
	border-radius: 16px 0px 16px 0px;
 border: 3px solid #231815;
}

.link-zoomIn a:hover img{/*hoverした時の変化*/
 border: 3px solid #231815;
  transition: border-color 0.2s;
	animation: bright-flash 0.2s linear forwards;
}


/*ピックアップ情報*/
.w-47-p-5 { width: 47%; padding: 0 5px;}

.pickup-wrap .link-img-mini {
	width: 23%;margin:0 1%;
}
.pickup-wrap { padding: 3rem 0rem 1rem 0rem;}
.link-img-mini {
 position: relative;
	width: 48%;
	font-size: small;
}

.link-img-mini p {	line-height: 1.53em;}

.link-zoomIn-mini img{
  filter: brightness(1.0);
  transition: filter 1s, border-color 1s ;
	width: 100%;
	height: 190px;
	object-fit: cover;
	border-radius: 16px;
 border: 3px solid #231815;
}

.link-zoomIn-mini a:hover img{/*hoverした時の変化*/
 border: 3px solid #231815;
  transition: border-color 0.2s;
	animation: bright-flash 0.2s linear forwards;
}
.ribbon { position: absolute; top:1rem; left: 0;}

/*　画像のマスク　*/

.link-mask{
    display: block;
    line-height: 0;/*行の高さを0にする*/
    overflow: hidden;/*拡大してはみ出る要素を隠す*/
}

@keyframes bright-flash {
  0% {
    filter: brightness(2);
  }

  100% {
    filter: brightness(1.25);
  }
}

/***************************************************************
バナー
***************************************************************/
section.banner-wrap { padding: 2rem 5rem 4rem 5rem;}
a.banner {
	font-size: 2.3rem;
	font-family:'M PLUS Rounded 1c','メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	font-weight:700;
	letter-spacing: .4rem;
	text-align: center;
	line-height:120px;
display: block;
background-image: url(../images/simasima-l.png),url(../images/simasima-r.png);
background-position: left -60px center, right -50px center;
background-size:300px 200px,300px 200px;
background-repeat: no-repeat,no-repeat;
width: 100%;
height: 124px;
border-radius: 15px; /*角丸*/
font-weight: bold;
border:3px solid #2c2c2c;
margin: 2rem 0;
}
a.banner:hover {background-position: left center, right 0px center;
	cursor:pointer;
	border:3px solid #a73054;}


	a.banner-mini {
		text-align: center;
		line-height:116px;
	display: block;
	width: 94%;
	height: 116px;
	border-radius: 5px; /*角丸*/
	border:3px solid #2c2c2c;
	margin: auto;
background-image: url(../images/simasima-l.png),url(../images/simasima-r.png);
background-position: left -240px center, right -240px center;
background-size:300px 200px,300px 200px;
background-repeat: no-repeat,no-repeat;
margin-bottom: 1rem;
	}
	a.banner-mini:hover {	cursor:pointer;
		background-position: left -150px center, right -140px center;
		border:3px solid #a73054;}

/***************************************************************
ボタン設定
***************************************************************/
/* ボタンのスタイル */
.img-bot {
	position: absolute;
  right: 0;
  bottom: 50px;
  left: 0;
  margin: auto;
	line-height: 40px;
  max-width: 65%;
  height: 35px;
  padding:0x 24px;
  font-family: sans-serif;
  font-size: 1.5rem;
color: #2c2c2c;
  text-align: center;
font-weight: bold;
  overflow-wrap: anywhere;
  background-color: #fed100;
  border-radius: 10px;
	letter-spacing: .2rem;

}

@media (any-hover: hover) {
  .img-bot {
    transition: background-color 0.2s;
  }

  .img-bot:hover {
     background-color: #ffe049;
	  color:#4A4949;
  }
}


a.button01,a.button-mini {
    display: inline-block;
    color: #2c2c2c;
    text-decoration: none;
    text-align: center;
    background-color: #FFF;/*ボタン色*/
    border-radius: 25px; /*角丸*/
	font-weight: bold;
	border:2px solid #2c2c2c;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}
a.button01{
    min-width:200px;
    height:40px;
    line-height: 40px;
    color: #2c2c2c;
	padding:0 1rem;
}
a.button01:hover{
    background-color: #f9c500; /*ボタン色*/
	color: #2c2c2c;
}

a.button-mini{
	font-size: 1.5rem !important;
    min-width:auto;
    height:34px;
    line-height: 32px;
	padding:0 1.8rem;
}
a.button01:hover,a.button-mini:hover{
    background-color: #f9c500; /*ボタン色*/
	color: #2c2c2c;
}
.ab-map a.button-mini{
	font-size: 1rem !important;}
/***************************************************************
リンクエフェクト
***************************************************************/
.about-back-footer {
	background-image: url(../images/about-back-footer.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:cover;
	min-height: 1200px;
	margin-bottom: -420px;

}

/*********************************************************/
/* フッダー関連　*/
/*********************************************************/

footer {
	font-size:0.84rem;
	margin-top: 160px;
	padding:0;
	background-image: url(../images/footer-back.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size:auto 1800px;
	height:660px;
	width:100%;
	padding: 120px 0;
	position:relative;
	}
footer p { line-height:1.5rem; font-weight: bold;}
footer a { color: #221815;text-decoration:underline;}
footer a:link {color: #221815;}
footer a:visited { color: #221815;}
footer a:hover {color: #F3588B;}
footer a:active {color: #221815;}

.footer-link-back {
	position: relative;
	background-image: url(../images/stripe-back.png);
	background-size: 12px 12px;
	width: 100%;
	height: 110px;
	border-radius: 16px; /*角丸*/
	margin-top: 4rem;
}
.footer-link-back img {	position: absolute;
	top:-60px;
	right: 0;
	left: 0;
	margin: auto;
}
.footer-link {
	position: absolute;
	top:-10px;
	left: -10px;
	background:#FFF;
	width: 100%;
	height: 110px;
	border-radius: 16px; /*角丸*/
	padding: 1.2rem 1rem 1rem 5rem;
}
.footer-link a {
	background-image: url(../images/link-icon.png);
	background-size: 11px 11px;
	background-repeat: no-repeat;
	background-position:left top 13px;
	display: block;
	padding:.7rem 1rem 0 1rem;
	margin: 0;
	line-height: 1rem;
	width: 20%;
	text-decoration:none;
}
.footer-link span {
	display: block;
	padding:.7rem 1rem 0 1rem;
	margin: 0;
	line-height: 1rem;
	width: 20%;
	text-decoration:none;}

.footer-sitemap {
	width: 100%;
	height:auto;
	padding: 2rem 3rem 3rem 5rem;
}
.footer-sitemap a {
	background-image: url(../images/footer-arrow.png);
	background-size: 7px 11px;
	background-repeat: no-repeat;
	background-position:left top 16px;
	display: block;
	padding:.7rem 2rem 0 1rem;
	margin: 0;
	line-height: 1.4rem;
	width: auto;
	text-decoration:none;
	font-weight: bold;
	font-size: 0.76rem;

}


/***************************************************************
テーブル
***************************************************************/
table {
  border-collapse: collapse;
  width:100%;
  border-top:3px solid #423924;
}
table th {
font-weight:bold;
  padding:1.2rem 0.5rem;
  border-bottom: 1px solid #cfc4d1;
  text-align:left;
}
table td {
  padding:1.2rem 0.5rem;
  border-bottom: 1px solid #cfc4d1;
}
.scroll-table table {}
.nowrap-th {white-space: nowrap;}
.right-line {border-right: 1px solid #cfc4d1;}

table.table-line-none {
  border-top:1px solid #333;}
table.table-line-none th { border:none;}
table.table-line-none td { border:none;}


/***************************************************************
画像関連
***************************************************************/
img.popup {
	width: 100% !important;
	height: auto;
	border-radius: 5px;
	padding:0;
	margin: 0 0 2rem 0;
}
a img{
	  transition: 0.5s ease-in-out;/* CSS3 */
    -webkit-transition: 0.5s ease-in-out;/* for Safari and Chrome */
    -moz-transition: 0.5s ease-in-out;/* for Firefox */
    -o-transition: 0.5s ease-in-out;/* when Opera Presto 2.3 or later is released */
    -ms-transition: 0.5s ease-in-out;/* Linux browsers */
}

.item-1-col-text img { width: 100%; height: auto;}
/***************************************************************
ページTOP
***************************************************************/
/* ページトップへ戻る */
.pageTop {
	position:relative;
	height:0;
	margin: 0 auto;
	display:none;
	padding:0px;
	z-index:10;
}
.pageTop a {
	position: fixed;
	left:auto;
	display: block;
	left: 50%;transition: none;
transform: translate(-50%,-50%);
}


/***************************************************************
パディング・マージン・幅（width）ポジション設定
***************************************************************/

.w-100 { width:100% !important;}
.w-90 { width:90% !important;}
.w-80 { width:80% !important;}
.w-70 { width:70% !important;}
.w-60 { width:60% !important;}
.w-50 { width:50% !important;}
.w-40 { width:40% !important;}
.w-30 { width:30% !important;}
.w-20 { width:20% !important;}
.w-10 { width:10% !important;}

.left { text-align:left;}
.right { text-align:right;}
.center { text-align: center;}
.display-block { display:block;}
.display-in-block { display:block; position:absolute; right:0px; top:0px;}
.position-relative { position:relative;}
.position-absolute { position: absolute;}
.ud-center { padding-top:2rem;}
.line-hight-mini {
	line-height: 1.8rem;
}
a.full { width:100%; height:100%; display:block;}
.meiryo {font-family:'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif; font-weight:normal;}

/*************************************************************
非表示クラスSP
**************************************************************/
.sp-none { display: initial;}
.pc-none { display:none;}


@media only screen and (min-width: 960px) and ( max-width:1281px) { /*PCサイズ*************************************************/
html { /*画面全体を30％縮小する*/　/*100vwなどの単位は使えないので気をつけてください。vwは％で指定して書くこと*/
	transition: transform 0.3s;
    transform: scale(0.7);
    transform-origin: left top;
    height: calc(100% / 0.7);
    width: calc(100% / 0.7);
}

}


/*タブレット＆横向きスマホ用*/
@media only screen and (min-width: 640px) and ( max-width:959px) { /*スマホ横サイズ*******************************************************************************************************/
#スマホ横サイズ---------------------------------------------------------------------------------------------- {}


html{
	height: -webkit-fill-available;
  }

  body {
  overfrow:hidden;
  min-height: 100vh;
  min-height: -webkit-fill-available;
   font-size:0.8rem;
	  }

  main {margin-top: -90px;}


  /*************************************************************
  非表示クラスPC
  **************************************************************/
  .sp-none { display:none;}
  .pc-none { display: initial; }

  .clearfix:after{
	  content: "";
	  clear: both;
	  display: block;
  }

  /***************************************************************
  検索フォーム
  ***************************************************************/
  .search-form {}

  /***************************************************************
  H1～H6設定
  ***************************************************************/

  h3,h4,h5,h6 { font-weight: bold; padding: 1rem 0 0 0;}

   h1,.item-1-col-text h1,.item-1-col-text-0 h1 {
	  font-size:1.35rem;
	  line-height: 1.6rem;
	  letter-spacing: 0.01rem;
	  padding:1.5rem 0 1rem 0rem;
	  margin: 0rem 0 0rem 0;
   }
  h2{
	  font-size:1.35rem;
	  font-weight: normal;
	  line-height: 1.5rem;	padding:1.5rem 0 1rem 0rem;
	}

  h3{font-size:1.1rem;/**/
	  text-align: left;/**/
	  line-height: 1.1rem;/**/
	  letter-spacing: 0.02rem;/**/
  padding-bottom:0.1rem;
	  padding:0.5rem 0 1rem 2rem;/**/
	  margin: 1rem 0 .5rem 0;/**/
	background-size:22px 25px;
	background-position: left top 5px;
   }

   h3 span,.item-1-col-text h1 span {
	  background-image:url(../images/obi-line.png);
	  background-repeat:repeat-x;
	  background-size:5px 43px;
	  background-position:left bottom;
   }
   h3.white-line {  background-image:url(../images/h2-back-white.png);}
   h3 b { display:block; position:absolute; top:-0.5rem; padding-left:4.5rem; font-size:1rem;}

  h4 {font-size:1.1rem;	letter-spacing: 0.08rem;text-shadow: 1px 1px 1px rgba(0,0,0,0.1);padding-bottom:1rem;}
  h4.green-line {
	  padding:3rem 0 1rem 4rem !important; background-image:url(../images/h2-back.png);
	  background-size:3rem 3px;
	  background-repeat:no-repeat;
	  background-position:left 3.8rem;
	  }

  h5 {font-size:1rem;	letter-spacing: 0.08rem;text-shadow: 1px 1px 1px rgba(0,0,0,0.1);padding-bottom:1rem;}
  h6 {font-size:1rem;	letter-spacing: 0.08rem;text-shadow: 1px 1px 1px rgba(0,0,0,0.1);padding-bottom:1rem;}


  /*縁取り*/
  .outline {
	display        : inline-block;
	text-shadow    :
		 1px  1px 0px rgba(255, 255, 255, 0.5),
		-1px  1px 0px rgba(255, 255, 255, 0.5),
		 1px -1px 0px rgba(255, 255, 255, 0.5),
		-1px -1px 0px rgba(255, 255, 255, 0.5),
		 1px  0px 0px rgba(255, 255, 255, 0.5),
		 0px  1px 0px rgba(255, 255, 255, 0.5),
		-1px  0px 0px rgba(255, 255, 255, 0.5),
		 0px -1px 0px rgba(255, 255, 255, 0.5);        /* 文字の影 */
  }
  h2 small,h3 small,h4 small { font-size:1rem;}
  /*************************************************************
  h1～h6
  **************************************************************/


  p {
	  letter-spacing: 0.05em;
	  line-height:1.6rem;
	  padding-bottom:1rem !important;

  }
  small,.small {font-size:0.66rem;	letter-spacing: 0.05rem;}
  big,.big { font-size:1.2rem;}

  img.sp-obi { width: 40%; height:auto;}

  /***************************************************************
  ヘッダーメニュー
  ***************************************************************/
  menu {
	  background-size: 25px 10px;
	  background-position: center bottom 0px;
	  height: 70px;
	  width: 100%;
	  }
	  .head-1 {	height: 80px;	}
	  .head-1 img { width: 180px;	height:auto;margin-bottom: 1rem;	}
	  .head-2 {	display: none;}
  section .item-2.head-1 {
		  width:60%;	padding:1em;
	  }
  /***************************************************************
  メニュー設定
  ***************************************************************/

  .menu-trigger {
	  width: 46px;
	  height:46px;
	top:7px;
	right:1rem;
  }

  .menu-trigger span {
	  left: 11px;
	  height: 3px;
	  border-radius: 2px;
	background: #fff;
	  width: 50%;
  }
  .menu-trigger span:nth-of-type(1) {
	top:12px;
  }
  .menu-trigger span:nth-of-type(2) {
	top:22px;
  }
  .menu-trigger span:nth-of-type(3) {
	 top:32px;
  }

  .menu-trigger.active span:nth-of-type(1) {
	  top: 15px;
	  left: 12px;
	  transform: translateY(6px) rotate(-45deg);
	  width: 50%;
  }

  .menu-trigger.active span:nth-of-type(2) {
	opacity: 0;/*真ん中の線は透過*/
  }

  .menu-trigger.active span:nth-of-type(3){
	  top: 27px;
	  left: 12px;
	  transform: translateY(-6px) rotate(45deg);
	  width: 50%;
  }


  /***************************************************************
  ページTOP
  ***************************************************************/
  /* ページトップへ戻る */

  .sp-top {display: none !important;}


  /***************************************************************
  インスタグラム設定
  ***************************************************************/
  .instagram { height:auto;margin-top:0px;}
  .instagram div {
	  width: 48%;
	  padding-top: 5%}


  .instagram div img { width:100%; height:100%;}

  /***************************************************************
  リンク画像
  ***************************************************************/

  .link-item {width: 33.33% !important; height: auto; margin-bottom: 0rem;}
  .link-item:nth-child(even) {padding: 0 .05rem 1.4rem .5rem;}
  .link-item:nth-child(odd) {padding: 0 .5rem 1.4rem .05rem;}


  .link-img-wrap {
  background-size: 12.5px 12.5px;
  width:100%; height:200px;
  margin: 0 ;
  padding: 0;
	  border-radius: 15px 0px 16px 0px;
  }


  .link-zoomIn {
	  position: absolute;
	  top: -10px; left: 5px;

  }
  .link-zoomIn img{
	  width: 100%;
	  height: 200px;
	  object-fit: cover;
	  border-radius: 16px 0px 16px 0px;
   border: 3px solid #231815;
  }

  .link-zoomIn a:hover img{/*hoverした時の変化*/
   border: 3px solid #231815;
	transition: border-color 0.2s;
	  animation: bright-flash 0.2s linear forwards;
  }
  .img-bot {
	  bottom: 30px;
		line-height: 30px;
	  max-width: auto%;
	  height: 28px;
	  padding:0x 6px;
	  font-size: .7rem;
	  border-radius: 5px;
		letter-spacing: 0rem;

	}


  /***************************************************************
  TOPお知らせタブ
  ***************************************************************/

	  ul.tab li {
	  padding: 4px 10px;
		  margin:0 .3rem 0rem 0;
		  font-size: 0.7rem;
	  }

	  ul.tab li.active {
		  height: 50px;
		  margin:0 .3rem 0rem 0;
	  }
	  div.tabContent {
		  font-size: 0.7rem;
		  margin-bottom: 1rem;
	  }
	  div.tabContent ol dt { margin: 0rem;}
	  div.tabContent ol dd { padding: 0px 0px 0px 0px; line-height: 1.2rem;}
	  span.tag-orange,span.tag-red,span.tag-blue,span.tag-pick,div.tabContent small {
		  font-size: .5rem;  line-height:2rem; bold; border-radius: 4px;padding: 3px; margin:  .05rem;}




  /***************************************************************
  背景設定
  ***************************************************************/
  header#sub-wrap {
	  background-image:url("../images/sub-hero-back-01.jpg");
	  background-position:center -60px;

	  }
	  header .sub-inner {
		  height: 350px;
	  }

	  header#index {
	  background-image:url("../images/index-hero-back-02.png"),url("../images/index-hero-back-01.jpg");
	  background-position:center bottom,center center;
	  background-repeat: no-repeat,no-repeat;
	  background-size:auto 120px,auto 560px;
	  width:100%;
	  height: 100vh;
		  text-align: center;
	  }
	  .hero-button {padding-top: 20px;}
	  .hero-button img { width:40%; height:auto;}/**/
	  .hero-button3 {padding-top: 70px;}
	  .hero-button3 img { width: 50%; height: auto;}
	  .hero-title {padding-top: 50px;}
	  img.hero-img-01 { display: none;}
	  img.hero-img-02 {width: 22%; height:auto; left:0rem; bottom: 80px;}
	  img.hero-img-03 {width: 20%; height:auto; left:auto; right:0rem; bottom: 70px;}
	  img.hero-img-04 { display: none;}
	  img.hero-img-05 {position: absolute; left:calc(50% - 550px); bottom: 170px;}


  /***************************************************************
  タイルギャラリー　「Masonry」
  ***************************************************************/


  /***************************************************************
  バナー
  ***************************************************************/


	  a.banner-mini {
		  text-align: center;
		  line-height:80px;
	  display: block;
	  width: 100%;
	  height: 80px;
	  border-radius: 5px; /*角丸*/
	  border:3px solid #2c2c2c;
	  margin: auto;
	  }

		  a.banner-mini img { width: 60%; height: auto;}

  /*********************************************************/
  /* フッダー関連　*/
  /*********************************************************/

  footer {
	  font-size:0.7rem;
	  margin-top: 100px;
	  padding:0;
	  background-size:auto 1200px;
	  height:auto;
	  width:100%;
	  padding: 60px 1rem;
	  position:relative;
	  }
  footer p { line-height:1.5rem; font-weight: bold;}


  .footer-link-back {
	  background-size: 6px 6px;
	  width: 100%;
	  height: 220px;
	  border-radius: 8px; /*角丸*/
	  margin-top: 4rem 1rem 0 1rem;
  }
  .footer-link-back img {	position: absolute;
	  top:-60px;
	  right: 0;
	  left: 0;
	  margin: auto;
  }
  .footer-link {
	  position: absolute;
	  top:-5px;
	  left: -5px;
	  background:#FFF;
	  width: 100%;
	  height: 220px;
	  border-radius: 8px; /*角丸*/
	  padding: 1.2rem 0rem 1rem 1rem;/**/
  }
  .footer-link a {
	  background-image: url(../images/link-icon.png);
	  background-size: 11px 11px;
	  background-repeat: no-repeat;
	  background-position:left top 13px;
	  display: block;
	  padding:.7rem 0rem .7rem 1rem;
	  margin: 0;
	  line-height: 1rem;
	  width: 50%;/**/
	  text-decoration:none;
  }
.footer-link span {
	  display: block;
	  padding:.7rem 0rem .7rem 1rem;
	  margin: 0;
	  line-height: 1rem;
	  width: 50%;/**/
	  text-decoration:none;
}

  /***************************************************************
  テーブルレイアウト
  ***************************************************************/
  table td{
	  width: 100%;
	  display: block;
	  padding:0rem 0.5rem 0.5rem 0.5rem;
	  }
  table th{
	  width:auto;
	  display: block;
	  padding:0.5rem 0.5rem 0rem 0.5rem;
	  border:none;
	  }

.scroll-table,.scroll-table2 {
  display: block;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
.scroll-table table,.scroll-table2 table {min-width:800px;}
.scroll-table table th,.scroll-table table td { width:auto; display: table-cell;}

.sp-scroll-hint { display:inherit;}

.scroll-table2 table td,.scroll-table table td{
    width:auto;
    display: table-cell;
	padding: 0.5rem;
    }
.scroll-table2 table th,.scroll-table table th{
    width:auto;
    display: table-cell;
	padding:0.5rem 0.5rem 0rem 0.5rem;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #A1A1A1;white-space: nowrap;
    }




  /***************************************************************
  ボタン設定
  ***************************************************************/
  a.button01,a.button-mini {
	  display: inline-block;
	  color: #2c2c2c;
	  text-decoration: none;
	  text-align: center;
	  background-color: #FFF;/*ボタン色*/
	  border-radius: 25px; /*角丸*/
	  font-weight: bold;
	  border:2px solid #2c2c2c;
	  -webkit-transition: all 0.5s;
	  transition: all 0.5s;
	  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
  }
  a.button01{
	  min-width:200px;
	  height:40px;
	  line-height: 38px;
	  color: #2c2c2c;
  }
  a.button01:hover{
	  background-color: #f9c500; /*ボタン色*/
	  color: #2c2c2c;
  }

  a.button-mini{
	  font-size: 1.5rem !important;
	  min-width:auto;
	  height:34px;
	  line-height: 32px;
	  padding:0 1.8rem;
  }
  a.button01:hover,a.button-mini:hover{
	  background-color: #f9c500; /*ボタン色*/
	  color: #2c2c2c;
  }
  .ab-map a.button-mini{
	  font-size: 1rem !important;}





  /***************************************************************
  インフォメーション設定
  ***************************************************************/
  main.sub {margin-top: -180px;}/**/
  .tab-back {
  height: 50px;
  background-image: url(../images/tab-back.png);
  background-repeat: repeat-x;
  background-size: 25px 50px; margin-bottom: -1rem;
  }
  section.tab-back .item-4 {
	  width:19%;padding:0rem;
  }
  .tab-info { width: 100%;height: 50px;
  margin: 0rem;
  text-align: center;
  font-size: 1rem;
  }
	  .tab-info-over,.tab-info:hover { width: 19%;height: 50px;
		  margin: 0rem;
		  text-align: center;
		  font-size:.7rem;
		  }
  .tab-info.line-4 a,.tab-info-over.line-4 a {	line-height: 15px; padding-top:.7rem;}

  .tab-info a,.tab-info-over a {font-size: .7rem;letter-spacing: 0rem; width: 100%; height: 100%; white-space: nowrap;}

  .tab-back h2 { width: 22%;height: 50px;
	  margin: 0 .5rem;
	  text-align: center;
	  line-height: 54px;
	  font-size: 1.2rem;
	  }
  .tab-back h2 {min-width: 150px; width: auto; font-size: 1.1rem; padding: 0rem 1rem; margin: 0 .5rem;}
  .info-wrap { padding-top: 1rem;}
  .info-wrap ol { border-bottom: 2px solid #2c2c2c; width: 100%; margin:0.1rem 1rem 0 1rem; line-height: 22px; position: relative; padding: 0 0 1rem 0;}
  .info-wrap ol dd,.info-wrap ol dt {background-size: 60px 60px; background-repeat: no-repeat;}

  .info-wrap ol dd { width: 200%; padding-left: 0rem; background-image:none;white-space: nowrap; overflow:hidden;}
  .info-wrap ol dt { padding-right: 0rem; background-image:none;
	  width: 100% !important;
	  text-overflow:normal;
	  overflow: normal;
	  text-overflow: clip;
	  overflow: clip;
	  white-space: normal;
  }
  .info-wrap ol a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block;}





  /***************************************************************
  リンクエフェクト
  ***************************************************************/
  .about-back-footer {
	  background-image:none;
	  min-height:auto;
	  margin-bottom:0;

  }

  /***************************************************************
  パディング・マージン・幅（width）ポジション設定
  ***************************************************************/

  .w-30,.w-40 { width:100% !important;}/**/

  /***************************************************************
  aboutページ
  ***************************************************************/

  ul.link-list { padding: 0; margin: 0;}
  ul.link-list li {display: block;width: 100%; background-image: url(../images/link-icon2.png);
  background-size:23px 23px; background-repeat: no-repeat;
  background-position: left top .5rem;
  padding: .5rem 0 1.5rem 2rem!important; margin: 0 0 0 0;
  line-height: 1.3rem;
  font-weight: bold;}
  ul.link-list li.pdf { background-image: url(../images/link-icon0.png);}
  ul.link-list li a { color: #2a2a2a;text-decoration: underline;}
  ul.link-list li a:hover { color:#F3588B;}

  div.icon-wrap {
	  float: left;
	  width: 100%;
	  background-size:60px 60px;
	  background-repeat:no-repeat;
	  background-position: left -10px top 5px;
	  font-size:1.4rem;
	  text-shadow: 1px 1px 1px rgba(0,0,0,0.1);
	  line-height: 1.7rem;
	  letter-spacing: 0.1rem;
  padding-bottom:0.1rem;
	  padding:1.3rem 0 1rem 3rem;
	  margin: 0;
	  font-weight: bold;
  }
  div.icon-wrap p { font-size: 1rem; padding:1.8rem 0 ;}
  div.icon-wrap ul li { font-size: 1rem;}
  div.ab-time {  background-image:url(../images/list-time.png);}
  div.ab-map {  background-image:url(../images/list-map.png);}
  div.ab-inp {  background-image:url(../images/list-important.png);}
  div.ab-flag {  background-image:url(../images/list-flag.png);}

  span.line-ab {
  background-image:url(../images/obi-line.png);
  background-repeat:repeat-x;
  background-size:5px 43px;
  background-position:left bottom;
  }
  h3.CL {margin: -4rem 0 2rem 0;}


  /***************************************************************
  ページナビゲーション&info
  ***************************************************************/

  .pager {
	  padding:30px 0; /**/
  }

  .pager ul li {
	  margin: 0 2px;/**/
	  line-height:30px;/**/
	  border-radius: 48px;
  }

  .pager ul li span,
  .pager ul li a {	font-weight:bold;
	  font-size: 0.76rem;
	  min-width: 31px;/**/
	  padding:0 .5rem;/**/
  border-radius: 48px;/**/
  }

  .pager ul li.current  {
	  text-decoration:none; background: #2a2a2a;    color: #FFFFFF;}


  .pager ul li a {
	  color:  #2c2c2c;
	  border:1px solid #2c2c2c;
	  text-decoration: none;
	  border-radius: 48px;
  }


  /*ピックアップ情報*/
.pickup-wrap { padding: 3rem 1rem 1rem 1rem;}
  .pickup-wrap .link-img-mini {
	  width: 46%;margin:0 2%;
  }
  dd .w-30 { width: 100%;}
  img.ribbon  { width:auto; height: 23px;}




}



@media only screen and (min-width: 0px) and (max-width: 639px)  {/*スマホ用縦サイズ****************************************************************************************************************************************************************************/
#スマホ縦サイズ---------------------------------------------------------------------------------------------- {}

html{
  height: -webkit-fill-available;
}

body {
overfrow:hidden;
min-height: 100vh;
min-height: -webkit-fill-available;
 font-size:0.8rem;
	}

main {margin-top: -90px;}


/*************************************************************
非表示クラスPC
**************************************************************/
.sp-none { display:none;}
.pc-none { display: initial; }

.clearfix:after{
	content: "";
	clear: both;
	display: block;
}

/***************************************************************
検索フォーム
***************************************************************/
.search-form {}

/***************************************************************
H1～H6設定
***************************************************************/

h3,h4,h5,h6 { font-weight: bold; padding: 1rem 0 0 0;}

 h1,.item-1-col-text h1,.item-1-col-text-0 h1 {
	font-size:1.35rem;
	line-height: 1.6rem;
	letter-spacing: 0.01rem;
	padding:1.5rem 0 1rem 0rem;
	margin: 0rem 0 0rem 0;
 }
h2{
	font-size:1.35rem;
	font-weight: normal;
	line-height: 1.5rem;	padding:1.5rem 0 1rem 0rem;
  }

h3{font-size:1.1rem;/**/
	text-align: left;/**/
	line-height: 1.1rem;/**/
	letter-spacing: 0.02rem;/**/
padding-bottom:0.1rem;
	padding:0.5rem 0 1rem 2rem;/**/
	margin: 1rem 0 .5rem 0;/**/
  background-size:22px 25px;
  background-position: left top 5px;
 }

 h3 span,.item-1-col-text h1 span {
	background-image:url(../images/obi-line.png);
	background-repeat:repeat-x;
	background-size:5px 43px;
	background-position:left bottom;
 }
 h3.white-line {  background-image:url(../images/h2-back-white.png);}
 h3 b { display:block; position:absolute; top:-0.5rem; padding-left:4.5rem; font-size:1rem;}

h4 {font-size:1.1rem;	letter-spacing: 0.08rem;text-shadow: 1px 1px 1px rgba(0,0,0,0.1);padding-bottom:1rem;}
h4.green-line {
	padding:3rem 0 1rem 4rem !important; background-image:url(../images/h2-back.png);
	background-size:3rem 3px;
	background-repeat:no-repeat;
	background-position:left 3.8rem;
	}

h5 {font-size:1rem;	letter-spacing: 0.08rem;text-shadow: 1px 1px 1px rgba(0,0,0,0.1);padding-bottom:1rem;}
h6 {font-size:1rem;	letter-spacing: 0.08rem;text-shadow: 1px 1px 1px rgba(0,0,0,0.1);padding-bottom:1rem;}


/*縁取り*/
.outline {
  display        : inline-block;
  text-shadow    :
       1px  1px 0px rgba(255, 255, 255, 0.5),
      -1px  1px 0px rgba(255, 255, 255, 0.5),
       1px -1px 0px rgba(255, 255, 255, 0.5),
      -1px -1px 0px rgba(255, 255, 255, 0.5),
       1px  0px 0px rgba(255, 255, 255, 0.5),
       0px  1px 0px rgba(255, 255, 255, 0.5),
      -1px  0px 0px rgba(255, 255, 255, 0.5),
       0px -1px 0px rgba(255, 255, 255, 0.5);        /* 文字の影 */
}
h2 small,h3 small,h4 small { font-size:1rem;}
/*************************************************************
h1～h6
**************************************************************/


p {
	letter-spacing: 0.05em;
	line-height:1.6rem;
	padding-bottom:1rem !important;

}
small,.small {font-size:0.66rem;	letter-spacing: 0.05rem;}
big,.big { font-size:1.2rem;}

img.sp-obi { width: 80%; height:auto;}

/***************************************************************
ヘッダーメニュー
***************************************************************/
menu {
	background-size: 25px 10px;
	background-position: center bottom 0px;
	height: 70px;
	width: 100%;
	}
	.head-1 {	height: 80px;	}
	.head-1 img { width: 180px;	height:auto;margin-bottom: 1rem;	}
	.head-2 {	display: none;}
section .item-2.head-1 {
		width:60%;	padding:1em;
	}
/***************************************************************
メニュー設定
***************************************************************/

.menu-trigger {
    width: 46px;
    height:46px;
  top:7px;
  right:1rem;
}

.menu-trigger span {
    left: 11px;
    height: 3px;
    border-radius: 2px;
  background: #fff;
    width: 50%;
}
.menu-trigger span:nth-of-type(1) {
  top:12px;
}
.menu-trigger span:nth-of-type(2) {
  top:22px;
}
.menu-trigger span:nth-of-type(3) {
   top:32px;
}

.menu-trigger.active span:nth-of-type(1) {
    top: 15px;
    left: 12px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
}

.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;/*真ん中の線は透過*/
}

.menu-trigger.active span:nth-of-type(3){
    top: 27px;
    left: 12px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
}


/***************************************************************
ページTOP
***************************************************************/
/* ページトップへ戻る */
.sp-top-img { width: 80px; height: auto; margin-bottom: .5rem;}
.sp-top {position: absolute; bottom: 900px !important;}


/***************************************************************
インスタグラム設定
***************************************************************/
.instagram { height:auto;margin-top:0px;}
.instagram div {
	width: 48%;
	padding-top: 5%}


.instagram div img { width:100%; height:100%;}

/***************************************************************
リンク画像
***************************************************************/

.link-item {width: 50% !important; height: auto; margin-bottom: 0rem;}
.link-item:nth-child(even) {padding: 0 .05rem 1.4rem .5rem;}
.link-item:nth-child(odd) {padding: 0 .5rem 1.4rem .05rem;}
.link-img-wrap {
background-size: 12.5px 12.5px;
width:100%; height:150px;
margin: 0 ;
padding: 0;
	border-radius: 15px 0px 16px 0px;
}


.link-zoomIn {
	position: absolute;
	top: -10px; left: 5px;

}
.link-zoomIn img{
	width: 100%;
	height: 150px;
	object-fit: cover;
	border-radius: 16px 0px 16px 0px;
 border: 3px solid #231815;
}

.link-zoomIn a:hover img{/*hoverした時の変化*/
 border: 3px solid #231815;
  transition: border-color 0.2s;
	animation: bright-flash 0.2s linear forwards;
}
.img-bot {
	bottom: 30px;
	  line-height: 30px;
	max-width: auto%;
	height: 28px;
	padding:0x 6px;
	font-size: .7rem;
	border-radius: 5px;
	  letter-spacing: 0rem;

  }


/***************************************************************
TOPお知らせタブ
***************************************************************/

	ul.tab li {
	padding: 4px 10px;
		margin:0 .3rem 0rem 0;
		font-size: 0.7rem;
	}

	ul.tab li.active {
		height: 50px;
		margin:0 .3rem 0rem 0;
	}
	div.tabContent {
		font-size: 0.7rem;
		margin-bottom: 1rem;
	}
	div.tabContent ol dt { margin: 0rem;}
	div.tabContent ol dd { padding: 0px 0px 0px 0px; line-height: 1.2rem;}
	span.tag-orange,span.tag-red,span.tag-blue,span.tag-pick,div.tabContent small {
		font-size: .5rem;  line-height:2rem; bold; border-radius: 4px;padding: 3px; margin:  .05rem;}




/***************************************************************
背景設定
***************************************************************/
header#sub-wrap {
	background-image:url("../images/sub-hero-back-01.jpg");
	background-position:center -60px;

	}
	header .sub-inner {
		height: 350px;
	}

	header#index {
	background-image:url("../images/index-hero-back-02.png"),url("../images/index-hero-back-01.jpg");
	background-position:center bottom,center center;
	background-repeat: no-repeat,no-repeat;
	background-size:auto 120px,auto 660px;
	width:100%;
	height: 460px;
		text-align: center;
	}
	.hero-button {padding-top: 20px;}
	.hero-button img { width: 70%; height: auto;}/**/
	.hero-button3 {padding-top: 90px;}
	.hero-button3 img { width: 70%; height: auto;}
	.hero-title {padding-top: 50px;}
	img.hero-img-01 { display: none;}
	img.hero-img-02 {width: 42%; height:auto; left:0rem; bottom: 80px;}
	img.hero-img-03 {width: 40%; height:auto; left:auto; right:0rem; bottom: 70px;}
	img.hero-img-04 { display: none;}
	img.hero-img-05 {position: absolute; left:calc(50% - 550px); bottom: 170px;}


/***************************************************************
タイルギャラリー　「Masonry」
***************************************************************/


/***************************************************************
バナー
***************************************************************/


	a.banner-mini {
		text-align: center;
		line-height:80px;
	display: block;
	width: 100%;
	height: 80px;
	border-radius: 5px; /*角丸*/
	border:3px solid #2c2c2c;
	margin: auto;
	}

		a.banner-mini img { width: 70%; height: auto;}

/*********************************************************/
/* フッダー関連　*/
/*********************************************************/

footer {
	font-size:0.7rem;
	margin-top: 100px;
	padding:0;
	background-size:auto 1200px;
	height:960px;
	width:100%;
	padding: 60px 1rem;
	position:relative;
	}
footer p { line-height:1.5rem; font-weight: bold;}

.footer-sitemap {
	width: 100%;
	height:auto;
	padding: 2rem;
}
.footer-sitemap a {width: 100%;}
.footer-link-back {
	background-size: 6px 6px;
	width: 100%;
	height: 220px;
	border-radius: 8px; /*角丸*/
	margin-top: 4rem 1rem 0 1rem;
}
.footer-link-back img {	position: absolute;
	top:-60px;
	right: 0;
	left: 0;
	margin: auto;
}
.footer-link {
	position: absolute;
	top:-5px;
	left: -5px;
	background:#FFF;
	width: 100%;
	height: 220px;
	border-radius: 8px; /*角丸*/
	padding: 1.2rem 0rem 1rem 1rem;/**/
}
.footer-link a {
	background-image: url(../images/link-icon.png);
	background-size: 11px 11px;
	background-repeat: no-repeat;
	background-position:left top 13px;
	display: block;
	padding:.7rem 0rem .7rem 1rem;
	margin: 0;
	line-height: 1rem;
	width: 50%;/**/
	text-decoration:none;
}
.footer-link span {
	  display: block;
	  padding:.7rem 0rem .7rem 1rem;
	  margin: 0;
	  line-height: 1rem;
	  width: 50%;/**/
	  text-decoration:none;
}

/***************************************************************
テーブルレイアウト
***************************************************************/
table td{
    width: 100%;
    display: block;
	padding:0rem 0.5rem 0.5rem 0.5rem;
    }
table th{
    width:auto;
    display: block;
	padding:0.5rem 0.5rem 0rem 0.5rem;
	border:none;
    }

.scroll-table,.scroll-table2 {
  display: block;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
.scroll-table table {min-width:800px;}
.scroll-table table th,.scroll-table table td { width:auto; display: table-cell;}

.sp-scroll-hint { display:inherit;}


.scroll-table2 table {min-width:600px;}

.scroll-table2 table td,.scroll-table table td{
    width:auto;
    display: table-cell;
	padding: 0.5rem;
    }
.scroll-table2 table th,.scroll-table table th{
    width:auto;
    display: table-cell;
	padding:0.5rem 0.5rem 0rem 0.5rem;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #A1A1A1;white-space: nowrap;
    }




/***************************************************************
ボタン設定
***************************************************************/
a.button01,a.button-mini {
    display: inline-block;
    color: #2c2c2c;
    text-decoration: none;
    text-align: center;
    background-color: #FFF;/*ボタン色*/
    border-radius: 25px; /*角丸*/
	font-weight: bold;
	border:2px solid #2c2c2c;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}
a.button01{
    min-width:200px;
    height:40px;
    line-height: 38px;
    color: #2c2c2c;
}
a.button01:hover{
    background-color: #f9c500; /*ボタン色*/
	color: #2c2c2c;
}

a.button-mini{
	font-size: 1.5rem !important;
    min-width:auto;
    height:34px;
    line-height: 32px;
	padding:0 1.8rem;
}
a.button01:hover,a.button-mini:hover{
    background-color: #f9c500; /*ボタン色*/
	color: #2c2c2c;
}
.ab-map a.button-mini{
	font-size: 1rem !important;}





/***************************************************************
インフォメーション設定
***************************************************************/
main.sub {margin-top: -180px;}/**/
.tab-back {
height: 50px;
background-image: url(../images/tab-back.png);
background-repeat: repeat-x;
background-size: 25px 50px;
}
section.tab-back .item-4 {
	width:19%;padding:0rem;
}
.tab-info { width: 100%;height: 50px;
margin: 0rem;
text-align: center;
font-size: 1rem;
}
	.tab-info-over,.tab-info:hover { width: 19%;height: 50px;
		margin: 0rem;
		text-align: center;
		font-size:.7rem;
		}
.tab-info.line-4 a,.tab-info-over.line-4 a {	line-height: 15px; padding-top:.7rem;}

.tab-info a,.tab-info-over a {font-size: .7rem;letter-spacing: 0rem; width: 100%; height: 100%; white-space: nowrap;}

.tab-back h2 { width: 22%;height: 50px;
	margin: 0 .5rem;
	text-align: center;
	line-height: 54px;
	font-size: 1.2rem;
	}
.tab-back h2 {min-width: 150px; width: auto; font-size: 1.1rem; padding: 0rem 1rem; margin: 0 .5rem;}
.info-wrap { padding-top: 1rem;}
.info-wrap ol { border-bottom: 2px solid #2c2c2c; width: 100%; margin:0.1rem 1rem 0 1rem; line-height: 22px; position: relative; padding: 0 0 1rem 0;}
.info-wrap ol dd,.info-wrap ol dt {background-size: 60px 60px; background-repeat: no-repeat;}

.info-wrap ol dd { width: 200%; padding-left: 0rem; background-image:none;white-space: nowrap; overflow:hidden;}
.info-wrap ol dt { padding-right: 0rem; background-image:none;
	width: 100% !important;
    text-overflow:normal;
	overflow: normal;
    text-overflow: clip;
    overflow: clip;
    white-space: normal;
}
.info-wrap ol a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block;}





/***************************************************************
リンクエフェクト
***************************************************************/
.about-back-footer {
	background-image:none;
	min-height:auto;
	margin-bottom:0;

}

/***************************************************************
パディング・マージン・幅（width）ポジション設定
***************************************************************/

.w-30,.w-40 { width:100% !important;}/**/

/***************************************************************
aboutページ
***************************************************************/

ul.link-list { padding: 0; margin: 0;}
ul.link-list li {display: block;width: 100%; background-image: url(../images/link-icon2.png);
background-size:23px 23px; background-repeat: no-repeat;
background-position: left top .5rem;
padding: .5rem 0 1.5rem 2rem!important; margin: 0 0 0 0;
line-height: 1.3rem;
font-weight: bold;}
ul.link-list li.pdf { background-image: url(../images/link-icon0.png);}
ul.link-list li a { color: #2a2a2a;text-decoration: underline;}
ul.link-list li a:hover { color:#F3588B;}

div.icon-wrap {
	float: left;
	width: 100%;
	background-size:40px 40px;
	background-repeat:no-repeat;
	background-position: left -10px top 5px;
	font-size:1.2rem;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.1);
	line-height: 1.7rem;
	letter-spacing: 0.1rem;
padding-bottom:0.1rem;
	padding:1.3rem 0 1rem 3rem;
	margin: 0;
	font-weight: bold;
}
div.icon-wrap p { font-size: 1rem; padding:1.8rem 0 ;}
div.icon-wrap ul li { font-size: 1rem;}
div.ab-time {  background-image:url(../images/list-time.png);}
div.ab-map {  background-image:url(../images/list-map.png);}
div.ab-inp {  background-image:url(../images/list-important.png);}
div.ab-flag {  background-image:url(../images/list-flag.png);}

span.line-ab {
background-image:url(../images/obi-line.png);
background-repeat:repeat-x;
background-size:5px 43px;
background-position:left bottom;
}
h3.CL {margin: -4rem 0 2rem 0;}


/***************************************************************
ページナビゲーション&info
***************************************************************/

.pager {
	padding:30px 0; /**/
}

.pager ul li {
    margin: 0 2px;/**/
	line-height:30px;/**/
	border-radius: 48px;
}

.pager ul li span,
.pager ul li a {	font-weight:bold;
    font-size: 0.76rem;
	min-width: 31px;/**/
    padding:0 .5rem;/**/
border-radius: 48px;/**/
}

.pager ul li.current  {
	text-decoration:none; background: #2a2a2a;    color: #FFFFFF;}


.pager ul li a {
    color:  #2c2c2c;
	border:1px solid #2c2c2c;
    text-decoration: none;
	border-radius: 48px;
}


/*ピックアップ情報*/
.pickup-wrap { padding: 3rem 1rem 1rem 1rem;}
.pickup-wrap .link-img-mini {
	  width: 46%;margin:0 2%;
}
dd .w-30 { width: 100%;}
img.ribbon  { width:auto; height: 23px;}



}
/**********スマホ終わり***********/


@media only screen and (max-width: 320px) { /*スマホサイズ*******************************************************************************************************/
#スマホ縦320サイズ---------------------------------------------------------------------------------------------- {}




}




@media print {

}
