@charset "utf-8";

#main{
    background-color: #f7f1e5;
}


/* heading
-------------------------------------------------------------------- */


.top-visual{
    position: relative;
}
.visual-text{
    position: absolute;
    /*top:50%;*/
    top:calc(50% - 30px);
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    color: #fff;
    font-size: 3.5rem;
    line-height: 1.2em;
    text-shadow: 0 0 10px #000, 0 0 10px #333;
    width: 100%;
    max-width: 1366px;
    margin-left: auto;
    margin-right: auto;
    padding: 50px calc(min(6.07vw, 83px));
}

@media screen and (max-width: 999.9px) {
    .visual-text{
        top:50% ;
    }
}
@media screen and (max-width: 799.9px) {
    .visual-text{
        font-size: 2.8rem;
    }
}
@media screen and (max-width: 499.9px) {
    .visual-text{
        font-size: 2rem;
    }
}


        
.scrolldown{
    opacity: 2;
	position:absolute;
	left:50%;
	bottom:150px;
    z-index: 999;
}
.scrolldown span{
	position: absolute;
	/*right:-27px;*/
	right:-21px;
	bottom: 0px;
	color: #666;
	/*font-size: 1.5rem;*/
	font-size: 1.2rem;
	letter-spacing: 0.05em;
}
.scrolldown::after{
	content: "";
	position: absolute;left: 50%;
    transform: translateX(-50%);
	top: 50px;
	width: 1px;
	height: 40px;
	background: #666;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:30px;
		opacity: 1;
	}
	100%{
		height:0;
		top:50px;
		opacity: 0;
	}
}
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:30px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    opacity: 0;
  }
}


@media screen and (max-width: 999.99px) {
    .scrolldown
    {
        display: none !important;
            
    }
}

        
   




.heading01 {
    margin: 120px 0 30px;
}

.heading01 h1, .heading01 h2, .heading01 h3, .heading01 h4, .heading01 h5, .heading01 h6, .heading01 p {
    font-size: 5rem;
    font-weight: 700;
}

@media screen and (max-width: 799.9px) {
    .heading01 h1, .heading01 h2, .heading01 h3, .heading01 h4, .heading01 h5, .heading01 h6, .heading01 p {
        font-size: 4rem;
    }
}
@media screen and (max-width: 499.9px) {
    .heading01 h1, .heading01 h2, .heading01 h3, .heading01 h4, .heading01 h5, .heading01 h6, .heading01 p {
        font-size: 2.8rem;
    }
}

.heading01 + div {
    margin-top: 0;
}

.heading01.-image {
    padding: 35px 3.75%;
    color: #FFF;
    text-shadow: 0 0 10px #333;
    background-position: 0 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.heading01.-image h1, .heading01.-image h2, .heading01.-image h3, .heading01.-image h4, .heading01.-image h5, .heading01.-image h6 {
    font-size: 4.4rem;
}

@media screen and (max-width: 499.9px) {
    .heading01.-image h1, .heading01.-image h2, .heading01.-image h3, .heading01.-image h4, .heading01.-image h5, .heading01.-image h6 {
        font-size: 3.2rem;
    }
}

.heading01.-image .lead {
    font-size: 1.8rem;
}


.heading01 .head-inner{
    /*max-width: 1200px;
    margin-left: auto;
    margin-right: auto;*/
    width: 100%;
    max-width: 1366px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 calc(min(6.07vw, 83px));    
    
}

@media screen and (max-width: 499.9px) {
  .heading01 {
    margin-top: 50px;
  }
}

.heading01:first-child {
  margin-top: 70px;
}

.heading01.-image {
  margin: 50px 0 60px;
}

@media screen and (max-width: 499.9px) {
  .heading01.-image {
    margin-top: 30px;
  }
}

.heading02 {
  position: relative;
  padding-bottom: 15px;
  margin: 70px 0 40px;
}

.heading02 h1, .heading02 h2, .heading02 h3, .heading02 h4, .heading02 h5, .heading02 h6 {
  font-size: 2.4rem;
  font-weight: 700;
}

.heading02::before, .heading02::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #E4E4E4;
}

.heading02::after {
  width: 30%;
  background-color: #10218b;
}

.heading02 + div {
  margin-top: 0;
}

.heading03 {
  position: relative;
  padding-left: 25px;
  margin: 70px 0 30px;
}

.heading03 h1, .heading03 h2, .heading03 h3, .heading03 h4, .heading03 h5, .heading03 h6 {
  font-size: 2rem;
  font-weight: 700;
}

.heading03::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.3em;
  bottom: 0.3em;
  left: 0;
  width: 4px;
  background-color: #10218b;
}

.heading03 + div {
  margin-top: 0;
}

.heading04 ,
.heading04s {
  margin: 50px 0 30px;
}

.heading04 h1, .heading04 h2, .heading04 h3, .heading04 h4, .heading04 h5, .heading04 h6 {
  font-size: 2.8rem;
  font-weight: 700;
}
.heading04s h1, .heading04s h2, .heading04s h3, .heading04s h4, .heading04s h5, .heading04s h6 {
  font-size: 1.9rem;
  font-weight: 700;
}

@media screen and (max-width: 499.9px) {
  .heading04 h1, .heading04 h2, .heading04 h3, .heading04 h4, .heading04 h5, .heading04 h6 {
    font-size: 2rem;
  }
  .heading04s h1, .heading04s h2, .heading04s h3, .heading04s h4, .heading04s h5, .heading04s h6 {
    font-size: 1.8rem;
  }
}

.heading04 + div ,
.heading04s + div {
  margin-top: 0;
}

.center-heading {
  margin: 80px 0 35px;
}

.center-heading h1, .center-heading h2, .center-heading h3, .center-heading h4, .center-heading h5, .center-heading h6 {
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 499.9px) {
  .center-heading h1, .center-heading h2, .center-heading h3, .center-heading h4, .center-heading h5, .center-heading h6 {
    font-size: 2.4rem;
  }
}

.center-heading:first-child {
  margin-top: 0;
}

@media screen and (max-width: 499.9px) {
  .center-heading {
    margin: 70px 0 30px;
  }
}



.bg-white-c{
    background-color: white;
    padding: 50px;
    border-radius: 50px;
    background:rgba(255, 255, 255, 0.85);
}
@media screen and (max-width: 499.9px) {
    .bg-white-c{
        padding: 30px;
        border-radius: 20px;
    }
    
}

@media screen and (max-width: 499.9px) {
    .bg-white-c .share-area {
        margin-left: 0;
        margin-right: 0;
    }
    .bg-white-c .share-area .btns {
        column-gap: 25px;
        margin-left: 0;
        margin-right: 0;
    }
}

.ai-center{
    align-items:center;
}




