/* Media Queries */
/* Card sizing */
/* Colors */
/* Calculations */
/* Placeholders */
@media (min-width: 1000px) {
  #timeline .demo-card:nth-child(odd) .head::after, #timeline .demo-card:nth-child(even) .head::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
  }
  #timeline .demo-card:nth-child(odd) .head::before, #timeline .demo-card:nth-child(even) .head::before {
    position: absolute;
    content: "";
    width: 9px;
    height: 9px;
    background-color: #bdbdbd;
    border-radius: 9px;
    box-shadow: 0px 0px 2px 8px #f7f7f7;
  }
}
/* Some Cool Stuff */
.demo-card:nth-child(1) {
  order: 1;
}
.demo-card:nth-child(2) {
  order: 4;
}
.demo-card:nth-child(3) {
  order: 2;
}
.demo-card:nth-child(4) {
  order: 5;
}
.demo-card:nth-child(5) {
  order: 3;
}
.demo-card:nth-child(6) {
  order: 6;
}
/* Border Box */
* {
  box-sizing: border-box;
}
/* Fonts */
body {
  font-family: Roboto;
}
#timeline {
  padding: 100px 0;
  background: #f7f7f7;
  border-top: 1px solid rgba(191, 191, 191, 0.4);
  border-bottom: 1px solid rgba(191, 191, 191, 0.4);
}
#timeline h1 {
  text-align: center;
  font-size: 3rem;
  font-weight: 200;
  margin-bottom: 20px;
}
#timeline p.leader {
  text-align: center;
  max-width: 90%;
  margin: auto;
  margin-bottom: 45px;
}
#timeline .demo-card-wrapper {
  position: relative;
  margin: auto;
}
@media (min-width: 1000px) {
  #timeline .demo-card-wrapper {
    display: flex;
    flex-flow: column wrap;
    width: 1170px;
    height: 1650px;
    margin: 0 auto;
  }
}
#timeline .demo-card-wrapper::after {
  z-index: 1;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  border-left: 1px solid rgba(191, 191, 191, 0.4);
}
@media (min-width: 1000px) {
  #timeline .demo-card-wrapper::after {
    border-left: 1px solid #bdbdbd;
  }
}
#timeline .demo-card {
  position: relative;
  display: block;
  margin: 10px auto 80px;
  max-width: 94%;
  z-index: 2;
}
@media (min-width: 480px) {
  #timeline .demo-card {
    max-width: 60%;
    box-shadow: 0px 1px 22px 4px rgba(0, 0, 0, 0.07);
  }
}
@media (min-width: 720px) {
  #timeline .demo-card {
    max-width: 40%;
  }
}
@media (min-width: 1000px) {
  #timeline .demo-card {
    max-width: 450px;
    height: 400px;
    margin: 90px;
    margin-top: 45px;
    margin-bottom: 45px;
  }
  #timeline .demo-card:nth-child(odd) {
    margin-right: 45px;
  }
  #timeline .demo-card:nth-child(odd) .head::after {
    border-left-width: 15px;
    border-left-style: solid;
    left: 100%;
  }
  #timeline .demo-card:nth-child(odd) .head::before {
    left: 491.5px;
  }
  #timeline .demo-card:nth-child(even) {
    margin-left: 45px;
  }
  #timeline .demo-card:nth-child(even) .head::after {
    border-right-width: 15px;
    border-right-style: solid;
    right: 100%;
  }
  #timeline .demo-card:nth-child(even) .head::before {
    right: 489.5px;
  }
  #timeline .demo-card:nth-child(2) {
    margin-top: 180px;
  }
}
#timeline .demo-card .head {
  position: relative;
  display: flex;
  align-items: center;
  color: #fff;
  font-weight: 400;
}
#timeline .demo-card .head .number-box {
  display: inline;
  float: left;
  margin: 15px;
  padding: 10px;
  font-size: 35px;
  line-height: 35px;
  font-weight: 600;
  background: rgba(0, 0, 0, 0.17);
}
#timeline .demo-card .head h2 {
  text-transform: uppercase;
  font-size: 1.3rem;
  font-weight: inherit;
  letter-spacing: 2px;
  margin: 0;
  padding-bottom: 6px;
  line-height: 1rem;
}
@media (min-width: 480px) {
  #timeline .demo-card .head h2 {
    font-size: 165%;
    line-height: 1.2rem;
  }
}
#timeline .demo-card .head h2 span {
  display: block;
  font-size: 0.6rem;
  margin: 0;
}
@media (min-width: 480px) {
  #timeline .demo-card .head h2 span {
    font-size: 0.8rem;
  }
}
#timeline .demo-card .body {
  background: #fff;
  border: 1px solid rgba(191, 191, 191, 0.4);
  border-top: 0;
  padding: 15px;
}
@media (min-width: 1000px) {
  #timeline .demo-card .body {
    height: 315px;
  }
}
#timeline .demo-card .body p {
  font-size: 14px;
  line-height: 18px;
  margin-bottom: 15px;
}
#timeline .demo-card .body img {
  display: block;
  width: 100%;
}
#timeline .demo-card--step1 {
  background-color: #46b8e9;
}
#timeline .demo-card--step1 .head::after {
  border-color: #46b8e9;
}
#timeline .demo-card--step2 {
  background-color: #3ee9d1;
}
#timeline .demo-card--step2 .head::after {
  border-color: #3ee9d1;
}
#timeline .demo-card--step3 {
  background-color: #ce43eb;
}
#timeline .demo-card--step3 .head::after {
  border-color: #ce43eb;
}
#timeline .demo-card--step4 {
  background-color: #4d92eb;
}
#timeline .demo-card--step4 .head::after {
  border-color: #4d92eb;
}
#timeline .demo-card--step5 {
  background-color: #46b8e9;
}
#timeline .demo-card--step5 .head::after {
  border-color: #46b8e9;
}

./* 5 Columns */

@media(min-width:768px){
 .col-sm-15{
  width:20%;
  flex:0 0 20%;
  fioat:left;
 }
}
@media(min-width:992px){
 .col-sm-15{
  width:20%;
  flex:0 0 20%;
  fioat:left;
 }
}
@media(min-width:1200px){
 .col-sm-15{
  width:20%;
  flex:0 0 20%;
  fioat:left;
 }
}

.img-top{
	width:1200px
	height:600px
	fioat:left;
}


/* .container{

} */

.card {
	position: relative;
	transition: background .5s ease, box-shadow .5s ease;
}
.card:hover {
	background: #f5f5f5;
	box-shadow: none;
}
.card-link {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}
.card-thumbnail {
	object-fit: cover;
	height: 150px;
	width: 100%;
}
.card-text {
	padding: 10px;
}

.volunteer-style{
	float:left;
}



.circle{
	background: #00A9F1;
	padding:6px 8px;
	border-radius: 99px;
	color: #fff;
	margin-right: 12px;
}

.li{
	list-style:none;
	float:left;
	padding:20px
}


/* ここまで */

h2{
	font-family:'ヒラギノ角ゴ W6 JIS2004','ヒラギノ角ゴ Std W6','Hiragino Karu Gothic Std W6',sans-serif;
	font-weight: 800;
	margin: 0 0 20px 0;
}

h3{
	font-family:'ヒラギノ角ゴ W6 JIS2004','ヒラギノ角ゴ Std W6','Hiragino Karu Gothic Std W6',sans-serif;
	font-weight: 800;
/* 	margin: 30px 0 20px 0; */
}


::selection {
    background: #00A9F1;
    color: #fff;
}

li{
	margin-bottom: 6px;
	line-height: 2;
}

.no-active{
	color: #4444 !important;
  pointer-events: none;
}

.relative{
	position: relative;
	position: relative;
	max-width: 100%;
	height: 48vw;
	max-height: 180px;
}

.bold{
	font-family:'ヒラギノ角ゴ W6 JIS2004','ヒラギノ角ゴ Std W6','Hiragino Karu Gothic Std W6',sans-serif;
	font-weight: 800;
}

.underb{
	text-decoration: underline;
	margin-bottom: 12px;
}

.border-title {
	font-family:'ヒラギノ角ゴ W6 JIS2004','ヒラギノ角ゴ Std W6','Hiragino Karu Gothic Std W6',sans-serif;
	font-weight: 800;
  border-bottom: solid 3px #163F83;
	padding-bottom: 6px;
  position: relative;
}

