@charset "utf-8";
/*@import url(https://fonts.googleapis.com/css?family=Rajdhani);*/
/* CSS Document */

/*------------------------------------------
base
------------------------------------------*/
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}


body{
	background:#0d0d0d;
	color: #fff;
	font-size: 16px;
	line-height: 150%;
	/*letter-spacing: 0.1em;*/
	font-family: "Sawarabi Mincho","メイリオ", sans-serif;
	word-break: break-all;
}

@media all and (min-width: 768px) {
/* 992px以上の幅の場合に適応される */
	.pc{display: block !important;}
	.sp{display: none !important;}
}

@media all and (max-width: 767px) {
/* 991pxまでの幅の場合に適応される */
	body{
		font-size: 14px;
		line-height: 200%;
	}
	img{max-width: 100%;}
	.sp{display: block !important;}
	.pc{display: none !important;}
}


p{
    margin-bottom: 1.5em;
}

.row{
	padding-left: 0;
	padding-right: 0;
}

small{
	/*display: block;*/
	line-height: 150%;
    font-size: 0.7em;
}

.object-fit-img {
  object-fit: contain;
  font-family: 'object-fit: contain;'
}
.object-fit-img {
  object-fit: cover;
  object-position: bottom;
  font-family: 'object-fit: cover; object-position: bottom;'
}



#container{
    padding: 5em 0;
}

/*-------------------------------------
btn_p
-------------------------------------*/
.btn_p{
}

.btn_p a , .btn_p a:visited , .btn_p input{
	line-height: 1;
	text-align: center;
	/*display: block;*/
    position: relative;

    background: #da3c41; /* Old browsers */
    
    
    box-shadow: 0px 0px 0px 0px rgba(255,255,255,1) inset;

	/*border-radius: 26px;*/
    height: 52px;
    line-height: 52px;
	padding: 1.5em 5em 1.5em 3em;
    
	color: #fff;
	font-weight: bold;
	text-decoration: none;
    
    transition: all .2s;
}
.btn_p a:hover , .btn_p input:hover{
    background: none;  
    box-shadow: 0px 0px 0px 2px rgba(181,41,31,1) inset;
    color: #da3c41;
}
.btn_p a span.glyphicon{
    color: #fff;
    position: absolute;
    right: 20px;
    top: 35%;
    bottom: 50%;
}
.btn_p a:hover span.glyphicon {
    color: #da3c41;
}



.btn_box{
    margin: 1em 0;
    text-align:center;
}


@media all and (max-width: 767px) {
/* 767pxまでの幅の場合に適応される */
    .btn_p{
        width: 90%;
        display: block;
        margin-left:auto;
        margin-right:auto;
    }
    .btn_p a , .btn_p input{
        display: block;
        padding: 0;
        font-size: 1.2em;
    }
    
    .btn_p input{
        width: 100%;
    }
}



/*-------------------------------------
line
---------------------------------------*/
hr.cp_hr06 {
	position: relative;
	height: 1px;
	border-width: 0;
	background-image: -webkit-linear-gradient(left,
	transparent 0%,#2ea7e0 50%,transparent 100%);
	background-image:         linear-gradient(90deg,
	transparent 0%,#2ea7e0 50%,transparent 100%);
}



/*-------------------------------------
flexbox
---------------------------------------*/
.flexbox{
    display: flex;
    flex-wrap: wrap;
}





/*-------------------------------------
box_shadow
-------------------------------------*/


.box_shadow{
    background: #fff;
    border-radius: 10px;
    box-shadow:0px 0px 12px 0px rgba(114,125,131,0.2);
    display:block;
    color: #252525;
    transition: all .5s;
    word-break: break-all;
    margin: 1em auto;
    text-align: center;
}


.box_shadow .thum img{
    border-radius: 10px 10px 0 0;
}

#container a.box_shadow:hover{
    text-decoration: none;
    box-shadow:0px 0px 12px 0px rgba(114,125,131,1);
    opacity: 0.5;
}



/*-------------------------------------
padding_inner
-------------------------------------*/
.padding_inner{
	max-width: 912px;
	margin: 0 auto;
	padding-bottom: 10em;
}


/*-----------------------------------
inner2
------------------------------------*/

#container .inner2 .thum_left{
    float: left;
    width: 20%;
}

#container .inner2 h4,
#container .inner2 .text_box{
    float: right;
    width: 78%;
}
@media all and (max-width: 767px) {
    #container .inner2 .thum_left{width: 30%;}
    #container .inner2 h4{width: 68%;}
    #container .inner2 .text_box{
        width: 100%;
    }
}

/*------------------------------------
span.orange
------------------------------------*/
span.orange{
    color: #d25f3b;
}

/*-------------------------------------
header
-------------------------------------*/
header{
	z-index: 100;
}

header .inner h1 img{
    padding-left: 0.5em;
}
 
/*  logo
/--------------------------------- */
@media all and (min-width: 992px) {
/* 992px以上の幅の場合に適応される */
	header {
        padding: 0 1em;
		position: absolute;
		top: 0;
		left:0;
		right: 0;
		margin: auto;
        padding: 20px;
	}
	
	header .inner{
        float:left;
	}
    
    header .inner h1{
        font-size: 0.5em;
        padding: 0;
        margin: 0;
        position: absolute;
        top: 3em;
        left:3em;
    }

    
    header#content_header{
        background: #fff;
        /*position:fixed;*/
        height: 90px;
    }

}



