@charset "utf-8";
/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,::after,::before{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}address,blockquote,dl,figure,form,iframe,p,pre,table{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ol,ul{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}embed,iframe,img,object,svg{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:0 0;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}[type=checkbox]{-webkit-appearance:checkbox;appearance:checkbox}[type=radio]{-webkit-appearance:radio;appearance:radio}[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]:disabled,[type=reset]:disabled,[type=submit]:disabled,button:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}
/* destyle.cssここまで */


body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.25vw;
    color: #000000;
    line-height: 1.8;
    overflow-x: hidden;
    max-width: 100%;
}
a {
    transition: 0.3s;
}
a:hover {
    opacity: 0.7;
}
img {
    max-width: 100%;
    height: auto;
}
.w1280 {
    width: 66.66vw;
    margin-right: auto;
    margin-left: auto;
}
.w1000 {
    width: 52.08vw;
    margin-right: auto;
    margin-left: auto;
}
.flex {
    display: flex;
    justify-content: space-between;
}

#humberger {
    display: none;
}
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    padding-top: 1.35vw;
    padding-bottom: 1.35vw;
}
header.bg_white {
    background: RGBa(255,255,255,0.7);
}
header .flex {
    align-items: center;
}
header h1 {
    width: 12.812vw;
}
header h1 img {
    width: 100%;
    height: auto;
}
.navwrap,
.navwrap nav {
    width: 47.917vw;
    position: relative;
}
.navwrap nav ul {
    gap: 0 1.563vw;
    white-space: nowrap;
}
.navwrap nav ul li a {
    color: #000;
    font-size: 0.83vw;
    display: block;
}
.navwrap nav ul li.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.781vw;
}
.navwrap nav ul li.btn a {
    color: #fff;
    background: linear-gradient(to right, #FF7700, #FF9900);
    width: 10.99vw;
    height: 1.771vw;
    border-radius: 0.885vw;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.navwrap nav ul li.btn a::before {
    content: "";
    background: linear-gradient(to right, #6f6f6f, #989898);
    display: block;
    opacity: 0;
    transition: 0.3s;
    position: absolute;
    top: 0;
    left: 0;
    width: 10.99vw;
    height: 1.771vw;
    border-radius: 0.885vw;
    z-index: 0;
}
.navwrap nav ul li.btn a span {
    z-index: 2;
}
.navwrap nav ul li.btn a:hover::before {
    opacity: 1;
}
nav .underline {
    height: 0.104vw;
    background-color: #FF9900;
    position: absolute;
    bottom: 0;
    transition: 0.3s;
}

footer {
    padding: 4.68vw  0 1.4vw;
    background-color: #EBEBEB;
}
footer .logo {
    width: 5.88vw;
    margin-bottom: 0.88vw;
}
footer .flex ul {
    font-size: 0.72vw;
    width: 22.6vw;
}
footer small {
    font-family: Arial, sans-serif;
    font-size: 0.72vw;
}
#totop {
    z-index: 999;
    width: 4.167vw;
    height: 4.167vw;
    position: fixed;
    right: 11.4vw;
    bottom: 3.53vw;
}

#fv {
    background: linear-gradient(to bottom, #FFE07D, #FFFCEF);
    overflow: hidden;
}
#fv .w1280 {
    position: relative;
    height: 49.167vw;
}
#fv .w1280>* {
    position: absolute;
    opacity: 0;
}

#fv .fv_line {
    position: absolute;
    top: 9.974vw;
    left: 2.13vw;
    width: 63.021vw;
    height: 36.927vw;
    opacity: 1;
}
#fv .fv_linewrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 0;
    overflow: hidden;
    animation: lineanime 2s forwards 0.5s;
}
@keyframes lineanime {
    0% {height: 0}
    100% {height: 36.927vw;}
}

#fv .fv_circle {
    height: auto;
    animation: zoomIn 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
