/* CSS Document */
   body{
      word-wrap : break-word;
      overflow-wrap : break-word;
    }

.box__language{
	position: relative;
}

.language{
	text-align: right;
	position: absolute;
	top:0;
	right: 0;
	z-index: 99999;
}

@media (max-width: 766px) {

header{
	z-index: 9999;
	position: fixed;
	top:0;
}

#header .header-inner h1 {
	margin: 25px 0 0 5px;
	padding: 0;
}

#header .header-inner h1 a{
	background-image:url("../images/gcake_logo.png");
	background-repeat:no-repeat;
	background-size: 230px 42px;
	width:230px;
	height:42px;
	text-indent:-9999px;
	float: left;
}


.header__bn{
	float: right;
	width: 45px;
	height: 45px;
	display: block;
}

.header__logo{
	text-align: center;
}
	
#header { position: fixed; width: 100%; z-index: 1000; }
#header .buttonNav {
	line-height: 45px;
cursor: pointer; display: none; height: 45px; -webkit-transition: all 0s; -o-transition: all 0s; transition: all 0s; width: 45px; margin-top:0px; }
#header .buttonNav.open { width:45px; height: 45px;  background: url("../images/nav_bn01.svg") no-repeat top; background-size: 45px 45px; background-position: center;}
#header .buttonNav.close { width:45px; height: 45px;  background: url("../images/nav_bn02.svg") no-repeat top; background-size:  45px 45px; opacity: 1; background-position: center; }
#header .buttonNav { display: block;  }
#header .nav_wrap2 { float: none; right: -100%; position: absolute; top: 75px; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; width: 100%; z-index: 100; }
#header .nav_wrap2 ul.gNavi_ul { list-style: none; margin: 0; padding: 0; width: 100%; }
#header .nav_wrap2 ul.gNavi_ul > li {  float: none; margin-bottom:1px; padding: 0; width: 100%; }
#header .nav_wrap2 ul.gNavi_ul > li > a { background: #000; color: #FFF; opacity:0.8; border-bottom: none; display: block; font-size: 14px; font-weight: 600; padding: 16px 0 16px 20px; }
#header .nav_wrap2 ul.gNavi_ul li a:hover { background-color: #000;  opacity:0.9; color: #e3207b; text-decoration:none; }
}

@media (min-width: 767px) {
header{
	z-index: 9999;
	height: 55px;
	position: fixed;
	top:0;
}

#header .header-inner h1 {
	margin: 20px 0 0 20px;
	padding: 0;
}

#header .header-inner h1 a{
	background-image:url("../images/gcake_logo.png");
	background-repeat:no-repeat;
	background-size: 320px 59px;
	width:320px;
	height:59px;
	text-indent:-9999px;
	float: left;
}

.header__bn{
	float: right;
	width: 55px;
	height: 55px;
	display: block;
}

.header__logo{
	text-align: center;
}
	
#header { position: fixed; width: 100%; z-index: 1000; }
#header .buttonNav {
	line-height: 55px;
cursor: pointer; display: none; height: 55px; -webkit-transition: all 1s; -o-transition: all 1s; transition: all 1s; width: 55px; margin-top:0px; }
#header .buttonNav.open { width:55px; height: 55px;  background: url("../images/nav_bn01.svg") no-repeat top; background-size: 55px 55px; background-position: center;}
#header .buttonNav.close { width:55px; height: 55px;  background: url("../images/nav_bn02.svg") no-repeat top; background-size:  55px 55px; opacity: 1; background-position: center; }
#header .buttonNav { display: block;  }
#header .nav_wrap2 { float: none; right: -100%; position: absolute; top: 75px; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; width: 100%; z-index: 100; }
#header .nav_wrap2 ul.gNavi_ul { list-style: none; margin: 0; padding: 0; width: 100%; }
#header .nav_wrap2 ul.gNavi_ul > li {  float: none; margin-bottom:1px; padding: 0; width: 100%; }
#header .nav_wrap2 ul.gNavi_ul > li > a { background: #000; color: #FFF; opacity:0.8; border-bottom: none; display: block; font-size: 14px; font-weight: 600; padding: 16px 0 16px 20px; }
#header .nav_wrap2 ul.gNavi_ul li a:hover { background-color: #000;  opacity:0.9; color: #e3207b; text-decoration:none; }


}