.border-title:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #00A9F1;
  bottom: -3px;
  width: 20%;
}

.float-right li{
	display: inline-block;
}

.text-center{
	text-align: center;
}

.f-14{
	font-size: 14px;
}

.mt-10{
	margin-top: 10px !important;
}

.mt-20{
	margin-top: 20px !important;
}

.mt-30{
	margin-top: 30px !important;
}

.mt-60{
	margin-top: 60px;
}

.mb-20{
	margin-bottom: 20px !important;
}

.post-thumbnail{
	margin-bottom: 30px;
}

.main_visual{
	padding: 20vh 0;
	text-align: center;
}

.main_visual .top_catch{
	max-width: 640px;
	width: 100%;
	padding: 20px;
	margin: auto;
}

.w_color{
	color: #fff;
}

.btn,
a.btn,
button.btn {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
	margin-top: 30px;
}

a.btn-flat {
  overflow: hidden;
  padding: 15px 16px;
  color: #fff;
  border-radius: 0;
  background: #000;
}

a.btn-flat span {
  position: relative;
}

a.btn-flat:before {
  position: absolute;
  top: 0;
  left: 0;

  width: 150%;
  height: 500%;

  content: "";
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
  transform: translateX(-98%) translateY(-25%) rotate(45deg);

  background: #00b7ee;
}

a.btn-flat:hover:before {
  -webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
  transform: translateX(-9%) translateY(-25%) rotate(45deg);
}

.pc { display: block !important; }
.sp { display: none !important; }

@media only screen and (max-width: 820px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
	p {font-size: 13px;}
	.detail_items li a{ font-size: 12px; }
}

/* 追加 */

.hidden{
	display: none;
}

.logoimg{
  height: 36px !important;
}

.header-content{
  height: 60px;
}

.header-sns{
  float: right;
}

.header-sns li{
	display: inline-block;
}

.header-sns li a{
  display: inline;
}

.header-sns li a img{
  height: 30px !important;
}

.fvWrap{
  padding: 30vh 0;
  background: #00A9F1;
  color: #fff;
}

.area{
  width: 100%;
  /* height:100vh; */
  height:50vh;
}

@media (max-width: 770px){
  .area{
    width: 100%;
    /* height:100vh; */
    height:70vh;
  }
	.mt-60{
	margin-top: 10px !important;
}

}

.containerWrap{
z-index: 89;
position: relative;
}

.card {
max-width: 940px;
margin: 20px auto;
padding: 60px 48px;
box-shadow: 0 6px 12px 0 rgba(0,0,0,0.2);
transition: 0.3s;
background: #fff;
margin-top: -100px;
border-radius: 24px;
}

.card .cardInner{
max-width: 640px;
margin: auto;
}

.card .cardInner p{
line-height: 2.4;
}

.card h2{
font-size: 28px;
color: #000;
margin-bottom :28px;
text-align: center;
}

.card span{
background: linear-gradient(transparent 60%, #f6ff5f 60%);
}


p{
  color: #000;
  line-height: 2;
  margin-bottom: 16px;
}

.credit_top{
  margin-bottom: 0 !important;
  font-weight: 800;
  text-align: right;
}

.wrapper{
  padding: 120px 20px;
}

.bg_k{
  background: #002D78;
  padding: 120px 20px;
}

.bg_b{
  background: #00A9F1;
  padding: 120px 20px;
}

.m-auto{
  margin: auto;
}

.headlinne{
  font-size: 36px;
 	 font-family: "ヒラギノ角ゴ Pro W6";
  color: #000;
	 margin: 0;
	font-weight: 800;
}

@media(max-width: 980px){
	.headlinne{
		font-size: 22px;
	}
	.subText{
		font-size: 14px !important;
	}
}

.subText{
  color: #00A9F1;
  font-size: 18px;
  font-style: italic;
  font-family: "Montserrat", sans-serif;
  margin-top: 8px;
}

.button_new{
  padding: 12px 32px;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
  border-radius: 12px;
	background: #fff;
}

.button_new:hover{
  box-shadow: 0 8px 24px 0 rgba(0,0,0,0.2);
}

.button_new span{
  font-size: 16px;
  font-weight: 800;
}

.bg_b .button_new{
  background: #fff;
  color: #00A9F1;
}

.onesky_img{
  max-width: 320px;
  width: 100%;
}

.fb_header{
  background: #3B5998;
  color: #fff;
  padding: 6px 20px;
  border-radius: 10px 10px 0 0;
}

.twitter_header{
  background: #1DA1F2;
  color: #fff;
  padding: 6px 20px;
  border-radius: 10px 10px 0 0;
}

.instagram_header{
  background: -moz-linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  background: -webkit-linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  background: linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f09433', endColorstr='#bc1888',GradientType=1 );
  color: #fff;
  padding: 6px 20px;
  border-radius: 10px 10px 0 0;
}

.socialTitle{
  text-align: center;
  color: #fff;
  margin: 6px 0;
  font-size: 20px;
  font-weight: 800;
}

.socialIcon{
  font-size: 38px;
  float: left;
}

.u_line{
  color: #000;
  font-size: 24px;
  border-bottom: solid 3px #163F83;
  position: relative;
  margin-bottom: 20px;
  line-height: 2.4;
}

.u_line:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #00A9F1;
  bottom: -3px;
  width: 30%;
}

.footerContact li{
  font-size: 16px;
  color: #000;
  margin: 12px 0;
  font-weight: 800;
}

.footerContact li i{
  font-size: 32px;
  margin-right: 12px;
}


.footerText{
  text-align: center;
  color: #B5C6D1;
  font-weight: 600;
}

.slider_flat {
  width: 100%;
  top: calc(50% - 97.25px);
  overflow: hidden;
}

.slider_flat .slider-row_flat {
  width: 2956px;
  height: 194.5px;
  background-image: url(../img/slideimg.jpg);
  background-size: 2956px 194.5px;
  -webkit-animation: slide 50s linear infinite;
  animation: slide 50s linear infinite;
}

-webkit-keyframes slide {
from {
  background-position-x: 0;
}
to {
  background-position-x: -2956px;
}
}

@keyframes slide {
from {
  background-position-x: 0;
}
to {
  background-position-x: -2956px;
}
}

.access{
position: relative;
padding: 10rem 0;
}

.access .container{
position: relative;
z-index: 1;
}

.access .container p, .access .container li{
color: #fff;
}

iframe{
　-webkit-filter: grayscale(1);
　filter: grayscale(1);
}

iframe:hover{
　transition: filter 0.8s ease;
　-webkit-filter: grayscale(0) saturate(2);
　filter: grayscale(0) saturate(2);
}

.socialWrapper h3{
font-size: 24px;
color: #000;
margin-bottom: 12px;
float: left;
}

.socialWrapper .btn{
font-size: 13px;
color: #fff;
padding: 6px 18px;
float: right;
}

.socialWrapper .fb_btn{
background: #3B5998;
}

.socialWrapper .tw_btn{
background: #1DA1F2;
}

.socialWrapper .ig_btn{
background: -moz-linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
background: -webkit-linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
background: linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f09433', endColorstr='#bc1888',GradientType=1 );
}


@media only screen and (max-width: 767px){
  .headefr-fexid-onepage .project-title{
    padding: 20px;
  }

  .intro-about .background-mask {
      background-color: transparent;
      height: 300px;
  }

  .about_s_60 {
    display: block;
    position: absolute;
    top: -40px;
    left: 0;
    width: 100%;
    height: calc(100% + 80px);
    background: #F7FCFF;
    z-index: 0;
}
  .card h2{
    font-size: 24px;
  }

  .containerWrap{
    padding: 12px;
  }

  .onesky_img{
    max-width: 240px;
    width: 100%;
    margin: auto;
  }

  .access{
    padding: 4rem 0 0;
  }

  .access .container{
    background: #00A9F1;
    padding: 3rem 15px;
  }

  .s_40{
    display: none;
  }

  .s_60{
    width: 100%;
    position: relative;
    height: 50vh;
  }

  footer .u_line{
    font-size: 20px;
  }

  footer .p-5{
    padding: 12px !important;
  }

}

/*/////////////////////////////////////////////////
// Navigation styles
/////////////////////////////////////////////////*/


