html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
input,
select,
textarea {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font-style: normal;
    font-weight: 400;
    vertical-align: bottom;
    background: transparent
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section {
    display: block
}

html {
    font-size: 62.5%
}

body {
    font-family: sans-serif;
    line-height: 1
}

ul,
ol {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none
}

a {
    margin: 0;
    padding: 0;
    vertical-align: bottom;
    background: transparent;
    outline: none
}

img {
    vertical-align: bottom
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold
}

del {
    text-decoration: line-through
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%
}

th,
td {
    text-align: left;
    vertical-align: top
}

input,
select,
textarea {
    font-family: inherit
}

input[type="submit"] {
    cursor: pointer
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}

html {
    overflow: auto
}

body {
    min-width: 320px;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
    color: #333;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: .05em;
    overflow: hidden;
    -webkit-text-size-adjust: 100%
}

@media all and (min-width: 600px) {
    body {
        min-width: 1100px;
        font-size: 1.5rem
    }
}

body.sg {
    height: auto
}

a {
    color: inherit;
    text-decoration: underline
}

@media all and (min-width: 600px) {
    a:hover {
        text-decoration: none
    }
}

span {
    font-weight: inherit
}

strong {
    font-weight: 700
}

img {
    width: 100%;
    height: auto
}

.l-wrapper {
    position: relative
}

.u-media-query {
    display: none;
    font-family: 'sp'
}

@media all and (min-width: 600px) {
    .u-media-query {
        font-family: 'pc'
    }
}

@media all and (max-width: 599px) {
    .u-view-pc {
        display: none !important
    }
}

@media all and (min-width: 600px) {
    .u-view-sp {
        display: none !important
    }
}

.u-alpha {
    display: block;
    text-decoration: none
}

@media all and (min-width: 600px) {
    .u-alpha {
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }

    .u-alpha:hover {
        opacity: .7
    }
}

.u-cf:after {
    content: "";
    display: block;
    clear: both
}

.u-inner {
    box-sizing: border-box
}

@media all and (max-width: 599px) {
    .u-inner {
        padding-left: 20px;
        padding-right: 20px
    }
}

@media all and (min-width: 600px) {
    .u-inner {
        width: 100%;
        max-width: 1100px;
        margin: auto
    }
}

.u-font-montserrat {
    font-family: 'Montserrat', sans-serif
}

.u-text-uppercase {
    text-transform: uppercase
}

.c-bg-blue01 {
    background: #eff7fc
}

.c-btn01 {
    max-width: 240px;
    margin: 30px auto 0;
    text-align: center
}

.c-btn01__link {
    display: block;
    padding: 10px 0;
    border: 1px solid #333;
    text-decoration: none;
    background: #333;
    color: #fff
}

@media all and (min-width: 600px) {
    .c-btn01 {
        max-width: 300px
    }

    .c-btn01__link {
        padding: 15px 0;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }

    .c-btn01__link:hover {
        opacity: .7
    }
}

.c-btn01.is-white .c-btn01__link {
    background: #fff;
    color: #333
}

.c-color-red {
    color: #d10e0c
}

.c-form01 input,
.c-form01 select,
.c-form01 textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    outline: 0;
    border-radius: 0
}

.c-form01 input[type='text'],
.c-form01 input[type="email"],
.c-form01 textarea {
    box-sizing: border-box;
    width: 100%;
    background: #e9ecef;
    padding: 10px 10px
}

.c-form01 select::-ms-expand {
    display: none
}

.c-form01 button {
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer
}

.c-form01 label {
    cursor: pointer
}

.c-form01 select {
    box-sizing: border-box;
    padding: 12px 30px 12px 10px;
    background: #e9ecef url(../img/common/ico_select01.png) no-repeat right 10px center/9px 7px;
    cursor: pointer
}

.c-form01 input[type='radio'] {
    display: none
}

.c-form01 input[type='radio']+span {
    position: relative;
    display: inline-block;
    padding-left: 27px;
    margin: 5px 20px 5px 9px
}

.c-form01 input[type='radio']+span:before {
    box-sizing: border-box;
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 1px solid #333;
    border-radius: 50%
}

.c-form01 input[type='radio']:checked+span:before {
    border-color: #d10e0c
}

.c-form01 input[type='radio']:checked+span:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 4px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    background: #d10e0c;
    border-radius: 50%
}

.c-form01 input[type='checkbox'] {
    display: none
}

.c-form01 input[type='checkbox']+span {
    position: relative;
    display: inline-block;
    padding-left: 17px;
    margin: 5px 20px 0 0;
    font-size: 1.2rem;
    letter-spacing: .03em
}

.c-form01 input[type='checkbox']+span:before {
    box-sizing: border-box;
    content: '';
    position: absolute;
    top: 4px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #333
}

.c-form01 input[type='checkbox']:checked+span:before {
    border-color: #d10e0c
}

.c-form01 input[type='checkbox']:checked+span:after {
    content: '';
    position: absolute;
    top: 5px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 2px;
    width: 10px;
    height: 5px;
    border: solid #d10e0c;
    border-width: 0 0 2px 2px
}

.c-form01 table {
    table-layout: fixed
}

.c-form01 th,
.c-form01 td {
    position: relative;
    box-sizing: border-box
}

.c-form01__th {
    font-weight: 1.5rem;
    font-weight: 700;
    line-height: 1.5
}

.c-form01__th-small {
    display: inline-block;
    margin-left: 10px;
    font-size: 1.2rem;
    font-weight: 500
}

.c-form01__tag {
    position: absolute;
    top: 10px;
    right: 0;
    display: inline-block;
    padding: 3px 10px;
    background: #d10e0c;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 10px
}

.c-form01__text .error {
    display: block
}