#fv .fv_circle01 {
    width: 6.488vw;
    top: 9.109vw;
    left: 0.104vw;
    animation-delay: 0.3s;
}
#fv .fv_circle02 {
    width: 5.144vw;
    top: 6.751vw;
    left: 14.948vw;
}
#fv .fv_circle03 {
    width: 7.554vw;
    top: 5.68vw;
    left: 32.7vw;
    animation-delay: 0.6s;
}
#fv .fv_circle04 {
    width: 5.144vw;
    top: 18.005vw;
    left: 57.37vw;
    animation-delay: 0.2s;
}
#fv .fv_circle05 {
    width: 2.861vw;
    top: 16.146vw;
    right: -0.698vw;
}
#fv .fv_circle06 {
    width: 5.144vw;
    top: 36.776vw;
    left: 6.354vw;
    animation-delay: 0.4s;
}
#fv .fv_circle07 {
    width: 7.568vw;
    top: 33.25vw;
    left: 20.99vw;
}
#fv .fv_circle08 {
    width: 5.144vw;
    top: 40.536vw;
    left: 39.271vw;
    animation-delay: 0.2s;
}
#fv .fv_circle_b01 {
    width: 2.635vw;
    top: 19.451vw;
    left: 0.338vw;
    animation-delay: 0.3s;
}
#fv .fv_circle_b02 {
    width: 2.635vw;
    top: 13.585vw;
    left: 26.406vw;
    animation-delay: 0.5s;
}
#fv .fv_circle_b03 {
    width: 2.524vw;
    top: 44.375vw;
    left: 0;
}
#fv .fv_circle_b04 {
    width: 3.622vw;
    top: 43.281vw;
    right: -0.536vw;
    animation-delay: 0.2s;
}
#fv .fv_circlesp {
    display: none;
}

#fv .fv_linewrap img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 63.021vw;
    height: 36.927vw;
}
#fv .fv_linewrap {
    animation: lineanime 2s forwards 0.5s;
}
@keyframes lineanime {
    0% {height: 0}
    100% {height: 73.6vw;}
}

#fv .fv_txt01 {
    font-size: 1.615vw;
    font-weight: 500;
    top: 21.25vw;
    left: 0;
    clip-path: inset(0 100% 0 0);
    transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
    transition-property: clip-path;
    display: inline-block;
    opacity: 1;
}
#fv .fv_txt02 {
    font-size: 2.135vw;
    font-weight: 500;
    top: 23.802vw;
    left: 0;
    clip-path: inset(0 100% 0 0);
    transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
    transition-property: clip-path;
    display: inline-block;
    opacity: 1;
}
#fv .fv_txt02 span {
    color: #FF9900;
}
#fv .fv_txt01.anime,
#fv .fv_txt02.anime {
    clip-path: inset(0);
}
#fv .fv_img01 {
    width: 33.333vw;
    top: 8.448vw;
    right: 0;
}
#fv .scroll {
    display: inline-block;
    bottom: 2.08vw;
    left: 0;
    right: 0;
    margin: auto;
    width: 3.3vw;
    height: 3.281vw;
    opacity: 0;
    animation: fadeIn 0.7s cubic-bezier(0.33, 1, 0.68, 1) 2s 1 forwards;
}
#fv .scroll::before {
    animation: scroll 3.5s infinite;
    border: solid #000;
    border-width: 0 0 0.052vw 0.052vw;
    content: "";
    display: inline-block;
    margin: auto;
    position: absolute;
    top: 1.58vw;
    right: 0;
    left: 0;
    transform: rotate(-45deg);
    width: 1.042vw;
    height: 1.042vw;
}

#fv .fv_img01.anime {
    animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) 0.5s 1 forwards;
}
#fv .fv_btn {
    display: none;
}

