@charset "utf-8";

#header_ > nav > ul > li.main > ul > li.top > a {background:#de0515; color:#fff;}
#header_ > nav > ul > li.main > ul > li.top > a::before {color:inherit;}

html.fac-js-enabled #header_ {opacity:0;}
html.fac-dom-loaded #header_ {opacity:1;}

@media screen and (min-width:600px) {
html.fac-image-visible #header_ {
	display:block; width:190px; min-height:0; position:absolute; left:40px; top:40px; margin:0; transform:none; border-radius:20px; box-shadow:none; text-align:left; animation:none;}
html.fac-image-visible #header_ > h1 {display:block;}
html.fac-image-visible #header_ > nav {display:block; margin:4px 0 0;}
html.fac-image-visible #header_ > nav > ul {display:block; padding:0; border-top:1px solid #e7e7e7;}
html.fac-image-visible #header_ > nav > ul > li {display:block;}
html.fac-image-visible #header_ > nav > ul > li > ul {display:block;}
html.fac-image-visible #header_ > nav > ul > li > ul > li {display:block; padding:22px 30px; border-width:0; border-bottom-width:1px; letter-spacing:0.04em;}
html.fac-image-visible #header_ > nav > ul > li > ul > li > a {display:block; height:auto; margin:-22px -30px; padding:22px;}
html.fac-image-visible #header_ > nav > ul > li.main > ul > li.top > a::before {display:none;}
html.fac-image-visible #header_ > nav > ul > li.sub  > ul > li.share {display:none;}
html.fac-image-visible #header_ > nav > ul > li.sub  > ul > li.corporate {display:block; margin:0; padding:10px; font-size:1.1rem; text-align:center; letter-spacing:normal;}
html.fac-image-visible #header_ > nav > ul > li.sub  > ul > li.corporate > a {margin:0; padding:0.7em 2em;}
}

#header_ {animation:header-show 0.3s ease-out 0s;}
#notes_ > h1 {border-color:#f4e8e8;}

@keyframes header-show {
from {transform:translateY(-100%);}
to   {transform:translateY(0);}
}

#main_ {background:#fcf5f5;}

#main_ > article {margin:-130px 0 0;}
#main_ > article > header {height:100vh; min-height:600px; position:relative; margin:0 calc(50% - 50vw); background:#fff; text-align:center;}
#main_ > article > header > h1 {position:absolute; left:50%; top:47%; z-index:10; transform:translate(-50%,-8em); color:#fff; font-size:2.0rem; font-weight: 500; line-height:1; letter-spacing:0.2em;}
#main_ > article > header > strong {
	display:block; position:absolute; left:50%; top:47%; z-index:10; transform:translate(-50%,-50%); 
	color:#fff; font-size:4.4rem; font-weight:300; line-height:1.68; letter-spacing:0.14em; white-space:nowrap;}
