@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@100;300;400&display=swap');
@font-face {
    font-family: 'icon';
    src: url('../fonts/icon.woff') format('woff');
}

@font-face {
    font-family: 'fa-solid-900';
    src: url('../fonts/fa-solid-900.woff') format('woff');
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	background-color: #fff;
	line-height: 1.1;
	font-family: Noto Sans JP, YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",sans-serif;
	margin:0;
	padding:0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
html,
button {
  color: #222;
}

h1,h2,h3,h4,h5,h6{
	font-size:100%;
	font-weight:normal;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
  margin: 0;
  padding: 0;
}

ol, ul {
  list-style: none;
  padding:0;
  margin:0;
}

ol li, ul li {
    list-style: none
}

div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,figure,figcaption{
	margin:0;
	padding:0;
}

table {
    border-spacing: 0;
    border-collapse:collapse;
}

address{
	font-style:normal;
}

/* General styles */

html,body {
    height: 100%;
    -webkit-font-smoothing: antialiased;
    -webkit-overflow-scrolling: touch;
}

p{
    text-justify:auto;
    text-align:justify;
}

/* Links */
a {
    color: #000;
    word-wrap: break-word;
   text-decoration:none;
   transition: all .8s ease;
   -webkit-transition: all .8s ease;
}

a:hover,
a:focus {
    color: #677178;
    text-decoration: none;
    outline: 0;
}

@media screen and (min-width: 769px) {
	.sp{
		display:none;
	}
}  

@media screen and (max-width: 768px) {
	.pc{
		display:none;
	}
}

::selection {
    background:#dde7f0;
}

/* Header */
.gbl-header{
	width: 100%;
	position:fixed;
	z-index:999;
	background:#fff;
}

.gbl-header .header-logo{
	display:inline-block;
	padding-top:30px;
}

.gbl-header .header-in{
	width: 100%;
	margin:0 auto;
	padding:0 2%;
	display: flex;
	justify-content:space-between;
}

.header-fix {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
    background:rgba(255,255,255,.9);
 	padding-top:0;
 	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
    opacity:1;
	background:#fff;
	box-shadow: 0px 0px 12px 12px rgba(0,0,0,0.04) ;
}

.header-fix .gnav-list li a {
	padding-top:25px;
	margin-top:0;
	color:#222;
}

.gbl-header .gnav-list li a {
	vertical-align:middle;
}





@media all and (min-width:769px) {

	.gbl-header{
		height:100px;
		background:#fff;
	}

    .gbl-header .gnav{
     margin-top:34px;
    }
    
    .gbl-header .gnav-list,.gbl-header .gnav-list.fix{
	   display: block!important;
    }

    .gbl-header .gnav-list li{
	   display: inline-block;
	   white-space:nowrap;
    }


.gbl-header .gnav-list li a{
	display: block;
  	color:#7f9bb1;
	font-family: 'Barlow Semi Condensed', sans-serif;
	font-size:0.9rem;
	letter-spacing:.2em;
	margin:0 0 0 12px;
	
	padding:10px;
	text-align: center;
	position: relative;
	z-index: 2;
	opacity:.7;
}

.gbl-header .gnav-list li a.stay{
	opacity:1;
	color:#658095;
}

.gbl-header .gnav-list li:nth-child(7) ,.gbl-header .gnav-list li:nth-child(8) ,.gbl-header .gnav-list li:nth-child(9) {
   display:none;
}

	
	.gbl-header .gnav-list li a:hover {
		opacity:1;
		background-position:bottom center;
    }
	

	.menu-sp{
	display:none;
}

    .header-fix{
        display:block!important;
    }

    .header-fix .gnav-list li a {
    	color:#7f9bb1;
    }



}


@media screen and (max-width: 768px) {

	.gbl-header{
		height:100px;
	}

    .gbl-header .header-in{
	   padding:20px 4%;
    }
    
	
    .gbl-header .header-logo{
	   display:inline-block;
	   padding-top:10px;
	   z-index:99;
    }
    
    .gbl-header .header-logo img{
	   width:160px;
    }
    
	.header-fix .header-logo{
		width:10px;
		position:fixed;
	}
	
	.gbl-header .gnav{
	   z-index:10;
	}
	
	.gbl-header .gnav-list {
		position:fixed;
		display:none;
		top:0;
		width:100%;
		height:0;
		left:0;
		margin:0;
		padding:20vh 0 0;
		background-color: #f1f2f2;
		
    }
    
    .gbl-header .gnav-list li{
		width:100%;
		display:block;
		padding-left:1.4em;
		
	}
	
	   .gbl-header .gnav-list.fix li{
		width:100%;
		display:block;
	}
	
	.gbl-header .gnav-list li a{
		width:100%;
		color:#658095;
		padding:20px 0 20px 24%;
		height:auto;
		border-right:none;
		text-align:left;
		font-size:1.6rem;
		font-weight:300;
		display:block!important;
	}
	
		.gbl-header .gnav-list li:nth-child(7),.gbl-header .gnav-list li:nth-child(8),.gbl-header .gnav-list li:nth-child(9){
		display:inline-block;
		width:4em;
		padding:0;
		margin-top:40px;
		position:absolute;
	}
	
	.gbl-header .gnav-list li:nth-child(7){
		left:24vw;
		
	}
		
	.gbl-header .gnav-list li:nth-child(8){
		left:40vw;
	}
	
		.gbl-header .gnav-list li:nth-child(9){
		left:56vw;
	}
.gbl-header .gnav-list li:nth-child(7) a::before{
	font-size:2rem;
	  font-family: 'icon';
    content: "\ea91";
    margin-right:1em;
    padding-left:0.5em;
}

.gbl-header .gnav-list li:nth-child(8) a::before{
	font-size:2rem;
	  font-family: 'icon';
    content: "\ea92";
    margin-right:1em;
    padding-left:0.5em;
}

.gbl-header .gnav-list li:nth-child(9) a::before{
	font-size:2rem;
	font-family: 'icon';
    content: "\ea96";
    margin-right:1em;
    padding-left:0.5em;
}

.gbl-header .gnav-list li:nth-child(7) a,.gbl-header .gnav-list li:nth-child(8) a,.gbl-header .gnav-list li:nth-child(9) a{
    text-indent:calc(100% - 2em);
    overflow:hidden;

    white-space:nowrap;
    width:2em;
    padding:.5em auto;
}



	.gbl-header .gnav-list li,.gbl-header .gnav-list{	
		animation:show .3s both;
	}

	.gbl-header .gnav-list li:first-child{	
		animation-delay: .4s;
	}

	.gbl-header .gnav-list li:nth-child(2){	
		animation-delay: .5s;
	}

	.gbl-header .gnav-list li:nth-child(3){	
		animation-delay: .6s;
	}

	.gbl-header .gnav-list li:nth-child(4){	
		animation-delay: .7s;
	}
	
	.gbl-header .gnav-list li:nth-child(5){	
		animation-delay: .8s;
	}
	
	.gbl-header .gnav-list li:nth-child(6){	
		animation-delay: .9s;
	}
	
	@keyframes show {
	   0% {margin-left:-100vw;opacity:0;}
	   100% {margin-left:0;opacity:1;}
	}
	
    .gbl-header .gnav-list.fix{
        height:100vh;
        display:block;
	}

    .menu-sp{
		display:block;
		position:fixed!important;
		color:#7f9bb1;
		height:100px;
		width:80px;
		padding:28px 25px 0;
		top:10px;
		right:0;
		font-size:2rem;
		text-align:center;
		z-index:99;
	}

    .menu-sp,.menu-sp span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }
    
    .menu-sp span {
        position: absolute;
        left: 24px;
        width: 32px;
        height:1px;
        background-color: #7f9bb1;
    }
    
    .gbl-header.header-fix .menu-sp span{
	   background-color:#7f9bb1;
	}
	
    .menu-sp span:nth-of-type(1) {
     top: 26px;
    }
    .menu-sp span:nth-of-type(2) {
       top: 39px;
    }
    .menu-sp span:nth-of-type(3) {
     top: 52px;
    }

	
    .menu-sp.active span:nth-of-type(1) {
    -webkit-transform: translateY(13px) rotate(-45deg);
     transform: translateY(13px) rotate(-45deg);
     background-color: #658095;
    }
    .menu-sp.active span:nth-of-type(2) {
    opacity: 0;
    }
    .menu-sp.active span:nth-of-type(3) {
     -webkit-transform: translateY(-13px) rotate(45deg);
     transform: translateY(-13px) rotate(45deg);
     background-color: #658095;
    }



}

