@charset "utf-8";

* {
    padding: 0px;
    margin: 0px;
    box-sizing: border-box;
    outline: none
}

.move {
    transform-origin: center top;
    transition: all 0.8s;
    opacity: 0;
    transform: translate(0, 30px) scale(1)
}

.move.moving {
    opacity: 1;
    transform: translate(0, 0) scale(1)
}

html {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    -webkit-text-size-adjust: 100%;
    font-size: 62.5%
}

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

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

fieldset,
img {
    border: 0
}

address,
button,
caption,
cite,
code,
dfn,
em,
input,
optgroup,
option,
select,
strong,
textarea,
th,
var {
    font: inherit
}

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: normal
}

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

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

sup {
    vertical-align: baseline
}

sub {
    vertical-align: baseline
}

strong {
    font-weight: bold
}

.bold {
    font-weight: bold
}

.cf:before,
.cf:after {
    content: "";
    display: table
}

.cf:after {
    clear: both
}

.cf {
    zoom: 1
}

body,
html {
    width: 100%;
    height: 100%;
    font-family: noto-sans-cjk-jp, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "Helvetica Neue", Meiryo, メイリオ, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.subtext *,
canvas,
.is_dragging *,
.js-draw-text,
.subtitles,
.subtitles span,
.to-scroll,
.menu-li .in,
.menu-li a,
.single-sub-title span,
.work-sub-title span,
.link,
.view-more a,
.work-title a,
.unselectable {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none
}

[class^="icon-"],
[class*=" icon-"] {
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.i-fb:before {
    content: "f"
}

.i-tw:before {
    content: "t"
}

.i-inst:before {
    content: "i"
}

.i {
    font-family: "i"
}

.is_waiting body {
    overflow: hidden !important
}

body,
a {
    color: #333
}

article {
    display: block
}

video,
img,
canvas {
    vertical-align: bottom
}

a {
    text-decoration: none
}

.table {
    display: table;
    width: 100%;
    height: 100%
}

input[type=text],
input[type=email] {
    width: 450px;
    height: 50px;
    border: 1px solid #999999;
    font-size: 15px;
    color: #000;
    padding: 0px 10px;
    -webkit-appearance: none;
    outline: 0;
    border-radius: 0px;
    box-sizing: border-box
}

@media only screen and (max-width: 380px) {

    input[type=text],
    input[type=email] {
        width: 100%;
        height: 42px;
        border: 1px solid #999999;
        font-size: 14px;
        color: #000;
        padding: 0px 10px;
        -webkit-appearance: none;
        outline: 0;
        border-radius: 0px;
        box-sizing: border-box
    }
}

label.select_cover {
    position: relative;
    display: inline-block
}

@media only screen and (max-width: 380px) {
    label.select_cover {
        width: 100%
    }
}

label.select_cover:before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 17px;
    right: 5px;
    display: inline-block;
    margin-right: 10px;
    border: 5px solid transparent;
    border-color: black black transparent transparent;
    width: 0;
    height: 0;
    pointer-events: none;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

@media only screen and (max-width: 380px) {
    label.select_cover:before {
        top: 12px
    }
}

textarea {
    width: 300px;
    height: 200px;
    border: 1px solid #999999;
    font-size: 15px;
    color: #000;
    padding: 15px 10px
}

@media only screen and (max-width: 380px) {
    textarea {
        width: 100%;
        height: 200px;
        border: 1px solid #999999;
        font-size: 14px;
        color: #000;
        padding: 10px 10px;
        box-sizing: border-box;
        border-radius: 1px;
        -webkit-appearance: none;
        line-height: 1.4
    }
}

select {
    position: relative;
    z-index: 1;
    border: 1px solid #999999;
    box-sizing: border-box;
    color: #000;
    width: 450px;
    height: 50px;
    padding: 0 10px;
    font-size: 15px;
    border-radius: 1px;
    background-color: white;
    cursor: pointer;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    outline: none
}

@media only screen and (max-width: 380px) {
    select {
        width: 100%;
        height: 42px;
        padding: 0 10px;
        font-size: 14px
    }
}

select::-ms-expand {
    display: none
}

img {
    border: none
}

.center {
    text-align: center !important
}

.left {
    text-align: left !important
}

.right {
    text-align: right !important
}

li {
    list-style-type: none
}

:root {
    --max-size: 1.66rem;
    --base-size: 1.4rem;
    --slide-tb: 120vw;
    --slide-mb: 150vw;
    --land-mb: 80vw
}

.font {
    font-size: calc(var(--base-size) * 1.9)
}

.red {
    color: #ff0000
}

.mincho {
    font-family: source-han-serif-japanese, serif;
    font-weight: 400;
    font-style: normal
}

#preloader {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9991;
    width: 100%;
    height: 100%;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center
}

@media only screen and (max-width: 768px) {
    #preloader #progressInner {
        width: 20rem
    }
}

#preloader #progressInner #progressImgWrap {
    position: relative;
    -webkit-box-flex: 0;
    flex: 0 1 800px;
    overflow: hidden
}

#preloader #progressInner #progressImgWrap span {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0%;
    width: 100%;
    height: 100%;
    background: #fff;
    display: block;
    transform: translate(100%, 0)
}

#preloader #progressInner #progressImgWrap #progressimgBox {
    z-index: 2;
    overflow: hidden;
    transition: all 0.5s ease-out 0.5s;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%
}

#preloader #progressInner #progressImgWrap #progressimgBox img {
    width: 34rem;
    height: auto
}

@media only screen and (max-width: 768px) {
    #preloader #progressInner #progressImgWrap #progressimgBox img {
        width: 100%
    }
}

#progressBar {
    width: 0;
    height: 1px;
    background-color: #0B72DD
}

#progressTxt {
    text-align: center;
    margin-top: 5px;
    color: #0B72DD
}

#wrap {
    position: relative;
    z-index: 91
}

.inner {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto
}

.inner1100 {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto
}

.inner1200 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto
}

.inner1400 {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto
}

.innerDX1200 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 6.25% 0px;
    box-sizing: content-box
}

.innerDX1400 {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 6.25% 0px;
    box-sizing: content-box
}

.innerDX1600 {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 6.25% 6rem;
    box-sizing: content-box
}

.innerDX {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 6.25% 0px;
    box-sizing: content-box
}

@media only screen and (max-width: 768px) {

    .inner,
    .inner1100,
    .inner1200,
    .inner1400 {
        width: 100%;
        margin: 0 auto;
        padding-right: 20px !important;
        padding-left: 20px !important
    }

    .spOnly {
        width: 100%;
        margin: 0 auto;
        padding-right: 20px !important;
        padding-left: 20px !important
    }
}

.default {
    padding: 140px 0
}

@media only screen and (max-width: 768px) {
    .default {
        padding: 60px 0
    }
}

.fit {
    width: 100%;
    height: auto
}

.btnA a {
    color: #333;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.1rem;
    padding: 1.2rem 4rem;
    display: block;
    text-decoration: none;
    position: relative;
    transition: all 0.2s ease-in-out 0s;
    width: auto;
    display: inline-block;
    border: 1px solid #333
}

@media only screen and (max-width: 768px) {
    .btnA a {
        font-size: 1.5rem;
        display: inline-block;
        margin: 0 auto;
        min-width: 260px;
        text-align: center
    }
}

.btnA a:before {
    content: '';
    width: 0%;
    height: 100%;
    background: #ddd;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 500ms cubic-bezier(0.645, 0.045, 0.355, 1)
}

.btnA a span {
    display: inline-block;
    position: relative;
    z-index: 1
}

.btnA a:hover {
    color: #000
}

.btnA a:hover:before {
    width: 100%
}

.btnA._gray a:before {
    content: '';
    width: 0%;
    height: 100%;
    background: #ddd;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 500ms cubic-bezier(0.645, 0.045, 0.355, 1)
}

.btnA._gray a:hover {
    color: #000
}

.btnA._gray a:hover:before {
    width: 100%
}

.btnA._white a {
    color: #fff;
    border: 1px solid #fff
}

.btnA._white a span:before {
    content: '';
    width: 0%;
    height: 100%;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 500ms cubic-bezier(0.645, 0.045, 0.355, 1)
}

.btnA._white a:hover {
    color: #0B72DD
}

.btnA._white a:hover:before {
    width: 100%
}

.btnA._whiteBG a {
    color: #0B72DD;
    border: 1px solid #fff;
    background: #fff
}

.btnA._whiteBG a:before {
    content: '';
    width: 0%;
    height: 100%;
    background: #0B72DD;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 500ms cubic-bezier(0.645, 0.045, 0.355, 1)
}

.btnA._whiteBG a:hover {
    color: #fff
}

.btnA._whiteBG a:hover:before {
    width: 100%
}

.mainTitle .sub {
    color: #0B72DD;
    font-size: 7rem;
    font-family: oswald, sans-serif;
    line-height: 7rem;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.2rem;
    margin-bottom: 2rem
}

@media only screen and (max-width: 768px) {
    .mainTitle .sub {
        font-size: 4rem;
        line-height: 5rem
    }
}

.mainTitle h2 {
    font-size: 2rem;
    line-height: 2rem;
    font-weight: 700
}

._white {
    position: relative;
    background: #fff
}

.footerContentsWrap {
    position: relative;
    background: #fff
}

/*.footerContentsWrap:after {
    content: '';
    background: #000;
    opacity: 0.3;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}*/

.footerContentsWrap .background {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    overflow: hidden;
    transition: 0.6s
}

.footerContentsWrap .background:before {
    content: '';
    display: block;
    padding-top: 35.5%
}

@media only screen and (max-width: 768px) {
    .footerContentsWrap .background:before {
        padding-top: 85%
    }
}

.footerContentsWrap .background span {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    transition: all .3s 0s ease;
    background-image: url(../image/footer_img.jpg);
    background-size: cover
}

/*.footerContentsWrap .bannerOnFoot {
    position: absolute;
    top: 0;
    left: -16vh;
    z-index: 2;
    width: 50vw;
    height: 100%;
    -webkit-transition: all 1.3s cubic-bezier(0.04, 0.65, 0.08, 1) 2.1s;
    -o-transition: all 1.3s cubic-bezier(0.04, 0.65, 0.08, 1) 2.1s;
    transition: all 1.3s cubic-bezier(0.04, 0.65, 0.08, 1) 2.1s;
    -webkit-transform: skewX(-17deg);
    -ms-transform: skewX(-17deg);
    transform: skewX(-17deg);
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    z-index: 3;
    background-color: #0B72DD;
    mix-blend-mode: multiply
}

@media only screen and (max-width: 768px) {
    .footerContentsWrap .bannerOnFoot {
        top: 0
    }
}*/

.footerContentsWrap .inner_contentFoot {
    position: absolute;
    top: 50%;
    left: 20rem;
    transform: translate(0%, -50%);
    z-index: 4;
    padding: 0px;
    color: #fff
}

@media only screen and (max-width: 768px) {
    .footerContentsWrap .inner_contentFoot {
        left: 0rem;
        padding: 0 3rem
    }
}

.footerContentsWrap .inner_contentFoot .centerI .mainTxBox .mainText01 {
    margin-bottom: 4rem
}

@media only screen and (max-width: 768px) {
    .footerContentsWrap .inner_contentFoot .centerI .mainTxBox .mainText01 {
        margin-bottom: 2rem
    }
}

.footerContentsWrap .inner_contentFoot .centerI .mainTxBox .mainText01 h2 {
    color: #fff;
    font-size: 5rem;
    font-family: oswald, sans-serif;
    line-height: 5rem;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.2rem;
    margin-bottom: 2rem
}

@media only screen and (max-width: 768px) {
    .footerContentsWrap .inner_contentFoot .centerI .mainTxBox .mainText01 h2 {
        font-size: 4rem;
        line-height: 3rem
    }
}

.footerContentsWrap .inner_contentFoot .centerI .mainTxBox .mainText01 .sub {
    font-size: 1.6rem;
    color: #fff
}

.footerContentsWrap .inner_contentFoot .centerI .mainTxBox .mainText02 {
    font-size: 1.6rem;
    line-height: 3.2rem;
    font-weight: 500;
    letter-spacing: 0.04rem;
    font-feature-settings: "palt"1;
    margin-bottom: 4rem
}

@media only screen and (max-width: 768px) {
    .footerContentsWrap .inner_contentFoot .centerI .mainTxBox .mainText02 {
        margin-bottom: 3rem
    }
}

.sec {
    padding-top: 20rem;
}

@media only screen and (max-width: 768px) {
    .sec {
        padding-top: 14rem
    }
}

