@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(0,0,0,0.5));
    display: block;
}


.top_mainvisual_txt_area{
z-index: 3;
}

article.top_mainvisual_area h1{
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
}
svg.svg_mainvisual_logo{
    display: block;
    width: 600px;
    height: 300px;
    margin: 50px auto 0;
    fill: #e9a62b;
}


.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: 4.0rem;
    font-weight: 200;
    font-style: oblique;
    margin: 15px 0 0 0;
    letter-spacing: 8px;
/*    border-bottom: solid 5px #F0D823; */
    display: block;
    color: #e9a62b;
}

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(#e9a62b), 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: 100vh;
	background-repeat: no-repeat;
	background-position: center center;
	background-size:cover;  
}

    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 h1{
        font-size: 1.6rem;
        font-weight: bold;
    }
    svg.svg_mainvisual_logo{
        width: 100%;
        height: 160px;
        margin: 0 auto 0;
    }
    p.svg_mainvisual_text{
        font-size: 2.0rem;
        margin: 0;
        letter-spacing: 8px;
    }
    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 #e9a62b;
}


/*========= スクロールダウンのための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);
}

/* ====================== 予約エリア ====================== */
.design_area_reservation {
	text-align: center;
}
.design_area_reservation_inner {
	background-color: #f5f5f5;
	padding: 50px;
    border: 3px solid #19bc03;
}

.boder_color01{
border: 3px solid #e9a62b;
}

.design_area_reservation h2{
	font-size: 24px;
    color: #19bc03;
}
.design_area_reservation h2 span{
	font-size: 48px;
}
.btn_box{
	text-align: center;
	/*width: 400px;
	margin: auto;*/
}
.btn_box p{
	text-align: center;
	font-weight: bold;
}
a.Btn{
	display: inline-block;
	border: 2px solid #333333; /* 737373 */
	background-color: #333333; /* 737373 */
	/*width: 350px; */
	padding: 20px 80px;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	transition: 1s;
	font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
    border-radius: 15px;
}
a.Btn:hover{
	border: 2px solid #333333;
	background-color: #f5f5f5;
	color: #333333;
	transition: 1s;
}
a.Btn.colorBlue{
	border: 2px solid #19bc03;
	background-color: #19bc03;	
}
a.Btn.colorBlue:hover{
	border: 2px solid #34897d;
	background-color: #34897d;
	color: #FFFFFF;
	transition: 1s;
}

a.Btn.colorGold{
	border: 2px solid #bca475;
	background-color: #bca475;	
}
a.Btn.colorGold:hover{
	border: 2px solid #bca475;
	background-color: #bca475;
	color: #FFFFFF;
	transition: 1s;
}
a.Btn img{
	width: 30px;
	padding-right: 5px;
}
a.icon_line img{
    width: 20px;
    margin-right: 5px;
}

.special_box_inner {
	padding: 5px;
	margin: 0 auto 35px;
}
.special_box_inner div{
	width: 50%;
	margin: 10px auto;
}
.special_box_inner h3{
	font-size: 18px;
	font-weight: bold;
	color: #B69955;
	margin: auto;
}
.special_box_text1{
	font-size: 32px;
	font-weight: bold;
}
.special_box_text1 span{
	font-size: 18px;
}
.special_box_text2{
	font-size: 30px;
	font-weight: bold;
}
.special_box_text2 span{
	font-size: 38px;
	padding: 0 5px;
}
.special_box_text3{
	font-size: 23px;
	font-weight: bold;
}
.topics_schedule {
	font-size: 28px;
	font-weight: bold;	
}
.topics_schedule span{
	font-size: 18px;
	font-weight: bold;	
}
/*flex_2A 2段 48:48 上書き用*/
.flex_2A div, .flex_2A section{
    width: 49.8%;
	/*padding-bottom: 5px;*/
}

@media only screen and (max-width: 48em) {
.btn_box{
	width: 90%;
	margin: auto;
}
a.Btn{
	width: 250px;
}
a.Btn:hover{
	width: 250px;
}
a.Btn.colorRed:hover{
	width: 250px;
}
.flex_2A div, .flex_2A section{
    width: 49.3%;
}
}
@media only screen and (max-width: 30em) {
.design_area_reservation_inner {
	background-color: #f5f5f5;
	padding: 50px;
}
.design_area_reservation h2{
	font-size: 16px;
	width: 100%;
	margin: 10px auto 30px;
}

.design_area_reservation_inner {
	padding: 15px;
}
.design_area_reservation h2 span{
	font-size: 24px;
}
.special_box_inner h3{
	font-size: 16px;
}
.special_box_text1{
	font-size: 32px;
}
.special_box_text1 span{
	font-size: 16px;
}
.special_box_text2{
	font-size: 25px;
}
.special_box_text2 span{
	font-size: 32px;
	padding: 0 5px;
}
.special_box_text3{
	font-size: 20px;
}
.topics_schedule {
	font-size: 24px;	
}
.topics_schedule span{
	font-size: 16px;	
}
.special_box_inner div{
	width: 100%;
}
a.Btn{
	font-size: 16px;
	width: 100% !important;
	padding: 20px 0;
}
a.Btn:hover{
	width: 100% !important;
	padding: 20px 0;
}
a.Btn.colorRed:hover{
	width: 100% !important;
	padding: 20px 0;
}
}
.line_icon img {
width: 30px;
}

.new_icon{
color: #e671f1;
}

/* ======================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) {
}