html { 
}

body {
	margin: 0;
	padding: 0;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Verdana,"ＭＳ Ｐゴシック","MS PGothic","VL Pゴシック","Takao Pゴシック","IPA Pゴシック",sans-serif;
	color: #000;
	/*background: url(../image/bodyback2.jpg);*/
	/* フッター最下部固定 */
	display: flex;
	flex-flow: column;
	min-height: 100vh;
}
/* フッター最下部固定 */
#bframe {
	flex: 1;
}
/*==================================================
　 ヘッダー レイアウト
====================================================*/
#header_b {
	height: 120px;
}
.hdr-top {
	border-bottom: 1px solid #BFBFBF;
}
.header-top {
	display: flex;
	justify-content: space-evenly;
	width: 1300px;
	margin: auto auto 5px auto;
	height: 65px;
	align-items: flex-end;
}
.header-list li {
	list-style: none;
	float: left;
	padding: 20px 20px 0px 20px;
	font-weight: bold;
}
.header-list a, .header-list a:hover {
	color: #7f7f7f;
	text-decoration: none;
}
.hnavi {
	margin: 0;
	display: contents;
}
.hnavi li a:hover{
	color: #d1d1d1;
	transition: all .3s;
}
.header-logo {
	padding: 0px 10px;
}
.header-logoR {
	height: 41px;
}

/*========= キャッチ ===============*/
.header-bottom {
	width: 1020px;
	margin: auto;
}
.header-subTitle {
	margin: 10px 0;
	text-align: center;
	font-family: FC平成極太明朝体;
	font-size: 26px;
	color: #7F7F7F;
}

/*========= ヘッダー 表示＆非表示 ===============*/
#header{
	border-bottom: 1px solid #BFBFBF;
    /*fixedで上部固定*/
	position: fixed;
	height: 120px;
	width:100%;
    z-index: 999;/*最前面へ*/
    background: #FFF;
}

/*　上に上がる動き　*/
#header.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-100px);
  }
}

/*　下に下がる動き　*/
#header.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}

/*==================================================
　 フッター レイアウト
====================================================*/
.fotter {
	background: #F2F2F2;
}
.fotter-menu {
	text-align: left;
}
.fotter-menu {
	display: flex;
	margin: 5em auto 0 auto;
	width: 1250px;
	justify-content: center;
	background: #F2F2F2;
}
.footer-sitemapNav {
	display: flex;
}
.footer-title {
	margin-bottom: 10px;
	font-size: 18px;
}
.companyFlex {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.companyFlex img{
	width: 35px;
}
.fotter-menu ul {
	margin: 0;
	padding: 0 9em 0 0;
}
.fotter-menu li {
	list-style: none;
	padding-bottom: 5px;
}
.footer-reference {
	padding-right: 2em;
}
.catemargin {
	margin-top: 30px;
}

.footer-setting img {
	width: 35px;
}

/*========= フッター リンク =========*/
.fotter-menu li a {
	color: #000;
	position: relative;
	display: inline-block;
	transition: .3s;
	text-decoration: none;
}
.fotter-menu li a::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 0;
	height: 0.5px;
	background-color: #000;
	transition: .3s;
}
.fotter-menu li a:hover::after {
	width: 100%;
}
.companyText a {
	color: #000;
	position: relative;
	display: inline-block;
	transition: .3s;
	text-decoration: none;
}
.companyText a::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 0;
	height: 0.5px;
	background-color: #000;
	transition: .3s;
}
.companyText a:hover::after {
	width: 100%;
}

/*==================================================
　 コンテンツ レイアウト
====================================================*/
.contents {
	width: 1200px;
	margin: 0 auto;
}
section {
	margin-top: 2em;
	text-align:left;
}
.subcontents {
	width: 99%;
	margin: 1em auto 2em auto;
}

/*==================================================
　 TOP レイアウト
====================================================*/
.titleTx {
	color: #000;
	margin: 0 0 5px 0;
	font-size: 28px;
}
.iconLink:hover {
	opacity: 0.5;
	transition: all .33s;
}