section {
    padding: 5.208vw 0;
}
section h2 {
    font-size: 2.083vw;
    font-weight: 500;
    padding-top: 0.417vw;
}
section h2 span {
    font-size: 1.042vw;
    font-weight: 300;
    border-top: solid 0.15vw #FF9900;
    padding-top: 0.521vw;
    display: inline-block;
}
section h3 {
    color: #FF9900;
    font-size: 1.042vw;
    font-weight: 500;
    line-height: 1.2;
    border: solid 0.1vw #FF9900;
    padding: 1.04vw 2.08vw;
    margin: 3.645vw 0 2.864vw;
}
section h3 span {
    border-left: solid 0.26vw #FF9900;
    padding-left: 0.62vw;
}

#about {
    padding-bottom: 0;
}
#about .about_head {
    font-size: 1.042vw;
    font-weight: 700;
    margin-top: 4.167vw;
    margin-bottom: 0.625vw;
}
#about .about_head img {
    width: 12.81vw;
}
#about .about_text {
    font-size: 1.36vw;
    margin: 1.4vw 0 1vw;
}
#about .about_subtext {
    font-size: 1.11vw;
}
#about .about_img01 {
    margin-bottom: 6.771vw;
}
#about .merit_list {
    margin-top: 6.77vw;
    margin-bottom: 6.77vw;
    justify-content: space-between;
    flex-wrap: wrap;
}
#about .merit_list li {
    width: 31.25vw;
    height: 36.458vw;
    padding: 1.302vw;
    background-color: #fff;
    box-shadow: 2.604vw 2.604vw 2.604vw RGBa(0,0,0,0.1);
    margin-bottom: 5.208vw;
    border-radius: 0.26vw;
}
#about .merit_list li .anno {
    font-size: 0.78vw;
    text-align: right;
    padding-right: 1.58vw;
}
#about .merit_list li p:first-child {
    width: 4.167vw;
}
#about .merit_list li p:first-child span {
    color: #fff;
    line-height: 1.2;
    text-align: center;
    font-size: 1.042vw;
    font-weight: 500;
    background-color: #FFB000;
    display: flex;
    width: 4.167vw;
    height: 4.167vw;
    border-radius: 2.083vw;
    align-items: center;
    justify-content: center;
}
#about .merit_list li img {
    width: 24.323vw;
    height: auto;
    margin-bottom: 2.344vw;
}
#about .merit_list li p:nth-child(3) {
    font-size: 1.042vw;
    text-align: center;
}

#strongpoint {
    background-image: url(../images/strongpoint_bg.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 44.6vw;
    display: flex;
    align-items: center;
    padding-bottom: 1.563vw;
}
#strongpoint h3 {
    margin-top: 0;
}
#strongpoint ul li {
    font-size: 1.354vw;
    font-weight: 500;
    line-height: 2.2;
    padding-left: 2.604vw;
    position: relative;
}
#strongpoint ul li::before {
    content: "";
    background-image: url(../images/listmark.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 1.563vw;
    height: 1.563vw;
    display: block;
    position: absolute;
    top: 0.75vw;
    left: 0;
}
#operation {
    background: linear-gradient(to bottom, #FBFBFB, #E6E6E6);
    padding-bottom: 8.854vw;
}

#operation .slick-prev, #operation .slick-next {
    z-index: 99;
    width: 4.167vw;
    height: 4.167vw;
    background-color: #FF8700;
    border-radius: 100%;
}
.slick-prev::before, .slick-next::before {
    content: "";
    font-size: 4.167vw;
    color: #FF8700;
    width: 4.167vw;
    height: 4.167vw;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: translate(-68%, -50%) rotate(-45deg);
    transform: translate(-68%, -50%) rotate(-45deg);
    width: 30%;
    height: 30%;
    top: 50%;
    left: 50%;
    display: block;
    position: absolute;
}
.slick-prev::before {
    -webkit-transform: translate(-32%, -50%) rotate(135deg);
    transform: translate(-32%, -50%) rotate(135deg);
}
#operation .slick-prev {
    left: 11.5vw;
}
#operation .slick-next {
    right: 11.5vw;
}
#operation .slick-track{
    float: none;
    display: flex;
    left: -17.446vw;
    gap: 2.604vw;
}
#operation .gallery-slide {
    width: 100%;
}