.c-form01__birth-select {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

.c-form01__birth-select-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.c-form01__birth-select.is-year input[type="text"] {
    width: 115px
}

.c-form01__birth-select.is-month {
    margin: 10px 15px 0 0
}

.c-form01__birth-select.is-month select {
    width: 80px
}

.c-form01__birth-select.is-day {
    margin-top: 10px
}

.c-form01__birth-select.is-day select {
    width: 80px
}

.c-form01__birth-in {
    margin-right: 5px
}

.c-form01__birth-txt {
    font-size: 1.5rem
}

.c-form01__birth .error {
    font-size: 1.3rem;
    width: 100%
}

.c-form01__check {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.c-form01__check .checkWrap {
    box-sizing: border-box;
    display: block;
    margin-top: 2px
}

.c-form01__check.is-type01 .checkWrap {
    width: 33.333%;
    padding-right: 5px
}

.c-form01__check.is-type02 .checkWrap {
    width: 100%
}

.c-form01__check.is-type03 .checkWrap {
    width: 50%;
    padding-right: 5px
}

.c-form01__job-in:nth-child(n+2) {
    margin-top: 15px
}

.c-form01__job-in-head {
    position: relative;
    padding-left: 20px;
    font-size: 1.6rem;
    font-weight: 700
}

.c-form01__job-in-head:before {
    content: '';
    position: absolute;
    top: 11px;
    left: 0;
    width: 10px;
    height: 10px;
    background: #d10e0c;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.c-form01__code {
    padding-top: 5px
}

.c-form01__code-txt {
    margin-bottom: 10px;
    font-weight: 700;
    line-height: 1.5
}

.c-form01__agree-check span {
    font-weight: 700;
    line-height: 1.5
}

.c-form01__agree-box {
    overflow-y: scroll;
    margin-top: 15px;
    border: 1px solid #e1e1e1
}

.c-form01__agree-box-in {
    height: 100px;
    padding: 10px 15px
}

.c-form01__agree-box-in-head {
    padding-bottom: 5px;
    font-weight: 700
}

.c-form01__agree-box-in-txt {
    padding-bottom: 15px
}

.c-form01__agree-box-in-txt.is-right {
    text-align: right
}

.c-form01__btn-wrap {
    margin-top: 35px
}

.c-form01__btn-wrap button {
    position: relative;
    box-sizing: border-box;
    font-family: inherit;
    width: 100%;
    padding: 15px 10px;
    border-radius: 5px;
    background: #d10e0c;
    color: #fff;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700
}

.c-form01__btn-wrap button:before {
    content: '';
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 15px;
    width: 6px;
    height: 9px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2217px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M2.090%2C16.987%20L-0.008%2C14.977%20L5.622%2C8.487%20L-0.008%2C1.991%20L2.090%2C-0.012%20L10.014%2C8.487%20L2.090%2C16.987%20L2.090%2C16.987%20Z%22%2F%3E%3C%2Fsvg%3E");
    -webkit-transition: all .6s ease;
    transition: all .6s ease
}

@media all and (max-width: 599px) {
    .c-form01 table {
        border-top: 2px solid #e1e1e1
    }

    .c-form01 th,
    .c-form01 td {
        display: block
    }

    .c-form01 th {
        padding-top: 12px
    }

    .c-form01 td {
        padding: 10px 0 12px;
        border-bottom: 2px solid #e1e1e1
    }
}

@media all and (min-width: 600px) {
    .c-form01 table {
        border-top: 1px solid #e1e1e1
    }

    .c-form01 th,
    .c-form01 td {
        border-bottom: 1px solid #e1e1e1
    }

    .c-form01 th {
        width: 235px;
        padding: 30px 15px 30px 0
    }

    .c-form01 th.is-center {
        vertical-align: middle
    }

    .c-form01 td {
        vertical-align: middle;
        padding: 30px 0 30px 15px
    }

    .c-form01 input[type='text'],
    .c-form01 input[type="email"],
    .c-form01 textarea {
        width: 550px;
        padding: 17px 15px
    }

    .c-form01 select {
        padding: 17px 30px 17px 10px;
        background: #e9ecef url(../img/common/ico_select01.png) no-repeat right 10px center/9px 7px
    }

    .c-form01 input[type='radio'] {
        display: none
    }

    .c-form01 input[type='radio']+span {
        padding-left: 30px;
        margin: 0 40px 0 0
    }

    .c-form01 input[type='radio']+span:before {
        width: 18px;
        height: 18px
    }

    .c-form01 input[type='radio']:checked+span:after {
        left: 3px
    }

    .c-form01 input[type='checkbox'] {
        display: none
    }

    .c-form01 input[type='checkbox']+span {
        padding-left: 25px;
        margin: 2px 0 0 0;
        font-size: 1.5rem
    }

    .c-form01 input[type='checkbox']+span:before {
        top: 4px;
        width: 18px;
        height: 18px
    }

    .c-form01 input[type='checkbox']:checked+span:after {
        top: 8px;
        left: 3px
    }

    .c-form01__th {
        font-weight: 1.6rem
    }

    .c-form01__th-small {
        margin-left: 0;
        font-size: 1.4rem
    }

    .c-form01__tag {
        top: 35px;
        padding: 3px 12px;
        right: 15px;
        font-size: 1.3rem
    }

    .c-form01__tag.is-center {
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }

    .c-form01__birth {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .c-form01__birth-select.is-year {
        width: 180px
    }

    .c-form01__birth-select.is-year input[type="text"] {
        width: 140px
    }

    .c-form01__birth-select.is-month {
        margin: 0 15px 0 0
    }

    .c-form01__birth-select.is-month select {
        width: 100px
    }

    .c-form01__birth-select.is-day {
        margin-top: 0
    }

    .c-form01__birth-select.is-day select {
        width: 100px
    }

    .c-form01__birth-in {
        margin-right: 10px
    }

    .c-form01__birth-txt {
        font-size: 1.6rem;
        font-weight: 700
    }

    .c-form01__birth .error {
        position: absolute;
        top: 100%;
        left: 0;
        line-height: 1.1
    }

    .c-form01__check.is-type01 .checkWrap {
        width: 20%
    }

    .c-form01__check.is-type02 .checkWrap {
        box-sizing: border-box;
        width: 50%;
        padding-right: 10px
    }

    .c-form01__check.is-type03 .checkWrap {
        width: 25%
    }
    .c-form01__check.is-type03 .checkWrap:nth-child(1),
	.c-form01__check.is-type03 .checkWrap:nth-child(3){
		width: 20%;
	}
	.c-form01__check.is-type03 .checkWrap:nth-child(2){
		width: 30%;
	}
    .c-form01__job-in:nth-child(n+2) {
        margin-top: 30px
    }

    .c-form01__job-in-head {
        padding-left: 24px;
        font-size: 1.8rem
    }

    .c-form01__job-in-head:before {
        top: 12px
    }

    .c-form01__code {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 0
    }

    .c-form01__code-txt {
        margin-bottom: 0
    }

    .c-form01__code-input {
        padding-left: 15px
    }

    .c-form01__code-input input[type="text"] {
        width: 370px
    }

    .c-form01__agree-box {
        margin-top: 20px
    }

    .c-form01__agree-box-in {
        box-sizing: border-box;
        height: 110px;
        padding: 20px 25px
    }

    .c-form01__agree-box-in-head {
        padding-bottom: 5px
    }

    .c-form01__agree-box-in-txt {
        padding-bottom: 15px
    }

    .c-form01__btn-wrap {
        width: 560px;
        margin: 70px auto 0
    }

    .c-form01__btn-wrap button {
        padding: 25px 10px;
        font-size: 2rem
    }

    .c-form01__btn-wrap button:before {
        right: 40px;
        width: 6px;
        height: 10px;
        content: "";
        display: inline-block;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2217px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M2.090%2C16.987%20L-0.008%2C14.977%20L5.622%2C8.487%20L-0.008%2C1.991%20L2.090%2C-0.012%20L10.014%2C8.487%20L2.090%2C16.987%20L2.090%2C16.987%20Z%22%2F%3E%3C%2Fsvg%3E");
        -webkit-transition: all .6s ease;
        transition: all .6s ease
    }
}

.btnAdjust {
    background: #888 !important
}

.btnSubmit {
    margin-top: 15px
}

.msg {
    padding: 30px 0;
    text-align: center
}

#errorMsg {
    padding: 10px 0;
    text-align: center;
    color: #d10e0c
}

.error {
    color: #d10e0c
}

.c-head01 {
    margin-bottom: 30px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700
}

@media all and (min-width: 600px) {
    .c-head01 {
        margin-bottom: 70px;
        font-size: 2.8rem
    }
}

.c-pager01 {
    text-align: center;
    letter-spacing: -.5em
}

.c-pager01 li {
    display: inline-block;
    margin: 0 5px 10px;
    letter-spacing: 0
}

.c-pager01 li a,
.c-pager01 li span {
    display: block;
    width: 30px;
    height: 30px;
    box-sizing: border-box;
    padding-top: 1px;
    border: 1px solid #000;
    text-decoration: none
}

.c-pager01 li.current span {
    color: #fff;
    background: #000
}

.c-pager01 li.previous {
    margin-right: 15px
}

.c-pager01 li.next {
    margin-left: 15px
}

@media all and (min-width: 600px) {
    .c-pager01 li {
        margin: 0 3px
    }

    .c-pager01 li a,
    .c-pager01 li span {
        width: 30px;
        height: 30px;
        padding: 1px 0 0 0;
        font-size: 1.3rem
    }

    .c-pager01 li a:hover,
    .c-pager01 li span:hover {
        text-decoration: none;
        border: 1px solid #034198;
        background-color: #034198;
        color: #fff
    }

    .c-pager01 li.current {
        width: 30px;
        height: 30px;
        font-size: 1.3rem;
        padding: 4px 0 0 0
    }

    .c-pager01 li.previous {
        margin-right: 0
    }

    .c-pager01 li.next {
        margin-left: 0
    }
}

.c-pager02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.c-single01 {
    padding: 40px 25px;
    background: #fff
}

.c-single01__head {
    margin-top: 20px
}

.c-single01__head h1 {
    margin-top: 8px;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .06em
}

.c-single01__tag {
    display: inline-block;
    margin-right: 5px
}

.c-single01__date {
    display: inline-block;
    color: #999;
    letter-spacing: .1em
}

.c-single01__content {
    margin-top: 12px
}

.c-single01__content *:first-child {
    margin-top: 0
}

.c-single01__content *:last-child {
    margin-bottom: 0
}

.c-single01__content p {
    margin: 10px 0
}

@media all and (min-width: 600px) {
    .c-single01 {
        padding: 60px
    }

    .c-single01__head {
        margin-top: 40px
    }

    .c-single01__head h1 {
        margin-top: 15px;
        font-size: 3rem
    }

    .c-single01__tag {
        margin-right: 11px
    }

    .c-single01__content {
        margin-top: 24px
    }

    .c-single01__content p {
        margin: 26px 0
    }

    .c-single01__btn {
        width: 330px;
        margin: 40px auto 0
    }
}

.c-tab01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.c-tab01__item {
    margin-right: 5px;
    padding: 5px 10px
}

.c-tab01__item.is-active {
    background: #333;
    color: #fff
}

.c-table01 th,
.c-table01 td {
    padding: 10px
}

@media all and (max-width: 599px) {

    .c-table01 table,
    .c-table01 thead,
    .c-table01 tbody,
    .c-table01 tr,
    .c-table01 th,
    .c-table01 td {
        display: block
    }

    .c-table01 th,
    .c-table01 td {
        border-top: 1px solid #e1e1e1
    }
}

@media all and (min-width: 600px) {

    .c-table01 th,
    .c-table01 td {
        border: 1px solid #e1e1e1
    }

    .c-table01 th {
        padding: 10px 15px
    }

    .c-table01 td {
        padding: 10px 15px;
        vertical-align: middle
    }
}

.c-toggle-tit01 {
    position: relative;
    padding: 10px 50px 10px 15px;
    background: #333;
    color: #fff
}

.c-toggle-tit01:before,
.c-toggle-tit01:after {
    position: absolute;
    top: 50%;
    right: 15px;
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    margin-top: -1px;
    background: #fff;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.c-toggle-tit01:before {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.c-toggle-tit01.is-active:before {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0)
}

.cv-contact {
    overflow: hidden;
    background: #d10e0c
}

.cv-contact__inner {
    position: relative;
    padding-top: 35px;
    padding-bottom: 45px;
    z-index: 1
}

.cv-contact__txt {
    color: #fff;
    text-align: center;
    font-size: 1.7rem;
    font-weight: 700
}

.cv-contact__btn {
    margin: -5px -10px 0
}

.cv-contact__bg-img {
    position: absolute;
    z-index: -1
}

.cv-contact__bg-img.is-bg01 {
    content: '';
    position: absolute;
    left: 20px;
    top: 5px;
    width: 70px;
    height: 70px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    background: #ba0605
}

.cv-contact__bg-img.is-bg02 {
    right: -25px;
    bottom: -55px;
    width: 222px
}

@media all and (min-width: 600px) {
    .cv-contact__inner {
        padding-top: 50px;
        padding-bottom: 40px
    }

    .cv-contact__inner.is-small {
        padding-top: 30px;
        padding-bottom: 15px
    }

    .cv-contact__txt {
        font-size: 2.4rem
    }

    .cv-contact__btn {
        width: 666px;
        margin: 10px auto 0
    }

    .cv-contact__bg-img {
        position: absolute;
        z-index: -1
    }

    .cv-contact__bg-img.is-bg01 {
        left: 15px;
        top: 0;
        width: 147px;
        height: 147px
    }

    .cv-contact__bg-img.is-bg02 {
        right: -110px;
        bottom: -60px;
        width: 431px
    }
}

.l-footer {
    background: #fff;
    padding-bottom: 80px
}

.l-footer .ft-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px
}

.l-footer .ft-logo {
    width: 83px
}

.l-footer .ft-cr {
    font-size: 1.2rem
}

@media all and (min-width: 600px) {
    .l-footer {
        padding-bottom: 0
    }

    .l-footer .ft-inner {
        padding-top: 18px;
        padding-bottom: 13px
    }

    .l-footer .ft-logo {
        width: 120px
    }

    .l-footer .ft-cr {
        font-size: 1.5rem
    }
}

@media all and (min-width: 600px) {
    .ft-pagetop {
        position: fixed;
        right: 10px;
        bottom: 8px;
        width: 55px;
        height: 55px;
        z-index: 10
    }
}

.ft-fix {
    position: fixed;
    bottom: 0;
    left: 0;
    height: 70px;
    z-index: 100;
    opacity: 0;
    background: url(../img/home/bg_fix01.png) no-repeat center/cover;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.ft-fix__btn-link {
    display: block;
    text-decoration: none
}

.ft-fix.is-active {
    opacity: 1
}

.l-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 320px;
    z-index: 2000
}

@media all and (min-width: 600px) {
    .l-header {
        width: 100%;
        min-width: 1100px
    }

    .l-header.is-fix {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: 70px;
        -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        transform: translateY(-100%);
        opacity: 0;
        background: #fff;
        -webkit-transition: -webkit-transform 0.3s ease;
        transition: -webkit-transform 0.3s ease;
        transition: transform 0.3s ease;
        transition: transform 0.3s ease, -webkit-transform 0.3s ease
    }

    .l-header.is-active {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

@media all and (min-width: 600px) {
    .l-header.is-fix .hd-info {
        padding-top: 10px
    }

    .l-header.is-fix .hd-info__logo {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }

    .l-header.is-fix .hd-info__logo-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .l-header.is-fix .hd-info__logo-copy {
        margin-left: 20px;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }

    .l-header.is-fix .hd-info__logo-copy .is-fix-txt {
        display: block
    }
}

.l-header .hd-info {
    position: relative;
    z-index: 3;
    padding: 10px 0 0 20px
}

.l-header .hd-info__logo {
    width: 83px
}

.l-header .hd-info__logo-copy {
    margin-bottom: 5px;
    font-size: 1rem;
    line-height: 1.2
}

.l-header .hd-info__logo-copy .is-fix-txt {
    display: none
}

@media all and (min-width: 600px) {
    .l-header .hd-info {
        width: 500px;
        padding-top: 20px
    }

    .l-header .hd-info__logo {
        width: 121px
    }

    .l-header .hd-info__logo-copy {
        font-size: 1.2rem
    }
}

.l-header .nav-btn {
    position: fixed;
    top: 0;
    right: 0;
    width: 55px;
    height: 55px;
    border-radius: 6px;
    background: #d10e0c;
    cursor: pointer
}

.l-header .nav-btn__line {
    position: absolute;
    left: 18px;
    width: 22px;
    height: 2px;
    content: '';
    background: #fff;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.l-header .nav-btn__line:nth-child(1) {
    top: 14px
}

.l-header .nav-btn__line:nth-child(2) {
    top: 20px
}

.l-header .nav-btn__line:nth-child(3) {
    top: 26px
}

.l-header .nav-btn__chara {
    position: absolute;
    left: 0;
    bottom: 10px;
    width: 100%;
    text-align: center;
    font-size: 1rem;
    line-height: 1.2;
    color: #fff
}

.l-header .nav-btn.is-open {
    background: transparent
}

.l-header .nav-btn.is-open .nav-btn__line {
    background: #333
}

.l-header .nav-btn.is-open .nav-btn__line:nth-child(1) {
    top: 18px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.l-header .nav-btn.is-open .nav-btn__line:nth-child(2) {
    opacity: 0
}

.l-header .nav-btn.is-open .nav-btn__line:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.l-header .nav-btn.is-open .nav-btn__chara {
    color: #333
}

.l-nav {
    position: fixed;
    top: 60px;
    right: 0;
    z-index: 2;
    width: 100%;
    box-sizing: border-box;
    height: 100vh;
    max-height: 600px;
    width: 220px;
    padding: 25px 30px;
    background: #fff;
    box-shadow: 0px 5px 9px 5px rgba(0, 0, 0, 0.18);
    -webkit-overflow-scrolling: touch;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.l-nav .nav-list__link {
    position: relative;
    padding: 10px 0 10px 15px;
    font-size: 1.5rem;
    font-weight: 700
}

.l-nav .nav-list__link:before {
    content: '';
    position: absolute;
    left: 0;
    top: 20px;
    width: 5px;
    height: 8px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2217px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23d10e0c%22%20d%3D%22M2.090%2C16.987%20L-0.008%2C14.977%20L5.622%2C8.487%20L-0.008%2C1.991%20L2.090%2C-0.012%20L10.014%2C8.487%20L2.090%2C16.987%20L2.090%2C16.987%20Z%22%2F%3E%3C%2Fsvg%3E");
    -webkit-transition: all .6s ease;
    transition: all .6s ease
}

@media all and (max-width: 599px) {
    .l-nav {
        overflow: auto;
        -webkit-transform: translateX(120%);
        -ms-transform: translateX(120%);
        transform: translateX(120%)
    }

    .l-nav::-webkit-scrollbar {
        display: none
    }

    .l-nav.is-open {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0)
    }
}

@media all and (min-width: 600px) {
    .l-nav {
        position: absolute;
        top: 0;
        right: 0;
        width: auto;
        min-width: auto;
        height: auto;
        padding: 0;
        background: transparent;
        box-shadow: none
    }

    .l-nav .nav-list {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding-right: 240px
    }

    .l-nav .nav-list__link {
        padding: 24px 10px
    }

    .l-nav .nav-list__link:before {
        content: none
    }

    .l-nav .nav-list__item-contact {
        position: absolute;
        right: 0;
        top: 0;
        width: 220px
    }

    .l-nav .nav-list__item-contact-link {
        display: block;
        padding: 15px 16px 15px;
        background: #d10e0c;
        border-radius: 0 0 5px 5px;
        color: #fff;
        box-shadow: 0px 5px 9px 5px rgba(0, 0, 0, 0.18);
        text-decoration: none;
        text-align: center
    }

    .l-nav .nav-list__item-contact-small {
        font-size: 1.3rem
    }

    .l-nav .nav-list__item-contact-txt {
        position: relative;
        font-size: 2.2rem;
        font-weight: 700;
        line-height: 1.2
    }

    .l-nav .nav-list__item-contact-txt:before {
        content: '';
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        right: 10px;
        width: 6px;
        height: 10px;
        content: "";
        display: inline-block;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2217px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M2.090%2C16.987%20L-0.008%2C14.977%20L5.622%2C8.487%20L-0.008%2C1.991%20L2.090%2C-0.012%20L10.014%2C8.487%20L2.090%2C16.987%20L2.090%2C16.987%20Z%22%2F%3E%3C%2Fsvg%3E");
        -webkit-transition: all .6s ease;
        transition: all .6s ease
    }
}

.l-main-img {
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
    background: url(../img/home/bg_mv01_sp.png) no-repeat center/cover
}

.l-main-img__inner {
    padding-top: 85px
}

.l-main-img__copy {
    text-align: center
}

.l-main-img__copy-sub {
    font-size: 1.5rem;
    font-weight: 700
}

.l-main-img__copy-main {
    max-width: 296px;
    margin: 8px auto
}

.l-main-img__copy-about {
    font-size: 1.2rem;
    font-weight: 700
}

.l-main-img__copy-list-wrap {
    position: relative;
    padding-top: 20px;
    z-index: 1
}

.l-main-img__copy-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.l-main-img__copy-list-bg {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1;
    width: 84px;
    margin-left: 132px
}

.l-main-img__copy-item {
    width: 100px;
    margin: 0 10px
}

.l-main-img__img-wrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin: -35px -20px 0
}

.l-main-img__img {
    width: 50%
}

.l-main-img__bg {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0px;
    box-sizing: border-box;
    width: calc(100% - 20px);
    padding: 0 10px
}

.l-main-img .js-mv-fadein01,
.l-main-img .js-mv-fadein02 {
    opacity: 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
    -webkit-transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1)
}

.l-main-img .js-mv-fadein01.is-active,
.l-main-img .js-mv-fadein02.is-active {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.l-main-img .js-mv-fadein03 {
    opacity: 0;
    -webkit-transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1)
}

.l-main-img .js-mv-fadein03.is-left {
    -webkit-transform: translateX(-50px);
    -ms-transform: translateX(-50px);
    transform: translateX(-50px)
}

.l-main-img .js-mv-fadein03.is-right {
    -webkit-transform: translateX(50px);
    -ms-transform: translateX(50px);
    transform: translateX(50px)
}

.l-main-img .js-mv-fadein03.is-active {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

@media all and (min-width: 600px) {
    .l-main-img {
        background-image: url(../img/home/bg_mv01_pc.png)
    }

    .l-main-img__inner {
        position: relative;
        display: block;
        min-height: 835px;
        padding-top: 225px
    }

    .l-main-img__copy-sub {
        font-size: 2.6rem
    }

    .l-main-img__copy-main {
        max-width: 500px;
        margin-top: 15px
    }

    .l-main-img__copy-about {
        margin-top: 7px;
        font-size: 2.2rem
    }

    .l-main-img__copy-list-bg {
        position: absolute;
        top: -25px;
        width: 209px;
        margin-left: 265px
    }

    .l-main-img__copy-item {
        width: 166px
    }

    .l-main-img__img-wrap {
        position: static;
        display: block
    }

    .l-main-img__img {
        position: absolute;
        bottom: 0
    }

    .l-main-img__img img {
        width: auto;
        height: 800px
    }

    .l-main-img__img:nth-child(1) {
        left: -208px
    }

    .l-main-img__img:nth-child(2) {
        right: -250px
    }

    .l-main-img__bg {
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        right: auto;
        bottom: -5px;
        box-sizing: border-box;
        width: 1784px;
        padding: 0
    }
}

@media all and (min-width: 600px) and (-ms-high-contrast: none) {
    .l-main-img__bg {
        bottom: 30px
    }
}

.js-anime-elem[data-anime="fadein"] {
    opacity: 0;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transition: all .6s ease;
    transition: all .6s ease
}

.js-anime-elem[data-anime="fadein"].is-animated {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.js-switch-tab {
    cursor: pointer
}

.js-switch-content {
    display: none
}

.js-switch-content.is-active {
    display: block
}

.js-toggle-trigger {
    cursor: pointer
}

.js-toggle-content {
    display: none
}

.home-occupation__inner {
    position: relative;
    z-index: 1;
    padding-top: 65px;
    padding-bottom: 55px
}

.home-occupation__bg {
    position: absolute;
    top: 30px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #f7f9fa;
    font-size: 6.5rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.1;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: -1
}

.home-occupation__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -5px
}

.home-occupation__item {
    box-sizing: border-box;
    width: calc(50% - 10px);
    margin: 0 5px;
    padding: 15px 2px;
    border: 1px solid #e1e1e1
}

.home-occupation__item-txt {
    text-align: center;
    font-size: 1.1rem;
    font-weight: 700
}

.home-occupation__item-img {
    width: 92px;
    margin: 3px auto 0
}

.home-occupation__item:nth-child(n+3) {
    margin-top: 10px
}

.home-occupation__btn {
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    position: relative;
    display: block;
    margin: 30px auto 0;
    font-family: inherit;
    padding: 12px 30px;
    background: #d10e0c;
    color: #fff;
    border-radius: 5px;
    text-align: center
}

.home-occupation__btn:before {
    content: '';
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(90deg);
    -ms-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
    right: 15px;
    width: 6px;
    height: 9px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2217px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M2.090%2C16.987%20L-0.008%2C14.977%20L5.622%2C8.487%20L-0.008%2C1.991%20L2.090%2C-0.012%20L10.014%2C8.487%20L2.090%2C16.987%20L2.090%2C16.987%20Z%22%2F%3E%3C%2Fsvg%3E");
    -webkit-transition: all .6s ease;
    transition: all .6s ease
}

.home-occupation__btn.is-active:before {
    -webkit-transform: translateY(-50%) rotate(-90deg);
    -ms-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg)
}

.home-occupation__more {
    margin-top: 30px;
    border: 1px solid #e1e1e1;
    padding: 5px 15px
}

.home-occupation__more-in {
    padding: 15px 0
}

.home-occupation__more-in:nth-child(n+2) {
    border-top: 1px solid #e1e1e1
}

.home-occupation__more-in-head {
    position: relative;
    padding-left: 20px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.2
}

.home-occupation__more-in-head:before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    background: #d10e0c
}

.home-occupation__more-item {
    position: relative;
    margin-top: 2px;
    padding-left: 10px
}

.home-occupation__more-item:before {
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    width: 3px;
    height: 3px;
    background: #333
}

@media all and (min-width: 600px) {
    .home-occupation__inner {
        padding-top: 110px;
        padding-bottom: 120px
    }

    .home-occupation__bg {
        top: 40px;
        font-size: 16.4rem
    }

    .home-occupation__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -10px
    }

    .home-occupation__item {
        width: calc(25% - 20px);
        margin: 0 10px;
        padding: 25px 20px 30px
    }

    .home-occupation__item-txt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        min-height: 60px;
        font-size: 1.9rem;
        line-height: 1.5
    }

    .home-occupation__item-img {
        width: 140px;
        margin: 15px auto 0
    }

    .home-occupation__item:nth-child(n+3) {
        margin-top: 0
    }

    .home-occupation__item:nth-child(n+5) {
        margin-top: 20px
    }

    .home-occupation__btn {
        box-sizing: border-box;
        width: 560px;
        margin: 70px auto 0;
        padding: 25px 30px;
        font-size: 2rem
    }

    .home-occupation__btn:before {
        right: 30px;
        width: 6px;
        height: 10px;
        content: "";
        display: inline-block;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2217px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M2.090%2C16.987%20L-0.008%2C14.977%20L5.622%2C8.487%20L-0.008%2C1.991%20L2.090%2C-0.012%20L10.014%2C8.487%20L2.090%2C16.987%20L2.090%2C16.987%20Z%22%2F%3E%3C%2Fsvg%3E");
        -webkit-transition: all .6s ease;
        transition: all .6s ease
    }

    .home-occupation__more {
        margin-top: 50px;
        border: 1px solid #e1e1e1;
        padding: 30px 50px
    }

    .home-occupation__more-in {
        padding: 20px 0
    }

    .home-occupation__more-in-head {
        padding-left: 25px;
        font-size: 1.9rem
    }

    .home-occupation__more-in-head:before {
        top: 7px;
        width: 12px;
        height: 12px
    }

    .home-occupation__more-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-top: 10px
    }

    .home-occupation__more-item {
        box-sizing: border-box;
        width: 33.333%;
        margin-top: 5px;
        padding: 0 10px
    }

    .home-occupation__more-item:before {
        top: 13px
    }
}

