@charset "utf-8";
/* CSS Document */

/* ----------------------------------------------------
   index setting
------------------------------------------------------- */

section {
    margin-bottom: 6rem;
}

/*---- logo ----*/

header .logo {
    border-bottom-right-radius: 20px;
}

/* main_v :
--------------------------------------------*/	

#main_visual {
    margin:0 0 2rem;
}
#main_visual img{
    width: 100%;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

/* t_banner :
--------------------------------------------*/	
.t_banner{
	display: flex;
	justify-content: center;
	margin: 0 0 2rem;
}
.t_banner p{
	width: 45%;
	background: var(--gray-color3);
	border-top-left-radius: 20px;
    border-bottom-right-radius: 20px;
	margin: 0 1rem;
}

.t_banner p a{
	display: flex;
	justify-content: flex-start;
	height: 100%;
	position: relative;
}

.t_banner span.pt01{
	display: block;
	width: 50%;
	background: var(--gray-color3) url(../img/index/lnk_bg.jpg) no-repeat;
	background-size: cover;
	border-top-left-radius: 20px;
}
.t_banner span.pt03{
	display: block;
	width: 50%;
	background: var(--gray-color3) url("../img/index/event_bg.jpg") no-repeat;
	background-size: cover;
	border-top-left-radius: 20px;
}

.t_banner span.text{
	padding: 5rem 1rem 5rem 1rem;
	margin: 0 auto;
}

.t_banner p a:after {
	content: "";
	position: absolute;
    background:url("../img/common/arrow03.svg") no-repeat center;
	width: 25px;
	height: 25px;
	bottom: 10px;
	right: 0.7rem;
}

.t_banner p a:hover:after {
	right: 0.3rem;
    transition: .3s;
}

/* about :
--------------------------------------------*/	
#about {
/*    position: relative;*/
    line-height: 2rem;
    margin-bottom: 3rem;
	display: flex;
	justify-content: center;
}

#about .a_left,
#about .a_right{
	position: relative;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 20px;
    width: 55%;
}
#about .a_left{
    display: block;
	right: -3rem;
    z-index: 2;
}
#about .a_left img{
    border-top-left-radius: 20px;
    border-bottom-right-radius: 20px;
}
#about .a_right{
    margin: 8rem 0 0;
	left: -3rem;
    background: var(--gray-color3);
    padding: 4rem 4rem 5rem 10rem;
}
@media screen and (min-width: 1920px){
#about .a_right{
    padding: 4rem 4rem 8rem 10rem;
    }
}
#about .a_right p{
    margin-bottom: 2rem;
}
@media screen and (max-width: 1580px){
#about .a_right{
    margin: 5rem 0 0;
    padding: 4rem 4rem 3rem 10rem;
}
}
@media screen and (max-width: 959px){
#about {
    flex-wrap: wrap;
}
#about .a_left{
    width: 70%;
	right: 0;
}
#about .a_right{
    margin: -3rem 1rem 2rem;
	left: 0rem;
    width: 100%;
    padding: 5rem 2rem 2rem;
}
    
}

/*  bnr :
--------------------------------------------*/	

.bnr h2{
    font-weight: normal;
    font-size: 1rem;
    margin-bottom: 0.5rem;
}
.bnr ul{
    display: flex;
    justify-content: flex-start;
}
.bnr li a{
    display: block;
    margin: 0 0 1rem 1rem;
}
.bnr li:first-child a{
    margin: 0 0 1rem 0;
}


figcaption{
    margin-bottom: 2rem;
}

/* loader setting :
--------------------------------------------*/
#loader{
    display: flex;
    justify-content: center;
    align-items: center;	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;	
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 30%, rgba(246,246,246,1) 100%);z-index: 10000;
}

#loader > div {
    display:none;
}

#loader img {
	max-width: 100%;
	max-height: 100%;
}
