body {
    font-size: 16px;
}
#wrapper .for-pc {
    display: block !important;
}
#wrapper .for-sp {
    display: none !important;
}
#wrapper {
    font-size: 16px;
    overflow: visible;
}
#wrapper .inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1280px;
    overflow: hidden;
}
#wrapper .img-example {
    margin: 8.2% 0 0 -8.5%;
    width: 52.836%;
    float: left;
}
#wrapper .anchor {
    margin-top: -186px;
}
#header-site {
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    width: 100%;
    z-index: 11;
    min-width: 1000px;
    box-shadow: none;
}
#header-site .logo-header {
    margin: 20px 0 0 26px;
    width: 201px;
}
#header-site .txt-logo-header {
    margin: -1% 0 0 1.6%;
    transform: scale(1) !important;
    font-size: 0.75em;
    letter-spacing: 0.02em;
}
#header-site .wrap-btn-header {
    text-align: right;
    width: 65%;
}
#header-site .wrap-btn-line {
    float: none;
    display: inline-block;
    padding: 0;
    width: 52%;
    position: static;
    bottom: 18px;
    right: 28.6%;
    margin: 0;
}
#header-site .btn-contact,
#header-site .btn-request {
    margin: 16px 18px 0 0;
    font-size: 1em;
    display: inline-block;
    width: 160px;
    height: 61px;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    transition: border-color 200ms ease-out;
    float: none;
    border-width: 3px;
}
#header-site .btn-contact:hover,
#header-site .btn-request:hover {
    border-color: rgba(0, 0, 0, 0.2);
}
#header-site .btn-contact .box-txt,
#header-site .btn-request .box-txt {
    padding: 13.6% 0;
    line-height: 1;
}
#header-site .btn-try {
    padding: 0;
    font-size: 1.375em;
    width: 246px;
    margin: 0 40px 18px 0;
    border-radius: 0 0 10px 10px;
    height: 75px;
    transition: background 200ms ease-out;
}
#header-site .btn-try:hover {
    background: #e14246;
}
#header-site .btn-try .box-txt {
    padding: 7.9% 0 0;
}
#header-site .txt-try {
    padding: 0.9% 0 0 2%;
    font-size: 0.546em;
}
#top {
    font-size: 1.25vw;
    padding: 93px 0 0;
}
#top .inner {
    position: relative;
}
#top h1 {
    padding: 1.4% 0 5.5% 6.8%;
    margin: 0;
    width: 25.6%;
}
#top .copy01 {
    padding: 6.1% 0 0 7.1%;
    font-size: 3.375em;
    line-height: 1.5;
}
#top .copy02 {
    padding: 4.7% 0 0 7.6%;
    font-size: 1.019em;
    line-height: 1.89;
    letter-spacing: 0em;
}
#top .img-top {
    margin: 7.3% 1.7% 0 0;
    padding: 0;
    position: absolute;
    top: 0;
    right: 0;
    width: 57.4%;
}
#nav-site {
    font-size: 1.125em;
    min-height: 0;
    left: 0;
    width: 100%;
    top: 0;
    z-index: 10;
    min-width: 1000px;
    min-height: 0;
    height: 93px;
    position: relative;
}
#nav-site.fix .inner-nav-site {
    position: fixed;
    top: 93px;
    background: #43a868;
    width: 100%;
    min-width: 1000px;
}
@supports (position: sticky) or (position: -webkit-sticky) {
    #nav-site {
        position: sticky !important;
        position: -webkit-sticky !important;
        top: 93px;
    }
    #nav-site.fix .inner-nav-site {
        position: static;
        transform: translateX(0) !important;
    }
}
#nav-site li {
    padding: 0 35px;
    float: none;
    display: inline-block;
}
#nav-site li a {
    transition: color 200ms ease-out;
    position: relative;
}
#nav-site li a:hover {
    color: #fff;
}
#nav-site li a.current {
    color: #fff;
}
#nav-site li a.current:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.3em;
    border-bottom: solid 2px;
    width: 100%;
    opacity: 0.8;
    visibility: hidden;
}
#nav-site .inner {
    padding: 41px 0 34px;
    text-align: center;
}
#solution .inner {
    min-width: 0;
}
#solution .tl {
    margin: 10.1% 0 0 0%;
    font-size: 2.375em;
    text-align: center;
    line-height: 1.527;
}
#solution .wrap-box {
    margin: 4.9% 0 0 0;
    text-align: center;
    font-size: 1.25vw;
}
#solution .box {
    padding: 0 0 22.969%;
    margin: 0 0.2% 0;
    font-size: 1.375em;
    width: 22.969%;
    float: none;
    display: inline-block;
    text-align: left;
}
#solution .box:nth-child(even) {
    float: none;
}
#solution .wrap-ov:after {
    margin: 0 0 22.3% -3.4%;
}
#solution .circle-bg01 {
    margin: -0.607% 0 0 6.687%;
}
#solution .circle-bg02 {
    margin: 4.864% 0 0 2.128%;
}
#solution .circle-bg03 {
    margin: 6.383% 0 0 10.335%;
}
#solution .circle-bg04 {
    margin: 4.256% 0 0 7.903%;
}
#solution .wrap-illust {
    margin: -3.9% auto 0;
    width: 51.8%;
    right: 0.8%;
    float: none;
}
#point .inner {
    padding: 0;
}
#point .tl {
    padding: 7.2% 0 6.8%;
    margin: 0 -1em;
    font-size: 2.375em;
    line-height: 1.527;
}
#point .wrap-txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 0 4.3% 10.7%;
    font-size: 1.25vw;
}
#point .box-txt {
    width: 29.917%;
    border-radius: 10px;
    box-shadow: 0 0 21px rgba(39, 95, 40, 0.3);
    margin: 0;
}
#point .box-txt:first-child {
    margin-bottom: 0;
}
#point .stl {
    padding: 1.8em 0 0.4em 13.2%;
    font-size: 2em;
}
#point .box-txt:nth-child(1) .stl .lay-ls {
    letter-spacing: -0.08em;
}
#point .icon {
    margin: -10.4% 0 0 6.9%;
    border-width: 4px;
}
#point .txt-icon {
    padding: 20% 0 6%;
}
#point .txt-point {
    padding: 0 12.2% 69.1% 13.8%;
    font-size: 1em;
    line-height: 1.5;
}
#point .box-txt:nth-child(3) .txt-point {
    padding-bottom: 0;
}
#point .caption-point {
    font-size: 0.938em;
}
#point .illust-point1 {
    padding: 12.4% 0 17.6% 14.5%;
    position: absolute;
    left: 0;
    width: 72.6%;
    bottom: 0;
}
#point .illust-point2 {
    padding: 0 0 17.3% 12.9%;
    width: 71.827%;
    position: absolute;
    left: 0;
    bottom: 0;
}
#point .illust-point3 {
    padding: 20px 0 17.9% 18.3%;
    width: 65.583%;
    position: absolute;
    left: 0;
    bottom: 0;
}
#support ul {
    padding: 0 0 4.5%;
}
#support li {
    margin: 0 9% 4% 0;
    width: auto;
}
#support li:nth-child(1),
#support li:nth-child(6) {
    margin-left: 4.3%;
}
#support li:nth-child(n + 5) {
    margin-right: 7.9%;
}
#support li:nth-child(5),
#support li:nth-child(10) {
    margin-right: -1%;
}
#support li:nth-child(7),
#support li:nth-child(8) {
    top: 0;
}
#support img {
    margin: 0 auto;
    padding: 0;
    height: 60px;
}
#support .tl {
    padding: 6.7% 0 3.7%;
    font-size: 2.375em;
    line-height: 1.527;
}
#example .tl {
    padding: 6.7% 0 5.2% 0;
    font-size: 2.375em;
    line-height: 1.527;
}
#example .wrap {
    padding: 0 0 5.6%;
    width: 91.563%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