.secMainTitleWrap {
    position: relative
}

@media only screen and (max-width: 768px) {
    .secMainTitleWrap .innerDX1200 {
        padding: 0 0 0 6.25%
    }
}

.secMainTitleWrap .secMainTextBox {
    min-width: 50rem;
    display: inline-block;
    position: relative;
    z-index: 3;
    background: #fff;
    padding: 0 5rem 8rem 3rem
}

@media only screen and (max-width: 768px) {
    .secMainTitleWrap .secMainTextBox {
        min-width: auto;
        width: 90%;
        padding: 0 3rem 4rem 0rem
    }
}

.secMainTitleWrap .secMainTextBox .kakko {
    position: relative;
    display: inline-block;
    margin-bottom: 3rem;
    padding: 0.5rem 3rem
}

.secMainTitleWrap .secMainTextBox .kakko h1 {
    font-size: 1.5rem;
    letter-spacing: 0.2rem
}

.secMainTitleWrap .secMainTextBox .kakko .kkk::before,
.secMainTitleWrap .secMainTextBox .kakko .kkk::after {
    content: "";
    position: absolute;
    background: #000
}

.secMainTitleWrap .secMainTextBox .kakko .kkk.k_01 {
    position: absolute;
    width: 8px;
    height: 14px;
    top: 0;
    left: 0
}

.secMainTitleWrap .secMainTextBox .kakko .kkk.k_01::before {
    width: 100%;
    height: 1px;
    top: 0;
    left: -2px
}

.secMainTitleWrap .secMainTextBox .kakko .kkk.k_01::after {
    width: 1px;
    height: 100%;
    top: -2px;
    left: 0
}

.secMainTitleWrap .secMainTextBox .kakko .kkk.k_02 {
    position: absolute;
    width: 8px;
    height: 14px;
    bottom: 0;
    right: 0
}

.secMainTitleWrap .secMainTextBox .kakko .kkk.k_02::before {
    width: 100%;
    height: 1px;
    bottom: 0;
    right: -2px
}

.secMainTitleWrap .secMainTextBox .kakko .kkk.k_02::after {
    width: 1px;
    height: 100%;
    bottom: -2px;
    right: 0
}

.secMainTitleWrap .secMainTextBox .sub {
    font-size: 7rem;
    letter-spacing: 0.1rem;
    line-height: 7rem;
    font-family: baskerville-display-pt, serif;
    font-weight: 400;
    font-style: normal
}

@media only screen and (max-width: 768px) {
    .secMainTitleWrap .secMainTextBox .sub {
        font-size: 4.2rem;
        letter-spacing: 0.1rem;
        line-height: 4.2rem
    }
}

.secMainTitleWrap .secMainTextBox p {
    font-size: 1.5rem;
    letter-spacing: 0.04rem;
    line-height: 3rem
}

.secMainTitleWrap .secMainImgBox {
    position: relative;
    z-index: 2;
    margin-top: -6rem;
    padding-bottom: 10rem
}

@media only screen and (max-width: 768px) {
    .secMainTitleWrap .secMainImgBox {
        margin-top: -2rem;
        padding-bottom: 4rem
    }
}

.secMainTitleWrap .bgBluelight {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 25rem;
    background: #f4f9fb
}

@media only screen and (max-width: 768px) {
    .secMainTitleWrap .bgBluelight {
        height: 15rem
    }
}

.mainTop {
    color: #fff
}

.mainTop h3 {
    font-size: 3rem;
    line-height: 3.4rem;
    font-weight: 700;
    margin-bottom: 1%;
}

@media only screen and (max-width: 768px) {
    .mainTop h3 {
        font-size: 2rem;
        line-height: 3.0rem
    }
}

.mainTop span {
    font-weight: bold;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, transparent), color-stop(0%, #0B72DD));
    background: linear-gradient(transparent 0%, #0B72DD 0%);
    padding: 0.8rem 1.6rem;
    display: inline-block
}

.mainTop span:not(:first-child) {
    margin-top: 1.5rem
}

.textLink {
    text-decoration: underline
}

.textLink:hover {
    text-decoration: none
}

.sec_news ._newsText ._in {
    text-align: center
}

.sec_news ._newsText .leftTitle {
    display: none
}

.sec_news ._newsText .rightMain {
    width: 100%
}

.news {
    width: 100%;
    position: relative
}

.news .companyBox {
    margin-top: 8rem
}

@media only screen and (max-width: 768px) {
    .news .companyBox {
        margin-top: 5rem
    }
}

.news .newsOuter {
    position: relative;
    margin: 0 auto 0px
}

.newsList {
    margin-top: 0px;
    margin-bottom: 12rem
}

@media only screen and (max-width: 768px) {
    .newsList {
        margin-top: 0px;
        margin-bottom: 0px
    }
}

.news .newsOuter .title {
    margin-bottom: 30px
}

@media only screen and (max-width: 768px) {
    .news .newsOuter .title {
        margin-bottom: 15px
    }
}

.news .newsOuter .title .eng02 {
    font-size: 3.4rem;
    font-weight: 600;
    letter-spacing: 0.24em
}

@media only screen and (max-width: 768px) {
    .news .newsOuter .title .eng02 {
        font-size: 2.4rem;
        letter-spacing: 0.14em
    }
}

.news .newsOuter ul {
    text-align: left;
    margin-bottom: 6rem
}

@media only screen and (max-width: 768px) {
    .news .newsOuter ul {
        margin-bottom: 6rem
    }
}

.news .newsOuter ul li:first-child {
    border-top: 1px dashed #b4b4b4
}

.news .newsOuter ul li {
    border-bottom: 1px dashed #b4b4b4;
    padding: 3rem 3rem 3rem
}

@media only screen and (max-width: 768px) {
    .news .newsOuter ul li {
        padding: 1.5rem 0%
    }
}

.news .newsOuter ul li dl dt {
    color: #333;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 3rem;
    letter-spacing: 0.06em;
    vertical-align: top;
    display: inline-block;
    padding-right: 2.5rem
}

@media only screen and (max-width: 768px) {
    .news .newsOuter ul li dl dt {
        margin-bottom: 0.0rem
    }
}

.news .newsOuter ul li dl dd {
    width: 780px;
    vertical-align: middle;
    font-size: 1.5rem;
    line-height: 3rem;
    letter-spacing: 0.06em;
    display: inline-block
}

@media only screen and (max-width: 768px) {
    .news .newsOuter ul li dl dd {
        width: 100%;
        font-size: 1.6rem
    }
}

.news .newsOuter ul li dl dd a {
    color: #333;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-decoration: none
}

@media only screen and (max-width: 768px) {
    .news .newsOuter ul li dl dd a {
        font-size: 1.5rem
    }
}

.news .newsOuter ul li dl dd a:hover {
    text-decoration: underline
}

.nDetail {
    padding-top: 0px;
    padding-bottom: 12rem
}

@media only screen and (max-width: 768px) {
    .nDetail {
        padding-top: 0px;
        padding-bottom: 6rem
    }
}

.nDetail .detailBox a {
    text-decoration: underline;
    color: #0B72DD
}

.nDetail .detailBox a:hover {
    text-decoration: none
}

.nDetail .newsInnerTop {
    margin: 0px auto 0px !important
}

.newsDetail h2.mainT {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 4rem;
    padding-bottom: 1.5rem;
    text-align: left;
    border-bottom: 2px solid #0B72DD
}

@media only screen and (max-width: 768px) {
    .newsDetail h2.mainT {
        font-size: 2.0rem;
        margin-bottom: 3rem;
        padding-bottom: 1rem
    }
}

.companyBox .inBtn {
    text-align: center
}

.companyBox .inBtn a {
    background: #fff;
    color: #0B72DD;
    border: 1px solid #0B72DD;
    font-size: 1.4rem;
    font-family: arial;
    font-weight: bold;
    padding: 1.5rem 5rem;
    border-radius: 4rem;
    display: inline-block;
    transition: all 0.4s
}

.companyBox .inBtn a:hover {
    opacity: 0.7
}

.newsDetail .detailBox {
    text-align: left;
    min-height: 150px
}

.newsDetail .detailBox ul {
    margin-left: 2rem
}

.newsDetail .detailBox ul li {
    list-style-type: disc;
    margin-top: 1rem
}

.newsDetail .detailBox ol {
    margin-left: 2rem
}

.newsDetail .detailBox ol li {
    list-style-type: decimal;
    margin-top: 1rem
}

.newsDetail .detailBox h2 {
    border-left: 4px solid #0B72DD;
    margin-top: 4rem;
    margin-bottom: 2rem;
    padding-left: 12px;
    font-size: 2rem;
    font-weight: bold
}

@media only screen and (max-width: 768px) {
    .newsDetail .detailBox h2 {
        font-size: 2.2rem;
        margin-top: 3rem
    }
}

.newsDetail .detailBox h3 {
    margin-top: 4rem;
    margin-bottom: 2rem;
    font-size: 2rem;
    font-weight: bold;
    color: #0B72DD
}

@media only screen and (max-width: 768px) {
    .newsDetail .detailBox h3 {
        font-size: 2.2rem
    }
}

.newsDetail .btnA {
    margin-top: 6rem;
    text-align: center
}

.newsDetail .btnA a {
    margin: 0 auto
}

.newsDetail h3#mainTitle {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    letter-spacing: 0.04em;
    text-align: left;
    line-height: 1.4;
    border-bottom: 2px solid #0B72DD;
    background: none;
    color: #333;
    height: auto;
    text-align: left;
    display: block;
    margin-top: 5rem;
    margin-bottom: 2rem;
    padding-bottom: 1rem
}

.newsDetail h3#mainTitle:before {
    display: none
}

@media only screen and (max-width: 768px) {
    .newsDetail h3#mainTitle {
        font-size: 1.8rem;
        margin-top: 0px;
        margin-bottom: 1.5rem
    }
}

.newsDetail .days {
    text-align: left;
    margin-bottom: 1rem;
    color: #888;
    font-size: 1.5rem
}

.newsDetail ul {
    margin-left: 2rem
}

.newsDetail ul li {
    text-align: left;
    list-style-type: disc
}

.newsDetail .detailBox {
    margin-bottom: 5rem
}

.newsDetail .detailBox h3 {
    margin: 3rem 0 1rem 0
}

.newsDetail .detailBox dt,
.newsDetail .detailBox dd,
.newsDetail .detailBox p,
.newsDetail .detailBox li {
    color: #333;
    font-size: 1.5rem;
    line-height: 3.2rem;
    letter-spacing: 0.00rem
}

.btn_newsList a {
    margin-top: 1rem;
    display: inline-block;
    background-color: #0B72DD;
    vertical-align: top;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    padding: 1.5rem 10rem;
    -webkit-transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955)
}

@media only screen and (max-width: 768px) {
    .btn_newsList a {
        padding-right: 0px;
        padding-left: 0px;
        width: 100%;
        font-size: 1.5rem
    }
}

.btn_newsList a:hover {
    opacity: 0.8
}

.newsDetail .btn a {
    width: auto;
    display: inline-block;
    padding-right: 100px;
    padding-left: 100px
}

@media only screen and (max-width: 768px) {
    .newsDetail .btn a {
        padding-right: 0px;
        padding-left: 0px
    }
}

.contactTopBox {
    margin-top: 12rem
}

@media only screen and (max-width: 768px) {
    .contactTopBox {
        margin-top: 6rem
    }
}

.contactTopBox .inin {
    background: #f6f6f6;
    padding: 6rem 5rem
}

@media only screen and (max-width: 768px) {
    .contactTopBox .inin {
        padding: 5rem 4rem
    }
}

.contactTopBox .inin .flexWrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center
}

@media only screen and (max-width: 768px) {
    .contactTopBox .inin .flexWrap {
        display: block
    }
}

.contactTopBox .inin .flexWrap .leftB {
    font-size: 2rem;
    line-height: 2rem;
    font-weight: 700;
    margin-right: 5rem
}

@media only screen and (max-width: 768px) {
    .contactTopBox .inin .flexWrap .leftB {
        margin-right: 0rem;
        margin-bottom: 3rem
    }
}

.contactTopBox .inin .flexWrap .rightB {
    margin-left: 5rem
}

@media only screen and (max-width: 768px) {
    .contactTopBox .inin .flexWrap .rightB {
        margin-left: 0rem
    }
}

.contactTopBox .inin .flexWrap .rightB a {
    font-size: 4rem;
    font-family: oswald, sans-serif;
    line-height: 4rem;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.2rem;
    display: block;
    margin-bottom: 1rem
}

