/* 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;

    margin: 0 auto;
    position: fixed;
    top: 0;
    left: 0; 
    width: 100%;
    background: #fff;
    z-index: 100;
    filter: drop-shadow(0px 8px 16px rgba(0,0,0,0.4));
}

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: 11%;
    list-style: none;
    margin-right: 2px;
    border-top: #D9D9D9 solid 8px;
}
nav ul li.current {
    border-top: #068b95 solid 8px;
}
nav ul li.logo {
    border-top: none;
    height: 120px;
    width: 26%;
    background: #fff;
    display: flex;
    padding: 1.6rem;
}
nav ul li.logo img {
    width: 100%;
}

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: #069590;
}
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;
    margin-top: 3.6rem;
}
section.mainVisual .catch {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    background: #fff;
    padding: 1rem 2rem;
    filter: drop-shadow(0px 8px 16px rgba(0,0,0,0.4));
}
section.mainVisual .catch p {
    font-size: 1.6rem;
    margin: 0;
    font-weight: bold;
}
.mainVisualInner {
    width: 100%;
    height: 460px;
    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, #11cfac 0 80%, #069590 20%);
    background-repeat: no-repeat;
    background-size: 100% 10%;
    background-position: bottom;
    width: 60%;
    margin: 0 auto 3rem;
}

h3 {
    color: #333;
    padding: 0.5rem;
    padding-left: 1rem;
    margin-top: 2.2rem;
    margin-bottom: 1.6rem;
    font-size: 1.8rem;
    font-weight: bold;
    border-left: #11cfac solid 10px;
    border-bottom: #ccc solid 1px;
}

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

/* Services Area */
.topicArea {
    
}
.topicArea ul {
    list-style: none;
    justify-content: space-between;
}
.topicArea ul li {
    border-radius: 12px;
    text-align: center;
    width: 100%;
    display: flex;
}
.topicArea ul li a:hover {
    background: #C6E3FF; 
    border-radius: 12px;
}
.topicArea ul li div img {
    width: 100%;
}
.topicArea p.topicTitle {
    font-weight: bold;
    font-size: 1.8rem;
    margin-top: 4rem;
}
.topicArea p.topicNormal {
    font-weight: normal;
    font-size: 1rem;
    text-align: left;
    margin: 1rem;
}
.topicArea ul li div.topicLeft {
    width:50%;
}

.topicArea ul li div.topicRight {
    width:50%;
}

/* HowTo Area */
.howtoArea {

}
.howtoArea ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
}
.howtoArea li {
    width: 47%;
    margin: 1rem;
}
.thumbsWhole {
    display: flex;
}
.thumbsLeft {
    width: 50%;
}
.thumbsRight {
    width: 50%;
}
.thumbsRight img {
    width: 100%;
}

/* Contact Area */
.contactArea {
    background: #f4f4f4;
    padding: 3rem;
    border-radius: 10px;
}
.contactAreaInner {
    display: flex;
}

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

.mailArea {
    background: #f4f4f4;
    padding: 3rem;
    border-radius: 10px;
}
.mailArea input,
.mailArea textarea {
    background: #fff;
    padding: 0.8rem;
    border:1px solid #aaa;
    border-radius: 8px;
}
.mailArea input#name {
    width: 400px;
}
.mailArea input#email {
    width: 400px;
}
.mailArea textarea#message {
    width: 100%;
    height: 200px;
}
.mailArea div.submitArea {
    background: #ddd;
    text-align: center;
    padding: 1rem;
    border-radius: 8px;
}
.mailArea div.submitArea input {
    padding: 0.6rem 4rem;
    background: #069590;
    color: #fff;
    font-weight: bold;
}


/* 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;
}

section.mainVisual img.imagePC {
    display: block;
}
section.mainVisual img.imageSP {
    display: none;
}



@media screen and (max-width:748px) {
    header.top {
        display: none;
    }
    header.topSP {
        display: block;
    }
    section.mainVisual .catch {
        width: 90%;
    }
    section.mainVisual .catch p {
        font-size: 1rem;
    }
    section.mainVisual img.imagePC {
        display: none;
    }
    section.mainVisual img.imageSP {
        display: block;
    }
    .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: 60%;
        text-align: center;
        z-index: 1;
        background: none;
        box-shadow: none;
        position:inherit;
        margin: 0 auto;
        height: 100px;
    }
    section.mainVisual {
        margin-top: 0;
    }
    header h1.siteLogo img {
        width: 80%;
    }
    .contentsItem {
        margin: 0;
        padding: 0 1rem;
    }
    .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;
    }

    .topicArea ul {
        display: block;
        padding: 0;
    }
    .topicArea ul li {
        width: 100%;
        margin-bottom: 2rem;
    }
    .topicArea ul li img {
        width: 100%;
        height: auto;
    }
    .howtoArea ol {
        display: block;
        padding: 0;
    }
    .howtoArea ol li {
        width: 100%;
        margin-left: 0;
    }


    /* 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;
    }
    .mailArea,
    .contactArea {
        padding: 0.6rem;
    }
    .mailArea input#name {
        width: 100%;
    }
    .mailArea input#email {
        width: 100%;
    }
    .topicArea ul li {
        display: block;
    }
    .topicArea ul li div.topicLeft,
    .topicArea ul li div.topicRight {
        width: 100%;
    }
    .topicArea p.topicTitle {
        font-size: 1.4rem;
    }
 }