/*========= テロップ =========*/
.telopcontents {
	margin: 5px 0;
	height: 24px;
}

/*========= スライドショー =========*/
.contentsTop {
}
.topSlider {
	/*横幅100%*/
   width: 100%;
   margin: 0 auto;
   padding: 0;
   margin-bottom: 10px;
}
.topSlider img {
	width: 1000px; /*スライダー内の画像を横幅100%に*/
	margin: auto;
}
/* ズームの動き */
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2); /* 拡大率 */
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}

/*========= 動画コンテスト リンク =========*/
.mLnkcontents {
	text-align: center;
}

/*==================================================
　 NEWS
====================================================*/
.newsLst {
	width: 85%;
	margin: auto;
	color: #404040;
}
.newsLst dt {
    float: left;
    width: 17%;
}
.newsLst dd {
	margin-bottom: 20px;
}
.newsLst a {
	color: #404040;
	text-decoration: none;
	border-bottom: 1px solid #404;
}
.newsLst a:hover {
    opacity: 0.5;
    transition: all .33s;
}

/* カテゴリ */
.cateSelect {
	width: 900px;
	margin: 1em auto 2em auto;
	border-bottom: 1px solid #BFBFBF;
}
.cateSelect ul {
	display: flex;
	justify-content: center;
	padding-left: 0;
	list-style-type: none;
	margin-bottom: 0;
	margin-top: 0;
}
.cateSelect li {
	padding: 0 10px;
}

/* リンク */
.cateSelect li a {
	text-decoration: none;
    color: #000;
}
.cateSelect li a:hover {
    color: #d1d1d1;
    transition: all .3s;
}

/*==================================================
　 NEWS スライドショー
====================================================*/
.slider {
	/*横幅100%*/
   width: 100%;
   margin: 0 auto;
}
.slider img {
	width:auto;
	/*スライダー内の画像を横幅100%に*/
	height: 165px;
	margin: auto;
	margin-bottom: 10px;
}
/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slider .slick-slide {
	margin: 0 10px;
	font-weight: bold;
	text-align: center;
}
.slick-slide a {
	color: #7f7f7f;
	text-decoration: none;
}
.slick-slide a:hover {
	opacity: 0.5;
	transition: all .33s;
}
.slick-Prev {
	/*戻る矢印の位置と形状*/
	left: 0.5%;
	transform: rotate(-135deg);
	position: absolute;/*絶対配置にする*/
	top: 42%;
	cursor: pointer;/*マウスカーソルを指マークに*/
	outline: none;/*クリックをしたら出てくる枠線を消す*/
	border-top: 3px solid #666;/*矢印の色*/
	border-right: 3px solid #666;/*矢印の色*/
	height: 20px;
	width: 20px;
	transition: all .33s;
}
.slick-Next {
	/*次へ矢印の位置と形状*/
	right: 0.5%;
	transform: rotate(45deg);
	position: absolute;/*絶対配置にする*/
	top: 42%;
	cursor: pointer;/*マウスカーソルを指マークに*/
	outline: none;/*クリックをしたら出てくる枠線を消す*/
	border-top: 3px solid #666;/*矢印の色*/
	border-right: 3px solid #666;/*矢印の色*/
	height: 20px;
	width: 20px;
	transition: all .33s;
}
.slick-arrow:hover {
	border-color: #d1d1d1;
}


/*==================================================
　 Live
====================================================*/
.contentsMap {
	width: 90vw;
	margin: 0 auto;
}
.contentsMap iframe {
	width: 100%;
	height: calc(100vh - 130px);
}

/*==================================================
　 Preparation
====================================================*/
.prepcontents {
	width: 1000px;
	margin: auto;
}
.prepList {
	display: flex;
	gap: 1em;
}

.prepTable {
	border-collapse: collapse;
	width: 33%;
	height: max-content;
	border: 1px solid #000;
}
.prepTable th {
	text-align: left;
	padding: 3px;
	background: #CEE3F6;
	font-weight: normal;
}
.prepTable td {
	padding: 2px;
}

