@charset "utf-8";

/*======================================================================================

Common

======================================================================================*/

* {margin: 0; padding: 0; }

html {font-size: 62.5%; }



body {
  background: #001E32;
  margin: 0;
  color: #fff;
  font-family: 'EB Garamond','游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  font-size: 1.6rem;
  line-height: 1.65;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased; 
  -moz-osx-font-smoothing: grayscale; 
}

  body {
    -webkit-animation: fadeIn 3s ease 0s 1 normal;
    animation: fadeIn 3s ease 0s 1 normal;
  }

  @keyframes fadeIn {
    0% {
      opacity: 0
    }

    100% {
      opacity: 1
    }
  }

  @-webkit-keyframes fadeIn {
    0% {
      opacity: 0
    }

    100% {
      opacity: 1
    }
  }




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

dd { margin-left: 0;}

a {color: #fff; 
  text-decoration: none;
  -webkit-backface-visibility: hidden; /* 追加 */
  backface-visibility: hidden; /* 追加 */
}

a:hover {
 color:#7A95A7; 
 -webkit-transition: 0.35s ease-in-out;
 -moz-transition: 0.35s ease-in-out;
 -o-transition: 0.35s ease-in-out;
 transition: 0.35s ease-in-out;
}

a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=75);
}

a img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  display: block;
}



.main-container{
  background-color: #fff;
  max-width: 100%;
  padding: 0 ;
  padding-top: 0;
  margin:  50px auto;
}

section{
  width: 90%;
  max-width: 1080px;
  margin: 90px auto 200px;
}

section:last-child{margin-bottom: 80px;}

.flex{
  display: flex;
  flex-direction:row;
  justify-content: space-between;
}

/* button */

.btn_area{margin-bottom: 20px;}

.button {
  display: inline-block;
  width: 100%;
  max-width: 500px;
  height: 80px;
  text-align: center;
  text-decoration: none;
  outline: none;
  z-index: 2;
  border: 1px solid  #001E32;
  color:  #001E32;
  background-color: #fff;
  font-size: 16px;
  overflow: hidden;
  line-height: 80px;
}

.button::before, .button::after {position: absolute; z-index: -1; display: block;}