#operation ul {
    margin-top: 6.25vw;
    margin-bottom: 7.135vw;
    overflow: hidden;
}
#operation li {
    width: 32.292vw!important;
    height: 38.021vw;
    background-color: #fff;
    box-shadow: 2.604vw 2.604vw 2.604vw RGBa(0,0,0,0.1);
}
#operation li .head {
    color: #fff;
    font-size: 1.354vw;
    font-weight: 500;
    background-color: #FF8700;
    position: relative;
    width: 100%;
    height: 6.771vw;
    padding-left: 1vw;
    display: flex;
    align-items: center;
    white-space: nowrap;
}
#operation li .head .bg_txt {
    font-size: 6.25vw;
    color: #fff;
    line-height: 1;
    opacity: 0.2;
    position: absolute;
    top: 0.938vw;
    left: 0.938vw;
}
#operation li .head .small {
    font-size: 1.042vw;
}
#operation li p:nth-child(2),
#operation li p:nth-child(4) {
    font-size: 0.938vw;
    font-weight: 500;
    padding-top: 0.495vw;
    padding-left: 0.729vw;
}
#operation li img {
    width: 30.729vw;
    margin: 1.04vw auto 0.52vw;
}
#operation .other_txt {
    font-size: 1.563vw;
    margin-bottom: 1.229vw;
}
#operation .other_logowrap div {
    width: 15.625vw;
    height: auto;
    box-shadow: 2.604vw 2.604vw 2.604vw RGBa(0,0,0,0.1);
}
#operation .other_logowrap div img {
    width: 100%;
}
#specification .listmark {
    margin-top: 95px;
    margin-bottom: 10px;
    font-size: 1.354vw;
    font-weight: 500;
    line-height: 2.2;
    padding-left: 2.604vw;
    position: relative;
}
#specification .listmark::before {
    content: "";
    background-image: url(../images/listmark.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 1.563vw;
    height: 1.563vw;
    display: block;
    position: absolute;
    top: 0.75vw;
    left: 0;
}
#specification table {
    width: 100%;
    border-collapse: collapse;
}
#specification table th {
    font-size: 1.25vw;
    font-weight: 300;
    vertical-align: middle;
    border: solid 0.052vw #707070;
    padding-left: 1.563vw;
    background-color: #FFF9E6;
}
#specification table th:first-child {
    width: 19.193vw;
}
#specification .composition {
    margin: 4vw 0 8vw;
}
#specification .composition th:first-child {
    width: 11vw;
    padding-left: 1.042vw;
}
#specification .composition td {
    padding: 1.042vw 0.732vw;
}
#specification table td {
    font-size: 1.25vw;
    font-weight: 300;
    font-size: 1.25vw;
    border: solid 0.052vw #707070;
    padding: 1.042vw 2.083vw;
}
#specification .annotation {
    margin-top: 1.563vw;
}