#main_ > article > header > .image {position:absolute; left:0; right:0; top:0; bottom:0; overflow:hidden;}
#main_ > article > header > .image .large {}
#main_ > article > header > .image .small {display:none;}
#main_ > article > header > .image > video {display:block; width:auto; min-width:200%; height:auto; min-height:200%; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(0.5);}
#main_ > article > header > .image .fac-gallery {height:100%;}
#main_ > article > header > .image .fac-gallery-slider {height:100%;}
#main_ > article > header > .image .fac-gallery-list {height:100%; position:relative;}
#main_ > article > header > .image .fac-gallery-item {position:absolute; left:0; right:0; top:0; bottom:0; z-index:1; opacity:0; transition:opacity 2s ease-in-out 0s;}
#main_ > article > header > .image .fac-gallery-item > img {display:block; width:auto; min-width:200%; height:auto; min-height:200%; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(0.5);}
#main_ > article > header > .image .fac-gallery-item > img.large {}
#main_ > article > header > .image .fac-gallery-item > img.small {display:none;}
#main_ > article > header > .image .fac-gallery-item.fac-gallery-selected, 
#main_ > article > header > .image .fac-gallery-item.fac-gallery-last-selected {z-index:3; opacity:1; animation:header-image-zoom 12s cubic-bezier(0.04,0.2,0.39,0.98) 0s;}
#main_ > article > header > .image .fac-gallery-item.fac-gallery-last-selected {z-index:2;}
#main_ > article > header > .image .fac-gallery-nav {display:none;}
html.fac-initial #main_ > article > header .image .fac-gallery-item.fac-gallery-selected {transition-duration:0s;}
#main_ > article > header > .share {position:absolute; right:50px; top:50px; z-index:10;}
#main_ > article > header > .share > h1 {position:relative; padding:0 0 0.5em; color:#fff;}
#main_ > article > header > .share > h1::after {display:block; content:""; position:absolute; left:0; right:0; bottom:0; border-bottom:1px solid rgba(255,255,255,0.6);}
#main_ > article > header > .news {width:300px; position:absolute; right:50px; bottom:45px; z-index:10; padding:18px 20px; border-radius:15px; background:#fff; font-size:1.5rem; text-align:left;}
#main_ > article > header > .news > h1 {display:none;}
#main_ > article > header > .news > ul {}
#main_ > article > header > .news > ul > li {}
#main_ > article > header > .news > ul > li:nth-child(n+2) {display:none;}
#main_ > article > header > .news > ul > li > a {display:block; text-decoration:none;}
#main_ > article > header > .news > ul > li time {display:block; color:#de0515; font-size:1.4rem; font-weight:bold; line-height:1; letter-spacing:0.12em;}
#main_ > article > header > .news > ul > li h2 {margin:0.5em 0 0; font-family:inherit; letter-spacing:0.04em;}
#main_ > article > header > .scroll {
	display:block; width:50px; height:0; position:absolute; left:0; right:0; bottom:37px; z-index:10; margin:auto; padding:65px 0 0; 
	background:url(../common/images/icon_scroll.png) center center no-repeat; color:#fff; font-size:1.1rem; overflow:hidden; 
	font-family:HelveticaNeueLTW1G-Md,"Helvetica Neue LT W1G 65 Medium","Helvetica Neue",Aileron,"Noto Sans JP","Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif; 
	animation:header-scroll-move 1.5s cubic-bezier(0.39,0.575,0.565,1) infinite;}

@keyframes header-image-zoom {
from {transform:scale(1.2);}
to   {transform:scale(1);}
}

@keyframes header-scroll-move {
0%   {transform:translateY(-20px); opacity:0;}
80%  {transform:translateY(0); opacity:1;}
100% {opacity:0;}
}

#concept {margin:0 calc(50% - 50vw); padding:130px calc(50vw - 50%) 180px; background:#fff; font-size:1.8rem;}
#concept > * {margin:0 0 0 50%;}
#concept::before {
	display:block; float:left; content:""; width:50%; height:0; position:relative; margin:0; padding:430px 0 0; overflow:hidden; 
	background:url(../common/images/logo.png) center center no-repeat; background-size:68%; 
	background-image:url(../common/images/logo.svg), linear-gradient(transparent, transparent);}
#concept > h1 {
	color:#de0515; font-size:1.7rem; font-weight:600; letter-spacing:0.16em; 
	font-family:HelveticaNeueLTW1G-Md,"Helvetica Neue LT W1G 65 Medium","Helvetica Neue",Aileron,"Noto Sans JP","Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;}
#concept > h1::before, 
#concept > h1::after  {display:block; content:""; width:310px; height:160px; position:absolute; left:0; top:0; background:no-repeat; overflow:hidden;}
#concept > h1::before {margin:-50px 0 0 -696px; background-image:url(images/concept_ornament01.png);}
#concept > h1::after  {width:325px; margin:415px 0 0 405px; background-image:url(images/concept_ornament02.png);}
#concept > strong {display:block; margin-top:0.9em; font-size:3.6rem; font-weight:400; line-height:1.8; letter-spacing:0.2em;}
#concept > strong .fac-scroll-reveal-line {margin:0;}
#concept > p {margin-top:1.5em; line-height:2.4; letter-spacing:0.16em;}
#concept > .more {margin-top:2.5em;}
#concept > .image {clear:both; padding-top:140px;}