@media only screen and (max-width: 768px) and (orientation: landscape){
  	.gbl-header .gnav-list li:first-child a,.gbl-header .gnav-list li:nth-child(2) a,.gbl-header .gnav-list li:nth-child(3) a,.gbl-header .gnav-list li:nth-child(4) a,.gbl-header .gnav-list li:nth-child(5) a{
		padding:10px 0 10px 24%;
		font-size:1.2rem;
	}
	
	.gbl-header .gnav-list li:nth-child(6) ,.gbl-header .gnav-list li:nth-child(7) ,.gbl-header .gnav-list li:nth-child(8) {
		margin-top:10px;
	}
	
	.gbl-header .gnav-list li:nth-child(6){
		left:24vw;
		
	}
		
	.gbl-header .gnav-list li:nth-child(7){
		left:36vw;
	}
	
		.gbl-header .gnav-list li:nth-child(8){
		left:48vw;
	}
	
}

@media only screen and (max-height: 359px) and (orientation: landscape){
  .gbl-header .gnav-list li:first-child a,.gbl-header .gnav-list li:nth-child(2) a,.gbl-header .gnav-list li:nth-child(3) a,.gbl-header .gnav-list li:nth-child(4) a,.gbl-header .gnav-list li:nth-child(5) a{
		padding:8px 0 8px 24%;
		font-size:1rem;
	}
}





