@charset "utf-8";

body{
    margin: 0;
    padding: 0;
}

#ha_wrap{
    max-width: 1500px;
    width: 100%;
	text-align: center;
    margin: 0 auto ;
    overflow: hidden;
	color: #333333;
    display: block;
    font-weight: 400;
    position: relative;
    letter-spacing: .5px;
    font-family: "Noto Sans JP", sans-serif;
}

#ha_wrap ul,#ha_wrap li{
    margin: 0;
    padding: 0;
    list-style: none;
}
#ha_wrap a,#ha_wrap a:hover {
    text-decoration: none;
}
#ha_wrap img {
    width: 100%;
    line-height: 0;
    position: relative;
}
.NotoSerifJP{
    font-family: "Noto Serif JP", sans-serif;
}
.Inter{
    font-family: "Inter", sans-serif;
}
.Notosans{
    font-family: "Noto Sans JP", sans-serif;
}
.IbarraRealNova{
    font-family: "Ibarra Real Nova", serif;
}
.MrsEave{
 font-family: "mrs-eaves-xl-serif", serif;
}
.WorkSans{
    font-family: "Work Sans", sans-serif;
}



/**********************************************  
header
**********************************************/

#ha_head{
    width: 100%;
    display: block;
    position: relative;
    margin: 0 auto;
}
#ha_head .head{
    width:100%;
    position: relative;
    text-align: center;
    margin: 0% auto;
    display: inline-block;
}
#ha_head .visual{
    width: 50%;
    overflow: hidden;
    position: relative;
    float: left;
}
#ha_head .visual img {
    animation: scaleDown 1.5s ease-out forwards;
}

@keyframes scaleDown {
    0% {
        transform: scale(1.2); /* 大きく */
    }
    100% {
        transform: scale(1);   /* 元サイズに戻る */
    }
}
#ha_head .titlebox{
    width:50%;
    float: right;
    text-align: center;
    display: inline-block;
    margin: 5.5% auto 0;
}
#ha_head .titlebox .title{
    font-family: "mrs-eaves-xl-serif", serif;
    font-size: 60px;
    margin: 0 auto;
    letter-spacing: 1.5px;
}
#ha_head .titlebox .title_s{
    font-family: "Inter", sans-serif;
    font-size: 25px;
    margin: 2.5% auto;
    text-align: center;
    font-weight: 300;
}
#ha_head .lead{
    width: 50%;
    float: right;
    display: inline-block;
    margin: 3% auto 0;
    text-align: center;
    font-size: 14px;
    line-height: 2em;
    letter-spacing: 2px;
}
#ha_head .lead .strong{
    font-size: 130%;
    font-weight: 500;
    color: #000000;
    font-family: "Noto Serif JP", sans-serif;
}



/**********************************************  
contents
**********************************************/
#ha_contents{
    max-width: 1000px;
    width: 100%;
    display: block;
    position: relative;
    text-align: center;
    margin: 10% auto 0;
    padding: 0;
}
#ha_contents .look01,
#ha_contents .look02,
#ha_contents .look03,
#ha_contents .look04,
#ha_contents .look05{
    width: 100%;
    position: relative;
    text-align: center;
    margin: 5% auto;
    display: inline-block;
}
/*======LOOK01======*/

#ha_contents .look01 .mainimg{
    width: 50%;
    float: right;
    position: relative;
    display: block;
    margin: 0 auto;
}
#ha_contents .look01 .heading{
    position: absolute;
    top: 0;
    right: 48%;
    writing-mode: vertical-rl;
    text-orientation: mixed;
}
#ha_contents .look01 .heading .lead{
    font-size: 40px;
    font-weight: 300;
    font-family: "Work Sans", sans-serif;
    writing-mode: vertical-rl;   /* 右→左へ縦組み（一般的な和文組版） */
    text-orientation: mixed;     /* 漢字かなは縦、英数は横向き維持 */
    line-height: 1;            /* 行送りを少し広めに */
}
#ha_contents .look01 .sub_box{
    width: 65%;
    float: left;
    display: flex;
    position: relative;
    margin: 2.5% auto;
    
}
#ha_contents .look01 .sub_box .subimg01{
    width: 90%;
    position: relative;
}
#ha_contents .look01 .sub_box .subimg02{
    position: relative;
}
#ha_contents .look01 .txt_box{
    position: absolute;
    left: 2%;
    bottom: 2%;
    z-index: 10;
    display: inline-block;
}
#ha_contents .look01 .txt_box .txt{
    font-family: "Work Sans", sans-serif;
    font-size: 14px;
    text-align: left;
    line-height: 1.8em;
    font-weight: 400;
    letter-spacing: 0px;
}
/*======LOOK02======*/
#ha_contents .look02{
    padding-bottom: 10%;
}
#ha_contents .look02 .mainimg{
    width: 75%;
    text-align: center;
    position: relative;
    display: block;
    margin: 0 auto;
    z-index: 10;
}
#ha_contents .look02 .sub_box{
    position: absolute;
    right: 0;
    bottom: 0%;
    width: 45%;
    z-index: 5;
}
#ha_contents .look02 .sub_box .subimg01{
    width: 100%;
    position: relative;
    opacity: .5;
}
/*======LOOK03======*/
#ha_contents .look03 .mainimg{
    width: 70%;
    float: left;
    display: flex;
    position: relative;
}
/*======LOOK04======*/
#ha_contents .look04 .mainimg{
    width: 50%;
    float: right;
    position: relative;
    z-index: 5;
}
#ha_contents .look04 .heading{
    position: absolute;
    left: 53%;
    top: 5%;
    display: inline-block;
    z-index: 10;
}
#ha_contents .look04 .heading .lead{
    font-size: 40px;
    font-weight: 300;
    font-family: "Work Sans", sans-serif;
    color: #FFFFFF;
    text-align: left;
    line-height: 1em;
    margin: 0 auto;
}
#ha_contents .look04 .heading .txt{
    font-family: "Work Sans", sans-serif;
    font-size: 14px;
    text-align: left;
    line-height: 1.8em;
    font-weight: 400;
    letter-spacing: 0px;
    margin: 5% auto 0;
    color: #FFFFFF;
}
#ha_contents .look04 .sub_box{
    width: 50%;
    float: left;
    display: flex;
}
#ha_contents .look04 .sub_box .subimg01{
    width: 100%;
}
#ha_contents .look04 .sub_box .subimg02{
    width: 100%;
}
/*======LOOK05======*/
#ha_contents .look05 .mainimg{
    width: 55%;
    text-align: center;
    position: relative;
    margin: 0 auto;
}
#ha_contents .look05 .sub_box{
    width: 55%;
    text-align: center;
    display: flex;
    margin: -6px auto 0;
    position: relative;
}
#ha_contents .look05 .sub_box .subimg01{
    width: 100%;
}
#ha_contents .look05 .sub_box .subimg02{
    width: 100%;
}