.contactTopBox .inin .flexWrap .rightB span {
    display: block;
    font-size: 1.5rem;
    line-height: 1.5rem;
    font-weight: 500
}

.contactBody {
    background: url(https://noguchi-kensetu.co.jp/wp-content/themes/original/img/paper_bg.jpg) no-repeat center/cover;
    padding: 10rem 0 10rem
}

@media only screen and (max-width: 768px) {
    .contactBody {
        padding: 4rem 0 8rem
    }
}

.contactBody .contactInfo {
    background: #fff;
    padding: 0rem 3rem 10px
}

@media only screen and (max-width: 768px) {
    .contactBody .contactInfo {
        padding: 0rem 0rem 10px
    }
}

.contactBody .contactInfo .contactTitleBody {
    margin-bottom: 6rem
}

@media only screen and (max-width: 768px) {
    .contactBody .contactInfo .contactTitleBody {
        margin-bottom: 3rem
    }
}

.contactBody .contactInfo .contactTitleBody .ttlBox {
    width: 100%;
    margin-bottom: 3rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center
}

.contactBody .contactInfo .contactTitleBody .ttlBox h2 {
    position: relative;
    height: auto;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
    font-size: 3rem;
    line-height: 1.7;
    width: 40rem;
    text-align: center;
    padding: 3rem 1.4rem 3rem;
    font-family: source-han-serif-japanese, serif
}

@media only screen and (max-width: 768px) {
    .contactBody .contactInfo .contactTitleBody .ttlBox h2 {
        font-size: 2.2rem
    }
}

.contactBody .contactInfo .contactTitleBody .ttlBox h2:before,
.contactBody .contactInfo .contactTitleBody .ttlBox h2:after {
    content: "";
    width: 29px;
    height: 52px;
    background-size: cover;
    position: absolute;
    background-image: url(https://noguchi-kensetu.co.jp/wp-content/themes/original/img/kakko.png)
}

.contactBody .contactInfo .contactTitleBody .ttlBox h2:before {
    bottom: 10px;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 0;
    right: auto;
    left: 0
}

.contactBody .contactInfo .contactTitleBody .ttlBox h2:after {
    top: auto;
    bottom: 0;
    right: 0;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.privacyIn {
    padding: 8rem 0 0 0;
    text-align: center
}

@media only screen and (max-width: 768px) {
    .privacyIn {
        padding: 4rem 0 0 0
    }
}

.privacyIn p {
    margin-bottom: 4rem
}

.thanks {
    margin-bottom: 12rem
}

@media only screen and (max-width: 768px) {
    .thanks {
        margin-bottom: 10rem
    }
}

@media only screen and (max-width: 768px) {
    .sec_contact .contactInfo {
        width: 100%
    }
}

.sec_contact .contactInfo .contactSpace {
    padding-right: 0;
    padding-left: 0
}

.sec_contact.input .contactForm,
.sec_contact .check .contactForm {
    width: 100%;
    max-width: 1000px;
    display: block;
    margin: 0 auto 0px;
    margin-bottom: 0rem
}

@media only screen and (max-width: 768px) {

    .sec_contact.input .contactForm,
    .sec_contact .check .contactForm {
        width: 100%;
        margin-bottom: 0rem
    }
}

.sec_contact.input .contactForm .formIn,
.sec_contact .check .contactForm .formIn {
    margin-bottom: 0rem
}

.sec_contact .contactForm dl::after {
    content: '';
    display: table;
    clear: both
}

.sec_contact .contactForm dl {
    margin-bottom: 3rem;
    padding-bottom: 3rem;
    background: url(https://noguchi-kensetu.co.jp/wp-content/themes/original/img/line3.gif) repeat-x bottom left;
    background-size: 8px
}

@media only screen and (max-width: 768px) {
    .sec_contact .contactForm dl {
        margin-bottom: 1.6rem;
        padding-bottom: 1.5rem
    }
}

.sec_contact .contactForm dl:last-child {
    margin-bottom: 0;
    border-bottom: none
}

.sec_contact.input .contactForm dt {
    float: left;
    font-weight: bold;
    position: relative;
    padding-top: .1rem;
    text-align: left
}

@media only screen and (max-width: 768px) {
    .sec_contact.input .contactForm dt {
        float: none;
        width: 100%;
        font-weight: bold;
        position: relative;
        padding-top: 1.0rem;
        margin-bottom: 2.0rem
    }
}

.sec_contact.input .contactForm dt::after {
    content: '';
    display: table;
    clear: both
}

.sec_contact.input .contactForm dd {
    margin: 0 0 0px 17rem;
    position: relative;
    text-align: left
}

.sec_contact.input .contactForm dd span.small {
    font-size: 1rem
}

@media only screen and (max-width: 768px) {
    .sec_contact.input .contactForm dd span.small {
        line-height: 1.5;
        display: inline-block
    }

    .sec_contact.input .contactForm dd span.small._mailSmall {
        margin-top: 1rem
    }
}

@media only screen and (max-width: 768px) {
    .sec_contact.input .contactForm dd {
        position: relative;
        text-align: left;
        margin: 0 0 0px 0px
    }
}

.sec_contact.input .contactForm dd.checkBody {
    font-size: 1.2rem
}

.sec_contact.input .contactForm dd.checkBody .wrap-checkbox {
    flex-basis: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}

.sec_contact.input .contactForm dd.checkBody .wrap-checkbox .wpcf7-list-item {
    width: 33.3333666666666%;
    margin-bottom: 1rem
}

.sec_contact.input .contactForm dd.checkBody .wrap-checkbox .wpcf7-list-item:last-child {
    margin-bottom: 0
}

@media only screen and (max-width: 768px) {
    .sec_contact.input .contactForm dd.checkBody .wrap-checkbox .wpcf7-list-item {
        width: 100%;
        margin-bottom: 0.5rem
    }

    .sec_contact.input .contactForm dd.checkBody .wrap-checkbox .wpcf7-list-item:last-child {
        margin-bottom: 0
    }
}

.sec_contact.input .contactForm dd .error {
    font-size: 14px;
    color: #F00
}

.sec_contact.input .contactForm .checkSpecial dt {
    padding-top: .0rem
}

.sec_contact.input .contactForm .checkSpecial dd br {
    display: none
}

.sec_contact.input .contactForm dd.select_Wrap label {
    width: 100%
}

.sec_contact.input .contactForm dd.select_Wrap label br {
    display: none
}

.sec_contact.input .contactForm dd input[type=text],
.sec_contact.input .contactForm dd input[type=email] {
    width: 100%;
    height: 50px;
    border: 1px solid #999999;
    font-size: 1.4rem;
    color: #000;
    padding: 0px 10px;
    -webkit-appearance: none;
    outline: 0;
    border-radius: 0px;
    box-sizing: border-box
}

@media only screen and (max-width: 768px) {

    .sec_contact.input .contactForm dd input[type=text],
    .sec_contact.input .contactForm dd input[type=email] {
        width: 100%;
        height: 42px;
        border: 1px solid #999999;
        font-size: 1.4rem;
        color: #000;
        padding: 0px 10px;
        -webkit-appearance: none;
        outline: 0;
        border-radius: 0px;
        box-sizing: border-box
    }
}

.sec_contact.input .contactForm dd input#zip[type=text] {
    width: 25rem
}

@media only screen and (max-width: 1400px) {
    .sec_contact.input .contactForm dd input#zip[type=text] {
        width: 30rem
    }
}

@media only screen and (max-width: 768px) {
    .sec_contact.input .contactForm dd input#zip[type=text] {
        width: 15rem;
        margin-bottom: 2rem
    }
}

.sec_contact.input .contactForm dd select#address01 {
    width: 25rem;
    font-size: 13px
}

@media only screen and (max-width: 1400px) {
    .sec_contact.input .contactForm dd select#address01 {
        width: 30rem
    }
}

@media only screen and (max-width: 768px) {
    .sec_contact.input .contactForm dd select#address01 {
        width: 100%
    }
}

.sec_contact.input .contactForm dd .flexAddress {
    display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    margin-bottom: 2rem
}

@media only screen and (max-width: 768px) {
    .sec_contact.input .contactForm dd .flexAddress {
        display: block
    }
}

.sec_contact.input .contactForm dd .flexAddress br {
    display: none
}

.sec_contact.input .contactForm dd .flexAddress .select_cover {
    margin-left: auto;
    display: inline-block
}

@media only screen and (max-width: 768px) {
    .sec_contact.input .contactForm dd .flexAddress .select_cover {
        display: block
    }
}

.sec_contact.input .contactForm dd .flexAddress .address01 {
    margin-left: auto;
    display: inline-block
}

@media only screen and (max-width: 768px) {
    .sec_contact.input .contactForm dd .flexAddress .address01 {
        display: block
    }
}

.sec_contact.input .contactForm dd input:focus,
.sec_contact.input .contactForm dd textarea:focus {
    outline: 0;
    box-shadow: 0px 0px 4px 1px #3da4de;
    -moz-box-shadow: 0px 0px 4px 1px #3da4de;
    -webkit-box-shadow: 0px 0px 4px 1px #3da4de
}

.sec_contact.input .contactForm dd textarea {
    width: 100%;
    border: 1px solid #999999;
    font-size: 1.5rem;
    color: #000;
    padding: 15px 10px
}

@media only screen and (max-width: 768px) {
    .sec_contact.input .contactForm dd textarea {
        width: 100% !important;
        min-height: 200px !important;
        border: 1px solid #999999;
        font-size: 1.4rem;
        color: #000;
        padding: 10px 10px;
        box-sizing: border-box;
        border-radius: 1px;
        -webkit-appearance: none;
        line-height: 1.4
    }
}

.sec_contact input[type=radio] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    display: none
}

.sec_contact .doui {
    text-align: center;
    margin: .2rem 0 .3rem
}

@media only screen and (max-width: 768px) {
    .sec_contact .doui {
        margin: 1.0rem 2.0rem
    }
}

.sec_contact .doui label input[type=checkbox] {
    display: none
}

.sec_contact .doui label span {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 30px;
    position: relative;
    width: auto
}

.sec_contact .doui label span::before {
    background: #fff;
    border: 1px solid #999999;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px
}

.sec_contact .doui label span::after {
    border-right: 3px solid #ff0000;
    border-bottom: 3px solid #ff0000;
    content: '';
    display: block;
    height: 9px;
    left: 10px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 5px
}

.sec_contact .doui label input[type=checkbox]:checked+span::after {
    opacity: 1
}

.sec_contact .mwform-radio-field label span {
    box-sizing: border-box;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    position: relative;
    display: inline-block;
    padding: 4px 12px 4px 24px !important;
    border-radius: 8px;
    vertical-align: middle;
    cursor: pointer;
    width: 94%;
    line-height: 1.4;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-align: left
}

.sec_contact .mwform-radio-field label:hover:after {
    border-color: #0c2b58
}

.sec_contact .mwform-radio-field label span:after {
    -webkit-transition: border-color 0.2s linear;
    transition: border-color 0.2s linear;
    position: absolute;
    top: 50%;
    left: 0px;
    display: block;
    margin-top: -10px;
    width: 16px;
    height: 16px;
    border: 1px solid #0c2b58;
    border-radius: 50%;
    content: ''
}

