@charset "UTF-8";

/* -----------------------------------------------
 *  	      LLH top.css
 * ----------------------------------------------- */

/* ---------- mainvisual ---------- */
article.top_mainvisual_area{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
	background-image: url(../img/mainvisual.jpg);
    width: 100%;
    height: 100vh;
	background-repeat: no-repeat;
	background-position: center center;
	background-size:cover;  
}
article.top_mainvisual_area::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(rgba(0,0,0,0),rgba(255,255,255,0.1));
    display: block;
}


.top_mainvisual_txt_area{
z-index: 1;
/* background: linear-gradient(0deg, #f39939 0%, #c2bede, #0091af, #e9efe2 100%); */
padding:40px 40px 25px;
opacity: 100%;
/*width: 800px; */
/* transform:rotate(-3deg); */
box-shadow: 0 10px 25px 0 rgba(60, 194, 235, 0.5);
}

.top_mainvisual_txt_area img{
z-index: 4 !important;
opacity: 100% !important;
width: 500px;
display: block;
margin: auto;
}

article.top_mainvisual_area h1{
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
}
svg.svg_mainvisual_logo{
    display: block;
    width: 400px;
    height: 200px;
    margin: 50px auto 0;
    fill: #000;
    opacity: 100%;
}


.anim-box.slidein.is-animated {
  animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@keyframes slideIn {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}


p.svg_mainvisual_text{
    text-align: center;
    font-size: 3.0rem;
    font-weight: 600;
    line-height: 0.9em;
    /* font-style: oblique; */
    margin: 15px 0 0 0;
    letter-spacing: 2.0px;
    /*    border-bottom: solid 5px #F0D823; */
    display: block;
}
p.svg_mainvisual_text span{
    font-size: 2.0rem;
    letter-spacing: 2.0px;
}

p.svg_mainvisual_text::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    margin: 1rem auto 0;
/*    background: transparent -webkit-gradient(linear, left top, right top, from(#e671f1), to(#ddc0ea)) 0% 0% no-repeat padding-box; */
}

div.top_mainvisual_copy{
    position: absolute;
    left: 0; top:0; bottom: 0;
    width: 120px;
/*    background-color: var(--color-orange); */
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    background: linear-gradient(180deg, rgb(255, 238, 128), rgb(143, 199, 122));
}
div.top_mainvisual_copy span{
    font-size: 1rem;
    position: absolute;
    display: block;
    width: 20px;
    left: 0; right: 0;
    bottom: 20px;
    margin: auto;
    transform: rotate(180deg);
    color: #fff;
    letter-spacing: 0.2rem;
}

/* 768px */
@media only screen and (max-width: 48em) {
article.top_mainvisual_area{
    position: relative;
    display: flex;
    align-items: start;
    justify-content: center;
	background-image: url(../img/mainvisual_sp.jpg);
    width: 100%;
    height: 70vh;
	background-repeat: no-repeat;
	background-position: center center;
	background-size:cover;  
}

.top_mainvisual_txt_area img{
width: 100%;
}

    article.top_mainvisual_area h1{
        font-size: 1.6rem;
        font-weight: bold;
        padding-top: 200px;
    }
    svg.svg_mainvisual_logo{
        width: 200px;
        height: 200px;
        margin: 50px auto 0;
    }
    p.svg_mainvisual_text{
        font-size: 3.0rem;
        margin: 40px 0 0 0;
        letter-spacing: 8px;
    }

    div.top_mainvisual_copy{
        display: none;
    }
}
/* 480px */
@media only screen and (max-width: 30em) {

article.top_mainvisual_area{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
	background-image: url(../img/mainvisual_sp.jpg);
    width: 100%;
    height: 100vh;
	background-repeat: no-repeat;
	background-position: center center;
	background-size:cover;  
}
article.top_mainvisual_area::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(rgba(0,0,0,0),rgba(255,255,255,0.1));
    display: block;
}

