/* -------------------------------- 

Primary style

-------------------------------- */
*{margin: 0px; 
    padding: 0px; 
}	
*, *::after, *::before {
  box-sizing: border-box;
}

html {
	overflow: auto;
  font-size: 62.5%;
}

body { font-family: "Helvetica","ヒラギノ角ゴ Pro W3", "游ゴシック体", "Yu Gothic", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", sans-serif; font-size: 14px; font-size: 0.875rem; line-height: 1.5; 
  background-color: #fff; color:#000 ; font-weight:bold; overflow-x: hidden;}

a {
  color: #333333;
  text-decoration: none;
}
.alpha a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
/************************************************************
 * modal
 ************************************************************/

.modal { position:fixed; display:none; z-index:9999; top:40%; left:50%;  height:150px; margin:-62px 0 0 -127px; padding:20px; color:#FFF; text-align:center; border:0px solid #FFF; border-radius:10px; }
.modal img { vertical-align:bottom; }
.modal p { margin-bottom:10px; }
.modal ul { text-align:center; }
.modal li { font-size:18px;display:inline; }
.modal a { font-size:18px; cursor:pointer; color:#fff;}

.remove_cookie { display:block; position:fixed; width:200px; height:40px; top:40%; left:50%; margin:-20px 0 0 -100px; color:#999; font-weight:bold; text-align:center; text-decoration:none; line-height:40px; background:#FFF; border:1px solid #CCC; border-radius:20px; box-shadow:0 5px 10px rgba(0,0,0,0.4); cursor:pointer; }
.remove_cookie:hover { color:#333; }

#header {
	color:#FFFF00;
	font-size:100%;
	margin: 0 auto 0 auto;
	background: #000;
}
#header #header_inner {
  width: 1080px;
  padding: 0; 
  margin: 0 auto 0 auto;
}
#header img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#contents section {
	max-width:1080px;
	margin:0 auto;
	text-align:center;
	background:#f0f0f0;
}
#contents_vr_big {
	padding:0em;
	color:#fff;
	font-size:18px;
	text-align:center;
	background:#000;
}
#contents_vr_big img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#contents_vr01 {
	padding:0em;
	color:#fff;
	font-size:18px;
	text-align:center;
	background:#000;
}
#contents_vr02 {
	padding:20px;
	color:#fff;
	font-size:18px;
	text-align:center;
	background:#000;
}
#contents_vr03 {
	padding:30px;
	color:#fff;
	font-size:18px;
	text-align:center;
	background:#000;
}
#contents_camp_white {
	padding:0em;
	color:#5C5C5C;
	font-size:18px;
	text-align:center;
	background:#fff;
}
#contents_camp {
	padding:0em;
	color:#000000;
	font-size:18px;
	text-align:center;
	background:#000;
	margin-top:20px;
}
#contents_step {
	padding:0em;
	color:#000000;
	font-size:18px;
	text-align:center;
	background:#fff;
}
#contents_allow {
	padding:0em;
	color:#000000;
	font-size:18px;
	text-align:center;
	background:#fff;
}
#contents_serial {
	padding:0em;
	color:#000000;
	font-size:18px;
	text-align:center;
	background:#fff;
}
#contents_ex {
	padding:0em;
	color:#FFFFFF;
	font-size:18px;
	text-align:center;
	background:#000;
}
#contents_ex p {
	padding:0em;
	color:#FFFFFF;
	font-size:22px;
	text-align:left;
	margin:30px 10px;
}
#contents_ex #inner {
  width: 1080px;
  height: 120px; 
  padding: 0; 
  margin: 0 auto 0 auto;
}
#contents_voice {
	padding:0em;
	color:#FFFFFF;
	font-size:18px;
	text-align:center;
	background:#000;
}
#footer {
	padding:30px;
	color:#000000;
	font-size:12px;
	text-align:center;
	background:#ffffff;
}
#contents_qawrap {
	padding:0em;
	color:#000;
	font-size:18px;
	text-align:center;
	background:#fff;
}
#contents_qa_wp {
	padding:0em;
	color:#000;
	font-size:18px;
	text-align:left;
	background:#fff;
}
#contents_qa{
  width: 1080px;
  padding: 20; 
  margin: 0 auto 0 auto;
background:#ffffff;
}
.accbox {
    margin:  0em 0;
    padding: 0;
    max-width: 1080px;/*最大幅*/
}

/*ラベル*/
.accbox label {
    display: block;
    margin: 1.5px 0;
    padding : 13px 12px;
    color: #000;
    font-weight: bold;
    background: #FFF;
    cursor :pointer;
    transition: all 0.5s;
}

/*アイコンを表示*/
.accbox label:before {
    content: '\f054';
    font-family: 'Font Awesome 5 Free';
    padding-right: 8px;
}