#programs {position:relative; margin:-1.5em calc(50% - 50vw) 0; padding:0 calc(50vw - 50%);}
#programs::after {display:block; content:""; position:absolute; left:0; right:0; top:1.5em; bottom:0; background:#fcf5f5;}
#programs > * {position:relative; z-index:2;}
#programs > header {z-index:4;}
#programs > header > h1 {
	display:table; color:#de0515; font-size:6.8rem; font-weight:200; line-height:1.05; letter-spacing:0.04em; 
	font-family:HelveticaNeueLTW1G-Th,"Helvetica Neue LT W1G 35 Thin","Helvetica Neue",Aileron,"Noto Sans JP","Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;}
#programs > header > h1 small {display:block; margin:0.6em 0 0; font-size:2.0rem; font-weight:500;}
#programs > header > nav {position:relative; z-index:2; margin:3.8em 0 1em; padding:28px 40px; border-radius:15px; background:#fff; font-size:1.6rem;}
#programs > header > nav > ul {
	display:-webkit-flex; display:flex; 
	-webkit-flex-wrap:wrap; flex-wrap:wrap; 
	margin:-1em 0 0 -1.5em;}
#programs > header > nav > ul > li {margin:1em 0 0 1.5em;}
#programs > header > nav > ul > li > input {display:none;}
#programs > header > nav > ul > li > label {position:relative; padding:0.5em 0.5em 0.5em 2.5em; cursor:pointer; font-weight:500; transition:color 0.2s ease-in-out 0s;}
#programs > header > nav > ul > li > label::before, 
#programs > header > nav > ul > li > label::after  {
	display:block; width:1.2em; height:1.2em; position:absolute; left:0.5em; top:50%; transform:translate(0,-50%); transition:all 0.2s ease-in-out 0s; transition-property:background-color,color;}
#programs > header > nav > ul > li > label::before {content:""; border-radius:100%; background:#e4e5e7;}
#programs > header > nav > ul > li > label::after  {content:"\e900"; transform:translate(18%,-42%); color:transparent; font:bold 1em/1 icons;}
#programs > header > nav > ul > li > label:hover {color:#de0515;}
#programs > header > nav > ul > li > input:checked + label::before {background-color:#faebeb;}
#programs > header > nav > ul > li > input:checked + label::after  {color:#de0515;}
#programs > .c-program-items {position:relative;padding-top: 60px;}
#programs > .c-program-items--mini {
    padding-top: 80px;
}
#programs > .pickup {z-index:3;}
#programs > .others {}
#programs > section {margin-top:0;}
#programs > section > h1 {
	-webkit-flex:1 1 100%; flex:1 1 100%; 
	display:-webkit-flex; display:flex; 
	-webkit-justify-content:center; justify-content:center; 
	-webkit-align-items:center; align-items:center; 
	margin:0 0 0 40px; color:#de0515; font-size:2rem; font-weight:normal;}
#programs > section > h1::before, 
#programs > section > h1::after  {
	-webkit-flex:1 1 auto; flex:1 1 auto; 
	display:block; content:""; height:0; border-top:1px solid #f4e8e8;}
#programs > section > h1::before {margin-right:2em;}
#programs > section > h1::after  {margin-left:2em;}