.home-agent {
    overflow: hidden;
    background: #eff7fc
}

.home-agent__inner {
    position: relative;
    z-index: 1;
    padding-top: 45px;
    padding-bottom: 50px
}

.home-agent__inner:before {
    content: '';
    position: absolute;
    right: -10px;
    top: -10px;
    width: 223px;
    height: 223px;
    background: #e6eff5;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    z-index: -1
}

.home-agent__set {
    position: relative;
    z-index: 1
}

.home-agent__set-bg-txt {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 230px;
    color: #fff;
    z-index: -1;
    font-size: 6.5rem;
    font-weight: 700;
    line-height: 1.1;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.home-agent__set-bg {
    position: absolute;
    right: 0;
    top: -20px;
    width: 128px
}

.home-agent__set-area-txt {
    position: relative;
    margin-top: 70px
}

.home-agent__set-head {
    margin-bottom: 15px;
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 1.5
}

.home-agent__company {
    margin-top: 35px
}

.home-agent__company-head {
    margin-bottom: 20px;
    text-align: center;
    font-size: 1.7rem;
    font-weight: 700
}

.home-agent__company-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.home-agent__company-item {
    width: 50%
}

.home-agent__company-item:nth-child(n+3) {
    margin-top: 10px
}

@media all and (min-width: 600px) {
    .home-agent__inner {
        padding-top: 90px;
        padding-bottom: 120px
    }

    .home-agent__inner:before {
        right: -100px;
        top: -10px;
        width: 510px;
        height: 510px
    }

    .home-agent__set {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .home-agent__set-img {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        margin-right: -137px;
        width: 785px
    }

    .home-agent__set-area-txt {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: calc(100% - 648px);
        margin-top: 0;
        padding-top: 130px
    }

    .home-agent__set-head {
        margin-bottom: 30px;
        font-size: 3.2rem;
        font-weight: 900;
        letter-spacing: .08em
    }

    .home-agent__set-txt {
        padding-left: 10px
    }

    .home-agent__set-conveyor {
        position: relative;
        bottom: 70px;
        margin-left: -410px
    }

    .home-agent__set-conveyor-in {
        width: 4664px;
        height: 119px;
        background: url(../img/home/txt_agent01.png) repeat-x center/2332px auto;
        -webkit-animation: conveyor 30s linear infinite;
        animation: conveyor 30s linear infinite
    }

    .home-agent__set-bg {
        right: auto;
        left: -36px;
        top: 19px;
        width: 275px
    }

    .home-agent__company {
        margin-top: 0
    }

    .home-agent__company-head {
        margin-bottom: 30px;
        font-size: 2.5rem
    }

    .home-agent__company-list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .home-agent__company-item {
        box-sizing: border-box;
        width: 25%;
        padding: 0 10px
    }

    .home-agent__company-item:nth-child(n+3) {
        margin-top: 0
    }

    .home-agent__company-item:nth-child(n+5) {
        margin-top: 30px
    }
}

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

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

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

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

.home-matching__inner {
    padding-top: 65px;
    padding-bottom: 45px
}

.home-matching__head {
    position: relative;
    z-index: 1
}

.home-matching__head-txt {
    text-align: center;
    font-size: 2.2rem;
    font-weight: 900
}

.home-matching__head-img {
    padding-top: 35px
}

.home-matching__head-bg {
    position: absolute;
    top: 40px;
    left: 50%;
    color: #fff;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    font-size: 6.2rem;
    font-weight: 700;
    line-height: 1.2;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: -1
}

.home-matching__list {
    margin-top: 41px
}

.home-matching__item:nth-child(n+2) {
    margin-top: 30px
}

.home-matching__item-img {
    width: 255px;
    margin: 0 auto
}

.home-matching__item-area-txt {
    padding-top: 10px
}

.home-matching__item-head {
    margin-bottom: 15px;
    text-align: center;
    font-size: 2.1rem;
    font-weight: 700
}

@media all and (min-width: 600px) {
    .home-matching__inner {
        padding-top: 120px;
        padding-bottom: 250px
    }

    .home-matching__head-txt {
        font-size: 3.6rem
    }

    .home-matching__head-img {
        width: 940px;
        margin: 0 auto;
        padding-top: 40px
    }

    .home-matching__head-bg {
        top: -30px;
        font-size: 23rem
    }

    .home-matching__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 45px -25px
    }

    .home-matching__item {
        width: calc(33.333% - 50px);
        margin: 0 25px
    }

    .home-matching__item:nth-child(n+2) {
        margin-top: 0
    }

    .home-matching__item-img {
        width: 290px
    }

    .home-matching__item-area-txt {
        padding-top: 15px
    }

    .home-matching__item-head {
        margin-bottom: 15px;
        font-size: 2.6rem
    }
}

.home-voice__inner {
    position: relative;
    z-index: 1;
    padding-top: 50px;
    padding-bottom: 25px
}

.home-voice__bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1
}

