@charset "UTF-8";

/* -----------------------------------------------
 *  	      BP photo studio top.css
 * ----------------------------------------------- */

/* ---------- mainvisual ---------- */
article.top_mainvisual_area{
    position: relative;
    background-color: #180c30;
	z-index: 1;
}
article.top_mainvisual_area::after{
    display: block;
    content: "";
    position: absolute;
    top:0; left: 0; right: 0;
    height: 30%;
    background-color: #180c30;
    z-index: 80;
}
div.top_mainvisual_area_inner{
    position: relative;
    height: 90vh;
}
/*
@keyframes mainanime1 {
0% {transform: scale(1.5);}
100% {transform: scale(1.0);}
}
*/
h1.top_main_heading1{
	position: absolute;
	top: 12%;
	left: 0;
    right: 0;
	margin: auto;
	text-align: center;
	z-index: 100;
}
h1.top_main_heading1 svg{
	display: block;
	opacity: 1;
	fill:#ffffff;
	margin: 0 auto;
	padding: 0;
	height: 160px;
	width: 500px;
}

/* 768px */
@media only screen and (max-width: 48em) {
    article.top_mainvisual_area::after{
        height: 25%;
    }
    div.top_mainvisual_area_inner{
        position: relative;
        height: 68vh;
    }
    h1.top_main_heading1{
        top: 8%;
    }
    h1.top_main_heading1 svg{
        height: 110px;
        width: 380px;
    }
}
/* 480px */
@media only screen and (max-width: 30em) {
    article.top_mainvisual_area::after{
        height: 25%;
    }
    div.top_mainvisual_area_inner{
        position: relative;
        height: 80vh;
    }
    h1.top_main_heading1{
        top: 5%;
    }
    h1.top_main_heading1 svg{
        height: 80px;
        width: 280px;
    }
}