/* Loading Animation */
html.fac-js-enabled #container_ {height:100%;}
html.fac-js-enabled #container_::before {display:block; content:""; position:fixed; left:0; right:0; top:0; bottom:0; background:#fff; z-index:9998;}
html.fac-js-enabled #container_ > .loading {position:fixed; left:0; right:0; top:0; bottom:0; background:#fff; z-index:9999; transition:opacity 1.0s ease-in-out 1.5s;}
html.fac-js-enabled #container_ > .loading > .logo {
	width:308px; height:0; padding:308px 0 0; position:absolute; left:100%; top:60%; transform:translate(-50%,-60%); 
	background-image:url(../common/images/logo_airplane.svg); transition:0.5s linear; transition-property:left,top; will-change:left,top;}
html.fac-js-enabled #container_ > .loading > .logo::before, 
html.fac-js-enabled #container_ > .loading > .logo::after  {
	display:block; content:""; width:100%; height:0; position:absolute; left:0; right:0; top:0; bottom:0; padding:100% 0 0; background:center center no-repeat; overflow:hidden; will-change:transform;}
html.fac-js-enabled #container_ > .loading > .logo::before {transform:translateY(25%); opacity:0; background-image:url(../common/images/logo_sora.svg);}
html.fac-js-enabled #container_ > .loading > .logo::after  {transform:translateY(-25%); opacity:0; background-image:url(../common/images/logo_iku.svg);}
html.fac-header-loaded-0   #container_ > .loading > .logo {left:100%; top:60%;}
html.fac-header-loaded-10  #container_ > .loading > .logo {left:95%; top:59%;}
html.fac-header-loaded-20  #container_ > .loading > .logo {left:90%; top:58%;}
html.fac-header-loaded-30  #container_ > .loading > .logo {left:85%; top:57%;}
html.fac-header-loaded-40  #container_ > .loading > .logo {left:80%; top:56%;}
html.fac-header-loaded-50  #container_ > .loading > .logo {left:75%; top:55%;}
html.fac-header-loaded-60  #container_ > .loading > .logo {left:70%; top:54%;}
html.fac-header-loaded-70  #container_ > .loading > .logo {left:65%; top:53%;}
html.fac-header-loaded-80  #container_ > .loading > .logo {left:60%; top:52%;}
html.fac-header-loaded-90  #container_ > .loading > .logo {left:55%; top:51%;}
html.fac-header-loaded-100 #container_ {height:auto;}
html.fac-header-loaded-100 #container_ > .loading {opacity:0; pointer-events:none;}
html.fac-header-loaded-100 #container_ > .loading > .logo {left:50%; top:50%; transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);}
html.fac-header-loaded-100 #container_ > .loading > .logo::before, 
html.fac-header-loaded-100 #container_ > .loading > .logo::after  {transform:translateY(0); opacity:1; transition:0.7s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s; transition-property:transform,opacity;}
html.fac-header-loaded-100 #container_::before {display:none;}

/* Scroll Animation */
html.fac-scroll-reveal-enabled #main_ > article > header > h1 {transform:translate(-50%,-8em) translateY(5rem); opacity:0; transition-delay:0.8s;}
html.fac-scroll-reveal-enabled.wf-active #main_ > article > header > h1.fac-scroll-reveal--show {transform:translate(-50%,-8em); opacity:1;}
html.fac-scroll-reveal-enabled #main_ > article > header > strong .fac-scroll-reveal-slider {transition-delay:1.4s;}

html.fac-scroll-reveal-enabled #concept::before {transform:translateY(5rem); opacity:0; transition:0s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s; transition-property:transform,opacity;}
html.fac-scroll-reveal-enabled #concept.over::before {transform:translateY(0); opacity:1; transition-duration:0.5s;}
html.fac-scroll-reveal-enabled #concept > h1.fac-scroll-reveal::before, 
html.fac-scroll-reveal-enabled #concept > h1.fac-scroll-reveal::after {opacity:0; transition:opacity 0.5s ease-in-out 0.8s;}
html.fac-scroll-reveal-enabled #concept > h1.fac-scroll-reveal--show::before, 
html.fac-scroll-reveal-enabled #concept > h1.fac-scroll-reveal--show::after {opacity:1;}
html.fac-scroll-reveal-enabled #concept > .more {
	transition:border-color 0.2s ease-in-out, background-color 0.2s ease-in-out, color 0.2s ease-in-out, opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);}

