/* --------------------------------------------------
Common
-------------------------------------------------- */

/*	clearfix */
.cf:before,
.cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
/* clearfix for IE6,7 */
.cf {
	*zoom:1;
}

/*	reset */
h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ol,ul,li {
	margin: 0;
	padding: 0;
}
h4{
  font-size: 24px;
  font-family: serif;
}

ol, ul {
	list-style: none;
}
img {
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}
p {
	line-height: 2.4rem;
}


/*	base */
html {
	font-size: 62.5%;
	line-height: 1.6;
	width: 100%;
}
body {
	font-size: 1.4em;
	font-family: "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	letter-spacing: 1.1;
	color: #111;
	background: #fff;
	width: 100%;
}
img {
	width:100%;
	max-width: 100%;
	height: auto;
}

/*	button effect */
.btn-cmn {
	display: inline-block;
	text-align: center;
	outline: none;
}
.btn-cmn::before,
.btn-cmn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.btn-cmn,
.btn-cmn::before,
.btn-cmn::after {
	box-sizing: border-box;
	-webkit-transition: all .25s;
	transition: all .25s;
}
.btn-cmn img {
	box-shadow: #000 0 0 0;
}

/* layout */
.center { text-align: center; }

.inner960 {
	width: 960px;
	margin: 0 auto;
}
.inner640 {
	width: 640px;
	margin: 0 auto;
}

/* font */
.bold { font-weight: bold; }
.normal { font-weight: normal; }

/* button */
.btn-block {
	display: block;
	text-align: center;
}
.btn-block a,
.btn-block a:hover,
.btn-block a:visited {
	font-weight: bold;
	color: #fff;
}



.btn-medium {
	position: relative;
	padding: 15px 30px 15px 50px;
	display: inline-block;
	border: none;
	box-shadow: 0 0 3px 0 #aaa;
	font-size: 1.4rem;
	color: #fff;
}
.btn-medium:before {
	position: absolute;
	content: "";
	width: 9px;
	height: 15px;
	top: 50%;
	left: 20px;
	margin: -8px 0 0 0;
	background-image: url(../../img/common/icon-arrow.png);
	background-repeat: no-repeat;
	background-size: 9px 15px;
}
a.btn-medium,
a:hover.btn-medium,
a:visited.btn-medium {
	font-weight: bold;
	color: #fff;
}
input.btn-medium {
	position: relative;
	padding: 15px 30px 15px 50px;
	border: none;
	background-image: url(../../img/common/icon-arrow.png);
	background-repeat: no-repeat;
	background-size: 9px 15px;
	background-position: 20px 17px;
	box-shadow: 0 0 3px 0 #aaa;
	font-size: 1.4rem;
	font-weight: bold;
	color: #fff;
}
.btn-small {
	position: relative;
	padding: 12px 20px 12px 40px;
	display: inline-block;
	box-shadow: 0 0 3px 0 #aaa;
	font-size: 1.4rem;
	color: #fff;
}
.btn-small:before {
	position: absolute;
	content: "";
	width: 8px;
	height: 13px;
	top: 50%;
	left: 20px;
	margin: -7px 0 0 0;
	background-image: url(../../img/common/icon-arrow.png);
	background-repeat: no-repeat;
	background-size: 8px 13px;
}
a.btn-small,
a:hover.btn-small,
a:visited.btn-small {
	font-weight: bold;
	color: #fff;
}
.btn-ssmall {
	position: relative;
	padding: 10px 10px 10px 25px;
	display: inline-block;
	box-shadow: 0 0 3px 0 #aaa;
	font-size: 1.2rem;
	color: #fff;
}
.btn-ssmall:before {
	position: absolute;
	content: "";
	width: 7px;
	height: 11px;
	top: 50%;
	left: 12px;
	margin: -7px 0 0 0;
	background-image: url(../../img/common/icon-arrow.png);
	background-repeat: no-repeat;
	background-size: 7px 11px;
}
a.btn-ssmall,
a:hover.btn-ssmall,
a:visited.btn-ssmall {
	font-weight: bold;
	color: #fff;
}
.clr-01 {
	background-color: #ED597E;
}
.clr-02 {
	background-color: #007E1F;
}
.clr-03 {
	background-color: #283943
}
.clr-04 {
	background-color: #FFFFFF
}
a:hover.clr-01 {
	background-color: #E80044;
}
a:hover.clr-02,
input.clr-02:hover {
	background-color: #005400;
}
a:hover.clr-03 {
	background-color: #40626C;
}
a:hover.clr-04 {
	background-color: #DDDDDD;
}

