/* A Modern CSS Reset */
 
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

.nw {
    display: inline-block;
}

html {
    font-size: 62.5%;
}
body {
    font-family: sans-serif;
}
/*Chromeにのみ適用。Safariに適用するとジャギるので。*/
_:lang(x)::-internal-media-controls-overlay-cast-button, img {
    image-rendering: -webkit-optimize-contrast;
}
header {
    padding: 20px 0;
}
header .inner {
    width: 100%;
}
header h1 {
    margin: 0 auto;
    width: 75%;
    max-width: 200px;
}
header h2 {
    display: none;
}
#hero-image {
    height: 400px;
    background: url(/images/topimage.jpg) center center;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
}
#hero-image img {
    width: 90%;
    max-width: 400px;
    height: auto;
}
.breadcrumb {
    padding: 20px 25px;
}
.breadcrumb ul {
    margin: 0 auto;
    padding: 0;
    max-width: 1200px;
    display: flex;
    list-style: none;
}
.breadcrumb li {
    font-size: 1.3rem;
}
.breadcrumb li:after {
    content: '>';
    padding: 0 0.5rem;
}
.breadcrumb li:last-child:after {
    content: '';
}
.breadcrumb li a {
    color: #000;
    text-decoration: none;
}
.content section {
    padding: 60px 0;
}
.content section .inner {
    margin: 0 auto;
    padding: 0 25px;
}
.section1 h1 {
    font-size: 3rem;
    text-align: center;
}
.section1 p {
    margin-top: 30px;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1.8;
}
.section1 .about-img1 {
    margin-top: 60px;
}
.section1 .about-img1 + p,
.section1 .about-img2 + p {
    font-size: 2rem;
}
.section1 .about-img2 {
    margin: 60px auto 0;
    max-width: 800px;
}
.section1 dl {
    margin: 60px auto 0;
    max-width: 700px;
}
.section1 dl h2 {
    padding-left: 40px;
    font-size: 2rem;
    font-weight: 400;
    background: url(/images/mark1.png) 0 0 / contain no-repeat;
    line-height: 1.2;
}
.section1 dl p {
    margin-top: 5px;
    padding-left: 40px;
    text-align: left;
    font-size: 1.5rem;
    line-height: 1.5;
}
.section1 dl dd+dt {
    margin-top: 20px;
}
.section2.products h2 {
    color: #0099ff;
    text-align: center;
    font-size: 2rem;
    border-bottom: 1px solid #0099ff;
}
.section2.products h3 {
    margin: 40px 0 0;
    padding: 3px 9px;
    background: #0099ff;
    font-size: 1.6rem;
    color: #fff;
    display: inline-block;
}
.section2.products ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: -20px 0;
    padding: 0;
    list-style: none;
}
.section2.products ul:after {
    content: "";
    display: block;
    width: 48%;
    height: 0;
}
.section2.products ul li {
    margin-top: 40px;
    width: 48%;
    font-size: 1.6rem;
}
.section2.products p {
    margin-top: 20px;
    font-size: 1.5rem;
    text-align: center;
}
.section2.products p a {
    color: #000;
}
.section2.products .button {
    width: 200px;
}
.content .section3 {
    padding-top: 0;
}
.section3 h2 {
    margin: 0 auto;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
}
.section3 h2::before {
    content: "";
    display: inline-block;
    width: 23px;
    height: 23px;
    margin-right: 10px;
    background-image:url(/images/mark1.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.section3 p {
    margin-top: 30px;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.8;
}
.section3 .info {
    display: flex;
    margin: 60px auto 0;
    max-width: 800px;
}
.section3 .info .left img {
    width: 200px;
    height: auto;
}
.section3 .info .right {
    margin-left: 30px;
}
.section3 .info .right p {
    margin-top: 0;
    text-align: left;
    line-height: 1.8;
}
.section3 .button {
    max-width: 400px;
    letter-spacing: 0;
    text-indent: 0;
}
.content .original-data {
    margin: 0 auto;
    padding-top: 30px;
    max-width: 900px;
}
.original-data p {
    text-align: center;
    font-size: 1.6rem;
}
.original-data p + p {
    margin-top: 20px;
}

.button {
    background: #711c91;
    color: #fff;
    margin: 50px auto 0;
    padding: 5px 0;
    border-radius: 5px;
    font-size: 2rem;
    letter-spacing: 5px;
    text-indent: 5px;
    text-decoration: none;
    display: block;
    text-align: center;
}
footer {
    background: #99cc33;
}
footer .copyright {
    margin-top: 25px;
    font-size: 1.4rem;
    text-align: center;
    color: #fff;
}
footer {
    padding: 20px 0;
}
footer nav ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    list-style: none;
    font-size: 1.4rem;
    line-height: 1;
    width: 100%;
}
footer nav ul li {
    margin-top: 12px;
    width: 50%;
}
footer nav ul li + li {
}
footer nav ul li a {
    color: #fff;
    text-decoration: none;
}




.menu-collapser{position:relative;width:100%;height:48px;padding:0 15px;color:#FFF;font-size:16px;line-height:48px;background-color:#99cc33;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.collapse-button{position:absolute;right:15px;top:50%;width:40px;padding:7px 10px;color:#FFFFFF;font-size:14px;text-align:center;background-color:#0E0E0E;border-radius:2px;cursor:pointer;transform:translate(0, -50%);-o-transform:translate(0, -50%);-ms-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.collapse-button:hover,.collapse-button:focus{color:#FFF;background-color:#040404}.collapse-button .icon-bar{display:block;height:2px;width:18px;margin:2px 0;background-color:#F5F5F5;border-radius:1px}ul.slimmenu{width:100%;margin:0;padding:0;list-style-type:none}ul.slimmenu:before,ul.slimmenu:after{content:'';display:table}ul.slimmenu:after{clear:both}ul.slimmenu.collapsed li{display:block;width:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}ul.slimmenu.collapsed li>ul{position:static;display:none}ul.slimmenu.collapsed li a{display:block;border-bottom:1px solid rgba(0,0,0,0.075);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}ul.slimmenu.collapsed li .sub-toggle{height:40px}ul.slimmenu li{position:relative;float:left;display:inline-block;background-color:#AAA}ul.slimmenu li ul{margin:0;list-style-type:none}ul.slimmenu li ul li{background:#bbbbbb}ul.slimmenu li>ul{position:absolute;left:0;top:100%;z-index:999;display:none;width:100%}ul.slimmenu li>ul>li ul{position:absolute;left:100%;top:0;z-index:999;display:none;width:100%}ul.slimmenu li a{display:block;padding:12px 64px 12px 16px;color:#333;font-size:16px;font-weight:400;transition:background-color 0.5s ease-out;-o-transition:background-color 0.5s ease-out;-moz-transition:background-color 0.5s ease-out;-webkit-transition:background-color 0.5s ease-out}ul.slimmenu li a:hover{text-decoration:none;background-color:#999}ul.slimmenu li .sub-toggle{background:none repeat scroll 0 0 rgba(0,0,0,0.075);position:absolute;right:0;top:0;z-index:999;width:48px;height:100%;text-align:center;cursor:pointer}ul.slimmenu li .sub-toggle:before{content:'';display:inline-block;height:100%;margin-right:-0.25em;vertical-align:middle}ul.slimmenu li .sub-toggle>i{display:inline-block;color:#333;font-size:18px;vertical-align:middle}ul.slimmenu>li{border-left:1px solid #999}ul.slimmenu>li:first-child,ul.slimmenu>li.has-submenu+li{border-left:0}

.collapsed {
    margin: 0;
    padding: 0;
    list-style: none;
}
.collapsed li {
    border-bottom: 1px solid #99cc33;
    text-align: center;
    font-size: 1.5rem;
}
.collapsed a {
    display: block;
    padding: 10px 0;
    text-decoration: none;
    background: #fff;
    color: #99cc33;
}

@media screen and (min-width:600px) {
    header {
        padding: 30px 0 10px 0;
    }
    header .inner {
        margin: 0 auto;
        max-width: 1200px;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
    header h1 {
        margin: 0;
        width: 220px;
    }
    header h2 {
        display: inherit;
        width: 300px;
    }
    header img {
        width: 100%;
    }
    #hero-image {
        height: 600px;
        background: url(/images/topimage.jpg) center center;
        background-size: cover;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #hero-image img {
        width: 100%;
        max-width: 600px;
        height: auto;
    }
    #gNav {
        background: #99cc33;
    }
    #gNav ul {
        margin: 0 auto;
        padding: 20px 0;
        max-width: 1200px;
        display: flex !important;
        justify-content: space-between;
        list-style: none;
    }
    #gNav li {
        width: 20%;
        text-align: center;
        font-size: 1.6rem;
    }
    #gNav li {
        border-left: 1px solid #fff;
    }
    #gNav li:last-child {
        border-right: 1px solid #fff;
    }
    #gNav a {
        color: #fff;
        text-decoration: none;;
    }
    .content section {
        padding: 90px 0;
    }
    .content section .inner {
        margin: 0 auto;
        max-width: 1200px;
    }
    .section1 h1 {
        font-size: 5rem;
    }
    .section1 p {
        font-size: 2rem;
    }
    .section1 .about-img1 {
        margin-top: 60px;
    }
    .section1 .about-img1 + p,
    .section1 .about-img2 + p {
        font-size: 3rem;
    }
    .section1 .about-img2 {
        margin: 60px auto 0;
        max-width: 800px;
    }
    .section1 dl {
        margin: 60px auto 0;
        max-width: 700px;
    }
    .section1 dl h2 {
        font-size: 2.7rem;
    }
    .section1 dl p {
        font-size: 2rem;
    }
    .section1 dl dd+dt {
        margin-top: 20px;
    }
    .section2.products h2 {
        font-size: 3rem;
    }
    .section2.products h3 {
        margin: 60px 5% 0;
        padding: 3px 9px;
        background: #0099ff;
        font-size: 1.6rem;
        color: #fff;
        display: inline-block;
    }
    .section2.products ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: -15px 5%;
        padding: 0;
        list-style: none;
    }
    .section2.products ul:after {
        content: "";
        display: block;
        width: 30%;
        height: 0;
    }
    .section2.products ul li {
        margin-top: 45px;
        width: 30%;
        font-size: 1.8rem;
    }
    .section2.products p {
        margin-top: 20px;
        font-size: 1.5rem;
        text-align: center;
    }
    .section2.products p a {
        color: #000;
    }
    .section2.products .button {
        width: 200px;
    }
    .content .section3 {
        padding-top: 0;
    }
    .section3 h2 {
        margin: 0 auto;
        font-size: 2.7rem;
        font-weight: 400;
        line-height: 1.2;
        text-align: center;
    }
    .section3 p {
        margin-top: 30px;
        text-align: center;
        font-size: 1.6rem;
        line-height: 1.8;
    }
    .section3 .info {
        display: flex;
        align-items: center;
        margin: 60px auto 0;
        width: 800px;
    }
    .section3 .info .left img {
        width: 200px;
        height: auto;
    }
    .section3 .info .right {
        margin-left: 50px;
    }
    .section3 .info .right p {
        margin-top: 0;
        text-align: left;
        line-height: 2;
    }
    .section3 .button {
        width: 400px;
        letter-spacing: 0;
        text-indent: 0;
    }
    .content .original-data {
        margin: 0 auto;
        padding-top: 30px;
        width: 900px;
    }
    .original-data p {
        text-align: center;
        font-size: 1.8rem;
    }
    .original-data p + p {
        margin-top: 20px;
    }
    footer {
        padding: 30px;
    }
    footer nav ul {
        display: flex;
        justify-content: center;
        flex-wrap: nowrap;
        margin: 0 auto;
        width: 1200px;
        list-style: none;
        font-size: 1.4rem;
        line-height: 1;
    }
    footer nav ul li {
        width: auto;
    }
    footer nav ul li + li {
        margin-left: 15px;
        padding-left: 15px;
        border-left: 1px solid #fff;
        width: auto;
    }
    footer nav ul li a {
        color: #fff;
        text-decoration: none;
    }
}