/* Programs Animation */
html.fac-js-enabled #programs > .c-program-items {transition:height 0s 0.3s;}
html.fac-js-enabled #programs > .c-program-items::after {
	display:block; content:""; position:absolute; left:0; right:0; top:0; bottom:0; z-index:10; background:#fcf5f5; opacity:0; transition:opacity 0.2s ease-in-out 0s; pointer-events:none;}
html.fac-js-enabled #programs > .found {height:0; margin-top:0; padding-top:0; position:relative;}
html.fac-js-enabled #programs.found > .pickup, 
html.fac-js-enabled #programs.found > .others {height:0; padding-top:0; margin-top:0; overflow:hidden;}
html.fac-js-enabled #programs.found > .found {height:auto; margin-top:-40px; padding-top:40px;}
html.fac-js-enabled #programs.changed > .c-program-items::after {opacity:1;}
html.fac-js-enabled #programs           .c-program-item {transform:translateY(5rem); opacity:0; transition:0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; transition-property:transform,opacity;}
html.fac-js-enabled #programs.changed   .c-program-item {transition-duration:0s; transition-delay:0.2s !important;}
html.fac-js-enabled #programs.over.show .c-program-item {transform:translateY(0); opacity:1;}
html.fac-initial    #programs > .c-program-items::after {transition:none;}


@media screen and (max-width:1130px) {
#main_ > article > header {margin-left:-40px; margin-right:-40px;}
#concept, 
#programs {margin-left:-40px; margin-right:-40px; padding-left:40px; padding-right:40px;}
}

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

#header_ {position:absolute; top:0; animation:none;}
html.fac-header-hidden #header_ {position:fixed; top:calc(100vw * 0.293333 * -1.018181);}

#header_ > nav > ul > li.main > ul > li.top > a {background:inherit; color:#de0515;}
#header_ > nav > ul > li.main > ul > li.top > a::before {}

#main_ > article {margin:-30px 0 0;}
#main_ > article > header {min-height:0; margin:0 -30px;}
#main_ > article > header > h1 {top:auto; bottom: 13vw; transform:translate(-50%,-10em); font-size:1.4rem;}
#main_ > article > header > strong {top:auto; bottom: 10vw; transform:translate(-50%,0); font-size:2.6rem;}
#main_ > article > header > .image {}
#main_ > article > header > .image .large {display:none;}
#main_ > article > header > .image .small {display:block;}
#main_ > article > header > .image .fac-gallery {}
#main_ > article > header > .image .fac-gallery-slider {}
#main_ > article > header > .image .fac-gallery-list {}
#main_ > article > header > .image .fac-gallery-item {}
#main_ > article > header > .image .fac-gallery-item > img {}
#main_ > article > header > .image .fac-gallery-item > img.large {display:none;}
#main_ > article > header > .image .fac-gallery-item > img.small {display:block;}
#main_ > article > header > .image .fac-gallery-item.fac-gallery-selected, 
#main_ > article > header > .image .fac-gallery-item.fac-gallery-last-selected {}
#main_ > article > header > .image .fac-gallery-item.fac-gallery-last-selected {}
#main_ > article > header > .image .fac-gallery-nav {}
#main_ > article > header > .share {
	display:-webkit-flex; display:flex; 
	right:20px; top:25px;}
#main_ > article > header > .share > h1 {font-size:1.0rem;}
#main_ > article > header > .share > h1::after {}
#main_ > article > header > .share > ul {padding:0 0 0 10px;}
#main_ > article > header > .news {width:auto; position:static; padding:1.5em 20px; border-radius:0; font-size:1.2rem;}
#main_ > article > header > .news > h1 {}
#main_ > article > header > .news > ul {}
#main_ > article > header > .news > ul > li {}
#main_ > article > header > .news > ul > li:nth-child(n+2) {}
#main_ > article > header > .news > ul > li > a {}
#main_ > article > header > .news > ul > li time {font-size:inherit;}
#main_ > article > header > .news > ul > li h2 {font-weight:normal;}
#main_ > article > header > .scroll {display:none;}