@media all and (max-width: 991px) {
/* 991pxまでの幅の場合に適応される */
	header h1{
		margin: 0;
		position:fixed;
		z-index: 1040;
		top: 0;
	
	}
	header h1 img{
		height: 40px;
		padding: 6px 0 0 6px;
        zoom:0.6;
	}
}






/*---------------------------------
nav
--------------------------------- */
header .container-fluid>.navbar-header{
	margin-left: 0;
	margin-right: 0;
}
header .navbar{
	background: none;
	border: none;
}
 
header .navbar-nav {
	float: none;
}
 
header .navbar-nav > li {
    text-align: right;
}
 
header.index .navbar-default .navbar-nav>li>a {
	color: #fff;
	font-weight: bold;
}
header.content .navbar-default .navbar-nav>li>a {
    color: #00a8cb;
	font-weight: bold;
}

@media all and (min-width: 992px) {
/* 992px以上の幅の場合に適応される */

	header .navbar {
        float: right;
		margin: 0 auto;
	}
	header .navbar-nav {
		display: table;
		width: 100%;

	}
	header .navbar-nav > li {
		display: table-cell;
		float: none;
	}
	header .navbar-nav > li a{
		/*padding: 1em 1em 0.5em 1.5em;*/
	}
	
	
}


@media all and (max-width: 991px) {
/* 991pxまでの幅の場合に適応される */
	
	header .container-fluid{
		padding: 0;
	}
	header .navbar{
		background: #0d0d0d;
		border-radius: 0;
	}
	header .navbar-nav{
		margin: 0;
	}

	header nav{
		position: fixed !important;
		top: 0;
		right: 0;
		left: 0;
		z-index: 1030;
	}
	header .navbar-fixed-top .navbar-collapse, header .navbar-fixed-bottom .navbar-collapse{
		max-height: none;
	}
	
	header nav button{
		z-index: 1050;
	}
	header .navbar-default .navbar-toggle{        
		/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#38aeec+0,81ccba+100 */
	background:none;
        
        border:none;
        margin: 0;
        border-radius: 0;
        height: 50px;
        padding: 0 16px;
	}
	header .navbar-default .navbar-toggle .icon-bar{
		background-color:#fff;
	}
	
	
	header .navbar-collapse{
        
	}
	
	header .navbar-collapse li a{
		color: #fff !important;
		text-align: left;
		background-image:none;
		border-bottom: #666 solid 1px;
		padding: 0.5em;
        text-shadow: none;
	}
	
	header .navbar-collapse li:last-child a{
		border-bottom: none;
	}


    header .navbar-header {
        float: none;
    }
    header .navbar-toggle {
        display: block;
    }
    header .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,2    55,255,0.1);
        border:none;
    }
    header .navbar-collapse.collapse {
        display: none!important;
    }
    header .navbar-nav {
        float: none!important;
        /*margin: 7.5px -15px;*/
    }
    header .navbar-nav>li {
        float: none;
    }
    header .navbar-nav>li>a {
        padding: 1.5em 1em;
		font-size: 1.5em;
		font-weight: normal;
    }
    header .navbar-text {
        float: none;
        margin: 15px 0;
    }
    header .navbar-collapse.collapse.in {
        display: block!important;
    }
    header .collapsing {
        overflow: hidden!important;
    }

	.navbar .btn_p{
		margin: 0;
		position:fixed;
		z-index: 1040;
		right: 60px;
		top: 8px;
		float: none;
		width: auto;
	}
	.navbar .btn_p a{
		font-size: 0.8em;
		padding: 1em 0em;
		width: 120px;
		letter-spacing: 0.1em;
		border-radius: 40px;
		border: none;
	}
	
	.navbar .navbar-nav{
		margin-top:0;
		margin-bottom:0;
	}
	.navbar .navbar-nav a span.glyphicon{
		float:right;
		color: #eaec38;
		width: 30px;
		height: 30px;
		padding-left: 4px;
		display: block;
		line-height: 30px;
		text-align: center;
		border-radius: 40px;
		font-size: 1.5em;
		zoom:0.6;
	}
}



/*  pc_nav
/*--------------------------------- */
nav ul{

font-family: "Sawarabi Mincho";
}

@media all and (min-width: 768px) {
	/* 992px以上の幅の場合に適応される */
	nav{
		background: none !important;
		border: none !important;
	}
	nav ul{
		float: none !important;
		list-style: none;
		overflow: hidden;
		padding: 1em 0;
		margin: 0 auto !important;
		max-width: 1024px;
		justify-content: center;
		display: flex;
	}

	nav ul li{
		display: block;
	}

	nav ul li a,
	nav ul li a:hover,
	nav ul li a:visited{
		display: block;
		font-size: 1.2em;
		color: #ccc !important;
		font-weight: normal !important;
		text-decoration: none;
	}
}