.selectbox-005 {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.selectbox-005::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #333;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.selectbox-005 select {
    appearance: none;
    min-width: 150px;
    height: 2em;
    padding: .2em calc(.8em + 30px) .2em .5em;
    border: none;
    border-bottom: 2px solid #cccccc;
    background-color: #ffffff;
    color: #333;
    font-size: .8em;
    cursor: pointer;
}

.selectbox-005 select:focus {
    outline: none;
}

.site-navbar img{
	width: 100%;
	height: auto;
}

.box__bana{
	text-align: center;
	
}

.box__bana img{
	width: 45%;
	height: auto;
	margin: 0 auto 10px!important;
}


.box__bana h3{
	margin-bottom: 50px;
	color: #555;
}

  @media (max-width: 767px) {
	  .logo{
		  width:80vw;
		  height: auto;
	  }
.box__bana2{
	text-align: center;
	
}

.box__bana2 img{
	width: 90%;
	height: auto;
	margin: 0 auto ;
}
}

  @media (min-width: 768px) {
	  .logo{
		  width: 35vw;
		  height: auto;
	  }
	  
	  
.box__bana2{
	text-align: center;
	
}

.box__bana2 img{
	width: 45%;
	height: auto;
	margin: 0 auto ;
}
}

/*-------------------
v-table
---------------------*/
.v-table{
    width: 100%;
    margin-bottom:20px;
}