.sec_contact .mwform-radio-field label span:before {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    position: absolute;
    top: 50%;
    left: 5px;
    display: block;
    margin-top: -5px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #0c2b58;
    content: '';
    opacity: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.sec_contact input[type=checkbox]:checked+.checkbox:before {
    opacity: 1
}

.sec_contact input[type=radio]:checked+.mwform-radio-field-text:before,
.sec_contact input[type=radio]:checked+.radiobox_sp:before {
    opacity: 1
}

.sec_contact label.select_cover {
    position: relative;
    display: inline-block
}

@media only screen and (max-width: 768px) {
    .sec_contact label.select_cover {
        width: 100%
    }
}

.sec_contact .contactForm select {
    position: relative;
    z-index: 1;
    width: 40rem;
    border: 1px solid #999999;
    box-sizing: border-box;
    color: #808080;
    border-radius: 1px;
    background-color: white;
    cursor: pointer;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    outline: none
}

@media only screen and (max-width: 768px) {
    .sec_contact .contactForm select {
        width: 100%;
        height: 42px;
        padding: 0 10px;
        font-size: 14px
    }
}

.sec_contact select::-ms-expand {
    display: none
}

.sec_contact label.select_cover:before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 17px;
    right: 5px;
    display: inline-block;
    margin-right: 10px;
    border: 5px solid transparent;
    border-color: #808080 #808080 transparent transparent;
    width: 0;
    height: 0;
    pointer-events: none;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

@media only screen and (max-width: 768px) {
    .sec_contact label.select_cover:before {
        top: 12px
    }
}

.sec_contact input[type="submit"],
.sec_contact .submit_area input[type="button"] {
    background-color: #000;
    border-width: 0;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    text-align: center;
    padding: 15px 80px;
    position: relative;
    transition: all .2s ease-out
}

@media only screen and (max-width: 768px) {

    .sec_contact input[type="submit"],
    .sec_contact .submit_area input[type="button"] {
        min-width: auto;
        padding: 15px 30px
    }
}

.sec_contact input[type="submit"]:hover {
    opacity: 0.7
}

/*.sec_contact input {
    -webkit-appearance: none
}*/

.sec_contact input[type="button"] {
    -webkit-appearance: none
}

.sec_contact .wpcf7-not-valid-tip {
    font-size: 1rem;
    color: #ff0000
}

@media only screen and (max-width: 768px) {
    .sec_contact .wpcf7-not-valid-tip {
        font-size: 1.0rem
    }
}

.screen-reader-response {
    display: none
}

.wpcf7-response-output {
    display: none
}

.inv-recaptcha-holder {
    margin-bottom: 0
}

.inv-recaptcha-holder .grecaptcha-badge {
    margin: 20px auto
}

.checkBody label,
.searchandfilter label {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    margin-bottom: .1rem;
    padding: 0px 30px;
    position: relative;
    width: auto
}

@media only screen and (max-width: 768px) {

    .checkBody label,
    .searchandfilter label {
        margin-bottom: .6rem
    }
}

.checkBody label input[type=checkbox],
.searchandfilter label input[type=checkbox] {
    display: none
}

.checkBody label::before,
.searchandfilter label::before {
    background: #fff;
    border: 1px solid #999999;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px
}

.checkBody label::after,
.searchandfilter label::after {
    border-right: 3px solid #009c84;
    border-bottom: 3px solid #009c84;
    content: '';
    display: block;
    height: 9px;
    left: 10px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 5px
}

.checkBody label input[type=checkbox]:checked+span::after,
.searchandfilter label input[type=checkbox]:checked+span::after {
    opacity: 1
}

.checkBody label.selected:after,
.searchandfilter label.selected:after {
    opacity: 1
}

.checkBody.searchandfilter label,
.searchandfilter.searchandfilter label {
    padding: 0px 20px 0 30px
}

.privacyContact {
    margin-top: 6rem
}

@media only screen and (max-width: 768px) {
    .privacyContact {
        margin-top: 4rem
    }
}

.privacyContact h6 {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 20px
}

@media only screen and (max-width: 768px) {
    .privacyContact h6 {
        font-size: 16px;
        margin-bottom: 15px
    }
}

.privacyContact .scrollK {
    overflow: auto;
    width: 100%;
    margin: 0 auto;
    text-align: left;
    height: 250px;
    font-size: 1.3rem;
    font-weight: 500;
    margin-bottom: 4rem;
    padding: 2.4rem;
    background-color: #ffffff;
    border: 1px #c0c0c0 solid;
    color: #000000
}

@media only screen and (max-width: 768px) {
    .privacyContact .scrollK {
        width: 100%;
        padding: 20px 20px
    }
}

.privacyWrapper {
    margin-bottom: 10rem
}

@media only screen and (max-width: 768px) {
    .privacyWrapper {
        margin-bottom: 8rem
    }
}

.recruitTopWrap {
    padding: 12rem 0 0 0
}

@media only screen and (max-width: 768px) {
    .recruitTopWrap {
        padding: 6rem 0 0 0
    }
}

.recruitTopWrap ._01 {
    margin-bottom: 10rem
}

@media only screen and (max-width: 768px) {
    .recruitTopWrap ._01 {
        margin-bottom: 4rem
    }
}

.recruitTopWrap ._01 .mainTop {
    margin-top: 10rem;
    margin-bottom: 4rem
}

@media only screen and (max-width: 768px) {
    .recruitTopWrap ._01 .mainTop {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

.recruitTopWrap ._02 {
    margin-bottom: 8rem
}

.recruitTopWrap ._02 .mainTop {
    margin-bottom: 4rem
}

@media only screen and (max-width: 768px) {
    .recruitTopWrap ._02 .mainTop {
        margin-top: 5rem;
        margin-bottom: 4rem
    }
}

.recruitTopWrap ._02 .flexWrap {
    flex-basis: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 4rem
}

@media only screen and (max-width: 768px) {
    .recruitTopWrap ._02 .flexWrap {
        display: block;
        margin-top: 1rem
    }
}

.recruitTopWrap ._02 .flexWrap .imgBox {
    position: relative;
    -webkit-flex-basis: 50rem;
    flex-basis: 50rem;
    margin-right: 5rem;
    margin-bottom: 0
}

@media only screen and (max-width: 768px) {
    .recruitTopWrap ._02 .flexWrap .imgBox {
        margin-right: 0rem;
        margin-bottom: 4rem
    }
}

.recruitTopWrap ._02 .flexWrap .imgBox .img._01 {
    margin-bottom: 3rem
}

.recruitTopWrap ._02 .flexWrap .textBox {
    position: relative;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-basis: 100px;
    flex-basis: 100px;
    text-align: left
}

.recruitTopWrap ._03 {
    margin-bottom: 12rem;
    text-align: center
}

@media only screen and (max-width: 768px) {
    .recruitTopWrap ._03 {
        margin-bottom: 8rem
    }
}

.recruitTopWrap ._03 .mainTop {
    text-align: center;
    margin-top: 10rem;
    margin-bottom: 4rem
}

@media only screen and (max-width: 768px) {
    .recruitTopWrap ._03 .mainTop {
        margin-top: 2rem
    }
}

.recruitTopWrap ._03 p {
    margin-bottom: 5rem
}

@media only screen and (max-width: 768px) {
    .recruitTopWrap ._03 p {
        margin-bottom: 4rem
    }
}

.recruitTopWrap .ttlC {
    text-align: center;
    position: relative;
    top: -0rem
}

@media only screen and (max-width: 768px) {
    .recruitTopWrap .ttlC {
        top: -0rem
    }
}

.recruitTopWrap .ttlC h2 {
    font-size: 10rem;
    font-family: oswald, sans-serif;
    line-height: 10rem;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 1.2rem;
    margin-bottom: 4rem
}

@media only screen and (max-width: 768px) {
    .recruitTopWrap .ttlC h2 {
        font-size: 4rem;
        line-height: 5rem;
        letter-spacing: 1.2rem;
        margin-bottom: 1rem
    }
}

.recruitTopWrap .ttlC .sub {
    font-size: 2rem;
    line-height: 2rem;
    font-weight: 700
}

.recruitBottomWrap {
    background: #f3f3f3;
    padding: 12rem 0
}

@media only screen and (max-width: 768px) {
    .recruitBottomWrap {
        padding: 8rem 0
    }
}

.recruitBottomWrap table {
    width: 100%;
}

.recruitBottomWrap .inin .recTopTitle {
    text-align: center;
    margin-bottom: 5rem
}

@media only screen and (max-width: 768px) {
    .recruitBottomWrap .inin .recTopTitle {
        margin-bottom: 4rem
    }
}

.recruitBottomWrap .inin .recTopTitle h2 {
    font-size: 2.6rem;
    line-height: 2.6rem;
    font-weight: 700;
    margin-bottom: 2rem
}

.recruitBottomWrap .inin .recTopTitle .sub {
    font-size: 3rem;
    letter-spacing: 0.02rem;
    line-height: 3rem;
    font-family: baskerville-display-pt, serif;
    font-weight: 400;
    font-style: normal
}

@media only screen and (max-width: 768px) {
    .recruitBottomWrap .inin .recTopTitle .sub {
        font-size: 2.2rem
    }
}

.recruitBottomWrap .inin .flexBoxInfo dl,
.recruitBottomWrap .inin .flexBoxInfo tr {
    position: relative;
    display: flex;
    font-size: 1.5rem;
    line-height: 3.0rem
}

@media only screen and (max-width: 768px) {

    .recruitBottomWrap .inin .flexBoxInfo dl,
    .recruitBottomWrap .inin .flexBoxInfo tr {
        display: block
    }
}

.recruitBottomWrap .inin .flexBoxInfo dl dt,
.recruitBottomWrap .inin .flexBoxInfo tr th {
    background: #f4f9fb;
    border-top: solid 1px #ddd;
    -webkit-flex-basis: 20rem;
    flex-basis: 20rem;
    margin-bottom: 0;
    padding-top: 1.0rem;
    padding-bottom: 1.5rem;
    padding-left: 2rem;
    font-weight: bold
}

@media only screen and (max-width: 768px) {

    .recruitBottomWrap .inin .flexBoxInfo dl dt,
    .recruitBottomWrap .inin .flexBoxInfo tr th {
        -webkit-flex-basis: 100%;
        flex-basis: 100%;
        margin-right: 0rem;
        padding-top: 1.5rem;
        padding-bottom: 2rem;
        display: block;
    }
}

.recruitBottomWrap .inin .flexBoxInfo dl dd,
.recruitBottomWrap .inin .flexBoxInfo tr td {
    background: #fff;
    border-top: solid 1px #f4f4f4;
    position: relative;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-basis: 100px;
    flex-basis: 100px;
    text-align: left;
    padding-top: 1.0rem;
    padding-bottom: 1.5rem;
    padding-left: 2rem
}

@media only screen and (max-width: 768px) {

    .recruitBottomWrap .inin .flexBoxInfo dl dd,
    .recruitBottomWrap .inin .flexBoxInfo tr td {
        padding-top: 1.5rem;
        padding-bottom: 2rem;
        display: block;
    }
}

.companyWrap {
    background: #f3f3f3;
    padding: 16rem 0 12rem
}

@media only screen and (max-width: 768px) {
    .companyWrap {
        padding: 10rem 0 8rem
    }
}

.companyWrap .inin {
    background: #fff;
    padding: 0 6rem 8rem
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin {
        padding: 0 3rem 3rem
    }
}

.companyWrap .inin .ttlC {
    text-align: center;
    position: relative;
    top: -6rem
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin .ttlC {
        top: -3rem
    }
}

.companyWrap .inin .ttlC h2 {
    font-size: 10rem;
    font-family: oswald, sans-serif;
    line-height: 10rem;
    font-weight: 700;
    font-style: normal;
    letter-spacing: .8rem;
    margin-bottom: 4rem
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin .ttlC h2 {
        font-size: 4rem;
        line-height: 5rem;
        letter-spacing: 1.2rem;
        margin-bottom: 1rem
    }
}

.companyWrap .inin .ttlC .sub {
    font-size: 2rem;
    line-height: 2rem;
    font-weight: 700
}

.companyWrap .inin .subTitle h3 {
    font-size: 2.4rem;
    line-height: 3rem;
    font-weight: 700;
    margin-bottom: 3rem
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin .subTitle h3 {
        font-size: 2.0rem
    }
}

.companyWrap .inin .subTitle._01 {
    width: 80rem;
    margin: 6rem auto 8rem
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin .subTitle._01 {
        width: 100%;
        margin: 2rem auto 4rem
    }
}

.companyWrap .inin .subTitle._02 {
    width: 80rem;
    margin: 6rem auto 0rem
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin .subTitle._02 {
        width: 100%;
        margin: 2rem auto 0rem
    }
}

.companyWrap .inin .imgBox {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin .imgBox {
        display: block
    }
}

.companyWrap .inin .imgBox .leftImg {
    display: flex;
    margin-right: 2rem
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin .imgBox .leftImg {
        margin-right: 0rem
    }
}

.companyWrap .inin .imgBox .leftImg .imgA {
    width: 32rem
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin .imgBox .leftImg .imgA {
        width: 48%
    }
}

.companyWrap .inin .imgBox .leftImg .imgA._01 {
    margin-right: 1rem
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin .imgBox .leftImg .imgA._01 {
        margin-right: 2%
    }
}

.companyWrap .inin .imgBox .leftImg .imgA._02 {
    margin-left: 1rem
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin .imgBox .leftImg .imgA._02 {
        margin-left: 2%
    }
}

.companyWrap .inin .imgBox .rightImg .imgB {
    width: 58rem
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin .imgBox .rightImg .imgB {
        margin-top: 2rem;
        width: 100%
    }
}

.companyWrap .inin .nameWrap {
    margin-top: 6rem;
    text-align: right
}

@media only screen and (max-width: 768px) {
    .companyWrap .inin .nameWrap {
        margin-top: 3rem
    }
}

.companyWrap .inin .nameWrap .name {
    width: 22rem;
    margin-left: auto
}

.companyWrap .companyTopWrap,
.companyWrap .companybottomWrap {
    margin-bottom: 16rem
}

@media only screen and (max-width: 768px) {

    .companyWrap .companyTopWrap,
    .companyWrap .companybottomWrap {
        margin-bottom: 10rem
    }
}

.companyWrap .companyloaterWrap .flexWrap {
    flex-basis: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 4rem
}

@media only screen and (max-width: 768px) {
    .companyWrap .companyloaterWrap .flexWrap {
        display: block;
        margin-top: 1rem
    }
}

.companyWrap .companyloaterWrap .flexWrap .imgBox {
    position: relative;
    -webkit-flex-basis: 50rem;
    flex-basis: 50rem;
    margin-right: 2rem;
    margin-bottom: 0
}

@media only screen and (max-width: 768px) {
    .companyWrap .companyloaterWrap .flexWrap .imgBox {
        margin-right: 0rem;
        margin-bottom: 4rem
    }
}

.companyWrap .companyloaterWrap .flexWrap .textBox {
    position: relative;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-basis: 100px;
    flex-basis: 100px;
    text-align: left
}

.companyWrap .companyloaterWrap .flexWrap .textBox .flexBoxInfo dl,
.companyWrap .companyloaterWrap .flexWrap .textBox .flexBoxInfo tr {
    position: relative;
    display: flex;
    font-size: 1.5rem;
    line-height: 3.0rem
}

@media only screen and (max-width: 768px) {

    .companyWrap .companyloaterWrap .flexWrap .textBox .flexBoxInfo dl,
    .companyWrap .companyloaterWrap .flexWrap .textBox .flexBoxInfo tr {
        display: block
    }
}

.companyWrap .companyloaterWrap .flexWrap .textBox .flexBoxInfo dl dt,
.companyWrap .companyloaterWrap .flexWrap .textBox .flexBoxInfo tr th {
    border-top: solid 1px #111;
    -webkit-flex-basis: 20rem;
    flex-basis: 20rem;
    margin-right: 2rem;
    margin-bottom: 0;
    padding-top: 1.0rem;
    padding-bottom: 1.5rem;
    font-weight: bold
}

@media only screen and (max-width: 768px) {

    .companyWrap .companyloaterWrap .flexWrap .textBox .flexBoxInfo dl dt,
    .companyWrap .companyloaterWrap .flexWrap .textBox .flexBoxInfo tr th {
        -webkit-flex-basis: 100%;
        flex-basis: 100%;
        margin-right: 0rem;
        padding-top: 1.5rem;
        padding-bottom: 2rem;
        width: 100%;
        display: block;
    }
}

.companyWrap .companyloaterWrap .flexWrap .textBox .flexBoxInfo dl dd,
.companyWrap .companyloaterWrap .flexWrap .textBox .flexBoxInfo tr td {
    border-top: solid 1px #f4f4f4;
    position: relative;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-basis: 100px;
    flex-basis: 100px;
    text-align: left;
    padding-top: 1.0rem;
    padding-bottom: 1.5rem
}

@media only screen and (max-width: 768px) {

    .companyWrap .companyloaterWrap .flexWrap .textBox .flexBoxInfo dl dd,
    .companyWrap .companyloaterWrap .flexWrap .textBox .flexBoxInfo tr td {
        padding-top: 1.5rem;
        padding-bottom: 2rem;
        width: 100%;
        display: block;
    }
}

.bG02 {
    position: relative;
    /*    background: url() no-repeat center center;*/
    background-size: cover;
    background-attachment: fixed;
    text-align: center;
    padding: 40rem 0 0
}

@media only screen and (max-width: 768px) {
    .bG02 {
        background-attachment: inherit;
        height: auto;
        padding: 32vw 0 0
    }
}

.serviceTopWrap {
    padding: 12rem 0 12rem
}

@media only screen and (max-width: 768px) {
    .serviceTopWrap {
        padding: 8rem 0 2rem
    }
}

.serviceTopWrap .inin {
    position: relative
}

.serviceTopWrap .inin .bgText {
    position: absolute;
    top: -7rem;
    left: 50%;
    transform: translate(-50%, 0);
    width: 100rem;
    margin: 0 auto
}

@media only screen and (max-width: 768px) {
    .serviceTopWrap .inin .bgText {
        top: -2rem;
        width: 40rem
    }
}

.serviceTopWrap .inin .in_box {
    position: relative;
    z-index: 1;
    text-align: center
}

.serviceTopWrap .inin .in_box .ttlA h2 {
    font-size: 2.8rem;
    line-height: 4rem;
    letter-spacing: 0.6rem;
    display: block;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 4rem
}

@media only screen and (max-width: 768px) {
    .serviceTopWrap .inin .in_box .ttlA h2 {
        font-size: 2.0rem;
        line-height: 3rem
    }
}

.serviceTopWrap .inin .in_box .ttlA h2:after {
    content: "";
    width: 5rem;
    height: 0;
    background-color: #0B72DD;
    display: block;
    margin: 3rem auto 3rem;
    transition: .5s;
    height: 1px
}

.serviceMainWrap {
    overflow: hidden
}

.serviceMainWrap .sBox:last-child {
    margin-bottom: 12rem
}

@media only screen and (max-width: 768px) {
    .serviceMainWrap .sBox:last-child {
        margin-bottom: 6rem
    }
}

.serviceMainWrap .sBox .flexWrap {
    position: relative;
    margin-top: 8rem;
    padding-bottom: 4rem;
    flex-basis: auto;
    display: -webkit-flex;
    display: flex
}

@media only screen and (max-width: 768px) {
    .serviceMainWrap .sBox .flexWrap {
        margin-top: 5rem;
        display: block
    }
}

.serviceMainWrap .sBox .flexWrap .imgBox {
    position: relative;
    z-index: 1;
    -webkit-flex-basis: 50%;
    flex-basis: 50%;
    margin-bottom: 0
}

@media only screen and (max-width: 768px) {
    .serviceMainWrap .sBox .flexWrap .imgBox {
        width: calc(100% - 6rem);
        margin: 0 auto
    }
}

.serviceMainWrap .sBox .flexWrap .imgBox:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 20rem;
    background: #f6f6f6
}

.serviceMainWrap .sBox .flexWrap .imgBox ul {
    position: relative;
    z-index: 2;
    display: flex
}

.serviceMainWrap .sBox .flexWrap .imgBox ul li {
    width: 36rem
}

@media only screen and (min-width: 1601px) {
    .serviceMainWrap .sBox .flexWrap .imgBox ul li {
        width: 42rem
    }
}

@media only screen and (max-width: 768px) {
    .serviceMainWrap .sBox .flexWrap .imgBox ul li {
        width: 48%
    }
}

.serviceMainWrap .sBox .flexWrap .imgBox ul li:first-child {
    margin-right: 3rem
}

@media only screen and (max-width: 768px) {
    .serviceMainWrap .sBox .flexWrap .imgBox ul li:first-child {
        margin-right: 2%
    }
}

@media only screen and (max-width: 768px) {
    .serviceMainWrap .sBox .flexWrap .imgBox ul li:last-child {
        margin-left: 2%
    }
}

.serviceMainWrap .sBox .flexWrap .imgBox ul li.top {
    margin-top: 8rem
}

@media only screen and (max-width: 768px) {
    .serviceMainWrap .sBox .flexWrap .imgBox ul li.top {
        margin-top: 0rem
    }
}

.serviceMainWrap .sBox .flexWrap .textBox {
    position: relative;
    z-index: 1;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-basis: 100px;
    flex-basis: 100px;
    text-align: left
}

.serviceMainWrap .sBox .flexWrap .textBox .inin .ttlB {
    margin-bottom: 4rem
}

.serviceMainWrap .sBox .flexWrap .textBox .inin .ttlB h2 {
    color: #0B72DD;
    font-size: 6rem;
    font-family: oswald, sans-serif;
    line-height: 6rem;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.2rem;
    margin-bottom: 2rem
}

@media only screen and (max-width: 768px) {
    .serviceMainWrap .sBox .flexWrap .textBox .inin .ttlB h2 {
        font-size: 4rem;
        line-height: 5rem
    }
}

.serviceMainWrap .sBox .flexWrap .textBox .inin .ttlB .sub {
    font-size: 2rem;
    line-height: 2rem;
    font-weight: 700
}

.serviceMainWrap .sBox .flexWrap .textBox .inin p {
    margin-bottom: 4rem
}

.serviceMainWrap .sBox .flexWrap._forward .imgBox {
    padding-right: 4rem
}

@media only screen and (max-width: 768px) {
    .serviceMainWrap .sBox .flexWrap._forward .imgBox {
        padding-right: 0
    }
}

.serviceMainWrap .sBox .flexWrap._forward .textBox {
    padding: 12rem 12rem 6rem 0rem
}

@media only screen and (max-width: 768px) {
    .serviceMainWrap .sBox .flexWrap._forward .textBox {
        padding: 5rem 3rem 0rem 3rem
    }
}

.serviceMainWrap .sBox .flexWrap._reverse {
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.serviceMainWrap .sBox .flexWrap._reverse .imgBox {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    margin-bottom: 0;
    padding-left: 5rem
}

@media only screen and (max-width: 768px) {
    .serviceMainWrap .sBox .flexWrap._reverse .imgBox {
        padding-left: 0
    }
}

.serviceMainWrap .sBox .flexWrap._reverse .textBox {
    padding: 12rem 5rem 6rem 12rem
}

@media only screen and (max-width: 768px) {
    .serviceMainWrap .sBox .flexWrap._reverse .textBox {
        padding: 5rem 3rem 0rem 3rem
    }
}

.top_companyWrap02 {
    background: #f9f9f9;
    padding: 12rem 0
}

@media only screen and (max-width: 768px) {
    .top_companyWrap02 {
        padding: 5rem 0 8rem
    }
}

.top_companyWrap02 .flexWrap {
    flex-basis: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse
}

@media only screen and (max-width: 768px) {
    .top_companyWrap02 .flexWrap {
        display: block
    }
}

.top_companyWrap02 .flexWrap .imgBox {
    -webkit-flex-basis: 60%;
    flex-basis: 60%;
    margin-bottom: 0
}

@media only screen and (max-width: 768px) {
    .top_companyWrap02 .flexWrap .imgBox {
        -webkit-flex-basis: 100%;
        flex-basis: 100%
    }
}

.top_companyWrap02 .flexWrap .textBox {
    position: relative;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-basis: 100px;
    flex-basis: 100px;
    text-align: left;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    padding-left: 8rem
}

@media only screen and (max-width: 768px) {
    .top_companyWrap02 .flexWrap .textBox {
        margin-bottom: 4rem;
        padding-left: 0rem
    }
}

@media only screen and (max-width: 768px) {
    .top_companyWrap02 .flexWrap .textBox .ininin .flexInner {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center
    }
}

.top_companyWrap02 .flexWrap .textBox .ininin h3 {
    font-size: 6rem;
    line-height: 5rem;
    display: block;
    /* font-family: source-han-serif-japanese, serif; */
    font-weight: bold;
    font-style: normal;
    margin-bottom: 1.5rem
}

@media only screen and (max-width: 768px) {
    .top_companyWrap02 .flexWrap .textBox .ininin h3 {
        font-size: 3.4rem;
        margin-right: 2rem;
        margin-bottom: 0rem
    }
}

.top_companyWrap02 .flexWrap .textBox .ininin .sub {
    font-size: 1.6rem;
    /* font-family: source-han-serif-japanese, serif; */
    font-weight: 600;
    font-style: normal;
    position: relative;
    margin-bottom: 2rem
}

@media only screen and (max-width: 768px) {
    .top_companyWrap02 .flexWrap .textBox .ininin .sub {
        margin-bottom: 0rem
    }
}

.top_companyWrap02 .flexWrap .textBox .ininin .sub span {
    display: inline-block
}

.top_companyWrap02 .flexWrap .textBox .ininin .btnBoxA a {
    position: relative;
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    padding: 2rem 1rem;
    width: 15rem;
    max-width: 30rem;
    color: #333;
    transition: all 0.6s 0.0s;
    background: linear-gradient(#333, #333) no-repeat 100% 100%;
    background-size: 0 1px;
    transition: background-size 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    background-position: 0 100%;
    background-size: 100% 1px
}

@media only screen and (max-width: 768px) {
    .top_companyWrap02 .flexWrap .textBox .ininin .btnBoxA a {
        font-size: 1.6rem;
        width: 90%;
        max-width: 90%
    }
}

.top_companyWrap02 .flexWrap .textBox .ininin .btnBoxA a .circle {
    position: absolute;
    top: 48%;
    right: 2rem;
    transform: translate(0, -50%);
    transition: all 0.5s 0.0s
}

.top_companyWrap02 .flexWrap .textBox .ininin .btnBoxA a .circle svg {
    fill: #333
}

.top_companyWrap02 .flexWrap .textBox .ininin .btnBoxA a:hover {
    background-position: 100% 100%;
    background-size: 0% 2px
}

.topTopicsWrap {
    position: relative;
    background: #fff;
    padding: 12rem 0
}

@media only screen and (max-width: 768px) {
    .topTopicsWrap {
        padding: 10rem 0 6rem
    }
}

.topTopicsWrap .inin {
    position: relative
}

.topTopicsWrap .inin .bgTextTopics {
    position: absolute;
    top: -5rem;
    left: 0;
    border-left-width: 0;
    font-size: 18rem;
    font-weight: bold;
    line-height: 18rem;
    color: #f0f0f0
}

@media only screen and (max-width: 768px) {
    .topTopicsWrap .inin .bgTextTopics {
        font-size: 9rem;
        line-height: 9rem
    }
}

.topTopicsWrap .inin ._in {
    position: relative;
    z-index: 2
}

.topTopicsWrap .inin ._in .flexWrap {
    flex-basis: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.topTopicsWrap .inin ._in .flexWrap .topicTitle {
    position: relative;
    -webkit-flex-basis: 36rem;
    flex-basis: 36rem;
    margin-bottom: 0
}

@media only screen and (max-width: 768px) {
    .topTopicsWrap .inin ._in .flexWrap .topicTitle {
        margin-bottom: 4rem
    }
}

.topTopicsWrap .inin ._in .flexWrap .topicTitle h2 {
    position: relative;
    font-size: 6rem;
    font-weight: bold;
    font-family: "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, sans-serif
}

@media only screen and (max-width: 768px) {
    .topTopicsWrap .inin ._in .flexWrap .topicTitle h2 {
        font-size: 5rem
    }
}

.topTopicsWrap .inin ._in .flexWrap .topicTitle h2::after {
    content: '';
    position: absolute;
    bottom: -2rem;
    left: 0%;
    width: 50%;
    height: 2px;
    margin: 0 auto;
    background: #000
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox {
    position: relative;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-basis: 100px;
    flex-basis: 100px;
    width: 100%;
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li {
    border-bottom: 1px solid #f3f3f3
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li a {
    width: 100%;
    padding: 25px 0;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    color: #262626;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 768px) {
    .topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li a {
        display: block;
        padding: 2rem 0
    }
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li a:before {
    content: '›';
    position: absolute;
    top: 2.6rem;
    right: 0;
    color: #000;
    font-family: ltc-goudy-oldstyle-pro, serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2.6rem;
    line-height: 0.6
}

@media only screen and (max-width: 768px) {
    .topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li a:before {
        top: auto;
        bottom: 4.2rem
    }
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li a .top_news_item_header {
    width: 20rem
}

@media only screen and (max-width: 768px) {
    .topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li a .top_news_item_header {
        width: auto;
        margin-bottom: 1rem
    }
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li a .top_news_item_header .top_news_date {
    font-size: 1.3rem;
    font-weight: 700;
    color: #a4a4a4
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li a .top_news_item_header .top_news_tag {
    min-width: 9rem;
    display: inline-block;
    margin-left: 2rem;
    padding: 0.2rem 0;
    text-align: center;
    font-size: 1.1rem;
    color: #fff;
    background: #333
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li a .top_news_item_title {
    width: calc(100% - 200px);
    padding-right: 15px;
    padding-bottom: .1em;
    overflow: hidden;
    font-size: 1.6rem;
    white-space: nowrap;
    text-overflow: ellipsis
}

@media only screen and (max-width: 768px) {
    .topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li a .top_news_item_title {
        width: auto;
        font-size: 1.6rem
    }
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li a .top_news_item_title span {
    background: linear-gradient(#262626, #262626) no-repeat 100% 100%;
    background-size: 0 1px;
    transition: background-size 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    font-weight: 600;
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox ul li a:hover .top_news_item_title span {
    background-position: 0 100%;
    background-size: 100% 1px
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox .top_news_link {
    margin-top: 40px;
    margin-left: auto;
    padding-left: 24px;
    position: relative;
    float: right;
    font-weight: 500
}

@media only screen and (max-width: 768px) {
    .topTopicsWrap .inin ._in .flexWrap .mainNewsBox .top_news_link {
        margin-top: 2rem
    }
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox .top_news_link a {
    position: relative;
    z-index: 1;
    display: inline-block;
    border-radius: 100px;
    color: #333;
    font-weight: 600;
    font-size: 1.4rem;
    padding: .5rem 0 .8rem
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox .top_news_link a:before {
    content: '';
    display: block;
    width: 3rem;
    height: 3rem;
    border-radius: 100px;
    background-color: #efefef;
    position: absolute;
    top: 0;
    left: -1.5rem;
    z-index: 0;
    transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-property: width, box-shadow, background-color
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox .top_news_link a span {
    position: relative;
    z-index: 1;
    background-repeat: no-repeat;
    background-image: linear-gradient(180deg, #bfbfbf, #bfbfbf);
    transition: background-size 380ms cubic-bezier(0.215, 0.61, 0.355, 1);
    background-size: 100% 1px;
    background-position: 0 100%;
    padding-bottom: .3rem
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox .top_news_link a:hover {
    color: #fff
}

.topTopicsWrap .inin ._in .flexWrap .mainNewsBox .top_news_link a:hover:before {
    width: 125%;
    width: calc(100% + 3rem);
    background-color: #333
}

.bG01 {
    position: relative;
    /*    background: url(../image/bgImg01.jpg) no-repeat center center;*/
    background-size: cover;
    background-attachment: fixed;
    text-align: center;
    padding: 40rem 0 0
}

@media only screen and (max-width: 768px) {
    .bG01 {
        background-attachment: inherit;
        height: auto;
        padding: 32vw 0 0
    }
}

.topContributeWrap {
    position: relative;
    z-index: 1;
    background: #fff;
    padding: 12rem 0 12rem
}

@media only screen and (max-width: 768px) {
    .topContributeWrap {
        padding: 0rem 0 8rem
    }
}

.topContributeWrap .topContentsLogo {
    text-align: center;
    margin-top: 5rem;
    margin-bottom: 4rem
}

.topContributeWrap .topContentsLogo span {
    display: block;
    width: 10rem;
    margin: 0 auto
}

.topBussinessWrap {
    position: relative;
    z-index: 1;
    background: #fff;
    padding: 12rem 0 8rem
}

@media only screen and (max-width: 768px) {
    .topBussinessWrap {
        padding: 6rem 0 6rem
    }
}

.topBussinessWrap .flexWrap {
    position: relative;
    margin-top: 8rem;
    padding-bottom: 4rem;
    flex-basis: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (max-width: 768px) {
    .topBussinessWrap .flexWrap {
        margin-top: 5rem;
        display: block
    }
}

.topBussinessWrap .flexWrap:after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 90%;
    height: 95%;
    margin-left: auto;
    background: #0B72DD
}

@media only screen and (max-width: 768px) {
    .topBussinessWrap .flexWrap:after {
        width: calc(100% - 2rem)
    }
}

.topBussinessWrap .flexWrap .imgBox {
    position: relative;
    z-index: 1;
    -webkit-flex-basis: 50%;
    flex-basis: 50%;
    margin-right: 5%;
    margin-bottom: 0
}

@media only screen and (max-width: 768px) {
    .topBussinessWrap .flexWrap .imgBox {
        margin-right: 3rem
    }
}

.topBussinessWrap .flexWrap .textBox {
    position: relative;
    z-index: 1;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-basis: 100px;
    flex-basis: 100px;
    text-align: left;
    padding: 12rem 6rem 6rem 0rem
}

@media only screen and (max-width: 768px) {
    .topBussinessWrap .flexWrap .textBox {
        padding: 4rem 3rem 3rem 5rem
    }
}

.topBussinessWrap .flexWrap .textBox .inin {
    color: #fff
}

.topBussinessWrap .flexWrap .textBox .inin h3 {
    font-size: 2.8rem;
    line-height: 4rem;
    letter-spacing: 0.6rem;
    display: block;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 4rem
}

@media only screen and (max-width: 768px) {
    .topBussinessWrap .flexWrap .textBox .inin h3 {
        font-size: 2.0rem;
        line-height: 3rem
    }
}

.topBussinessWrap .flexWrap .textBox .inin ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: center;
    margin-top: 4rem;
    margin-bottom: 4rem
}

.topBussinessWrap .flexWrap .textBox .inin ul li {
    width: 49%;
    border: 1px solid #fff;
    padding: 1rem 3rem;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    margin-bottom: 1%
}

.topBussinessWrap .flexWrap .textBox .inin ul li a {
    color: #fff;
}

.topBussinessWrap .flexWrap .textBox .inin ul li:hover {
    background-color: #fff;
}

.topBussinessWrap .flexWrap .textBox .inin ul li:hover a {
    color: #0B72DD;
}

.top_companyWrap {
    position: relative;
    background: #f3f3f3;
    padding: 12rem 0 2rem;
}

@media only screen and (max-width: 768px) {
    .top_companyWrap {
        padding: 8rem 0 0rem;
    }
}

.top_companyWrap::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 20rem;
    background: #0B72DD
}

@media only screen and (max-width: 768px) {
    .top_companyWrap::after {
        height: 12rem
    }
}

.top_companyWrap ._in01,
.top_companyWrap ._in02 {
    position: relative;
    z-index: 1;
}

.top_companyWrap ._in01 {
    position: relative;
    z-index: 1
}

@media only screen and (max-width: 768px) {
    .top_companyWrap ._in01 {
        margin-bottom: 6rem
    }
}

.top_companyWrap .flexWrap {
    flex-basis: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (max-width: 768px) {
    .top_companyWrap .flexWrap {
        display: block
    }
}

.top_companyWrap .flexWrap .imgBox {
    position: relative;
    -webkit-flex-basis: 50rem;
    flex-basis: 50rem;
    margin-right: 5rem;
    margin-bottom: 0
}

@media only screen and (max-width: 768px) {
    .top_companyWrap .flexWrap .imgBox {
        margin-right: 0rem;
        margin-bottom: 4rem
    }
}

.top_companyWrap .flexWrap .textBox {
    position: relative;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-basis: 100px;
    flex-basis: 100px;
    text-align: left
}

.top_companyWrap .flexWrap .textBox .inin h2 {
    font-size: 8rem;
    font-family: oswald, sans-serif;
    line-height: 8rem;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 1.2rem;
    margin-bottom: 4rem
}

@media only screen and (max-width: 768px) {
    .top_companyWrap .flexWrap .textBox .inin h2 {
        font-size: 4rem;
        line-height: 5rem;
        letter-spacing: 1.2rem;
        margin-bottom: 1rem
    }
}

.top_companyWrap .flexWrap .textBox .inin .sub {
    font-size: 4.6rem;
    line-height: 7rem;
    letter-spacing: 0.6rem;
    display: block;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 4rem
}

@media only screen and (max-width: 768px) {
    .top_companyWrap .flexWrap .textBox .inin .sub {
        font-size: 2.6rem;
        line-height: 4rem;
        margin-bottom: 3rem
    }
}

.top_companyWrap .flexWrap .textBox .inin p {
    margin-bottom: 6rem
}

@media only screen and (max-width: 768px) {
    .top_companyWrap .flexWrap .textBox .inin p {
        margin-bottom: 3rem
    }
}

.top_companyWrap .flexWrap02 {
    flex-basis: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    margin-top: -4rem;
}

@media only screen and (max-width: 768px) {
    .top_companyWrap .flexWrap02 {
        margin-top: 0
    }
}

.top_companyWrap .flexWrap02 .imgBox {
    position: relative;
    -webkit-flex-basis: 40rem;
    flex-basis: 40rem;
    margin-bottom: 0
}

.top_companyWrap .flexWrap02 .imgBox:nth-child(2) {
    margin-left: 4rem
}

@media only screen and (max-width: 768px) {
    .top_companyWrap .flexWrap02 .imgBox:nth-child(2) {
        margin-left: 2rem
    }
}

#mainvisual {
    position: relative;
    z-index: 0
}

@media only screen and (max-width: 768px) {
    #mainvisual {
        z-index: 0
    }
}

#background {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: calc(100vh - 0px);
    background-color: #fff
}

@media only screen and (max-width: 768px) {
    #background {
        min-height: 200px;
        height: calc(70vh - 0px);
    }
}

/*#background:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 31rem;
    height: 100%;
    background: #fff
}

@media only screen and (max-width: 768px) {
    #background:before {
        width: 12rem
    }
}*/

/*#background:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #232323 25%, transparent 25%, transparent 75%, #232323 75%), linear-gradient(45deg, #232323 25%, transparent 25%, transparent 75%, #232323 75%);
    background-size: 2px 2px;
    background-position: 0 0, 1px 1px;
    z-index: 1;
    opacity: 0.7
}*/

#background #mainvisualImg {
    position: relative;
    z-index: 2;
    background: url(https://noguchi-kensetu.co.jp/wp-content/themes/original/img/poster.jpg) no-repeat center center;
    background-size: cover;
    width: 100%;
    height: 100vh;
    transition: all 1.8s
}

#background #movieMain div {
    position: relative;
    width: 100%;
    height: 100%
}

@media only screen and (max-width: 768px) {
    #background #movieMain div {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden
    }

    #background #movieMain div:after {
        content: " ";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 3;
        background: transparent none repeat 0 0
    }
}

#background #movieMain div #js_video {
    position: fixed;
    right: 0;
    top: 0px;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    background: url("https://noguchi-kensetu.co.jp/wp-content/themes/original/img/poster.jpg") no-repeat;
    background-size: cover
}

@media only screen and (max-width: 768px) {
    #background #movieMain div #js_video {
        position: relative;
        top: -2px;
        object-fit: cover;
        width: 100vw;
        height: 100vh;
        transform: translateY(-16%);
    }
}

#background .bgSlideTop {
    background: #fff;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden
}

@media only screen and (max-width: 768px) {
    #background .bgSlideTop {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: calc(100% - 0px);
        min-height: 80vh
    }
}

#background .mainvisualBottomText {
    position: absolute;
    left: 0rem;
    bottom: -1rem;
    z-index: 11;
    text-align: right
}

@media only screen and (max-width: 768px) {
    #background .mainvisualBottomText {
        bottom: -0rem
    }
}

#background .mainvisualBottomText span {
    display: inline-block;
    font-size: 8vw;
    font-weight: 400;
    font-style: normal;
    color: #ccc;
    line-height: 9rem;
    font-family: arial;
    opacity: 0.2;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

@media only screen and (max-width: 768px) {
    #background .mainvisualBottomText span {
        font-size: 13vw
    }
}

#background .kv_scroll {
    width: 1px;
    height: 70px;
    position: absolute;
    right: 6%;
    bottom: 0rem;
    z-index: 100;
    background-color: #fff
}

@media only screen and (max-width: 768px) {
    #background .kv_scroll {
        display: none;
        bottom: 0%
    }
}

#background .kv_scroll ._pointer {
    -webkit-animation: moveScrollPointer 1.8s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
    animation: moveScrollPointer 1.8s infinite cubic-bezier(0.215, 0.61, 0.355, 1)
}

#background .kv_scroll ._pointer:before {
    content: '';
    display: block;
    width: 1px;
    height: 10px;
    border-radius: 50%;
    background-color: #0B72DD
}

#background .kv_scroll ._text {
    position: absolute;
    top: -55px;
    left: -7px;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    font-size: 10px;
    font-size: .625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #fff
}

@media only screen and (max-width: 768px) {
    #background .kv_scroll ._text {
        bottom: -20px;
        color: #f00
    }
}

@-webkit-keyframes moveScrollPointer {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 50px, 0);
        transform: translate3d(0, 50px, 0)
    }
}