div.random>a:nth-child(n+2) {
  display: none;
}


@media only screen and (min-width: 751px) {
	.btn-medium {
		padding: 20px 40px 20px 60px;
		font-size: 1.6rem;
	}
	.btn-medium:before {
		width: 9px;
		height: 15px;
		top: 50%;
		left: 20px;
		margin: -8px 0 0 0;
		background-size: 9px 15px;
	}
	input.btn-medium {
		padding: 20px 40px 20px 60px;
		background-position: 15% 50%;
		font-size: 1.6rem;
	}
	.btn-small {
		padding: 15px 20px 15px 40px;
		font-size: 1.4rem;
	}
	.btn-small:before {
		width: 8px;
		height: 13px;
		top: 50%;
		left: 20px;
		margin: -7px 0 0 0;
		background-size: 8px 13px;
	}
	.btn-ssmall {
		padding: 10px 15px 10px 30px;
		font-size: 1.4rem;
	}
	.btn-ssmall:before {
		width: 8px;
		height: 13px;
		top: 50%;
		left: 15px;
		margin: -7px 0 0 0;
		background-size: 8px 13px;
	}
}

/* link */
a,
a:visited {
	color: #111;
	text-decoration: none;
}
a:hover {
	color: #111;
	text-decoration: none;
}
a:hover img {
	-webkit-filter: brightness(90%);
	filter: brightness(90%);
}


/* margin */
.mt30 { margin-top: 30px !important; }

.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb100 { margin-bottom: 100px !important; }

.mr0 { margin-right: 0px !important; }

.ml0 { margin-left: 0px !important; }


/* float */
.fleft { float: left; }
.fright { float: right; }



/* --------------------------------------------------
Header
-------------------------------------------------- */

#header-area {
	position: relative;
	width: 100%;
	height: 65px;
	background-color: #fff;
	background-image: url(../../img/common/bg-header.gif);
	background-position: 0px 40px;
	background-size: 30px 25px;
	background-repeat: repeat-x;
}
.ttl-area {
	position: relative;
	margin: 5px 0 0 5px;
}
.ttl-area .pic-kebee {
	position: absolute;
	top: 5px;
	left: 0px;
	width: 43px;
	height: 45px;
}
.ttl-area h1 {
	position: absolute;
	top: 5px;
	left: 50px;
	width: 148px;
	height: 25px;
}
.ttl-area h2 {
	position: absolute;
	top: 43px;
	left: 50px;
	font-size: 1.2rem;
	font-weight: bold;
	color: #fff;
}
.header-nav-area {
 	display: none;
}
#nav-toggle {
	display: block;
	position: absolute;
	right: 10px;
	top: 0;
	width: 47px;
	height: 47px;
	background-image: url(../../img/common/btn-nav-header.png);
	background-position: left top;
	background-size: 47px 94px;
	background-repeat: no-repeat;
	cursor: pointer;
	z-index: 101;
}
.open #nav-toggle {
	background-position: left bottom;
}
#sp-nav {
	position: absolute;
	top: -630px;
	background: #41626B;
	width: 100%;
	text-align: center;
	z-index: 500;
	-webkit-transition: 0.25s ease-in-out;
	-moz-transition: 0.25s ease-in-out;
	transition: 0.25s ease-in-out;
}
#sp-nav .sub-nav {
	margin: 0 auto;
	padding: 20px 0 30px;
	width: 90%;
	display: block;
}
#sp-nav .sub-nav ul {
	font-size: 0;
}
#sp-nav .sub-nav li {
	margin: 6px;
	width: 28%;
	height: auto;
	display: inline-block;
}
.open #sp-nav {
	-moz-transform: translateY(695px);
	-webkit-transform: translateY(695px);
	transform: translateY(695px);
}

