/* General */
body {
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
}

a {
    color: #CB050B;
    word-wrap: break-word;
    transition: .2s ease-in-out;
}

p {
    line-height: 2;
}

body hr {
    height: 0;
    margin: -1rem auto 2rem;
    padding: 0;
    width: 90%;
    border: none;
    border-top: dotted 2px #666;
    height: 1px;
    color: #FFFFFF;
}

.contentsItem {
    margin: 0 1.2rem0 2rem;
}


/* Header */
header.top {
    text-align: center;
    padding: 0;
    max-width: 1024px;
    margin: 0 auto;
}

header.lower {
    text-align: center;
    padding: 1.5rem 3rem;
    max-width: 1024px;
    margin: 0 auto;
    padding: 0;
    height: 300px;
}

header h1.siteLogo {
    background: linear-gradient(180deg, #fff 0%, #D3E4FF 100%);
    box-shadow: 0px 12px 12px 0px rgba(0, 0, 0, 0.25);
    position: absolute;
    width: 16%;
    height: 80px;
    padding: 0;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
}
header h1.siteLogo img {
    width: 90%;
}


header.lower h1.left {
    float: left;
}

header.top img {
    width: 100%;
}

.downloadItem {
    margin-bottom: 1rem;
}

div.back2Top {
    margin-top: 2rem;
    margin-bottom: 2rem;
}
header.top {
    display: block;
}
header.topSP {
    display: none;
}


@media screen and (min-width:748px) {
    header.top img {
        width: 50%;
    }

    .contentsItem {
        max-width: 1200px;
        margin: 0 auto;
    }

    header.lower {
        max-width: none;
        height: 400px;
    }

    header.lower h1 {
        margin-top: 250px;
    }

}

/* Navigations */
nav {
    height: 60px;
}
nav ul {
    display: flex;
    align-items: flex-start;
}

nav ul li {
    width: 25%;
    list-style: none;
    margin-right: 2px;
    border-top: #D9D9D9 solid 8px;
}
nav ul li.current {
    border-top: #064295 solid 8px;
}

nav ul li a {
    color: #333;
    font-weight: bold;
    text-decoration: none;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.8rem;
}
nav ul li a:hover {
    color: #fff;
    background: #064295;
}
a.switchLang {

}
div.switchLang a {
    display: block;
    border: #999 solid 1px;
    border-radius: 6px;
    width: 100%;
    color: #333;
    margin-top: 0.8rem;
    font-size: 0.8rem;
    font-weight: bold;
    text-decoration: none;
}
div.switchLang a:hover {
    opacity: 0.4;
}
div.switchLang a img {
    width: 20%;
}

/* Visual */
section.mainVisual {
    position:relative;    
}
section.mainVisual .catch {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
}
section.mainVisual .catch img {
    width: 100%;
}
.mainVisualInner {
    width: 100%;
    height: 600px;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}
.mainVisualInner div {
    width: 100%;
}


.mainVisualInner div img {
    width: 100%;
}

/* Headlines */
h2 {
    text-align: center;
    color: #333;
    padding: 1rem 0;
    font-size: 2.4rem;
    font-weight: bold;
    background-image: linear-gradient(90deg, #064295 0 20%, #dedede 20%);
    background-repeat: no-repeat;
    background-size: 100% 10%;
    background-position: bottom;
    width: 50%;
    margin: 0 auto 3rem;
}

h3 {
    color: #333;
    padding: 1rem 0;
    font-size: 1.2rem;
    font-weight: bold;
    padding-bottom: 0;
}

/* Contents Area */
section.contentsArea {
    margin-top: 4rem;
}
.contentsItem {
    margin-bottom: 8rem;
}

/* Services Area */
.servicesArea {
    
}
.servicesArea ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
}
.servicesArea ul li {
    border: #999 solid 2px;
    border-radius: 12px;
    text-align: center;
    width: 32%;
    
}
.servicesArea ul li a:hover {
    background: #C6E3FF; 
    border-radius: 12px;
}
.servicesArea ul li a {
    display: block;
    height: 100%;
    width: 100%;
    padding: 2rem 3rem;
    font-weight: bold;
    text-decoration: none;
    color: #333;
}
.servicesArea ul li img {
    width: 50%;
    margin-bottom: 1rem;
}

/* Contact Area */
.contactArea {
    background: #eee;
    padding: 2rem;
}
.contactAreaInner {
    display: flex;
}

.contactAreaInnerLeft {
    width: 60%;
}
.contactAreaInnerLeft iframe {
    width: 100%;
    height: 400px;
    border: #666 solid 1px;
}
.contactAreaInnerRight {
    width: 40%;
    padding-left: 2rem;
}


/* Contents Pages */
.titleHeader {
    margin-top: 0;
    background-position: center;
    background-size: cover;
    padding: 4rem;
}
.titleHeaderServices {
    background-image: url(../img/bgServices.jpg);
 }
 .titleHeaderAbout {
    background-image: url(../img/bgAbout.jpg);
 }
 .titleHeaderInquiry {
    background-image: url(../img/bgInquiry.jpg);
 }
.titleHeader h1 {
    font-size: 3rem;
    color: #fff;
    text-align: center;
}

.serviceItem {
    display: flex;
}
.serviceItemText {
    width: 40%;
    line-height: 2;
    padding: 0 1rem;
}
.serviceItemPhoto {
    width: 60%;
    padding: 0 1rem;
}
.serviceItemPhoto img {
    width: 100%;
}
.serviceItem2 {
    display: block;
}
.serviceItemText2 {
    width: 100;
    line-height: 2;
    padding: 0 1rem;
}
.serviceItemPhoto2 {
    width: 100%;
    padding: 0 1rem;
}
.serviceItemPhoto2 img {
    width: 100%;
}

.inquiryItem {
    width: 70%;
    margin: 0 auto;
}

/* Text Area */
.textContents {
    line-height: 180%;
    margin-top: 2rem;
}

footer {
    background: #333;
    color: #fff;
    text-align: center;
    padding: 1rem;
}



@media screen and (max-width:748px) {
    header.top {
        display: none;
    }
    header.topSP {
        display: block;
        height: 60px;
    }
    .servicesArea ul {
        display: block;
        padding: 0;
    }
    .servicesArea ul li {
        width: 100%;
        margin-bottom: 1rem;
    }
    h2 {
        width: 100%;
    }
    .drawer--left.drawer-open .drawer-hamburger {
        left: 20.25rem;
    }.drawer-nav {
        width: 20.25rem;
        z-index: 101;
    }
    .drawer--left .drawer-nav {
        left: -20.25rem;
    }
    header h1.siteLogo {
        width: 100%;
        text-align: center;
        z-index: 1;
        background: none;
        box-shadow: none;
        position:inherit;
        height: 60px;
    }
    header h1.siteLogo img {
        width: 80%;
    }
    .contentsItem {
        margin: 0;
        padding: 0 2rem;
    }
    .titleHeader h1 {
        font-size: 2.4rem;
            }
    h2 {
    font-size: 2rem;
        }

    .serviceItem {
        display: block;
    }
    .serviceItemText {
        width: 100%;
        padding: 0;
    }
    .serviceItemPhoto {
        width: 100%;
        padding: 0;
    }
    .inquiryItem {
        width: 100%;
    }
    div.inquiryItem p.enterArea {
        text-align: center;
        background: #eee;
        display: block;
    }


    /* Visual */
    section.mainVisual {
        position:relative;    
        }
    section.mainVisual .catch {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 100;
        }
    section.mainVisual .catch img {
        width: 100%;
        }
    .mainVisualInner {
        width: 100%;
        height: 280px;
        }
    .mainVisualInner ul {
        margin: 0;
        padding: 0;
        }
    .mainVisualInner {
        width: 100%;
        text-align: center;
        }
    .mainVisualInner div img {
        width: 100%;
        }
    .slick-track {
        width: 100%;
        }
    .contactAreaInner{
        display: block;
        }
    .contactAreaInnerLeft,
    .contactAreaInnerRight {
        width: 100%;
        padding: 0;
        }

    nav ul {
        display: block;
        }

    nav ul li {
        width: 100%;
        list-style: none;
        margin-right: 2px;
        border-top: none;
        }
    nav ul li.current {
        border-top: none;
        }

    nav ul li a {
        color: #333;
        font-weight: bold;
        text-decoration: none;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0.8rem;
        }
    nav ul li a:hover {
        color: #fff;
        background: #064295;
        }
    a.switchLang {

        }
    div.switchLang a {
        display: block;
        border: #999 solid 1px;
        border-radius: 6px;
        width: 100%;
        color: #333;
        margin-top: 0.8rem;
        font-size: 0.8rem;
        font-weight: bold;
        text-decoration: none;
        }
    div.switchLang a:hover {
        opacity: 0.4;
        }
    div.switchLang a img {
        width: 20%;
        }
    footer {
        margin-top: 2rem;
        }
    section.contentsArea {
        margin-top: 2rem;
    }
    .serviceItemPhoto {
        margin-bottom: 4rem;
    }
 }