.home-voice__head {
    margin-bottom: 35px;
    color: #fff;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700
}

.home-voice__sec {
    position: relative;
    border: 1px solid #d10e0c;
    margin: 0 -5px
}

.home-voice__sec:nth-child(n+2) {
    margin-top: 35px
}

.home-voice__sec:before {
    content: '';
    position: absolute;
    right: 15px;
    top: -10px;
    width: 38px;
    height: 23px;
    background: url(../img/home/img_quate01.png) no-repeat center/contain
}

.home-voice__sec-user {
    background: #fff;
    padding: 28px 25px
}

.home-voice__sec-user-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -10px 10px
}

.home-voice__sec-user-head-img {
    width: 64px
}

.home-voice__sec-user-head-txt {
    box-sizing: border-box;
    width: calc(100% - 64px);
    padding-left: 15px
}

.home-voice__sec-user-head-main {
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.5
}

.home-voice__sec-user-head-name {
    margin-top: 5px;
    font-size: 1.3rem;
    font-weight: 700
}

.home-voice__sec-agent {
    position: relative;
    background: #fff4f4;
    padding: 20px 25px
}

.home-voice__sec-agent:before {
    content: '';
    position: absolute;
    right: 65px;
    top: -20px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 20px 20px 20px;
    border-color: transparent transparent #fff4f4 transparent
}