@media only screen and (min-width: 751px) {
	#header-area {
		width: 100%;
		height: 266px;
		background-image: url(../../img/common/bg-header.gif), url(../../img/common/bg-header-middle.gif);
		background-position: 0px 75px,  0px 195px;
		background-size: 30px 50px, 30px 1px;
		background-repeat: repeat-x, repeat-x;
	}
	.ttl-area {
		margin: 15px auto 0;
		width: 550px;
		height: 125px;
	}
	.ttl-area .pic-kebee {
		top: 0;
		left: 0;
		width: 108px;
		height: 112px;
	}
	.ttl-area h1 {
		top: 3px;
		left: 118px;
		width: 364px;
		height: 60px;
	}
	.ttl-area h2 {
		top: 85px;
		left: 118px;
		font-size: 2rem;
	}
	.header-nav-area {
	 	position: relative;
	 	margin: 0 auto;
	 	width: 956px;
	 	height: 141px;
	 	display: block;
	}
	.header-nav-area .n1 {
		position: absolute;
		top: 0;
		/* left: 0; */
		/* left: 95px; */
		left: 162px;
		/* width: 191px; */
		width: 211px;
		height: 70px;
		display: block;
	}
	.header-nav-area .n2 {
		position: absolute;
		top: 0;
		/* left: 191px; */
		/* left: 286px; */
		left: 373px;
		/* width: 191px; */
		width: 211px;
		height: 70px;
		display: block;
	}
	.header-nav-area .n3 {
		position: absolute;
		top: 0;
		/* left: 382px; */
		/* left: 477px; */
		left: 584px;
		/* width: 191px; */
		width: 212px;
		height: 70px;
		display: block;
	}
	.header-nav-area .n4 {
		position: absolute;
		top: 0;
		/* left: 573px; */
		left: 668px;
		width: 191px;
		height: 70px;
		display: block;
	}
	.header-nav-area .n4 img {
		border-right: 1px solid #cccccc;
	}
	.header-nav-area .n5 {
		position: absolute;
		top: 0;
		left: 764px;
		width: 192px;
		height: 70px;
		display: none;
	}
	.header-nav-area .n6 {
		position: absolute;
		top: 71px;
		/* left: 162px; */
		left: 57px;
		width: 211px;
		height: 70px;
		display: block;
	}
	.header-nav-area .n7 {
		position: absolute;
		top: 71px;
		/* left: 373px; */
		left: 268px;
		width: 211px;
		height: 70px;
		display: block;
	}
	.header-nav-area .n8 {
		position: absolute;
		top: 71px;
		left: 479px;
		width: 211px;
		height: 70px;
		display: none;
	}
	.header-nav-area .n9 {
		position: absolute;
		top: 71px;
		/* left: 584px;*/
		left: 470px;
		width: 212px;
		height: 70px;
		display: block;
	}
	.header-nav-area .n10 {
		position: absolute;
		top: 71px;
		/* left: 690px;*/
		left: 680px;
		width: 212px;
		height: 70px;
		display: block;
	}   
  
	#nav-toggle {
		display: none;
	}
	#sp-nav {
		display: none;
	}
}


/* --------------------------------------------------
feature
-------------------------------------------------- */
.videoWrap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
    gap: 10px;
    margin-top: 1em;
}
@media (min-width:960px) {
    .videoWrap {
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
        gap:15px;
    }
}
@media (min-width:1280px) {
    .videoWrap {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }
}

.videoWrap h3 {
    font-size: 1em;
    margin-top: 5px;
}

.videoWrap p {
    margin: 3px 0 5px;
}

@media (min-width:1280px) {
    .videoWrap article {
        padding: 10px;
    }
    .videoWrap h3 {
        font-size: 24px;
    }
}

.videoSingle {
    max-width: 660px;
    margin-inline: auto;
}

.video {
    position: relative;
    width: 100%;
}
.video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}




/* --------------------------------------------------
Contents area
-------------------------------------------------- */