.nav_area {
  height: 60px;
  width: 100%;
  background-color: #fff !important;
  position: relative;
	padding: 0 20px;
	display: flex;
	box-shadow: 0 0 25px rgba(40,47,60,.05), 0 20px 25px rgba(40,47,60,.05), 0 3px 4px rgba(40,47,60,.05);
	z-index: 9999;
}

.nav_area > .nav-header {
  display: inline;
}

.nav_area > .nav-header > .nav-title {
  display: inline-block;
  font-size: 22px;
  color: #fff;
  padding: 6px;
	height: 100%;
}

.nav_area > .nav-header > .nav-title img {
	height: 100%;
}

.nav_area > .nav-btn {
  display: none;
}

.nav_area > .nav-links {
  display: inline;
  float: right;
  font-size: 14px;
	text-align: center;
	width: 100%;
}

.nav_area > .nav-links > .nav-links-sp{
	display: table;
	width: 100%;
}

.nav_area > .nav-links > .nav-links-sp > li {
  display: table-cell;
  padding: 13px 42px;
	transition: all 0.2s ease-in;
}

.nav_area > .nav-links > .nav-links-sp > li a{
  color: #000;
	font-weight: 800;
	text-decoration: none;
}

.nav_area > .nav-links > .nav-links-sp > li .no-active:before{
	content: "※準備中※";
	top: 30px;
	position: absolute;
}

.g-nav:hover{
		transition: all .2s ease-in;
}
@media (min-width:1140px) {
.nav_area > .nav-links > .nav-links-sp .secondary-menu{
  max-height: 0;
  overflow: hidden;
  width: 100%;
  left: 0;
  text-align: center;
  position: absolute;
	 transition: 0.6s;
  visibility: hidden;
  opacity: 0;
	background: #fff;
	width: 100%;
  top: 60px;
	max-width: 100vw;
	border-top: 1px solid #f8f8f8;
	background: #052d73;
	-moz-box-shadow: 0px 40px 40px -10px rgba(0,0,0,0.4);
-webkit-box-shadow: 0px 40px 40px -10px rgba(0,0,0,0.4);
-o-box-shadow: 0px 40px 40px -10px rgba(0,0,0,0.4);
-ms-box-shadow: 0px 40px 40px -10px rgba(0,0,0,0.4);
}

.nav_area > .nav-links > .nav-links-sp > li:hover > .secondary-menu{
  visibility: visible;
   opacity: 1;
  max-height: 9999px;
}

#content{display: relative;}
.nav_area > .nav-links > .nav-links-sp > li:hover + div.#content:after{
	 background: #0a0a0a52;
	 position: absolute;
  content: "";
  display: block;
  height: 100%;
	width: 100%;
  left: 0;
  top: 0;
}
}

.secondary-menu_title span {
	font-size: 24px;
	color: #fff;
	font-weight: 800;
}


.secondary-menu_title p {
	font-size: 14px;
	color: #fff;
}

.secondary-menu .row{
	margin: 0;
	padding: 0;
}

.secondary-menu_inner_link{
	border: 1px solid #f8f8f8;
	background: #fff;
	transition: all .2s ease-in;
}

.secondary-menu_inner_link:hover{
/* 	border: 1px solid #00A9F1; */
	background: #00A9F1;
	transition: all .2s ease-in;
}

.secondary-menu_inner_link:hover a{
	color: #fff !important;
}


.secondary-menu_inner_link a{
	display: block !important;
	width: 100%;
	height: 100%;
	padding: 60px 0;
}

.nav_area > #nav-check {
  display: none;
}

.nav_area .nav-links .nav-links-sp a .nav__title_en {
	display: block;
	width: 100%;
	color: #00A9F1;
	font-size:10px;
	margin-top: -6px;
}


@media (max-width:1140px) {
  .header-content{
    height: 50px;
  }

	.nav_area{
		z-index: 99;
		position: absolute;
		height: 50px;
		display: flex;
    top: 0;
    position: fixed;
	}
  .nav_area > .nav-btn {
    display: inline-block;
    position: absolute;
    right: 0px;
    top: 0px;
  }
  .nav_area > .nav-btn > label {
    display: inline-block;
    width: 50px;
    height: 50px;
    padding: 13px;
		cursor: pointer;
  }
  .nav_area > .nav-btn > label:hover,.nav_area  #nav-check:checked ~ .nav-btn > label {
    background-color: rgba(0, 0, 0, 0.3);
  }
  .nav_area > .nav-btn > label > span {
    display: block;
    width: 25px;
    height: 10px;
    border-top: 2px solid #30322C;
  }
  .nav_area > .nav-links {
    position: fixed;
    display: block;
    width: 100%;
    background-color: #F1F0ED;
    height: 0px;
    transition: all 0.3s ease-in;
    overflow-y: hidden;
    top: 50px;
    left: 0px;
    z-index: 1;
    text-align: left;
  }

  .nav_area > .nav-links > .nav-links-sp > a:first-child {
		border-top: 1px solid #eee;
  }

	.nav_area .nav-links .nav-links-sp a .nav__title_en{
		margin-bottom: 12px;
		margin-left: 2px;
	}

	.nav_area > .nav-links > .nav-links-sp > .g-nav:nth-child(1){
		border-top: 1px solid #f2f2f2;
	}

  .nav_area > .nav-links > .nav-links-sp > .g-nav {
    display: block;
    width: 100%;
		padding: 18px 20px;
		border-bottom: 1px solid #eee;
		background: #fff;
		margin-bottom: 4px;
  }
	.nav_area > .nav-links > .nav-links-sp > .cta {
		margin: 20px auto;
		width: 48%;
		text-align: center;
		border: 1px solid #206551;
		background:#206551;
		color: #fff !important;
		padding: 10px !important;
	}
	.nav_area > .nav-links > .nav-links-sp > .cta_free {
		margin: 20px auto;
		width: 48%;
		text-align: center;
		border: 1px solid #F88255;
		background:#F88255;
		color: #fff !important;
	}
  .nav_area > #nav-check:not(:checked) ~ .nav-links {
    height: 0px;
  }
  .nav_area > #nav-check:checked ~ .nav-links {
    height: calc(100vh - 50px);
    overflow-y: auto;
  }
	.head_content{
		padding-top: 50px;
	}
	.nav_area > .nav-links > .nav-links-sp{
		padding: 0;
	}
	.nav_area > .nav-links > .nav-links-sp .secondary-menu{
  width: 100%;
  left: 0;
  text-align: left;
		font-size: 13px !important;
  position: relative;
	 transition: 0.6s;
  display: block;
	background: #fff;
	width: 100%;
  top: 0px;
	border-top: 1px solid #f8f8f8;
	-moz-box-shadow: none !important;
-webkit-box-shadow: none !important;
-o-box-shadow:  none !important;
-ms-box-shadow:  none !important;
}

.nav_area > .nav-links > .nav-links-sp > li:hover > .secondary-menu{
  visibility: visible;
   opacity: 1;
  max-height: 9999px;
}

.secondary-menu_title{
	display: none;
}


.secondary-menu .row{
	margin: 0;
	padding: 0;
}

.secondary-menu_inner_link{
	border-top: 1px solid #f8f8f8;
	border-left: 0px solid #f8f8f8 !important;
	border-right: 0px solid #f8f8f8 !important;
	border-bottom: 0px solid #f8f8f8 !important;
	background: #fff;
	transition: all .2s ease-in;
}

.secondary-menu_inner_link:hover{
/* 	border: 1px solid #00A9F1; */
	background: #00A9F1;
	transition: all .2s ease-in;
}

.secondary-menu_inner_link:hover a{
	color: #fff !important;
}


.secondary-menu_inner_link a{
	display: block !important;
	width: 100%;
	height: 100%;
	padding: 12px 0;
}

	.secondary-menu_inner_link a:after{
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    display: block;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 2px solid #333; /* 線の太さ */
    border-right: 2px solid #333; /* 線の太さ */
    transform: rotate(45deg); /* 右向き矢印 */
}

	.nav_area > .nav-links > .nav-links-sp > li .no-active:before{
	content: "※準備中※";
	top: 13px;
	right: 40px;
	position: absolute;
}


.wrap_content{
		display: block !important;
	}

.l_content{
	width: 100% !important;
}