@keyframes moveScrollPointer {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 50px, 0);
        transform: translate3d(0, 50px, 0)
    }
}

@-webkit-keyframes scrollPointerInOut {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    10% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    60% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
}

@keyframes scrollPointerInOut {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    10% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    60% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
}

@-webkit-keyframes moveScrollPointer {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 70px, 0);
        transform: translate3d(0, 70px, 0)
    }
}

@keyframes moveScrollPointer {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 70px, 0);
        transform: translate3d(0, 70px, 0)
    }
}

@-webkit-keyframes scrollPointerInOut {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    10% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    60% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
}

@keyframes scrollPointerInOut {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    10% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    60% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
}

.inner_content {
    position: absolute;
    bottom: 10%;
    left: 20rem;
    z-index: 11;
    padding: 0px;
    color: #fff
}

@media only screen and (max-width: 768px) {
    .inner_content {
        left: 3rem
    }
}

.inner_content .centerI {
    position: relative;
    transition: all 0.7s
}

@media only screen and (max-width: 768px) {
    .inner_content .centerI {
        width: auto
    }
}

.inner_content .centerI .mainTxBox .mainText01 {
    color: #fff;
    font-size: 6rem;
    line-height: 9rem;
    display: block;
    font-weight: 700;
    font-style: normal;
    text-shadow: 1px 1px 2px black;
}