/*==================================================
　 Supporter
====================================================*/
.stcontents {
	display: flex;
	justify-content: center;
}
.stList {
	margin-top: 2em;
	padding: 0 70px;
	list-style-type: none;
}
.stList li {
	padding-bottom: 3px;
}
.stList a {
	color: #000;
	text-decoration: none;
}
.stLines {
	padding-bottom: 1em !important;
}
/*==================================================
　 About us
====================================================*/
.abtcontents {
	width: 800px;
	margin: auto;
}
.mainAbt {
	margin-top: 2em;
}
.textAbt {
	margin-bottom: 2em;
}
.textAbt a {
	color: #000;
}

/*========= スライドショー =========*/
.abtSlider {
	margin-top: 3em;
}
.abtSlider {
	/*横幅100%*/
   width: 100%;
   margin: 0 auto;
   padding: 0;
   margin-bottom: 10px;
}
.abtSlider img {
	width: 750px; /*スライダー内の画像を横幅*/
	margin: auto;
}

/*==================================================
　 お問い合わせ
====================================================*/
.titleCont {
	text-align: center;
}
.textCont {
	margin:2px 0 2px 1em;
}
.checktext {
    margin: 2px 0;
    text-align: left;
}
.checkCont {
	text-align: left;
	padding-left: 1em;
	margin: 0 0 10px 0;
}
.mainCont {
	width: 40%;
	margin:auto;
}
.btmCont {
	width: 95%;
	margin: 2em auto;
}
.btmCont div {
	text-align: center;
}
.mainCont input[type="text"], .mainCont input[type="email"] {
	width: 100%;
	font-size: 16px;
	padding: 6px;
	border: 2px solid #808080;
	border-radius: 2px;
}
.mainCont select {
	width: 35%;
	font-size: 16px;
	padding: 6px;
	border: 2px solid #808080;
	border-radius: 2px;
}
.mainCont textarea {
	width: 100%;
	font-size: 16px;
	padding: 6px;
	border: 2px solid #808080;
	border-radius: 2px;
	height: 100px;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Verdana,"ＭＳ Ｐゴシック","MS PGothic","VL Pゴシック","Takao Pゴシック","IPA Pゴシック",sans-serif;
}
.mainCont input[type="checkbox"] {
	margin-right: 1em;
	cursor: pointer;
}
.btmCont input[type="submit"] {
	width: 40%;
	cursor: pointer;
	text-align: center;
	padding: 1em;
	margin: 2em 0em;
	background-color: #FFFFFF;
	border: 1px solid #898989;
	border-radius: 3px;
	color: #252525;
	font-size: 18px;
	font-weight: bold;
	transition: 0.5s;
}
.btmCont input[type='submit']:hover {
    opacity: 0.5;
}
.btmCont input[type="button"] {
	width: 40%;
	cursor: pointer;
	text-align: center;
	padding: 1em;
	margin: 2em 0em;
	background-color: #FFFFFF;
	border: 1px solid #898989;
	border-radius: 3px;
	color: #252525;
	font-size: 18px;
	font-weight: bold;
	transition: 0.5s;
}
.btmCont input[type='button']:hover {
    opacity: 0.5;
}


/*==================================================
　 プライバシーポリシー
====================================================*/
.plycontents {
	width: 900px;
	margin: auto;
}
.titlePly {
	margin: 1em 0 0 0;
	font-size: 20px;
}
.subtitlePly {
	font-weight: bold;
	margin: 0 10px;
}
.textPly {
	margin: 0 10px;
}
.textsubPly {
	margin: 0 20px 1em 20px;
}
.datePly {
	margin: 1em 0;
	text-align: right;
	font-size: 15px;
}
.textcomPly {
	width: 500px;
	margin: 2em auto 0 auto;
	padding: 1em;
	border: 1px solid #a9a9a9;
	text-align: center;
	font-size: 15px;
}