.home-voice__sec-agent-in {
    overflow: hidden
}

.home-voice__sec-agent-img {
    float: right;
    width: 66px;
    padding: 0 0 15px 20px
}

.home-voice__sec-agent-head {
    margin-bottom: 5px;
    font-size: 1.6rem;
    font-weight: 700
}

@media all and (min-width: 600px) {
    .home-voice {
        margin-top: -189px
    }

    .home-voice__inner {
        position: relative;
        padding-top: 120px;
        padding-bottom: 130px
    }

    .home-voice__bg {
        left: -220px;
        right: -410px
    }

    .home-voice__head {
        margin-bottom: 75px;
        font-size: 2.8rem
    }

    .home-voice__sec {
        box-sizing: border-box;
        margin: 0 25px;
        padding: 40px 60px 60px;
        background: #fff
    }

    .home-voice__sec:nth-child(n+2) {
        margin-top: 60px
    }

    .home-voice__sec:before {
        right: 60px;
        top: 60px;
        width: 76px;
        height: 47px
    }

    .home-voice__sec-user {
        padding: 0 0 40px
    }

    .home-voice__sec-user-head {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin: 0 0 25px
    }

    .home-voice__sec-user-head-img {
        width: 116px
    }

    .home-voice__sec-user-head-txt {
        width: calc(100% - 116px);
        padding-left: 35px
    }

    .home-voice__sec-user-head-main {
        font-size: 2.8rem
    }

    .home-voice__sec-user-head-name {
        margin-top: 15px;
        font-size: 1.5rem
    }

    .home-voice__sec-agent {
        padding: 40px 50px 50px;
        border-radius: 5px
    }

    .home-voice__sec-agent:before {
        right: 100px
    }

    .home-voice__sec-agent-in {
        overflow: hidden
    }

    .home-voice__sec-agent-img {
        float: right;
        width: 120px;
        padding: 0 0 30px 30px
    }

    .home-voice__sec-agent-head {
        font-size: 2.2rem
    }

    .home-voice__txt-bg {
        position: absolute;
        right: -340px;
        bottom: 130px;
        width: 104px;
        z-index: -2
    }
}