@media only screen and (max-width: 768px) {
    .inner_content .centerI .mainTxBox .mainText01 {
        font-size: 4rem;
        line-height: 7rem
    }
}

.inner_content .centerI .tateTx {
    position: absolute;
    left: -50px;
    top: 18px;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl
}

@media only screen and (max-width: 768px) {
    .inner_content .centerI .tateTx {
        left: -3rem
    }
}

#movie {
    width: 80%;
    height: auto;
    margin: 0px auto
}

@media only screen and (max-width: 768px) {
    #movie {
        width: 90%
    }
}

#movie video {
    width: 100%;
    height: auto
}

.bannerOn {
    position: absolute;
    left: -16vh;
    width: 40vw;
    height: 100%;
    -webkit-transition: all 1.3s cubic-bezier(0.04, 0.65, 0.08, 1) 2.1s;
    -o-transition: all 1.3s cubic-bezier(0.04, 0.65, 0.08, 1) 2.1s;
    transition: all 1.3s cubic-bezier(0.04, 0.65, 0.08, 1) 2.1s;
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    z-index: 3;
    background-color: #1d2088;
    mix-blend-mode: multiply;
    opacity: 0
}

@media only screen and (max-width: 768px) {
    .bannerOn {
        top: 0
    }
}

.bannerOn .logoWrap {
    position: relative;
    z-index: 2;
    height: 100%
}