/*ラベルホバー時*/
.accbox label:hover {
    background :#f40000;
}

/*チェックは隠す*/
.accbox input {
    display: none;
}

/*中身を非表示にしておく*/
.accbox .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
.cssacc:checked + label + .accshow {
    height: auto;
    padding: 5px;
    background: #fff;
    opacity: 1;
}

.accbox .accshow p {
    margin: 15px 10px}

/*アイコンを入れ替える*/
.cssacc:checked + label:before {
    content: '\f078';
}
#contents_mail {
	padding:0em;
	color:#000;
	font-size:18px;
	text-align:center;
	background:#fff;
	margin-top:30px;
}


.copyright {
    text-align: center;
    padding: 1rem 0;
    background-color: #000;
	color: #fff;
}
.copyright a {
    color: #fff;
	back-ground:none;
	display: inline-block;
}
#separete {
	padding:10px;
	color:#FFFFFF;
	font-size:12px;
	text-align:center;
	background:#ff85a7;
}
img {
	max-width:100%;
	overflow: hidden;
	width /***/:auto; /* IE8のみ */
	height:auto;
	vertical-align:bottom;
}


.youtube {
  position:relative;
  width: 100%;
  max-width: 750px;
  display : block;
	margin : 0 auto;
}
 
.youtube::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
}
 
.youtube iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: -50px;
  background:#FF0000;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
*, *:before, *:after {
	box-sizing: border-box;
}
.col_container{
	max-width:1080px;
	margin:0 auto;
	text-align:center;
	background:none;}
.col_container_revo{
	max-width:1080px;
	margin:0 auto;
	text-align:center;
	background-color:#d6d6d6;
}

.col_container_01{
	max-width:1080px;
	margin:0 auto;
	text-align:center;
	background-image: url("../img/dotback_big.jpg");
}
.col_container_02{
	max-width:1080px;
	margin:0 auto;
	text-align:center;
	background-image:none;
}
.col_container_03{
	max-width:1080px;
	margin:0 auto;
	text-align:center;
	background-image:none;
}
.col_container_04{
	max-width:1080px;
	margin:0 auto;
	text-align:center;
	background-image:none;
}
.col_1{
	width: 100%;
	display: flex 0;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_1 > div{
	width: 80%;
	margin-top:20px;
	margin-bottom:20px;
	padding: 10px;
}
.col_2{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_2 > div{
	width: 50%;
	display: flex;
	align-items: center;
}
.col_3{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_3 > div{
	width: 33.33333%;
	margin-top:20px;
	padding: 0px;
	align-items: center;
}
.col_3 img {
	margin:0px;
	padding: 10px;

}
.col_4{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_4 > div{
	width: 50%;
}
.col_5{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_5 > div{
	width: 20%;
	margin-top:20px;
	padding: 0px;
	align-items: center;
}
.col_5 img {
	margin-bottom:10px;
	margin-top:10px;
	padding: 0px;
}
.img_wrap{
  border: 0px solid #ddd;
  width: 300px;
  height: 380px;
  margin: 0 auto;
  overflow: hidden;
  cursor: pointer;
}
.img_wrap{
  width: 300px;
  height: 300px;
  margin: 0 auto;
  overflow: hidden;
}
.img_wrap img{
  width: 100%;
  cursor: pointer;
  transition-duration: 0.3s;
}
.img_wrap:hover img{
  opacity: 0.6;
  transition-duration: 0.3s;
}

.img_wrap_2 img{
  width: 70%;
  transition-duration: 0.5s;
}
.img_wrap_2:hover img{
  transform: scale(0.9);
  transition-duration: 0.5s;
}
csshover1 img {
    opacity: 1;
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}
csshover1:hover img {
    opacity: .5;
}
a.anchor{
	display: block;
	padding-top: 167px;
	margin-top: -167px;
}
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
.pc { display: none !important; }
.sp { display: block !important; }
}
/* レスポンシブで画像を切り替える（CSS） */
@media only screen and (max-width: 568px) {
#h_logo {
  padding: 0;
  text-align: left;
}
#footer p{font-size:10px;width:auto;}
	#footer section{margin:0 auto;}
.title {
    font-size: 23px;
}
.contents:before,
.contents.double:after {
height: 90%;
}
.inner {
padding: 20px 10px 20px;
}
#contents section {
	width:100%;
	margin:0 auto;
	text-align:center;
	background:#f0f0f0;
}


.col_container img{
	width: 320px;
  height: auto;
	margin:0 auto;
	text-align:center;
}
.col_container_01{
	width:100%;
	margin:0 auto;
	text-align:center;
	background-image: url("../img/kaguya_back.jpg");
	background-size:100% auto;
}
.col_container_02{
	mwidth:100%;
	margin:0 auto;
	text-align:center;
	background-image: url("../img/kyouka_back.jpg");
	background-size:100% auto;
}
.col_container_03{
	mwidth:100%;
	margin:0 auto;
	text-align:center;
	background-image: url("../img/ganso_back_sp.png");
	background-size:100% auto;
	}
.col_container_04{
	mwidth:100%;
	margin:0 auto;
	text-align:center;
	background-color: #fff;
	background-size:100% auto;
	}
.col_2 > div{
		width: 100%;
	}
.col_2 > div img{
		width: 70%;
	}
.col_3{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_3 > div{
	width: 33.33333%;
	margin-top:20px;
	padding: 0px;
	align-items: center;
}
.col_3 img {
	padding: 10px;

}
.col_4 > div{
		width: 100%;
	}
.col_4 > div img{
		width: 100%;
	}
.col_5 > div{
	width: 100%;
}
.col_5 > div img{
	margin-bottom:10px;
	width: 50%;
}
header img {
	max-width:100%;
	overflow: hidden;
	width /***/:auto; /* IE8のみ */
	height:auto;
	vertical-align:bottom;
}
.img_wrap_2 img{
  width: 90%;
  transition-duration: 0.5s;
}
#contents_modal {
	width:100%;
	padding:0px;
	color:#FFFFFF;
	font-size:12px;
	text-align:center;
	margin:0 auto;
}
.modal { position:fixed; display:none; z-index:9999; top:40%; left:50%;  height:150px; margin:-40px 0 0 -147px; padding:20px; color:#FFF; text-align:center; border:0px solid #FFF; border-radius:10px; }
.modal img { max-width: 100%;}
}
@media only screen and (max-width: 768px) {
#header {
	color:#FFFF00;
	font-size:100%;
	text-align:left;
background: #000;
}	
#header #header_inner {
  width: 100%;
  margin: 0 auto 0 auto;
}

#contents_qa{
  width: 100%;
  padding: 20; 
  margin: 0 auto 0 auto;
background:#ffffff;
}
.accbox {
    margin: 2em 0;
    padding: 0;
    width: 100%;/*最大幅*/
}
#h_logo {
  padding: 0;
  text-align: left;
}
#footer p{font-size:10px;width:auto;}
	#footer section{margin:0 auto;}