/* Footer */

.gbl-footer{
	margin-top:100px;
	padding:40px 0;
	text-align:center;
}

.gbl-footer .gbl-footer-copyright{
	color:#afbcc7;
	letter-spacing:.2em;
	font-family: 'Barlow Semi Condensed', sans-serif;
	font-size:0.8rem;
}



.gbl-footer .nav-sns li a{
    color: #7f9bb1;
    font-size:1.2rem;
    padding:10px;
}

.gbl-footer .nav-sns li a:hover {
	opacity:1;
}

.gbl-footer .nav-sns li:nth-child(1) a::before{
	 font-family: 'icon';
    content: "\ea91";
    margin-right:1em;
}

.gbl-footer .nav-sns li:nth-child(2) a::before{
	font-size:1.2rem;
	 font-family: 'icon';
    content: "\ea92";
    margin-right:1em;
}

.gbl-footer .nav-sns li:nth-child(3) a::before{
	font-size:1.2rem;
	font-family: 'icon';
    content: "\ea96";
    margin-right:1em;
}

.gbl-footer .nav-sns li:nth-child(1) a,.gbl-footer .nav-sns li:nth-child(2) a,.gbl-footer .nav-sns li:nth-child(3) a{
    text-indent:calc(100% - 0.9em);
    overflow:hidden;
    display:block;
    white-space:nowrap;
    width:2em;
}


@media all and (min-width:769px) {
    .gbl-footer .nav-sns{
	    position:fixed;
	    right:1%;
	    top:calc(50vh - 60px);
    }
    .gbl-footer .nav-sns li:nth-child(2) a{
     margin:30px 0;
    }

    .gbl-footer .nav-sns li a{
        opacity:.7;
    }
}

@media all and (max-width:768px) {
.gbl-footer .nav-sns li{
	display:inline-block;
	margin:0 10px 20px;
    }
}





/* contents */
.contents{
	position:relative;
	top:100px;
	width:90%;
	margin:auto;
	color:#677178;
}

div.contents{
	max-width:1200px;
	width:90%;
}

div.contents{
	padding-top:100px;
}

.contents p{
	line-height:1.8;
}

section{
    width:100%;
}

	.contents h1{
		font-size:1.8rem;
		font-weight:100;
		margin-bottom:80px;	
		color: #7f9bb1;
	}
	
	.contents h2{
		font-size:1.8rem;
		font-weight:300;
		margin-bottom:48px;
		color: #7f9bb1;
	}
	
.contents h1 span.title-eng:before {
    content: attr(title-eng);
    font-family: 'Barlow Semi Condensed', sans-serif;
		letter-spacing:0.2em;
		font-size:3.6rem;vertical-align:middle;
}

.contents h1 strong {
    display:none;
}

	.contents h2 span{
		font-family: 'Barlow Semi Condensed', sans-serif;
		letter-spacing:0.2em;
	}

.col-list ul{
    width:100%;
    max-width:1800px;
    display:flex;
    flex-wrap:wrap;
    
}

.col-list ul li{
    width:47%;
    max-height:500px;
    margin-right:6%;
    margin-bottom:6%;
    overflow:hidden;
}

.col-list ul li:nth-child(2n){
    margin-right:0;
    
}

.col-list ul li img{
    width:100%;
}

.col-list ul li a:hover{
    opacity:.5;
}


