@charset "UTF-8";

.slider_top {
	width: 150%;
	height: 65vh;
	overflow: hidden;
    position: relative;
	max-width: 100%;
    right: 0;
    border-radius: 150px 0 0 150px;
}
.slider_top {
    height: 702px;
}

.slider_top div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	/* z-index: 10;
	opacity: 0; */
	/* animation-name: slide-fade; */
	/* animation-duration: 15s; */
	/* animation-iteration-count: infinite; */
}
.slider_box img{
    width: 135%;
    max-width: 200%;
    position: absolute;
    top: 0;
    z-index: 999;
    left: -120px;
}
.slider_top div:first-of-type{
	background-image: url(../img/about_us/top_img_01.jpg);
    /* width: 200%; */
}
.TOP_animation {
    margin-left: 200px;
}
.top_image {
	width: 85%;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    right: 0;
    object-fit: contain;
    height: 702px;
    
}
.slider_inner{
    align-items: unset;
}

.top_title{
    margin-top: 115px;
}
.top_title{
    font-size: 35px;
}
.top_title_en{
    font-size: 19px;
} 
.section_title{
    display: flex;
    color: #E1577F;
    font-size: 36px;
    font-weight: bold;
}
.section_title img{
    width: 6%;
    object-fit: contain;
    margin-right: 20px;
}
/* ---------------------------------------------------------- */
/* corporate------------------------------------------------- */
.corporate{
    margin-bottom: 250px;
    /* display: flex; */
    flex-direction: row;
    justify-content: flex-end;
    margin-left: 340px;
}
.corporatedetail{
    margin: 0 auto;
    text-align: center;
}
.corporate_detail::before{
    content: "Corporate Philosophy";
    color: rgba(0, 151, 215, .15);
    font-size: 284px;
    font-weight: bold;
    writing-mode: sideways-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 30rem;
    position: absolute;
    margin-top: -90px;
    left: 10px;
    top: 90vh;
    z-index: -1;
    width: 300px;
    height: 3000px;
    overflow: visible;
}
.corporate_detail h3{
    font-size: 36px;
    color: #0097D7;
}
.corporate_detail .policy{
    padding-left: 75px;
}
.corporate_detail .policy li{
    color: #1E8ACE;
    background-color: #F0F0F0;
    margin-bottom: 10px;
    padding: 10px;
    font-size: 22px;
    list-style: none;
    position: relative;
    height: 73px;
    display: flex;
    align-items: center;
}
.corporate_detail .policy li::before{
    content: "";
    position: absolute;
    left: -1.5em;
    font-family: 'Great Vibes';
    background-color: #1E8ACE;
    color: #fff;
    width: 63px;
    height: 71px;
    top: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 50px;
}
.corporate_detail .policy li:nth-child(1):before{
    content: "1.";
}
.corporate_detail .policy li:nth-child(2):before{
    content: "2.";
}
.corporate_detail .policy li:nth-child(3):before{
    content: "3.";
}
.corporate_detail .policy li:nth-child(4):before{
    content: "4.";
}
.corporate_detail .policy li:nth-child(5):before{
    content: "5.";
}

.message{
    display: block;
    width: 100%;
    margin: 100px 0 70px 43%;
    height: 702px;
    /* position: relative; */
}

.R_image img{
    max-width: 200%;
    top: unset;
    height: 702px;
}
.massage_wrap h3{
    color: #1E8ACE;
    font-size: 104px;
    font-weight: bold;
    line-height: 4rem;
    margin-bottom: 10px;
    display: inline-block;
    margin-top: 6%;
}
.h3_s{
    font-size: 28px;
}
.message .btn_item{
    margin-top: 20px;
}
.message_text{
    /* width: 539px; */
}
.ceo_message{
    position: relative;
    width: 70%;
    margin-bottom: 400px;
}
.ceo{
    position: absolute;
    right: 0;
    margin-top: 50px;
}
.corporate_index{
    margin-top: 160px;
    color: #0097D7;
    font-size: 35px;
    margin-left: 110px;
}
.corporate table{
    font-size: 15px;
    width: 100%;
    margin-left: 100px;
}
.corporate table tr{
    border-bottom: 1px solid #0097D7;
}
.corporate table tr th{
    color: #0097D7;
    padding: 10px 50px 10px 10px;
    width: 20%;
}
.map{
    width: 382px;
    height: 225px;
}
.access{
    display: flex;
    flex-direction: column;
    margin-left: 100px;
    margin-bottom: 150px;
}
.access_inner{
    display: flex;
    margin-bottom: 50px;
}
caption{
    text-align: start;
    color: #0097D7;
}
.access_detail table tr {
    border-bottom: none;
}
.access_detail{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
}
.corporate .slider_box .top_image{
    right: -55px;
}
/*タイムライン全体の設定*/
.timeline{
	width: 83%;
    margin: 50px auto;
    padding: 0;
    position: relative;
    margin-left: 110px;
}