@media all and (max-width: 767px) {
/* 767pxまでの幅の場合に適応される */
	header{
		background: #0d0d0d;
		position: fixed !important;
		top:0 !important;
		left:0;
		z-index: 100;
		height: 50px;
		width: 100%;
	}
	header .logo h1{
		position: fixed;
		z-index: 100;
	}
	nav .container-fluid{
		padding: 0;
	}
	nav.navbar{
		background: none;
		border-radius: 0;
		border: none;
		position: fixed !important;
		top: 0 !important;
		right: 0;
		left: 0;
		z-index: 1030;
	}
	nav .navbar-nav{
		margin: 0;
	}

	
	nav .navbar-collapse{
		border: none;
		background: #000;
	}
	.navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse{
		max-height: none;
	}
	
	nav button{
		z-index: 1050;
	}
	.navbar-default .navbar-toggle{        
		background:none;
        border:none;
		margin-right: 2em;
	}
	.navbar-toggle:hover, .navbar-default .navbar-toggle:focus{
		background: #000;
	}
	.navbar-default .navbar-toggle .icon-bar{
		background-color:#fff;
	}
	
	nav a{
		color: #fff !important;
		font-size: 1.5em;
		padding: 1em !important;
	}
}


/*------------------------------------
main_img
------------------------------------*/

/*---index------------------------*/


#main_img.index{
    background: url(../../images/header.jpg) center / cover;
	text-align: center;
	width: 100%;
	min-height: 100vh;
}

#main_img.index .header_logo{

  margin: 0;
  position: absolute;
  top: calc(20% - 0.5em);
  width: 100%;
  text-align: center;
  line-height: 1;
  font-size: 8vw;
  font-family: "Montserrat", sans-serif;
  text-shadow: 10px 10px 0 #fff;

}





/*------------------------------------
container
------------------------------------*/
.container {
    position: relative;
    z-index: 10;
	padding-bottom: 10em;
}

.container.content {
    background: #fbfbfb;
}

.container .wrapper{
	max-width: 1024px;
	margin: 0 auto;
	padding: 50px 1em;
}




/* link_p
---------------------------------------*/
#container .link_p{
	margin: 0;
}
#container .link_p a,
#container .link_p a:hover,
#container .link_p a:visited{
	border-bottom: #fff solid 1px;
	padding: 1em 10em 1em 0;
	color: #fff;
	text-decoration: none;
	position: relative;
}

#container .link_p a:after{
	content:"";
	display: block;
	border-top: #fff solid 1px;
	width: 40px;
	position: absolute;
	right: -6px;
	bottom: 13px;
	transform: rotate(45deg);
}




/* h
---------------------------------------*/

#container .section_h2{
	font-size: 1em;
	text-align: center;
	background: #000;
	padding: 1em;
	max-width: 300px;
	margin: 0 auto;
	margin-bottom: 3em;
}

#container .section_h2 span{
font-family: "Sawarabi Mincho";
	font-size: 2em
}

#container .section_h2 figcaption{
	font-size: 0.8em;
}


#container .section_h3{
    font-weight: bold;
    font-size: 1.5em;
	line-height: 1.5em;
    margin-top:0;
	margin-bottom: 2em;
}

#container .section_h3 small{
	color: #fff;
}







@media all and (max-width: 991px) {
    #philosophy .wrapper{
        padding: 0;
        height: auto;
    }
    #philosophy .img{
        width: 100%;
        height: 50vh;
        position: static;
    }
    
    
    #philosophy .text_box{
        position: static;
        width: 90%;
        margin: 0 5%;
        margin-top: -5em;
        padding: 1em;
    }

}



/* menu_list
--------------------------------------*/

#container .menu_list .menu a{
    background: #fff;
    display:block;
    color: #252525;
    transition: all .5s;
    word-break: break-all;
}
#container .menu_list .menu .thum{
    margin: 0;
    text-align: center;
}




#container .menu_list .menu .link span.glyphicon{
    color: #196ac5;
}

#container .menu_list .menu a:hover{
    text-decoration: none;
}


@media all and (max-width: 767px) {
/* 767pxまでの幅の場合に適応される */

    #container .menu_list .menu .thum img{
        height: 40vw;
        width: 100%;
        object-fit: cover;
    }
}








/* news_list
--------------------------------------*/
#container .container .news_list table{
	
}
#container .container .news_list th,
#container .container .news_list td{
	font-weight: normal;
	border-bottom: 1px dotted #3c3c3c;
	padding-top: 1em;
}

#container .container .news_list th{
	width: 6em;
}





/* gallery_list
----------------------------------*/

#container .gallery_list{
/*	width: 90%;*/
}


#container .gallery_list .menu a,
#container .gallery_list .menu a:hover,
#container .gallery_list .menu a:visited{
    display: block;
    color: #fff;
    text-decoration: none
}

#container .gallery_list .menu .thum{
    display: block;
    padding-top: 100%;
    position: relative;
}

#container .gallery_list.topic{
	max-width: 912px;
}
#container .gallery_list.topic .menu .thum{
    padding-top:140%;
}

#container .gallery_list .menu img{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
}
#container .gallery_list .menu .text span.date{
	font-size: 0.8em;
}
#container .gallery_list .menu .text{
    background-color:rgba(0,0,0,0.8);
	font-style: normal;
    
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    padding: 1em;
    font-size: 0.8em;
	line-height: 1em;
}

#container .gallery_list .menu .new{
    position: absolute;
    top: 1em;
    left: 0;
    background: #970000;
    font-size: 0.8em;
    padding: 0.5em 0.8em;
    margin: 0;
    line-height: 1em;
}
#container .gallery_list .thum{
	margin-bottom: 2em;
}

