@charset "UTF-8";

/* Body */
body {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Yu Gothic Medium", "Meiryo", sans-serif;
	background-color: #f2f2f2;
	margin: 0;
	font-style: normal;
	font-weight: 200;
}

/*     Link　　　　*/

a {
	text-decoration:none;
	color:#FFF;
	cursor:pointer;
    opacity: 1;
    -webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	}
	a:hover {
	opacity: .6;
	}
	a img {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	}
	a:hover img {
	opacity:0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";
	}

/* Container */
.container {
  width: 100%;
  margin: 0 auto;
  background-color: #FFFFFF;
  box-sizing: border-box;
}

/* Navigation */
header {
	width: 100%;
	height: 10%;
	background-color: #f4f4d8;
	border-bottom: 10px solid #C11920;
}
.logo {
	text-align: undefined;
	width: 25%;
	float: left;
	margin-top: 25px;
	margin-left: 10px;
	letter-spacing: 4px;
	max-width:250px;
}
nav {
	float: right;
	width: 50%;
	text-align: right;
	margin-right: 100px;
}
header nav ul {
	list-style: none;
	float: right;
}
nav ul li {
	float: left;
	color: #FFFFFF;
	font-size: 21px;
	text-align: left;
	margin-right: 25px;
	letter-spacing: 2px;
	font-weight: bold;
	transition: all 0.3s linear;
}
ul li a {
	color: #333;
	text-decoration: none;
}
ul li:hover a {
	color: #222;
}


/*img*/
.img_fluid{width:100%; height:auto; max-width:100%; vertical-align:bottom;}
.img_round{border-radius:15px;}
.img_round_50{border-radius:50%;}

/*br*/
@media only screen and (min-width:576px){
	.sp_on{display:none!important;}
}
@media only screen and (max-width:575px){
	.tb_pc_on{display:none!important;}
}
@media only screen and (max-width:1299px){
	.pc_on{display:none!important;}
}

/*anime*/
.anime01{-webkit-animation: bnr-float 2.0s infinite ease-in-out; animation: bnr-float01 2.0s infinite ease-in-out;}
.anime02{-webkit-animation: bnr-float 2.0s infinite ease-in-out; animation: bnr-float02 2.0s infinite ease-in-out;}
@keyframes bnr-float01{
    0%{transform:translateY(0);}
	50%{transform:translateY(5px);}
	100%{transform:translateY(0);}
}
@keyframes bnr-float02{
    0%{transform:translateY(5px);}
	50%{transform:translateY(0);}
	100%{transform:translateY(5px);}
}
@-webkit-keyframes bnr-float01{
    0%{transform:translateY(0);}
    50%{transform:translateY(5px);}
    100%{transform:translateY(0);}
}
@-webkit-keyframes bnr-float02{
    0%{transform:translateY(5px);}
    50%{transform:translateY(0);}
    100%{transform:translateY(5px);}
}


/* Hero Section */
.hero {
  display: flex;
  flex-direction: column;
  justify-content: center; 
  align-items: center;     
  text-align: center;
  clear: both;             
  padding-top: 100px;
  padding-bottom: 50px;
  box-sizing: border-box;
  width: 100%;             
  min-height: 300px;       
  background-color: #fff;  
}

.hero_header {
  margin: 0;
  font-size: 2.5rem;       
  line-height: 1.3;        
  font-weight: 600;
  color: #222;
}

.light {
  font-weight: 600;
  color: #333;
}

.tagline {
  font-size: 1.4rem;       
  line-height: 1.6;
  color: #666;
  letter-spacing: 1px;
  margin-top: 8px;
}

/* About / Text */
.text_column {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  font-size: 1.25rem;
  line-height: 1.8;  
　font-weight: 500;	
  color: #333;
  padding: 0 40px;
  box-sizing: border-box;
  text-align: left;
}

/* 署名など右寄せ用 */
.text-r {
  text-align: right;
}

/* About セクション背景 */
.about {
  padding-top: 35px;
  padding-bottom: 50px;
  background-color: #ffffff;
}

/* スマホ調整 */
@media (max-width: 767px) {
  .hero,
  .text_column {
    padding-left: 20px;
    padding-right: 20px;
  }

  .hero_header {
    font-size: 2.2rem;      /* スマホは少し小さく */
  }

  .tagline {
    font-size: 1.2rem;
  }

  .text_column {
    font-size: 1.1rem;
  }
}


