@charset "utf-8";

main {
    text-align: left;
    border-top: solid 1px #004a7a;
    overflow-x: hidden;
}
main h1 {
    line-height: 1;
}
article { position: relative;}

/*Contents_top*/
#Contents_top {
    border-left: solid 1px #004a7a;
}
/*Contents_pages*/
#Contents_pages {

}
#Contents_pages h1 {
    font-weight: 600;
}
/*Contents_wrap*/
.Contents_wrap {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    position: relative;
}
#Greeting.Contents_wrap,
#Outline.Contents_wrap {
    border-left: solid 1px #004a7a;
    border-bottom: solid 1px #004a7a;
}
#Philosophy.Contents_wrap,
#Access.Contents_wrap {
    border-right: solid 1px #004a7a;
}
#Office.Contents_wrap {
    border-left: solid 1px #004a7a;
    border-top: solid 1px #004a7a;
}
#History.Contents_wrap,
#Group.Contents_wrap {
    border-left: solid 1px #004a7a;
}
.Contents_wrap .Contents_Box {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    flex-direction: column;
}
.Contents_wrap .Contents_Box header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.Contents_wrap .Contents_Box .Contents {
    display: flex;
    flex-wrap: wrap;
    position: relative;
}
/*Breadcrumbs*/
#Breadcrumbs {
    font-size: 0.85em;
    padding: 0.5rem 1rem;
}
#Breadcrumbs ul {
    display: flex;
    flex-wrap: wrap;
}
#Breadcrumbs ul li:after {
    content: '>';
    margin: 0 0.5em;
    transform: translateY(-.125em);
    display: inline-block;
}
#Breadcrumbs ul li:nth-last-of-type(1):after {
    content: none;
    margin: 0;
}
#Contents_pages #Breadcrumbs {
    border-left: solid 1px #004a7a;
    margin-left: 9%;
}
/*ContentsList*/
#ContentsList {
    width: 85%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    position: relative;
}
#Contents_pages #ContentsList {
    width: 100%;
    padding: 128px 10% 0;
    margin: auto;
    border-top: solid 1px #004a7a;
}
#ContentsList header {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
}
#ContentsList header h1 {
    line-height: 1.2;
    margin: 0;
    font-weight: 600;
}
#ContentsList header p {
    font-weight: 800;
    font-family: "Oswald", sans-serif;
    line-height: 1.2;
    color: rgba(0,74,122,0.05);
    text-align: right;
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%);
}
#ContentsList .Contents_discription {
    
}
#ContentsList #Contents-list ul {
    display: flex;
    flex-wrap: wrap;
}
#ContentsList #Contents-list ul li {
    background: #FFFFFF;
    border-radius: 12px;
    line-height: 1;
    overflow: hidden;
}
#ContentsList #Contents-list ul li a {
    color: #222222;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
}
#ContentsList #Contents-list ul li a figure img {
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    transition: all .4s ease-out;
}
#ContentsList #Contents-list ul li a h2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 1em;
    font-weight: 500;
}
#ContentsList #Contents-list ul li a h2 img {
    transition: all .4s ease-out;
}
#ContentsList #Contents-list ul li a:hover figure img {
    transform: scale(1.05);
}
#ContentsList #Contents-list ul li a:hover h2 img {
    transform: translateX(0.5em);
}


/* -------------------------------------------
MediaQuery
------------------------------------------- */
/*SmartPhone*/
@media screen and (max-width:767px) {
    main { margin-top: 60px; }
    main h1 { margin-bottom: 1em; }
    
    /*Contents_top*/
    #Contents_top {
        margin-left: 9%;
        padding-bottom: 80px;
    }
    /*Contents_pages*/
    #Contents_pages {
        padding-bottom: 80px;
    }
    /*Contents_wrap*/
    .Contents_wrap {
        margin-left: 9%;
        padding-bottom: 80px;
    }
    .Contents_wrap:nth-of-type(2n) {
        margin-right: 9%;
    }
    .Contents_wrap .Contents_Box {
        width: 85%;
        margin: auto;
        padding-top: 64px;
    }
    .Contents_wrap .Contents_Box header {
        margin-bottom: 32px;
    }
    /*ContentsList*/
    #ContentsList header {
        height: 180px;
        margin-bottom: 2rem;
    }
    #ContentsList header p {
        font-size: 2.25rem;
    }
    #ContentsList .Contents_discription,
    .Contents_Box .Contents_discription {
        margin-bottom: 3rem;
    }
    #ContentsList #Contents-list ul li {
        margin-bottom: 3rem;
    }
    #ContentsList #Contents-list ul li a h2 {
        font-size: 1.15rem;
    }
    
    
}