@media all and (max-width: 767px) {
/* 767pxまでの幅の場合に適応される */
	#container .gallery_list .thum{
		margin-bottom: 8px;
	}
	#container .gallery_list.topic{
		max-width: 100%;
	}
	
	#container .gallery_list .menu{
		padding: 8px;
	}
}




/* contact
-----------------------------------*/
.cp_form {
position: relative;
max-width: 600px;
margin: 40px auto;
padding: 1em 2em;
/*box-shadow:0px 0px 3px 2px #ededed;*/
	border: #fff solid 1px;
}
.cp_form .cp_radio, .cp_group {
position: relative;
margin-top: 2.25rem;
/*margin-bottom: 2.25rem;*/
}
.cp_form .cp_group input[type=button],
.cp_form .cp_group input[type=submit],
.cp_form .cp_group input[type=checkbox],
.cp_form .cp_group input[type=radio],
.cp_form .cp_group input[type=text],
.cp_form .cp_group input[type=tel],
.cp_form .cp_group input[type=password],
.cp_form .cp_group input[type=email],
.cp_form .cp_group input[type=url],
.cp_form .cp_group input[type=date],
.cp_form .cp_group input[type=number],
.cp_form .cp_group textarea,
.cp_form .cp_group .cp_file .file_text,
.cp_form .cp_group select {
font-family: inherit;
}
.cp_form .cp_group input {
/*height: 1.9rem;*/
	height: 5em;
}
.cp_form .cp_group textarea {
resize: vertical;
	height: 20em;
}
.cp_form .cp_group select::-ms-expand {
display: none;
}
.cp_form .cp_ipselect {
position: relative;
width: 100%;
margin: 2em auto;
}
.cp_form .cp_sl {
position: relative;
font-size: 1rem;
font-family: inherit;
background-color: transparent;
width: 100%;
padding: 10px 10px 10px 0;
border-radius: 0;
border: none;
}
.cp_form .cp_sl:focus {
outline: none;
border-bottom: 1px solid rgba(0,0,0, 0);
}
.cp_form .cp_ipselect .cp_sl {
-webkit-appearance: none;
appearance: none;
}
.cp_form .cp_ipselect:after {
position: absolute;
top: 18px;
right: 10px;
width: 0;
height: 0;
padding: 0;
content: '';
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-top: 6px solid rgba(0, 0, 0, 0.3);
pointer-events: none;
}
.cp_form .cp_sl_selectlabel {
color: #b3b3b3;
position: absolute;
pointer-events: none;
left: 0;
top: 10px;
transition: 0.2s ease all;
}
.cp_form .cp_sl:focus ~ .cp_sl_selectlabel,
.cp_form .cp_sl:valid ~ .cp_sl_selectlabel {
font-size: 0.8rem;
color: #da3c41;
top: -20px;
transition: 0.2s ease all;
}
.cp_form .cp_sl_selectbar {
position: relative;
display: block;
width: 100%;
}
.cp_form .cp_sl_selectbar:before,
.cp_form .cp_sl_selectbar:after {
content: '';
height: 2px;
width: 0;
bottom: 1px;
position: absolute;
background: #da3c41;
transition: 0.2s ease all;
}
.cp_form .cp_sl_selectbar:before {
left: 50%;
}
.cp_form .cp_sl_selectbar:after {
right: 50%;
}
.cp_form .cp_sl:focus ~ .cp_sl_selectbar:before,
.cp_form .cp_sl:focus ~ .cp_sl_selectbar:after {
width: 50%;
}
.cp_form .cp_sl_highlight {
position: absolute;
top: 25%;
left: 0;
pointer-events: none;
opacity: 0.5;
}
.cp_form .cp_group .cp_label {
position: absolute;
top: 0.25rem;
pointer-events: none;
padding-left: 0.125rem;
z-index: 1;
color: #b3b3b3;
font-size: 1rem;
font-weight: normal;
-webkit-transition: all 0.28s ease;
transition: all 0.28s ease;
}
.cp_form .cp_group .bar {
position: relative;
border-bottom: 0.0625rem solid #999999;
display: block;
}
.cp_form .cp_group .bar::before {
content: '';
height: 0.125rem;
width: 0;
left: 50%;
bottom: -0.0625rem;
position: absolute;
background: #da3c41;
-webkit-transition: left 0.28s ease, width 0.28s ease;
transition: left 0.28s ease, width 0.28s ease;
z-index: 2;
}

.cp_form .cp_group input,
.cp_form .cp_group textarea {
display: block;
background: none;
padding: 0.125rem 0.125rem 0.0625rem;
/*font-size: 1rem;*/
border-width: 0;
border-color: transparent;
line-height: 1.9;
width: 100%;
color: transparent;
-webkit-transition: all 0.28s ease;
transition: all 0.28s ease;
-webkit-box-shadow: none;
box-shadow: none;
}
.cp_form .cp_group select,
.cp_form .cp_group input:focus,
.cp_form .cp_group input:valid,
.cp_form .cp_group textarea:focus,
.cp_form .cp_group textarea:valid {
color: #fff;
	border: #252525 solid 1px;
	border-radius: 5px;
	padding: 1em;
	width: 100%;
}
.cp_form .cp_group .submit input{
	border: none;
	background: #da3c41;
	color: #fff;
	border-radius: 0;
}