.home-flow__inner {
    padding-top: 55px;
    padding-bottom: 50px
}

.home-flow__head {
    position: relative;
    z-index: 1;
    margin-bottom: 25px
}

.home-flow__head-txt {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700
}

.home-flow__head-bg {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    top: -10px;
    font-size: 6.2rem;
    font-weight: 700;
    line-height: 1.1;
    color: #fff;
    z-index: -1;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.home-flow__item {
    position: relative;
    padding: 20px 25px;
    background: #fff;
    border: 1px solid #e1e1e1;
    z-index: 1
}

.home-flow__item-bg {
    position: absolute;
    right: 15px;
    bottom: 15px;
    z-index: -1;
    width: 67px
}

.home-flow__item:before {
    content: '';
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: -10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 17.5px 0 17.5px;
    border-color: #d10e0c transparent transparent transparent
}

.home-flow__item:nth-child(n+2) {
    margin-top: 15px
}

.home-flow__item:last-child:before {
    content: none
}

.home-flow__item-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 5px
}

.home-flow__item-head-num {
    width: 20px;
    text-align: center;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.1
}

.home-flow__item-head-txt {
    padding-left: 10px;
    font-size: 1.6rem;
    font-weight: 700
}

@media all and (min-width: 600px) {
    .home-flow__inner {
        padding-top: 120px;
        padding-bottom: 300px
    }

    .home-flow__head {
        margin-bottom: 65px
    }

    .home-flow__head-txt {
        font-size: 2.8rem
    }

    .home-flow__head-bg {
        top: -40px;
        font-size: 16.4rem
    }

    .home-flow__list {
        padding: 0 80px
    }

    .home-flow__item {
        padding: 35px 46px
    }

    .home-flow__item-bg {
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        right: 50px;
        bottom: auto;
        width: 114px
    }

    .home-flow__item:before {
        border-width: 20px 20px 0 20px
    }

    .home-flow__item:nth-child(n+2) {
        margin-top: 15px
    }

    .home-flow__item:last-child:before {
        content: none
    }

    .home-flow__item-head {
        margin-bottom: 0
    }

    .home-flow__item-head-num {
        width: 55px;
        font-size: 5rem
    }

    .home-flow__item-head-txt {
        font-size: 2.3rem
    }

    .home-flow__item-txt {
        padding-left: 65px;
        font-size: 1.6rem
    }

    .home-flow__item:nth-child(4) .home-flow__item-bg {
        right: 60px;
        width: 98px
    }

    .home-flow__item:nth-child(5) .home-flow__item-bg {
        width: 125px
    }
}

