@charset "UTF-8";

body {
    background: #fff;
    color: #333;
    font-family:
        YakuHanJP,
        "Hiragino Sans",
        "Yu Gothic",
        "Meiryo",
        sans-serif;
    font-size: 100%;
    line-height: 1.5;
    font-weight: 400;
    -webkit-text-size-adjust: 100%;
}

a {
    color:var(--color-primary);
    text-decoration:none;
    transition:.2s;
}

a:hover {
    color: var(--color-accent);
}

img {
    display:block;
    max-width:100%;
    height:auto;
}

.mb-10 {
    margin-bottom: 10px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-30 {
    margin-bottom: 30px;
}

.mb-40 {
    margin-bottom: 40px;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-14 {
    font-size: 14px;
}

.bx-wrapper {
    margin: 0;
    border: none;
    box-shadow: none;
}

/* header */
.header {
    border-top: 4px solid var(--color-accent);
}

.header-inner {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;

    display: flex;
    justify-content: space-between;
    align-items:flex-start;
}

.header-logo {
    flex-shrink: 0;
}

.header-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.header-links {
    display: flex;
}

.header-links a:first-child {
    border-right: 1px solid #fff;
}

.header-links img {
    display: block;
    width: 100%;
    max-width: 115px;
}

.header a:hover {
    opacity:1;
}

.global-nav ul {
    width: 100%;
    max-width:900px;
    margin: 0 auto;
    display: flex;
}

.global-nav li {
    flex:1;
}

.global-nav a {
    display:flex;
    justify-content:center;
    align-items:center;
    height:40px;

    color:#fff;
    text-decoration:none;

    border-left:1px solid rgba(255,255,255,.5);

    transition:background .25s;
}

.global-nav li:last-child a {
    border-right:1px solid rgba(255,255,255,.5);
}

.global-nav img {
    height: 40px;
}

/* contents */
.page-title {
    width: 100%;
}

.page-title .container {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.main {
    width: 100%;
    max-width: 900px;
    margin: 60px auto;
}

.main-home {
    margin-top: 0;
}

.home-intro {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.news {
    width: 100%;
    max-width: 530px;
    margin:20px 0 40px;
}

.about {
    width: 100%;
    max-width: 335px;
    margin-top: 20px;
	padding-left: 10px;
    font-size: 87.5%;
}

.content-section {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 40px;
    margin-bottom: 80px;
    padding-bottom: 40px;
    border-bottom: 1px solid #eee;
}

.news h2,.projects h2,.content-heading h2 {
    padding: 5px 5px 5px 10px;
    font-size: 1.1rem;
    line-height: 1.4;
    font-weight: 400;
}

.signature {
    text-align: right;
    margin-top: 2rem;
}

.map {
    width: 100%;
}

.map iframe {
    display: block;
    width: 100%;
    height: 450px;
    border: 0;
}

/* page-top */
.page-top {
    width: 100%;
}

.page-title h1 {
    height: 90px;
}

.page-top .container {
    width: 100%;
    max-width: 900px;
    height: 35px;
    margin: 0 auto;
    text-align: right;
}

/* footer */
.footer-nav-inner {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 3rem 0;
    display: flex;
    gap: 1rem;
}

.footer-nav-group {
    flex: 1;
}

.footer-nav-group h2 {
    margin-bottom: .75rem;
    padding-bottom: .5rem;
    font-size: 1rem;
    font-weight: 600;
}

.footer-nav-group ul {
    list-style: none;
    font-size: .875rem;
}

.footer-nav-group li + li {
    margin-top: .35rem;
}

.footer-nav-group a {
    color: inherit;
}

.footer-bottom {
    background: #fff;
}

.footer-bottom-inner {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem 0;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-address {
    width: 100%;
    max-width:450px;
}

.copyright {
    width: 100%;
    max-width:450px;
    display: flex;
    justify-content:right;
    font-size: .875rem;
}