.cp_form .submit{
	padding-top: 3em;
}
.cp_form .cp_group .submit input:hover{
	background: none;
	border: #da3c41 solid 1px;
	color: #da3c41;
}
.cp_form .cp_group select ~ .cp_label,
.cp_form .cp_group input:focus ~ .cp_label,
.cp_form .cp_group input:valid ~ .cp_label,
.cp_form .cp_group textarea:focus ~ .cp_label,
.cp_form .cp_group textarea:valid ~ .cp_label {
font-size: 0.8rem;
color: #da3c41;
top: -1rem;
left: 0;
}
.cp_form .cp_group select:hover,
.cp_form .cp_group input:focus,
.cp_form .cp_group textarea:focus {
outline: none;
}
.cp_form .cp_group select:hover ~ .cp_label,
.cp_form .cp_group input:focus ~ .cp_label,
.cp_form .cp_group textarea:focus ~ .cp_label {
color: #da3c41;
}
.cp_form .cp_group select:hover ~ .bar::before,
.cp_form .cp_group input:focus ~ .bar::before,
.cp_form .cp_group textarea:focus ~ .bar::before {
width: 100%;
left: 0;
}
.cp_form .checkbox label,
.cp_form .cp_radio label {
position: relative;
cursor: pointer;
padding-left: 2rem;
text-align: left;
/*color: #333333;*/
display: block;
	float: left;
	padding-right: 1em;
}
.cp_form .checkbox input,
.cp_form .cp_radio input {
width: auto;
opacity: 0.00000001;
position: absolute;
left: 0;
}
.cp_form .radio {
margin-bottom: 1rem;
}
.cp_form .radio .ch_bar {
position: absolute;
top: 1em;
left: -0.25rem;
cursor: pointer;
display: block;
font-size: 1rem;
-webkit-user-select: none;
user-select: none;
color: #999999;
}
.cp_form .radio .ch_bar::before,
.cp_form .radio .ch_bar::after {
content: '';
position: absolute;
left: 0;
top: 0;
margin: 0.25rem;
width: 1rem;
height: 1rem;
-webkit-transition: -webkit-transform 0.28s ease;
transition:         transform 0.28s ease;
border-radius: 50%;
border: 0.125rem solid currentColor;
}
.cp_form .radio .ch_bar::after {
-webkit-transform: scale(0);
transform: scale(0);
background-color: #da3c41;
border-color: #da3c41;
}
.cp_form .radio label:hover .ch_bar {
color: #da3c41;
}
.cp_form .radio input:checked ~ .ch_bar::after {
-webkit-transform: scale(0.5);
transform: scale(0.5);
}
.cp_form .radio input:checked ~ .ch_bar::before {
color: #da3c41;
}
.cp_form .checkbox {
margin-top: 3rem;
margin-bottom: 1rem;
}
.cp_form .checkbox .ch_bar {
color: #999999;
position: absolute;
top: 0;
left: 0;
width: 1rem;
height: 1rem;
z-index: 0;
border: 0.125rem solid currentColor;
border-radius: 0.0625rem;
-webkit-transition: border-color 0.28s ease;
transition: border-color 0.28s ease;
}
.cp_form .checkbox .ch_bar::before,
.cp_form .checkbox .ch_bar::after {
position: absolute;
height: 0;
width: 0.2rem;
background-color: #da3c41;
display: block;
-webkit-transform-origin: left top;
transform-origin: left top;
border-radius: 0.25rem;
content: '';
-webkit-transition: opacity 0.28s ease, height 0s linear 0.28s;
transition: opacity 0.28s ease, height 0s linear 0.28s;
opacity: 0;
}
.cp_form .checkbox .ch_bar::before {
top: 0.65rem;
left: 0.38rem;
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
-webkit-box-shadow: 0 0 0 0.0625rem #ffffff;
box-shadow: 0 0 0 0.0625rem #ffffff;
}
.cp_form .checkbox .ch_bar::after {
top: 0.3rem;
left: 0;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.cp_form .checkbox label:hover .ch_bar {
color: #da3c41;
}
.cp_form .checkbox input:checked ~ .ch_bar {
color: #da3c41;
}
.cp_form .checkbox input:checked ~ .ch_bar::after,
.cp_form .checkbox input:checked ~ .ch_bar::before {
opacity: 1;
-webkit-transition: height 0.28s ease;
transition: height 0.28s ease;
}
.cp_form .checkbox input:checked ~ .ch_bar::after {
height: 0.5rem;
}
.cp_form .checkbox input:checked ~ .ch_bar::before {
height: 1.2rem;
-webkit-transition-delay: 0.28s;
transition-delay: 0.28s;
}
.cp_form .radio + .radio,
.cp_form .checkbox + .checkbox {
margin-top: 1rem;
}
/* File input */
.cp_form .cp_group .cp_file {
position: relative;
}
.cp_form .cp_group .cp_file .title {
position: static;
}
.cp_form .cp_group .cp_file .button {
font-size: 1em;
position: absolute;
z-index: 1;
top: 0;
right: 0;
bottom: 0;
padding: .5rem 1.2em 0 1.2em;
cursor: pointer;
-webkit-transition: background-color 0.25s;
transition: background-color 0.25s;
color: #ffffff;
border-radius: 0;
background-color: #999999;
}
.cp_form .cp_group .cp_file .file_input {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 100%;
padding: 0;
cursor: pointer;
opacity: 0;
filter: alpha(opacity=0);
-webkit-appearance: none;
appearance: none;
}
.cp_form .cp_group .cp_file .file_text {
position: relative;
box-sizing: border-box;
padding: 6px 10px;
-webkit-transition: border-color 0.6s;
transition: border-color 0.6s;
border-bottom: 0.0625rem solid #999999;
outline: none;
}
.cp_form .cp_group .cp_file .file_text::before {
content: '';
height: 2px;
width: 0;
left: 50%;
bottom: -1px;
position: absolute;
background: #da3c41;
-webkit-transition: left 0.28s ease, width 0.28s ease;
transition: left 0.28s ease, width 0.28s ease;
z-index: 2;
}
.cp_form .cp_group .cp_file .file_input:hover ~ .file_text::before {
width: 100%;
left: 0;
}
.cp_form .cp_group .cp_file label:hover .button {
background-color: #da3c3c;
}
.cp_form .cp_group .cp_file label:active .button {
background-color: #b02f2f;
}
.cp_form .btn_cont {
text-align: center;
}
.cp_form .btn {
position: relative;
background: currentColor;
border: 1px solid currentColor;
font-size: 1.1rem;
color: #da3c41;
margin: 3rem 0;
padding: 0.75rem 3rem;
cursor: pointer;
-webkit-transition: background-color 0.28s ease, color 0.28s ease, -webkit-box-shadow 0.28s ease;
transition: background-color 0.28s ease, color 0.28s ease, box-shadow 0.28s ease;
overflow: hidden;
-webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
}
.cp_form .btn span {
color: #ffffff;
position: relative;
z-index: 1;
}
.cp_form .btn::before {
content: '';
position: absolute;
background: #071017;
border: 50vh solid #1d4567;
width: 30vh;
height: 30vh;
border-radius: 50%;
display: block;
top: 50%;
left: 50%;
z-index: 0;
opacity: 1;
-webkit-transform: translate(-50%, -50%) scale(0);
transform: translate(-50%, -50%) scale(0);
}
.cp_form .btn:hover {
color: #3f51b5;
-webkit-box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.3);
box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.3);
}
.cp_form .btn:focus {
outline: none;
}