#contents-area {
	padding: 0 0 30px;
	width: 100%;
	background-image: url(../../img/common/bg-contents.jpg);
	background-position: center bottom;
	background-size: 720px 349px;
	background-repeat: no-repeat;
}
#contents-area .inner-small,
#contents-area .inner-medium,
#contents-area .inner-large {
	margin: 0 auto;
	width: 90%;
}
#contents-area .ttl-main {
	margin-bottom: 40px;
	padding-top: 15px;
	padding-bottom: 10px;
	background: #008006;
	text-align: center;
	color: #fff;
}
#contents-area .ttl-main h2 {
	height: 36px;
	display: inline-block;
	font-size: 2.4rem;
	line-height: 3.2rem;
}
#contents-area .ttl-main h2.pic {
	padding-left: 45px;
	background-position: left top;
	background-size: 36px auto;
	background-repeat: no-repeat;
}
#contents-area .ttl-main h2.pic1 {
	background-image: url(../../img/common/icon-ttl-01.png);
}
#contents-area .ttl-main h2.pic2 {
	background-image: url(../../img/common/icon-ttl-02.png);
}
#contents-area .ttl-main h2.pic3 {
	background-image: url(../../img/common/icon-ttl-03.png);
}
#contents-area .ttl-main h2.pic4 {
	background-image: url(../../img/common/icon-ttl-04.png);
}
#contents-area .ttl-main h2.pic5 {
	background-image: url(../../img/common/icon-ttl-05.png);
}
#contents-area .ttl-main h2.pic6 {
	background-image: url(../../img/common/icon-ttl-06.png);
}
#contents-area .ttl-main h2.pic7 {
	background-image: url(../../img/common/icon-ttl-07.png);
}
#contents-area .ttl-main h2.pic8 {
	background-image: url(../../img/common/icon-ttl-08.png);
}
#contents-area .ttl-main h2.pic9 {
	background-image: url(../../img/common/icon-ttl-09.png);
}
#contents-area .ttl-main h2.pic10 {
	background-image: url(../../img/common/icon-ttl-10.png);
}
#contents-area .ttl-main h2.pic11 {
	background-image: url(../../img/common/icon-ttl-11.png);
}
#contents-area .f-ttl-serif {
	margin-bottom: 20px;
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-size: 2.2rem;
	font-weight: normal;
}
#contents-area .ttl-line {
	overflow: hidden;
	text-align: center;
}
#contents-area .ttl-line span {
	position: relative;
	display: inline-block;
	margin: 0 2.5em;
	padding: 0 0.5em;
	text-align: center;
}
#contents-area .ttl-line span::before,
#contents-area .ttl-line span::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 400%;
	height: 1px;
	background-color: #111;
}
#contents-area .ttl-line span::before {
	right: 100%;
}
#contents-area .ttl-line span::after {
	left: 100%;
}
#contents-area .list-news {
	margin-bottom: 20px;
}
#contents-area .list-news li {
	padding: 20px 0;
	border-bottom: 1px #111 solid;
	font-size: 1.4rem;
	line-height: 1.6;
}
#contents-area .list-news li .date {
	font-size: 1.4rem;
}
#contents-area .list-news li .ttl {
	font-size: 1.6rem;
	font-weight: bold;
	color: #52BDD4;
}
#contents-area .list-news li a .ttl,
#contents-area .list-news li a:visited .ttl {
	color: #52BDD4;
	text-decoration: underline;
}
#contents-area .list-news li a:hover .ttl {
	color: #52BDD4;
	text-decoration: none;
}

@media only screen and (min-width: 751px) {
	#contents-area {
		padding: 0 0 50px;
		background-size: 1440px 698px;
	}
	#contents-area .inner-small {
		margin: 0 auto;
    margin-top: 30px;  
		width: 640px;
	}
	#contents-area .inner-medium {
		margin: 0 auto;
    margin-top: 30px;
		width: 850px;
	}
	#contents-area .inner-large {
		margin: 0 auto;
    margin-top: 30px;    
		width: 960px;
	}
	#contents-area .ttl-main {
		margin-bottom: 50px;
		padding-top: 30px;
		padding-bottom: 27px;
	}
	#contents-area .ttl-main h2 {
		height: 64px;
		font-size: 4rem;
		line-height: 6rem;
	}
	#contents-area .ttl-main h2.pic {
		padding-left: 85px;
		background-size: 72px 64px;
	}
	#contents-area .f-ttl-serif {
		margin-bottom: 30px;
		margin-top: 30px;    
		font-size: 3rem;
	}
	#contents-area .list-news li {
		padding: 40px 0;
		font-size: 1.6rem;
	}
	#contents-area .list-news li .date {
		font-size: 1.4rem;
	}
	#contents-area .list-news li .ttl {
		font-size: 1.8rem;
	}
}

/* Photo Gallery */
.photo {
	margin-bottom: 30px;
}
.photo .photo-list01 li {
	box-sizing: border-box;
	width: 30%;
	display: inline-block;
	margin: 1%;
}
.photo .photo-list02 li {
	box-sizing: border-box;
	width: 30%;
	display: inline-block;
	margin: 1%;
}

@media only screen and (min-width: 751px) {
	.photo {
		margin-bottom: 60px;
	}
	.photo .photo-list01 li {
		width: 285px;
		margin: 15px;
	}
	.photo .photo-list02 li {
		width: 145px;
		margin: 5px;
	}
}