.timeline li{
    /*線の起点とするためrelativeを設定*/
    position: relative;
	list-style: none;
	padding:0 0 20px 0;
}

.timeline dl{
	margin:0 0 20px 3em;
    font-size: 15px;
    color: #535353;
}
.timeline dt{
    color: #0097D7;
    font-size: 18px;
    line-height: 1em;
}
.timeline dd{
    margin-left: 0;
    font-size: 15px;
}
/*絶対配置で線を設定*/
.border-line {
    /*線の位置*/
	position: absolute;
	left:0.2em;
	top:0;
	width:2px;/*線の太さ*/
	height:0;/*はじめは高さを0に*/
	background: #0097D7;
}

/*タイムラインの見出し横の丸の位置と形状*/
.timeline li::after{
	content:'';
	position: absolute;
	top:0;
	left:-8px;
	width:24px;
	height: 24px;
	background: #0097D7;
	border-radius: 50%;
}
.timeline::after{
    content: "";
    background-image: url(../img/common/logo_img.png);
    background-repeat: no-repeat; 
    width: 339px;
    height: 339px;
    display: inline-block;
    position: absolute;
    z-index: -1;
    background-size: contain;
    bottom: -100px;
    left: 500px;
}
/* ---------------------------------------------------------- */



/* contact------------------------------------------------- */
.contact{
    width: 870px;
    height: 238.23px;
    color: #fff;
    background-image: url(../img/top/contact_btn.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    margin: 50px auto;
}
.contact a{
    width: 870px;
    height: 238.23px;
    display: flex;
    align-items: center;
}
.contact a:hover{
    background-color: #000;
    transition:0.3s;
}
.contact_btn{
    display: flex;
    align-items: center;
    justify-content: space-around;
}
.contact_btn_text{
    font-size: 73px;
    line-height: 4rem;
    margin: 0 300px 0 50px;
}
.contact_btn_text .small{
    font-size: 20px;
    position: relative;
    padding-left: 50px;
}
.contact_btn_text .small::before{
    position: absolute;
    left: 13px;
    width: 30px;
    height: 1px;
    background-color: #fff;
    content: '';
    display: block;
    bottom: 13px;
}
.contact_btn img{
    width: 10%;
    object-fit: contain;
}
.scloll_point{
    position: relative;
}
.scroll_position {
    top: -200px;
}
/* ---------------------------------------------------------- */



  @media screen and (max-width:767px) {
   
    body:before{
        content:none;
        /* display:unset;
        background-repeat: unset;
        background-size: unset;
        background-position: unset;
        width: unset;
        height: unset;
        position: unset;
        z-index: unset; */
        background-image:none; /*背景画像*/
    }

    .diagonal_01 {
        padding: 200px 0 555px;
        margin: -207px 0 0;
        clip-path: polygon(0 0, 100% 0%, 100% 65%, 0 70%);
    }

    .slider_top{
        height: 244px;
        width: 100%;
    }
    .slider_box img{
        max-width: unset;
        position: relative;
        top: 0;
        width: 90%;
        margin-top: 30px;
        left: 0;
    }
    .corporate_detail::before {
        font-size: 150px;
        line-height: 3rem;
    }
    .corporate{
        margin: 0 30px 250px;
    }
    .corporate_detail h3 {
        font-size: 30px;
    }
    .corporate_detail .policy {
        padding-left: 30px;
    }
    .corporate_detail .policy li {
        font-size: 15px;
        line-height: 2.2rem;
        text-align: left;
    }
    .corporate_detail .policy li::before {
        left: -2em;
        font-size: 37px;
    }
    .top_title {
        margin-top: 20px;
    }
    .message{
        margin: 100px 0 0;
        height: auto;
    }
    .message h3{
        font-size: 40px;
        line-height: 3rem;
    }

    .message_text {
        width: auto;
    }
    .corporate_index {
        margin-top: 50px;
        font-size: 35px;
        margin-left: 0;
    }
    .corporate table {
        margin-left: 0;
    }
    .corporate table tr th {
        padding: 10px;
        width: 30%;
    }
    .access{
        margin-left: 0;    
    }
    .access_inner {
        display: flex;
        flex-direction: column;
    }
    .map {
        width: 100%;
    }
    .timeline {
        margin-left: 10px;
    }
    .ceo_message{
        width: 100%;
    }
}
@media screen and (min-width:768px) {
    
    
}

/*# sourceMappingURL=map/style-top.css.map */