@charset "UTF-8";
/* CSS Document */

@font-face {
font-family: 'cg';
src: url(../fonts/GOTHIC_0.TTF);
}
body {
	font-family: -apple-system, BlinkMacSystemFont, "Noto Sans Japanese",'Helvetica Neue', 'Segoe UI', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
	font-weight: 400;
	font-size: 14px;
	color: #444;
	line-height: 1.8;
	letter-spacing: 0.04em;
}
#wrapper {
	overflow: hidden;
}
@media screen and (min-width: 768px) {
/*html,
body {
	min-width: 1200px;
}
*/
}

a {
	color: #fff;
	text-decoration: none;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
a img {
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
.inner {
	width: 100%;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
.lt {
	font-family: 'Lato', sans-serif;
}
.cg {
	font-family: 'cg';
}
.en {
	font-family: 'Averia Serif Libre', cursive;
}
.jp {
	font-family: "游明朝体", "Yu Mincho", "YuMincho", "Times New Roman", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}
.rl {
	font-family: "Raleway",sans-serif;
}
.js {
	font-family: 'Josefin Sans', sans-serif; 
}


/*header*/
header {
	position: fixed;
    z-index: 100;
	top: 0;
	width: 100%;
	padding-top: 15px;
	text-align: center;
}
header .inner h1 {
    max-width: 230px;
    margin: 0 auto;
}
.is-animation {
	background-color: rgb(44 44 44 / 90%);
	transition: 1s;
}
header .gnav {
	width: 100%;
	clear: both;
	margin: 0 auto 10px;
	overflow: hidden;
	text-align: center;
}
header .gnav li {
	display: inline-block;
	/*margin-top: 30px;*/
	padding: 0 20px;
	text-align: center;
	position: relative;
}
header .gnav li a {
	display: inline-block;
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #FFF;
	font-family: 'cg';
}
header .gnav li a:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #FFF;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	transform: scaleX(0);
}
header .gnav li a:hover:after {
	transform: scaleX(1);
}
.toggle {
	position: absolute;
	top: 30px;
	right: 15px;
	font-size: 15px;
	display: none;
	color: #FFF;
  cursor: pointer;
  z-index: 9999;
  line-height: 0;
  width: 60px;
  height: 60px;
}
.toggle:before {
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  content: "\f0c9";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, 50%, 0);
}
.toggle.open:before {
  content: "\f00d";
}
/* main */
.h3Box {
	text-align: center;
}
.h3Box h3 {
	display: block;
	font-size: 40px;
	font-weight: bold;
	color: #FFF;
	text-shadow: 1px 1px 0 #000, 1px 1px 0 #000;
}
.h3Box h3 span {
	display: block;
	color: #FFF;
	font-size: 14px;
	line-height: 18px;
	font-weight: bold;
}
/*共通*/
.listBox {
	width: 100%;
	max-width: 1200px;
	margin: 30px auto 0;
}
.listBox ul {
	padding: 30px 3vw;
	text-align: center;
}
.listBox ul li {
	cursor: pointer;
	display: inline-block;
	margin-bottom: 10px;
	vertical-align: top;
}
.listBox ul li a {
	overflow: hidden;
	display: block;
}
.listBox ul li a img {
	width: 100%;
}
.listBox ul li a img:hover {
	opacity: .7;
}
.listBox ul li a:hover {
	color: #888;
}
.listBox ul li a p {
	width: 100%;
	font-size: 13px;
	line-height: 18px;
	padding: 5px 1.5em 0 0;
	text-align: left;
	position: relative;
}
.listBox ul li a p i {
	position: absolute;
	top: 20px;
	right: 0;
	vertical-align: bottom;
}

/*list2*/
.listBox .list2 li {
	width: 46%;
	margin-right: 2%;
}
.listBox .list2 li:nth-child(2n) {
	margin-right: 0;
}
/*list3*/
.listBox .list3 li {
	width: 30%;
	margin-right: 1.5%;
	margin-left: 1.5%;
}
.listBox .list3 li:nth-child(3n) {
	margin-right: 0;
}
/*list4*/
.listBox .list4 li {
	width: 22%;
	margin-right: 2%;
}
.listBox .list4 li:nth-child(4n) {
	margin-right: 0;
}

/* footer */
footer {
	position: relative;
	text-align: center;
}
footer .fnavBox {
	padding-top: 35px;
	background-color: #2C2C2C;
}
footer .fnav {
	overflow: hidden;
	padding: 20px 0 30px;
}
footer .fnav li {
	text-align: center;
	position: relative;
	display: inline-block;
	margin-bottom: 5px;
}
footer .fnav li a {
	font-size: 12px;
	padding: 5px 25px;
}
footer .fnav li:after {
	content: "｜";
	top: 0;
	right: 0;
	position: absolute;
}
footer .fnav li:last-child:after {
	display: none;
}
footer .sns {
    padding: 20px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
footer .sns li {
    margin: 0 1em;
}
footer .sns li a {
    font-size: 30px;
    color: #192850;
}
footer .sns li a :hover {
    color: #000;
}
footer .copyright {
	text-align: center;
	padding-top: 10px;
}
footer .copyright p {
	font-size: 11px;
	letter-spacing: 0.3em;
}
footer .pagetop {
	position: absolute;
	bottom: 20px;
	right: 20px;
}
footer .pagetop a {
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	background-color: #000;
	color: #fff;
	font-size: 15px;
	cursor: pointer;
}
.mobile_only {
	display: none!important;
}

@media screen and (max-width: 768px) {
.pc_only {
	display: none!important;
}
.inner {
	width: 100%;
}
header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	background: rgba(0,0,0,.9);
}
header h1 {
	width: 65%;
	margin: 10px auto 20px;
}
.toggle {
	display: block;
	font-size: 22px;
}
/*.gnavArea {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 100%;
    width: 100vw;
    height: 100vh;
    background: rgba(255, 255, 255, 0.95);
    z-index: 9998;
    opacity: 0.6;
    transition: all 0.5s;
    overflow-y: scroll;
  }
.gnavArea.is_show {
    right: 0;
    opacity: 1;
  }
.gnavArea .gnav {
    display: block;
    width: 100%;
    padding: 0;
    background-color: none;
  }
.gnavArea .gnav li {
    width: 100%;
    margin: 0;
  }
.gnavArea .gnav li a {
    display: block;
    font-size: 15px;
    line-height: 7.1vh;
    text-align: center;
  }
.gnavArea .gnav li a:hover {
    color: #000;
  }*/
	
header .gnav {
	display: none;
	background-color: rgba(0,0,0,.9);
}
header .is_show .gnav {
	display: block;
	opacity: 1;
}
header .gnav li {
	width: 100%;
	margin-top: 4px;
	margin-bottom: 0;
	border-bottom: 1px solid #333;
}
header .gnav li a {
	color: #fff;
	display: block;
	padding: 4px 0;	
}
header .gnav li a:after {
	content: none;
}
.listBox ul li a p {
    font-size: 13px;
	line-height: 18px;
}
/*list2リセット*/
.listBox .list2 li {
	width: inherit;
	margin-right: inherit;
}
.listBox .list2 li:nth-child(2n) {
	margin-right: inherit;
}
/*list3リセット*/
.listBox .list3 li {
	width: inherit;
	margin-right: inherit;
}
.listBox .list3 li:nth-child(3n) {
	margin-right: inherit;
}
/*list4リセット*/
.listBox .list4 li {
	width: inherit;
	margin-right: inherit;
}
.listBox .list4 li:nth-child(4n) {
	margin-right: inherit;
}
/*list2_sp*/
.listBox .list2_sp li {
	width: 46%;
	margin-right: 2%;
}
.listBox .list2_sp li:nth-child(2n) {
	margin-right: 0;
}
/*list3_sp*/
.listBox .list3_sp li {
	width: 30%;
	margin-right: 2%;
}
.listBox .list3_sp li:nth-child(3n) {
	margin-right: 0;
}
/*list4_sp*/
.listBox .list4_sp li {
	width: 22%;
	margin-right: 2%;
}
.listBox .list4_sp li:nth-child(4n) {
	margin-right: 0;
}
footer {
	padding: 30px 0;
}
footer .fnav {
	padding: 0px 4vw 30px;
}
footer .fnav li {
	display: block;
	margin-bottom: 0;
	border-bottom: 1px dotted #666;
}
footer .fnav li a {
	display: block;
	padding: 10px 0;
}
footer .fnav li:after {
	display: none;
}
footer .sns {
		padding: 20px 0;
}
footer .sns li {
		margin: 0 1.5em;
}
footer .sns li a {
		font-size: 24px;
}
footer .copyright {
	padding-top: 30px;
}
footer .copyright p {
	font-size: 10px;
	line-height: 1.3;
}
footer .pagetop {
	position: absolute;
	top: 40px;
	right: 10px;
}
footer .pagetop a {
	width: 40px;
	height: 40px;
	line-height: 40px;
	font-size: 15px;
}
.mobile_only {
	display: block!important;
}

}

@media screen and (max-width: 450px) {
header .inner h1 {
    max-width: 190px;
}
}