.bannerOn .logoWrap .h1 {
    height: 100%
}

.bannerOn .logoWrap .h1 a {
    display: block;
    width: 14rem;
    margin: 6rem 0 0
}

@media only screen and (max-width: 768px) {
    .bannerOn .logoWrap .h1 a {
        margin: 0rem auto 0
    }
}

.bannerOn a {
    opacity: 1;
    -webkit-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1)
}

.bannerOn a:hover {
    opacity: 0.7
}

@media only screen and (max-width: 768px) {
    .bannerOn._sec {
        height: 26rem
    }
}

@media only screen and (max-width: 768px) {
    .bannerOn._sec .logoWrap .h1 a {
        width: 2.4rem;
        margin: 2.8rem auto 0
    }
}

footer {
    position: relative;
    background: #fff
}

footer .footerInner {
    padding: 5rem 0 0rem;
}

@media only screen and (max-width: 768px) {
    footer .footerInner {
        padding: 5rem 0 6rem
    }
}

@media only screen and (max-width: 768px) {
    footer .footerInner .navFooter {
        display: none
    }
}

footer .footerInner .navFooter ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center
}

footer .footerInner .navFooter li {
    margin: 0 2rem
}

footer .footerInner .navFooter li a {
    display: block;
    text-align: center
}

footer .footerInner .navFooter li a span {
    display: block
}

footer .footerInner .navFooter li a .engM {
    font-size: 1.3rem;
    letter-spacing: 0.0rem;
    font-family: oswald, sans-serif;
    font-weight: 600;
    font-style: normal
}

footer .footerInner .navFooter li a .jpM {
    font-size: 1.6rem;
    color: #6a6a6ae0
}

footer .footerInner .footerLogo {
    padding: 6rem 0 2rem;
}

@media only screen and (max-width: 768px) {
    footer .footerInner .footerLogo {
        padding: 0rem 0 2rem
    }
}

footer .footerInner .footerLogo a {
    display: block;
    text-align: center;
    width: 20rem;
    margin: 0 auto
}

footer .footerInner .footerAddress {
    text-align: center
}

footer .footerInner .footerAddress .tellInfoWrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    font-size: 1.5rem;
    letter-spacing: 0.1rem
}

footer .footerInner .footerAddress .tellInfoWrap .tellWrap._01 {
    margin-right: 1rem
}

footer .footerInner .footerAddress .tellInfoWrap .tellWrap._02 {
    margin-left: 1rem
}

footer .footerInner .footerAddress .tellInfoWrap a {
    display: inline-block
}

footer .copy {
    text-align: center;
    background: #0B72DD;
    font-size: 1.4rem;
    padding: 1rem 0;
    color: #fff
}

header #head_Logo {
    padding: 26px 3rem;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}

@media only screen and (max-width: 768px) {
    header #head_Logo {
        padding: 4.5rem 3%;
        width: 21rem
    }
}

header #head_Logo a {
    display: block;
    width: 34rem;
}

@media only screen and (max-width: 768px) {
    header #head_Logo a {
        width: 30rem;
    }
}

header #head_Logo._secHead {
    position: fixed;
    z-index: 5
}

header .headerInner {
    position: absolute;
    z-index: 2;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    background-color: #fff;
}

header .headerInner #nav ul li {
    position: relative;
    display: -webkit-flex;
    height: 90px;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    margin-right: 10px;
}

header .headerInner #nav ul li a {
    pointer-events: auto;
    position: relative;
    display: block;
    padding: 0px 2rem;
    color: #fff;
    font-size: 1.4rem;
    -webkit-transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    text-align: center;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center
}

@media only screen and (max-width: 1400px) {
    header .headerInner #nav ul li a {
        padding: 0px 15px
    }
}

header .headerInner #nav ul li a span {
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
}

header .headerInner #nav ul li a .en {
    position: absolute;
    top: 50%;
    left: 50%;
    opacity: 1;
    transform: translate3d(-50%, -50%, 0px);
    color: #000;
}

header .headerInner #nav ul li a .jp {
    position: relative;
    top: 0;
    left: 0;
    opacity: 0;
    color: #000;
}

header .headerInner #nav ul li.headContact a .jp,
header .headerInner #nav ul li.headContact a .en {
    color: #fff;
}

header .headerInner #nav ul li a:hover .en {
    opacity: 0
}

header .headerInner #nav ul li a:hover .jp {
    opacity: 1
}

header .headerInner #nav ul li:nth-child(1) a {
    padding: 0px 10px
}

header .headerInner #nav ul li:nth-child(2) a {
    padding: 0px 10px
}

header .headerInner #nav ul li.headContact a {
    background: #0B72DD;
    border-radius: 0.5rem;
    padding: 1rem 1.5rem
}

header .headerInner._secHead {
    position: fixed;
    z-index: 4;
    background-color: rgba(255, 255, 255, 0.9)
}

header .headerInner._secHead .h1 {
    position: absolute;
    top: 0;
    left: 0
}

header .headerInner._secHead .h1 a {
    display: block;
    width: 14rem;
    margin: 0rem 0 0
}

header .headerInner._secHead #nav {
    margin-right: 1rem
}

header .headerInner._secHead #nav ul li {
    height: 10rem
}

header .headerInner._secHead #nav ul li a {
    color: #333
}

header .headerInner._secHead #nav ul li.headContact a {
    color: #fff
}

header .headerInner._secHead .headRightBtn {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    margin-right: 4rem
}

header .headerInner._secHead .headRightBtn a {
    position: relative;
    display: block;
    border: 2px solid #333;
    width: 15rem;
    padding: 1rem 0;
    text-align: center;
    font-size: 1.3rem
}

header .headerInner._secHead .headRightBtn a span {
    display: block;
    width: 15px;
    height: 2px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    overflow: hidden
}

header .headerInner._secHead .headRightBtn a span:before,
header .headerInner._secHead .headRightBtn a span:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    transition: transform 0.5s cubic-bezier(0.5, 0, 0, 1)
}

header .headerInner._secHead .headRightBtn a span:after {
    transform: translateX(-100%)
}