#container .cp_table{
	width: 100%;
}

#container .cp_table th,
#container .cp_table td{
	border-bottom: #252525 1px solid;
}
#container .cp_table th{
	width: 30%;
	padding-bottom: 2em;
	vertical-align: top;
	padding: 0.7em;
}
#container .cp_table td{

	vertical-align: top;
}


/* ol list
-----------------------------------*/
ol.cp_clist {
	counter-reset:cp_clist; /*数字をリセット*/
	list-style-type: none;
	padding:0.5em;
	margin-bottom: 5em;
}
ol.cp_clist li {
	position: relative;
	padding-left: 30px;
	line-height: 1.5em;
	padding: 0.5em 0.5em 0.5em 36px;
	margin-top: 1.5em;
}
ol.cp_clist li::before {
	position: absolute;
	display:inline-block;
	top: 50%;
	left: 0;
	/* カウントさせる */
	counter-increment: cp_clist;
	content: counter(cp_clist);
	/*装飾*/
	padding: 0 0.2em 0 0.2em;
	background: #a2d2ef;
	color: #fff;
	font-weight:bold;
	font-size: 15px;
	border-radius: 50%;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align:center;
	transform: translateY(-50%);
}
ol.cp_clist li::after {
	position: absolute;
	content: '';
	display: block;
	top: 50%;
	left: 18px;
	height: 0;
	width: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 12px solid #a2d2ef;
	transform: translateY(-50%);
}








/*-------------------------------------
schedule_list
-------------------------------------*/
#container .schedule_list .status{
	color: #000;
	text-align: center;
	margin-bottom: 2em;
}

#container .schedule_list .status div{
	border-radius: 5px;
	background: #fff;
	height: 100%;
	margin-bottom: 1em;
}

#container .schedule_list .status2 div{
    background: #ffc4c4;
}
#container .schedule_list .status3{
	opacity: 0.3;
}
#container .schedule_list .status p{
	margin: 0;
}

#container .schedule_list .status .day{
	font-size: 1.5em;
	font-weight:bold;
}

#container .schedule_list .status .btn_p a{
	padding: 0.5em 2em;
	line-height: 0;
}

#container .schedule_list .status .icon{
	background-size:contain;
	width: 100%;
	height: 120px;
}
#container .schedule_list .status .status_icon{
	font-size: 5em;
	line-height: 1em;
	font-weight: bold;
}



@media all and (max-width: 767px) {
/* 767pxまでの幅の場合に適応される */
	#container .schedule_list .status .btn_p{
		/*zoom:0.5;*/
		margin: 0 auto;
		font-size: 10px;
	}
	#container .schedule_list .status .btn_p a{
		height: auto;
		line-height: 1.5em;
	}
}

/*----------------------------------
formTable
----------------------------------*/

.formTable,
.formTable tbody,
.formTable tr,
.formTable th,
.formTable td{
    width: 100%;
    display: block;
	clear: both;
}

.formTable td input{
    padding: 0.5em;
}

.formTable tr{
    padding-bottom: 1em;
}

.formTable span{
    font-size: 0.8em;
    color: red !important;
    font-weight: normal;
}