#case {
    color: #fff;
    background-color: #373737;
    padding-bottom: 10.781vw;
    position: relative;
}
#case .bg_text {
    width: 14.271vw;
    position: absolute;
    left: -1.2vw;;
    top: 0;
    z-index: 1;
}
#case .bg_text img {
    width: 100%;
}
#case>.bg_white {
    padding-top: 4.688vw;
    padding-bottom: 4.688vw;
    margin-top: 3.646vw;
    margin-bottom: 13.854vw;
    background-color: RGBa(245,245,245,0.15);
    z-index: 2;
    position: relative;
}
#case>.bg_white .w1280 {
    width: 71vw;
    padding-left: 1vw;
}
#case>.bg_white img {
    margin-right: 2.813vw;
}
#case .bg_white img {
    width: 28.125vw;
    height: auto;
    box-shadow: 2.604vw 2.604vw 2.604vw RGBa(0,0,0,0.1);
}
#case>.bg_white .case_underline {
    font-size: 1.563vw;
    margin-bottom: 7.708vw;
    text-decoration: underline;
}
#case .case_company {
    font-size: 1.25vw;
    line-height: 1.4;
}
#case .case_company a {
    color: #FF8700;
    font-size: 1.042vw;
    text-decoration: underline;
}
.case_wrap {
    width: 78.125vw;
    height: 31.042vw;
    margin-right: 0;
    margin-left: auto;
    margin-bottom: 13.229vw;
    padding-top: 12.396vw;
    padding-left: 5.365vw;
    background-color: RGBa(245,245,245,0.15);
    position: relative;
    z-index: 2;
    position: relative;
}
.case_wrap:last-child {
    margin-bottom: 0;
}
.case_wrap img {
    width: 28.125vw;
    position: absolute;
    top: -8.333vw;
    left: -5.104vw;
}
.case_wrap .head {
    font-size: 1.25vw;
    margin-bottom: 1.823vw;
}
.case_wrap .head span {
    padding-top: 0.417vw;
    border-top: solid 2px #FF9900;
}
.case_wrap .case_text {
    font-size: 1.563vw;
}
#linkbtn_wrap {
    background-color: #EBEBEB;
}
#linkbtn_wrap a {
    color: #fff;
    font-size: 1.25vw;
    background: linear-gradient(to right, #FF7700, #FF9900);
    width: 21.563vw;
    height: 5.521vw;
    padding-left: 2.604vw;
    padding-right: 1.563vw;
    border-radius: 2.76vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
#linkbtn_wrap a::before {
    content: "";
    background: linear-gradient(to right, #6f6f6f, #989898);
    display: block;
    opacity: 0;
    transition: 0.3s;
    position: absolute;
    top: 0;
    left: 0;
    width: 21.563vw;
    height: 5.521vw;
    border-radius: 2.76vw;
    z-index: 0;
}
#linkbtn_wrap a span {
    z-index: 2;
}
#linkbtn_wrap a:hover::before {
    opacity: 1;
}



.nopc {
    display: none;
}