.r_content{
	width: 100% !important;
	background: #f0f0f0;
}
	.partner_lists img{
	width: 50%;
}

	.partner_lists:nth-child(3) img{
	height: 50px;
	width: auto;
	margin: 10px 10px !important;
}
	.partner_lists:nth-child(4) img{
	height: 40px;
	width: auto;
	margin: 10px 10px !important;
}


}

.nav-btn svg {
  height: 50px;
  position: absolute;
  width: 50px;
	top: 0;
	right: 0;
}
.plates {
  display: flex;
  flex-wrap: wrap;
  max-height: 160px;
  width: 640px;
}
@media (max-width: 640px) {
  .plates {
    width: 320px;
  }
}
.plate {
  height: 50px;
  width: 50px;
}

.x {
  transform: scale(0);
  transition: transform 400ms;
}
.line {
  fill: none;
  stroke: black;
  stroke-width: 6px;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform-origin: 50%;
  transition: stroke-dasharray 500ms 200ms, stroke-dashoffset 500ms 200ms, transform 500ms 200ms;
}
.x .line {
  stroke-width: 5.5px;
}

.plate1 .line2 {
  stroke-dasharray: 40 200;
  stroke-dashoffset: 0px;
}
.plate1 .line3 {
  stroke-dasharray: 40 179;
  stroke-dashoffset: 0px;
}
.active .line {
  transition: stroke-dasharray 500ms, stroke-dashoffset 500ms, transform 500ms;
}
.active.plate1 .line1 {
  transform: scale(0, 1);
  transition: transform 500ms 100ms;
}
.active.plate1 .line2 {
  stroke-dasharray: 5px 200;
  stroke-dashoffset: -164px;
}
.active.plate1 .line3 {
  stroke-dasharray: 5px 179;
  stroke-dashoffset: -142px;
}
.active .x {
  transform: scale(1);
  transition: transform 400ms 350ms;
}

.nav .cta{
	border-radius: 32px;
	border: 1px solid #206551;
	padding: 2px 40px !important;
	color: #206551;
	float: right !important;
	margin: 18px 2px;
}

.nav .cta:hover{
	background: #206551;
	color: #fff !important;
}

.nav_footer{
  text-align: center;
}

.nav_footer .button_new{
  color: #00A9F1;
  background: #fff;
}

#header{
      display: block;
      position: relative;
    }

    @media (max-width:1140px) {
      #header{
        z-index: 999;
        position: fixed;
					top: 0;
      }

      .header-menu{
        display: none;
      }

      .header-content{
        position: absolute;
        background: #fff;
        display: contents;
      }

      .header-logo{
        padding: 7px;
      }
			.content{
				margin-top: 50px;
			}
    }

    #header .header-sns li a{
      padding: 0;
    }

    .header-menu span{
    font-size: 24px;
    float: left;
    font-weight: 800;
    font-style: italic;
    }

    .header-logo{
      max-height: 50px !important;
      height: 100%;
				float: left;
    }

    #header::before{content: none;}

    .noactive{
      color: #777777 !important;
      pointer-events: none;
    }

  .sp { display: none !important; }

  @media only screen and (max-width: 750px) {
  .sp { display: block !important; }
  }

.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
}

.preloader .preloader-before,
.preloader .preloader-after {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 50%;
  background: #002D78;
}

.preloader .preloader-before {
  top: 0;
}

.preloader .preloader-after {
  bottom: 0;
}

.preloader .preloader-block {
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
  width: 100%;
  height: 100%;
}

.preloader .preloader-block .title {
  position: absolute;
  left: 0;
  bottom: calc(50% + 16px);
  width: 100%;
  text-align: center;
  z-index: 2;
  font-size: 25px;
  text-transform: uppercase;
  letter-spacing: 8px;
  color: #fff;
}

.preloader .preloader-block .percent {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  font-weight: 700;
  letter-spacing: 8px;
  font-size: 24vw;
  color: rgba(54, 54, 53, 0.1);
  z-index: 1;
}

.preloader .preloader-block .loading {
  position: absolute;
  top: calc(50% + 16px);
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 2;
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 8px;
  color: #fff;
  -webkit-animation: blink-animation 2.2s linear infinite;
}

.preloader .preloader-bar {
  position: absolute;
  z-index: 2;
  top: calc(50% - 1px);
  right: 0;
  width: 100%;
  height: 2px;
  background: #163F83;
}

.preloader .preloader-bar .preloader-progress {
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
  height: 100%;
  width: 0;
  background: #fff;
}

@-webkit-keyframes blink-animation {
  0% {
    opacity: 0;
  }
}

@-moz-keyframes blink-animation {
  0% {
    opacity: 0;
  }
}

@keyframes blink-animation {
  0% {
    opacity: 0;
  }
}

.wrap_content{
	   display: flex;
    justify-content: space-between;

    z-index: 1;
}

.l_content{
	width: calc(100vw - 180px);
}

.r_content{
	width: 180px;
	background: #f0f0f0;
}

.page_header{
	padding: 60px 15px;
	text-align: center;
	background: #00A9F1;
	color: #fff;
	margin-top: 1px;
}

.page_header .page-title{
	font-size: 2rem;
	font-weight: 800;
	color: #fff;
}

.page_header span{
	font-size: 15px;
	text-transform: capitalize;
	color: #dbf7ff;
}

.header-logo {
    flex-basis: 20%;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0.5rem 0;
	  max-height: 50px !important;
    height: 100%;
}

.site-logo {
    width: 200px;
}

@media screen and (min-width: 768px){
.header-inner {
    padding: 0 1rem;
    background-color: #fff;
}
}

@media screen and (min-width: 768px){
.header-content {
    flex-direction: row;
    align-items: center;
}
}

.header-menu.pc {
    flex-basis: 100%;
			padding: 10px;
}

.cat_title{
	padding: 8px 20px;
	text-decoration: none;
}

.cat_title a{
	color: #fff;
	font-size: 14px;
}

.cat_news{
	background: #00A9F1;
}

.cat_entry{
	background: #002D78;
}

.cat_runner{
	background: #eac336;
}

.cat_volunteer{
	background: #e48aa3;
}

.cat_info{
	background: #fff;
	border: 1px solid #00A9F1;
}

.cat_info a{
	color: #00A9F1;
}
article .wrap-a a{
	text-decoration: none;
}

article .wrap-a h3{
	color: #000;
	font-size: 16px;
	font-weight: 800;
	position: relative;
	margin-bottom: 0;
}

article .wrap-a h3::after {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  content: "";
  width: 0%;
  height: 2px;
  background: #00A9F1;
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
article .wrap-a h3:hover::after {
  width: 100%;
}

.front-loop-cont{
	margin-top: 60px;
}

.p_date{
	font-size: 13px;
}

.bg_c{
	padding: 80px 20px;
	background: #f4fcff;
}

.bg_w{
	padding: 80px 20px;
	background: #fff;
}

.inner_text{
	max-width: 640px;
	margin: 30px auto 20px;
}

.inner_text p{
	font-size: 14px;
}

.entry_list{
	position: relative;
}

.entry_list li{
	margin-bottom: 1rem;
	position: relative;
}

.entry_list li:before{
	content:"";
	position: absolute;
	left: -20px;
	top: 6px;
	width: 12px;
	height: 12px;
	background: #00A9F1;
	border-radius: 99px;
}

.entry_list li a{
	color: #000;
}

.main_visual{
	background: #00A9F1
}

.c-items-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40vh;
  width: 100%;
	margin-bottom: 30px;
}
@media (max-width: 960px) {
  .c-items-flex {
    flex-flow: column nowrap;
		  height: 80vh;
  }
  .c-items-flex__item {
    width: 100%;
  }
}
.c-items-flex__item {
  flex-grow: 1;
  background: #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover !Important;
  box-shadow: inset 0 0 0 100vmax rgb(70 70 70 / 20%);
  transition: 0.2s all;
  cursor: pointer;
	 border: 0.2px solid #fff;
	text-decoration: none !important;
}
@media (min-width: 961px) {
  .c-items-flex__item {
    height: 100%;
  }
}
.c-items-flex__item:hover {
  flex-grow: 2;
  box-shadow: inset 0 0 0 100vmax rgba(0, 159, 241, 0.7);
}
.c-items-flex__item:nth-child(1) {
  background: #222 url(https://www.kasumigaura-marathon.jp/assets/img/aboutimg.jpg) no-repeat center center;
}
.c-items-flex__item:nth-child(2) {
  background: #222 url(http://kasumigaura-marathon.jp/hp_2021/wp-content/uploads/2020/09/10ﾏｲﾙ12km付近ハイタッチ-1.jpg) no-repeat center center;
}
.c-items-flex__item:nth-child(3) {
  background: #222 url(http://kasumigaura-marathon.jp/hp_2021/wp-content/uploads/2020/09/00079_273_1563100.jpg) no-repeat center center;
}
.c-items-flex__item:nth-child(4) {
  background: #222 url(http://kasumigaura-marathon.jp/hp_2021/wp-content/uploads/2020/09/one_sky-1-1.jpg) no-repeat center center;
}
.c-items-flex__title {
  text-transform: uppercase;
  letter-spacing: 0.275em;
	font-size: 22px;
  color: #fff;
  transition: 0.2s all;
	text-decoration: none;
}

