@charset "UTF-8";
.flow {
    margin-top: 30px
}
#common-nav ul li a:after, #fix-nav ul li a:after, .flow-list:after, .footer-nav li a:after, .mv-nav li a:after {
    content: ''
}
q:after, q:before {
    content: ''
}
html, legend {
    color: #000
}
.between, .flow-list {
    -webkit-box-pack: justify
}
blockquote, body, code, dd, div, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, input, legend, li, ol, p, pre, td, textarea, th, ul {
    margin: 0;
    padding: 0
}
table {
    border-collapse: collapse;
    border-spacing: 0
}
fieldset, img {
    border: 0
}
address, caption, cite, code, dfn, em, strong, th, var {
    font-style: normal;
    font-weight: 400
}
ol, ul {
    list-style: none
}
caption, th {
    text-align: left
}
h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: 400;
    line-height: 1.2
}
abbr, acronym {
    border: 0;
    font-variant: normal
}
sup {
    vertical-align: text-top
}
sub {
    vertical-align: text-bottom
}
input, select, textarea {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit
}
#wrapper {
    font-weight: 600
}
.b600 {
    font-weight: 600
}
.b600 em {
    font-weight: 600
}
.title02 span {
    font-weight: 600
}
article, aside, audio, bb, canvas, datagrid, datalist, details, dialog, eventsource, figure, footer, header, hgroup, main, mark, menu, meter, nav, output, progress, section, time, video {
    display: block;
    margin: 0;
    padding: 0
}
.inner1040, .inner960 {
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    max-width: 100%
}
.cf:after, .pageMenu ul:after, .post:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden
}
.cf {
    min-height: 1px
}
.fr {
    margin-left: 20px;
    margin-bottom: 10px;
    float: right
}
* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
html {
    background: #fff;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 10px
}
body {
    max-height: 100%
}
p {
    text-align: justify;
    line-height: 1.6
}
a {
    text-decoration: none
}
iframe, img {
    vertical-align: bottom;
    max-width: 100%
}
.iframe {
    position: relative
}
.iframe iframe {
    width: 100%;
    height: 600px;
    position: absolute;
    top: -150px;
    left: 0
}
.map {
    margin-top: 15px;
    width: 100%;
    height: 300px;
    overflow: hidden
}
.map-link {
    margin-left: 30px;
    color: #d62727
}
.map-link img {
    margin-right: 5px
}
#wrapper {
    font-family: "Noto Sans JP", ÓÎ¥´¥·¥Ã¥¯Ìå, "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "¥Ò¥é¥®¥Î½Ç¥´ ProN W3", Meiryo, ¥á¥¤¥ê¥ª, Osaka, "MS PGothic", arial, helvetica, sans-serif;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
    position: relative;
    overflow: hidden;
    color: #272629
}
.header-left p, .header-right ul li span, .header-text, .text-box p em a {
    font-weight: 700
}
.inner1040 {
    width: 1080px
}
.inner960 {
    width: 1000px
}
.flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex
}
.between {
    -webkit-justify-content: space-between;
    justify-content: space-between
}
.wrap {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}
.flexbot {
    -webkit-align-items: flex-end;
    align-items: flex-end
}
.right {
    -moz-box-pack: flex-end;
    -ms-flex-pack: flex-end;
    -ms-flex-box: flex-end;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    -webkit-box-pack: end;
    justify-content: flex-end
}
.center {
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -ms-flex-box: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center
}
.vertical {
    -webkit-align-items: center;
    -webkit-box-align: center;
    align-items: center
}
.first-box {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    order: -1
}
.text-box p {
    line-height: 2
}
.text-box p em a {
    color: #a52226;
    text-decoration: underline
}
.text-box p+p {
    margin-top: 20px
}
.text-box.tc p {
    text-align: center
}
.tr {
    text-align: right
}
.tr p {
    text-align: right
}
#common-nav ul, #fix-nav ul, .btn-submit, .copy p, .flow-list dt, .footer-nav, .table-layout01 tr th, .tc, .title01 {
    text-align: center
}
.f12 {
    font-size: 12px;
    font-size: 1.2rem
}
.mt10 {
    margin-top: 10px
}
.mt20 {
    margin-top: 20px
}
.mt60 {
    margin-top: 60px
}
.mb20 {
    margin-bottom: 20px
}
.mb30 {
    margin-bottom: 30px
}
.mb10 {
    margin-bottom: 10px
}
.title01 {
    margin-bottom: 40px
}
.title02 {
    margin-bottom: 15px
}
.title02 span {
    padding: 8px 40px 8px 20px;
    display: inline-block;
    font-size: 20px;
    font-size: 2rem;
    background: url(../img/title02-bg.png) center no-repeat;
    -webkit-background-size: 100% 100%;
    background-size: 100% 100%
}
.image-float {
    margin-top: 20px;
    margin-bottom: 20px;
    overflow: hidden
}
.image-float-left {
    margin-right: 20px;
    float: left
}
.item {
    position: absolute;
    z-index: -1;
    bottom: 0;
    right: -100px
}
.item-right {
    bottom: 0;
    right: 0;
    -webkit-transform: translate(150px, 150px);
    transform: translate(150px, 150px)
}
.item-left {
    bottom: 0;
    left: 0;
    -webkit-transform: translate(-150px, 150px);
    transform: translate(-150px, 150px)
}
.half-box68 {
    width: 68%
}
.half-box66 {
    width: 66%
}
.half-box64 {
    width: 64%
}
.half-box62 {
    width: 62%
}
.half-box60 {
    width: 60%
}
.half-box58 {
    width: 58%
}
.half-box57 {
    width: 57%
}
.half-box56 {
    width: 56%
}
.half-box55 {
    width: 55%
}
.half-box54 {
    width: 54%
}
.half-box53 {
    width: 53%
}
.half-box52 {
    width: 52%
}
.half-box50 {
    width: 50%
}
.half-box43 {
    width: 43%
}
.half-box44 {
    width: 44%
}
.half-box45 {
    width: 45%
}
.half-box46 {
    width: 46%
}
.half-box47 {
    width: 47%
}
.half-box48 {
    width: 48%
}
.half-box49 {
    width: 49%
}
.half-box498 {
    width: 49.8%
}
.half-box42 {
    width: 42%
}
.half-box40 {
    width: 40%
}
.half-box38 {
    width: 38%
}
.half-box36 {
    width: 36%
}
.half-box34 {
    width: 34%
}
.half-box32 {
    width: 32%
}
.half-box30 {
    width: 30%
}
.half-box28 {
    width: 28%
}
.bg-base, .bg-black {
    background: #272629;
    color: #fff
}
.bg01 {
    background: #2b2b31;
    color: #fff
}
.bg02 {
    background: #f2f2f2
}
.bg-grey {
    background: #f2f2f2
}
.content {
    padding-top: 60px;
    padding-bottom: 60px
}
#nav-torigger, .btn-reset {
    padding: 0;
    font-size: inherit;
    color: inherit;
    outline: 0;
    vertical-align: middle
}
.re {
    position: relative
}
.sp {
    display: none!important
}
.btn-reset {
    -webkit-appearance: none;
    appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
    border: 0;
    margin: 0;
    background: 0 0;
    cursor: pointer
}
.border {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #f8c9c2));
    background: linear-gradient(transparent 60%, #f8c9c2 40%)
}
#common-nav, #fix-nav {
    background: #2b2b31
}
#common-header {
    padding-top: 24px;
    padding-bottom: 14px
}
.header-left div, .header-left h1 {
    width: 367px
}
.header-left p {
    margin-bottom: 8px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1
}
.header-text {
    margin-bottom: 8px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1
}
.header-right {
    margin-top: 5px
}
.header-right ul li {
    line-height: 1.2
}
.header-right ul li .tel-link {
    margin-bottom: 5px
}
.header-right ul li+li {
    margin-left: 30px
}
#common-nav ul, #fix-nav ul {
    padding-top: 16px;
    padding-bottom: 15px
}
#common-nav ul li, #fix-nav ul li {
    display: inline-block
}
#common-nav ul li:last-child a:after, #fix-nav ul li:last-child a:after, .footer-nav li:last-child a:after {
    content: none
}
#common-nav ul li a, #fix-nav ul li a {
    padding: 0 30px;
    color: #fff;
    font-size: 18px;
    font-size: 1.8rem;
    display: inline-block;
    font-style: italic;
    position: relative;
    -webkit-transition: all .5s ease;
    transition: all .5s ease
}
#common-nav ul li a:hover, #fix-nav ul li a:hover {
    color: #fff0c1
}
#common-nav ul li a:after {
    width: 1px;
    height: 100%;
    display: block;
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg)
}
#fix-nav {
    display: none;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 80
}
#fix-nav ul li a:after {
    width: 1px;
    height: 100%;
    display: block;
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg)
}
@media all and (-ms-high-contrast:none) {
    .header-left p {
        margin-bottom: 5px
    }
    .header-text {
        margin-bottom: 5px
    }
    #common-nav ul li a, #fix-nav ul li a {
        top: 3px;
        font-weight: 700
    }
    #common-nav ul li a:after, #fix-nav ul li a:after {
        top: -3px
    }
}
#nav-torigger {
    -webkit-appearance: none;
    appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
    border: 0;
    margin: 0;
    background: 0 0;
    display: none;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 20px;
    height: 16px;
    z-index: 100;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