.top_mainvisual_txt_area{
width: 65%;
height: 275;
z-index: 3;
background-color: rgba(255,255,255,0.9);
padding:10px;
opacity: 100%;
/* transform:rotate(-3deg); */
box-shadow: 0 10px 25px 0 rgba(60, 194, 235, 0.5);
}

article.top_mainvisual_area h1{
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    padding-top: 0;
}


svg.svg_mainvisual_logo{
    display: block;
    width: 75px;
    height: 80px;
    margin: 50px auto 0;
    fill: #000;
    opacity: 100%;
}
    article.top_mainvisual_area h1{
        font-size: 1.6rem;
        font-weight: bold;
    }
    svg.svg_mainvisual_logo{
        width: 55%;
        height: 80px;
        margin: 0 auto 20px;
    }
    p.svg_mainvisual_text{
        font-size: 2.0rem;
        margin: 0;
        letter-spacing: 2px;
        line-height: normal;
    }
    p.svg_mainvisual_text span{
    font-size: 1.8rem;
    letter-spacing: 2.0px;
}
    div.top_mainvisual_copy{
        display: none;
    }
}


.attention {
  position: absolute;
  display: block;
  bottom: 100px;
  height: 50px;
  z-index: 3;
  background-color: #fff;
  padding: 10px 30px 0;
  border: 2px double #e671f1;
}


/*========= スクロールダウンのためのCSS ===============*/

/*スクロールダウン全体の場所*/
.scrolldown {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  left: 50%;
  bottom: 10px;
  /*全体の高さ*/
  height: 50px;
  z-index: 3;
}

/*Scrollテキストの描写*/
.scrolldown span {
  /*描画位置*/
  position: absolute;
  left: -24.6px;
  top: -17px;
  /*テキストの形状*/
  color: #eee;
  font-size: 10px;
  letter-spacing: 0.05em;
  font-family: 'Noto Sans JP', sans-serif, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: normal;
  letter-spacing: 0.2em
}

/* 線の描写 */
.scrolldown::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 0;
  /*線の形状*/
  width: 2px;
  height: 50px;
  background: #eee;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 2.0s 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;
  }
}


/*========= スクロールダウンのためのCSS(マウス形)===============*/
.scroll-downs {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  
  width :34px;
  height: 55px;
}
.mousey {
  width: 3px;
  padding: 10px 15px;
  height: 35px;
  border: 2px solid #fff;
  border-radius: 25px;
  opacity: 0.75;
  box-sizing: content-box;
}
.scroller {
  width: 3px;
  height: 10px;
  border-radius: 25%;
  background-color: #fff;
  animation-name: scroll;
  animation-duration: 2.2s;
  animation-timing-function: cubic-bezier(.15,.41,.69,.94);
  animation-iteration-count: infinite;
}
@keyframes scroll {
  0% { opacity: 0; }
  10% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(15px); opacity: 0;}
}




/* =====================UL SLIDER LIST===================== */
/* slider 01 onlyPadding*/
ul.slider{

}
ul.slider li{
	margin: 0;
	padding: 0 5px;
}
.banner_title{
display: block;
width: 140px;
margin: 15px auto 15px;
text-align: center;
font-size: 28px;
font-size: 2.8rem;
line-height: 1.5;
letter-spacing: 1.5px;
font-family: 'Noto Sans JP', sans-serif, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
font-weight: bold;
border-bottom: solid 3px var(--color-orange);
}



/* ======================parts====================== */

/* 1400px */
@media only screen and (max-width: 87.5em) {
}
/* 1024px */
@media only screen and (max-width: 64em) {
}
/* 960px */
@media only screen and (max-width: 60em) {
}
/* 768px */
@media only screen and (max-width: 48em) {
}
/* 720px */
@media only screen and (max-width: 45em) {
}
/* 600px */
@media only screen and (max-width: 37.5em) {
}
/* 480px */
@media only screen and (max-width: 30em) {
}
/* 320px */
@media only screen and (max-width: 20em) {
}