/* --------------------------------------------------
live
-------------------------------------------------- */
			.jsp {
				position: relative;
        width:100%;
        padding-top: 56.25%;
        margin-top: 20px;
			}
      
      .jsp iframe{
        position:absolute;
        top:0;
        left:0;
        width:100%!important;
        height:100%!important;
      }





/* --------------------------------------------------
2018追加　グラデーションボーダー（イメージガールギャラリーで使用）
-------------------------------------------------- */

.s2 {
	color: #444;
	font-size: 24px;
	display: flex;
	align-items: center;
}
.s2:before, .s2:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	display: block;
}
.s2:before {
	margin-right: .4em;
	background: linear-gradient(-90deg, #888, transparent);
}
.s2:after {
	margin-left: .4em;
	background: linear-gradient(90deg, #888, transparent);
}


/* --------------------------------------------------
Twitter area
-------------------------------------------------- */

#twitter-area {
	padding: 10px 0;
	width: 100%;
	background-color: #fff;
	border-top: 1px #ddd solid;
	border-bottom: 1px #ddd solid;
	text-align: center;
}
#twitter-area a {
	width: 90%;
	height: auto;
	display: inline-block;
}

@media only screen and (min-width: 751px) {
	#twitter-area a {
		width: 388px;
		height: 134px;
	}
}



/* --------------------------------------------------
link area
-------------------------------------------------- */

#link-area {
	padding: 60px 0 150px;
	width: 100%;
	background-color: #329CEF;
	background-image: url(../../img/common/bg-footer.jpg);
	background-position: center bottom;
	background-size: 100% auto;
	background-repeat: no-repeat;
	text-align: center;
}
#link-area .bnr {
	margin: 0 auto; 
}

#link-area .bnr ul {
	font-size: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(110px, 1fr));
  gap: 6px;

}
#link-area .bnr li {
	margin: 10px 0;
	width: 100%;
  max-width: 500px;  
	height: auto;
	display: inline-block;
}
#link-area .sns {
	margin: 0 auto;
	width: 270px;
}
#link-area .sns ul {
	font-size: 0;
}
#link-area .sns li {
	margin: 15px;
	width: 60px;
	height: 60px;
	display: inline-block;
}


@media only screen and (min-width: 751px) {
	#link-area {
		padding: 190px 0 200px;
		background-size: 100% auto;
	}
	#link-area .bnr {
  max-width: 940px;    
	}
	#link-area .bnr li {
		display: inline-block;
    margin: auto;
    max-width: 500px;
	}
	#link-area .sns {
		width: 480px;
	}
	#link-area .sns li {
		margin: 38px;
		width: 84px;
		height: 84px;
	}
}



/* --------------------------------------------------
Footer area
-------------------------------------------------- */

#footer-area {
	text-align: center;
}
#footer-area p {
	margin: 20px auto 30px;
	width: 210px;
	height: 90px;
}
#footer-area .copyright-area {
	padding: 35px 0;
	border-top: 1px #ddd solid;
}
#footer-area .copyright-area small {
	font-size: .9rem;
}

@media only screen and (min-width: 751px) {
	#footer-area .copyright-area {
		padding: 45px;
	}
	#footer-area .copyright-area small {
		font-size: 1.2rem;
	}
}

/* --------------------------------------------------
eigyou area
-------------------------------------------------- */



#eigyou {
	padding: 35px 0 20px;
	width: 100%;
	background-color: #f2f2f2;
}

#eigyou ul { 
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	width: 65%;
	margin: 0 auto;
}

#eigyou li {
	margin: 0 auto 15px;
}

@media only screen and (min-width: 751px) {
	#eigyou ul {
		flex-direction: row;
		width: 940px;
		padding-left: 25px;
	}
	#eigyou li {
		width: 280px;
		margin: 0 25px 15px 0;
	}
}



/*表示・非表示管理
---------------------------------------------------------- */
.sp-none {
	display: block;
}
.pc-none {
	display: none;
}



@media screen and (max-width: 750px) {
	
	.sp-none {
		display: none;
	}
	.pc-none {
		display: block;
	}
}
.scrollable-table table{
  border-collapse: collapse;
  margin: 1em 0;
  max-width: 100%;
}
 
.scrollable-table th{
  background-color: #eee;
}
 
.scrollable-table th,
.scrollable-table td{
  border: solid 1px #ccc;
  padding: 3px 5px;
  white-space: nowrap;
}
 
.scrollable-table {
  overflow-x: auto;
  margin-bottom: 1em;
}