.contents figure{
	width:100%;
	text-align:center;
}

.contents figure img{
	width:100%;
}
	
.contents figcaption{
	padding-top:32px;	
}

.contents .headline{
	border-top:1px solid #afbcc7;
	border-bottom:1px solid #afbcc7;
	padding:1.6em 0.2em;
	margin-bottom:80px;
}

.contents .headline dl{
	display:flex;
}

.contents .headline dt{
	font-family: 'Barlow Semi Condensed', sans-serif;
	font-size:1.1rem;
	font-weight:400;
	letter-spacing:.4em;
	padding-right:2em;
	color: #7f9bb1;
}

.info-event{

}

.info-event .date{
	color: #7f9bb1;
	margin-bottom:10px:
	font-family: 'Barlow Semi Condensed', sans-serif;
	font-weight:300;
	font-size:.9rem;
	padding-bottom:20px;
	display:inline-block;
	padding-right:2em;
}

.info-event .venue{
	color: #7f9bb1;
	margin-bottom:10px:
	font-weight:300;
	font-size:.9rem;
	padding-bottom:20px;
	display:inline-block;
	vertical-align:top;
}

.info-event .venue a{
	text-decoration:underline;
}

.info-event figure{
	margin-bottom:32px;
	padding:0;
}

.info-event dl dt{
	color: #7f9bb1;
	font-size:1.6rem;
	font-weight:300;
	line-height:1.3;
	padding-bottom:20px;
}

.info-event dl dd{
	line-height:1.8;
}


.hd01{
    font-family: "Kokoro";
    font-size:3.6em;
    line-height:1.5!important;
    letter-spacing:-0.12em;
    margin-bottom:40px;
    color: #7f9bb1;
}

.contents .history dl{
	display:flex;
	flex-wrap:wrap;
	width:100%;

	border-top:1px solid #afbcc7;
}

.contents .history dl dt{
	width:75%;
	border-bottom:1px solid #afbcc7;
	padding:2em 0.1em;
	
}

.contents .history dl dd{
	width:25%;
	border-bottom:1px solid #afbcc7;
	padding:2em 0.1em;
	text-align:center;
	color: #7f9bb1;
}



@media screen and (min-width: 769px) {
	.col-2,.col-3{
		display:flex;
    	flex-wrap:wrap;
	}

	.col-2 > *{
		width:47%;
		margin-right:6%;
		margin-bottom:6%;
	}
	
	.col-3 > *{
		width:30%;
		margin-right:5%;
		margin-bottom:80px;
	}
	
	.col-2 > *:nth-child(2n),.col-3 > *:nth-child(3n){
		margin-right:0;
	}
	


}


@media screen and (max-width: 768px) {
	.contents{
		top:100px;
	}
	
	div.contents{
		top:40px;
	}
	
		.contents h1{
		font-size:1.2rem;
		font-weight:300;
		margin-bottom:64px;	
		color: #7f9bb1;
	}
	
	.contents h2{
		font-size:1.6rem;
		font-weight:300;
		margin-bottom:24px;
		color: #7f9bb1;
	}
	

	.contents h1 span.title-eng:before {
    content: attr(title-eng);
    font-family: 'Barlow Semi Condensed', sans-serif;
		letter-spacing:0.2em;
		font-size:2.4rem;vertical-align:middle;
}
	
	.contents h2 span{
		font-family: 'Barlow Semi Condensed', sans-serif;
		letter-spacing:0.2em;
	}
	
	.hd01{
    font-size:2.2em;

}

.contents .headline{
	padding:1em 0.2em;
}

.contents .headline dl{
	display:flex;
	flex-direction:column;
}

.contents .headline dt{
	margin-bottom:.8em;
	width:100%;
}

.contents .headline dd{
	line-height:1.4;
	width:100%;
}

	
	.col-list ul li{
    width:100%;
    max-height:500px;
    margin-right:0;
    margin-bottom:6%;
    overflow:hidden;
	}
	
	.col-2 > *,.col-3 > *{
		margin-bottom:80px;
	}

}


/* animation */
 .animate {
        opacity: 0;
        transform: translate(0, 60px);
        -webkit-transform: translate(0, 60px);
        transition: 1s;
 }
 
 .fadeInUp {
        opacity: 1.0;
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
}


.ico-instagram::before{
	font-size:1rem;
	 font-family: 'icon';
    content: "\ea92";
    padding-right:.2em;
    display:inline-block;
}