@media screen and (min-width:768px) and (max-width:1024px) {
    main { margin-top: 60px; }
    /*Contents_top*/
    #Contents_top {
        margin-left: 9%;
        padding-bottom: 80px;
    }
    /*Contents_pages*/
    #Contents_pages {
        padding-bottom: 80px;
    }
    /*Contents_wrap*/
    .Contents_wrap {
        margin-left: 9%;
        padding-bottom: 80px;
    }
    .Contents_wrap:nth-of-type(2n) {
        margin-right: 9%;
    }
    .Contents_wrap .Contents_Box {
        width: 85%;
        margin: auto;
        padding-top: 64px;
    }
    .Contents_wrap .Contents_Box header {
        margin-bottom: 64px;
    }
    /*ContentsList*/
    #ContentsList header {
        height: 360px;
        margin-bottom: 2rem;
    }
    #ContentsList header h1 {
        font-size:  2.5rem;
    }
    #ContentsList header p {
        font-size:  4rem;
    }
    #ContentsList .Contents_discription,
    .Contents_Box .Contents_discription {
        margin-bottom: 4rem;
    }
    #ContentsList #Contents-list ul li {
        width: 96%;
        margin: 0 4% 6% 0;
    }
    #ContentsList #Contents-list ul li a {
        flex-direction: row-reverse;
        align-items: center;
        justify-content: space-between;
    }
    #ContentsList #Contents-list ul li a figure {
        width: 40%;
    }
    #ContentsList #Contents-list ul li a figure img {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    #ContentsList #Contents-list ul li a .Service_list_detail {
        width: 55%;
        margin-right: 3%;
    }
    #ContentsList #Contents-list ul li:nth-of-type(2n) {
        margin-right: 0;
    }
    #ContentsList #Contents-list ul li a h2 {
        font-size: 1.1rem;
    }
    

}
/*Tablet*/
@media screen and (max-width:1024px) {

}

/*Desktop*/
@media screen and (min-width:768px) {
}

@media screen and (min-width:1025px) {
    main {
        font-size: 0.9rem;
        margin-top: 80px;
    }
    /*Contents_top*/
    #Contents_top {
        margin-left: 9%;
        padding-bottom: 128px;
    }
    /*Contents_pages*/
    /*Contents_wrap*/
    .Contents_wrap {
        margin-left: 9%;
        padding-bottom: 128px;
    }
    .Contents_wrap:nth-of-type(2n) {
        margin-right: 9%;
    }
    .Contents_wrap .Contents_Box {
        width: 85%;
        margin: 0 0 0 5%;
    }
    .Contents_wrap .Contents_Box {
        padding-top: 96px;
    }
    .Contents_wrap .Contents_Box header {
        margin-bottom: 96px;
    }
    /*ContentsList*/
    #ContentsList {
        margin: 0 5%;
        width: 85%;
    }
    #Contents_pages #ContentsList {
        width: 100%;
        padding: 128px 10% 96px;
        margin: auto;
        border-top: solid 1px #004a7a;
    }
    #ContentsList header {
        height: 388px;
        margin-bottom: 3rem;
    }
    #ContentsList header h1 {
        font-size:  2.5rem;
    }
    #ContentsList header p {
        font-size:  6rem;
    }
    #ContentsList .Contents_discription,
    .Contents_Box .Contents_discription {
        margin-bottom: 5rem;
        width: 70%;
        text-align: justify;
        line-height: 2;
    }
    #ContentsList #Contents-list ul li {
        width: 48%;
        margin: 0 4% 4% 0;
    }

    #ContentsList #Contents-list ul li:nth-of-type(2n) {
        margin-right: 0;
    }
    #ContentsList #Contents-list ul li a h2 {
        font-size: 1.1rem;
    }
    

}

@media screen and (min-width:1368px) {
    #Contents_pages #ContentsList #Contents-list ul li {
        width: 22%;
        margin: 0 4% 3% 0;
    }
    #Contents_pages #ContentsList #Contents-list ul li:nth-of-type(4n) {
        margin-right: 0;
    }
}