#nav-torigger span {
    display: block;
    width: 100%;
    height: 4px;
    background: #000;
    position: absolute;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    left: 0;
    -webkit-transition: all .5s ease;
    transition: all .5s ease
}
#nav-torigger span:nth-of-type(1) {
    top: 0
}
#nav-torigger span:nth-of-type(2) {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
#nav-torigger span:nth-of-type(3) {
    bottom: 0
}
#nav-torigger.nav-active {
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg)
}
#nav-torigger.nav-active span:nth-of-type(1) {
    -webkit-transform: translate(0, 6px) rotate(45deg);
    transform: translate(0, 6px) rotate(45deg)
}
#nav-torigger.nav-active span:nth-of-type(2) {
    opacity: 0
}
#nav-torigger.nav-active span:nth-of-type(3) {
    -webkit-transform: translate(0, -6px) rotate(-45deg);
    transform: translate(0, -6px) rotate(-45deg)
}
.sp-nav {
    margin-top: 30px
}
.sp-nav .tel-link {
    margin-bottom: 30px
}
.sp-nav .tel-link span {
    margin-top: 10px;
    display: block;
    color: #fff
}
#common-footer {
    margin-top: 100px;
    padding-top: 40px;
    color: #fff;
    background: #2b2b31
}
#common-footer .header-left {
    padding-top: 0
}
#common-footer .header-left p {
    font-weight: 500;
    line-height: 1.4
}
.footer-nav {
    margin: 30px 0
}
.footer-nav li {
    display: inline-block;
    vertical-align: middle
}
.footer-nav li a {
    padding: 0 30px;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    display: inline-block;
    font-style: italic;
    position: relative;
    -webkit-transition: all .5s ease;
    transition: all .5s ease
}
.btn-submit, .mv-nav li a:after {
    -webkit-transition: all .5s ease
}
.footer-nav li a:hover {
    color: #fff0c1
}
.footer-nav li a:after {
    width: 1px;
    height: 100%;
    display: block;
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg)
}
.copy {
    padding-top: 5px;
    padding-bottom: 5px;
    background: #55555a
}
.copy p small {
    font-weight: 400;
    letter-spacing: 1px
}
#page-top {
    display: none;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 50;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}