.home-contact {
    overflow: hidden
}

.home-contact__inner {
    position: relative;
    z-index: 1;
    padding-bottom: 120px
}

.home-contact__inner:before {
    content: '';
    position: absolute;
    right: -60px;
    bottom: -70px;
    width: 338px;
    height: 278px;
    background: url(../img/home/img_mark02.png) no-repeat center/contain
}

.home-contact__bg-wrap {
    position: relative
}

.home-contact__bg-wrap:after {
    content: '';
    position: absolute;
    left: -20px;
    right: -20px;
    top: 0;
    bottom: -45px;
    background: #d10e0c;
    z-index: -1
}

.home-contact__bg {
    margin: 0 -20px
}

.home-contact__head {
    position: relative;
    padding: 35px 0 25px;
    color: #fff;
    z-index: 1
}

.home-contact__head-copy {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5
}

.home-contact__head-main {
    margin-bottom: 10px;
    text-align: center;
    font-size: 2.2rem;
    font-weight: 700
}

.home-contact__head-bg {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 10px;
    font-size: 6.2rem;
    font-weight: 700;
    opacity: 0.15;
    z-index: -1;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.home-contact__box {
    position: relative;
    z-index: 1;
    padding: 15px 20px 45px;
    background: #fff;
    box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.18)
}