.v-table th, .v-table td  { 
    padding: 8px; border: 1px solid #35404c; }

.v-table th { background: #2d3642; width: 30%; text-align: left; vertical-align: top;}
 
@media only screen and (max-width:767px){
.v-table th, .v-table td{
    width: 100%;
    display: block;
    border-top: none;
    }
    .v-table tr:first-child th { border-top: 1px solid #35404c; }
}
.v-table-th2{
    background-color: #666666 !important;
    color:#fff;
}
.v-table-th3{
    background-color: #111 !important;
    color:#000;
    font-size:17px;
        text-align: right !important;
}




/*-------------------
v2-table
---------------------*/
.v2-table{
    width: 100%;
    margin-bottom:20px;
}

.v2-table th, .v2-table td  { 
    padding: 8px; border: 1px solid #fff; }

.v2-table th { background: #2d3642; width: 30%; text-align: left; vertical-align: top;}

.v2-table th  { 
    font-weight: normal;
}
.v2-table td  { 
    color: #fff;
}
.box_num{
	width:300px;
}
@media only screen and (max-width:767px){
.v2-table th, .v2-table td{
    width: 100%;
    display: block;
    border-top: none;
    }
    .v2-table tr:first-child th { border-top: 1px solid #fff; }
.box_num{
	width:100%;
}
}

.v2-table-th2{
    background-color: #666666 !important;
    color:#fff;
}
.v2-table-th3{
    background-color: #111 !important;
    color:#000;
    font-size:17px;
        text-align: right !important;
}

/*-------------------
v3-table
---------------------*/

.table__container{
	margin-inline: auto;
	overflow-x: auto; /* tableタグのはみ出た要素を隠す */
  	white-space: nowrap; /* テキストの折り返しなし */
  	width: 100%;	
	
}
.v3-table{
    width: 100%;
    margin-bottom:20px;
}

.v3-table th, .v3-table td  { 
    padding: 8px; border: 1px solid #35404c;
	text-align: center!important;
}

.v3-table th { background: #2d3642; width: 30%; text-align: left; vertical-align: top;}
 
@media only screen and (max-width:767px){
.table__container{
	margin-inline: auto;
	overflow-x: auto; /* tableタグのはみ出た要素を隠す */
  	white-space: nowrap; /* テキストの折り返しなし */
  	/*width: 300px;	*/
	
}
.v3-table{
   /* width: 500px;*/
    margin-bottom:20px;
}
	
	
	
.v3-table th, .v3-table td{
	text-align: center!important;
    }
    .v3-table tr:first-child th {  }
}

.v3-table td p{
	display: inline-block;
	padding: 0 10px 0 0!important;
	margin-bottom: 0!important;
    }
    .v3-table tr:first-child th {  }




#button {
  font-family: "Josefin Sans", sans-serif;
  letter-spacing: 0.1em;
  background-color: #e3207b;
	border-color: #e3207b;
  color: #fff;
  padding: 1px 0px;
  cursor: pointer;
  transition: 0.2s;
	border-radius: 0.25rem;
	display: inline-block;
	font-size: 10px;
	width: 60px;
}

#button:hover {
  border-color: #29376a;
}
.button {
  font-family: "Josefin Sans", sans-serif;
  letter-spacing: 0.1em;
  background-color: #e3207b;
	border-color: #e3207b;
  color: #fff;
  padding: 1px 0px;
  cursor: pointer;
  transition: 0.2s;
	border-radius: 0.25rem;
	display: inline-block;
	font-size: 10px;
	width: 60px;
}

.button:hover {
  border-color: #29376a;
}

.time_txt{
	font-size:14px;
}

@media only screen and (max-width:767px){
.time_txt{
	font-size:12px;
}
}

  @media (max-width: 767px) {
	  
	.box__video{
		text-align: center;
		padding-bottom: 7em;
	
	}

	.box__video iframe{
		width: 65vw;
		height: 37vw;
		margin: 0 auto ;
	}

	  .box__txt{
		  margin: 30px auto;
		  text-align: center;
	  }
	  
	  .box__txt p{
		  margin-bottom: 20px;;
		  text-align: left;
	  }
	  
	  .box__txt img.left{
		  width: 100%;
		  margin: 0 auto 20px;
		  
	  }
	  
	  .box__txt img.center{
		  float: none;
		  
	  }
	  
	  .box__txt img{
		  width: 100%;
		  margin: 0 auto 20px!important;
	  }
	  
	  .box__txt img.small{
		  width: 175px;
		  margin: 0 auto 20px!important;
	  }
	  
	  .box__txt img.midium{
		  width: 100%;
		  margin: 0 auto 20px!important;
	  }
	  
	  .box__txt img.large{
		  width: 100%;
		  margin: 0 auto 20px!important;
	  }
	  
	  .box__txt ul{
		  text-align: left;
	  }
	  
}

  @media (min-width: 768px) {
	  
	.box__video{
		text-align: center;
		padding-bottom: 7em;

	
	}

	.box__video iframe{
		width:50vw;
		height:28vw;
		margin: 0 auto ;
	}
	  
	  .box__txt{
		  margin: 30px auto 50px;
		  text-align: center;
	  }
	  
	  .box__txt p{
		  margin-bottom: 20px;;
		  text-align: left;
	  }
	  
	  .box__txt img{
		  margin: 30px auto!important;
	  }
	  
	  .box__txt img.left{
		  float: left;
		  margin: 30px ;
		  
	  }
	  
	  .box__txt img.center{
	  }
	  
	  .box__txt img.small{
		  width: 175px;
		  margin: 30px auto!important;
	  }
	  
	  .box__txt img.midium{
		  width: 360px;
		  margin: 30px auto!important;
	  }
	  
	  .box__txt img.large{
		  width: 600px;
		  margin: 30px auto!important;
	  }
	  .box__txt ul{
		  text-align: left;
	  }
	  
}
  .mv {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
  }

  .mv-wrap {
    position: relative;
    height: 100vh;
  }

  .mv-wrap .z03{
	  z-index: 3!important;
  }

  video {
    display: block;
    width: 100%;
    height: 100vh;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }

  .mv-bg {
    display: block;
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
	  background-image: url("../images/mesh.svg");
	  background-repeat: repeat;
	  background-size: 6px;
    z-index: 0;
  }

  .mv-txt {
    color: #fff;
    font-size: 50px;
    width: 100%;
    height: 50px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3;
    margin: auto;
    text-align: center;
  }

    nav.togle{ display: none; }

    .nav-open{
    	padding: 15px 0;
    	color: #fff;
    	font-size: 20px;
    	position: relative;
    }
    .nav-open::after{/* 閉じている時 */
    	content: "＋";
		display: inline-block;
    	right: 20px;
    }
    .nav-open.active::after{/* 開いている時 */
    	content: "－";
    }
    .nav-open2{
    	padding: 15px 0;
    	color: #fff;
    	font-size: 16px;
    	position: relative;
    }

    .nav-open2 h3{
    	padding: 5px 0;
    	color: #fff;
    	font-size: 20px;
		font-weight: normal!important;
		display: inline;
    }

    .nav-open2::after{/* 閉じている時 */
    	content: "＋";
		display: inline-block;
    	right: 30px;
    }
    .nav-open2.active::after{/* 開いている時 */
    	content: "－";
    }
.site-section-nopadding{
	padding-top: 0!important;
	padding-bottom: 0!important;
}

@media (max-width:991px) {

#MailLink{
	background-image:url(../images/mail_bn.svg);
	background-size: 60px;
	text-indent:-9999px;
	width:60px;
	height:60px;
	position:fixed;
	bottom:90px;
	right:5px;
	z-index:999;
	overflow:hidden;
	
	}
	
#MailLink:hover{
	background-image:url(../images/mail_bn_on.svg);
	background-size: 60px;
	text-indent:-9999px;
	width:60px;
	height:60px;
	position:fixed;
	bottom:90px;
	right:5px;
	z-index:999;
	overflow:hidden;
	}
	
#pageTop{
	background-image:url(../images/top_bn.svg);
	background-size: 60px;
	text-indent:-9999px;
	width:60px;
	height:60px;
	position:fixed;
	right:5px;
	bottom:20px;
	z-index:999;
	overflow:hidden;
	float:left;
	}
	
#pageTop:hover{
	background-image:url(../images/top_bn_on.svg);
	background-size: 60px;
	text-indent:-9999px;
	width:60px;
	height:60px;
	position:fixed;
	right:5px;
	bottom:20px;
	z-index:999;
	overflow:hidden;
	float:left;
	}
	
	}

@media screen and (min-width:992px) {

	
#MailLink{
	background-image:url("../images/mail_bn.svg");
	background-size: 60px;
	text-indent:-9999px;
	width:60px;
	height:60px;
	position:fixed;
	bottom:90px;
	right:20px;
	z-index:999;
	overflow:hidden;
	
	}
	
#MailLink:hover{
	background-image:url(../images/mail_bn_on.svg);
	background-size: 60px;
	text-indent:-9999px;
	width:60px;
	height:60px;
	position:fixed;
	bottom:90px;
	right:20px;
	z-index:999;
	overflow:hidden;
	}
	