#example .box {
    padding: 0 3.463%;
    margin: 0 0 4.6%;
    width: 47.782%;
    box-sizing: border-box;
    border-radius: 12px;
    box-shadow: 0 0 21px rgba(39, 95, 40, 0.3);
}
#example .box p {
    padding: 0 0 6.4%;
    font-size: 1em;
    line-height: 1.75;
    min-height: 10.47em;
}
#example .stl {
    padding: 7.1% 0 0.2em 50%;
    font-size: 1.125em;
}
#example .box .person {
    padding: 0;
    font-size: 0.875em;
    line-height: 1.572;
    padding: 0 0 0 50%;
    min-height: 0;
    text-align: left;
    margin: 0 -0.4em 0 0;
}
#example .name {
    display: inline-block;
}
#example .sstl {
    padding: 1.5em 0 0.5em;
    font-size: 1.25em;
    line-height: 1.55;
    clear: both;
}
#function .inner {
    padding: 0;
    width: 100%;
    max-width: 1000px;
}
#function .tl {
    padding: 9.5% 0 2.05em;
    font-size: 2.375em;
    line-height: 1.527;
}
#function .box {
    clear: both;
    position: relative;
    margin: 0 0 4.5em;
}
#function .box-txt {
    padding: 0 0 0 29.4%;
    width: 61%;
}
#function .illust01 {
    margin: 7px 0 0.35em 9%;
    float: left;
    width: 13.8%;
}
#function .box-txt h3 {
    padding: 0 0 0.6em;
    font-size: 1.563em;
}
#function .box-txt p {
    font-size: 0.875em;
    line-height: 2;
}
#function .illust02 {
    margin: -0.1% 0 0 7.5%;
    width: 16.3%;
    float: left;
}
#function .illust03 {
    margin: 0 0 0 7.5%;
    width: 16.4%;
    float: left;
}
#function .illust04 {
    width: 16%;
    float: left;
    margin: 0.4% 0 0 8.2%;
}
#function .wrap-link {
    padding: 0 0 11.4%;
}
#function .link-detail {
    margin: 1.2em auto 0;
    font-size: 1.125em;
    transition: color 200ms ease-out;
}
#function .link-detail:hover {
    color: #38985c;
}
#plan .inner {
    max-width: 840px;
    width: 84%;
}
#plan p {
    font-size: 1em;
    line-height: 1.75;
    text-align: left;
}
#plan .tl {
    margin: 0 -0.6em;
    padding: 12.6% 0 1.5em;
    font-size: 2.375em;
    line-height: 1.527;
}
#plan .stl {
    padding: 0 0 0.6em;
    font-size: 2.25em;
}
#plan .stl small {
    padding: 0 0 1.1em;
}
#plan .stl-calcuration {
    padding: 2.3em 0 0.8em;
    font-size: 1.25em;
}
#plan .box-txt-calcuration {
    padding: 1.1em 1.15em 1.1em;
    margin: 0 0 1em;
    font-size: 1.25em;
    border-width: 3px;
}
#plan .box-txt-calcuration:nth-of-type(5) {
    margin-right: -1%;
}
#plan .plus {
    padding: 0 0.6em;
    clear: both;
    width: 1em;
    overflow: hidden;
}
#plan .caption-calcuration {
    line-height: 2;
}
#plan .example-calcuration {
    margin: 3% 0 6%;
    padding: 0 4.6% 1.5em;
    border-radius: 12px;
}
#plan .example-calcuration h5 {
    padding: 0.9em 0 0.6em;
    font-size: 1.75em;
}
#plan .answer-calcuration {
    margin: -0.15em 0 0;
    font-size: 2.375em;
}
#plan .stl-option {
    padding: 0 0 0.5em;
    font-size: 1.75em;
}
#plan .txt-option {
    padding: 0 0 6.7em;
    font-size: 1em;
    line-height: 1.75;
}
#plan .txt-option dd {
    padding: 0 0 0 10.4em;
}
#plan .note-calcuration {
    margin: -0.3em 0 19.3% 1.7em;
    font-size: 1.25em;
    display: inline-block;
}
#stock .inner {
    padding: 2.3% 3.2% 2.1%;
    max-width: 840px;
    width: 84%;
    border-width: 3px;
}
#stock .tl {
    padding: 0 0 0.9em;
    margin: 0 -1em;
    font-size: 2.125em;
    line-height: 1.436;
    letter-spacing: 0.08em;
}
#stock .txt {
    font-size: 1em;
    line-height: 1.75;
}
#contact .inner {
    padding: 0;
    width: 84%;
    max-width: 840px;
}
#contact .tl {
    padding: 2.85em 0 7.2% 0.5em;
    font-size: 2.375em;
    line-height: 1.527;
    letter-spacing: 0;
}
#contact .wrap-btn {
    font-size: 1.375em;
    width: 14.091em;
    padding: 0 0 14.8%;
    backface-visibility: hidden;
}
#contact .btn-try {
    padding: 0.8em 0;
    margin: 0 0 0.8em;
    transition: background-color 200ms ease-out;
}
#contact .btn-try:hover {
    background: #38985c;
}
#contact .btn-contact,
#contact .btn-request {
    padding: 1em 0;
    transition: border-color 200ms ease-out;
}
#contact .btn-contact:hover,
#contact .btn-request:hover {
    border-color: rgba(0, 0, 0, 0.2);
}
@media all and (min-width: 1280px) {
    #top,
    #solution .wrap-box,
    #point .wrap-txt {
        font-size: 16px;
    }
}
@media all and (max-width: 1280px) {
    #support img {
        height: 4.687vw;
    }
}
@media all and (max-width: 1120px) {
    #point .txt-point {
        font-size: 14px;
    }
}
@media all and (max-width: 1000px) {
    #top,
    #solution .wrap-box {
        font-size: 12.5px;
    }
    #support img {
        height: 47px;
    }
    .lay-mobile body {
        min-width: 0;
    }
    .lay-mobile #wrapper {
        font-size: 1.6vw;
    }
    .lay-mobile #header-site {
        font-size: 1em;
        min-width: 0;
        transform: translateX(0) !important;
    }
    .lay-mobile #header-site .wrap-btn-line {
        position: absolute;
    }
    .lay-mobile #nav-site.fix .inner-nav-site {
        min-width: 0;
    }
    .lay-mobile #header-site .btn-contact,
    .lay-mobile #header-site .btn-request {
        margin-right: 3.077%;
        width: 9.5em;
        height: 3.813em;
        vertical-align: bottom;
    }
    .lay-mobile #header-site .btn-try {
        margin: 0 6.154% 18px 0;
        width: 11.182em;
    }
    .lay-mobile #top {
        font-size: 1.25vw;
    }
    .lay-mobile #nav-site {
        min-width: 0;
    }
    .lay-mobile #nav-site li {
        padding: 0 3.5%;
    }
    .lay-mobile #solution .wrap-box {
        font-size: 1.25vw;
    }
    .lay-mobile #support img {
        height: 4.687vw;
    }
}
@media print {
    #header-site {
        position: absolute;
    }
    #nav-site {
        position: relative !important;
        top: 0 !important;
    }
    #solution .tl,
    #solution .wrap-illust,
    #solution .box,
    #point .tl span,
    #point .box-txt,
    #support .tl .box-tl,
    #support ul,
    #example .tl .box-tl,
    #example .box,
    #function .tl .box-tl,
    #function .wrap-link,
    #plan .tl .box-tl,
    #plan .inner > *,
    #stock .inner > *,
    #contact .tl,
    #function img,
    #function .box-txt,
    #contact .wrap-btn,
    #support li {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
}