header .headerInner._secHead .headRightBtn a:hover span:before {
    transform: translateX(100%)
}

header .headerInner._secHead .headRightBtn a:hover span:after {
    transform: translateX(0);
    transition-delay: 0.5s
}

header.secHead .headerInner {
    position: static
}

header.secHead .headerInner #nav ul li a {
    color: #333
}

header.secHead .headerInner #nav ul .headContact a {
    color: #fff
}

header.active_header,
.sec header {
    transform: translate3d(-50%, 0px, 0)
}

.sec header {
    transition: 0.01s 0.0s
}

header .headerInner nav {
    display: block;
    margin-right: 3rem
}

header .headerInner nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    height: 100%
}

.navFixed {
    position: fixed;
    top: 0%;
    right: 0;
    width: 10rem;
    height: auto;
    z-index: 99
}

.navFixed .navInner {
    background: #fff
}

.menuBtn {
    position: relative;
    width: 10rem;
    display: table;
    padding: 3.8rem 0;
    top: 0px;
    right: 0px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center
}

.menuBtn:hover {
    cursor: pointer
}

.menuBtn span.gray {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 0%;
    height: 100%;
    background: #d6d6d6;
    transition: all 0.35s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    display: none
}

.menuBtn:hover span.gray {
    width: 100%
}

.menu-trigger {
    position: relative;
    z-index: 2;
    width: 34px;
    height: 25px;
    display: inline-block
}

.menu-trigger span:nth-of-type(1) {
    top: 0;
    transition: all .3s
}

.menu-trigger span:nth-of-type(2) {
    top: 9px;
    transition: all .3s
}

.menu-trigger span:nth-of-type(3) {
    bottom: 4px;
    transition: all .3s
}

.menuOpen .menu-trigger span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg)
}

.menuOpen .menu-trigger span:nth-of-type(2) {
    opacity: 0
}

.menuOpen .menu-trigger span:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg)
}

.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #000
}

.navigation {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 90;
    width: 100%;
    height: 100%
}

.navigation:before {
    content: '';
    position: absolute;
    top: 0;
    right: -50%;
    width: 50%;
    height: 100%;
    background: #000;
    transition: all 0.35s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.navigation:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0%;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    opacity: 0;
    display: none;
    transition: all 0.85s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.navigation .navTitle {
    opacity: 0;
    transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.25s
}

.navigation ul {
    margin: 0 auto
}

.navigation ul li {
    text-align: left;
    position: relative;
    left: 0px;
    opacity: 0;
    -webkit-transform: translate3d(60px, 0, 0);
    transform: translate3d(60px, 0, 0);
    border-bottom: 1px solid #fff;
    padding-right: 1rem;
    padding-bottom: 1rem
}

.navigation ul li:not(:last-child) {
    margin-bottom: 2.5rem
}

.navigation ul li:nth-child(1) {
    transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.25s
}

.navigation ul li:nth-child(2) {
    transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.3s
}

.navigation ul li:nth-child(3) {
    transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.35s
}

.navigation ul li:nth-child(4) {
    transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.4s
}

.navigation ul li:nth-child(5) {
    transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.45s
}

.navigation ul li:nth-child(6) {
    transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.5s
}

.navigation ul li:nth-child(7) {
    transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.55s
}

.navigation ul li:nth-child(8) {
    transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.6s
}

.navigation ul li a {
    color: #fff;
    display: block;
    position: relative
}

.navigation ul li a:before {
    position: absolute;
    content: '';
    display: inline-block;
    width: 0px;
    height: 100%;
    background: #fff;
    -webkit-transition: width .2s;
    transition: width .2s;
    vertical-align: top
}

.navigation ul li a .span {
    transform: translate3d(1rem, 0, 0);
    transition: all .2s
}

.navigation ul li a dl {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.navigation ul li a dl dt {
    margin-right: 1rem;
    color: #fff;
    font-size: 2.6rem;
    letter-spacing: 0.02rem;
    font-family: source-han-serif-japanese, serif
}

@media only screen and (max-width: 768px) {
    .navigation ul li a dl dt {
        font-size: 2.2rem;
        letter-spacing: 0.00em;
        line-height: 1;
        margin-right: 1.5rem
    }
}

.navigation ul li a dl dd {
    color: #fff;
    font-size: 1.3rem;
    letter-spacing: 0.04em;
    margin-left: auto
}

@media only screen and (max-width: 768px) {
    .navigation ul li a dl dd {
        font-size: 1.2rem;
        letter-spacing: 0.00em
    }
}

.navigation ul li a:hover:before {
    width: 2px
}

.navigation ul li a:hover .span {
    transform: translate3d(29px, 0, 0)
}

.navigation.nhover:before {
    -webkit-transform: translate3d(-15px, 0, 0);
    transform: translate3d(-15px, 0, 0)
}

.menuOpen .navigation:after {
    opacity: 1
}

.menuOpen .navigation .navTitle {
    opacity: 1
}

.menuOpen .navigation li {
    left: 0px;
    opacity: 1;
    -webkit-transform: translate3d(0px, 0, 0);
    transform: translate3d(0px, 0, 0)
}

.navigation .naviInner {
    position: absolute;
    top: 0;
    right: -50%;
    width: 50%;
    height: 100%;
    background: #333;
    z-index: 11;
    transition: all 0.65s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

@media only screen and (max-width: 768px) {
    .navigation .naviInner {
        right: -100%;
        width: 100%
    }
}

.navigation .naviInner .naviDetail {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-align-content: center;
    align-content: center;
    position: relative;
    width: 100%;
    height: 100%
}

.navigation .naviInner .naviDetail .naviBox {
    width: 80%
}

.navigation .naviInner .naviDetail .naviBox .navTitle {
    color: #fff;
    font-size: 2.6rem;
    letter-spacing: 0.02rem;
    font-family: source-han-serif-japanese, serif;
    margin-bottom: 5rem
}

.menuOpen .navigation .naviInner {
    right: -0%
}

.contentsIn {
    transition: all 0.35s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.chover {
    -webkit-transform: translate3d(-15px, 0, 0);
    transform: translate3d(-15px, 0, 0)
}

.menuOpen .navigation.nhover:before,
.menuOpen .chover {
    -webkit-transform: translate3d(0px, 0, 0) !important;
    transform: translate3d(0px, 0, 0) !important
}

.navigation .black {
    background: #333;
    position: absolute;
    top: 0;
    right: -50%;
    width: 50%;
    height: 100%;
    transition: all 0.65s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.menuOpen .black {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0)
}

#wrap {
    position: relative;
    z-index: 91;
    transition: all 0.65s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

@media screen and (min-width: 769px) {
    body {
        font-size: 80%
    }

    .sp,
    br.s {
        display: none !important
    }

    .text {
        font-size: 1.4rem;
        line-height: 2.4rem;
        letter-spacing: 0.04em
    }

    .text01 {
        font-size: 1.6rem;
        line-height: 3.6rem;
        font-weight: 500;
        font-feature-settings: "palt"1
    }

    .text02 {
        font-size: 1.6rem;
        line-height: 3.2rem;
        font-weight: 500;
        letter-spacing: 0.04rem;
        font-feature-settings: "palt"1
    }

    .text03 {
        font-size: 1.6rem;
        line-height: 3.0rem;
        font-weight: 500;
        letter-spacing: 0.04em
    }

    .text14 {
        font-size: 1.3rem;
        line-height: 2.3rem;
        letter-spacing: 0.04em
    }

    .text13 {
        font-size: 13px;
        line-height: 1.95;
        letter-spacing: 0.04em
    }
}

@media screen and (max-width: 768px) {
    html {
        font-size: 75%
    }

    body {
        font-size: 0.9rem
    }

    html,
    body {
        -webkit-text-size-adjust: 100%;
        -webkit-font-smoothing: antialiased
    }

    .pc,
    br.p {
        display: none !important
    }

    .text01 {
        font-size: 1.6rem;
        line-height: 3.6rem;
        font-weight: 500;
        letter-spacing: 0.04em
    }

    .text02 {
        font-size: 1.6rem;
        line-height: 3.4rem;
        font-weight: 500;
        letter-spacing: 0.04rem
    }

    .text03 {
        font-size: 1.6rem;
        line-height: 3.0rem;
        font-weight: 500;
        letter-spacing: 0.04em
    }

    .text,
    .text16 {
        font-size: 1.6rem;
        line-height: 2.6rem;
        letter-spacing: 0.04em
    }

    .text14 {
        font-size: 1.6rem;
        line-height: 2.8rem;
        letter-spacing: 0.02em
    }

    img {
        width: 100%;
        height: auto
    }
}

@media screen and (max-width: 768px) {
    html {
        font-size: 1.980644vw
    }
}

@media screen and (min-width: 769px) {
    html {
        font-size: 0.7806442167vw
    }

    body {
        font-size: .16rem
    }

    .sp,
    br.s {
        display: none !important
    }
}

@media screen and (min-width: 1401px) {
    html {
        font-size: 63.5%
    }
}

.companyWrap .topBussinessWrap .flexWrap:after {
    display: none;
}

.companyWrap .strength {
    margin-bottom: 0;
}

.companyWrap .strength .innerDX1600 {
    padding-bottom: 0;
}

.strength .inin ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: center;
    margin-top: 0rem;
    margin-bottom: 4rem
}

.strength .inin ul li {
    width: 49%;
    border: 1px solid #0B72DD;
    padding: 1rem 3rem;
    font-size: 1.6rem;
    font-weight: bold;
    color: #0B72DD;
    margin-bottom: 2%;
}

.strength .inin ul li a {
    color: #fff;
}

.strength .inin ul li:last-child:hover {
    background-color: #fff;
}

.strength .inin ul li:last-child:hover a {
    color: #0B72DD;
}

.privacy .heading.is-bg {
    background-color: #edf1fa;
    padding: 8px 16px;
    border-left: 4px solid #0B72DD;
    margin-bottom: 40px;
    font-size: 20px;
    letter-spacing: 2px;
    font-weight: bold;
}

.privacy .heading.is-leftline {
    position: relative;
    padding-bottom: 14px;
    margin-bottom: 40px;
}

.privacy .u-mbs.is-md {
    margin-top: 56px;
}

.contactForm input[type="checkbox"] {
    width: 18px;
    height: 18px;
    vertical-align: middle;
    border: 1px solid;
    margin-right: 3px;
}

.contactForm .c-form-block__checkbox {
    text-align: center;
}

.contactForm .c-form-block__checkbox a {
    color: #0B72DD;
    text-decoration: underline;
}

.privacy p {
    color: #333;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 16px;
    letter-spacing: 1.5px;
    line-height: 2;
}

.privacy .heading.is-sm {
    font-size: 30px;
    letter-spacing: 3px;
    margin-bottom: 10px;
}

.privacy .heading.is-leftline {
    position: relative;
    padding-bottom: 14px;
    margin-bottom: 40px;
    padding-top: 40px;
}

.privacy .heading.is-leftline:after{
    content: "";
    display: block;
    width: 80px;
    height: 2px;
    background-color: #0B72DD;
    position: absolute;
    left: 0;
    bottom: 0;
}

header .headerInner #nav ul li .sec_menu{
    position: absolute;
    top: 90%;
    background: #0B72DD;
    display: block;
    width: 130px;
    height: auto;
    display: none;
}
header .headerInner #nav ul li .sec_menu>li{
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    
}
header .headerInner #nav ul li .sec_menu>li>a{
    display: block;
    color: #fff;
    padding: 10px 0;
}

header .headerInner #nav ul li .sec_menu>li>a:hover{
    background-color: #242966;
}

@media screen and (max-width: 768px) {

    .privacy .heading.is-bg {
        margin-bottom: 24px;
    }

    .privacy .heading.is-leftline {
        margin-bottom: 24px;
    }

    .privacy .u-mbs.is-md {
        margin-top: 32px;
    }

    .privacy p {
        font-size: 13rem;
        line-height: 1.2;
        line-height: 1.5;
    }

    .contactForm .c-form-block__checkbox {
        margin-bottom: 5%;
    }

    .privacy .heading.is-leftline {
        margin-bottom: 24px;
        padding-top: 30px;
    }

    .privacy .heading.is-sm {
        font-size: 24px;
        letter-spacing: 2px;
    }
    .privacy .heading.is-leftline:after{
        width: 64px;
    }

    .strength .inin ul li,.strength .inin ul li img{
        width: 100% !important;
        height: auto !important;
    }
}

/*# sourceMappingURL=style.css.map */