.items_box{
	border-top: 1px solid #f0f0f0;
	padding: 40px 0;
	text-align: center;
}

.items_box .col-md-3{
		border-left: 1px solid #8888;
	height: auto;
	margin: 20px 0;
}

.items_box .col-md-3:first-child{
	border: none;
}

@media (max-width: 960px){
	.items_box .col-md-3{
	border: none !important;
}
}

.items_box img{
	height: 50px;
	display: block;
	margin: 0 auto 20px;
}

.items_box a{
	color: #000;
	font-size: 14px;
	font-weight: 800;
	display: block;
}

.related_race_title{
	font-size: 14px !important;
	font-weight: bold;
	margin-top: 30px;
	display: block;
	float: none !important;
}

.related_race img{
	margin: 4px !important;
}

.about-content_title{
	font-size: 24px;
}

#about-content .col-md-4 .subText{
	display: block;
	margin-top: 2px;
	font-size: 14px;
}

.access{
position: relative;
padding: 10rem 0;
}

.s_40{
display: block;
position: absolute;
top: 0;
left: 0;
width: 45%;
height: 100%;
background: #00A9F1;
z-index: 0;
}

.s_60{
display: block;
position: absolute;
top: 0;
right: 0;
width: 55%;
height: 100%;
background: url(http://kasumigaura-marathon.jp/hp_2021/wp-content/uploads/2020/09/ブラインドマラソン-2.jpg);
	background-size: cover;
z-index: 0;
}

.about_s_60{
display: block;
position: absolute;
top: -40px;
left: 0;
width: 60%;
height: calc(100% + 80px);
background: #F7FCFF;
z-index: 0;
}

.access .container{
position: relative;
z-index: 1;
}

.access .container p, .access .container li{
color: #fff;
}
@media only screen and (max-width: 767px){
  .headefr-fexid-onepage .project-title{
    padding: 20px;
  }

  .intro-about .background-mask {
      background-color: transparent;
      height: 300px;
  }

  .about_s_60 {
    display: block;
    position: absolute;
    top: -40px;
    left: 0;
    width: 100%;
    height: calc(100% + 80px);
    background: #F7FCFF;
    z-index: 0;
}

  .access{
    padding: 0;
		 background: #00A9F1;
  }

  .access .container{
    background: #00A9F1;
    padding: 3rem 15px;
  }

  .s_40{
    display: none;
  }

  .s_60{
    width: 100%;
    position: relative;
    height: 50vh;
  }

	.aid_content-area{
		    background: #fff;
    padding: 30px 20px 20px 0;
    margin-top: -140px;
    width: 86%;
	}
	.aid_content-area h3{
		font-size: 18px;
	}
	.aid_content-area p{
		font-size: 14px;
	}
	article .wrap-a h3{
		font-size: 16px;
	}
	.about-content_title{
		font-size: 18px;
	}
	.outline_select a{
		font-size: 14px;
	}
}

.shareList {
	list-style:none;
	display: flex;
    justify-content: flex-end;
	flex-wrap:wrap;
	padding:0;
	margin:-5px 0 0 -5px;
}
.shareList__item {
    flex-grow: 1;
	height:50px;
	line-height:50px;
	text-align:center;
	margin:9px 0 0 5px;
}
.shareList__link {
	display:block;
	color:#ffffff;
	text-decoration: none !important;
	transition: .2s;
	border:2px solid;
	border-radius: 5px;
}
.shareList__link::before{
	font-size:16px;
}
.shareList__link::after{
	content:attr(title);
	font-size:14px;
	font-weight:700;
	vertical-align: top;
	margin-left:5px;
}


.shareList__link.icon-twitter{background:#55acee;}
.shareList__link.icon-twitter:hover{color:#55acee; background:#ffffff; border-color:#55acee;}

.shareList__link.icon-facebook{background:#3B5998;}
.shareList__link.icon-facebook:hover{color:#3B5998; background:#ffffff; border-color:#3B5998;}

.shareList__link.icon-line{background:#1dcd00;}
.shareList__link.icon-line:hover{color:#1dcd00; background:#ffffff; border-color:#1dcd00;}

.outline_select{
	text-align: center;
	margin: 0 !important;
}

.outline_select a{
	padding: 20px 0;
	color: #888888;
	background: #f8f8f8;
	text-decoration: none;
	border: 1px solid #fff;
}

.outline_select .active{
	background: #ffff;
	color: #00A9F1;
}

.detail_items ul{
	display: flex;
	margin-top: 30px;
	text-align: center;
	white-space: nowrap;
  overflow-x: auto;
	padding: 0;
}
.detail_items li{
	flex: 1;
	border-bottom: 1px solid #eee;
	padding: 10px 20px;
}
.detail_items li a{
 color: #718089;
	text-decoration: none;
	display: block;
}

.detail_items .active{
	border-bottom: 3px solid #00A9F1;
	font-weight: 800;
}

.detail_items .active a{
	color: #00A9F1;
}

/* 下層ページ */
.outline_title{
	font-size: 16px;
	border: none !important;
	position: relative;
	border-bottom: 2px solid #163F83;
}

.outline_title::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  z-index: 2;
  content: '';
  width: 20%;
  height: 4px;
  background-color: #00A9F1;
}

.outline_detail{
	position: relative;
/* 	padding-left: 25px !important; */
	border-bottom: none !important;
	margin-bottom: 0px !important;
}

/* .outline_detail:nth-of-type(n+2){
	margin-top: 60px;
}
 */
/* .outline_detail:nth-of-type(n+2):before{
  position: absolute;
	top: -20px;
  left: 0;
  z-index: 2;
  content: '';
  width: 100%;
  height: 1px;
  background-color: #f0f0f0;
}

.outline_detail::after {
content: '';
position: absolute;
top: 50%;
left: 0;
transform: translateY(-50%);
width: 12px;
height: 12px;
border: 2px solid #163F83;
border-radius: 100%;
} */

.term_list_num{
	margin-top: 40px;
}

.r_content_title{
	margin: 0px 0;
	padding: 10px 0;
	text-align: center;
	font-size: 20px;
	background: #00A9F1;
	color: #fff;
}

.partner_lists{
	width: 90%;
	margin: 12px auto;
	background: #fff;
	padding: 20px 10px;
	text-align: center;
}

.partner_lists img:nth-child(n+2){
	margin-top: 30px;
}


.partner_lists p{
	font-size: 12px;
	margin: 0;
}

.outline_titleWrap{
	padding: 16px 14px;
	border-left: 2.4px solid #00A9F1;
	margin-top: 30px;
}

.outline_contentWrap{
	padding: 14px;
	border-left: 1px solid #e4e4e4;
	font-size: 14px;
}

.outline_titleWrap:first-child{
	margin-top: 0px;
}

.outline_contentWrap li{
	list-style: circle;
}

.outline_contentWrap p{
	margin-bottom: 0;
}

.outline_contentWrap h3{
		font-family:'ヒラギノ角ゴ W6 JIS2004','ヒラギノ角ゴ Std W6','Hiragino Karu Gothic Std W6',sans-serif;
	font-weight: 800;
	position: relative;
	margin-bottom: 20px;
}

.outline_contentWrap h3:after{
	content: "";
	width: 50px;
	height: 2px;
	background: #00A9F1;
	position: absolute;
	bottom: -13px;
	left: 0;

}

.outline_contentWrap table, .outline_contentWrap td{
	border: none !important;
	margin-bottom: 30px;
}

.outline_contentWrap table tr:first-child{
	border-bottom: 1px solid #4444;
}

.outline_contentWrap table tr{
	border-bottom: 1px solid #f1f1f1;
}

.outline_contentWrap table tr:last-child{
	border: none;
}
.access_rourte{
	padding: 60px 0;
}

.main-content{
	margin-top: 40px;
}

.access_rourte_list h2{
	font-size: 24px;
	font-weight: 800;
	margin-bottom: 30px;
}

.access_rourte_list i{
	font-size: 52px;
	margin-bottom: 12px;
	color: #4B4B4B;
}

.access_rourte_list .row .col-4:nth-child(2){
	border-right: 1px solid #BEBEBE;
	border-left: 1px solid #BEBEBE;
}

.access_rourte_list_title{
	margin-top: 40px;
	font-size: 18px;
	border-bottom: 1px solid #3333;
	padding-bottom: 8px;
	margin-bottom: 20px;
}

.access_rourte_list_title:after, .access_title:after{
	content: none !important;
}

.access_rourte_list_title i{
	font-size: 150%;
	margin-right: 12px;
}

@media only screen and (max-width: 767px){
	.access_rourte_list i{
	font-size: 24px;
}
	.access_title{
		font-size: 13px;
	}
	.access_note{
	padding: 20px;
}

}

.access_note{
	max-width: 640px;
	margin: auto;
	background: #f8f8f8;
	padding: 32px 40px;
}

.access_rourte_details p{
	margin-bottom: 0;
	line-height: 2;
}

.access_rourte_details iframe{
	margin-top: 40px;
}

.access_rourte_details li{
	margin: 6px 0 0 0;
	list-style: circle;
}

.access_note{
	margin-top: 30px;
}

.slideshow{
	animation: slide 30s linear infinite;
}

.slideimgs{
	display: flex;
	white-space: nowrap;
	position: absolute;
	top: 0;
	left: 0;
	transition: all .3s;
}

.slideimgs figure{
	width: 48vw;
	max-width: 180px;
	flex-shrink: 0;
	border: 2px solid #fff;
}

.lb {
    display: flex;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    justify-content: center;
    align-items: center;
    background: rgba(0,0,0,.7);
    opacity: 0;
    transition: .3s opacity ease;
    pointer-events: none;
    z-index: 100;
}

.lb img {
    width: auto !important;
    max-height: 100%!important;
    cursor: pointer;
}

.lb img,
.lb iframe {
    transform: scale(.85);
    transition: .3s all ease;
}

.lb:target {
    opacity: 1;
    pointer-events: auto;
    z-index: 101;
}

.lb:target img,
.lb:target iframe {
    transform: scale(1);
}

/* なんちゃって閉じるボタン*/
.lb::before,.lb::after {
    display: block;
    position: fixed;
    content: "";
    width: 24px;
    height:3px;
    top: 24px;
    right: 12px;
    background: #fff;
    border-radius: 4px;
}
.lb::before {
    transform: rotate(-315deg);
}
.lb::after {
    transform: rotate(315deg);
}

.top_ab{
	position: relative;
}

.top_ab img{
	position: absolute;
	width: 20vw;
}

.top_ab_01{
	width: 30%;
	left: -20px;
 	bottom: 0px;
}

.top_ab_02{
	max-width:480px;
	width: 50%;
	position: absolute;
	right: 0;
	bottom: 0px;
}



@media only screen and (max-width: 767px){
	.top_ab img{
	position: absolute;
	width: 48vw;
}
	.top_ab_01{
		width: 30%;
		position: relative !important;
		display: block;
		bottom: 40px;
}

.top_ab_02{
	float: right;
}
	.bg_c, .bg_w{
		padding: 30px 20px;
	}

}

.news-area{
	max-width: 480px !important;
	margin: auto;
	padding-top: 40px;
	padding: 40px;
/* 	margin-bottom: -40px; */
}

.top-content {
	margin: 0 !important;
}

.top-content .col-md-3:nth-child(n+2){
	background: #fff;
	border-bottom: 4px solid #2222;
}

.top-content .col-md-3:nth-child(n+2){
	padding: 0 0 30px 0;
  display: inline-block;
  cursor: pointer;
  transition: all 0.3s ease 0s;
		color: #000;
		margin-top: -20px;
}

.top-content .col-md-3:nth-child(n+2):hover{
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.25);
  transform: translateY(-0.1875em);
	background: #0CA2ED;
	color: #fff;
}

.top-content .col-md-3:hover .top-content-title{
	color: #fff;
}

.top-content .col-md-3:nth-child(n+3){
	border-left: 1px solid #4444;
}

.top-content a{
	text-decoration: none;
}

.top-content-title{
	margin-left: 20px;
	position: relative;
	color: #000;
	margin-top: 20px;
}

.top-content-title:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 19px;
	width: 20px;
	height: 20px;
	margin-top: -8px;
	border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
	background: #0CA2ED;
}
.top-content-title:after {
	display: block;
	content: "";
	position: absolute;
	top: 7px;
	right: 32px;
	width: 0;
	height: 0;
	margin-top: -5px;
	 font-family: "Font Awesome 5 Free";
  content: "\f105";
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
	color: #fff;
}

@media only screen and (max-width: 750px) {
	.top-content .col-md-3{
		border: 1px solid #f8f8f8;
	}
	.top-content .col-md-3:nth-child(n+2){
	border-left: none;
		margin-top: 0;
}
	.top_ab_011{
		width: 90%!important;
	}
	.top-content-title{
		font-size: 14px;
		margin-bottom: 0;
	}
}

.top-content-wrap{
	background: #E7F5FD;
}

.top_ab_011{
	position: absolute;
	bottom: 0;
	width: 80%;
}

.top-content-number{
	font-size: 60px;
	color: #ADE1FF;
	font-family: Verdana, "Helvetica",　Arial, sans-serif;
	font-weight: 800;
}

.top-banner_area{
	padding: 40px 20px;
}

.top-banner_area img{
	margin: 20px 0 0;
}

.term_list_num li{
	list-style: circle;
	font-size: 90%;
}

.page_title{
	font-size: 120%;
	position: relative;
	border-bottom: 3px solid #163F83;
	padding-bottom: 10px;
	margin-bottom: 30px;
}

.page_title:after{
	content: "";
	width: 30%;
	height: 2px;
	background: #00A9F1;
	position: absolute;
	bottom: -2px;
	left: 0;
}

.page h3{
	position: relative;
	margin-top: 0;
	margin-bottom: 30px;
}

.page h3:after{
	content: "";
	width: 50px;
	height: 2px;
	background: #00A9F1;
	position: absolute;
	bottom: -13px;
	left: 0;
}

.desc_box p{
	line-height: 2;
	font-size: 13px;
	margin-top: 10px;
}

.hr{
	width: 100%;
	margin: 20px 0 40px;
	border: 1px solid #f0f0f0;
}

.runner_voice{
	padding: 20px;
	display: block;
	border: 1px solid #4444;
	border-radius: 12px;
	background: #f8f8f8;
}

/* FAQ */
.accordion-item-input:checked + label + .accordion-item-bd {
  max-height: 1000px;
  padding-top: 15px;
  margin-bottom: 15px;
  transition: max-height 1s ease-in, margin .3s ease-in, padding .3s ease-in;
	opacity: 1;
}

.accordion-item-input:checked ~ .accordion-item-hd > .accordion-item-hd-cta {
  transform: rotate(0);
}

.accordion-item-hd-cta {
  display: block;
  width: 30px;
  position: absolute;
  top: calc(50% - 6px );
  /*minus half font-size*/
  right: 0;
  pointer-events: none;
  transition: transform .3s ease;
  transform: rotate(-180deg);
  text-align: center;
  font-size: 12px;
  line-height: 1;
}

.accordion-item-bd {
  max-height: 0;
  margin-bottom: 0;
  overflow: hidden;
  transition: max-height .15s ease-out, margin-bottom .3s ease-out, padding .3s ease-out;
}

.accordion-item-input {
  clip: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  margin: -1;
  overflow: hidden;
  position: absolute;
  left: -9999px;
}

/* */

.faq-wrap {
    position: relative;
}

.faq label {
  background: #fff;
    border-bottom: 1px solid #eee;
    border-radius: 8px;
  cursor: pointer;
  display: block;
    font-size: 16px;
    letter-spacing: -.0225rem;
    line-height: 1.36842;
    margin-bottom: 16px;
    padding: 20px 10px;
  position: relative;
    transition: all 0.35s ease;
}

.faq label:hover {
  background: #00A9F1;
    color: #fff;
    cursor: pointer;
}

.faq label::before {
  content: "\276f";
    font-size: 14px;
    float: left;
    line-height: 23px;
    margin: 0 15px 0 5px;
    transition: all 0.15s ease;
    color: #00A9F1;
}

.faq label:hover::before {
  color: #fff;
  opacity: 0.55;
  transform: rotate(90deg);
}

.faq-cerrar {
  cursor: pointer;
}

.faq label.cerrar::after {
  content: "\2715";
    float: right;
    font-size: 11px;
    font-weight: 300;
    line-height: 30px;
}

.faq label.cerrar::before {
  transform: rotate(-90deg);
}

.answer {
  background: #fff;
  line-height: 1.8em;
  margin-bottom: 25px;
  margin-top: -17px;
  border-top: 1px dashed #eee;
  border-radius: 11px
}

.answer p {
  margin: 0;
  padding: 0px 25px;
}

.answer-enlace-dotted {
  border-bottom: 1px dotted #000;
}

.text-h3 {
  font-size: 1.21rem;
}

@media (min-width: 400px) {
  .text-h3 {
    font-size: 1.59rem;
  }
}

@media (min-width: 768px) {
  .faq {
    padding-top: 5.21rem;
  }
  .faq label {
    font-size: 16px;
    letter-spacing: -.01875rem;
    line-height: 1.33333;
    padding: 20px;
  }
  .answer p {
			font-size: 14px;
    letter-spacing: 0.021rem;
    line-height: 2.1;
    padding: 0px 50px;
  }
  .text-h3 {
    font-size: 1.7rem;
  }
}

.answer ul{
	margin: 20px 0;
}

.answer ul li{
	font-size: 14px;
	margin-left: 55px;
	list-style: circle;
}

@media (min-width: 1000px) {
  .text-h3 {
    font-size: 2.35rem;
  }
}

/* Timeline */
@media (min-width: 1000px) {
  #timeline .demo-card:nth-child(odd) .head::after, #timeline .demo-card:nth-child(even) .head::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
  }

  #timeline .demo-card:nth-child(odd) .head::before, #timeline .demo-card:nth-child(even) .head::before {
    position: absolute;
    content: "";
    width: 9px;
    height: 9px;
    background-color: #bdbdbd;
    border-radius: 9px;
    box-shadow: 0px 0px 2px 8px #f7f7f7;
  }
}
/* Some Cool Stuff */
.demo-card:nth-child(1) {
  order: 1;
}

.demo-card:nth-child(2) {
  order: 11;
}

.demo-card:nth-child(3) {
  order: 2;
}

.demo-card:nth-child(4) {
  order: 12;
}

.demo-card:nth-child(5) {
  order: 3;
}

.demo-card:nth-child(6) {
  order: 13;
}

.demo-card:nth-child(7) {
  order: 4;
}

.demo-card:nth-child(8) {
  order: 14;
}

.demo-card:nth-child(9) {
  order: 5;
}

.demo-card:nth-child(10) {
  order: 15;
}

.demo-card:nth-child(11) {
  order: 6;
}

.demo-card:nth-child(12) {
  order: 16;
}

.demo-card:nth-child(13) {
  order: 7;
}

.demo-card:nth-child(14) {
  order: 17;
}

.demo-card:nth-child(15) {
  order: 8;
}

.demo-card:nth-child(16) {
  order: 18;
}

.demo-card:nth-child(17) {
  order: 9;
}

.demo-card:nth-child(18) {
  order: 19;
}



#timeline {
  padding: 100px 0;
  background: #f7f7f7;
  border-top: 1px solid rgba(191, 191, 191, 0.4);
  border-bottom: 1px solid rgba(191, 191, 191, 0.4);
}
#timeline h1 {
  text-align: center;
  font-size: 3rem;
  font-weight: 200;
  margin-bottom: 20px;
}
#timeline p.leader {
  text-align: center;
  max-width: 90%;
  margin: auto;
  margin-bottom: 45px;
}
#timeline .demo-card-wrapper {
  position: relative;
  margin: auto;
}
@media (min-width: 1000px) {
  #timeline .demo-card-wrapper {
    display: flex;
    flex-flow: column wrap;
    width: 1170px;
    height: 4590px;
    margin: 0 auto;
  }
}
#timeline .demo-card-wrapper::after {
  z-index: 1;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  border-left: 1px solid rgba(191, 191, 191, 0.4);
}
@media (min-width: 1000px) {
  #timeline .demo-card-wrapper::after {
    border-left: 1px solid #bdbdbd;
  }
}
#timeline .demo-card {
  position: relative;
  display: block;
  margin: 10px auto 80px;
  max-width: 94%;
  z-index: 2;
}
@media (min-width: 480px) {
  #timeline .demo-card {
    max-width: 60%;
    box-shadow: 0px 1px 22px 4px rgba(0, 0, 0, 0.07);
  }
}
@media (min-width: 720px) {
  #timeline .demo-card {
    max-width: 40%;
  }
}
@media (min-width: 1000px) {
  #timeline .demo-card {
    max-width: 450px;
    height: 400px;
    margin: 90px;
    margin-top: 45px;
    margin-bottom: 45px;
  }
  #timeline .demo-card:nth-child(odd) {
    margin-right: 45px;
  }
  #timeline .demo-card:nth-child(odd) .head::after {
    border-left-width: 15px;
    border-left-style: solid;
    left: 100%;
  }
  #timeline .demo-card:nth-child(odd) .head::before {
    left: 491.5px;
  }
  #timeline .demo-card:nth-child(even) {
    margin-left: 45px;
  }
  #timeline .demo-card:nth-child(even) .head::after {
    border-right-width: 15px;
    border-right-style: solid;
    right: 100%;
  }
  #timeline .demo-card:nth-child(even) .head::before {
    right: 489.5px;
  }
  #timeline .demo-card:nth-child(2) {
    margin-top: 180px;
  }
}
#timeline .demo-card .head {
  position: relative;
  display: flex;
  align-items: center;
  color: #fff;
  font-weight: 400;
}
#timeline .demo-card .head .number-box {
  display: inline;
  float: left;
  margin: 15px;
  padding: 10px;
  font-size: 35px;
  line-height: 35px;
  font-weight: 600;
  background: rgba(0, 0, 0, 0.17);
}
#timeline .demo-card .head h2 {
  text-transform: uppercase;
  font-size: 1.3rem;
  font-weight: inherit;
  letter-spacing: 2px;
  margin: 0;
  padding-bottom: 6px;
  line-height: 1rem;
}
@media (min-width: 480px) {
  #timeline .demo-card .head h2 {
    font-size: 165%;
    line-height: 1.2rem;
  }
}
#timeline .demo-card .head h2 span {
  display: block;
  font-size: 0.6rem;
  margin: 0;
}
@media (min-width: 480px) {
  #timeline .demo-card .head h2 span {
    font-size: 0.8rem;
  }
}
#timeline .demo-card .body {
  background: #fff;
  border: 1px solid rgba(191, 191, 191, 0.4);
  border-top: 0;
  padding: 15px;
}
@media (min-width: 1000px) {
  #timeline .demo-card .body {
    height: 315px;
  }
}
#timeline .demo-card .body p {
  font-size: 14px;
  line-height: 18px;
  margin-bottom: 15px;
}
#timeline .demo-card .body img {
  display: block;
  width: 100%;
}
#timeline .demo-card--step1 {
  background-color: #46b8e9;
}
#timeline .demo-card--step1 .head::after {
  border-color: #46b8e9;
}
#timeline .demo-card--step2 {
  background-color: #3ee9d1;
}
#timeline .demo-card--step2 .head::after {
  border-color: #3ee9d1;
}
#timeline .demo-card--step3 {
  background-color: #ce43eb;
}
#timeline .demo-card--step3 .head::after {
  border-color: #ce43eb;
}
#timeline .demo-card--step4 {
  background-color: #4d92eb;
}
#timeline .demo-card--step4 .head::after {
  border-color: #4d92eb;
}
#timeline .demo-card--step5 {
  background-color: #46b8e9;
}
#timeline .demo-card--step5 .head::after {
  border-color: #46b8e9;
}
#timeline .demo-card--step6 {
  background-color: #3ee9d1;
}
#timeline .demo-card--step6 .head::after {
  border-color: #3ee9d1;
}
#timeline .demo-card--step7 {
  background-color: #ce43eb;
}
#timeline .demo-card--step7 .head::after {
  border-color: #ce43eb;
}
#timeline .demo-card--step8 {
  background-color: #4d92eb;
}
#timeline .demo-card--step8 .head::after {
  border-color: #4d92eb;
}
#timeline .demo-card--step9 {
  background-color: #46b8e9;
}
#timeline .demo-card--step9 .head::after {
  border-color: #46b8e9;
}
#timeline .demo-card--step10 {
  background-color: #3ee9d1;
}
#timeline .demo-card--step10 .head::after {
  border-color: #3ee9d1;
}
#timeline .demo-card--step11 {
  background-color: #ce43eb;
}
#timeline .demo-card--step11 .head::after {
  border-color: #ce43eb;
}
#timeline .demo-card--step12 {
  background-color: #4d92eb;
}
#timeline .demo-card--step12 .head::after {
  border-color: #4d92eb;
}
#timeline .demo-card--step13 {
  background-color: #46b8e9;
}
#timeline .demo-card--step13 .head::after {
  border-color: #46b8e9;
}
#timeline .demo-card--step14 {
  background-color: #3ee9d1;
}
#timeline .demo-card--step14 .head::after {
  border-color: #3ee9d1;
}
#timeline .demo-card--step15 {
  background-color: #ce43eb;
}
#timeline .demo-card--step15 .head::after {
  border-color: #ce43eb;
}
#timeline .demo-card--step16 {
  background-color: #4d92eb;
}
#timeline .demo-card--step16 .head::after {
  border-color: #4d92eb;
}
#timeline .demo-card--step17 {
  background-color: #46b8e9;
}
#timeline .demo-card--step17 .head::after {
  border-color: #46b8e9;
}
#timeline .demo-card--step18 {
  background-color: #3ee9d1;
}
#timeline .demo-card--step18 .head::after {
  border-color: #3ee9d1;
}

