@charset "UTF-8";
@import url(base.css);
@import url(fonts.css);
@import url(styles.css);
@import url(responsive.css);
@import url(under.css);
@import url(under_responsive.css);
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: 0
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,.slick-slider .slick-track {
    -webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -ms-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0)
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after,.slick-track:before {
    display: table;
    content: ''
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir="rtl"] .slick-slide {
    float: right
}

.slick-slide img {
    display: inline-block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos] {
    transition-duration: 50ms
}

[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate {
    transition-delay: 50ms
}

[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos] {
    transition-duration: .1s
}

[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate {
    transition-delay: .1s
}

[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos] {
    transition-duration: .15s
}

[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate {
    transition-delay: .15s
}

[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos] {
    transition-duration: .2s
}

[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate {
    transition-delay: .2s
}

[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos] {
    transition-duration: .25s
}

[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate {
    transition-delay: .25s
}

[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos] {
    transition-duration: .3s
}

[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate {
    transition-delay: .3s
}

[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos] {
    transition-duration: .35s
}

[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate {
    transition-delay: .35s
}

[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos] {
    transition-duration: .4s
}

[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate {
    transition-delay: .4s
}

[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos] {
    transition-duration: .45s
}

[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate {
    transition-delay: .45s
}

[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos] {
    transition-duration: .5s
}

[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate {
    transition-delay: .5s
}

[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos] {
    transition-duration: .55s
}

[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate {
    transition-delay: .55s
}

[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos] {
    transition-duration: .6s
}

[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate {
    transition-delay: .6s
}

[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos] {
    transition-duration: .65s
}

[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate {
    transition-delay: .65s
}

[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos] {
    transition-duration: .7s
}

[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate {
    transition-delay: .7s
}

[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos] {
    transition-duration: .75s
}

[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate {
    transition-delay: .75s
}

[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos] {
    transition-duration: .8s
}

[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate {
    transition-delay: .8s
}

[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos] {
    transition-duration: .85s
}

[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate {
    transition-delay: .85s
}

[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos] {
    transition-duration: .9s
}

[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate {
    transition-delay: .9s
}

[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos] {
    transition-duration: .95s
}

[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate {
    transition-delay: .95s
}

[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos] {
    transition-duration: 1s
}

[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate {
    transition-delay: 1s
}

[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos] {
    transition-duration: 1.05s
}

[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate {
    transition-delay: 1.05s
}

[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos] {
    transition-duration: 1.1s
}

[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate {
    transition-delay: 1.1s
}

[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos] {
    transition-duration: 1.15s
}

[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate {
    transition-delay: 1.15s
}

[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos] {
    transition-duration: 1.2s
}

[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate {
    transition-delay: 1.2s
}

[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos] {
    transition-duration: 1.25s
}

[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate {
    transition-delay: 1.25s
}

[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos] {
    transition-duration: 1.3s
}

[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate {
    transition-delay: 1.3s
}

[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos] {
    transition-duration: 1.35s
}

[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate {
    transition-delay: 1.35s
}

[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos] {
    transition-duration: 1.4s
}

[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate {
    transition-delay: 1.4s
}

[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos] {
    transition-duration: 1.45s
}

[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate {
    transition-delay: 1.45s
}

[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos] {
    transition-duration: 1.5s
}

[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate {
    transition-delay: 1.5s
}

[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos] {
    transition-duration: 1.55s
}

[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate {
    transition-delay: 1.55s
}

[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos] {
    transition-duration: 1.6s
}

[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate {
    transition-delay: 1.6s
}

[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos] {
    transition-duration: 1.65s
}

[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate {
    transition-delay: 1.65s
}

[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos] {
    transition-duration: 1.7s
}

[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate {
    transition-delay: 1.7s
}

[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos] {
    transition-duration: 1.75s
}

[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate {
    transition-delay: 1.75s
}

[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos] {
    transition-duration: 1.8s
}

[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate {
    transition-delay: 1.8s
}

[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos] {
    transition-duration: 1.85s
}

[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate {
    transition-delay: 1.85s
}

[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos] {
    transition-duration: 1.9s
}

[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate {
    transition-delay: 1.9s
}

[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos] {
    transition-duration: 1.95s
}

[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate {
    transition-delay: 1.95s
}

[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos] {
    transition-duration: 2s
}

[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate {
    transition-delay: 2s
}

[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos] {
    transition-duration: 2.05s
}

[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate {
    transition-delay: 2.05s
}

[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos] {
    transition-duration: 2.1s
}

[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate {
    transition-delay: 2.1s
}

[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos] {
    transition-duration: 2.15s
}

[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate {
    transition-delay: 2.15s
}

[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos] {
    transition-duration: 2.2s
}

[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate {
    transition-delay: 2.2s
}

[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos] {
    transition-duration: 2.25s
}

[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate {
    transition-delay: 2.25s
}

[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos] {
    transition-duration: 2.3s
}

[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate {
    transition-delay: 2.3s
}

[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos] {
    transition-duration: 2.35s
}

[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate {
    transition-delay: 2.35s
}

[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos] {
    transition-duration: 2.4s
}

[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate {
    transition-delay: 2.4s
}

[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos] {
    transition-duration: 2.45s
}

[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate {
    transition-delay: 2.45s
}

[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos] {
    transition-duration: 2.5s
}

[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate {
    transition-delay: 2.5s
}

[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos] {
    transition-duration: 2.55s
}

[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate {
    transition-delay: 2.55s
}

[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos] {
    transition-duration: 2.6s
}

[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate {
    transition-delay: 2.6s
}

[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos] {
    transition-duration: 2.65s
}

[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate {
    transition-delay: 2.65s
}

[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos] {
    transition-duration: 2.7s
}

[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate {
    transition-delay: 2.7s
}

[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos] {
    transition-duration: 2.75s
}

[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate {
    transition-delay: 2.75s
}

[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos] {
    transition-duration: 2.8s
}

[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate {
    transition-delay: 2.8s
}

[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos] {
    transition-duration: 2.85s
}

[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate {
    transition-delay: 2.85s
}

[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos] {
    transition-duration: 2.9s
}

[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate {
    transition-delay: 2.9s
}

[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos] {
    transition-duration: 2.95s
}

[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate {
    transition-delay: 2.95s
}

[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos] {
    transition-duration: 3s
}

[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate {
    transition-delay: 3s
}

[data-aos][data-aos][data-aos-easing="linear"],body[data-aos-easing="linear"] [data-aos] {
    transition-timing-function: cubic-bezier(.25,.25,.75,.75)
}

[data-aos][data-aos][data-aos-easing="ease"],body[data-aos-easing="ease"] [data-aos] {
    transition-timing-function: ease
}

[data-aos][data-aos][data-aos-easing="ease-in"],body[data-aos-easing="ease-in"] [data-aos] {
    transition-timing-function: ease-in
}

[data-aos][data-aos][data-aos-easing="ease-out"],body[data-aos-easing="ease-out"] [data-aos] {
    transition-timing-function: ease-out
}

[data-aos][data-aos][data-aos-easing="ease-in-out"],body[data-aos-easing="ease-in-out"] [data-aos] {
    transition-timing-function: ease-in-out
}

[data-aos][data-aos][data-aos-easing="ease-in-back"],body[data-aos-easing="ease-in-back"] [data-aos] {
    transition-timing-function: cubic-bezier(.6,-.28,.735,.045)
}

[data-aos][data-aos][data-aos-easing="ease-out-back"],body[data-aos-easing="ease-out-back"] [data-aos] {
    transition-timing-function: cubic-bezier(.175,.885,.32,1.275)
}

[data-aos][data-aos][data-aos-easing="ease-in-out-back"],body[data-aos-easing="ease-in-out-back"] [data-aos] {
    transition-timing-function: cubic-bezier(.68,-.55,.265,1.55)
}

[data-aos][data-aos][data-aos-easing="ease-in-sine"],body[data-aos-easing="ease-in-sine"] [data-aos] {
    transition-timing-function: cubic-bezier(.47,0,.745,.715)
}

[data-aos][data-aos][data-aos-easing="ease-out-sine"],body[data-aos-easing="ease-out-sine"] [data-aos] {
    transition-timing-function: cubic-bezier(.39,.575,.565,1)
}

[data-aos][data-aos][data-aos-easing="ease-in-out-sine"],body[data-aos-easing="ease-in-out-sine"] [data-aos] {
    transition-timing-function: cubic-bezier(.445,.05,.55,.95)
}

[data-aos][data-aos][data-aos-easing="ease-in-quad"],body[data-aos-easing="ease-in-quad"] [data-aos] {
    transition-timing-function: cubic-bezier(.55,.085,.68,.53)
}

[data-aos][data-aos][data-aos-easing="ease-out-quad"],body[data-aos-easing="ease-out-quad"] [data-aos] {
    transition-timing-function: cubic-bezier(.25,.46,.45,.94)
}

[data-aos][data-aos][data-aos-easing="ease-in-out-quad"],body[data-aos-easing="ease-in-out-quad"] [data-aos] {
    transition-timing-function: cubic-bezier(.455,.03,.515,.955)
}

[data-aos][data-aos][data-aos-easing="ease-in-cubic"],body[data-aos-easing="ease-in-cubic"] [data-aos] {
    transition-timing-function: cubic-bezier(.55,.085,.68,.53)
}

[data-aos][data-aos][data-aos-easing="ease-out-cubic"],body[data-aos-easing="ease-out-cubic"] [data-aos] {
    transition-timing-function: cubic-bezier(.25,.46,.45,.94)
}

[data-aos][data-aos][data-aos-easing="ease-in-out-cubic"],body[data-aos-easing="ease-in-out-cubic"] [data-aos] {
    transition-timing-function: cubic-bezier(.455,.03,.515,.955)
}

[data-aos][data-aos][data-aos-easing="ease-in-quart"],body[data-aos-easing="ease-in-quart"] [data-aos] {
    transition-timing-function: cubic-bezier(.55,.085,.68,.53)
}

[data-aos][data-aos][data-aos-easing="ease-out-quart"],body[data-aos-easing="ease-out-quart"] [data-aos] {
    transition-timing-function: cubic-bezier(.25,.46,.45,.94)
}

[data-aos][data-aos][data-aos-easing="ease-in-out-quart"],body[data-aos-easing="ease-in-out-quart"] [data-aos] {
    transition-timing-function: cubic-bezier(.455,.03,.515,.955)
}

[data-aos^="fade"][data-aos^="fade"] {
    opacity: 0;
    transition-property: opacity , transform
}

[data-aos^="fade"][data-aos^="fade"].aos-animate {
    opacity: 1;
    transform: translateZ(0)
}

[data-aos="fade-up"] {
    transform: translate3d(0,100px,0)
}

[data-aos="fade-down"] {
    transform: translate3d(0,-100px,0)
}

[data-aos="fade-right"] {
    transform: translate3d(-100px,0,0)
}

[data-aos="fade-left"] {
    transform: translate3d(100px,0,0)
}

[data-aos="fade-up-right"] {
    transform: translate3d(-100px,100px,0)
}

[data-aos="fade-up-left"] {
    transform: translate3d(100px,100px,0)
}

[data-aos="fade-down-right"] {
    transform: translate3d(-100px,-100px,0)
}

[data-aos="fade-down-left"] {
    transform: translate3d(100px,-100px,0)
}

[data-aos^="zoom"][data-aos^="zoom"] {
    opacity: 0;
    transition-property: opacity , transform
}

[data-aos^="zoom"][data-aos^="zoom"].aos-animate {
    opacity: 1;
    transform: translateZ(0) scale(1)
}

[data-aos="zoom-in"] {
    transform: scale(.6)
}

[data-aos="zoom-in-up"] {
    transform: translate3d(0,100px,0) scale(.6)
}

[data-aos="zoom-in-down"] {
    transform: translate3d(0,-100px,0) scale(.6)
}

[data-aos="zoom-in-right"] {
    transform: translate3d(-100px,0,0) scale(.6)
}

[data-aos="zoom-in-left"] {
    transform: translate3d(100px,0,0) scale(.6)
}

[data-aos="zoom-out"] {
    transform: scale(1.2)
}

[data-aos="zoom-out-up"] {
    transform: translate3d(0,100px,0) scale(1.2)
}

[data-aos="zoom-out-down"] {
    transform: translate3d(0,-100px,0) scale(1.2)
}

[data-aos="zoom-out-right"] {
    transform: translate3d(-100px,0,0) scale(1.2)
}

[data-aos="zoom-out-left"] {
    transform: translate3d(100px,0,0) scale(1.2)
}

[data-aos^="slide"][data-aos^="slide"] {
    transition-property: transform
}

[data-aos^="slide"][data-aos^="slide"].aos-animate {
    transform: translateZ(0)
}

[data-aos="slide-up"] {
    transform: translate3d(0,100%,0)
}

[data-aos="slide-down"] {
    transform: translate3d(0,-100%,0)
}

[data-aos="slide-right"] {
    transform: translate3d(-100%,0,0)
}

[data-aos="slide-left"] {
    transform: translate3d(100%,0,0)
}

[data-aos^="flip"][data-aos^="flip"] {
    backface-visibility: hidden;
    transition-property: transform
}

[data-aos="flip-left"] {
    transform: perspective(2500px) rotateY(-100deg)
}

[data-aos="flip-left"].aos-animate {
    transform: perspective(2500px) rotateY(0)
}

[data-aos="flip-right"] {
    transform: perspective(2500px) rotateY(100deg)
}

[data-aos="flip-right"].aos-animate {
    transform: perspective(2500px) rotateY(0)
}

[data-aos="flip-up"] {
    transform: perspective(2500px) rotateX(-100deg)
}

[data-aos="flip-up"].aos-animate {
    transform: perspective(2500px) rotateX(0)
}

[data-aos="flip-down"] {
    transform: perspective(2500px) rotateX(100deg)
}

[data-aos="flip-down"].aos-animate {
    transform: perspective(2500px) rotateX(0)
}

html {
    color: #000;
    background: #fff
}

blockquote,body,button,code,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,pre,table,td,textarea,th,tr,ul {
    margin: 0;
    padding: 0
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    border: none
}

fieldset,img {
    border: 0
}

address,caption,cite,code,dfn,em,optgroup,strong,th,var {
    font-style: normal;
    font-weight: 400
}

del,ins {
    text-decoration: none
}

li {
    list-style: none
}

caption,th {
    text-align: left
}

h1,h2,h3,h4,h5,h6 {
    font-size: 100%;
    font-weight: 400;
    line-height: 1
}

q:after,q:before {
    content: ''
}

abbr,acronym {
    border: 0;
    font-variant: normal
}

abbr {
    cursor: help
}

label {
    cursor: pointer
}

sup {
    vertical-align: baseline
}

sub {
    vertical-align: baseline
}

legend {
    color: #000
}

button,input,optgroup,option,select,textarea {
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
    font-weight: inherit
}

strong {
    font-weight: 700
}

em {
    font-style: italic
}

td,th {
    border: 1px solid #999;
    padding: .5em
}

th {
    font-weight: 700;
    text-align: center
}

caption {
    padding-bottom: .5em;
    text-align: right
}

dfn {
    font-style: normal
}

address {
    font-style: normal;
    line-height: 1
}

.clear {
    clear: both
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    font-size: 0
}

.clearfix {
    display: inline-block
}

* html .clearfix {
    height: 1%
}

.clearfix {
    display: block
}

.left {
    text-align: left
}

.center {
    text-align: center
}

.right {
    text-align: right
}

.mb0 {
    margin-bottom: 0
}

.mb05 {
    margin-bottom: 5px
}

.mb10 {
    margin-bottom: 10px
}

.mb15 {
    margin-bottom: 15px
}

.mb20 {
    margin-bottom: 20px
}

.mb25 {
    margin-bottom: 25px
}

.mb30 {
    margin-bottom: 30px
}

.mt05 {
    margin-top: 5px
}

.mt10 {
    margin-top: 10px
}

.mt15 {
    margin-top: 15px
}

.mt20 {
    margin-top: 20px
}

.mt25 {
    margin-top: 25px
}

.mt30 {
    margin-top: 30px
}

#content .w5 {
    width: 5%
}

#content .w10 {
    width: 10%
}

#content .w15 {
    width: 15%
}

#content .w20 {
    width: 20%
}

#content .w25 {
    width: 25%
}

#content .w30 {
    width: 30%
}

#content .w33 {
    width: 33%
}

#content .w35 {
    width: 35%
}

#content .w40 {
    width: 40%
}

#content .w45 {
    width: 45%
}

#content .w50 {
    width: 50%
}

body {
    font: 62.5% '���S�V�b�N Medium','Yu Gothic Medium','���S�V�b�N','Yu Gothic','���S�V�b�N��',YuGothic,'�q���M�m�p�S Pro W3','Hiragino Kaku Gothic Pro','���C���I',Meiryo,Osaka,sans-serif;
    color: #333;
    line-height: 1.4
}

html>body {
    font-size: 10px;
    font-size: 62.5% \9
}

select,input,button,textarea {
    font: 100% '���S�V�b�N Medium','Yu Gothic Medium','���S�V�b�N','Yu Gothic','���S�V�b�N��',YuGothic,'�q���M�m�p�S Pro W3','Hiragino Kaku Gothic Pro','���C���I',Meiryo,Osaka,sans-serif;
    color: #333;
    line-height: 1.4
}

input::-webkit-input-placeholder {
    font-family: '���S�V�b�N Medium','Yu Gothic Medium','���S�V�b�N','Yu Gothic','���S�V�b�N��',YuGothic,'�q���M�m�p�S Pro W3','Hiragino Kaku Gothic Pro','���C���I',Meiryo,Osaka,sans-serif
}

input:-moz-placeholder {
    font-family: '���S�V�b�N Medium','Yu Gothic Medium','���S�V�b�N','Yu Gothic','���S�V�b�N��',YuGothic,'�q���M�m�p�S Pro W3','Hiragino Kaku Gothic Pro','���C���I',Meiryo,Osaka,sans-serif
}

input::-moz-placeholder {
    font-family: '���S�V�b�N Medium','Yu Gothic Medium','���S�V�b�N','Yu Gothic','���S�V�b�N��',YuGothic,'�q���M�m�p�S Pro W3','Hiragino Kaku Gothic Pro','���C���I',Meiryo,Osaka,sans-serif
}

input:-ms-input-placeholder {
    font-family: '���S�V�b�N Medium','Yu Gothic Medium','���S�V�b�N','Yu Gothic','���S�V�b�N��',YuGothic,'�q���M�m�p�S Pro W3','Hiragino Kaku Gothic Pro','���C���I',Meiryo,Osaka,sans-serif
}

table {
    font-size: inherit;
    font: 100%;
    color: #333;
    line-height: 1.4
}

pre,code,kbd,samp,tt {
    font-family: monospace;
    font-size: 100%;
    *font-size: 108%;
    line-height: 1.4;
    color: #333
}

li li,li dt,li dd,li input,li select,li button,li textarea,li p,li th,li td,dt li,dt dt,dt dd,dt input,dt select,dt button,dt textarea,dt p,dt th,dt td,dd li,dd dt,dd dd,dd input,dd select,dd button,dd textarea,dd p,dd th,dd td,th li,th dt,th dd,th input,th select,th button,th textarea,th p,th th,th td,td li,td dt,td dd,td input,td select,td button,td textarea,td p,td th,td td,p input {
    font-size: 100%
}

address,blockquote,button,dd,dt,h1,h2,h3,h4,h5,h6,input,li,p,pre,select,td,textarea,th {
    font-size: 160%;
    -webkit-text-size-adjust: none;
    font-weight: 400
}

img {
    vertical-align: middle;
    max-width: 100%
}

table {
    width: 100%
}

p {
    margin: 0 0 1.5em
}

div>p:last-child {
    margin-bottom: 0
}

* {
    box-sizing: border-box;
    outline: 0
}

html {
    background: 0 0
}

body {
    color: #707070;
    font-family: "���S�V�b�N Medium","Yu Gothic Medium","���S�V�b�N","Yu Gothic","���S�V�b�N��",YuGothic,"�q���M�m�p�S Pro W3","Hiragino Kaku Gothic Pro","���C���I",Meiryo,Osaka,sans-serif
}

.inner {
    width: 1290px;
    margin: 0 auto
}

#wrapper {
    min-width: 1220px;
    overflow: hidden;
    margin-top: 115px
}

a {
    text-decoration: none;
    color: #707070
}

a:hover {
    color: #707070
}

dd,dt,li,p,td,th {
    line-height: 1.5em
}

header {
    position: fixed;
    top: 20px;
    left: 20px;
    width: calc(100% - 40px);
    height: 75px;
    z-index: 7;
    transition: all ease .3s;
    background: #fff;
    border-radius: 50px
}

header .inner {
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 0 30px
}

header #logo {
    width: 180px;
    position: relative;
    z-index: 7
}

header .link {
    width: 150px;
    height: 35px;
    margin: 0 30px;
    position: relative;
    z-index: 7
}

header .link a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    background: url(https://www.geosign.co.jp/images/xic_mail.png,Mce.Ce9ghBgNqG.png.pagespeed.ic.6w-b760b-x.webp) no-repeat #45597a;
    background-size: 18px 14px;
    background-position: 95% 50%;
    color: #fff;
    font-size: 16px;
    padding-right: 20px
}

header p {
    margin-bottom: 0
}

nav {
    z-index: 6;
    margin: 0;
    flex-grow: 1;
    padding: 0;
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center
}

nav.active {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%
}

nav ul {
    display: flex;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: flex-end
}

nav ul li {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: flex-end
}

nav ul li a {
    color: #000;
    font-size: 16px;
    position: relative;
    padding: 30px;
    text-decoration: none;
    cursor: pointer
}

nav ul li a::before {
    background: #000;
    width: 1px;
    height: 14px;
    position: absolute;
    top: calc(50% - 7px);
    left: 0;
    content: ''
}

nav ul li:last-child a {
    padding: 0 0 0 30px
}

nav ul li:first-child a::before {
    display: none
}

nav ul li.sub .sub_menu {
    width: 100%;
    background: #fff;
    visibility: hidden;
    opacity: 0;
    transition: all ease .3s;
    position: absolute;
    top: 120px;
    left: 0;
    flex-direction: column;
    margin: 0 auto;
    border-top: 4px solid #000;
    border-radius: 0 0 50px 50px;
    padding-top: 20px
}

nav ul li.sub .sub_menu::after,nav ul li.sub .sub_menu::before {
    width: 40px;
    height: 36px;
    background: #fff;
    position: absolute;
    top: -40px;
    left: 0;
    transition: all ease .3s;
    content: '';
    z-index: -1
}

nav ul li.sub .sub_menu::before {
    left: calc(100% - 40px)
}

nav ul li.sub:hover .sub_menu {
    opacity: 1;
    visibility: visible;
    top: 75px
}

nav ul li.sub .sub_menu p {
    text-align: center
}

nav ul li.sub .sub_menu .jp {
    font-size: 24px
}

nav ul li.sub .sub_menu .en {
    font-size: 42px;
    font-weight: 700;
    text-transform: capitalize
}

nav ul li.sub ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 30px
}

nav ul li.sub ul li {
    width: 32%;
    margin-right: 2%
}

nav ul li.sub ul li:nth-child(3n+3) {
    margin-right: 0
}

nav ul li.sub ul li a {
    height: 60px;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0;
    text-align: left;
    color: #707070;
    font-size: 16px;
    border-bottom: 1px solid #707070
}

nav ul li.sub ul li a::before {
    display: none
}

nav ul li.sub ul li a::after {
    width: 7px;
    height: 12px;
    background: url(https://www.geosign.co.jp/images/xic_arr.png,Mce.NMG_qzFvn1.png.pagespeed.ic.SM6yATCYRu.webp) center no-repeat;
    background-size: cover;
    top: calc(50% - 7px);
    content: '';
    position: absolute;
    right: 10px
}

nav ul li.sub ul li .big {
    font-size: 16px;
    font-weight: 700;
    padding-left: 10px
}

nav ul li.sub ul li .big::after {
    display: none
}

nav ul li.sub ul.ver1 {
    border-radius: 5px 0 0 5px;
    border-right: 1px solid #fff
}

nav ul li.sub ul.ver2 {
    left: 320px;
    border-radius: 0 5px 5px 5px
}

.nav_sp {
    position: fixed;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
    padding: 40px 0;
    overflow: auto;
    transition: all ease .5s;
    background: -moz-linear-gradient(90deg,#0b3381 0,#17294c 100%);
    background: -webkit-gradient(linear,90deg,color-stop(0,0B3381),color-stop(100%,17294C));
    background: -webkit-linear-gradient(90deg,#0b3381 0,#17294c 100%);
    background: -o-linear-gradient(90deg,#0b3381 0,#17294c 100%);
    background: -ms-linear-gradient(90deg,#0b3381 0,#17294c 100%);
    background: linear-gradient(90deg,#0b3381 0,#17294c 100%)
}

.nav_sp.active {
    top: 0
}

.nav_sp .nav_head {
    display: flex;
    justify-content: center
}

.nav_sp .nav_head p {
    margin-bottom: 0
}

.nav_sp .nav_head .btn_close_menu {
    background: url(../images/ic_menu_close.png) center/cover no-repeat;
    width: 32px;
    height: 32px;
    position: absolute;
    top: 50px;
    right: 50px;
    cursor: pointer
}

.nav_sp .nav_ct {
    margin-top: 30px
}

.nav_sp .nav_ct .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

.nav_sp .nav_item {
    display: flex;
    padding: 0;
    margin: 0 15px 50px 0;
    flex-direction: column;
    width: 410px
}

.nav_sp .nav_item p,.nav_sp .nav_item p a {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px
}

.nav_sp .nav_item p span {
    font-size: 14px;
    font-weight: 400
}

.nav_sp .nav_item ul {
    padding-left: 10px
}

.nav_sp .nav_item ul li {
    margin-bottom: 10px
}

.nav_sp .nav_item ul li a {
    color: #bbb;
    padding-left: 0;
    position: relative
}

.nav_sp .nav_item ul li a::before {
    width: 7px;
    height: 12px;
    background: url(../images/ic_arr_w.png) center/cover no-repeat;
    position: absolute;
    top: 7px;
    left: -15px;
    content: ''
}

.nav_sp .nav_item:last-child,.nav_sp .nav_item:nth-child(3n+3) {
    margin-right: 0
}

.btn_open {
    width: 40px;
    height: 40px;
    position: relative;
    top: 7px;
    z-index: 7
}

.btn_side {
    display: block;
    cursor: pointer;
    width: 100%;
    height: 100%;
    text-align: center;
    z-index: 9999;
    position: relative;
    margin: 0 auto;
    position: absolute;
    border-radius: 0
}

.btn_side span {
    display: block;
    position: absolute;
    height: 5px;
    width: 20px;
    background: #1059d3;
    opacity: 1;
    transform: rotate(0);
    transition: .3s ease-in-out
}

.btn_side span:nth-child(even) {
    left: 0
}

.btn_side span:nth-child(odd) {
    left: 20px
}

.btn_side span:nth-child(1),.btn_side span:nth-child(2) {
    top: 0
}

.btn_side span:nth-child(3),.btn_side span:nth-child(4) {
    top: 11px
}

.btn_side span:nth-child(5),.btn_side span:nth-child(6) {
    top: 22px
}

.btn_side.open span {
    background: #fff
}

.btn_side.open span:nth-child(1),.btn_side.open span:nth-child(6) {
    transform: rotate(45deg)
}

.btn_side.open span:nth-child(2),.btn_side.open span:nth-child(5) {
    transform: rotate(-45deg)
}

.btn_side.open span:nth-child(1) {
    left: 5px;
    top: 6px
}

.btn_side.open span:nth-child(2) {
    left: 17px;
    top: 6px
}

.btn_side.open span:nth-child(3) {
    left: -50%;
    opacity: 0
}

.btn_side.open span:nth-child(4) {
    left: 100%;
    opacity: 0
}

.btn_side.open span:nth-child(5) {
    left: 5px;
    top: 17px
}

.btn_side.open span:nth-child(6) {
    left: 17px;
    top: 17px
}

#fct_sp {
    display: none;
    background: #8352a5;
    height: 60px;
    width: 100%;
    justify-content: center;
    align-items: center;
    padding: 5px;
    position: fixed;
    bottom: -120px;
    left: 0;
    z-index: 999;
    box-sizing: border-box;
    transition: all ease .5s
}

#fct_sp.active {
    bottom: 0
}

#fct_sp p {
    margin: 0 6px 0 0
}

#fct_sp p:last-child {
    margin-right: 0
}

#fct_sp p a {
    background: #fff;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    color: #8352a5
}

#fct_sp p a img {
    margin-right: 5px
}

#fct_sp .tel {
    width: calc(40% - 4px)
}

#fct_sp .mail {
    width: calc(30% - 4px)
}

#fct_sp .map {
    width: calc(30% - 4px)
}

#btn_top {
    position: fixed;
    right: 35px;
    bottom: 90px;
    z-index: 8;
    cursor: pointer;
    box-sizing: border-box;
    margin-bottom: 0;
    display: none;
    color: #9d9d9d;
    letter-spacing: .3em;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: mixed
}

#btn_top::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 6px 18px 6px;
    border-color: transparent transparent #9d9d9d transparent;
    position: absolute;
    top: -35px;
    left: calc(50% - 6px);
    content: ''
}

#btn_top:hover {
    opacity: .7
}

.slider .slide_ct {
    height: 110vh;
    padding-top: 400px
}

.slider .slide_ct .inner {
    width: 100%
}

.slider .slide_video {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
    background-size: cover;
    background-position: center center
}

.slider .slide_video video {
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 1
}

.slider .slide_txt_bg {
    background: rgba(45,104,164,.8);
    margin: 0 auto;
    padding: 20px;
    display: inline-block;
    margin-left: 20px
}

.slider .slide_txt h2 {
    font-size: 50px;
    line-height: 1.4em;
    color: #fff;
    margin-bottom: 0
}

.slider .slide_txt p {
    color: #cbd;
    letter-spacing: .28em;
    padding-left: 10px;
    font-size: 25px;
    margin-bottom: 0
}

.slider .slide_post {
    width: 996px;
    margin: 90px auto 0;
    background: #fff;
    border-radius: 50px;
    position: relative
}

.slider .slide_post dl {
    display: flex;
    height: 50px;
    align-items: center;
    padding: 5px 0 0 25px;
}

.slider .slide_post dt {
    font-size: 11px;
    width: 100px
}

.slider .slide_post dd {
    width: calc(100% - 220px)
}

.slider .slide_post dd a {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    margin-top: 7px;
}

.slider .slide_post .btn {
    position: absolute;
    bottom: 10px;
    right: 15px
}

.slider .slide_post .btn a {
    width: 84px;
    height: 30px;
    border-radius: 30px
}

#line_count {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 20
}

#line_count span {
    background: #fff;
    width: 1px;
    height: 100%;
    position: absolute;
    bottom: 0;
    right: 100px;
    z-index: 2;
    transition: all ease .5s
}

#line_count span.on {
    background: #1059d3;
    z-index: 3;
    height: 0%
}

.pdb30 {
    padding: 0 0 30px
}

.pdb50 {
    padding: 0 0 50px
}

.mgb0 {
    margin-bottom: 0
}

.mgb30 {
    margin-bottom: 30px
}

.mgb50 {
    margin-bottom: 50px
}

.fs12 {
    font-size: 12px
}

.fs16 {
    font-size: 16px
}

.btn {
    text-align: center;
    display: block;
    margin: 40px auto;
}

.btn a {
    position: relative;
    text-align: center;
    color: #fff;
    width: 160px;
    height: 30px;
    background: #1059d3;
    text-decoration: none;
    display: inline-block;
    margin: 0px auto;
    transition: all ease .3s;
    border: 1px solid #1059d3;
    padding: 7px 15px 0 0;
    letter-spacing: -.1em;
    line-height: 1em;
}

.btn a::before {
    background: url(../images/ic_arr_w.png) center/cover no-repeat;
    width: 7px;
    height: 12px;
    position: absolute;
    top: calc(50% - 6px);
    right: 15px;
    content: '';
    transition: all ease .3s
}

.btn_big a {
    width: 300px
}

.btn_right {
    display: flex;
    justify-content: flex-end
}

.btn_right a {
    margin: 0
}

.btn_w a {
    border: 1px solid #fff;
    background: 0 0;
    color: #fff;
    width: 160px;
    margin: 0
}

.btn_w a::before {
    right: 35px
}

main {
    position: relative;
    z-index: 2
}

.ttl {
    border-left: 1px solid #1a8ecf;
    padding: 15px 0 15px 15px
}

.ttl h3 {
    line-height: 1.5em;
    font-size: 24px;
    color: #676767
}

.ttl p {
    font-size: 40px;
    line-height: 1.325em;
    color: #676767;
    margin-bottom: 0
}

.box_news {
    background: #fafafa
}

.box_news .inner {
    position: relative;
    z-index: 0;
    padding: 190px 0 120px
}

.box_news .sbig {
    font-size: 180px;
    color: #fff;
    letter-spacing: -.05em;
    line-height: 1em;
    margin-bottom: 0;
    position: absolute;
    top: 40px;
    left: 0;
    z-index: -1
}

.box_news .tab_news {
    display: flex;
    margin-bottom: 35px
}

.box_news .tab_news li {
    display: flex;
    width: 150px;
    height: 44px;
    font-size: 20px;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #707070;
    margin-right: 10px;
    padding: 0;
    cursor: pointer
}

.box_news .tab_news li img {
    margin: 0 5px 0 0
}

.box_news .tab_news li img.on {
    display: none
}

.box_news .tab_news li.active {
    background: #1059d3;
    border-color: #1059d3;
    color: #fff
}

.box_news .tab_news li.active img.off {
    display: none
}

.box_news .tab_news li.active img.on {
    display: inline-block
}

.box_news .box_news_tab {
    position: relative;
    width: 1000px;
    max-width: 100%;
    margin: 0 auto
}

.box_news .box_news_tab .tab-content {
    transition: all ease .3s;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    z-index: 0;
    width: 100%
}

.box_news .box_news_tab .tab-content.active {
    position: relative;
    top: inherit;
    left: inherit;
    opacity: 1;
    visibility: visible;
    z-index: 1
}

.box_news .box_news_form dl {
    display: flex;
    margin-bottom: 15px
}

.box_news .box_news_form dt {
    display: flex;
    width: 200px;
    justify-content: space-between;
    flex-shrink: 0;
    margin-right: 30px
}

.box_news .box_news_form dt span {
    font-size: 14px;
}

.box_news .box_news_form dt .cate {
    line-height: 1em;
    background: #1059d3;
    display: inline-block;
    padding: 5px 15px;
    color: #fff;
    width: 100px;
    text-align: center
}

.box_news .box_news_form dd {
    width: calc(100% - 230px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.box_news .box_news_form dd a {
    text-decoration: underline;
    transition: all ease .3s
}

.box_news .box_news_form dd a:hover {
    color: #1059d3;
    text-decoration: none
}

.box_news .box_news_list {
    display: flex;
    margin-bottom: 40px
}

.box_news .box_news_list dl {
    width: 290px;
    margin-right: 43px;
    padding-bottom: 35px;
    background: #fff
}

.box_news .box_news_list dl:last-child {
    margin-right: 0
}

.box_news .box_news_list dt a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 200px;
    justify-content: center;
    overflow: hidden
}

.box_news .box_news_list dt a img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    flex-shrink: 0;
    transition: all linear .3s
}

.box_news .box_news_list dd {
    position: relative;
    padding: 22px 22px 0
}

.box_news .box_news_list dd p {
    margin-bottom: 0
}

.box_news .box_news_list dd .cate {
    line-height: 1em;
    background: #f4f5ea;
    font-size: 12px;
    display: inline-block;
    padding: 5px 20px
}

.box_news .box_news_list dd .date {
    position: absolute;
    top: 28px;
    right: 15px;
    font-size: 12px;
    text-align: right
}

.box_news .box_news_list dd .big {
    font-size: 20px;
    margin: 20px 0 15px
}

.box_about {
    position: relative;
    z-index: 2;
    background: #f9faff
}

.box_about::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 350px 1920px 0 0;
    border-color: #f9faff transparent transparent transparent;
    position: absolute;
    bottom: -350px;
    left: calc(50% - 960px);
    content: ''
}

.box_about .inner {
    display: flex;
    align-items: flex-start;
    padding-right: 100px;
    padding-left: 80px
}

.box_about .box_about_txt {
    margin-bottom: 50px
}

.box_about .box_about_txt p {
    font-size: 16px;
    line-height: 1.875em;
    margin-bottom: 20px
}

.box_about .box_about_txt .btn {
    line-height: 1.5em
}

.box_about .box_about_txt .big {
    line-height: 1.35em;
    font-size: 40px;
    margin-bottom: 10px
}

.box_feature {
    position: relative;
    z-index: 2;
    background: #f9faff;
    padding-bottom: 30px
}

.box_feature::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 350px 1920px 0 0;
    border-color: #f9faff transparent transparent transparent;
    position: absolute;
    bottom: -350px;
    left: calc(50% - 960px);
    content: '';
    display: none
}

.box_feature .ttl {
    padding-top: 40px
}

.box_feature .inner {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding-right: 80px
}

.box_feature .box_feature_txt p {
    font-size: 16px;
    line-height: 1.875em;
    margin-bottom: 20px
}

.box_feature .box_feature_txt .btn {
    line-height: 1.5em
}

.box_feature .box_feature_txt .big {
    line-height: 1.35em;
    font-size: 44px;
    margin-bottom: 10px
}

.box_feature .btn {
    margin-right: 60px
}

.box_service {
    padding: 50px 0 105px;
    background: #fff;
    position: relative;
    z-index: 3
}

.box_service .ttl {
    margin-left: 10px;
    padding-top: 40px
}

.box_service .ttl p {
    font-size: 50px
}

.box_service .inner {
    width: 1190px
}

.box_service_list {
    margin: 0 auto 40px
}

.box_service_list ul {
    width: 1190px;
    margin: 0 auto
}

.box_service_list ul li {
    width: 100%;
    height: 540px;
    background: rgba(255,255,255,.85);
    display: flex
}

.box_service_list ul li .service_img {
    width: 530px;
    position: relative
}

.box_service_list ul li .service_img span {
    width: 86px;
    height: 34px;
    color: #fff;
    background: #707070;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: absolute;
    bottom: 17px;
    right: 20px;
    font-size: 20px
}

.box_service_list ul li .service_txt {
    width: calc(100% - 530px);
    padding: 60px 30px
}

.box_service_list ul li .service_txt p {
    margin-bottom: 0
}

.box_service_list ul li .service_txt .en {
    padding: 0;
    font-size: 72px;
    margin: 20px 0;
    line-height: 1em
}

.box_service_list ul li .service_txt .big {
    font-size: 22px;
    margin-bottom: 15px
}

.box_service_list ul li .service_txt .txt {
    line-height: 2.15em
}

.box_service_list ul li .service_txt .list_btn {
    display: flex;
    justify-content: space-between
}

.box_service_list ul li .service_txt .btn {
    display: flex;
    justify-content: flex-start;
    margin-top: 30px;
    width: 48%
}

.box_service_list ul li .service_txt .btn a {
    margin: 0;
    letter-spacing: 0;
    height: 50px;
    line-height: 1.3em;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px 0 0
}

.box_service_list ul li .service_txt .btn a::before {
    right: 15px
}

.box_service_bnn {
    display: flex;
    justify-content: center;
    padding-right: 15px;
    margin-bottom: 30px
}

.box_service_bnn dl {
    position: relative;
    border: 1px solid #e9e9e9;
    background: #fff;
    width: 470px;
    margin-right: 50px;
    cursor: pointer;
    height: 160px
}

.box_service_bnn dl:last-child {
    margin-right: 0
}

.box_service_bnn dt {
    position: absolute;
    top: 10px;
    right: 15px
}

.box_service_bnn dd {
    padding: 25px 20px;
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100%;
    flex-direction: column;
}

.box_service_bnn dd p {
    font-size: 22px;
    margin-bottom: 0
}

.box_service_bnn dd .en {
    font-size: 38px;
    line-height: 1.2em;
    margin-bottom: 20px
}

.box_service_bnn dd .en span {
    font-size: 30px;
    display: block;
    line-height: 1em
}

.box_service_bnn_sm {
    display: flex;
    justify-content: center;
    padding-right: 15px
}

.box_service_bnn_sm p {
    position: relative;
    border: 1px solid #e9e9e9;
    background: #fff;
    width: 470px;
    margin-right: 50px;
    height: 108px;
    padding: 30px 25px;
    cursor: pointer;
    display: flex;
    align-items: center
}

.box_service_bnn_sm p a {
    color: #707070
}

.box_service_bnn_sm p a span {
    font-size: 22px;
    display: block
}

.box_service_bnn_sm p:last-child {
    margin-right: 0
}

.box_service_bnn_sm .bg1 {
    background: url(../images/box_service_bnn_3.png) center/cover no-repeat
}

.box_service_bnn_sm .bg2 {
    background: url(../images/box_service_bnn_4.png) center/cover no-repeat
}

.box_service_bnn_sm .bg2 a {
    color: #fff
}

.box_service_list .slick-slide {
    display: flex
}

.box_service_list .slick-arrow {
    position: absolute;
    top: calc(50% - 52px);
    right: -55px;
    font-size: 0;
    background: url(../images/ic_next.png) center/cover no-repeat;
    width: 18px;
    height: 32px;
    border: none;
    cursor: pointer
}

.box_service_list .slick-prev {
    background: url(../images/ic_prev.png) center/cover no-repeat;
    right: inherit;
    left: -45px
}

.box_company {
    background: url(../images/box_company_bg.png) center/cover no-repeat #f9faff;
    position: relative;
    z-index: 0;
    padding: 140px 0 195px;
    display: flex;
    justify-content: flex-end
}

.box_company::before {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    content: ''
}

.box_company .box_company_img {
    width: 50%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    margin-bottom: 0
}

.box_company .inner {
    width: 50%;
    margin: 5px;
    padding: 0 65px 0 65px
}

.box_company .ttl {
    padding: 40px 0 15px 20px;
    border-color: #fff
}

.box_company .box_company_txt .big {
    font-size: 26px;
    margin: 5px 0 25px
}

.box_company .box_company_txt .txt p {
    line-height: 2.15em
}

.box_company .box_company_btn {
    display: flex;
    justify-content: flex-start;
    margin-top: 35px
}

.box_company .box_company_btn .btn {
    margin: 0 25px 0 0
}

.box_recruit {
    padding: 55px 0 0;
    position: relative;
    background: #fff
}

.box_recruit .ttl {
    padding: 30px 0 0 20px
}

.box_recruit .ttl p {
    font-size: 50px
}

.box_recruit .inner {
    padding-left: 30px
}

.box_recruit .box_recruit_list {
    position: relative;
    margin-top: 10px
}

.box_recruit .box_recruit_img .slick-list {
    height: 700px
}

/* .box_recruit .box_recruit_img .slick-track {
   left: -220px
} */

.box_recruit .box_recruit_img li {
    position: relative;
    transform: scale(.715);
    transition: all ease .3s
}

.box_recruit .box_recruit_img li.slick-current {
    transform: scale(1)
}

.box_recruit .box_recruit_img li.slick-current::before {
    /* background: #d1dcdf; */
    width: calc(100% + 23px);
    height: calc(100% + 23px);
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: -23px;
    content: '';
    z-index: -1
}

.box_recruit .box_recruit_list .pager {
    width: 86px;
    height: 32px;
    color: #fff;
    background: #707070;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: absolute;
    bottom: 30px;
    right: calc(50% + 480px);
    font-size: 20px
}

.box_recruit .box_recruit_txt {
    position: absolute;
    top: 365px;
    left: calc(50% - 85px);
    background: rgba(26,142,207,.9);
    color: #fff;
    padding: 45px 40px;
    width: 415px
}

.box_recruit .box_recruit_txt p {
    margin-bottom: 0
}

.box_recruit .box_recruit_txt .sm {
    font-size: 11px
}

.box_recruit .box_recruit_txt .big {
    font-size: 34px;
    margin: 15px 0
}

.box_recruit .box_recruit_txt .txt {
    font-size: 16px;
    line-height: 1.875em
}

.box_recruit .box_recruit_txt .btn {
    margin-top: 20px
}

.box_parallax {
    height: 690px;
    width: 100%;
    position: relative;
    display: none
}

.box_parallax::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 350px 1920px;
    border-color: transparent transparent #f9faff transparent;
    position: absolute;
    bottom: 0;
    left: calc(50% - 960px);
    content: ''
}

.box_parallax.bg1 {
    background: url(https://www.geosign.co.jp/images/xidx_bg_1.jpg,Mce.C7MdCM7P9X.jpg.pagespeed.ic.xnSCBm7dR5.webp) fixed center top no-repeat
}

.box_parallax.bg2 {
    background: url(https://www.geosign.co.jp/images/xidx_bg_2.jpg,Mce.PCQd0Dvozq.jpg.pagespeed.ic.-OkChP85Pj.webp) fixed center no-repeat;
    height: 850px
}

footer {
    position: relative;
    z-index: 4;
    background: #fff
}

footer .foot_top {
    padding: 90px 0 110px;
    background: -moz-linear-gradient(90deg,#2e4c86 0,#364662 100%);
    background: -webkit-gradient(linear,90deg,color-stop(0,2E4C86),color-stop(100%,364662));
    background: -webkit-linear-gradient(90deg,#2e4c86 0,#364662 100%);
    background: -o-linear-gradient(90deg,#2e4c86 0,#364662 100%);
    background: -ms-linear-gradient(90deg,#2e4c86 0,#364662 100%);
    background: linear-gradient(90deg,#2e4c86 0,#364662 100%)
}

footer .foot_top .big.en {
    font-size: 150px;
    color: rgba(255,255,255,.15);
    text-align: center;
    letter-spacing: -.025em;
    line-height: 1em;
    margin-bottom: 25px
}

footer .foot_top .txt {
    width: 720px;
    margin: 0 auto;
    text-align: center
}

footer .foot_top .txt p {
    line-height: 2.15em;
    color: #fff
}

footer .foot_top_list {
    display: flex;
    margin: 55px 0 0 138px
}

footer .foot_top_list dl {
    width: 220px;
    background: #fff;
    border: 1px solid #707070;
    margin: 0 40px 0 0;
    position: relative;
    padding-top: 37px;
    cursor: pointer
}

footer .foot_top_list dt {
    position: absolute;
    top: -25px;
    left: calc(50% - 25px);
    margin-bottom: 10px
}

footer .foot_top_list dd {
    padding: 0 10px
}

footer .foot_top_list dd .big {
    font-size: 20px;
    text-align: center;
    color: #676767;
    margin-bottom: 10px
}

footer .foot_top_list dd p {
    font-size: 12px
}

footer .foot_top_list dd p a {
    border-top: 1px solid #d8e7e9;
    display: block;
    position: relative;
    width: 100%;
    height: 33px;
    margin-top: 25px
}

footer .foot_top_list dd p a::before {
    width: 18px;
    height: 10px;
    background: url(../images/ic_arr_d.png) center/cover no-repeat;
    position: absolute;
    top: 10px;
    left: calc(50% - 9px);
    content: ''
}

footer .foot_link {
    padding: 95px 0 80px;
    background: -moz-linear-gradient(90deg,#0b3381 0,#17294c 100%);
    background: -webkit-gradient(linear,90deg,color-stop(0,0B3381),color-stop(100%,17294C));
    background: -webkit-linear-gradient(90deg,#0b3381 0,#17294c 100%);
    background: -o-linear-gradient(90deg,#0b3381 0,#17294c 100%);
    background: -ms-linear-gradient(90deg,#0b3381 0,#17294c 100%);
    background: linear-gradient(90deg,#0b3381 0,#17294c 100%)
}

footer .foot_link .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 0 50px
}

footer .foot_link_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center
}

footer .foot_link_item {
    display: flex;
    padding: 10px 0 0 10px;
    border-left: 1px solid #007589;
    flex-direction: column;
    width: 370px
}

footer .foot_link_item:first-child p {
    padding-left: 7px
}

footer .foot_link_item p,footer .foot_link_item p a {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px
}

footer .foot_link_item p span {
    font-size: 14px;
    font-weight: 400
}

footer .foot_link_item ul {
    padding-left: 10px
}

footer .foot_link_item ul li {
    margin-bottom: 10px
}

footer .foot_link_item ul li a {
    color: #bbb
}

footer .foot_link_list.v2 {
    margin: 50px 0 0 0
}

footer .foot_link_item.x2 {
    margin-right: 200px
}

footer .foot_link_item:last-child {
    margin-right: 0
}

footer .foot_bot {
    padding: 20px 0 30px
}

footer .foot_bot .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px 0 40px
}

footer .foot_bot p {
    margin-bottom: 0;
    font-size: 16px;
    padding-top: 15px
}

footer .foot_bot .logo_foot {
    display: flex;
    align-items: center;
    padding-top: 0
}

footer .foot_bot .info {
    margin-right: 100px;
    display: flex
}

footer .foot_bot .info span {
    display: none
}

footer .foot_bot .info a {
    color: #999;
    text-decoration: underline;
    margin-right: 10px;
    padding-right: 10px;
    position: relative
}

footer .foot_bot .info a::before {
    height: 100%;
    width: 1px;
    background: #999;
    position: absolute;
    top: 0;
    right: 0;
    content: ''
}

footer .foot_bot .info a:last-child::before {
    display: none
}

footer .foot_bot .info a:last-child {
    margin-right: 0;
    padding-right: 0
}

footer .foot_bot .copy {
    text-align: right;
    font-size: 12px
}

footer .foot_top_list dd p:last-child {
    margin-bottom: 0
}

.under.ovn_ct .ovn_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

.under.ovn_ct .ovn_list dl {
    margin: 0 35px 50px 0;
    padding-bottom: 15px;
    width: calc((100% - 70px)/ 3);
    display: flex;
    flex-wrap: wrap
}

.under.ovn_ct .ovn_list dl:last-child,.under.ovn_ct .ovn_list dl:nth-child(3n+3) {
    margin-right: 0
}

.under.ovn_ct .ovn_list dt {
    width: 100%;
    display: flex;
    flex-wrap: wrap
}

.under.ovn_ct .ovn_list dt {
    width: 100%;
    display: flex;
    flex-wrap: wrap
}

.under.ovn_ct .ovn_list dt .cate {
    width: 100px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #1059d3;
    color: #fff
}

.under.ovn_ct .ovn_list dt .date {
    width: calc(100% - 100px);
    text-align: right
}

.under.ovn_ct #main .ovn_list dt a {
    text-decoration: none;
    color: #333;
    font-size: 16px;
    margin-top: 10px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.under.ovn_ct .ovn_list dd {
    width: 100%;
    height: 253px;
    margin-top: 15px
}

.under.ovn_ct .ovn_list dd a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #fff;
    border: 2px solid #e1e1e1
}

.under.ovn_ct .ovn_list dd a img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    flex-shrink: 0
}

.under#news_detail .center img {
    max-height: 600px
}

.under #main .pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
    margin: 0 auto
}

.under #main .pagination li {
    margin: 0 10px
}

.under #main .pagination li a {
    width: 40px;
    height: 40px;
    text-align: center;
    border: 1px solid #1059d3;
    background: #fff;
    display: flex;
    text-decoration: none;
    color: #1059d3;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    transition: all ease .3s
}

.under #main .pagination li.active a {
    background: #1059d3;
    color: #fff
}

.under #main .pagination li.disabled {
    display: none
}

.under table h5 {
    border: none;
    padding: 0;
    margin-bottom: 15px
}

.under table h5::before {
    display: none
}

.box_sp {
    display: none
}

.box_pc {
    display: block
}

@media screen and (min-width: 751px) {
    .box_service_list .slick-arrow:hover,.nav_sp .nav_head .btn_close_menu:hover,header .link a:hover {
        opacity:.7
    }

    .box_service_bnn dl:hover,.box_service_bnn_sm p:hover,footer .foot_top_list dl:hover {
        transition-delay: inherit!important;
        opacity: .7!important;
        transition-duration: inherit!important
    }

    .box_service_bnn dl.active,.box_service_bnn_sm p.active,footer .foot_top_list dl.active {
        transition-delay: inherit!important;
        transition-duration: inherit!important
    }

    .nav_sp .nav_item ul li a:hover,footer .foot_link_item ul li a:hover {
        color: #fff
    }

    footer .foot_link_item ul li a.no_hover:hover {
        color: #bbb
    }

    footer .foot_bot .info a:hover {
        color: #1059d3;
        text-decoration: none
    }

    .slider .slide_post dd a:hover {
        color: #1059d3
    }

    .box_news .tab_news li:hover,.btn_open:hover {
        opacity: .7
    }

    .box_news .tab_news li.active:hover {
        background: #1059d3;
        opacity: .7
    }

    .box_news .box_news_list dt a:hover img {
        transform: scale(1.1)
    }

    .btn a:hover {
        background: #fff;
        color: #1059d3
    }

    .btn a:hover::before {
        background: url(../images/ic_arr.png) center/cover no-repeat
    }

    .btn_w a:hover {
        background: #1059d3;
        border-color: #1059d3;
        color: #fff
    }

    .btn_w a:hover::before {
        background: url(../images/ic_arr_w.png) center/cover no-repeat
    }

    nav ul li a:hover {
        color: #1059d3
    }

    nav ul li li a:hover {
        text-decoration: none;
        opacity: .7
    }

    nav ul li li a.big:hover {
        opacity: 1
    }

    nav ul li.sub ul li .big:hover,nav ul li.sub ul li a:hover {
        text-decoration: none
    }

    .nav_sp .nav_item p a:hover,footer .foot_link_item p a:hover {
        text-decoration: underline
    }

    .nav_sp .nav_item ul li a.no_hover:hover {
        color: #bbb
    }

    .under #main .pagination li a:hover {
        background: #1059d3;
        color: #fff
    }

    .under.ovn_ct #main .ovn_list dt a:hover {
        color: #1059d3;
        text-decoration: underline
    }

    .under.ovn_ct .ovn_list dd a:hover {
        opacity: .7
    }
}

@media (min-width: 751px) and (max-width:1280px) {
    .inner,header .inner {
        width:calc(100% - 30px);
        margin: 0 15px;
        padding-left: 0;
        padding-right: 0
    }

    footer .foot_link .inner {
        padding: 0 15px
    }

    nav {
        margin-left: 15px
    }

    .box_parallax::before {
        bottom: -3px
    }

    .box_about::before,.box_feature::before {
        bottom: -345px
    }

    .box_service_list {
        width: calc(100% - 120px)
    }

    .box_service_list ul {
        width: 100%
    }

    footer {
        min-width: 1220px
    }

    footer .foot_bot .info {
        margin-right: 100px
    }

    .btn_open {
        right: 0
    }

    .nav_sp .nav_item {
        width: 380px
    }

    footer .foot_link_item {
        width: 360px
    }
}

@media screen and (max-width: 750px) {
    .top_left {
        text-align:left;
        padding-left: 20px!important
    }

    .top_left2 {
        text-align: left!important
    }

    address,blockquote,button,dd,dt,h1,h2,h3,h4,h5,h6,input,li,p,pre,select,td,textarea,th {
        font-size: 14px;
        line-height: 1.6em
    }

    #wrapper,.inner,footer,main {
        width: 100%!important;
        min-width: inherit!important
    }

    .inner {
        box-sizing: border-box;
        padding: 0 15px
    }

    .box_sp {
        display: block
    }

    .box_pc {
        display: none
    }

    #wrapper {
        margin-top: 65px
    }

    header {
        padding-bottom: 0;
        height: 65px;
        left: 10px;
        width: calc(100% - 20px);
        top: 10px
    }

    header::before {
        display: none
    }

    header .inner {
        padding: 15px 10px 15px 15px;
        justify-content: flex-end
    }

    header #logo {
        width: 110px;
        position: absolute;
        top: calc(50% - 15px);
        left: 5px
    }

    header .link {
        width: 120px;
        margin: 0 10px 0 0
    }

    header .link a {
        font-size: 14px
    }

    #line_count {
        display: none
    }

    nav {
        display: none
    }

    .nav_sp {
        padding: 40px 0
    }

    .nav_sp .nav_head p {
        width: 200px
    }

    .nav_sp .nav_head .btn_close_menu {
        width: 30px;
        height: 30px;
        top: 15px;
        right: 15px
    }

    .nav_sp .nav_ct {
        margin-top: 30px
    }

    .nav_sp .nav_ct .inner {
        padding: 0
    }

    .nav_sp .nav_item {
        width: 100%;
        margin: 0
    }

    .nav_sp .nav_item p {
        padding: 5px 15px;
        font-size: 16px;
        margin: 0;
        height: 50px;
        border-top: 1px solid #fff;
        display: flex;
        align-items: center
    }

    .nav_sp .nav_item p a {
        font-size: 16px;
        margin: 0;
        display: flex;
        width: 100%;
        height: 100%;
        align-items: center;
        padding: 0
    }

    .nav_sp .nav_item p.box_pc {
        display: none
    }

    .nav_sp .nav_item .nav_sub {
        padding: 5px 15px;
        position: relative;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        min-height: 50px;
        height: auto
    }

    .nav_sp .nav_item .nav_sub::before {
        width: 7px;
        height: 12px;
        background: url(../images/ic_arr_w.png) center/cover no-repeat;
        position: absolute;
        top: calc(50% - 6px);
        right: 15px;
        content: '';
        transition: all ease .3s
    }

    .nav_sp .nav_item .nav_sub.active::before {
        transform: rotate(90deg)
    }

    .nav_sp .nav_item ul {
        padding: 0
    }

    .nav_sp .nav_item ul li {
        margin: 0
    }

    .nav_sp .nav_item ul li a {
        height: 50px;
        border-top: 1px solid #fff;
        display: flex;
        align-items: center;
        width: 100%;
        padding-left: 25px
    }

    .nav_sp .nav_item ul li a::before {
        left: 10px;
        top: 21px
    }

    .ttl {
        padding: 0;
        border: none
    }

    .box_recruit .ttl p,.box_service .ttl p,.ttl p {
        font-size: 32px
    }

    .btn_open {
        top: 5px
    }

    .btn a {
        width: 290px;
        letter-spacing: 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center
    }

    .btn_right a,.btn_w a {
        margin: 0 auto
    }

    #btn_top {
        right: 5px;
        bottom: 25px;
        font-size: 0;
        width: 30px;
        height: 30px;
        background: url(../images/btn_top.png) center/cover no-repeat
    }

    #btn_top::before {
        display: none
    }

    .slider .slide_ct {
        height: 100vh;
        min-height: 568px;
        padding-top: 250px
    }

    .slider .slide_txt_bg {
        width: 100%;
        margin: 0;
        padding: 0;
        background: 0 0;
        height: auto
    }

    .slider .slide_txt h2 {
        font-size: 28px;
        text-align: center;
        line-height: 2em;
        background: rgba(45,104,164,.8)
    }

    .slider .slide_txt p {
        padding: 0;
        letter-spacing: .1em;
        font-size: 18px;
        text-align: center
    }

    .slider .slide_txt .en {
        margin-bottom: 30px;
        background: rgba(45,104,164,.8)
    }

    .slider .slide_txt .box_sp {
        color: rgba(255,255,255,.3)
    }

    .slider .slide_txt .box_sp a {
        display: inline-block;
        position: relative;
        color: #fff
    }

    .slider .slide_txt .box_sp a::before {
        width: 12px;
        height: 60vw;
        background: url(https://www.geosign.co.jp/images/xic_scroll.png,Mce.t0PhVXcckm.png.pagespeed.ic.2Xq_5T3hvB.webp) center bottom no-repeat;
        max-height: 260px;
        position: absolute;
        top: 105%;
        left: calc(50% - 6px);
        content: ''
    }

    .slider .slide_post {
        display: none
    }

    .box_news {
        padding: 30px 0 50px
    }

    .box_news .sbig {
        font-size: 90px;
        top: inherit;
        width: 100%;
        text-align: center;
        left: inherit;
        position: relative;
        margin-bottom: 20px;
        color: #676767
    }

    .box_news .inner {
        padding: 0 15px
    }

    .box_news .tab_news {
        justify-content: center;
        margin-bottom: 30px
    }

    .box_news .tab_news li {
        padding: 5px 0 0;
        font-size: 18px
    }

    .box_news .box_news_list {
        justify-content: space-between;
        margin-bottom: 30px
    }

    .box_news .box_news_list dl {
        width: calc((100vw - 60px)/ 2);
        margin: 0;
        padding: 0
    }

    .box_news .box_news_list dl:nth-child(n+3) {
        display: none
    }

    .box_news .box_news_list dt a {
        height: calc((100vw - 60px)/ 2 * 20 / 29)
    }

    .box_news .box_news_list dd {
        padding: 15px
    }

    .box_news .box_news_list dd .date {
        top: 15px
    }

    .box_news .box_news_list dd .big {
        font-size: 16px;
        margin: 15px 0
    }

    .box_news .box_news_form {
        margin-top: 15px
    }

    .box_parallax.bg2::before,.box_parallax::before {
        display: none
    }

    .box_parallax.bg1,.box_parallax.bg2 {
        background: 0 0;
        height: auto
    }

    .box_about::before {
        display: none
    }

    .box_about .inner {
        padding: 30px 15px 0;
        flex-wrap: wrap
    }

    .box_about .box_about_txt {
        width: 100%;
        margin: 15px 0 0
    }

    .box_about .box_about_txt .big {
        font-size: 26px
    }

    .box_about .box_about_txt .btn {
        margin-bottom: 0
    }

    .box_feature::before {
        display: none
    }

    .box_feature .inner {
        padding: 30px 15px 50px;
        flex-wrap: wrap
    }

    .box_feature .ttl {
        padding: 0
    }

    .box_feature .box_feature_txt {
        width: 100%;
        margin: 15px 0 0
    }

    .box_feature .box_feature_txt .big {
        font-size: 26px
    }

    .box_feature .box_feature_txt .btn {
        margin-bottom: 0
    }

    .box_service {
        padding: 50px 0;
        background: #fff
    }

    .box_service .inner {
        padding: 0
    }

    .box_service .ttl {
        padding: 0 15px;
        margin: 0
    }

    .box_service_list {
        margin: 30px auto
    }

    .box_service_list ul {
        width: 100%
    }

    .box_service_list ul li {
        height: auto
    }

    .box_service_list .slick-slide {
        flex-direction: column-reverse
    }

    .box_service_list ul li .service_img {
        width: 100%
    }

    .box_service_list ul li .service_img span {
        display: none
    }

    .box_service_list ul li .service_txt {
        width: 100%;
        padding: 0;
        text-align: center
    }

    .box_service_list ul li .service_txt p {
        padding: 0
    }

    .box_service_list ul li .service_txt .txt {
        text-align: left;
        padding: 0 15px
    }

    .box_service_list ul li .service_txt .en {
        font-size: 36px
    }

    .box_service_list ul li .service_txt .big {
        font-size: 18px;
        padding: 0
    }

    .box_service_list ul li .service_txt .btn {
        padding: 0 15px
    }

    .box_service_list ul li .service_txt .btn a {
        margin: 0 auto
    }

    .box_service_list .slick-dots {
        display: flex;
        justify-content: center;
        margin-top: 30px
    }

    .box_service_list .slick-dots li {
        width: auto;
        margin: 0 20px
    }

    .box_service_list .slick-dots li button {
        background: #fff;
        border: 1px solid #707070;
        border-radius: 50%;
        width: 16px;
        height: 16px;
        font-size: 0
    }

    .box_service_list .slick-dots li.slick-active button {
        background: #707070
    }

    .box_service_list ul li .service_txt .list_btn {
        flex-direction: column;
        justify-content: center;
        align-items: center
    }

    .box_service_list ul li .service_txt .btn {
        width: 100%
    }

    .box_service_bnn {
        flex-direction: column;
        padding: 0 15px;
        margin-bottom: 0;
        align-items: center
    }

    .box_service_bnn dl {
        margin: 0 0 20px;
        width: 100%;
        height: 100px
    }

    .box_service_bnn dt {
        top: calc(50% - 39px);
        right: 5px;
        width: 90px
    }

    .box_service_bnn dd {
        padding: 15px;
        position: relative;
        z-index: 2
    }

    .box_service_bnn dd .en {
        font-size: 24px;
        margin-bottom: 10px
    }

    .box_service_bnn dd .en span {
        font-size: 18px
    }

    .box_service_bnn_sm {
        flex-direction: column;
        padding: 0 15px;
        align-items: center
    }

    .box_service_bnn_sm p {
        margin: 0 0 20px;
        padding: 15px;
        width: 100%
    }

    .box_service_bnn_sm p a span {
        font-size: 20px;
        margin-bottom: 5px
    }

    .box_service_bnn_sm p a span img {
        margin-bottom: 3px
    }

    .box_company {
        padding: 30px 15px 50px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center
    }

    .box_company::before {
        width: 100%
    }

    .box_company .inner {
        padding: 0
    }

    .box_company .ttl {
        padding: 0;
        text-align: center
    }

    .box_company .box_company_img {
        position: relative;
        top: inherit;
        left: inherit;
        width: 150px;
        margin: 0 auto 15px
    }

    .box_company .box_company_txt .big {
        font-size: 24px;
        text-align: center;
        margin: 15px 0
    }

    .box_company .box_company_btn {
        align-items: center;
        margin-top: 0;
        justify-content: space-around
    }

    .box_company .box_company_btn .btn {
        margin: 15px 0 0;
        width: 30%
    }

    .box_company .box_company_btn .btn a {
        max-width: 100%
    }

    .box_recruit {
        padding: 50px 0 0
    }

    .box_recruit .inner {
        padding: 0 15px
    }

    .box_recruit .ttl {
        padding: 0
    }

    .box_recruit .box_recruit_list {
        margin-top: 0;
        padding: 0 15px
    }

    .box_recruit .box_recruit_list .pager {
        font-size: 16px;
        right: inherit;
        left: 15px;
        bottom: 15px;
        width: 80px;
        height: 30px
    }

    .box_recruit .box_recruit_img .slick-list {
        height: auto
    }

    .box_recruit .box_recruit_img .slick-track {
        left: 0
    }

    .box_recruit .box_recruit_img li,.box_recruit .box_recruit_img li.slick-current {
        transform: scale(.8)
    }

    .box_recruit .box_recruit_txt {
        position: relative;
        top: inherit;
        left: inherit;
        width: 100%;
        height: auto;
        padding: 30px 15px
    }

    .box_recruit .box_recruit_txt .big {
        font-size: 24px
    }

    footer .foot_top {
        padding: 50px 0
    }

    footer .foot_top .big.en {
        font-size: 48px
    }

    footer .foot_top .txt {
        width: 100%
    }

    footer .foot_top_list {
        margin: 0;
        flex-wrap: wrap;
        justify-content: space-between
    }

    footer .foot_top_list dl {
        width: calc((100vw - 60px)/ 2);
        margin: 50px 10px 0
    }

    footer .foot_top_list dd .big {
        font-size: 18px
    }

    footer .foot_link {
        display: none
    }

    footer .foot_bot {
        padding: 30px 0 15px;
        text-align: center
    }

    footer .foot_bot .inner {
        padding: 0;
        flex-wrap: wrap
    }

    footer .foot_bot .logo_foot {
        width: 240px;
        margin: 0 auto;
        text-align: center
    }

    footer .foot_bot .info {
        font-size: 12px;
        margin: 0 auto;
        width: 100%;
        align-items: center
    }

    footer .foot_bot .copy {
        border-top: 1px solid #ededed;
        text-align: center;
        font-size: 10px;
        width: 100%;
        padding-top: 10px;
        margin-top: 10px
    }

    .under.ovn_ct .ovn_list dl {
        margin: 0 30px 30px 0;
        width: calc((100vw - 60px)/ 2)
    }

    .under.ovn_ct .ovn_list dl:nth-child(3n+3) {
        margin-right: 30px
    }

    .under.ovn_ct .ovn_list dl:nth-child(2n+2) {
        margin-right: 0
    }

    .under.ovn_ct .ovn_list dd {
        height: calc((100vw - 60px)/ 2 * 2 / 3)
    }
}

@media screen and (max-width: 560px) {
    .box_company .box_company_btn {
        justify-content:center;
        flex-direction: column
    }

    .box_company .box_company_btn .btn {
        width: 100%
    }
}

@media screen and (max-width: 480px) {
    .box_news .tab_news {
        margin-bottom:0
    }

    .box_news .box_news_list {
        flex-wrap: wrap
    }

    .box_news .box_news_list dl {
        width: 100%;
        margin-top: 30px
    }

    .box_news .box_news_list dt a {
        height: calc((100vw - 30px) * 20 / 29)
    }

    .under.ovn_ct .ovn_list dl {
        width: 100%;
        margin-right: 0
    }

    .under.ovn_ct .ovn_list dl:nth-child(3n+3) {
        margin-right: 0
    }

    .under.ovn_ct .ovn_list dd {
        height: calc((100vw - 30px) * 2 / 3)
    }

    .box_news .box_news_form dl {
        flex-wrap: wrap
    }

    .box_news .box_news_form dd {
        width: 100%;
        margin-top: 5px
    }
}

@media screen and (max-width: 420px) {
    .box_recruit .box_recruit_img li::before {
        /* background:#d1dcdf; */
        width: calc(100% + 23px);
        height: calc(100% + 23px);
        border-radius: 50%;
        position: absolute;
        top: 0;
        left: -23px;
        content: '';
        z-index: -1
    }

    .slider .slide_txt p {
        font-size: 3.8vw
    }
}

@media screen and (max-width: 380px) {
    .btn {
        padding:0;
        width: 100%;
        box-sizing: border-box
    }

    footer .foot_top_list dl {
        width: 95%
    }

    .box_service_bnn dd p {
        font-size: 20px
    }
}

@media screen and (max-width: 360px) {
    .box_service_bnn dd p {
        font-size:15px;
        margin-bottom: 0
    }

    .slider .slide_txt p {
        font-size: 12px
    }
}

.box_sp {
    display: none
}

.box_pc {
    display: block
}

@media screen and (min-width: 751px) {
    .box_service_list .slick-arrow:hover,.nav_sp .nav_head .btn_close_menu:hover,header .link a:hover {
        opacity:.7
    }

    .box_service_bnn dl:hover,.box_service_bnn_sm p:hover,footer .foot_top_list dl:hover {
        transition-delay: inherit!important;
        opacity: .7!important;
        transition-duration: inherit!important
    }

    .box_service_bnn dl.active,.box_service_bnn_sm p.active,footer .foot_top_list dl.active {
        transition-delay: inherit!important;
        transition-duration: inherit!important
    }

    .nav_sp .nav_item ul li a:hover,footer .foot_link_item ul li a:hover {
        color: #fff
    }

    footer .foot_link_item ul li a.no_hover:hover {
        color: #bbb
    }

    footer .foot_bot .info a:hover {
        color: #1059d3;
        text-decoration: none
    }

    .slider .slide_post dd a:hover {
        color: #1059d3
    }

    .box_news .tab_news li:hover,.btn_open:hover {
        opacity: .7
    }

    .box_news .tab_news li.active:hover {
        background: #1059d3;
        opacity: .7
    }

    .box_news .box_news_list dt a:hover img {
        transform: scale(1.1)
    }

    .btn a:hover {
        background: #fff;
        color: #1059d3
    }

    .btn a:hover::before {
        background: url(../images/ic_arr.png) center/cover no-repeat
    }

    .btn_w a:hover {
        background: #1059d3;
        border-color: #1059d3;
        color: #fff
    }

    .btn_w a:hover::before {
        background: url(../images/ic_arr_w.png) center/cover no-repeat
    }

    nav ul li a:hover {
        color: #1059d3
    }

    nav ul li li a:hover {
        text-decoration: none;
        opacity: .7
    }

    nav ul li li a.big:hover {
        opacity: 1
    }

    nav ul li.sub ul li .big:hover,nav ul li.sub ul li a:hover {
        text-decoration: none
    }

    .nav_sp .nav_item p a:hover,footer .foot_link_item p a:hover {
        text-decoration: underline
    }

    .nav_sp .nav_item ul li a.no_hover:hover {
        color: #bbb
    }

    .under #main .pagination li a:hover {
        background: #1059d3;
        color: #fff
    }

    .under.ovn_ct #main .ovn_list dt a:hover {
        color: #1059d3;
        text-decoration: underline
    }

    .under.ovn_ct .ovn_list dd a:hover {
        opacity: .7
    }
}

@media (min-width: 751px) and (max-width:1280px) {
    .inner,header .inner {
        width:calc(100% - 30px);
        margin: 0 15px;
        padding-left: 0;
        padding-right: 0
    }

    footer .foot_link .inner {
        padding: 0 15px
    }

    nav {
        margin-left: 15px
    }

    .box_parallax::before {
        bottom: -3px
    }

    .box_about::before,.box_feature::before {
        bottom: -345px
    }

    .box_service_list {
        width: calc(100% - 120px)
    }

    .box_service_list ul {
        width: 100%
    }

    footer {
        min-width: 1220px
    }

    footer .foot_bot .info {
        margin-right: 100px
    }

    .btn_open {
        right: 0
    }

    .nav_sp .nav_item {
        width: 380px
    }

    footer .foot_link_item {
        width: 360px
    }
}

@media screen and (max-width: 750px) {
    .top_left {
        text-align:left;
        padding-left: 20px!important
    }

    .top_left2 {
        text-align: left!important
    }

    address,blockquote,button,dd,dt,h1,h2,h3,h4,h5,h6,input,li,p,pre,select,td,textarea,th {
        font-size: 14px;
        line-height: 1.6em
    }

    #wrapper,.inner,footer,main {
        width: 100%!important;
        min-width: inherit!important
    }

    .inner {
        box-sizing: border-box;
        padding: 0 15px
    }

    .box_sp {
        display: block
    }

    .box_pc {
        display: none
    }

    #wrapper {
        margin-top: 65px
    }

    header {
        padding-bottom: 0;
        height: 65px;
        left: 10px;
        width: calc(100% - 20px);
        top: 10px
    }

    header::before {
        display: none
    }

    header .inner {
        padding: 15px 10px 15px 15px;
        justify-content: flex-end
    }

    header #logo {
        width: 110px;
        position: absolute;
        top: calc(50% - 15px);
        left: 5px
    }

    header .link {
        width: 120px;
        margin: 0 10px 0 0
    }

    header .link a {
        font-size: 14px
    }

    #line_count {
        display: none
    }

    nav {
        display: none
    }

    .nav_sp {
        padding: 40px 0
    }

    .nav_sp .nav_head p {
        width: 200px
    }

    .nav_sp .nav_head .btn_close_menu {
        width: 30px;
        height: 30px;
        top: 15px;
        right: 15px
    }

    .nav_sp .nav_ct {
        margin-top: 30px
    }

    .nav_sp .nav_ct .inner {
        padding: 0
    }

    .nav_sp .nav_item {
        width: 100%;
        margin: 0
    }

    .nav_sp .nav_item p {
        padding: 5px 15px;
        font-size: 16px;
        margin: 0;
        height: 50px;
        border-top: 1px solid #fff;
        display: flex;
        align-items: center
    }

    .nav_sp .nav_item p a {
        font-size: 16px;
        margin: 0;
        display: flex;
        width: 100%;
        height: 100%;
        align-items: center;
        padding: 0
    }

    .nav_sp .nav_item p.box_pc {
        display: none
    }

    .nav_sp .nav_item .nav_sub {
        padding: 5px 15px;
        position: relative;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        min-height: 50px;
        height: auto
    }

    .nav_sp .nav_item .nav_sub::before {
        width: 7px;
        height: 12px;
        background: url(../images/ic_arr_w.png) center/cover no-repeat;
        position: absolute;
        top: calc(50% - 6px);
        right: 15px;
        content: '';
        transition: all ease .3s
    }

    .nav_sp .nav_item .nav_sub.active::before {
        transform: rotate(90deg)
    }

    .nav_sp .nav_item ul {
        padding: 0
    }

    .nav_sp .nav_item ul li {
        margin: 0
    }

    .nav_sp .nav_item ul li a {
        height: 50px;
        border-top: 1px solid #fff;
        display: flex;
        align-items: center;
        width: 100%;
        padding-left: 25px
    }

    .nav_sp .nav_item ul li a::before {
        left: 10px;
        top: 21px
    }

    .ttl {
        padding: 0;
        border: none
    }

    .box_recruit .ttl p,.box_service .ttl p,.ttl p {
        font-size: 32px
    }

    .btn_open {
        top: 5px
    }

    .btn a {
        width: 290px;
        letter-spacing: 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center
    }

    .btn_right a,.btn_w a {
        margin: 0 auto
    }

    #btn_top {
        right: 5px;
        bottom: 25px;
        font-size: 0;
        width: 30px;
        height: 30px;
        background: url(../images/btn_top.png) center/cover no-repeat
    }

    #btn_top::before {
        display: none
    }

    .slider .slide_ct {
        height: 100vh;
        min-height: 568px;
        padding-top: 250px
    }

    .slider .slide_txt_bg {
        width: 100%;
        margin: 0;
        padding: 0;
        background: 0 0;
        height: auto
    }

    .slider .slide_txt h2 {
        font-size: 28px;
        text-align: center;
        line-height: 2em;
        background: rgba(45,104,164,.8)
    }

    .slider .slide_txt p {
        padding: 0;
        letter-spacing: .1em;
        font-size: 18px;
        text-align: center
    }

    .slider .slide_txt .en {
        margin-bottom: 30px;
        background: rgba(45,104,164,.8)
    }

    .slider .slide_txt .box_sp {
        color: rgba(255,255,255,.3)
    }

    .slider .slide_txt .box_sp a {
        display: inline-block;
        position: relative;
        color: #fff
    }

    .slider .slide_txt .box_sp a::before {
        width: 12px;
        height: 60vw;
        background: url(https://www.geosign.co.jp/images/xic_scroll.png,Mce.t0PhVXcckm.png.pagespeed.ic.2Xq_5T3hvB.webp) center bottom no-repeat;
        max-height: 260px;
        position: absolute;
        top: 105%;
        left: calc(50% - 6px);
        content: ''
    }

    .slider .slide_post {
        display: none
    }

    .box_news {
        padding: 30px 0 50px
    }

    .box_news .sbig {
        font-size: 90px;
        top: inherit;
        width: 100%;
        text-align: center;
        left: inherit;
        position: relative;
        margin-bottom: 20px;
        color: #676767
    }

    .box_news .inner {
        padding: 0 15px
    }

    .box_news .tab_news {
        justify-content: center;
        margin-bottom: 30px
    }

    .box_news .tab_news li {
        padding: 5px 0 0;
        font-size: 18px
    }

    .box_news .box_news_list {
        justify-content: space-between;
        margin-bottom: 30px
    }

    .box_news .box_news_list dl {
        width: calc((100vw - 60px)/ 2);
        margin: 0;
        padding: 0
    }

    .box_news .box_news_list dl:nth-child(n+3) {
        display: none
    }

    .box_news .box_news_list dt a {
        height: calc((100vw - 60px)/ 2 * 20 / 29)
    }

    .box_news .box_news_list dd {
        padding: 15px
    }

    .box_news .box_news_list dd .date {
        top: 15px
    }

    .box_news .box_news_list dd .big {
        font-size: 16px;
        margin: 15px 0
    }

    .box_news .box_news_form {
        margin-top: 15px
    }

    .box_parallax.bg2::before,.box_parallax::before {
        display: none
    }

    .box_parallax.bg1,.box_parallax.bg2 {
        background: 0 0;
        height: auto
    }

    .box_about::before {
        display: none
    }

    .box_about .inner {
        padding: 30px 15px 0;
        flex-wrap: wrap
    }

    .box_about .box_about_txt {
        width: 100%;
        margin: 15px 5px 0
    }

    .box_about .box_about_txt .big {
        font-size: 26px
    }

    .box_about .box_about_txt .btn {
        margin-bottom: 0
    }

    .box_feature::before {
        display: none
    }

    .box_feature .inner {
        padding: 30px 15px 50px;
        flex-wrap: wrap
    }

    .box_feature .ttl {
        padding: 0
    }

    .box_feature .box_feature_txt {
        width: 100%;
        margin: 15px 0 0
    }

    .box_feature .box_feature_txt .big {
        font-size: 26px
    }

    .box_feature .box_feature_txt .btn {
        margin-bottom: 0
    }

    .box_service {
        padding: 50px 0;
        background: #fff
    }

    .box_service .inner {
        padding: 0
    }

    .box_service .ttl {
        padding: 0 15px;
        margin: 0
    }

    .box_service_list {
        margin: 30px auto
    }

    .box_service_list ul {
        width: 100%
    }

    .box_service_list ul li {
        height: auto
    }

    .box_service_list .slick-slide {
        flex-direction: column-reverse
    }

    .box_service_list ul li .service_img {
        width: 100%
    }

    .box_service_list ul li .service_img span {
        display: none
    }

    .box_service_list ul li .service_txt {
        width: 100%;
        padding: 0;
        text-align: center
    }

    .box_service_list ul li .service_txt p {
        padding: 0
    }

    .box_service_list ul li .service_txt .txt {
        text-align: left;
        padding: 0 15px
    }

    .box_service_list ul li .service_txt .en {
        font-size: 36px
    }

    .box_service_list ul li .service_txt .big {
        font-size: 18px;
        padding: 0
    }

    .box_service_list ul li .service_txt .btn {
        padding: 0 15px
    }

    .box_service_list ul li .service_txt .btn a {
        margin: 0 auto
    }

    .box_service_list .slick-dots {
        display: flex;
        justify-content: center;
        margin-top: 30px
    }

    .box_service_list .slick-dots li {
        width: auto;
        margin: 0 20px
    }

    .box_service_list .slick-dots li button {
        background: #fff;
        border: 1px solid #707070;
        border-radius: 50%;
        width: 16px;
        height: 16px;
        font-size: 0
    }

    .box_service_list .slick-dots li.slick-active button {
        background: #707070
    }

    .box_service_list ul li .service_txt .list_btn {
        flex-direction: column;
        justify-content: center;
        align-items: center
    }

    .box_service_list ul li .service_txt .btn {
        width: 100%
    }

    .box_service_bnn {
        flex-direction: column;
        padding: 0 15px;
        margin-bottom: 0;
        align-items: center
    }

    .box_service_bnn dl {
        margin: 0 0 20px;
        width: 100%;
        height: 100px
    }

    .box_service_bnn dt {
        top: calc(50% - 39px);
        right: 5px;
        width: 90px
    }

    .box_service_bnn dd {
        padding: 15px;
        position: relative;
        z-index: 2
    }

    .box_service_bnn dd .en {
        font-size: 24px;
        margin-bottom: 10px
    }

    .box_service_bnn dd .en span {
        font-size: 18px
    }

    .box_service_bnn_sm {
        flex-direction: column;
        padding: 0 15px;
        align-items: center
    }

    .box_service_bnn_sm p {
        margin: 0 0 20px;
        padding: 15px;
        width: 100%
    }

    .box_service_bnn_sm p a span {
        font-size: 20px;
        margin-bottom: 5px
    }

    .box_service_bnn_sm p a span img {
        margin-bottom: 3px
    }

    .box_company {
        padding: 30px 15px 50px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center
    }

    .box_company::before {
        width: 100%
    }

    .box_company .inner {
        padding: 0
    }

    .box_company .ttl {
        padding: 0;
        text-align: center
    }

    .box_company .box_company_img {
        position: relative;
        top: inherit;
        left: inherit;
        width: 150px;
        margin: 0 auto 15px
    }

    .box_company .box_company_txt .big {
        font-size: 24px;
        text-align: center;
        margin: 15px 0
    }

    .box_company .box_company_btn {
        align-items: center;
        margin-top: 0;
        justify-content: space-around
    }

    .box_company .box_company_btn .btn {
        margin: 15px 0 0;
        width: 30%
    }

    .box_company .box_company_btn .btn a {
        max-width: 100%
    }

    .box_recruit {
        padding: 50px 0 0
    }

    .box_recruit .inner {
        padding: 0 15px
    }

    .box_recruit .ttl {
        padding: 0
    }

    .box_recruit .box_recruit_list {
        margin-top: 0;
        padding: 0 15px
    }

    .box_recruit .box_recruit_list .pager {
        font-size: 16px;
        right: inherit;
        left: 15px;
        bottom: 15px;
        width: 80px;
        height: 30px
    }

    .box_recruit .box_recruit_img .slick-list {
        height: auto
    }

    .box_recruit .box_recruit_img .slick-track {
        left: 0
    }

    .box_recruit .box_recruit_img li,.box_recruit .box_recruit_img li.slick-current {
        transform: scale(.8)
    }

    .box_recruit .box_recruit_txt {
        position: relative;
        top: inherit;
        left: inherit;
        width: 100%;
        height: auto;
        padding: 30px 20px
    }

    .box_recruit .box_recruit_txt .big {
        font-size: 24px
    }

    footer .foot_top {
        padding: 50px 0
    }

    footer .foot_top .big.en {
        font-size: 48px
    }

    footer .foot_top .txt {
        width: 100%
    }

    footer .foot_top_list {
        margin: 0;
        flex-wrap: wrap;
        justify-content: space-between
    }

    footer .foot_top_list dl {
        width: calc((100vw - 60px)/ 2);
        margin: 50px 10px 0
    }

    footer .foot_top_list dd .big {
        font-size: 18px
    }

    footer .foot_link {
        display: none
    }

    footer .foot_bot {
        padding: 30px 0 15px;
        text-align: center
    }

    footer .foot_bot .inner {
        padding: 0;
        flex-wrap: wrap
    }

    footer .foot_bot .logo_foot {
        width: 240px;
        margin: 0 auto;
        text-align: center
    }

    footer .foot_bot .info {
        font-size: 12px;
        margin: 0 auto;
        width: 100%;
        align-items: center
    }

    footer .foot_bot .copy {
        border-top: 1px solid #ededed;
        text-align: center;
        font-size: 10px;
        width: 100%;
        padding-top: 10px;
        margin-top: 10px
    }

    .under.ovn_ct .ovn_list dl {
        margin: 0 30px 30px 0;
        width: calc((100vw - 60px)/ 2)
    }

    .under.ovn_ct .ovn_list dl:nth-child(3n+3) {
        margin-right: 30px
    }

    .under.ovn_ct .ovn_list dl:nth-child(2n+2) {
        margin-right: 0
    }

    .under.ovn_ct .ovn_list dd {
        height: calc((100vw - 60px)/ 2 * 2 / 3)
    }
}

@media screen and (max-width: 560px) {
    .box_company .box_company_btn {
        justify-content:center;
        flex-direction: column
    }

    .box_company .box_company_btn .btn {
        width: 100%
    }
}

@media screen and (max-width: 480px) {
    .box_news .tab_news {
        margin-bottom:0
    }

    .box_news .box_news_list {
        flex-wrap: wrap
    }

    .box_news .box_news_list dl {
        width: 100%;
        margin-top: 30px
    }

    .box_news .box_news_list dt a {
        height: calc((100vw - 30px) * 20 / 29)
    }

    .under.ovn_ct .ovn_list dl {
        width: 100%;
        margin-right: 0
    }

    .under.ovn_ct .ovn_list dl:nth-child(3n+3) {
        margin-right: 0
    }

    .under.ovn_ct .ovn_list dd {
        height: calc((100vw - 30px) * 2 / 3)
    }

    .box_news .box_news_form dl {
        flex-wrap: wrap
    }

    .box_news .box_news_form dd {
        width: 100%;
        margin-top: 5px
    }
}

@media screen and (max-width: 420px) {
    .box_recruit .box_recruit_img li::before {
        /* background:#d1dcdf; */
        width: calc(100% + 23px);
        height: calc(100% + 23px);
        border-radius: 50%;
        position: absolute;
        top: 0;
        left: -23px;
        content: '';
        z-index: -1
    }

    .slider .slide_txt p {
        font-size: 3.8vw
    }
}

@media screen and (max-width: 380px) {
    .btn {
        padding:0;
        width: 100%;
        box-sizing: border-box
    }

    footer .foot_top_list dl {
        width: 100%
    }

    .box_service_bnn dd p {
        font-size: 20px
    }
}

@media screen and (max-width: 360px) {
    .box_service_bnn dd p {
        font-size:15px;
        margin-bottom: 0
    }

    .slider .slide_txt p {
        font-size: 12px
    }
}

.box_sp {
    display: none
}

.box_pc {
    display: block
}

@media screen and (min-width: 751px) {
    .box_service_list .slick-arrow:hover,.nav_sp .nav_head .btn_close_menu:hover,header .link a:hover {
        opacity:.7
    }

    .box_service_bnn dl:hover,.box_service_bnn_sm p:hover,footer .foot_top_list dl:hover {
        transition-delay: inherit!important;
        opacity: .7!important;
        transition-duration: inherit!important
    }

    .box_service_bnn dl.active,.box_service_bnn_sm p.active,footer .foot_top_list dl.active {
        transition-delay: inherit!important;
        transition-duration: inherit!important
    }

    .nav_sp .nav_item ul li a:hover,footer .foot_link_item ul li a:hover {
        color: #fff
    }

    footer .foot_link_item ul li a.no_hover:hover {
        color: #bbb
    }

    footer .foot_bot .info a:hover {
        color: #1059d3;
        text-decoration: none
    }

    .slider .slide_post dd a:hover {
        color: #1059d3
    }

    .box_news .tab_news li:hover,.btn_open:hover {
        opacity: .7
    }

    .box_news .tab_news li.active:hover {
        background: #1059d3;
        opacity: .7
    }

    .box_news .box_news_list dt a:hover img {
        transform: scale(1.1)
    }

    .btn a:hover {
        background: #fff;
        color: #1059d3
    }

    .btn a:hover::before {
        background: url(../images/ic_arr.png) center/cover no-repeat
    }

    .btn_w a:hover {
        background: #1059d3;
        border-color: #1059d3;
        color: #fff
    }

    .btn_w a:hover::before {
        background: url(../images/ic_arr_w.png) center/cover no-repeat
    }

    nav ul li a:hover {
        color: #1059d3
    }

    nav ul li li a:hover {
        text-decoration: none;
        opacity: .7
    }

    nav ul li li a.big:hover {
        opacity: 1
    }

    nav ul li.sub ul li .big:hover,nav ul li.sub ul li a:hover {
        text-decoration: none
    }

    .nav_sp .nav_item p a:hover,footer .foot_link_item p a:hover {
        text-decoration: underline
    }

    .nav_sp .nav_item ul li a.no_hover:hover {
        color: #bbb
    }

    .under #main .pagination li a:hover {
        background: #1059d3;
        color: #fff
    }

    .under.ovn_ct #main .ovn_list dt a:hover {
        color: #1059d3;
        text-decoration: underline
    }

    .under.ovn_ct .ovn_list dd a:hover {
        opacity: .7
    }
}

@media (min-width: 751px) and (max-width:1280px) {
    .inner,header .inner {
        width:calc(100% - 30px);
        margin: 0 15px;
        padding-left: 0;
        padding-right: 0
    }

    footer .foot_link .inner {
        padding: 0 15px
    }

    nav {
        margin-left: 15px
    }

    .box_parallax::before {
        bottom: -3px
    }

    .box_about::before,.box_feature::before {
        bottom: -345px
    }

    .box_service_list {
        width: calc(100% - 120px)
    }

    .box_service_list ul {
        width: 100%
    }

    footer {
        min-width: 1220px
    }

    footer .foot_bot .info {
        margin-right: 100px
    }

    .btn_open {
        right: 0
    }

    .nav_sp .nav_item {
        width: 380px
    }

    footer .foot_link_item {
        width: 360px
    }
}

@media screen and (max-width: 750px) {
    .top_left {
        text-align:left;
        padding-left: 20px!important
    }

    .top_left2 {
        text-align: left!important
    }

    address,blockquote,button,dd,dt,h1,h2,h3,h4,h5,h6,input,li,p,pre,select,td,textarea,th {
        font-size: 14px;
        line-height: 1.6em
    }

    #wrapper,.inner,footer,main {
        width: 100%!important;
        min-width: inherit!important
    }

    .inner {
        box-sizing: border-box;
        padding: 0 15px
    }

    .box_sp {
        display: block
    }

    .box_pc {
        display: none
    }

    #wrapper {
        margin-top: 65px
    }

    header {
        padding-bottom: 0;
        height: 65px;
        left: 10px;
        width: calc(100% - 20px);
        top: 10px
    }

    header::before {
        display: none
    }

    header .inner {
        padding: 15px 10px 15px 15px;
        justify-content: flex-end
    }

    header #logo {
        width: 110px;
        position: absolute;
        top: calc(50% - 15px);
        left: 5px
    }

    header .link {
        width: 120px;
        margin: 0 10px 0 0
    }

    header .link a {
        font-size: 14px
    }

    #line_count {
        display: none
    }

    nav {
        display: none
    }

    .nav_sp {
        padding: 40px 0
    }

    .nav_sp .nav_head p {
        width: 200px
    }

    .nav_sp .nav_head .btn_close_menu {
        width: 30px;
        height: 30px;
        top: 15px;
        right: 15px
    }

    .nav_sp .nav_ct {
        margin-top: 30px
    }

    .nav_sp .nav_ct .inner {
        padding: 0
    }

    .nav_sp .nav_item {
        width: 100%;
        margin: 0
    }

    .nav_sp .nav_item p {
        padding: 5px 15px;
        font-size: 16px;
        margin: 0;
        height: 50px;
        border-top: 1px solid #fff;
        display: flex;
        align-items: center
    }

    .nav_sp .nav_item p a {
        font-size: 16px;
        margin: 0;
        display: flex;
        width: 100%;
        height: 100%;
        align-items: center;
        padding: 0
    }

    .nav_sp .nav_item p.box_pc {
        display: none
    }

    .nav_sp .nav_item .nav_sub {
        padding: 5px 15px;
        position: relative;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        min-height: 50px;
        height: auto
    }

    .nav_sp .nav_item .nav_sub::before {
        width: 7px;
        height: 12px;
        background: url(../images/ic_arr_w.png) center/cover no-repeat;
        position: absolute;
        top: calc(50% - 6px);
        right: 15px;
        content: '';
        transition: all ease .3s
    }

    .nav_sp .nav_item .nav_sub.active::before {
        transform: rotate(90deg)
    }

    .nav_sp .nav_item ul {
        padding: 0
    }

    .nav_sp .nav_item ul li {
        margin: 0
    }

    .nav_sp .nav_item ul li a {
        height: 50px;
        border-top: 1px solid #fff;
        display: flex;
        align-items: center;
        width: 100%;
        padding-left: 25px
    }

    .nav_sp .nav_item ul li a::before {
        left: 10px;
        top: 21px
    }

    .ttl {
        padding: 0;
        border: none
    }

    .box_recruit .ttl p,.box_service .ttl p,.ttl p {
        font-size: 32px
    }

    .btn_open {
        top: 5px
    }

    .btn a {
        width: 290px;
        letter-spacing: 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center
    }

    .btn_right a,.btn_w a {
        margin: 0 auto
    }

    #btn_top {
        right: 5px;
        bottom: 25px;
        font-size: 0;
        width: 30px;
        height: 30px;
        background: url(../images/btn_top.png) center/cover no-repeat
    }

    #btn_top::before {
        display: none
    }

    .slider .slide_ct {
        height: 100vh;
        min-height: 568px;
        padding-top: 250px
    }

    .slider .slide_txt_bg {
        width: 100%;
        margin: 0;
        padding: 0;
        background: 0 0;
        height: auto
    }

    .slider .slide_txt h2 {
        font-size: 28px;
        text-align: center;
        line-height: 2em;
        background: rgba(45,104,164,.8)
    }

    .slider .slide_txt p {
        padding: 0;
        letter-spacing: .1em;
        font-size: 18px;
        text-align: center
    }

    .slider .slide_txt .en {
        margin-bottom: 30px;
        background: rgba(45,104,164,.8)
    }

    .slider .slide_txt .box_sp {
        color: rgba(255,255,255,.3)
    }

    .slider .slide_txt .box_sp a {
        display: inline-block;
        position: relative;
        color: #fff
    }

    .slider .slide_txt .box_sp a::before {
        width: 12px;
        height: 60vw;
        background: url(https://www.geosign.co.jp/images/xic_scroll.png.pagespeed.ic.2Xq_5T3hvB.webp) center bottom no-repeat;
        max-height: 260px;
        position: absolute;
        top: 105%;
        left: calc(50% - 6px);
        content: ''
    }

    .slider .slide_post {
        display: none
    }

    .box_news {
        padding: 30px 0 50px
    }

    .box_news .sbig {
        font-size: 90px;
        top: inherit;
        width: 100%;
        text-align: center;
        left: inherit;
        position: relative;
        margin-bottom: 20px;
        color: #676767
    }

    .box_news .inner {
        padding: 0 15px
    }

    .box_news .tab_news {
        justify-content: center;
        margin-bottom: 30px
    }

    .box_news .tab_news li {
        padding: 5px 0 0;
        font-size: 18px
    }

    .box_news .box_news_list {
        justify-content: space-between;
        margin-bottom: 30px
    }

    .box_news .box_news_list dl {
        width: calc((100vw - 60px)/ 2);
        margin: 0;
        padding: 0
    }

    .box_news .box_news_list dl:nth-child(n+3) {
        display: none
    }

    .box_news .box_news_list dt a {
        height: calc((100vw - 60px)/ 2 * 20 / 29)
    }

    .box_news .box_news_list dd {
        padding: 15px
    }

    .box_news .box_news_list dd .date {
        top: 15px
    }

    .box_news .box_news_list dd .big {
        font-size: 16px;
        margin: 15px 0
    }

    .box_news .box_news_form {
        margin-top: 15px
    }

    .box_parallax.bg2::before,.box_parallax::before {
        display: none
    }

    .box_parallax.bg1,.box_parallax.bg2 {
        background: 0 0;
        height: auto
    }

    .box_about::before {
        display: none
    }

    .box_about .inner {
        padding: 30px 15px 0;
        flex-wrap: wrap
    }

    .box_about .box_about_txt {
        width: 100%;
        margin: 15px 0 0
    }

    .box_about .box_about_txt .big {
        font-size: 26px
    }

    .box_about .box_about_txt .btn {
        margin-bottom: 0
    }

    .box_feature::before {
        display: none
    }

    .box_feature .inner {
        padding: 30px 15px 50px;
        flex-wrap: wrap
    }

    .box_feature .ttl {
        padding: 0
    }

    .box_feature .box_feature_txt {
        width: 100%;
        margin: 15px 0 0
    }

    .box_feature .box_feature_txt .big {
        font-size: 26px
    }

    .box_feature .box_feature_txt .btn {
        margin-bottom: 0
    }

    .box_service {
        padding: 50px 0;
        background: #fff
    }

    .box_service .inner {
        padding: 0
    }

    .box_service .ttl {
        padding: 0 15px;
        margin: 0
    }

    .box_service_list {
        margin: 30px auto
    }

    .box_service_list ul {
        width: 100%
    }

    .box_service_list ul li {
        height: auto
    }

    .box_service_list .slick-slide {
        flex-direction: column-reverse
    }

    .box_service_list ul li .service_img {
        width: 100%
    }

    .box_service_list ul li .service_img span {
        display: none
    }

    .box_service_list ul li .service_txt {
        width: 100%;
        padding: 0;
        text-align: center
    }

    .box_service_list ul li .service_txt p {
        padding: 0
    }

    .box_service_list ul li .service_txt .txt {
        text-align: left;
        padding: 0 15px
    }

    .box_service_list ul li .service_txt .en {
        font-size: 36px
    }

    .box_service_list ul li .service_txt .big {
        font-size: 18px;
        padding: 0
    }

    .box_service_list ul li .service_txt .btn {
        padding: 0 15px
    }

    .box_service_list ul li .service_txt .btn a {
        margin: 0 auto
    }

    .box_service_list .slick-dots {
        display: flex;
        justify-content: center;
        margin-top: 30px
    }

    .box_service_list .slick-dots li {
        width: auto;
        margin: 0 20px
    }

    .box_service_list .slick-dots li button {
        background: #fff;
        border: 1px solid #707070;
        border-radius: 50%;
        width: 16px;
        height: 16px;
        font-size: 0
    }

    .box_service_list .slick-dots li.slick-active button {
        background: #707070
    }

    .box_service_list ul li .service_txt .list_btn {
        flex-direction: column;
        justify-content: center;
        align-items: center
    }

    .box_service_list ul li .service_txt .btn {
        width: 100%
    }

    .box_service_bnn {
        flex-direction: column;
        padding: 0 15px;
        margin-bottom: 0;
        align-items: center
    }

    .box_service_bnn dl {
        margin: 0 0 20px;
        width: 100%;
        height: 100px
    }

    .box_service_bnn dt {
        top: calc(50% - 39px);
        right: 5px;
        width: 90px
    }

    .box_service_bnn dd {
        padding: 15px;
        position: relative;
        z-index: 2
    }

    .box_service_bnn dd .en {
        font-size: 24px;
        margin-bottom: 10px
    }

    .box_service_bnn dd .en span {
        font-size: 18px
    }

    .box_service_bnn_sm {
        flex-direction: column;
        padding: 0 15px;
        align-items: center
    }

    .box_service_bnn_sm p {
        margin: 0 0 20px;
        padding: 15px;
        width: 100%
    }

    .box_service_bnn_sm p a span {
        font-size: 20px;
        margin-bottom: 5px
    }

    .box_service_bnn_sm p a span img {
        margin-bottom: 3px
    }

    .box_company {
        padding: 30px 15px 50px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center
    }

    .box_company::before {
        width: 100%
    }

    .box_company .inner {
        padding: 0
    }

    .box_company .ttl {
        padding: 0;
        text-align: center
    }

    .box_company .box_company_img {
        position: relative;
        top: inherit;
        left: inherit;
        width: 150px;
        margin: 0 auto 15px
    }

    .box_company .box_company_txt .big {
        font-size: 24px;
        text-align: center;
        margin: 15px 0
    }

    .box_company .box_company_btn {
        align-items: center;
        margin-top: 0;
        justify-content: space-around
    }

    .box_company .box_company_btn .btn {
        margin: 15px 0 0;
        width: 30%
    }

    .box_company .box_company_btn .btn a {
        max-width: 100%
    }

    .box_recruit {
        padding: 50px 0 0
    }

    .box_recruit .inner {
        padding: 0 15px
    }

    .box_recruit .ttl {
        padding: 0
    }

    .box_recruit .box_recruit_list {
        margin-top: 0;
        padding: 0 15px
    }

    .box_recruit .box_recruit_list .pager {
        font-size: 16px;
        right: inherit;
        left: 15px;
        bottom: 15px;
        width: 80px;
        height: 30px
    }

    .box_recruit .box_recruit_img .slick-list {
        height: auto
    }

    .box_recruit .box_recruit_img .slick-track {
        left: 0
    }

    .box_recruit .box_recruit_img li,.box_recruit .box_recruit_img li.slick-current {
        transform: scale(.8)
    }

    .box_recruit .box_recruit_txt {
        position: relative;
        top: inherit;
        left: inherit;
        width: 100%;
        height: auto;
        padding: 30px 15px
    }

    .box_recruit .box_recruit_txt .big {
        font-size: 24px
    }

    footer .foot_top {
        padding: 50px 0
    }

    footer .foot_top .big.en {
        font-size: 48px
    }

    footer .foot_top .txt {
        width: 100%
    }

    footer .foot_top_list {
        margin: 0;
        flex-wrap: wrap;
        justify-content: space-between
    }

    footer .foot_top_list dl {
        width: calc((100vw - 60px)/ 2);
        margin: 50px 10px 0
    }

    footer .foot_top_list dd .big {
        font-size: 18px
    }

    footer .foot_link {
        display: none
    }

    footer .foot_bot {
        padding: 30px 0 15px;
        text-align: center
    }

    footer .foot_bot .inner {
        padding: 0;
        flex-wrap: wrap
    }

    footer .foot_bot .logo_foot {
        width: 240px;
        margin: 0 auto;
        text-align: center
    }

    footer .foot_bot .info {
        font-size: 12px;
        margin: 0 auto;
        width: 100%;
        align-items: center
    }

    footer .foot_bot .copy {
        border-top: 1px solid #ededed;
        text-align: center;
        font-size: 10px;
        width: 100%;
        padding-top: 10px;
        margin-top: 10px
    }

    .under.ovn_ct .ovn_list dl {
        margin: 0 30px 30px 0;
        width: calc((100vw - 60px)/ 2)
    }

    .under.ovn_ct .ovn_list dl:nth-child(3n+3) {
        margin-right: 30px
    }

    .under.ovn_ct .ovn_list dl:nth-child(2n+2) {
        margin-right: 0
    }

    .under.ovn_ct .ovn_list dd {
        height: calc((100vw - 60px)/ 2 * 2 / 3)
    }
}

@media screen and (max-width: 560px) {
    .box_company .box_company_btn {
        justify-content:center;
        flex-direction: column
    }

    .box_company .box_company_btn .btn {
        width: 100%
    }
}

@media screen and (max-width: 480px) {
    .box_news .tab_news {
        margin-bottom:0
    }

    .box_news .box_news_list {
        flex-wrap: wrap
    }

    .box_news .box_news_list dl {
        width: 100%;
        margin-top: 30px
    }

    .box_news .box_news_list dt a {
        height: calc((100vw - 30px) * 20 / 29)
    }

    .under.ovn_ct .ovn_list dl {
        width: 100%;
        margin-right: 0
    }

    .under.ovn_ct .ovn_list dl:nth-child(3n+3) {
        margin-right: 0
    }

    .under.ovn_ct .ovn_list dd {
        height: calc((100vw - 30px) * 2 / 3)
    }

    .box_news .box_news_form dl {
        flex-wrap: wrap
    }

    .box_news .box_news_form dd {
        width: 100%;
        margin-top: 5px
    }
}

@media screen and (max-width: 420px) {
    .box_recruit .box_recruit_img li::before {
        /* background:#d1dcdf; */
        width: calc(100% + 23px);
        height: calc(100% + 23px);
        border-radius: 50%;
        position: absolute;
        top: 0;
        left: -23px;
        content: '';
        z-index: -1
    }

    .slider .slide_txt p {
        font-size: 3.8vw
    }
}

@media screen and (max-width: 380px) {
    .btn {
        padding:0;
        width: 100%;
        box-sizing: border-box
    }

    footer .foot_top_list dl {
        width: 100%
    }

    .box_service_bnn dd p {
        font-size: 20px
    }
}

@media screen and (max-width: 360px) {
    .box_service_bnn dd p {
        font-size:15px;
        margin-bottom: 0
    }

    .slider .slide_txt p {
        font-size: 12px
    }
}