/* ---------- top_commit_area ---------- */
article.top_commit_area{
    position: relative;
    padding-bottom: 40px;
}
/*back_line*/
article.top_commit_area::before{
    display: block;
    position: absolute;
    top: 0; left: 0; right: 0;
    margin: auto;
    content: "";
    width: 2px;
    height: 100%;
    z-index: -1;
    background-color: #666666;
}
/*head*/
header.top_commit_head{
    text-align: center;
    padding: 80px 0;
    background-color: #180c30;
}
header.top_commit_head h2{
    margin: 0 0 20px 0;
    font-size: 30px;
    font-size: 3.0rem;
}
header.top_commit_head h2 span{
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: bold;
    letter-spacing: 2px;
    font-size: 24px;
    font-size: 2.4rem;
}
header.top_commit_head p{
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 1.2px;
    line-height: 1.6;
}
/*navi*/
nav.top_commit_navi{
    position: relative;
    top: -30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
div.commit_navi_item{
    position: relative;
    width: 23%;
    padding-top: 23%;
    text-align: center;
    background-color: #2e2343;
    transform: translateY(0px);
    transition: all 0.3s;
}
div.commit_navi_item::after{
    position: absolute;
    content: "";
    display: block;
    width: 30px; height: 30px;
    left: 0; right: 0; bottom: 20px;
    margin: auto;
    background-image: url("../svg/commit_arrow_gray.svg");
    background-repeat: no-repeat;
    background-size: contain;
}
div.commit_navi_item:hover{
    transform: translateY(-10px);
    filter: brightness(1.3);
}
div.commit_navi_item:hover::after{
    background-image: url("../svg/commit_arrow_orange.svg");
}
div.commit_navi_item a{
    display: block;
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    padding: 15px 5px;
    text-decoration: none;
    box-sizing: border-box;
}
div.commit_navi_item a strong{
    display: block;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: bold;
    font-size: 46px;
    font-size: 4.6rem;
}
div.commit_navi_item a p{
    font-size: 14px;
    font-size: 1.4rem;
}
div.commit_navi_item a p span{
    display: block;
    margin: 0 0 10px 0;
    font-weight: bold;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 2px;
}
/*top_commit_box*/
section.top_commit_box{
    position: relative;
    margin-bottom: 80px;
}
/*text*/
div.top_commit_box_text{
    position: relative;
    width: 48%;
    height: auto;
    padding-top: 48%;
    box-sizing: border-box;
    background-color: #180c30;
    text-align: center;
}
div.top_commit_box_text_inner{
    position: absolute;
    top: 0; left: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    padding: 50px;
}
div.top_commit_box_text_inner_inner{
    width: 100%;
}

div.top_commit_box_text h2{
    position: relative;
    margin: 0 0 25px 0;
    padding: 0 0 25px 0;
    letter-spacing: 2px;
}
div.top_commit_box_text h2::after{
    display: block;
    content: "";
    position: absolute;
    bottom: 0; left: 0; right: 0;
    margin: auto;
    width: 50px;
    height: 2px;
    background-color: #e88d15;
}
div.top_commit_box_text h2 strong{
    display: block;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: bold;
    font-size: 46px;
    font-size: 4.6rem;
    line-height: 1.2;
}
p.commit_lead_text{
    font-size: 2.0rem;
    font-weight: bold;
}

/*img*/
div.top_commit_box_img{
    position: absolute;
    top: 50%;
    width: 55%;
    transform: translateY(-50%);
}
div.top_commit_box_img img{
    width: 100%;
    opacity: 0;
    transform: translateY(60%);
    transition: all 1.4s;
}
div.top_commit_box_img img.action{
    opacity: 1;
    transform: translateY(0%);
}
/*LR*/
section.top_commit_box.commit_box_left div.top_commit_box_text{
    margin: 0 auto 0 0;
}
section.top_commit_box.commit_box_left div.top_commit_box_img{
    right: 0;
}
section.top_commit_box.commit_box_right div.top_commit_box_text{
    margin: 0 0 0 auto;
}
section.top_commit_box.commit_box_right div.top_commit_box_img{
    left: 0;
}
/* 768px */
@media only screen and (max-width: 48em) {
    article.top_commit_area{
        padding-bottom: 0;
    }
    /*back_line*/
    article.top_commit_area::before{
        display: none;
    }
    /*head*/
    header.top_commit_head{
        margin: 0 0 30px 0;
        padding: 30px 0;
    }
    header.top_commit_head h2{
        margin: 0 0 20px 0;
        font-size: 30px;
        font-size: 3.0rem;
    }
    header.top_commit_head h2 span{
        display: block;
        letter-spacing: 2px;
        font-size: 18px;
        font-size: 1.8rem;
    }
    header.top_commit_head p{
        font-size: 12px;
        font-size: 1.2rem;
    }
    /*navi*/
    nav.top_commit_navi{
        display: none;
    }
    /*box*/
    section.top_commit_box{
        position: relative;
        margin-bottom: 40px;
    }
    /*text*/
    div.top_commit_box_text{
        width: 100%;
        height: auto;
        padding-top: 0;
    }
    div.top_commit_box_text h2{
        position: relative;
        margin: 0 0 15px 0;
        padding: 0 0 15px 0;
    }
    div.top_commit_box_text h2::after{
        width: 50px;
        height: 2px;
    }
    div.top_commit_box_text_inner{
        position: static;
        width: 100%;
        height: 100%;
        padding: 20px;
    }
    div.top_commit_box_text_inner_inner{
        width: 100%;
    }
    p.commit_lead_text{
        font-size: 1.8rem;
        font-weight: bold;
    }
    /*img*/
    div.top_commit_box_img{
        position: static;
        top: auto;
        width: 100%;
        transform: translateY(0);
    }
    div.top_commit_box_img img{
        width: 100%;
    }
}

/* 480px */
@media only screen and (max-width: 30em) {
    header.top_commit_head p{
        text-align: left;
    }
}
/* ---------- top_plan_area ---------- */
article.top_plan_area{
}
div.top_plan_area_inner{
}
header.top_plan_head{
}

div.top_plan_sect{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
section.top_plan_box{
    width: 31%;
    margin: 0 0 40px 0;
}
section.top_plan_box:nth-child(1),section.top_plan_box:nth-child(2){
    width: 48%;
}
/* 768px */
@media only screen and (max-width: 48em) {
    div.top_plan_sect{
        display: block;
    }
    section.top_plan_box{
        width: 100%;
        margin: 0 0 40px 0;
    }
    section.top_plan_box:nth-child(1),section.top_plan_box:nth-child(2){
        width: 100%;
    }
}







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