/* footer */
.footer_01{
	background: #00A9F1;
	padding: 30px 0;
	width: 100%;
	margin: 0 !important;
}

.footer_01 img{
	width: 70%;
	max-width: 480px;
	margin: 30px 0;
}

.footer_01 h2{
	font-size: 14px;
	padding-bottom: 12px;
}

.footer_contact_list{
	font-size: 12px;
}

.footer_sns li{
	display: inline-block;
	margin: 0 4px;
}

.footer_sns a{
	border-radius: 50%;
    border-style: solid;
    border-width: 1px;
    border-color: #ffffff;
    background-color: transparent;
    box-sizing: border-box;
    width: 50px;
    height: 50px;
    position: relative;
    display: block;
    -webkit-transition: background-color 0.35s ease-out;
    transition: background-color 0.35s ease-out;
}


.footer_sns a:hover{
    background-color: #fff;
	-webkit-transition: background-color 0.35s ease-out;
    transition: background-color 0.35s ease-out;
}

.footer_sns a:hover i{
	color: #00A9F1;
}

.footer_sns li i{
	font-size: 24px;
	padding: 10px;
}

.footer_contact_list{
	color: #f4fcff;
	line-height: 1.6;
}

.post_detail{
	padding: 10px 20px;
}

article{
	margin-bottom: 0!important;
}