.home-contact__box-form {
    margin-top: 10px
}

@media all and (min-width: 600px) {
    .home-contact {
        margin-top: -140px
    }

    .home-contact__inner {
        padding-bottom: 140px
    }

    .home-contact__inner:before {
        right: -540px;
        bottom: -80px;
        width: 580px;
        height: 580px
    }

    .home-contact__bg-wrap {
        position: relative
    }

    .home-contact__bg-wrap:after {
        left: -410px;
        right: -410px;
        top: 120px;
        bottom: -120px
    }

    .home-contact__bg {
        margin: 0 -410px 0 -220px
    }

    .home-contact__head {
        margin: 0;
        padding: 85px 0 73px
    }

    .home-contact__head-copy {
        font-size: 2.4rem
    }

    .home-contact__head-main {
        margin-bottom: 11px;
        font-size: 4.4rem
    }

    .home-contact__head-lead {
        text-align: center
    }

    .home-contact__head-bg {
        top: 11px;
        font-size: 16.4rem
    }

    .home-contact__box {
        margin: 0 24px;
        padding: 70px 100px 80px
    }

    .home-contact__box-form {
        margin-top: 40px
    }
}

.home-company {
    overflow: hidden
}

.home-company__inner {
    position: relative;
    padding-top: 62px;
    padding-bottom: 45px;
    z-index: 1
}

.home-company__inner:before {
    content: '';
    position: absolute;
    bottom: -10px;
    right: -10px;
    width: 223px;
    height: 223px;
    background: #f7f9fa;
    z-index: -1;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.home-company__head {
    position: relative;
    margin-bottom: 25px;
    z-index: 1
}

.home-company__head-txt {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700
}

.home-company__head-bg {
    position: absolute;
    top: -19px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    font-size: 6.2rem;
    font-weight: 700;
    line-height: 1.2;
    color: #f7f9fa;
    z-index: -1
}

.home-company__set {
    margin: 0 -5px
}

.home-company__set-table {
    border-top: 1px solid #e1e1e1
}

.home-company__set-table table {
    table-layout: fixed
}

.home-company__set-table th,
.home-company__set-table td {
    box-sizing: border-box;
    border-bottom: 1px solid #e1e1e1
}

.home-company__set-table th {
    width: 100px;
    padding: 12px 10px 12px 0;
    font-weight: 700
}

.home-company__set-table td {
    padding: 12px 10px
}

.home-company__set-img {
    width: 250px;
    margin: 25px auto 0
}
.home-company__set-img img + img{
    margin-top: 15px;
}
.home-company__map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 65%;
    margin-top: 25px
}

.home-company__map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}
.home-company__map-head{
	position: absolute;
	top: -35px;
	left: 0;
}
.home-company__map {
	margin-top: 70px;
}
.home-company__box {
    margin-top: 30px;
    padding: 15px 25px;
    border: 1px solid #d10e0c;
    background: #fff
}

.home-company__box-txt {
    padding-left: 1em;
    text-indent: -1em
}

.home-company a {
    color: #00e
}

.home-company a:visited {
    color: #5d2590
}

@media all and (min-width: 600px) {
    .home-company__inner {
        padding-top: 120px;
        padding-bottom: 110px
    }

    .home-company__inner:before {
        bottom: 440px;
        right: -340px;
        width: 337px;
        height: 337px
    }

    .home-company__head {
        margin-bottom: 70px
    }

    .home-company__head-txt {
        font-size: 2.9rem
    }

    .home-company__head-bg {
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        font-size: 13.5rem
    }

    .home-company__set {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .home-company__set-table {
        width: 670px;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }

    .home-company__set-table th {
        width: 190px;
        padding: 18px 10px 17px 0
    }

    .home-company__set-table td {
        padding: 18px 10px 17px
    }

    .home-company__set-img {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        box-sizing: border-box;
        width: calc(100% - 670px);
        margin: 0;
        padding-right: 70px
    }

    .home-company__set-img img + img{
        margin-top: 20px;
    }

    .home-company__map {
        padding-top: 380px;
        margin-top: 70px
    }

    .home-company__box {
        margin-top: 40px;
        padding: 42px 60px
    }
    .home-company__map-head{
    top: -40px;
	}
	.home-company__map {
		margin-top: 90px;
	}
}