.grecaptcha-badge {
    bottom: 2px!important
}
#mainvisual {
    padding-top: 25px;
    height: 730px;
    background: url(../img/img3.png) center top no-repeat;
    background-size: auto 100%
}
@media only screen and (-webkit-min-device-pixel-ratio:2) {
    #mainvisual {
        background: url(../img/img3@2x.png) center top no-repeat;
        background-size: auto 100%
    }
}
#mainvisual .inner1040 {
    padding-left: 60px
}
.mv-nav {
    margin-top: 50px
}
.mv-nav li {
    display: inline-block;
    vertical-align: middle
}
.mv-nav li a {
    position: relative;
    display: inline-block
}
.mv-nav li a:after {
    width: 100%;
    height: 100%;
    background: #fff;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: all .5s ease
}
.mv-nav li a:hover:after {
    opacity: .3
}
.mv-nav li+li {
    margin-left: 20px
}
.top-box {
    margin: 0 auto;
    width: 850px;
    max-width: 100%
}
.company-container {
    padding-top: 40px;
    padding-bottom: 60px;
    position: relative;
    z-index: 0
}
.about-item01 {
    width: 84.375%;
    top: -20px;
    left: -37.08333%;
    z-index: -1
}
.about-item02 {
    width: 32.5%;
    top: -65px;
    right: -11.45833%;
    z-index: -1
}
.works-flow {
    margin: 30px 0 0
}
.works-flow dt {
    margin-bottom: 10px
}
.works-wrap {
    margin-bottom: 60px
}
.works-box+.works-box {
    margin-top: 25px
}
.works-img+.works-img {
    margin-top: 15px
}
.works-box2 {
    margin: 20px 0;
    margin-top: 30px
}
.works-box2 h4 {
    margin-bottom: 8px;
    padding-left: 15px;
    padding-top: 6px;
    padding-bottom: 6px;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.4
}
.works-box3 {
    margin: 20px 0;
    border: 1px solid #ccc;
    border-radius: 15px;
    overflow: hidden
}
.works-box3 h4 {
    padding: 10px;
    text-align: center;
    background: #404046;
    font-size: 1.8rem;
    font-weight: 500;
    border-bottom: 1px solid #ccc
}
.works-box3 dl {
    padding: 20px
}
.works-box3 dl+dl {
    padding-top: 5px
}
.works-box3 dl dt {
    margin-bottom: 8px;
    line-height: 1.2;
    font-size: 1.6rem
}
.works-box3 dl dd {
    line-height: 1.4;
    font-size: 1.4rem;
    font-weight: 400
}
.works-box4 {
    margin: 20px 0
}
.works-box4 h4 {
    margin-bottom: 10px;
    font-size: 2rem;
    letter-spacing: 1px;
    font-weight: 700
}
.flow-list {
    padding-top: 18px;
    padding-bottom: 18px;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between
}
.flow-list:after {
    width: 100%;
    height: 11px;
    background: url(../img/flow-border.png) center no-repeat;
    -webkit-background-size: 100% 100%;
    background-size: 100% 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
}
.company-info, .interview-img {
    -webkit-transform: translateY(-50%);
    top: 50%
}
.flow-list:last-child {
    border-bottom: 1px dotted #808ca2
}
.flow-list:last-child:after {
    content: none
}
.flow-list dd {
    line-height: 1.3
}
.flow-list dt {
    line-height: 1.3;
    padding: 2px 5px;
    width: 15.09434%;
    background: #4d4d4d;
    color: #fff
}
.flow-list dd {
    width: 81.13208%
}
.interview-box {
    margin: 60px 0;
    position: relative
}
.interview-img {
    width: 29.32692%;
    position: absolute;
    left: 0;
    transform: translateY(-50%);
    z-index: 1
}
.interview-info {
    margin-left: auto;
    margin-right: auto;
    padding: 26px 7.69231% 20px;
    width: 89.42308%;
    background: #3299d1;
    min-height: 206px;
    color: #fff;
    -webkit-transform: skewX(-10deg);
    -moz-transform: skewX(-10deg);
    -ms-transform: skewX(-10deg);
    -o-transform: skewX(-10deg);
    transform: skewX(-10deg)
}
.interview-info h3 {
    margin-bottom: 8px;
    padding-bottom: 10px;
    padding-left: 38px;
    border-bottom: 1px dashed #fff;
    letter-spacing: 1px;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 600;
    position: relative
}
.interview-info h3:before {
    content: '';
    width: 28px;
    height: 24px;
    background: url(../img/icon-comment.png) no-repeat center;
    background-size: 100% 100%;
    position: absolute;
    top: 3px;
    left: 0
}
.interview-info p {
    line-height: 2
}
.interview-info .skew-def {
    -webkit-transform: skewX(10deg);
    -moz-transform: skewX(10deg);
    -ms-transform: skewX(10deg);
    -o-transform: skewX(10deg);
    transform: skewX(10deg)
}
.interview-box2 .interview-img {
    left: auto;
    right: 0
}
.interview-box2 .interview-info {
    background: #1a4e80
}
.companyinfo-container {
    min-height: 680px;
    background: url(../img/img18.png) center no-repeat;
    -webkit-background-size: auto 100%;
    background-size: auto 100%;
    position: relative
}
@media only screen and (-webkit-min-device-pixel-ratio:2) {
    .companyinfo-container {
        background: url(../img/img18@2x.png) center no-repeat;
        -webkit-background-size: auto 100%;
        background-size: auto 100%
    }
}
.insta-linker {
    margin-bottom: 20px;
    margin-top: 40px;
    text-align: center
}
.insta-linker dt {
    margin-bottom: 15px
}
@media only screen and (min-width:768px) {
    .insta-linker dd a {
        transition: all .5s ease
    }
    .insta-linker dd a:hover {
        opacity: .6
    }
}
.company-info {
    position: absolute;
    width: 100%;
    left: 0;
    transform: translateY(-50%)
}
.companyinfo-slider {
    position: relative
}
.companyinfo-slider .bx-wrapper {
    margin: 0 auto
}
.companyinfo-slider .bx-controls-direction a {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
.companyinfo-slider .bx-controls-direction a.bx-prev {
    left: 0
}
.companyinfo-slider .bx-controls-direction a.bx-next {
    right: 0
}
.companyinfoSlider {
    margin-left: auto;
    margin-right: auto;
    width: 965px;
    max-width: 100%
}
.companyinfoSlider.slick-slider {
    position: static
}
.companyinfoSlider .slick-list {
    margin: 0 -10px
}
.companyinfoSlider .slick-slide {
    padding: 0 10px
}
.companyinfoSlider .slick-arrow {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1
}
.companyinfoSlider .slick-arrow.slick-prev {
    left: 0
}
.companyinfoSlider .slick-arrow.slick-next {
    right: 0
}
.companyinfoSlider figure a {
    transition: all .5s ease
}
.companyinfoSlider figure a:hover {
    opacity: .6
}
.pt0 {
    padding-top: 0
}
.message-wrapper {
    padding: 60px;
    border: 15px solid #1a4e80;
    background: url(../img/bg-ami.gif)
}
.message-img {
    position: relative;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
    width: 100%
}
.video-wrapper {
    margin: 20px auto 0;
    width: 600px;
    padding-top: 338px;
    max-width: 100%;
    position: relative
}
.video-wrapper video {
    width: 100%;
    height: 100%;
    outline: 0;
    position: absolute;
    top: 0;
    left: 0
}
.video-btn {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 70px;
    cursor: pointer;
    z-index: 1
}
.videos {
    width: 100%
}
#youtubeIframe {
    width: 100%;
    aspect-ratio: 16/9;
    height: auto
}
@media only screen and (min-width:768px) {
    .h {
        transition: all .5s ease
    }
    .h:hover {
        opacity: .6
    }
}
.owner-half {
    padding-right: 30px;
    width: 50%;
    border-right: 1px dotted #fff
}
.owner-half+.owner-half {
    padding-right: 0;
    padding-left: 30px;
    border-right: none
}
.price-data {
    margin-left: 30px;
    margin-bottom: 40px;
    padding: 20px;
    width: 48.78049%;
    border: 1px solid #b3b3b3
}
.recaptcha_policy {
    margin-top: 10px;
    text-align: center;
    font-weight: 400;
    font-size: 1rem;
    color: #707070;
    letter-spacing: .5px
}
.recaptcha_policy a {
    color: #1a4e80;
    text-decoration: underline
}
.recaptcha_policy a:hover {
    text-decoration: none
}
.grecaptcha-badge {
    visibility: hidden
}
.table-layout01 {
    width: 100%;
    background: #fff
}
.table-layout01+.table-layout01 {
    margin-top: 60px
}
.table-layout01.type2 tr th {
    background: #ffffdb
}
.table-layout01 tr {
    border-top: 1px solid #b3b3b3
}
.table-layout01 tr:last-child {
    border-bottom: 1px solid #b3b3b3
}
.table-layout01 tr td {
    padding-top: 15px;
    padding-bottom: 15px;
    line-height: 1.6;
    font-weight: 600;
    word-break: break-all
}
.table-layout01 tr th {
    padding-top: 15px;
    padding-bottom: 15px;
    line-height: 1.6;
    font-weight: 600;
    padding-left: 15px;
    padding-right: 15px;
    vertical-align: top;
    width: 22.29167%;
    background: #d6ebf6
}
.table-layout01 tr td {
    padding-left: 45px;
    padding-right: 45px
}
.table-layout01 tr td a {
    color: #272629;
    text-decoration: underline
}
.table-layout01 tr td ul li {
    display: inline-block;
    vertical-align: middle
}
.table-layout01 tr td ul li+li {
    margin-left: 20px
}
.table-layout01.table-layout02 tr td {
    font-weight: 500
}
.table-layout01.table-layout02 tr th {
    font-weight: 500;
    background: #2b2b31;
    color: #fff;
    vertical-align: middle
}
.form-input {
    padding-left: 10px;
    padding-right: 10px;
    line-height: 40px;
    height: 40px;
    border: 1px solid #b3b3b3;
    -webkit-border-radius: 5px;
    border-radius: 5px
}
.form-textarea {
    padding: 10px;
    border: 1px solid #b3b3b3;
    height: 200px;
    resize: vertical;
    -webkit-border-radius: 5px;
    border-radius: 5px
}
.input50 {
    width: 50%
}
.input60 {
    width: 60%
}
.input90 {
    width: 90%
}
.input10 {
    width: 10%
}
.input100 {
    width: 100%
}
.input-suport {
    margin-left: 5px
}
input[type=checkbox], input[type=radio] {
    margin-right: 5px
}
.btn-submit {
    margin: 40px auto;
    display: block;
    transition: all .5s ease
}
.btn-submit:hover {
    opacity: .6
}
.g-recaptcha {
    margin: 40px auto 0;
    width: 300px;
    max-width: 100%
}
.border-right {
    margin: 5px 0;
    padding-left: 15px;
    border-left: 1px solid #366aa2;
    display: inline-block
}
@media only screen and (max-width:1000px) {
    html {
        font-size: 1vw
    }
}
@media only screen and (max-width:768px) {
    .header-left div, .header-left h1 {
        width: 250px
    }
    .header-right .tel-link img {
        width: 180px
    }
    .header-right ul li a img {
        width: 160px
    }
    .header-right ul li+li {
        margin-left: 15px
    }
    #common-nav ul li a, #fix-nav ul li a {
        padding: 0 20px
    }
}
@media only screen and (max-width:640px) {
    #common-header, #common-nav {
        width: 100%;
        position: fixed;
        top: 0;
        left: 0
    }
    #common-header {
        padding-top: 10px;
        padding-bottom: 10px
    }
    #common-nav ul li a {
        padding-top: 20px;
        padding-bottom: 20px;
        border-bottom: 1px solid #fff
    }
    .header-left div, .header-left h1 {
        width: 180px
    }
    .footer-nav li:last-child a {
        border-bottom: 1px solid #fff
    }
    #common-nav ul li a:after, .footer-nav li a:after {
        content: none
    }
    html {
        font-size: 1.8vw
    }
    .pc {
        display: none!important
    }
    .sp {
        display: block!important
    }
    #wrapper {
        font-size: 16px;
        font-size: 1.6rem
    }
    #common-header .header-right {
        display: none
    }
    #common-nav ul li {
        display: block
    }
    #common-nav ul li a {
        display: block
    }
    #nav-torigger, .flex {
        display: block
    }
    .flex-box {
        width: 100%
    }
    .flex-space {
        margin: 30px 0
    }
    #common-header {
        padding-top: 5px;
        background: #fff;
        z-index: 100
    }
    #common-nav {
        padding-bottom: 60px;
        padding-top: 30px;
        z-index: 99;
        display: none;
        opacity: 0;
        overflow-y: scroll;
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
    .interview-img {
        position: static;
        text-align: center
    }
    #common-nav ul li:last-child {
        border-bottom: none
    }
    .header-left {
        padding-top: 0
    }
    .header-left div, .header-left h1 {
        padding-top: 0
    }
    .header-left h1 {
        top: 0
    }
    .header-left p {
        margin-bottom: 8px;
        line-height: 1
    }
    #mainvisual {
        margin-bottom: 5%;
        padding-top: 5%;
        padding-bottom: 30%;
        background: url(../img/img4.png) center top no-repeat;
        -webkit-background-size: 100% auto;
        background-size: 100% auto;
        height: auto
    }
}
@media only screen and (max-width:640px) and (-webkit-min-device-pixel-ratio:2) {
    #mainvisual {
        background: url(../img/img4@2x.png) center top no-repeat;
        -webkit-background-size: 100% auto;
        background-size: 100% auto
    }
}
@media only screen and (max-width:640px) {
    .text-box.sp_tal {
        text-align: justify
    }
    .text-box.sp_tal p {
        text-align: justify
    }
    .works-box3 h4 {
        font-size: 2rem
    }
    .works-box3 dl dt {
        font-size: 1.8rem
    }
    .works-box3 dl dd {
        font-size: 1.6rem
    }
    .price-data {
        margin: 0;
        margin-top: 30px
    }
    .tr {
        margin-top: 20px;
        float: none
    }
    #mainvisual .inner1040 {
        padding-left: 20px
    }
    .mv-nav {
        margin-top: 6.66667%;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between
    }
    .mv-nav li {
        width: 48%
    }
    .mv-nav li img {
        width: 100%
    }
    .mv-nav li+li {
        margin-left: 0
    }
    .item {
        width: 100%
    }
    .interview-box:last-of-type {
        margin-bottom: 0
    }
    .interview-img {
        margin-bottom: 20px;
        width: 100%;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    .interview-box2 .interview-info, .interview-info {
        margin: 0;
        width: 100%;
        padding: 30px 20px;
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;
        transform: none
    }
    .interview-box2 .interview-info .skew-def, .interview-info .skew-def {
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;
        transform: none
    }
    .message-wrapper {
        padding-left: 15px;
        padding-right: 15px;
        border-width: 10px
    }
    .flex-center {
        text-align: center
    }
    .table-layout01 tr {
        padding-bottom: 40px;
        display: block
    }
    .table-layout01 tr td {
        display: block;
        width: 100%;
        line-height: 2
    }
    .table-layout01 tr th {
        display: block;
        width: 100%;
        line-height: 2;
        margin-bottom: 15px;
        padding: 15px
    }
    .table-layout01 tr td {
        padding: 0;
        text-align: center
    }
    .table-layout01 tr td p {
        text-align: center
    }
    .form-input {
        line-height: 50px;
        height: 50px
    }
    .input50, .input60, .input90 {
        width: 100%
    }
    .input10 {
        width: 20%
    }
    #common-footer .header-left {
        margin-bottom: 30px
    }
    #common-footer .header-left div, #common-footer .header-left p {
        width: 100%;
        text-align: center
    }
    #common-footer .header-left div img {
        width: 80%
    }
    #common-footer .header-right ul li {
        margin-bottom: 30px;
        text-align: center
    }
    #common-footer .header-right ul li img {
        width: 300px
    }
    #common-footer .header-right ul li span {
        margin-top: 15px;
        display: inline-block
    }
    .footer-nav {
        margin: 60px 0
    }
    .footer-nav li {
        display: block
    }
    .footer-nav li a {
        padding: 20px;
        display: block;
        text-align: center;
        border-top: 1px solid #fff
    }
    .message-img {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    .flow-list dt {
        width: 20%
    }
    .flow-list dd {
        width: 78%
    }
    .video-wrapper {
        padding-top: 56.2%
    }
    .map-link {
        margin-top: 15px;
        margin-left: 0
    }
    .map-link img {
        vertical-align: middle
    }
    .fr {
        margin-left: 0;
        float: none;
        text-align: center
    }
    .companyinfo-container {
        margin-bottom: 60px;
        min-height: unset;
        min-height: none;
        height: 450px;
        background-size: 100% 100%
    }
    .owner-half {
        border-right: none;
        padding: 0
    }
    .owner-half+.owner-half {
        padding: 0
    }
    .text-box.tc.tj_sp p {
        text-align: justify
    }
    .works-box2 h4 {
        font-size: 24px;
        font-size: 2.4rem
    }
    .header-text {
        line-height: 1.2
    }
    .text-box.taj_sp p {
        text-align: justify
    }
    .taj_sp {
        text-align: justify
    }
    .interview-info h3 {
        font-size: 2.4rem;
        line-height: 1.4
    }
}
@media only screen and (max-width:480px) {
    html {
        font-size: 2vw
    }
    #wrapper {
        font-size: 18px;
        font-size: 1.8rem
    }
    #page-top {
        width: 40px
    }
}
@media only screen and (max-width:360px) {
    .inner1040, .inner960 {
        padding-left: 15px;
        padding-right: 15px
    }
}