/*----------------------------------
js-animation
------------------------------------*/

.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s;
}
.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

	

/*------------------------------------
footer
------------------------------------*/

footer{
	padding-top: 5em;
}
footer #copy{
	font-size: 0.8em;
	color: #3c3c3c;
	line-height: 2em;
}
footer .contact_btn a , footer .contact_btn a:visited{
    background: #000;
    border: solid 1px #fff;
    
    display: block;
    width: 60px;
    height: 60px;
    line-height: 60px;
    border-radius: 60px;
    font-size: 20px;
    color: #fff;
    margin: 0 auto;
    
    transition: all .2s;
}

footer .contact_btn a:hover{
    background: #fff;
    border: #000 solid 1px;
    color: #000;
}


/*-----pageup----------*/
#pageup {
    letter-spacing: 0;
    display: block;
    position: fixed;
	z-index: 1200;
    bottom: 1em;
    right: 10px;
}

#pageup a {
    position: relative;
    display: block;
    border-radius: 80px;
    font-size: 0.5em;
    text-align: center;
    font-weight: normal;
    line-height: 112px;
    width: 80px;
    height: 80px;
    
    color: #fff;
	cursor:pointer;
	
	text-decoration:none;
	letter-spacing:0.2em;
	padding: 0;
	
	transition: 0.5s;
}

#pageup a:before{
	content:"";
	display: block;
	width:25px;
	height:25px;
	position: absolute;
	left:27px;
	top:26px;
	margin-top:-6px;

	border-top:2px solid #fff;
	border-right:2px solid #fff;
	-webkit-transform: rotate(315deg);
	transform: rotate(315deg);
}

#pageup a:hover , #pageup a:visited{
	text-decoration: none;
}


@media all and (min-width: 992px) {
/* 992px以上の幅の場合に適応される */


	#pageup a:hover {
		opacity: 0.5;
	}
	#pageup a:hover:before{
		border-color:#fff;
	}

	footer .container{
		padding-bottom: 0;
	}
}
@media all and (max-width: 767px) {
/* 767pxまでの幅の場合に適応される */
    #pageup{
        bottom:1em;
    }
}


/*-----------------------
loading
--------------------------*/
#loading{
    background: #fff;
    width: 100%;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    
    display: none;
}



.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
    background-color: #000000; 
}


/*====== 9-1-1 縦線が動いてスクロールを促す =======*/

/*スクロールダウン全体の場所*/
.scrolldown1{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	left:50%;
	bottom:10px;
    /*全体の高さ*/
	height:50px;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置*/
	position: absolute;
	left:-15px;
	top: -15px;
    /*テキストの形状*/
	color: #eee;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";
    /*描画位置*/
	position: absolute;
	top: 0;
    /*線の形状*/
	width: 1px;
	height: 30px;
	background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:30px;
		opacity: 1;
	}
	100%{
		height:0;
		top:50px;
		opacity: 0;
	}
}

/*=== 9-1-4 矢印が動いてスクロールを促す  ====*/