.front-loop-cont{
	margin-top: 30px!important;
}

.categories{
	width: 100%;
}

.categories ul{
	display: inline-block;
}

.articles{
	max-width: 840px !important;
	margin: auto;
}

.card_layout{
 padding: 10vw;
	border: 8px solid #cfe6f3;
}

.card_title{
	font-size: 140%;
	width: 100%;
}

.notice li{
	font-size: 14px;
	list-style: circle;
	margin-bottom: 4px;
}

blockquote{
    position: relative;
    margin: 2rem 0;
    padding: 3.5rem;
    font-size: 14px;
    line-height: 1.8;
		border-radius: 12px;
}

blockquote:before {
    content: "\F10D";
    color: #00A9F1;
    top: 1rem;
    left: 1rem;
}

.singer_name{
	font-size: 16px;
}

.song_desc{
	font-size: 12px;
	margin-top: 10px
}

.song_meta ul, .song_meta li{
	margin: 0;
	padding: 0;
	font-size: 12px;
}

.singer_desc p{
	font-size: 13px;
}

.singer_info{
	max-width: 640px;
	margin: 30px auto !important;
}

.message_box{
	max-width: 840px;
	margin: auto;
	padding: 20px;
}

.message_box h2{
	font-size: 120%;
	margin: 60px 0 48px;
	position: relative;
	border-top: 1px solid #4444;
	padding-top: 40px;
}