#ha_contents a {
	display: block;
	position: relative;
}
#ha_contents a::before{
	content: "";
	position: absolute;
    bottom: 20px;
	right: 10px;
	background: url("../images/plus.svg") no-repeat;
	background-size: 100%;
	width: 20px;
	height: 20px;
	z-index: 100;
}


.clear {
	clear: both;
}
.pc{
	display: block;
}
.sp{
	display: none;
}
.Left{
    float: left;
}
.Right{
    float: right;
}




/************************************************************
 sp
************************************************************/

@media only screen and (max-width:767px){
	#ha_wrap {
        width:100%;
	}
    #ha_head .visual{
        width: 100%;
    }
    #ha_head .titlebox{
        width: 90%;
        position: absolute;
        top: 28%;
        left: 5%;
    }
    #ha_head .titlebox .title{
        color: #FFFFFF;
        font-size: 38px;
        line-height: 1.2;

    }
    #ha_head .titlebox .title_s{
        color: #FFFFFF;
        font-size: 18px;
        margin: 0 auto;
    }
    #ha_head .lead{
        width: 90%;
        text-align: center;
        float: none;
        font-size: 13px;
        margin: 5% auto;
        line-height: 2em;
        left: 0.5px;
    }
    #ha_contents .look01 .mainimg{
        width: 90%;
    }
    #ha_contents .look01 .heading{
        right: 85%;
    }
    #ha_contents .look01 .heading .lead{
        font-size: 30px;
    }
    #ha_contents .look01 .sub_box{
        width: 100%;
    }
    #ha_contents .look01 .sub_box .subimg01{
        width: 70%;
    }
     #ha_contents .look01 .sub_box .subimg02{
        width: 100%;
    }
    #ha_contents .look01 .txt_box{
        left: 5%;
    }
    #ha_contents .look01 .txt_box .txt{
        font-size: 11px;
    }
    #ha_contents .look02{
        padding-bottom: 25%;
        margin: 5% auto 0%;
    }
    #ha_contents .look02 .mainimg{
        width: 100%;
    }
    #ha_contents .look02 .sub_box{
        width:80%;
    }
    #ha_contents .look02 .sub_box .subimg01{
        opacity: .8;
    }
    #ha_contents .look03{
        margin: 2.5% auto 5%;
    }
    #ha_contents .look03 .mainimg{
        width: 100%;
    }
    #ha_contents .look04 .mainimg{
        width: 100%;
        float: none;
    }
    #ha_contents .look04 .heading{
        width: 40%;
        top: 4%;
        left: 8%;
    }
    #ha_contents .look04 .heading .lead{
        font-size: 34px;
    }
    #ha_contents .look04 .heading .txt{
        font-size: 11px;
    }
    #ha_contents .look04 .sub_box{
        width: 80%;
        text-align: center;
        margin: 2.5% auto;
        float: none;
    }
    #ha_contents .look04 .sub_box .subimg01{
        width: auto;
    }
    #ha_contents .look04 .sub_box .subimg02{
        width: auto;
    }
    #ha_contents .look05 .mainimg{
        width: 100%;
    }
    #ha_contents .look05 .sub_box{
        width: 100%;
    }
    #ha_contents a::before{
        width: 15px;
        height: 15px;
    }
    
    
    
    .storong{
        font-size: 110%;
    }
    .pc {
		display:none;
	}
	.sp {
		display:block;
		width: 100%;
	}
    .Left{
        float: none;
    }
    .Right{
        float: none;
    }



}