/* Stats Gallery */
.stats {
	color: #717070;
	margin-bottom: 5px;
}
.gallery {
	clear: both;
	display: inline-block;
	width: 100%;
	background-color: #FFFFFF;
	/* [disabled]min-width: 321px;*/
	padding-bottom: 80px;
	padding-top: 0px;
	margin-top: -20px;
	margin-bottom: -40px;
}
.text-g {
	font-weight: bold;
	color: #717070;
	letter-spacing: 2px;
}
.thumbnail {
	width: 25%;
	text-align: center;
	float: left;
	margin-top: 35px;
}
.gallery .thumbnail h4 {
	margin-top: 5px;
	margin-right: 5px;
	margin-bottom: 5px;
	margin-left: 5px;
	color: #52BAD5;
}
.gallery .thumbnail p {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	color: #A3A3A3;
}

/*        背景         */
.light-box { background: rgba(0,0,0,.5); padding:3rem; box-sizing: border-box; margin: 3rem;}
.bg-light { background:rgba(255,255,255,.7); padding:3rem; box-sizing: border-box; margin: 3rem;text-align: center;}
.bg-dark { background: #152D48;}
.bg-base { background:#183F65; }
        @media screen and (max-width:1024px) {

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

        }
.link-icon {
        width:1rem;
        height:1rem;
        display:inline-block;
        margin-left:.75rem;
        position: relative;
        top: .05rem;/* line-heightに合わせる */
        background: url("../images/parts/icon-link-w.svg") center center / cover;
        opacity: .7;
        }
.link-icon-b {
        width:1rem;
        height:1rem;
        display:inline-block;
        margin-left:.75rem;
        position: relative;
        top: .05rem;/* line-heightに合わせる */
        background: url("../images/parts/icon-link.svg") center center / cover;
        opacity: .7;
        }
.link-btn {
        display: inline-block;
        padding: .75rem 1.5rem;
        line-height: 125%;
        margin-bottom: 3px;
        margin-left:0;
        background: #AC3146;
        font-size: 1rem;
        color: #FFF;
        border-radius: 4px;
        moz-border-radius:     4px;
        -webkit-border-radius: 4px;
        -o-border-radius:      4px;
        -ms-border-radius:     4px;
        }
.link { padding-bottom:.125rem ; border-bottom:1px dotted #ccc; color:#52BAD5; font-weight: 600;}
.link:hover { border-bottom:1px solid #FFF; color:#52BAD5;}

/* Parallax Section */

.banner {
  background-color: #C11920;
  background-image: url("../images/bgnasa.png");
  height: 80vh;   
  background-attachment: fixed;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: 50% 10%; /*center center*/
  display: flex;
  justify-content: center;
  align-items: center;  
  padding-left: 50px;  
  margin: 0;
  box-sizing: border-box;
}
/*.banner {
	background-color: #C11920;
	background-image:url("../images/bgnasa.png");
	height: 100%;
	background-attachment: fixed;
	background-size: 1000px;
	background-repeat: no-repeat;
	background-position: 50% 10% ;
}*/
/*.parallax_description {
  width: 50%; 
  text-align: center;
  font-weight: bold;
  line-height: 1.8em;
  margin: 0;
  color: #fff;
}
*/
.parallax_description {
	color: #FFF;
	text-align: center;
	padding: 20px 20px;
	width: 50%;
	float: right;
	font-weight: bold;
	line-height: 1.8em;
	margin: 150px 100px 10px 0px;
}

.banner-sp {
	background-color: #183F65;
	background-image:url("../images/bgbye.png");
	height: 50vh;
	background-attachment: fixed;
	background-size: 700px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}
.parallax {
	color: #FFFFFF;
	text-align: center;
	padding-right: 100px;
	padding-top: 100px;
	letter-spacing: 2px;
	margin-top: 0px;
}
/*.parallax02 {
	text-align: right;
	padding-top: 30px;
	margin: 0px auto;
	width:300px;
}*/
.parallax02 {
	text-align: right;
	padding-top: 30px;
	margin: 0px auto;
	width:300px;
}

/* More info */
footer {
	background-color: #FFFFFF;
	padding-bottom: 35px;
}
.footer_column {
	width: 50%;
	text-align: center;
	padding-top: 30px;
	float: left;
}
footer .footer_column h3 {
	color: #B3B3B3;
	text-align: center;
}
footer .footer_column p {
	color: #717070;
	background-color: #FFFFFF;
}
.cards {
	width: 100%;
	height: auto;
	max-width: 400px;
	max-height: 200px;
}
footer .footer_column p {
	padding-left: 30px;
	padding-right: 30px;
	text-align: justify;
	line-height: 25px;
	font-weight: lighter;
	margin-left: 20px;
	margin-right: 20px;
}

.footer-logo {
	width: 200px;
	margin-top: 40px;
	margin-right: auto;
	margin-bottom: auto;
	margin-left: auto;
	padding-top: 0px;
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
	text-align: center;
	vertical-align: middle;
	border-radius: 0px;
	text-transform: uppercase;
	font-weight: bold;
	letter-spacing: 2px;
	transition: all 0.3s linear;
}
.footer-sub {
	margin:0 auto;
	/*padding-top: 20px;*/
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
	text-align: center;
	vertical-align: middle;
	text-transform: uppercase;
	font-weight: bold;
	letter-spacing: 1px;
	color: navy;
}
.copyright {
	text-align: center;
	padding-top: 20px;
	padding-bottom: 20px;
	background-color: #FF9900;
	color: #FFFFFF;
	text-transform: uppercase;
	font-weight: lighter;
	letter-spacing: 2px;
	border-top-width: 2px;
}
.footer_banner {
	background-color: #f4f4d8;
	padding-top: 60px;
	padding-bottom: 60PX;
	margin-bottom: 0px;	
	background-repeat: no-repeat;
}
footer {
	display: inline-block;
}
.hidden {
	display: none;
}

/* Mobile */
@media (max-width: 321px) {
.logo {
	width: 200px;
	margin-top: 40px;
	margin-right: auto;
	margin-bottom: auto;
	margin-left: auto;
	padding-top: 20px;
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
	text-align: center;
	vertical-align: middle;
	border-radius: 0px;
	text-transform: uppercase;
	font-weight: bold;
	letter-spacing: 2px;
	transition: all 0.3s linear;
}
.container header nav {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	width: 100%;
	float: none;
	display: none;
}
header nav ul {
}
nav ul li {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	width: 100%;
	text-align: center;
}
/*.text_column {
	width: 100%;
	text-align: justify;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
}*/
.thumbnail {
	width: 100%;
}
.footer_column {
	width: 100%;
	margin-top: 0px;
}
.parallax {
	text-align: center;
	margin-top: 10px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-top: 40%;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	width: 100%;
	font-size: 18px;
}
.parallax_description {
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	width: 90%;
	margin-top: 25px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 12px;
	float: none;
	text-align: center;
}
}

/* Small Tablets */
@media (min-width: 321px)and (max-width: 767px) {
.logo {
	width: 50%;
	text-align: center;
	margin: 0px auto;
	margin-left: 0px;
	vertical-align: middle;
	padding: 10px 0 5px 10px;
}
.container header nav {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	width: 100%;
	float: none;
	overflow: auto;
	display: inline-block;
	background: #FF9900;
}
header nav ul {
	padding: 0px;
	float: none;
}
nav ul li {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	width: 100%;
	text-align: center;
	padding-top: 8px;
	padding-bottom: 8px;
}
/*.text_column {
	width: 100%;
	text-align: left;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
}*/
.thumbnail {
	width: 100%;
}
.footer_column {
	width: 100%;
	margin-top: 0px;
}
.parallax {
	text-align: center;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-top: 40%;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	width: 100%;
	font-size: 18px;
}
.parallax_description {
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 30%;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	float: none;
	width: 100%;
	text-align: center;
}
.thumbnail {
	width: 50%;
}
.parallax {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	padding-top: 20%;
}
.parallax_description {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	width: 100%;
	padding-top: 30px;
}
.footer_column {
	width: 100%;
}
}

/* Small Desktops */
@media (min-width: 768px) and (max-width: 1096px) {
.text_column {
	width: 100%;
}
.thumbnail {
	width: 50%;
}
.text_column {
	width: 100%;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
}
}

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

       text

===================================================*/
	.center		{ text-align:center;}
    .center-left{ text-align:center;}
    .center-left-tablet{ text-align:center;}
    .left-center{ text-align: left;}
    .left-center-tablet{ text-align: left;}
    .right-center-tablet{ text-align: right;}
	.text-l		{ text-align:left;}
    .text-r		{ text-align:right;}
@media screen and (max-width: 1024px) {
    .center-left-tablet{ text-align: left;}
    .left-center-tablet{ text-align: center;}
    .right-center-tablet{ text-align: center;}
    }
@media only screen and (max-width: 767px) {
    .center-left    { text-align:left;}
    .left-center    { text-align:center;}
    }

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

       padding margin

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

	.pt-05em	{ padding-top:.5rem;}
    .pt-1em		{ padding-top:1rem;}
	.pt-2em		{ padding-top:2rem;}
	.pt-3em		{ padding-top:3rem;}
	.pt-4em		{ padding-top:4rem;}
	.pt-5em		{ padding-top:5rem;}

    .pb-05em	{ padding-bottom:.5rem;}
    .pb-1em		{ padding-bottom:1rem;}
    .pb-1hem	{ padding-bottom:1.5rem;}
	.pb-2em		{ padding-bottom:2rem;}
    .pb-2hem	{ padding-bottom:2.5rem;}
	.pb-3em		{ padding-bottom:3rem;}
	.pb-4em		{ padding-bottom:4rem;}
	.pb-5em		{ padding-bottom:5rem;}
    .pb-6em		{ padding-bottom:6rem;}
    .pb-10em	{ padding-bottom:10rem;}

    .mt-1em		{ margin-top:1rem;}
	.mt-2em		{ margin-top:2rem;}
	.mt-3em		{ margin-top:3rem;}
	.mt-4em		{ margin-top:4rem;}
	.mt-5em		{ margin-top:5rem;}

	.mb-05em	{ margin-bottom:.5rem;}
    .mb-1em		{ margin-bottom:1rem;}
    .mb-1hem	{ margin-bottom:1.5rem;}
	.mb-2em		{ margin-bottom:2rem;}
	.mb-3em		{ margin-bottom:3rem;}
	.mb-4em		{ margin-bottom:4rem;}
	.mb-5em		{ margin-bottom:5rem;}
    .mb-6em		{ margin-bottom:6rem;}
    .mb-7em		{ margin-bottom:7rem;}
    .mb-8em		{ margin-bottom:8rem;}

    .pt-1-0		{ padding-top:1rem;}
    .pt-2-0		{ padding-top:2rem;}
    .pt-2-1		{ padding-top:2rem;}
    .pt-3-2		{ padding-top:3rem;}
    .pt-3-3-0	{ padding-top:3rem;}
    
    .pb-1-0  	{ padding-bottom:1rem;}
    .pb-1h-1  	{ padding-bottom:1.5rem;}
    .pb-2-0		{ padding-bottom:2rem;}
    .pb-2-1		{ padding-bottom:2rem;}
    .pb-2-1-0	{ padding-bottom:2rem;}
    .pb-3-2		{ padding-bottom:3rem;}
    .pb-3-4		{ padding-bottom:3rem;}
    .pb-4-2		{ padding-bottom:4rem;}
    .pb-4-3		{ padding-bottom:4rem;}
    .pb-5-2		{ padding-bottom:5rem;}
    .pb-5-4		{ padding-bottom:5rem;}

    .mb-2-0		{ margin-bottom:2rem;}
    .mb-2-1		{ margin-bottom:2rem;}
    .mb-3-1		{ margin-bottom:3rem;}
    .mb-3-2		{ margin-bottom:3rem;}
    .mb-3-4		{ margin-bottom:3rem;}
    .mb-4-2		{ margin-bottom:4rem;}
    .mb-5-2		{ margin-bottom:5rem;}

    .mb-1-1-05		{ margin-bottom:1rem;}
    .mb-2-2-1		{ margin-bottom:2rem;}
    
    .mb-1-0		{ margin-bottom:1rem;}

	.pb-3-1		{ padding-bottom:3rem;}
    .pb-4-0		{ padding-bottom:4rem;}

.mb-2em-widescreen { margin-bottom:2rem; }

    .pl-1em     { padding-left:1rem;}
    
    .mt10p      { margin-top:10%; }
    .mr10p      { margin-right:10%;}
    .mr20p      { margin-right:20%;}
    .mr30p      { margin-right:30%;}
    .mr40p      { margin-right:40%;}
    
    .ml10p      { margin-left:10%;}
    .ml20p      { margin-left:20%;}
    .ml30p      { margin-left:30%;}
    .ml40p      { margin-left:40%;}
    
    .ml-1em     { margin-left:-1em;}
    
    .pd-tb-1em  { padding-top:1rem; padding-bottom:1rem; }
    .pd-tb-2em  { padding-top:2rem; padding-bottom:2rem; }
    
    .pb-1px     { padding-bottom:1px;}
    .pb-10px    { padding-bottom:10px;}
@media only screen and (max-width: 1215px) {
    .mb-2em-widescreen { margin-bottom:0rem; }
    }
@media only screen and (max-width: 1024px) {
    .pt-1-0		{ padding-top:.5rem;}
    .pt-2-1		{ padding-top:1rem;}
    .pt-3-2		{ padding-top:2rem;}
    .pt-3-3-0	{ padding-top:3rem;}
    
    .pb-1-0		{ padding-bottom:.5rem;}
    .pb-1-05	{ padding-bottom:.5rem;}
    .pb-1h-1  	{ padding-bottom:1rem;}
    .pb-2-0		{ padding-bottom:0rem;}
    .pb-2-1		{ padding-bottom:1rem;}
    .pb-2-1-0	{ padding-bottom:1rem;}
    .pb-3-2		{ padding-bottom:2rem;}
    .pb-3-4		{ padding-bottom:4rem;}
    .pb-4-2		{ padding-bottom:2rem;}
    .pb-4-3		{ padding-bottom:3rem;}
    .pb-5-2		{ padding-bottom:2rem;}
    
    .mb-1-0		{ margin-bottom:0rem;}
    .mb-2-0		{ margin-bottom:0rem;}
    .mb-2-1		{ margin-bottom:1rem;}
    .mb-3-1		{ margin-bottom:1rem;}
    .mb-3-2		{ margin-bottom:2rem;}
    .mb-3-4		{ margin-bottom:4rem;}
    .mb-4-2		{ margin-bottom:2rem;}
    .mb-5-2		{ margin-bottom:2rem;}

    .mb-1-1-05		{ margin-bottom:1rem;}
    .mb-2-2-1		{ margin-bottom:2rem;}

    .pb-3-1		{ padding-bottom:2.76rem;}
    .pb-4-0		{ padding-bottom:0rem;}
    
    .tab-pb-1    { padding-bottom:1rem;}
    .tab-pt-1    { padding-top:1rem;}
    .tab-pt-2    { padding-top:2rem;}
    
    .tab-pd-1    { padding-top:1rem; padding-bottom:1rem;}
    .tab-pd-2    { padding-top:2rem; padding-bottom:2rem;}
    
    .tab-mb-2    { margin-bottom:2rem;}
    .tablet-mb-3em { margin-bottom:3rem;}


    .mt10p      { margin-top:0%; }

    .mr10p      { margin-right:0%;}
    .mr20p      { margin-right:0%;}
    .mr30p      { margin-right:0%;}
    .mr40p      { margin-right:0%;}
    
    .ml10p      { margin-left:0%;}
    .ml20p      { margin-left:0%;}
    .ml30p      { margin-left:0%;}
    .ml40p      { margin-left:0%;}
    .tab-ml20p      { margin-left:20%;}
    
}
@media only screen and (max-width: 767px) {
    .pt-1-0		{ padding-top:0rem;}
    .pt-2-0		{ padding-top:0rem;}
    .pt-3-3-0	{ padding-top:0rem;}
    
    .pb-1-0		{ padding-bottom:0rem;}
    .pb-5-4		{ padding-bottom:4rem;}
    .pb-3-1		{ padding-bottom:1rem;}
    .pb-2-1-0	{ padding-bottom:0rem;}
    

    .mr10p      { margin-right:0%;}
    .mr20p      { margin-right:0;}
    .ml10p      { margin-left:0%;}
    .ml20p      { margin-left:0%;}

    .sp-pt-3em   { padding-top:3rem;}
    .sp-pb-1em    { padding-bottom:1rem;}
    .sp-pb-2em    { padding-bottom:2rem;}
    .sp-pb-3em    { padding-bottom:3rem;}
    
}

/* PCとSP */
.pc-view {
  display: block; /* PCで表示 */
}
.sp-view {
  display: none;  /* PCで非表示 */
}

/* 画面幅が767px以下 */
@media screen and (max-width: 767px) {
  .pc-view {
    display: none; /* スマホで非表示 */
  }
  .sp-view {
    display: block; /* スマホで表示 */
  }
}

/*BR_SP*/

.br-sp {
  display: none;
}

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

  .br-sp {
    display: inline-block;
  }
}