#pageTop{
	background-image:url(../images/top_bn.svg);
	background-size: 60px;
	text-indent:-9999px;
	width:60px;
	height:60px;
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:999;
	overflow:hidden;
	float:left;
	}
	
#pageTop:hover{
	background-image:url(../images/top_bn_on.svg);
	background-size: 60px;
	text-indent:-9999px;
	width:60px;
	height:60px;
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:999;
	overflow:hidden;
	float:left;
	}
	

	}

@media (max-width:991px) {
	.caution{
		color: #FF0000;
		background-image: url("../images/caution.svg");
		background-position: left top;
		background-repeat: no-repeat;
		background-size: 25px 25px;
		text-indent: 30px;
			
	}
	
	.box__release{
		
	}
	
	.box__release dt{
	}
	
	.box__release dd{
		border-bottom: 1px dotted #666;
	}
    .list_table dd a:link, .list_table dd a:visited {
		color: #999;
	}
	
    .list_table dd a:hover {
		color: #fff;
	}
	}

@media screen and (min-width:992px) {
	.caution{
		color: #FF0000;
		background-image: url("../images/caution.svg");
		background-position: left top;
		background-repeat: no-repeat;
		background-size: 25px 25px;
		text-indent: 30px;
			
	}
	
	.list_table,
	.list_table > dt,
	.list_table > dd {
    	box-sizing: border-box;
	}
	
	.list_table > dt,
	.list_table > dd {
    	padding: 1em;
    	margin: 0px;
	}
	
	.list_table {
        display: flex;
        flex-wrap: wrap;
    }
    .list_table > dt,
    .list_table > dd {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .list_table > dt {
        width: 15%;
		border-bottom: 1px dotted #666;
    }
    .list_table > dd {
        width: 85%;
		border-bottom: 1px dotted #666;
	}
	
    .list_table dd a:link, .list_table dd a:visited {
		color: #999;
	}
	
    .list_table dd a:hover {
		color: #fff;
	}
	
	}