.message_box h2:before{
	position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #00A9F1;
  top: -2px;
  width: 20%;
}
.message_box ul li{
	list-style: circle;
}

.message_box ol li{
	list-style: decimal;
}

@media(min-width: 768px){
.flow > li {
	position: relative;
}
.flow > li:not(:last-child) {
	margin-bottom: 40px;
}
.flow > li:not(:first-child)::before {
	content: "";
	height: 60px;
	display: block;
	border-left: 4px dotted #e5e5e5;
	position: absolute;
	top: -40px;
	left: -webkit-calc(10% + 30px - 2px);
	left: calc(10% + 30px - 2px);
	z-index: 10;
}


.flow > li dl {
	width: 100%;
	padding: 20px 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
/* 	align-items: center; */
	border: 2px solid #00A9F1;
	border-radius: 10px;
	position: relative;
}
.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
	content: "";
	border: solid transparent;
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.flow > li:not(:last-child) dl::before {
	border-width: 22px;
	border-top-color: #00A9F1;
}
.flow > li:not(:last-child) dl::after {
	border-width: 20px;
	border-top-color: #fff;
}
.flow > li dl dt {
	font-size: 20px;
	font-weight: 600;
	color: #00A9F1;
	-ms-flex-preferred-size: 20%;
	flex-basis: 20%;
	margin-right: 2vw;
	text-align: center;
}
.flow > li dl dt .icon {
	font-size: 12px;
	color: #fff;
	background: rgb(107,144,219);
	background: -moz-linear-gradient(left, rgba(107,144,219,1) 0%, rgba(102,213,233,1) 100%);
	background: -webkit-linear-gradient(left, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
	background: linear-gradient(to right, #00a9f1 0%,rgba(102,213,233,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
	padding: 5px 10px;
	margin-bottom: 10px;
	display: block;
	border-radius: 20px;
	position: relative;
	z-index: 100;
}

.flow dd li{
	list-style: circle;
}
}

.flow > li {
	position: relative;
}
.flow > li:not(:last-child) {
	margin-bottom: 40px;
}

.flow > li dl {
	width: 100%;
	padding: 20px 30px;
	border: 2px solid #00A9F1;
	border-radius: 10px;
	position: relative;
}
.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
	content: "";
	border: solid transparent;
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.flow > li:not(:last-child) dl::before {
	border-width: 22px;
	border-top-color: #00A9F1;
}
.flow > li:not(:last-child) dl::after {
	border-width: 20px;
	border-top-color: #fff;
}
.flow > li dl dt {
	font-size: 20px;
	font-weight: 600;
	color: #00A9F1;
	-ms-flex-preferred-size: 20%;
	flex-basis: 20%;
	margin-right: 2vw;
	text-align: center;
}
.flow > li dl dt .icon {
	font-size: 12px;
	color: #fff;
	background: rgb(107,144,219);
	background: -moz-linear-gradient(left, rgba(107,144,219,1) 0%, rgba(102,213,233,1) 100%);
	background: -webkit-linear-gradient(left, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
	background: linear-gradient(to right, #00a9f1 0%,rgba(102,213,233,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
	padding: 5px 10px;
	margin-bottom: 10px;
	display: block;
	border-radius: 20px;
	position: relative;
	z-index: 100;
}

.flow dd li{
	list-style: circle;
}