/*スクロールダウン全体の場所*/
.scrolldown4{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	bottom:1%;
	right:50%;
	word-break: keep-all;
	line-height: 150%;
    /*矢印の動き1秒かけて永遠にループ*/
	animation: arrowmove 1s ease-in-out infinite;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{
      0%{bottom:1%;}
      50%{bottom:3%;}
     100%{bottom:1%;}
 }

/*Scrollテキストの描写*/
.scrolldown4 span{
    /*描画位置*/
	position: absolute;
	left:-20px;
	bottom:10px;
    /*テキストの形状*/
	color: #eee;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 矢印の描写 */
.scrolldown4:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom: 0;
    right: -6px;
    /*矢印の形状*/
    width: 1px;
    height: 20px;
    background: #eee;
    transform: skewX(-31deg);
}

.scrolldown4:after{
	content:"";
    /*描画位置*/
	position: absolute;
	bottom:0;
	right:0;
    /*矢印の形状*/
	width:1px;
	height: 50px;
	background:#eee;
}

/* クリックしたら波紋が広がる */

.btnripple{
    /*波紋の基点とするためrelativeを指定*/
  position: relative;
    /*はみ出す波紋を隠す*/
  overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none;
  display:inline-block;
  background: #333;
  color: #fff;
  padding: 10px 20px;
  border-radius: 25px;
    outline: none;
}

.btnripple::after {
    content: "";
    /*絶対配置で波紋位置を決める*/
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    /*波紋の形状*/
    background: radial-gradient(circle, #fff 10%, transparent 10%) no-repeat 50%;
    transform: scale(10, 10);
    /*はじめは透過0に*/
    opacity: 0;
    /*アニメーションの設定*/
    transition: transform 0.3s, opacity 1s;
}

/*クリックされたあとの形状の設定*/
    .btnripple:active::after {
    transform: scale(0, 0);
    transition: 0s;
    opacity: 0.3;
}

/*ゲーム種別アイコン*/
.cp_tag01 {
    list-style: none;
    margin: 0;
    overflow: hidden;
    padding: 0;
    /* position: absolute; */
    /* top: 50%; */
    left: 50%;
    /* -webkit-transform: translate(-50%,-50%); */
    /* transform: translate(-50%,-50%); */
}
.cp_tag01 li {
	display: inline-block;
}
.cp_tag01 a {
    line-height: 26px;
    /* position: relative; */
    display: inline-block;
    height: 26px;
    margin: 0 10px 10px 0;
    padding: 0 20px 0 23px;
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
    text-decoration: none;
    /* color: #455a64; */
    /* border-radius: 3px 0 0 3px; */
    background: #cfd8dc;
}
/*.cp_tag01 a::before, .cp_tag01 a::after {
	background: #fafcfc;/*背景色*/

/*.cp_tag01 a::before {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 6px;
	height: 6px;
	content: '';
	border-radius: 10px;
}
.cp_tag01 a::after {
	position: absolute;
	top: -2px;
	right: -6px;
	width: 0;
	height: 0;
	content: '';
	border-width: 15px 0 15px 8px;
	border-style: solid;
	border-color: transparent transparent transparent #cfd8dc;
	border-radius: 4px;
}*/
.cp_tag01 a:hover {
	color: #ffffff;
	background-color: #ec407a;
}
.cp_tag01 a:hover::after {
	border-left-color: #ec407a;
}

/*ボタンｓ*/
.cp_button06 {
	position: relative;
	z-index: 1;
	padding: 0.7em;
	width: 80%;
	line-height: 1.4;
	cursor: pointer;
	transition: color .3s cubic-bezier(.02,.01,.47,1),border-color .3s cubic-bezier(.02,.01,.47,1);
	color: #F06292;
	background: transparent;
	overflow: hidden;
	border: 1px solid #F06292;
	border-radius: 100px;
	background: #fff;
}
.cp_button06:after, .cp_button06:before {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	content: '';
	transition: transform 0.15s cubic-bezier(0.02,0.01,0.47,1),opacity 0.15s cubic-bezier(0.02,0.01,0.47,1);
	opacity: 0;
}
.cp_button06:before {
	background: #D81B60;
	-webkit-transform: translate3d(-110%,-10%,0) skewX(-20deg);
	transform: translate3d(-110%,-10%,0) skewX(-20deg);
}
.cp_button06:after {
	-webkit-transform: translate3d(110%,-10%,0) skewX(-20deg);
	transform: translate3d(110%,-10%,0) skewX(-20deg);
	background: #F06292;
}
.cp_button06:hover {
	transition: all 0.5s cubic-bezier(0.02,0.01,0.47,1);
	box-shadow: 0 1px 6px rgba(0,0,0,0.3);
	color: #ffffff;
	background: #E91E63;
	border: 1px solid #F06292;
}
.cp_button06:hover:after, .cp_button06:hover:before {
	transition: transform 0.25s cubic-bezier(0.02,0.01,0.47,1),opacity 0.25s cubic-bezier(0.02,0.01,0.47,1);
	-webkit-transform: translate3d(50%,-10%,0) skewX(-20deg);
	transform: translate3d(50%,-10%,0) skewX(-20deg);
	opacity: 1;
}
.cp_button06:active {
	opacity: 0.5;
	color: #F06292;
}
.cp_button06:focus {
	border: 1px solid #F06292;
	color: #F06292;
}
.cp_button06:focus:hover {
	color: #ffffff;
	border: 1px solid #F06292;
}
/*ボタンtop */
.cp_button07 {
	position: relative;
	z-index: 1;
	padding: 0.7em;
	width: 20%;
	line-height: 1.4;
	font-size: 20px;
	font-weight: 800;
	cursor: pointer;
	transition: color .3s cubic-bezier(.02,.01,.47,1),border-color .3s cubic-bezier(.02,.01,.47,1);
	color: #F06292;
	background: transparent;
	overflow: hidden;
	border: 1px solid #F06292;
	border-radius: 100px;
	background-color: #FFFFFF;
}
.cp_button07:after, .cp_button06:before {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	content: '';
	transition: transform 0.15s cubic-bezier(0.02,0.01,0.47,1),opacity 0.15s cubic-bezier(0.02,0.01,0.47,1);
	opacity: 0;
}
.cp_button07:before {
	background: #D81B60;
	-webkit-transform: translate3d(-110%,-10%,0) skewX(-20deg);
	transform: translate3d(-110%,-10%,0) skewX(-20deg);
}
.cp_button07:after {
	-webkit-transform: translate3d(110%,-10%,0) skewX(-20deg);
	transform: translate3d(110%,-10%,0) skewX(-20deg);
	background: #F06292;
}
.cp_button07:hover {
	transition: all 0.5s cubic-bezier(0.02,0.01,0.47,1);
	box-shadow: 0 1px 6px rgba(0,0,0,0.3);
	color: #ffffff;
	background: #E91E63;
	border: 1px solid #F06292;
}
.cp_button07:hover:after, .cp_button06:hover:before {
	transition: transform 0.25s cubic-bezier(0.02,0.01,0.47,1),opacity 0.25s cubic-bezier(0.02,0.01,0.47,1);
	-webkit-transform: translate3d(50%,-10%,0) skewX(-20deg);
	transform: translate3d(50%,-10%,0) skewX(-20deg);
	opacity: 1;
}
.cp_button07:active {
	opacity: 0.5;
	color: #F06292;
}
.cp_button07:focus {
	border: 1px solid #F06292;
	color: #F06292;
}
.cp_button07:focus:hover {
	color: #ffffff;
	border: 1px solid #F06292;
}