@media (max-width: 1023px) {
    body {
        font-size: 3.2vw;
    }
    #humberger {
        display: block;
    }
    #humberger,
    #humberger div {
        transition: all 0.4s;
        z-index: 1001;
    }
    #humberger {
        width: 6.34vw;
        height: 6.34vw;
        display: block;
        box-sizing: border-box;
        top: 2.3vw;
        right: 7vw;
        border-radius: 2.17%;
        position: fixed;
    }
    #humberger div {
        width: 100%;
        height: 7%;
        position: absolute;
        left: 0;
        background-color: #333;
        display: inline-block;
        box-sizing: border-box;
    }
    #humberger div:nth-of-type(1) {
        top: 10%;
        left: 0;
    }
    #humberger div:nth-of-type(2) {
        top: 45%;
        left: 0;
    }
    #humberger div:nth-of-type(3) {
        bottom: 10%;
        left: 0;
    }
    #humberger.active div:nth-of-type(1) {
        background-color: #fff;
        -webkit-transform: translateY(530%) rotate(-315deg);
        transform: translateY(530%) rotate(-315deg);
    }
    #humberger.active div:nth-of-type(2) {
        opacity: 0;
    }
    #humberger.active div:nth-of-type(3) {
        background-color: #fff;
        -webkit-transform: translateY(-530%) rotate(315deg);
        transform: translateY(-530%) rotate(315deg);
    }
    header .navwrap {
        position: fixed;
        width: 100%;
        height: 0;
        top: 0;
        left: 0;
        background-color: RGBa(0,0,0,0.7);
        overflow: hidden;
        display: block;
        transition: 0.3s;
    }
    header .navwrap.open {
        height: 100vh;
        z-index: 999;
    }
    .navwrap, .navwrap nav {
        width: 100%;
    }

    header .navwrap ul {
        display: none;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        height: 0;
        transition: 0.3s;
        overflow: hidden;
    }
    header .navwrap.open ul {
        display: flex;
        height: calc(100vh - 46.72vw);
        align-items: flex-start;
        padding-left: 14.933vw;
    }
    .navwrap nav ul li {
        position: relative;
        padding-left: 10.133vw;
        margin-bottom: 5vw;
    }
    .navwrap nav ul li::before {
        content: "";
        background-image: url(../images/listmark.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 5.333vw;
        height: 5.333vw;
        max-width: 5.333vw;
        display: block;
        position: absolute;
        top: 1.6vw;
        left: 0;
    }
    .navwrap nav ul li a {
        color: #fff;
        font-size: 5.067vw;
    }
    .navwrap nav ul li.btn {
        position: absolute;
        bottom: 10vw;
        left: 0;
        right: 0;
        margin: auto;
        flex-direction: column;
        padding-left: 0;
    }
    .navwrap nav ul li.btn::before {
        background: none;
        width: 0;
        height: 0;
    }
    .navwrap nav ul li.btn a {
        width: 85.333vw;
        height: 13.333vw;
        border-radius: 6.667vw;
        background: RGBa(255, 255, 255, 0.3);
        margin-bottom: 3.467vw;
    }

    @media (max-height: 667px) {
        .navwrap nav ul li a {
            margin: 2vw 0;
        }
    }
    .navwrap nav ul li a>span {
        display: flex;
        transform: none;
        align-items: center;
    }

    .navwrap .inqBtn {
        color: #fff;
        font-size: 4.67vw;
        width: 100%;
        height: 17.52vw;
        background-color: #464646;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: 998;
    }
    .navwrap .dlBtn span,
    .navwrap .inqBtn span {
        font-size: 2.45vw;
        transform: rotate(90deg) translate(0.1vw, 0);
        display: block;
    }

    header,
    header .w1280 {
        height: 11.68vw;
    }
    header h1 {
        width: 22.31vw;
    }
    .w1280, .w1000 {
        width: 85.98vw;
    }

    footer {
        padding-top: 10.1vw;
    }
    footer .flex {
        display: block;
    }
    footer .logo {
        width: 19.85vw;
        margin-bottom: 9.69vw;
    }
    footer .flex ul {
        font-size: 3.5vw;
        width: 100%;
        margin-bottom: 4.67vw;
    }
    footer small {
        display: none;
    }

    #fv .w1280 {
        height: 216vw;
    }
    #fv .fv_txt01 {
        font-size: 4vw;
        top: 36.533vw;
    }
    #fv .fv_txt02 {
        font-size: 5.333vw;
        top: 43.067vw;
    }
    #fv .fv_img01 {
        width: 75.2vw;
        height: auto;
        left: 0;
        margin: auto;
        top: 93.467vw;
    }
    #fv .fv_img02 {
        display: none;
    }

    #fv .fv_circle {
        display: none;
    }
    #fv .fv_circlesp {
        display: block;
        height: auto;
        animation: zoomIn 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
    }
    #fv .fv_circle_sp01 {
        width: 19.067vw;
        top: 18.045vw;
        left: 0;
    }
    #fv .fv_circle_sp02 {
        width: 15.424vw;
        top: 22.353vw;
        left: 68.8vw;
    }
    #fv .fv_circle_sp03 {
        width: 15.575vw;
        top: 62.067vw;
        left: 20.927vw;
    }
    #fv .fv_circle_sp04 {
        width: 15.424vw;
        top: 104.333vw;
        left: 65.56vw;;
    }
    #fv .fv_circle_b_sp01 {
        width: 6.747vw;
        top: 32.373vw;
        left: 26.187vw;
    }
    #fv .fv_circle_b_sp02 {
        width: 6.747vw;
        top: 50.573vw;
        left: 77.427vw;
    }
    #fv .fv_circle_b_sp03 {
        width: 6.747vw;
        top: 56.867vw;
        left: 0;
    }
    #fv .fv_circle_b_sp04 {
        width: 6.747vw;
        top: 97.68vw;
        left: 5.107vw;
    }


    #fv .fv_line {
        top: 33.4vw;
        left: 6.6vw;
        width: 71.733vw;
        height: 73.6vw;
    }
    #fv .fv_linewrap img {
        margin: auto;
        width: 71.733vw;
        height: 73.6vw;
    }



    #fv .fv_btn {
        display: block;
        top: 167vw;
        opacity: 1;
    }
    #fv .fv_btn a {
        font-size: 3.733vw;
        color: #fff;
        background: linear-gradient(to right, #FF7700, #FF9900);
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-left: 7.2vw;
        padding-right: 4vw;
        width: 85.333vw;
        height: 13.333vw;
        border-radius: 6.666vw;
        margin-bottom: 3.333vw;
    }
    #fv .scroll {
        font-size: 4.933vw;
        width: 13.067vw;
        height: 14.267vw;
        bottom: 3.4vw;
    }
    #fv .scroll::before {
        top: 5vw;
        width: 4.933vw;
        height: 4.933vw;
    }

    section {
        padding-top: 13.333vw;
    }
    section h2 {
        text-align: center;
        font-size: 5.333vw;
        margin-bottom: 10.667vw;
    }
    section h2 span {
        font-size: 2.667vw;
        border-top-width: 0.4vw;
    }
    section h3 {
        font-size: 4vw;
        text-align: center;
        border-width: 0.4vw;
        padding-top: 2.88vw;
        padding-bottom: 1.547vw;
        margin-top: 5.733vw;
        margin-bottom: 7.067vw;
        position: relative;
    }
    section h3 span {
        border-left: none;
        padding-left: 0;
        display: block;
    }
    section h3::before {
        content: "";
        width: 3.7vw;
        height: 0.667vw;
        background-color: #FF9900;
        position: absolute;
        top: 2.04vw;
        right: 0;
        left: 0;
        margin: auto;
    }

    #about .about_head {
        font-size: 2.667vw;
        margin-bottom: 3.733vw;
    }
    #about .about_head img {
        width: 42.667vw;
    }

    #about .merit_list {
        flex-direction: column;
    }
    #about .merit_list li {
        width: 100%;
        height: 104vw;
        padding-top: 3.467vw;
        padding-right: 8.8vw;
        padding-left: 8.8vw;
        margin-bottom: 11.333vw;
        background: linear-gradient(to bottom, #fff, #F6F6F6);
        box-shadow: 6.667vw 6.667vw 6.667vw RGBa(0,0,0,0.1);
    }
    #about .merit_list li p:first-child {
        width: 10.667vw;
    }
    #about .merit_list li p:first-child span {
        font-size: 2.667vw;
        width: 10.667vw;
        height: 10.667vw;
        border-radius: 5.334vw;
    }
    #about .merit_list li img {
        width: 66.267vw;
        margin-bottom: 7.733vw;
    }
    #about .merit_list li p:nth-child(3) {
        font-size: 3.733vw;
    }
    #about .merit_list li:first-child img {
        margin-top: -1.867vw;
    }
    #about .merit_list li:nth-child(3) img {
         margin-bottom: 15.333vw;
    }

    #strongpoint {
        height: 194.267vw;
        background-image: url(../images/strongpoint_bg_sp.png);
    }
    #strongpoint ul li {
        font-size: 3.733vw;
        line-height: 2.8;
        padding-left: 7.2vw;
    }
    #strongpoint ul li::before {
        width: 4.267vw;
        height: 4.267vw;
        top: 3vw;
    }

    #operation li {
        width: 85.98vw!important;
        height: 100.533vw;
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 10.267vw;
    }
    #operation li .head {
        font-size: 3.467vw;
        height: 17.867vw;
        padding-left: 2.667vw;
    }
    #operation li .head .small {
        font-size: 2.667vw;
    }
    #operation li .head .bg_txt {
        font-size: 16.4vw;
        left: 2.667vw;
        top: 0;
    }
    #operation li p:nth-child(2),
    #operation li p:nth-child(4) {
        font-size: 2.4vw;
        padding-top: 1.28vw;
        padding-left: 1.933vw;
    }
    #operation li img {
        width: 78.933vw;
        display: block;
        margin: 7.387vw auto;
    }
    #operation li:last-child img {
        margin: 3.6vw auto;
    }
    #operation .other_txt {
        font-size: 4vw;
        margin-bottom: 9.2vw;
    }
    #operation .other_logowrap {
        width: 74.133vw;
        flex-wrap: wrap;
        margin-right: auto;
        margin-left: auto;
    }
    #operation .other_logowrap div {
        width: 32vw;
        margin-bottom: 7.107vw;
    }
    #specification .listmark {
        margin-top: 10.667vw;
        margin-bottom: 1.2vw;
        font-size: 4vw;
        padding-left: 5vw;
    }
    #specification .listmark::before {
        width: 3.867vw;
        height: 3.867vw;
        top: 3vw;
    }
    #specification table th,
    #specification table td {
        border: solid 0.133vw #707070;
        font-size: 2.667vw;
    }
    #specification table th,
    #specification .composition th:first-child,
    #specification table th:first-child {
        width: 26vw;
        padding-top: 3.013vw;
        padding-left: 2vw;
        padding-bottom: 3.013vw;
    }
    #specification table td {
        padding-top: 3.013vw;
        padding-left: 2.227vw;
        padding-bottom: 3.013vw;
    }
    #specification .annotation {
        padding-bottom: 10vw;
    }

    #case .bg_text {
        width: 39.467vw;
        left: 7.33vw;
    }
    #case .flex {
        flex-direction: column;
    }
    #case>.bg_white .w1280 {
        width: 85.33vw;
        padding-left: 0;
    }
    #case .bg_white {
        margin-bottom: 44vw;
    }
    #case .bg_white img {
        width: 85.333vw;
        margin-bottom: 5.333vw;
        margin-right: 0;
    }
    #case>.bg_white .case_underline {
        font-size: 4vw;
        text-decoration: underline;
        margin-bottom: 5.907vw;
    }
    #case .case_company,
    #case .case_company a {
        font-size: 3.2vw;
    }
    .case_wrap {
        width: 100%;
        height: auto;
        margin-left: 0;
        padding-top: 35.44vw;
        padding-left: 7.33vw;
        padding-bottom: 7.33vw;
        margin-bottom: 44vw;
    }
    .case_wrap img {
        width: 85.333vw;
        display: block;
        margin: auto;
        top: -23.6vw;
        left: 0;
        right: 0;
        box-shadow: 2.604vw 2.604vw 2.604vw RGBa(0,0,0,0.1);
    }
    .case_wrap .head {
        font-size: 3.2vw;
        margin-bottom: 4.733vw;
    }
    .case_wrap .head span {
        padding-top: 1.093vw;
        border-top: solid 0.267vw #FF9900;
    }
    .case_wrap .case_text {
        font-size: 4vw;
        padding-right: 7.33vw;
    }

    #linkbtn_wrap .flex {
        flex-direction: column;
    }
    #linkbtn_wrap a {
        font-size: 4vw;
        width: 100%;
        height: 14.133vw;
        border-radius: 7.067vw;
        margin-bottom: 7.333vw;
        padding-left: 10.667vw;
        padding-right: 4.8vw;
    }



    small.nopc {
        color: #000;
        font-size: 2.33vw;
        text-align: right;
        background-color: #EBEBEB;
        width: 100%;
        padding-top: 21.61vw;
        padding-bottom: 40.57vw;
        padding-right: 7vw;
    }
    #totop {
        width: 10.51vw;
        height: 10.51vw;
        right: 7vw;
        bottom: 7vw;
    }

    .nosp {
        display: none;
    }
    .nopc {
        display: block;
    }
}

/* animation */
.FadeUpWrap {
    opacity: 0;
}
.FadeUpWrap.animated {
    animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@keyframes fadeup {
  0% {
    transform: translateY(1.563vw);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -1.867vw) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}
@keyframes scroll {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  80% {
    transform: rotate(-45deg) translate(-1.4vw, 1.4vw);
  }
  0%, 80%, 100% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