.title {
    font-size: 23px;
}
.contents:before,
.contents.double:after {
height: 90%;
}
.inner {
padding: 20px 10px 20px;
}
#contents_vr03 img{
	width:60%;
}
#contents_allow img {
	width:30%;
}
#contents_ex #inner {
  width:100%;
  padding: 20; 
  margin-bottom:30px;
}
#contents_ex p {
	padding:0em;
	color:#FFFFFF;
	font-size:20px;
	text-align:left;
}
#contents_mail img {
	width:50%;
}
#contents section {
	width:100%;
	margin:0 auto;
	text-align:center;
	background:#f0f0f0;
}


.col_container {
	width: 100%;
	margin:0 auto;
}
.col_container_01{
	width:100%;
	margin:0 auto;
	text-align:center;
	background-image: url("../img/kaguya_back.jpg");
	background-size:100% auto;
}
.col_container_02{
	mwidth:100%;
	margin:0 auto;
	text-align:center;
	background-image: url("../img/kyouka_back.jpg");
	background-size:100% auto;
}
.col_container_03{
	mwidth:100%;
	margin:0 auto;
	text-align:center;
	background-image: url("../img/ganso_back_sp.png");
	background-size:100% auto;
	}
.col_container_04{
	mwidth:100%;
	margin:0 auto;
	text-align:center;
	background-color: #fff;
	background-size:100% auto;
	}
.col_2 > div{
		width: 100%;
	}
.col_2 > div img{
		width: 70%;
	}
.col_3{
		width: 100%;
	}
.col_3 > div{
		width: 33.3333%;
	}
.col_3 > div img{
		width: 100%;
	    padding:10px;
	}
.col_4 > div{
		width: 100%;
	}
.col_4 > div img{
		width: 100%;
	}
.col_5 > div{
	width: 100%;
}
.col_5 > div img{
	margin-bottom:10px;
	width: 50%;
}

header img {
	max-width:90%;
	overflow: hidden;
	width /***/:auto; /* IE8のみ */
	height:auto;
	vertical-align:bottom;
}
.img_wrap_2 img{
  width: 90%;
  transition-duration: 0.5s;
}
#contents_modal {
	width:100%;
	padding:0px;
	color:#FFFFFF;
	font-size:12px;
	text-align:center;
	margin:0 auto;
}
.modal { position:fixed; display:none; z-index:9999; top:40%; left:50%;  height:150px; margin:-40px 0 0 -147px; padding:20px; color:#FFF; text-align:center; border:0px solid #FFF; border-radius:10px; }
.modal img { max-width: 100%;}
}