.button:hover { color: #fff; background-color:#7A95A7;  border: 1px solid #7A95A7;}

.button::after { top: -100%; width: 100%; height: 100%;}

.button:hover::after { top: 0; }

.btnarrow1{position: relative;}

.btnarrow1::before{
  content: '';
  position: absolute;
  bottom:48%;
  right:5%;
  width: 60px;
  height: 1px;
  background:#001E32;
  transition: all .3s;
}

.btnarrow1::after{
  content: '';
  position: absolute;
  top: 44.5%;
  right:4.9%;
  width: 15px;
  height:1px;
  background:#001E32;
  transform: rotate(35deg);
  transition: all .3s;
}

.btnarrow1:hover::before{right:3%; background-color: #C0CAD1;}

.btnarrow1:hover::after{right:3%; top: 44%;  background-color: #C0CAD1;}


/* Mainvisual */

.wrapper{position: relative;}

ul.menu{
  width: 120px;
  height: 56px;
  background-color: #001E32;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1000000;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
ul.menu li a{ 
  color: #556A77;
  font-size: 1.6rem;
  display: inline-block;
  padding: 15px 18px;
  vertical-align: center;
}

ul.menu li a.active{color: #fff;}

ul.menu li a:hover{color: #fff;}

ul.menu li.menu_en::after{
  content: "";
  background-color:#7A95A7; 
  height: 16px;
  width: 1px;
  position: absolute;
  top: 35%;
  left: 46%;}

  h1{
   font-family: 'EB Garamond',serif;
   font-size: 3.6rem;
   letter-spacing: 0.08em;
   text-align: center;
   font-weight: 300;
   z-index: 100000;
   position: absolute;
   width: 100%;
   top: 46%;
   left: 100%;
   transform: translateY(-50%) translateX(-100%);
   -webkit- transform: translateY(-50%) translateX(-100%);
 }

 .slider {
  position:relative;
  z-index: 1;
  height: 100vh;
}
.slider-item01 { background:url(../img/main01.jpg);}

.slider-item02 {background:url(../img/main02.jpg);}

.slider-item03 {background:url(../img/main03.jpg);}

.slider-item04 {background:url(../img/main04.jpg);}

.slider-item {
  width: 100%;
  height:100vh;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}


/* Release */

.album-image{max-width: 500px; width: 46%;}

.album-image img {width: 100%;}

.album-info{margin: 30px 0;}

h2.cd_title{font-size: 3.2rem; text-align: left; margin-bottom: 5px;}

h2.cd_title span{font-size: 2.2rem; display: inline-block; position: relative; margin-left: 15px; padding-left: 15px;}

h2.cd_title span::after {
  content:"";
  display:inline-block;
  width:1px;
  height:25px;
  background-color:#fff;
  position:absolute;
  top:5px;
  left:0px;
}

.subtext{font-size: 1.3rem;}

.program{max-width:480px; width: 44%; margin-top: -10px;}

.heading01 {display: flex; align-items: center; margin-bottom: 30px;}

.heading01:after {content: ""; height: 1px; flex-grow: 1; background-color: #5A7586;}

.heading01:after { margin-left: 1rem; }

.heading01:before { display: none;}

.program01{font-size: 1.3rem; }

.program02{font-size: 1.6rem; margin-bottom: 20px; line-height:1.8; }



/* movie */

section#movie{width: 90%; max-width: 600px;  }

.vimeo {position: relative; width: 100%; padding-top: 100%; margin-bottom: 30px;}

.vimeo iframe {position: absolute; top: 0; right: 0; width: 100%; height: 100%;}



/* data */

section#data{width: 90%; max-width: 600px; border-bottom:1px  #5A7586 solid; }

.heading02 {display: flex; align-items: center; margin-bottom: 30px;}

.heading02:before, .heading02:after {content: ""; height: 1px; flex-grow: 1; background-color: #5A7586;}

.heading02:before { margin-right: 1rem; }

.heading02:after {margin-left: 1rem;}

.data_desc p{font-size: 13px;width: 100%; max-width: 430px; margin: 0 auto 30px; text-align: justify;}


/* profile */

section#profile{width: 90%; max-width: 860px; }

h2{font-size: 2.8rem; text-align: center; font-weight:normal; margin-bottom: 90px;}

.row-reverse{flex-direction:row-reverse;}

.photo{width: 42%; max-width: 365px;}

.profile_desc{width: 50%; max-width: 430px; }

.job{font-size: 1.4rem; margin-bottom: 10px ;}

.name{font-size: 2.4rem; margin-bottom: 24px; letter-spacing: 0.08em;}

.name span{
  font-size:1.8rem;
  color:#7A95A7;
  display:inline-block;
  padding-bottom: 15px;
  padding-left: 15px;
  margin: -25px 0 0 15px;
  position: relative;
  line-height: 1;
}

.name span::after{
  content: "";
  background-color:#7A95A7; 
  height: 20px;
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
}

ul.link{ margin: 30px 0 0; }

ul.link li{margin-bottom: 3px;}

ul.link li i{display: inline-block; margin-right: 8px;}



/* footer */

footer{margin: 140px auto 40px;}

.logo{width: 40px; margin:0 auto 20px;}

.logo img {margin:0 auto; width: 100%;}

.copyright{font-size: 1.3rem;text-align: center;}


/*======================================================================================

smartphone size

======================================================================================*/


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

/* commons */

body {font-size: 1.4rem;}

.flex{display: block;}

.main-container{margin:  25px auto;}

section{width:  90%; margin: 60px auto 120px;}


/* Mainvisual */

h1{font-size: 2.4rem;    top: 40%;}

.slider{  height:90vh;}

.slider-item {
  width: 100%;
  height:90vh;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* button */

.btn_area{margin-bottom: 20px;}

.button { width: 100%; max-width: 100%; font-size: 14px;}

.btnarrow1::before{width: 40px;}


/* Release */

.album-image{max-width: 100%; width: 100%;}

.album-info{margin: 30px 0;}

h2.cd_title{font-size: 2.5rem;}

h2.cd_title span{font-size: 1.6rem; position: relative;    display:inline-block;}

h2.cd_title span::after {
  content:"";
  display:inline-block;
  width:1px;
  height:16px;
  background-color:#fff;
  position:absolute;
  top:5px;
  left:0px;
}

.subtext{font-size: 1.3rem;}

.program{max-width:100%; width: 100%; margin-top: 50px;}

.program02{margin-bottom: 10px;}

.heading01 {display: flex; align-items: center; margin-bottom: 30px; font-size: 1.6rem;}

.heading01:before, .heading01:after {content: ""; height: 1px; flex-grow: 1; background-color: #5A7586;}

.heading01:before { margin-right: 1rem;display: block }

.heading01:after { margin-left: 1rem; }


/* data */

.data_desc p{max-width: 100%;}


/* profile */

section#profile{width: 90%; max-width: 860px; }

h2{font-size: 2.2rem; margin-bottom: 30px;}

.row-reverse{flex-direction:row-reverse;}

.photo{width:70%; max-width: 70%; margin: 0 auto 30px;}

.profile_desc{width: 100%; max-width: 100%; }

.job{text-align: center}

.name{font-size: 2.2rem; margin-bottom: 24px; letter-spacing: 0.08em; text-align: center;}

.name span{ font-size:1.4rem; display: block; margin: 8px 0; padding-left: 0; }

.name span::after{content: none; margin: 15px 0 0;}


/* footer */

footer{margin: 40px auto;}

.logo{width: 36px; margin:0 auto 20px;}

.copyright{font-size: 1.2rem;text-align: center;}


}