@charset "UTF-8";

/* 共通部分
------------------------------- */
html {
    font-size: 100%;
}
body {
    color: #F1F1F1;
    font-size: 0.875rem;
}
body .jp {
    font-family: 'Kosugi Maru', sans-serif;
}
body .cn {
    font-family: 'Noto Sans SC', sans-serif;
}
a {
    color: #333;
    text-decoration: none;
    transition: 0.6s;
}
a:hover {
    opacity: 0.7;
}
img {
    max-width: 100%;
    object-fit: cover;
}
ul {
    list-style: none;
}
.wrapper {
    width: 100%;
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 40px;
}

/* ----header---- */
#header {
    background-color: #00005d;
    display: flex;
    justify-content: space-between;
    align-items: center;
    /*---- headerを画面上に固定表示する ----*/
    /*---- fixedにすると、[width]や[height]がリセットされる ----*/
    position: fixed;
    /*-- width: 1366px; --*/
    height: 68px;
    right: 0;
    left: 0;
    z-index: 10;/*---- z-indexの数字が大きいものほど前面に表示される ----*/
}
#header a {
    color: #fff;
}
.logo {
    width: 68px;
    height: 38px;
    margin-right: 10px;
}
.site-title {
    display: flex;
    justify-content: space-between;
    align-items: center;

}
.lang-cn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: -2px;
}
.cn-logo {
    width: 28px;
    height: 28px;
    margin-right: 10px;
}
#header nav ul {
    display: flex;
    margin-top: 10px;
}
#header nav li {
    margin-left: 30px;
}

/* ---- top-main ---- */
.main-img {
    display: flex;
    width: 100%;
    max-width: 1366px;
    height: 625px;
    object-fit: cover;
    margin: 0 auto;
    margin-bottom: 30px;
}
.m-title {

    margin-top: -218px;
    margin-left: 165px;
    color: #00005d;
    text-align: center;
}
.m-title h1 {
    
    font-size: 2rem;
    margin-bottom: 30px;
}
.m-title h2 {
    
    font-size: 1.8rem;
}
.c-title {
    width: 90%;
    font-size: 0.85rem;
    color: #0000b1;
    margin-top: 138px;
	margin-bottom: 20px;
	text-align: left;
	position: relative;
}
.c-title span {
	background-color: #ffffff;
	padding: 0 18px;
}
.c-title::after {
	display: block;
	content: "";
	border-bottom: 1px solid #333333;
	width: 85%;
	position: absolute;
	top: 50%;
	left: 12%;
}
#case-list {
    /*-- width: 1200px; --*/
}
.c-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.c-list li {
    width: 30%;
    margin-bottom: 40px;
}
.c-list img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    margin-bottom: 15px;
}
.c-list .title {
    color: #000;
    font-size: 0.785rem;
    font-weight: bold;
    margin-left: 10px;
    margin-bottom: 10px;
}
.c-list .text {
    color: #000;
    font-size: 0.685rem;
    text-align: center;
}
.link-case {
    text-align: center;
    margin-bottom: 20px;
}
.link-case a {
    color: #0000b1;
    font-weight: bold;
}

/* ---- case-main ---- */

#case-title {
    width: 90%;
    font-size: 0.85rem;
    color: #0000b1;
	margin-bottom: 20px;
    padding-top: 85px;
    padding-bottom: 20px;
	text-align: center;
	position: relative;
}
#case-title span {
	background-color: #ffffff;
	padding: 0 18px;
}
#case-title::after {
	display: block;
	content: "";
	border-bottom: 1px solid #333333;
	width: 158px;
	position: absolute;
	top: 90%;
	left: 528px;
}
#case {
    width: 1200px;
    margin-bottom: 20px;
}
.case-list {
    width: 100%;
    padding: 10px 58px;
    display: flex;
    justify-content:space-between;    
}
.contents {
    width: 558px;
}
.case-list img {
    width: 385px;
    height: 258px;
    border-radius: 85%;
    margin-bottom: 15px;
}
.case-list .title {
    color: #000;
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 10px;
}
.case-list .text {
    color: #000;
    font-size: 0.8rem;
}
#line {
    width: 90%;
    font-size: 0.85rem;
    color: #fff;
    margin-bottom: 10px;
    padding-bottom: 20px;
	text-align: center;
	position: relative;
}
#line span {
    background-color: #ffffff;
	padding: 0 18px;
}
#line::after {
	display: block;
	content: "";
	border-bottom: 1px solid #333333;
	width: 808px;
	position: absolute;
	top: 50%;
	left: 98px;
}

/* ---- news-main ---- */
#news {
    width: 1200px;
    margin-bottom: 20px;
}
.news-list {
    width: 100%;
    padding: 10px 58px;
    display: flex;
    justify-content:space-between;    
}
.n-contents {
    width: 658px;
}
.news-list img {
    width: 285px;
    height: 165px;
    object-fit: cover;
    margin-top: 38px;

}
.news-list .title {
    color: #000;
    font-size: 1rem;
    font-weight: bold;
    margin-left: 120px;
    margin-bottom: 15px;
}
#news dl{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    color: #000;
    font-size: 0.785rem;
}
#news dt{
    width: 20%;
    border-bottom: 1px solid #c8c8c8;
    margin-bottom: 15px;
}
#news dd{
    width: 80%;
    border-bottom: 1px solid #c8c8c8;
    margin-bottom: 15px;
}
/* 
#news dt:first-child {
    border-top: 1px solid #c8c8c8;
}
#news dd:first-of-type {
    border-top: 1px solid #c8c8c8;
}
*/

/* ---- company-main ---- */
#company {
    width: 1200px;
    margin-bottom: 30px;
}
.company-list {
    width: 100%;
    padding: 10px 138px;
    display: flex;
    justify-content:space-between;    
}
.c-contents {
    width: 458px;
}
.company-list img {
    width: 328px;
    height: 228px;
    border-radius: 85%;
    object-fit: cover;
    margin-top: 8px;

}
.company-list .title {
    color: #000;
    font-size: 1rem;
    font-weight: bold;
    margin-left: 80px;
    margin-bottom: 15px;
}
.company-list .text {
    color: #000;
    font-size: 0.785rem;
}
#company dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: 38px;
    color: #000;
    font-size: 0.785rem;
}
#company dt {
    width: 20%;
    margin-bottom: 8px;
}
#company dd {
    width: 80%;
    margin-bottom: 8px;
}
.partner {
    width: 358px;
}
.partner .title {
    color: #000;
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}
.partner li {
    color: #000;
    text-align: center;
    font-size: 0.785rem;
    margin-bottom: 15px;
}

/* ----footer---- */
#footer {
    background-color: #00005d;
    display: flex;
    justify-content: space-between;
    padding-top: 10px;
    padding-bottom: 10px;
}
#footer a {
    color: #fff;
    font-size: 0.685rem
}
#footer nav ul {
    display: flex;
}
#footer nav li {
    margin-right: 30px;
}
#footer .copyright {
    padding-top: 10px;
}
#footer .ft-right {
    text-align: center;
}
#footer .company-name {
    font-size: 0.785rem;
}
#footer .company-add , #footer .company-tel {
    font-size: 0.685rem;
}