#concept {margin:0 -30px; padding: 3em 30px 6em; border-top:1px solid #e7e7e7; background-size:8.3333%; font-size:1.4rem; text-align:center;}
#concept > * {margin:0;}
#concept::before {float:none; width:70%; margin:0 auto; padding:70% 0 0; background-size:contain;}
#concept > h1 {margin:0.5em 0 0; font-size:1.4rem;}
#concept > h1::before, 
#concept > h1::after  {width:40vw; height:20.6vw; background-size:contain;}
#concept > h1::before {margin:-65vw 0 0 -20vw;}
#concept > h1::after  {width:50vw; height:25vw; left:auto; right:0; margin:8vw -21vw 0 0;}
#concept > strong {position:relative; z-index:2; margin:0.9em auto 0; font-size:2.6rem;}
#concept > strong .fac-scroll-reveal-line {margin:0 auto;}
#concept > p {text-align:left;}
#concept > p br {display:none;}
#concept > .more {display:table; margin:2em auto 0; padding:1.2em 4em;}
#concept > .image {padding-top:16vw;}

#programs {margin:-1.8em -30px 0; padding:0 30px;}
#programs::after {top:1.8em;}
#programs > * {}
#programs > header {}
#programs > header > h1 {font-size:4.4rem;}
#programs > header > h1 small {font-size:1.4rem;}
#programs > header > nav {margin:2em 0 0.5em; padding:0.8em; border-radius:0.8em; font-size:1.4rem;}
#programs > header > nav > ul {display:block; margin-top:0;}
#programs > header > nav > ul > li {margin-top:0;}
#programs > header > nav > ul > li > input {}
#programs > header > nav > ul > li > label {display:block; font-weight: 400;}
#programs > header > nav > ul > li > label::before, 
#programs > header > nav > ul > li > label::after  {}
#programs > header > nav > ul > li > label::before {}
#programs > header > nav > ul > li > label::after  {}
#programs > header > nav > ul > li > input:checked + label::before {}
#programs > header > nav > ul > li > input:checked + label::after  {}
#programs > .c-program-items {padding-top:8vw;}
#programs > .c-program-items .c-program-item {}
#programs > .pickup {}
#programs > .others {}
#programs > section {}
#programs > section > h1 {margin:0; font-size:1.6rem;}
#programs > section > h1::before, 
#programs > section > h1::after  {}
#programs > section > h1::before {}
#programs > section > h1::after  {}

/* Loading Animation */
html.fac-js-enabled #container_ > .loading > .logo {width:60%; padding:60% 0 0; background-size:contain;}

/* Scroll Animation */
html.fac-scroll-reveal-enabled #main_ > article > header > h1 {transform:translate(-50%,-10em) translateY(5rem);}
html.fac-scroll-reveal-enabled.wf-active #main_ > article > header > h1.fac-scroll-reveal--show {transform:translate(-50%,-10em);}

html.fac-scroll-reveal-enabled #concept::before {transition-delay:0.2s;}
html.fac-scroll-reveal-enabled #concept > h1 {transition-delay:0.3s;}

/* Programs Animation */
html.fac-js-enabled #programs > .c-program-items {}
html.fac-js-enabled #programs > .c-program-items::after {}
html.fac-js-enabled #programs > .found {}
html.fac-js-enabled #programs.found > .pickup, 
html.fac-js-enabled #programs.found > .others {}
html.fac-js-enabled #programs.found > .found {margin-top:-6vw; padding-top:6vw;}
html.fac-js-enabled #programs.changed > .c-program-items::after {}
html.fac-initial    #programs > .c-program-items::after {}

}






