﻿@keyframes lds-ellipsis1 {
    0% {
        -webkit-transform: scale(0);
        -moz-transform: scale(0);
        -ms-transform: scale(0);
        -o-transform: scale(0);
        transform: scale(0)
    }

    100% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes lds-ellipsis3 {
    0% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }

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

@keyframes lds-ellipsis2 {
    0% {
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    100% {
        -webkit-transform: translate(19px, 0);
        -moz-transform: translate(19px, 0);
        -ms-transform: translate(19px, 0);
        -o-transform: translate(19px, 0);
        transform: translate(19px, 0)
    }
}

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

.clearfix {
    display: inline-block
}

* html .clearfix {
    height: 1%
}

.clearfix {
    display: block
}

p {
    margin: 0;
    padding: 0
}

ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0
}

input,
textarea {
    margin: 0;
    font-size: 100%;
    resize: none
}

input[type="text"],
input[type="date"],
input[type="email"],
input[type="number"],
input[type="url"] {
    word-break: normal;
    white-space: nowrap;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none
}

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

dl,
dt,
dd,
th,
td {
    margin: 0;
    padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
    margin: 0;
    padding: 0
}

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

img {
    margin: 0;
    padding: 0;
    vertical-align: middle;
    border: 0;
    max-width: 100%;
    height: auto
}

table img {
    margin: 0;
    padding: 0;
    vertical-align: middle;
    border: 0
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block
}

nav ul {
    list-style: none
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

*:focus {
    outline: none !important
}

label,
select,
button {
    cursor: pointer
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    select::-ms-expand {
        display: none
    }
}

@media screen\0 {
    select::-ms-expand {
        display: none
    }
}

a {
    outline: none;
    transition: all 0.3s
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    a:hover {
        text-decoration: none;
        color: #C01431;
        opacity: 0.5
    }
}

a:link,
a:visited,
a:active {
    color: #C01431;
    text-decoration: none
}

.ffN {
}

.ffM {
}

.ffYG {
}

.ffYM {
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    white-space: nowrap;
    height: 1px;
    width: 1px;
    overflow: hidden
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000
}

html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -o-text-size-adjust: 100%;
    text-size-adjust: 100%
}

html.is-ipad * {
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    -o-text-size-adjust: none;
    text-size-adjust: none
}

body {
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 15px;
    font-size: 1.5rem;
    width: 100%;
    color: #1f2224;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    letter-spacing: 0;
    height: 100%;
    word-break: break-word
}

body.layerOn {
    position: fixed;
    overflow: hidden
}

body {
    padding-top: 140px
}

@media (max-width: 767px) {
    body {
        padding-top: 70px
    }
}

body .header {
    opacity: 1;
    background: #fff
}

.container {
    max-width: 1120px;
    margin: 0 auto
}

@media only screen and (max-width: 1120px) {
    .container {
        padding: 0 25px
    }
}

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

    .sp,
    .SP {
        display: none !important
    }
}

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

    .pc,
    .PC {
        display: none !important
    }
}

.wcm {
    width: 1120px;
    margin: auto
}

@media (min-width: 768px) {
    .pt-pc-1 {
        padding-top: 1px
    }
}

@media (min-width: 768px) {
    .pt-pc-2 {
        padding-top: 2px
    }
}

@media (min-width: 768px) {
    .pt-pc-3 {
        padding-top: 3px
    }
}

@media (min-width: 768px) {
    .pt-pc-4 {
        padding-top: 4px
    }
}

@media (min-width: 768px) {
    .pt-pc-5 {
        padding-top: 5px
    }
}

@media (min-width: 768px) {
    .pt-pc-6 {
        padding-top: 6px
    }
}

@media (min-width: 768px) {
    .pt-pc-7 {
        padding-top: 7px
    }
}

@media (min-width: 768px) {
    .pt-pc-8 {
        padding-top: 8px
    }
}

@media (min-width: 768px) {
    .pt-pc-9 {
        padding-top: 9px
    }
}

@media (min-width: 768px) {
    .pt-pc-10 {
        padding-top: 10px
    }
}

@media (min-width: 768px) {
    .pt-pc-11 {
        padding-top: 11px
    }
}

@media (min-width: 768px) {
    .pt-pc-12 {
        padding-top: 12px
    }
}

@media (min-width: 768px) {
    .pt-pc-13 {
        padding-top: 13px
    }
}

@media (min-width: 768px) {
    .pt-pc-14 {
        padding-top: 14px
    }
}

@media (min-width: 768px) {
    .pt-pc-15 {
        padding-top: 15px
    }
}

@media (min-width: 768px) {
    .pt-pc-16 {
        padding-top: 16px
    }
}

@media (min-width: 768px) {
    .pt-pc-17 {
        padding-top: 17px
    }
}

@media (min-width: 768px) {
    .pt-pc-18 {
        padding-top: 18px
    }
}

@media (min-width: 768px) {
    .pt-pc-19 {
        padding-top: 19px
    }
}

@media (min-width: 768px) {
    .pt-pc-20 {
        padding-top: 20px
    }
}

@media (min-width: 768px) {
    .pt-pc-21 {
        padding-top: 21px
    }
}

@media (min-width: 768px) {
    .pt-pc-22 {
        padding-top: 22px
    }
}

@media (min-width: 768px) {
    .pt-pc-23 {
        padding-top: 23px
    }
}

@media (min-width: 768px) {
    .pt-pc-24 {
        padding-top: 24px
    }
}

@media (min-width: 768px) {
    .pt-pc-25 {
        padding-top: 25px
    }
}

@media (min-width: 768px) {
    .pt-pc-26 {
        padding-top: 26px
    }
}

@media (min-width: 768px) {
    .pt-pc-27 {
        padding-top: 27px
    }
}

@media (min-width: 768px) {
    .pt-pc-28 {
        padding-top: 28px
    }
}

@media (min-width: 768px) {
    .pt-pc-29 {
        padding-top: 29px
    }
}

@media (min-width: 768px) {
    .pt-pc-30 {
        padding-top: 30px
    }
}

@media (min-width: 768px) {
    .pt-pc-31 {
        padding-top: 31px
    }
}

@media (min-width: 768px) {
    .pt-pc-32 {
        padding-top: 32px
    }
}

@media (min-width: 768px) {
    .pt-pc-33 {
        padding-top: 33px
    }
}

@media (min-width: 768px) {
    .pt-pc-34 {
        padding-top: 34px
    }
}

@media (min-width: 768px) {
    .pt-pc-35 {
        padding-top: 35px
    }
}

@media (min-width: 768px) {
    .pt-pc-36 {
        padding-top: 36px
    }
}

@media (min-width: 768px) {
    .pt-pc-37 {
        padding-top: 37px
    }
}

@media (min-width: 768px) {
    .pt-pc-38 {
        padding-top: 38px
    }
}

@media (min-width: 768px) {
    .pt-pc-39 {
        padding-top: 39px
    }
}

@media (min-width: 768px) {
    .pt-pc-40 {
        padding-top: 40px
    }
}

@media (min-width: 768px) {
    .pt-pc-41 {
        padding-top: 41px
    }
}

@media (min-width: 768px) {
    .pt-pc-42 {
        padding-top: 42px
    }
}

@media (min-width: 768px) {
    .pt-pc-43 {
        padding-top: 43px
    }
}

@media (min-width: 768px) {
    .pt-pc-44 {
        padding-top: 44px
    }
}

@media (min-width: 768px) {
    .pt-pc-45 {
        padding-top: 45px
    }
}

@media (min-width: 768px) {
    .pt-pc-46 {
        padding-top: 46px
    }
}

@media (min-width: 768px) {
    .pt-pc-47 {
        padding-top: 47px
    }
}

@media (min-width: 768px) {
    .pt-pc-48 {
        padding-top: 48px
    }
}

@media (min-width: 768px) {
    .pt-pc-49 {
        padding-top: 49px
    }
}

@media (min-width: 768px) {
    .pt-pc-50 {
        padding-top: 50px
    }
}

.alignnone {
    margin: 5px 0 20px
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto
}

.alignright {
    float: right;
    margin: 5px 0 20px auto
}

.alignleft {
    float: left;
    margin: 5px auto 20px 0
}

a img.alignright {
    float: right;
    margin: 5px 0 20px auto
}

a img.alignnone {
    margin: 5px 0 20px
}

a img.alignleft {
    float: left;
    margin: 5px auto 20px 0
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px
}

.leftCol {
    width: 70%;
    float: left
}

.rightCol {
    width: 30%;
    float: right
}

.cmsContent {
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
    word-wrap: break-word
}

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

.cmsContent:after {
    clear: both
}

.cmsContent ul,
.cmsContent ol {
    padding-left: 20px;
    margin-bottom: 20px
}

.cmsContent ul[style*="list-style-type: circle;"] li {
    list-style-type: circle
}

.cmsContent ul[style*="list-style-type: square;"] li {
    list-style-type: square
}

.cmsContent ul li {
    list-style: disc
}

.cmsContent ol[style*="list-style-type: lower-roman;"] li {
    list-style-type: lower-roman
}

.cmsContent ol[style*="list-style-type: lower-alpha;"] li {
    list-style-type: lower-alpha
}

.cmsContent ol[style*="list-style-type: lower-greek;"] li {
    list-style-type: lower-greek
}

.cmsContent ol[style*="list-style-type: upper-alpha;"] li {
    list-style-type: upper-alpha
}

.cmsContent ol[style*="list-style-type: upper-roman;"] li {
    list-style-type: upper-roman
}

.cmsContent ol li {
    list-style-type: decimal
}

.cmsContent h3 {
    border-top: 1px solid #C01431;
    border-bottom: 1px solid #C01431;
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.53846;
    letter-spacing: .05em;
    font-weight: 700;
    padding: 18px 0;
    margin: 0 0 54px
}

@media (max-width: 767px) {
    .cmsContent h3 {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.5;
        padding: 20px 0;
        margin: 0 0 24px
    }
}

.cmsContent h4 {
    color: #C01431;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700;
    margin: 56px 0 32px;
    padding-bottom: 26px;
    position: relative
}

@media (max-width: 767px) {
    .cmsContent h4 {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.44444;
        margin: 40px 0 26px;
        padding-bottom: 16px
    }
}

.cmsContent h4::before {
    content: "";
    position: absolute;
    background: currentColor;
    width: 40px;
    height: 1px;
    bottom: 0;
    left: 0
}

.cmsContent h5 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.625;
    letter-spacing: .05em;
    font-weight: 700;
    margin: 46px 0 26px;
    padding-left: 20px;
    position: relative
}

@media (max-width: 767px) {
    .cmsContent h5 {
        margin: 38px 0 18px
    }
}

.cmsContent h5::before {
    content: "";
    position: absolute;
    background: #C01431;
    width: 10px;
    height: 1px;
    top: 12px;
    left: 0
}

.cmsContent p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2.13333;
    letter-spacing: .05em;
    margin-bottom: 30px;
    color: #111111;
}

@media (max-width: 767px) {
    .cmsContent p {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.86667
    }
}

.cmsContent span[style*="text-decoration: underline"] {
    background: linear-gradient(to bottom, #fff 50%, #e7f4f8 50%);
    text-decoration: none !important
}

.cmsContent a {
    color: #C01431;
    font-weight: bold;
    text-decoration: underline
}

.cmsContent blockquote {
    border: 1px solid #bbc8ce;
    border-radius: 10px;
    margin-top: 52px;
    padding: 32px 40px
}

@media (max-width: 767px) {
    .cmsContent blockquote {
        margin-top: 42px;
        padding: 24px 30px
    }
}

.cmsContent blockquote>* {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.86667;
    letter-spacing: .05em;
    font-weight: 500;
    margin: 0 auto
}

.cmsContent table {
    border: 1px solid currentColor
}

.cmsContent table tr:not(:last-child) {
    border-bottom: 1px solid currentColor
}

.cmsContent table tr td:not(:last-child) {
    border-right: 1px solid currentColor
}

.cmsContent iframe {
    max-width: 100% !important
}

.cmsContent img {
    max-width: 100%;
    height: auto;
    max-height: 100%;
    width: auto
}

.pagingDt {
    position: relative;
    width: 80%;
    margin: 95px auto;
    font-size: 14px
}

.pagingDt a {
    text-decoration: underline
}

.pagingDt .prev {
    background: url(../image/ico_prev.png) no-repeat left center;
    width: 145px;
    float: left;
    padding-left: 20px
}

.pagingDt .next {
    background: url(../image/ico_next.png) no-repeat right center;
    width: 145px;
    float: right;
    padding-right: 20px
}

.pagingDt .list {
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -54px;
    margin-top: -9px
}

.c-fw {
    width: 100%
}

[rel~="js-lazy"] {
    opacity: 0
}

[rel~="js-lazy"]:not(.initial) {
    transition: opacity 0.1s
}

[rel~="js-lazy"].initial,
[rel~="js-lazy"].loaded,
[rel~="js-lazy"].error {
    opacity: 1
}

.c-lazybg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.c-lazybg--top {
    background-position: center top
}

@media (max-width: 767px) {
    *::selection {
        background: transparent
    }

    *:focus {
        outline: none
    }
}

@media (max-width: 767px) {
    html {
        -webkit-tap-highlight-color: transparent
    }
}

.img_thumb {
    position: relative;
    width: 100%;
    z-index: 1;
    transition: 0.3s ease
}

.img_thumb span {
    position: absolute;
    width: 100%;
    content: "";
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat
}

@media (max-width: 768px) {
    .img_thumb span {
        background-size: auto 100%;
    }
}

@media (min-width: 768px) {
    body {
        cursor: default
    }
}

@media (min-width: 768px) {
    .cursor {
        position: fixed;
        z-index: 99999999;
        left: 0;
        top: 0;
        pointer-events: none;
        will-change: transform
    }

    .cursor.cursor--hover .cursor__circle {
        width: 80px;
        height: 80px
    }

    .cursor.cursor--link .cursor__circle {
        width: 80px;
        height: 80px;
        background: rgba(225, 225, 225, 0.3)
    }

    .cursor .cursor__circle {
        width: 10px;
        height: 10px;
        margin-top: -50%;
        margin-left: -50%;
        border-radius: 50%;
        background: rgba(6, 145, 196, 0.7);
        z-index: 9999999999;
        transition: all 0.2s ease
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .cursor {
        display: none
    }
}

@media (max-width: 767px) {
    .cursor {
        display: none
    }
}

@media (min-width: 768px) {
    .breadcrumb__inner {
        width: 100%;
        padding: 0 20px;
        margin: 16px auto
    }
}

@media (max-width: 767px) {
    .breadcrumb__inner {
        padding: 14px 24px;
        display: block
    }
}

.breadcrumb li {
    display: inline;
    padding-right: 13px;
    position: relative
}

@media (min-width: 768px) {
    .breadcrumb li {
        margin: 16px 0;
        line-height: 1.4
    }
}

@media (max-width: 767px) {
    .breadcrumb li {
        padding-right: 6px;
        margin-right: 5px
    }

    .breadcrumb li:last-child {
        padding-right: 0
    }
}

.breadcrumb li:not(:last-child)>* {
    margin-right: 15px
}

@media (max-width: 767px) {
    .breadcrumb li:not(:last-child)>* {
        margin-right: 10px
    }
}

.breadcrumb li:not(:last-child):after {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    border-top: 1px solid #C01431;
    border-right: 1px solid #C01431;
    top: 50%;
    right: 11px;
    transform: translateY(-50%) rotate(45deg)
}

@-moz-document url-prefix() {
    .breadcrumb li:not(:last-child):after {
        top: calc(50% + 1px)
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .breadcrumb li:not(:last-child):after {
        top: calc(50% + 2px)
    }
}

@media (max-width: 767px) {
    .breadcrumb li:not(:last-child):after {
        width: 6px;
        height: 6px;
        top: calc(50% + 2px);
        right: 4px
    }
}

.breadcrumb li a,
.breadcrumb li span {
    display: inline;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
    overflow: hidden;
    color: #C01431
}

.breadcrumb li a {
    position: relative;
    text-align: left
}

.c-btn {
    border-radius: 4px;
    padding: 11px 16px 10px 40px;
    position: relative;
    font-family: "Lato", sans-serif;
    font-size: 16px;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700;
    transition: all 0.3s;
    overflow: hidden;
    text-align: center
}

.c-btn::after,
.c-btn::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    background: #C01431;
    background-size: 100% 100%;
    transition: left 0.3s
}

@media (max-width: 767px) {

    .c-btn::after,
    .c-btn::before {
        background: #C01431
    }
}

.c-btn::before {
    left: 0;
}

.c-btn::after {
    left: -100%;
    transform: scaleX(-1);
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .c-btn:hover {
        opacity: 1;
        padding: 11px 10px 0
    }

    .c-btn:hover::before {
        left: 100%
    }

    .c-btn:hover::after {
        left: 0
    }

    .c-btn:hover img {
        opacity: 0
    }
}

@media (max-width: 767px) {
    .c-btn {
        width: 100%;
        display: block;
        margin: 17px auto 0;
        padding: 14px 19px 14px 10px;
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.5
    }
}

.c-btn img,
.c-btn span {
    position: relative;
    z-index: 2;
    transition: all 0.3s
}

.c-btn img {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%)
}

.c-btn span {
    color: #fff;
    line-height: 1;
    overflow: visible;
    margin-top: 5px;
}

.c-btn__span {
    overflow: hidden;
    position: relative
}

.c-btn__span::before {
    content: attr(data-text);
    left: 0;
    position: absolute;
    top: 0;
    transition: transform 0.3s cubic-bezier(0.25, 0.26, 0.17, 1);
    pointer-events: none
}

.c-btn__inner {
    pointer-events: none;
    transform: translateX(200%);
    display: inline-block;
    transition: transform 0.3s cubic-bezier(0.25, 0.26, 0.17, 1)
}

.c-btn__inn {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%
}

.c-btn--basic {
    max-width: 320px;
    border-radius: 10px;
    background: transparent;
    border: 1px solid #c01431;
    min-height: 60px;
    display: inline-flex;
    padding: 21px 0;
    text-align: left;
    overflow: visible;
    font-size: 15px;
    font-size: 1.5rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

.c-btn--basic::after,
.c-btn--basic::before {
    display: none
}

.c-btn--basic span {
    color: #C01431;
    line-height: 1.2;
    transition: transform 0.3s cubic-bezier(0.25, 0.26, 0.17, 1)
}

@media (min-width: 768px) {
    .c-btn--basic span {
        padding-left: 30px
    }
}

.c-btn--basic .c-btn__inner {
    opacity: 0
}

.c-btn--basic .ico_effort {
    position: absolute;
    top: 50%;
    right: 28px;
    transform: translateY(-50%);
    width: 8px;
    height: 15px;
    background: url(../img/common/icon/ico_arrow_next.svg) no-repeat;
    background-size: cover
}

@media (max-width: 767px) {
    .c-btn--basic .ico_effort {
        right: 20px;
        width: 8px;
        height: 14px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-btn--basic {
        min-width: 290px
    }
}

@media (max-width: 767px) {
    .c-btn--basic {
        max-width: 265px;
        min-width: auto;
        min-height: 60px;
        padding: 23px 19px 20px;
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .c-btn--basic:hover {
        padding: 21px 0;
        border-color: #c01431;
        text-align: center;
        background: #c01431;
    }
}

@media (hover: hover) and (max-width: 767px),
screen and (-ms-high-contrast: active) and (max-width: 767px),
(-ms-high-contrast: none) and (max-width: 767px) {
    .c-btn--basic:hover {
        background: #C01431
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .c-btn--basic:hover span {
        color: #fff;
        padding: 0
    }

    .c-btn--basic:hover .c-btn__span::before {
        transform: translateX(-100%)
    }

    .c-btn--basic:hover .c-btn__inner {
        transform: translateX(0%);
        opacity: 1;
        color: #fff
    }

    .c-btn--basic:hover .c-btn__span::before {
        opacity: 0
    }

    .c-btn--basic:hover .ico_effort {
        background: url(../img/common/icon/ico_arrow_next_white.svg) no-repeat;
        background-size: cover
    }
}

.c-btn--pdf .ico_effort {
    right: 20px;
    background: url(../image/ico_pdf.svg) no-repeat;
    background-size: contain;
    width: 16px;
    height: 18px
}

@media (max-width: 767px) {
    .c-btn--pdf .ico_effort {
        right: 15px;
        width: 13px
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .c-btn--pdf:hover .ico_effort {
        opacity: 0;
        position: absolute
    }
}


.mainvisual {
    overflow: hidden;
    position: relative
}

.mainvisual::after {
    content: "";
    position: absolute;
    left: 0;
    border-radius: 0px 10px 10px 0px;
    background: #C01431;
}

@media (max-width: 767px) {
    .mainvisual::after {
        background: #C01431
    }
}

@media (min-width: 768px) {
    .mainvisual::after {
        top: 60px;
        width: calc(100% - 220px);
        height: calc(100% - 60px)
    }
}

@media (max-width: 767px) {
    .mainvisual::after {
        top: 38%;
        width: calc(100% - 54px);
        height: calc(100% / 2)
    }
}

.mainvisual__block {
    position: relative;
    z-index: 1;
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    align-items: flex-start
}

@media (min-width: 768px) {
    .mainvisual__block {
        margin: 0 0 4.8vw 0
    }
}

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

@media (min-width: 768px) {
    .mainvisual__inner {
        max-width: 34.813vw;
        padding: 18.3vw 0 0 6.2vw
    }
}

@media (max-width: 767px) {
    .mainvisual__inner {
        background: linear-gradient(to right, #58acea 0%, #1ead97 100%);
        order: 2;
        padding: 48px 24px 32px 25px;
        border-radius: 0px 10px 10px 0px;
        margin: 0;
        width: calc(100% - 54px)
    }
}

@media (max-width: 767px) and (max-width: 767px) {
    .mainvisual__inner {
        background: #C01431
    }
}

.mainvisual__inner::after {
    content: "";
    position: absolute;
    left: 31.5%;
    transform: translateX(-50%);
    width: 1px;
    background: #fff
}

@media (min-width: 768px) {
    .mainvisual__inner::after {
        top: 60px;
        height: 8.6vw
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .mainvisual__inner::after {
        height: 8vw
    }
}

@media (max-width: 767px) {
    .mainvisual__inner::after {
        top: 0;
        left: 23%;
        height: 7.688vw
    }
}

@media only screen and (min-width: 500px) and (max-width: 700px) {
    .mainvisual__inner::after {
        height: 5.5vw
    }
}

@media only screen and (min-width: 700px) and (max-width: 767px) {
    .mainvisual__inner::after {
        height: 4vw
    }
}

.mainvisual__ttl {
    color: #fff;
    position: relative;
    z-index: 2;
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.3;
    letter-spacing: .1em;
    font-weight: 700
}

@media (min-width: 768px) {
    .mainvisual__ttl {
        white-space: nowrap;
        font-size: 3.125vw
    }
}

@media (max-width: 767px) {
    .mainvisual__ttl {
        font-size: 26px;
        font-size: 2.6rem;
        line-height: 1.38462
    }
}

.mainvisual__en {
    color: #FFFFFF;
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700;
    font-family: "Lato", sans-serif
}

@media (min-width: 768px) {
    .mainvisual__en {
        margin-top: 8px;
        font-size: 2.031vw
    }
}

@media (max-width: 767px) {
    .mainvisual__en {
        margin-top: 0;
        font-size: 20px;
        font-size: 2rem;
        line-height: 2
    }
}

.mainvisual__img {
    width: 100%;
    position: relative;
    overflow: hidden
}

@media (min-width: 768px) {
    .mainvisual__img {
        max-width: calc(100% - 34.813vw);
        padding: 0 3.9vw 0 0;
        border-radius: 0.781vw
    }
}

@media (max-width: 767px) {
    .mainvisual__img {
        max-width: calc(100% - 25px);
        margin: 21px 0 0 auto;
        order: 1;
        border-radius: 10px 0px 0px 10px
    }
}

@media only screen and (min-width: 500px) and (max-width: 767px) {
    .mainvisual__img {
        border-radius: 15px 0px 0px 15px
    }
}

.mainvisual__img img {
    width: 100%
}

.mainvisual__recruit {
    background: #C01431;
    position: absolute;
    top: 30%;
    right: 0;
    z-index: 2;
    padding: 32px 10px 85px;
    width: 120px;
    height: 160px;
    border-radius: 10px 0px 0px 10px;
    transition: all 0.3s
}

@media (min-width: 768px) {
    .mainvisual__recruit {
        top: 50%;
        transform: translateY(-50%)
    }
}

.mainvisual__recruit::after {
    content: "";
    position: absolute;
    bottom: 35px;
    right: 0;
    left: 0;
    background: url(../image/ico_arrow_circle_white.svg) no-repeat;
    background-size: cover;
    width: 30px;
    height: 30px;
    margin: 0 auto;
    border-radius: 50%;
    transition: all 0.3s
}

@media (max-width: 767px) {
    .mainvisual__recruit {
        display: none
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .mainvisual__recruit:hover {
        width: 140px;
        opacity: 1;
        background: linear-gradient(to bottom, #58acea 0%, #1ead97 100%)
    }

    .mainvisual__recruit:hover::after {
        background: #fff url(../image/ico_arrow_circle_white1.svg) no-repeat;
        background-size: contain
    }
}

.mainvisual__recruit span {
    display: block;
    text-align: center
}

.mainvisual__recruit span.en {
    color: #fff;
    font-family: "Lato", sans-serif;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700
}

.mainvisual__recruit span.jp {
    color: #fff;
    font-family: "Lato", sans-serif;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700
}

.mainvisual__news {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    align-items: flex-start;
    z-index: 2;
    min-height: 80px;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 0 6.2vw;
    box-shadow: 4px 4px 20px rgba(192, 20, 49, .2)
}

@media (min-width: 768px) {
    .mainvisual__news {
        padding: 10px 25px 10px 31px;
        max-width: 809px;
        width: calc(100% - 10px);
        position: absolute;
        bottom: 6.563vw
    }
}

@media only screen and (min-width: 1780px) {
    .mainvisual__news {
        top: auto;
        bottom: 6vw
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .mainvisual__news {
        max-width: 63.203vw;
        padding: 2px 10px;
        bottom: 40px;
        min-height: 64px
    }
}

@media (max-width: 767px) {
    .mainvisual__news {
        padding: 22px 30px;
        position: absolute;
        bottom: -82px;
        right: 0;
        left: 0;
        flex-wrap: wrap;
        margin: 0 auto;
        width: calc(100% - 50px)
    }

    .mainvisual__news .c-view {
        order: 1;
        position: absolute;
        right: 27px;
        margin: 4px 0 0;
        font-size: 16px;
        font-size: 1.6rem
    }
}

.mainvisual__label {
    color: #C01431;
    white-space: nowrap;
    position: relative;
    font-family: "Lato", sans-serif;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 2.5;
    letter-spacing: .05em;
    font-weight: 700
}

@media (min-width: 768px) {
    .mainvisual__label {
        padding: 0 29px 0 0;
        margin: 0 30px 0 0
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .mainvisual__label {
        padding-right: 1.5vw;
        margin-right: 1.5vw;
        font-size: 22px;
        font-size: 2.2rem
    }
}

@media (max-width: 767px) {
    .mainvisual__label {
        order: 1;
        line-height: 1;
        padding: 0 0 20px;
        margin: 0 0 15px
    }
}

.mainvisual__label::after {
    content: "";
    position: absolute;
    right: 0;
    width: 1px;
    height: 40px;
    background: #bbc8ce
}

@media (min-width: 768px) {
    .mainvisual__label::after {
        top: 50%;
        transform: translateY(-50%)
    }
}

@media (max-width: 767px) {
    .mainvisual__label::after {
        width: calc(100vw - 100px);
        height: 1px;
        bottom: 0;
        left: 0
    }
}

@media (min-width: 768px) {
    .mainvisual__list {
        margin-right: 15%;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .mainvisual__list {
        margin-right: 1vw
    }
}

@media (max-width: 767px) {
    .mainvisual__list {
        order: 2
    }
}

.mainvisual__item a {
    opacity: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

@media (max-width: 767px) {
    .mainvisual__item a {
        flex-wrap: wrap
    }
}

.mainvisual__date {
    color: #8b9ea8;
    margin: 0 21px 0 0;
    white-space: nowrap;
    font-family: "Lato", sans-serif;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 3.75;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .mainvisual__date {
        margin-right: 1vw
    }
}

@media (max-width: 767px) {
    .mainvisual__date {
        margin-right: 18px;
        line-height: 1
    }
}

.mainvisual__cat {
    color: #C01431;
    margin: 0 21px 0 0;
    white-space: nowrap;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .mainvisual__cat {
        margin-right: 1vw
    }
}

.mainvisual__tit {
    color: #1f2224
}

@media (min-width: 768px) {
    .mainvisual__tit {
        overflow: hidden;
        width: 100%;
        -webkit-line-clamp: 1;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        white-space: normal;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 2;
        letter-spacing: .05em;
        font-weight: 700;
        max-width: 315px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .mainvisual__tit {
        line-height: 1
    }
}

@media (max-width: 767px) {
    .mainvisual__tit {
        overflow: hidden;
        width: 100%;
        -webkit-line-clamp: 2;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        white-space: normal;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.46667;
        letter-spacing: .12em;
        font-weight: 700;
        margin-top: 5px
    }
}

.mainvisual .img_first {
    border-radius: 10px;
    overflow: hidden
}

.c-view {
    position: relative;
    color: #C01431;
    padding: 0 28px 0 0;
    opacity: 1;
    margin: 20px 0;
    white-space: nowrap;
    position: relative;
    font-family: "Lato", sans-serif;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: bold
}

.c-view::after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 0;
    height: 1px;
    width: 0;
    background: #C01431;
    transition: all 0.3s
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .c-view:hover {
        opacity: 1
    }

    .c-view:hover::after {
        width: 100%
    }

    .c-view:hover .c-view__ico i {
        transform: rotate(90deg)
    }
}

@media (max-width: 767px) {
    .c-view {
        font-size: 18px;
        font-size: 1.8rem;
        padding-right: 24px
    }
}

.c-view__txt {
    position: relative;
    display: inline-flex;
    overflow: hidden
}

.c-view__ico {
    position: absolute;
    right: 2px;
    top: calc(50% - 1px);
    width: 15px;
    height: 15px;
    transform: translateY(-50%)
}

.c-view__ico i {
    transition: 0.3s;
    display: block;
    width: 100%;
    height: 100%
}

.c-view__ico i::after {
    content: "";
    position: absolute;
    top: 48%;
    right: 0;
    background: #C01431;
    width: 15px;
    height: 1px;
    transform: translateY(-50%)
}

.c-view__ico i::before {
    content: "";
    position: absolute;
    top: 48%;
    right: 7px;
    background: #C01431;
    width: 1px;
    height: 15px;
    transform: translateY(-50%)
}

.c-view--white::after {
    background: #fff
}

.c-view--white span {
    color: #fff
}

.c-view--white .c-view__ico i::after,
.c-view--white .c-view__ico i::before {
    background: #fff
}

.c-title {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

.c-title__en {
    display: block;
    color: #C01431;
    margin: 0 18px 0 0;
    font-family: "Lato", sans-serif;
    font-size: 48px;
    font-size: 4.8rem;
    line-height: 1.25;
    letter-spacing: .05em;
    font-weight: 700
}

@media (max-width: 767px) {
    .c-title__en {
        font-size: 36px;
        font-size: 3.6rem;
        line-height: 1.66667;
        margin-right: 8px
    }
}

.c-title__jp {
    color: #000000;
    margin: 13px 0 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: .1em;
    font-weight: 700
}

@media (max-width: 767px) {
    .c-title__jp {
        font-size: 2rem;
        line-height: 2.5;
        margin-top: 11px
    }
}

@media (min-width: 768px) {
    .c-title--block span {
        width: 100%;
        display: block
    }

    .c-title--block .c-title__jp {
        margin-top: 3px
    }
}

@media (max-width: 767px) {
    .c-title--block .c-title__en {
        line-height: 1
    }

    .c-title--block .c-title__jp {
        margin-top: 2px
    }
}

.c-title--white .c-title__en,
.c-title--white .c-title__jp {
    color: #fff
}

.c-title--center {
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    text-align: center;
    margin: 0 auto
}

.c-title--center>* {
    margin-right: 0
}

.c-heading {
    color: #C01431;
    position: relative;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: .05em;
    font-weight: 700
}

@media (min-width: 768px) {
    .c-heading {
        display: inline
    }
}

@media (max-width: 767px) {
    .c-heading {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 2.5
    }

    .c-heading::after {
        content: "";
        position: absolute;
        top: 14px;
        right: 0;
        width: 100%;
        height: 1px;
        background: #C01431
    }
}

.c-heading__txt {
    position: relative;
    z-index: 1
}

@media (min-width: 768px) {
    .c-heading__txt {
        padding: 0 10px 0 0
    }
}

.c-heading__txt i {
    background: #fff;
    position: relative;
    z-index: 2;
    font-style: normal
}

@media (max-width: 767px) {
    .c-heading__txt i {
        padding: 0 10px 0 0
    }
}

.c-heading__line {
    display: inline-block;
    width: 80px;
    height: 1px;
    margin: 0 0 5px;
    background: #C01431
}

@media (max-width: 767px) {
    .c-heading__line {
        display: none
    }
}

.c-heading.size24 {
    font-size: 24px;
    font-size: 2.4rem
}

.c-heading.size24 .c-heading__txt {
    padding-right: 2px
}

.c-heading.size24 .c-heading__line {
    margin-bottom: 8px
}

.c-banner {
    position: relative;
    overflow: hidden;
    margin: 0
}

@media (max-width: 767px) {
    .c-banner {
        margin-bottom: 71px;
        max-width: calc(100% - 25px);
        margin: 0 0 0 auto
    }
}

.c-banner::after {
    content: "";
    display: block;
    max-width: calc(100% - 80px);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background: #C01431;
    background-size: 100% 100%;
    border-radius: 10px 0px 0px 10px;
    transition: all 0.3s
}

@media (max-width: 767px) {
    .c-banner::after {
        background: #C01431
    }
}

@media (max-width: 767px) {
    .c-banner::after {
        max-width: 100%
    }
}

.c-banner::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 80px;
    border-radius: 50%;
    transition: all 0.3s;
    z-index: 1;
    transform: translateY(-50%)
}

@media (min-width: 768px) {
    .c-banner::before {
        width: 50px;
        height: 50px;
        background: url(../image/ico_arrow_circle_white2.svg) no-repeat;
        background-size: cover
    }
}

@media (max-width: 767px) {
    .c-banner::before {
        width: 30px;
        height: 30px;
        top: 91px;
        right: 40px;
        background: url(../image/ico_arrow_circle_white.svg) no-repeat;
        background-size: cover
    }
}

@media only screen and (max-width: 374px) {
    .c-banner::before {
        top: 72px;
        right: 15px
    }
}

@media (min-width: 768px) {
    .c-banner__inner {
        max-width: 900px;
        width: calc(100% - 50px);
        margin: 0 auto;
        padding: 0 50px;
        position: absolute;
        top: calc(50% + 2px);
        transform: translateY(-50%);
        left: 12.5%;
        transition: all 0.3s
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-banner__inner {
        padding: 0;
        width: calc(100% - 100px)
    }
}

@media (max-width: 767px) {
    .c-banner__inner {
        max-width: 100%;
        width: 100%;
        padding: 43px 29px 45px
    }
}

@media only screen and (max-width: 374px) {
    .c-banner__inner {
        padding: 30px 20px
    }
}

.c-banner__txt {
    color: #fff;
    margin: 0 0 34px 0;
    position: relative;
    max-width: 556px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.66667;
    letter-spacing: .05em;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-banner__txt {
        margin-bottom: 20px
    }
}

@media (max-width: 767px) {
    .c-banner__txt {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.5;
        margin-bottom: 28px
    }
}

.c-banner__txt span {
    position: relative;
    z-index: 1;
    padding: 0 10px 0 0
}

.c-banner__txt::after {
    content: "";
    position: absolute;
    height: 1px;
    background: #fff;
    transition: all 0.3s
}

@media (min-width: 768px) {
    .c-banner__txt::after {
        top: calc(50% + 2px);
        right: 0;
        width: calc(100% / 2.8);
        transform: translateY(-50%)
    }
}

@media (max-width: 767px) {
    .c-banner__txt::after {
        bottom: 11px;
        left: 106px;
        width: 42px
    }
}

.c-banner__ttl {
    color: #fff;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.6;
    letter-spacing: .05em;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-banner__ttl {
        font-size: 26px;
        font-size: 2.6rem
    }
}

@media (max-width: 767px) {
    .c-banner__ttl {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 1.63636
    }
}

.c-banner__link {
    position: relative;
    display: block;
    overflow: hidden
}

@media (min-width: 768px) {
    .c-banner__link {
        height: 306px;
        max-width: calc(100% - 80px);
        margin: 0 0 0 auto
    }
}

@media (max-width: 767px) {
    .c-banner__link {
        padding: 24px 0 19px
    }
}

.c-banner__box {
    position: relative;
    z-index: 2;
    height: 100%
}

.c-banner__box::before,
.c-banner__box::after {
    content: "";
    position: absolute;
    top: 13px;
    transition: all 0.3s
}

@media (max-width: 767px) {

    .c-banner__box::before,
    .c-banner__box::after {
        left: 0;
        top: 0
    }
}

.c-banner__box::before {
    background: url(../image/about_top.png) no-repeat;
    background-position: center left;
    background-size: 350px auto;
    width: 100%;
    height: 100%
}

@media (min-width: 768px) {
    .c-banner__box::before {
        left: 40px
    }
}

@media (max-width: 767px) {
    .c-banner__box::before {
        background: url(../image/about_top_sp.png) no-repeat;
        background-position: top 6px right 14px;
        background-size: auto 90%;
    }
}

@media only screen and (max-width: 374px) {
    .c-banner__box::before {
        background-position: top 0 right 14px;
        background-size: contain
    }
}

.c-banner__box::after {
    background: url(../image/about_top_hv.png) no-repeat;
    background-position: center left;
    background-size: 700px auto;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: all 0.3s
}

@media (min-width: 768px) {
    .c-banner__box::after {
        left: 40px
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .c-banner:hover::after {
        max-width: 100%;
        border-radius: 0
    }

    .c-banner:hover::before {
        background: url(../image/ico_arrow_circle_white2_hv.svg) no-repeat;
        background-size: cover
    }

    .c-banner:hover .c-banner__link {
        opacity: 1
    }

    .c-banner:hover .c-banner__link::before {
        opacity: 1
    }

    .c-banner:hover .c-banner__img,
    .c-banner:hover .c-banner__inner {
        opacity: 0
    }

    .c-banner:hover .c-banner__txt::after {
        right: -100px;
        top: 50%
    }

    .c-banner:hover .c-banner__box::before {
        opacity: 0;
        left: 40px
    }

    .c-banner:hover .c-banner__box::after {
        opacity: 1;
        left: 0
    }
}

.c-flow__list {
    position: relative
}

@media (min-width: 768px) {
    .c-flow__list {
        display: flex;
        display: inline-flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin: 63px auto 0;
        padding: 0 0 38px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-flow__list {
        max-width: 100%;
        padding: 0 0 38px
    }
}

@media (max-width: 767px) {
    .c-flow__list {
        padding: 38px 0 20px 0;
        display: flex;
        display: inline-flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
}

@media only screen and (max-width: 374px) {
    .c-flow__list {
        padding: 30px 0 30px 30px
    }
}

.c-flow__item {
    position: relative
}

@media (min-width: 768px) {
    .c-flow__item {
        width: calc(100% / 3 - 30px);
        margin-right: 40px;
        margin-bottom: 30px;
    }

    .c-flow__item:nth-child(3n+3) {
        margin-right: 0;
    }
}

@media (max-width: 767px) {
    .c-flow__item {
        display: flex;
        flex-wrap: wrap;
        margin: 0 0 19px;
        width: calc(96% / 2);
    }

    .c-flow__item:last-child {
        margin-bottom: 0
    }

    .c-flow__item:nth-child(1) img {
    }

    .c-flow__item:nth-child(2) img {
    }

    .c-flow__item:nth-child(3) img {
    }

    .c-flow__item:nth-child(4) img {
    }

    .c-flow__item:nth-child(5) img {
    }

    .c-flow__item:nth-child(6) img {
    }
}

.c-flow__item span,
.c-flow__item img,
.c-flow__item h3 {
    display: block;
    margin: 0 auto;
    width: 100%;
}

@media (min-width: 768px) {

    .c-flow__item span,
    .c-flow__item img,
    .c-flow__item h3 {
        text-align: center
    }
}

@media (max-width: 767px) {

    .c-flow__item span,
    .c-flow__item img,
    .c-flow__item h3 {
        margin: 0;
        text-align: left
    }
}

@media (max-width: 767px) {
    .c-flow__item .img {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center
    }
}

@media (max-width: 767px) {
    .c-flow__item .txt {
        max-width: calc(100% - 65px);
        width: 100%;
        padding: 0 0 0 20px
    }
}

.c-flow__step {
    color: #C01431;
    font-family: "Lato", sans-serif;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: .05em;
    font-weight: 700;
    padding: 16px 0 0
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-flow__step {
        font-size: 12px;
        font-size: 1.2rem
    }
}

@media (max-width: 767px) {
    .c-flow__step {
        padding-top: 0
    }
}

.c-flow__ttl {
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .05em;
    font-weight: 700;
    padding: 0 0 0
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-flow__ttl {
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media only screen and (max-width: 374px) {
    .c-flow__ttl {
        font-size: 16px;
        font-size: 1.6rem
    }
}

.c-block {
    margin: 72px auto;
    border-radius: 10px;
    padding: 45px 60px 35px;
    background: #fff;
    box-shadow: 4px 4px 20px rgba(192, 20, 49, .2)
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-block {
        padding: 30px 30px
    }
}

@media (max-width: 767px) {
    .c-block {
        margin: 48px auto 44px;
        padding: 30px 28px 35px
    }
}

@media only screen and (max-width: 374px) {
    .c-block {
        padding-left: 20px;
        padding-right: 20px
    }
}

.c-block__heading {
    text-align: center;
    padding: 0 0 14px;
    position: relative;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700
}

@media (max-width: 767px) {
    .c-block__heading {
        font-size: 18px;
        font-size: 1.8rem;
        padding-bottom: 18px
    }

    .c-block__heading span {
        display: block
    }
}

@media only screen and (max-width: 374px) {
    .c-block__heading {
        font-size: 16px;
        font-size: 1.6rem
    }
}

.c-block__heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 40px;
    height: 1px;
    margin: 0 auto;
    background: #C01431
}

.c-block__heading span.bl {
    color: #C01431
}

.c-block__list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    align-items: flex-start;
    margin: 51px auto 0
}

@media (max-width: 767px) {
    .c-block__list {
        margin-top: 28px
    }
}

@media (min-width: 768px) {
    .c-block__list ul {
        width: 48%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-block__list ul {
        width: 49%
    }
}

.c-block__list ul:last-child li:last-child {
    margin-bottom: 0
}

@media (max-width: 767px) {
    .c-block__list ul:last-child li:last-child {
        padding-bottom: 12px
    }
}

.c-block__list ul li {
    border-bottom: 1px solid #bbc8ce;
    position: relative;
    padding: 0 0 14px 38px;
    margin: 0 0 16px;
    text-align: left;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.73333;
    letter-spacing: .05em;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-block__list ul li {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.03em
    }
}

@media (max-width: 767px) {
    .c-block__list ul li {
        padding: 0 1px 12px 28px;
        margin: 0 0 12px;
        line-height: 1.46667
    }
}

.c-block__list ul li::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 0;
    width: 28px;
    height: 28px;
    background: url(../image/ico_check.svg) no-repeat
}

@media (max-width: 767px) {
    .c-block__list ul li::before {
        width: 20px;
        height: 20px;
        top: 2px;
        left: 0;
        background: url(../image/ico_check_sp.svg) no-repeat;
        background-size: contain
    }
}

.c-box {
    width: calc(100% - 119px);
    margin: 0 auto
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-box {
        width: calc(100% - 40px)
    }
}

@media (max-width: 767px) {
    .c-box {
        width: 100%
    }
}

.c-box__title {
    margin: 67px 0 0;
    color: #C01431;
    position: relative;
    display: table;
    padding: 0 78px 0 0;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-box__title {
        font-size: 18px;
        font-size: 1.8rem
    }
}

@media (max-width: 767px) {
    .c-box__title {
        margin: 36px auto 0;
        padding: 0 0 15px;
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.6
    }
}

.c-box__title span {
    position: relative;
    z-index: 1;
    background: #fff
}

@media (min-width: 768px) {
    .c-box__title span {
        padding: 0 10px 0 0
    }
}

.c-box__title::after {
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    left: 0;
    width: 100%;
    height: 1px;
    background: #C01431
}

@media (max-width: 767px) {
    .c-box__title::after {
        width: 40px;
        top: auto;
        bottom: 0
    }
}

.c-box__index {
    margin: 40px auto 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    align-items: flex-start
}

.c-box__item {
    border-radius: 10px;
    background: #fff;
    padding: 30px 50px 28px;
    /* box-shadow: 4px 4px 20px rgba(192, 20, 49, .2); */
    margin: 0 2% 2% 0
}

@media (min-width: 768px) {
    .c-box__item {
        min-height: 313px;
        width: 49%
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1080px) {
    .c-box__item {
        padding: 30px 30px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-box__item {
        padding: 20px 30px
    }
}

@media (max-width: 767px) {
    .c-box__item {
        margin: 0 0 15px;
        padding: 21px 30px 22px
    }
}

@media only screen and (max-width: 374px) {
    .c-box__item {
        padding: 20px 20px
    }
}

.c-box__item:nth-child(2n+2) {
    margin-right: 0
}

.c-box__item img {
    float: left
}

.c-box__inn {
    display: flex;
    align-items: center
}

@media (min-width: 768px) {
    .c-box__img {
        width: 100px
    }
}

@media (max-width: 767px) {
    .c-box__img {
        width: 70px;
        position: relative;
        top: 3px
    }
}

.c-box__ttl {
    padding: 0 0 0 30px;
    margin: 6px 0 0;
    color: #C01431;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700
}

@media (min-width: 768px) {
    .c-box__ttl {
        width: calc(100% - 100px)
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-box__ttl {
        padding-left: 15px;
        font-size: 16px;
        font-size: 1.6rem
    }
}

@media (max-width: 767px) {
    .c-box__ttl {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.22222;
        width: calc(100% - 70px);
        margin: 0;
        padding: 14px 8px 0 16px
    }
}

@media only screen and (max-width: 374px) {
    .c-box__ttl {
        font-size: 16px;
        font-size: 1.6rem
    }
}

.c-box__txt {
    display: block;
    width: 100%
}

@media (min-width: 768px) {
    .c-box__txt {
        margin: 22px 0 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 2.13333;
        letter-spacing: .05em;
        font-weight: 500
    }
}

@media (max-width: 767px) {
    .c-box__txt {
        margin: 13px 0 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.86667;
        letter-spacing: .05em
    }
}

@media only screen and (max-width: 374px) {
    .c-box__txt {
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media (min-width: 768px) {
    .c-software {
        padding-bottom: 70px
    }
}

@media (min-width: 768px) {
    .c-software .c-title {
        margin: 136px auto 0;
        width: calc(100% - 568px);
        padding: 0 0 0 40px;
        display: block;
    }

    .c-software .c-title__jp {
        margin-top: 7px;
        color: #1F2224;
        font-size: 3.6rem;
        letter-spacing: 0;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-software .c-title {
        width: calc(100% - 300px)
    }
}

@media (max-width: 767px) {
    .c-software .c-title {
        margin: 35px auto 35px;
    }

    .c-software .c-title__jp {
        margin-top: 8px;
        line-height: 16px
    }
}

.c-software__inn {
    position: relative
}

@media (max-width: 767px) {
    .c-software__inn {
        padding: 0 0 43px;
        overflow: hidden
    }
}

.c-software__inn::before {
    content: "";
    position: absolute;
    top: 180px;
    left: 0;
    height: calc(100% - 262px);
    width: calc(100% - 23.438vw);
    background: #F7E9E8;
    border-radius: 0 0 15px 0
}

@media only screen and (min-width: 1700px) and (max-width: 1920px) {
    .c-software__inn::before {
        width: calc(100% / 1.4)
    }
}

@media only screen and (min-width: 1921px) and (max-width: 5000px) {
    .c-software__inn::before {
        width: calc(100% / 1.5)
    }
}

@media (max-width: 767px) {
    .c-software__inn::before {
        border-radius: 0 15px 15px 0;
        top: 88px;
        z-index: -1;
        height: 100%;
        width: calc(100% - 21.438vw)
    }
}

@media (min-width: 768px) {
    .c-software__flex {
        display: flex;
        align-items: flex-start;
        position: relative
    }

    .c-software__flex:before,
    .c-software__flex:after {
        content: " ";
        display: table
    }

    .c-software__flex:after {
        clear: both
    }
}

.c-software__txt {
    position: relative;
    max-width: 1000px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2.13333;
    letter-spacing: .05em;
    font-weight: 500
}

@media (min-width: 768px) {
    .c-software__txt {
        margin: 36px auto 0 0;
    }
}

@media (max-width: 767px) {
    .c-software__txt {
        margin: 26px auto 0;
        line-height: 28px
    }
}

.c-software__img {
    overflow: hidden;
    border-radius: 10px
}

@media (min-width: 768px) {
    .c-software__img {
        margin: 0 0 0 auto
    }
}

@media (max-width: 767px) {
    .c-software__img img {
        width: 100%
    }
}

.c-table {
    max-width: 1000px;
    width: 100%
}

@media (min-width: 768px) {
    .c-table {
        margin: 79px auto 0
    }
}

@media (max-width: 767px) {
    .c-table {
        margin: 41px auto 0
    }

    .c-table tbody {
        width: 100%;
        display: block
    }
}

@media (max-width: 767px) {
    .c-table table {
        display: block;
        width: 100%
    }
}

@media (max-width: 767px) {
    .c-table table tr {
        display: block;
        width: 100%
    }

    .c-table table tr:last-child td {
        padding-bottom: 18px
    }
}

@media (min-width: 768px) {
    .c-table table tr:nth-child(odd) td {
        position: relative
    }

    .c-table table tr:nth-child(odd) td::after {
        content: "";
        position: absolute;
        top: 0;
        left: -1px;
        width: 2px;
        height: 100%;
        background: #F7F7F7;
    }
}

.c-table table tr:nth-child(even) th,
.c-table table tr:nth-child(even) td {
    background: transparent
}

@media (max-width: 767px) {
    .c-table table tr:nth-child(even) td {
        padding-top: 11px;
        padding-bottom: 14px
    }
}

.c-table table tr strong {
    font-weight: 700
}

.c-table table tr th,
.c-table table tr td {
    background: #F7F7F7;
}

@media (max-width: 767px) {

    .c-table table tr th,
    .c-table table tr td {
        display: block;
        width: 100%
    }
}

.c-table table tr th {
    color: #C01431;
    text-align: left;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700
}

@media (min-width: 768px) {
    .c-table table tr th {
        border-radius: 5px 0 0 5px;
        width: 270px;
        padding: 30px 40px;
        white-space: nowrap
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-table table tr th {
        width: 190px;
        padding: 30px 30px
    }
}

@media (max-width: 767px) {
    .c-table table tr th {
        padding: 21px 25px 0;
        border-radius: 5px 5px 0 0
    }
}

@media only screen and (max-width: 350px) {
    .c-table table tr th {
        padding: 20px 10px 0;
        font-size: 14px;
        font-size: 1.4rem
    }
}

.c-table table tr td {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.73333;
    letter-spacing: .05em;
    font-weight: 400
}

@media (min-width: 768px) {
    .c-table table tr td {
        border-radius: 0 5px 5px 0;
        width: calc(100% - 270px);
        padding: 25px 42px 24px 1px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-table table tr td {
        width: calc(100% - 190px)
    }
}

@media (max-width: 767px) {
    .c-table table tr td {
        padding: 9px 25px 13px;
        border-radius: 0 0 5px 5px
    }
}

@media only screen and (max-width: 350px) {
    .c-table table tr td {
        padding: 14px 10px 20px;
        font-size: 13px;
        font-size: 1.3rem
    }
}

.c-table ul li {
    padding-bottom: 20px;
    border-bottom: 1px solid #bbc8ce;
    margin-bottom: 21px
}

@media (min-width: 768px) {
    .c-table ul li {
        width: calc(100% - 40px)
    }
}

@media only screen and (max-width: 350px) {
    .c-table ul li {
        width: 100%
    }
}

.c-table ul li:last-child {
    border: none;
    padding-bottom: 0
}

@media (min-width: 768px) {
    .c-table ul li:last-child {
        margin-bottom: 0
    }
}

@media (max-width: 767px) {
    .c-table ul li:last-child {
        margin-bottom: 0
    }
}

.c-table ul li a {
    color: #1F2224;
}

.c-table ol {
    position: relative;
    top: 2px
}

.c-table ol li {
    position: relative
}

@media (min-width: 768px) {
    .c-table ol li {
        padding-left: 20px;
        margin: 0
    }
}

@media (max-width: 767px) {
    .c-table ol li {
        padding-left: 22px;
        margin: 0 0 6px;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.33333
    }
}

@media (min-width: 768px) {
    .c-table ol li:last-child {
        padding-bottom: 0
    }
}

@media (max-width: 767px) {
    .c-table ol li:last-child {
        margin-bottom: 0;
        padding-bottom: 0
    }
}

.c-table ol li::before {
    content: "";
    position: absolute;
    top: 11px;
    left: 0;
    width: 10px;
    height: 1px;
    background: #C01431
}

@media (max-width: 767px) {
    .c-table ol li::before {
        top: 8px;
        width: 12px
    }
}

.c-table__tit {
    margin-bottom: 15px;
    display: block;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: .03em;
    font-weight: 700
}

@media (max-width: 767px) {
    .c-table__tit {
        margin-bottom: 8px
    }
}

@media (min-width: 768px) {
    .c-table__tel {
        pointer-events: none
    }
}

.c-table__address,
.c-table__tel,
.c-table__fax {
    margin-bottom: 11px;
    display: block;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: .03em;
    font-weight: 500
}

.c-table__address span,
.c-table__tel span,
.c-table__fax span {
    color: #1f2224
}

@media (max-width: 767px) {

    .c-table__address,
    .c-table__tel,
    .c-table__fax {
        margin-bottom: 0;
        line-height: 22px
    }
}

.c-table__address {
    letter-spacing: 0.05em
}

.c-table__link {
    width: 126px;
    height: 32px;
    padding-left: 20px;
    padding-right: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.85714;
    letter-spacing: .01em
}

@media (max-width: 767px) {
    .c-table__link {
        margin: 5px 0 0;
        width: 110px;
        height: 25px;
        padding: 5px 0 3px 13px;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 2.16667
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .c-table__link:hover {
        padding-top: 0;
        justify-content: center
    }
}

.c-table__link img {
    left: 10px
}

@media (max-width: 767px) {
    .c-table__link img {
        width: 9px;
        left: 9px
    }
}

.c-input-radio,
.c-input-checkbox {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.73333;
    letter-spacing: .05em;
    font-weight: 500;
    padding-left: 32px;
    position: relative
}

@media (max-width: 767px) {

    .c-input-radio,
    .c-input-checkbox {
        padding-left: 26px
    }
}

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

    .c-input-radio,
    .c-input-checkbox {
        font-size: 13px;
        font-size: 1.3rem
    }
}

.c-input-radio input,
.c-input-checkbox input {
    width: 0 !important;
    height: 0 !important;
    opacity: 0;
    padding: 0 !important;
    position: absolute
}

.c-input-radio input:checked~span,
.c-input-checkbox input:checked~span {
    border-color: #C01431
}

.c-input-radio input:checked~span::before,
.c-input-checkbox input:checked~span::before {
    opacity: 1
}

.c-input-radio span,
.c-input-checkbox span {
    background: #fff;
    border: 1px solid #3F5061;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    transition: all 0.3s ease-in-out
}

@media (max-width: 767px) {

    .c-input-radio span,
    .c-input-checkbox span {
        width: 20px;
        height: 20px
    }
}

.c-input-radio span::before,
.c-input-checkbox span::before {
    content: "";
    position: absolute;
    background: #C01431;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 50%;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease-in-out
}

@media (max-width: 767px) {

    .c-input-radio span::before,
    .c-input-checkbox span::before {
        width: 14px;
        height: 14px
    }
}

.c-input-checkbox input:checked~span {
    border-color: transparent
}

.c-input-checkbox input:checked~span::after {
    opacity: 1
}

.c-input-checkbox span {
    border-radius: 0;
    width: 20px;
    height: 20px;
}

@media (max-width: 767px) {
    .c-input-checkbox span {
        width: 20px;
        height: 20px
    }
}

.c-input-checkbox span::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='13' viewBox='0 0 16 13'%3E%3Cpath id='check' d='M436.358,1542.37l4.836,4.855,9.164-10' transform='translate(-435.296 -1536.212)' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E%0A") center/contain no-repeat;
    width: 16px;
    height: 13px;
    z-index: 1
}

@media (max-width: 767px) {
    .c-input-checkbox span::before {
        width: 13px;
        height: 11px
    }
}

.c-input-checkbox span::after {
    content: "";
    position: absolute;
    background: #C01431;
    border-radius: 4px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    top: -1px;
    left: -1px;
    opacity: 0;
    transition: all 0.3s ease-in-out
}

.c-link {
    border-top: 1px solid #bbc8ce;
    border-bottom: 1px solid #bbc8ce;
    max-width: 1000px;
    position: relative
}

@media (min-width: 768px) {
    .c-link {
        padding: 28px 28px 29px 30px;
        margin: 100px auto 0;
        display: flex;
        align-items: center
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-link {
        max-width: calc(100% - 100px)
    }
}

@media (max-width: 767px) {
    .c-link {
        margin: 80px auto 0;
        padding: 35px 20px;
        width: calc(100% - 50px)
    }
}

.c-link .txt {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.625;
    letter-spacing: .05em;
    font-weight: 700;
    position: relative
}

@media (min-width: 768px) {
    .c-link .txt {
        padding: 0 40px 0 42px;
        max-width: calc(100% - 320px)
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-link .txt {
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media (max-width: 767px) {
    .c-link .txt {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.46667;
        padding-left: 36px
    }
}

.c-link .txt::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 28px;
    height: 28px;
    background: url(../image/ico_check.svg) no-repeat
}

@media (max-width: 767px) {
    .c-link .txt::before {
        width: 20px;
        height: 20px;
        top: 0px;
        left: 10px;
        background: url(../image/ico_check_sp.svg) no-repeat;
        background-size: contain
    }
}

.c-link .c-btn {
    width: 100%
}

@media (min-width: 768px) {
    .c-link .c-btn {
        margin: 0 0 0 auto
    }
}

@media (max-width: 767px) {
    .c-link .c-btn {
        margin-top: 25px;
        padding: 19px 19px 17px
    }
}

.c-pagenavi {
    display: flex;
    align-items: center;
    justify-content: center
}

.c-pagenavi .wp-pagenavi {
    display: flex;
    align-items: center;
    justify-content: center
}

.c-pagenavi .wp-pagenavi .pages,
.c-pagenavi .wp-pagenavi .extend,
.c-pagenavi .wp-pagenavi .nextpostslink,
.c-pagenavi .wp-pagenavi .previouspostslink {
    display: none
}

.c-pagenavi .wp-pagenavi .page,
.c-pagenavi .wp-pagenavi .current,
.c-pagenavi .wp-pagenavi .page-num {
    background: #bbc8ce;
    border-radius: 4px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-family: "Lato", sans-serif;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700;
    margin: 0 6px
}

@media (max-width: 767px) {

    .c-pagenavi .wp-pagenavi .page,
    .c-pagenavi .wp-pagenavi .current,
    .c-pagenavi .wp-pagenavi .page-num {
        width: 30px;
        height: 28px;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.66667;
        margin: 0 5px
    }
}

.c-pagenavi .wp-pagenavi .current,
.c-pagenavi .wp-pagenavi .page-num-current {
    background: #C01431;
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .c-pagenavi .wp-pagenavi .page:hover {
        background: linear-gradient(45deg, #58acea, #1ead97);
        opacity: 1
    }
}

.c-pagenavi .first,
.c-pagenavi .last,
.c-pagenavi .first-navi,
.c-pagenavi .last-navi {
    background-size: 15px 13px;
    background-repeat: no-repeat;
    color: #C01431;
    font-family: "Lato", sans-serif;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700;
    padding-bottom: 4px
}

.c-pagenavi .first.hide,
.c-pagenavi .last.hide,
.c-pagenavi .first-navi.hide,
.c-pagenavi .last-navi.hide {
    opacity: 0
}

@media (max-width: 767px) {

    .c-pagenavi .first,
    .c-pagenavi .last,
    .c-pagenavi .first-navi,
    .c-pagenavi .last-navi {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.66667;
        padding-bottom: 2px
    }
}

.c-pagenavi .first,
.c-pagenavi .first-navi {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='13' viewBox='0 0 15 13'%3E%3Cg id='Group_95' data-name='Group 95' transform='translate(-452 -4171.086)'%3E%3Cpath id='arw' d='M0,5,5,0l5,5' transform='translate(460 4182.5) rotate(-90)' fill='none' stroke='%230691c4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='arw-2' data-name='arw' d='M0,5,5,0l5,5' transform='translate(453 4182.5) rotate(-90)' fill='none' stroke='%230691c4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E%0A");
    background-position: left center;
    margin-right: 44px;
    padding-left: 25px
}

@media (max-width: 767px) {

    .c-pagenavi .first,
    .c-pagenavi .first-navi {
        background-position: left 4px center;
        margin-right: auto;
        padding-left: 32px
    }
}

.c-pagenavi .last,
.c-pagenavi .last-navi {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='13' viewBox='0 0 15 13'%3E%3Cg id='Group_94' data-name='Group 94' transform='translate(-813.586 -4171.086)'%3E%3Cpath id='arw' d='M488.25,31.489l5,5,5-5' transform='translate(783.512 4670.75) rotate(-90)' fill='none' stroke='%230691c4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='arw-2' data-name='arw' d='M488.25,31.489l5,5,5-5' transform='translate(790.512 4670.75) rotate(-90)' fill='none' stroke='%230691c4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E%0A");
    background-position: right center;
    margin-left: 44px;
    padding-right: 25px
}

@media (max-width: 767px) {

    .c-pagenavi .last,
    .c-pagenavi .last-navi {
        background-position: right 4px center;
        margin-left: auto;
        padding-right: 32px
    }
}

.c-pagenavi__cms {
    display: flex;
    align-items: center;
    justify-content: center
}

@media (max-width: 767px) {
    .c-pagenavi__cms {
        width: calc(100% - 50px);
        margin: 0 auto
    }
}

.c-pagenavi__cms .pages {
    display: flex
}

.c-pagenavi__cms .pages>* {
    background: none;
    border: none;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-family: "Lato", sans-serif;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700;
    margin: 0 6px;
    position: relative;
    transition: all 0.3s ease-in-out
}

@media (max-width: 767px) {
    .c-pagenavi__cms .pages>* {
        width: 30px;
        height: 28px;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.66667;
        margin: 0 5px
    }
}

.c-pagenavi__cms .pages>*::before,
.c-pagenavi__cms .pages>*::after {
    content: "";
    position: absolute;
    background: #bbc8ce;
    border-radius: 4px;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all 0.3s ease-in-out
}

.c-pagenavi__cms .pages>*::after {
    background: linear-gradient(45deg, #58acea, #1ead97);
    opacity: 0
}

.c-pagenavi__cms .pages>*.current::before {
    opacity: 0
}

.c-pagenavi__cms .pages>*.current::after {
    opacity: 1
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .c-pagenavi__cms .pages button:hover::before {
        opacity: 0
    }

    .c-pagenavi__cms .pages button:hover::after {
        opacity: 1
    }
}

.c-pagenavi__cms .first-link.hide,
.c-pagenavi__cms .last-link.hide {
    opacity: 0
}

.c-pagenavi__cms .first-link button,
.c-pagenavi__cms .last-link button {
    background-color: transparent;
    background-size: 15px 13px;
    background-repeat: no-repeat;
    border: none;
    color: #C01431;
    font-family: "Lato", sans-serif;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700;
    padding-bottom: 4px;
    transition: all 0.3s ease-in-out
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {

    .c-pagenavi__cms .first-link button:hover,
    .c-pagenavi__cms .last-link button:hover {
        opacity: 0.5
    }
}

@media (max-width: 767px) {

    .c-pagenavi__cms .first-link button,
    .c-pagenavi__cms .last-link button {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.66667;
        padding-bottom: 2px
    }
}

.c-pagenavi__cms .first-link {
    margin-right: 44px
}

@media (max-width: 767px) {
    .c-pagenavi__cms .first-link {
        margin-right: auto
    }
}

.c-pagenavi__cms .first-link button {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='13' viewBox='0 0 15 13'%3E%3Cg id='Group_95' data-name='Group 95' transform='translate(-452 -4171.086)'%3E%3Cpath id='arw' d='M0,5,5,0l5,5' transform='translate(460 4182.5) rotate(-90)' fill='none' stroke='%230691c4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='arw-2' data-name='arw' d='M0,5,5,0l5,5' transform='translate(453 4182.5) rotate(-90)' fill='none' stroke='%230691c4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E%0A");
    background-position: left center;
    margin-right: auto;
    padding-left: 25px
}

@media (max-width: 767px) {
    .c-pagenavi__cms .first-link button {
        background-position: left 4px center;
        padding-left: 32px
    }
}

.c-pagenavi__cms .last-link {
    margin-left: 44px
}

@media (max-width: 767px) {
    .c-pagenavi__cms .last-link {
        margin-left: auto
    }
}

.c-pagenavi__cms .last-link button {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='13' viewBox='0 0 15 13'%3E%3Cg id='Group_94' data-name='Group 94' transform='translate(-813.586 -4171.086)'%3E%3Cpath id='arw' d='M488.25,31.489l5,5,5-5' transform='translate(783.512 4670.75) rotate(-90)' fill='none' stroke='%230691c4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='arw-2' data-name='arw' d='M488.25,31.489l5,5,5-5' transform='translate(790.512 4670.75) rotate(-90)' fill='none' stroke='%230691c4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E%0A");
    background-position: right center;
    margin-left: auto;
    padding-right: 25px
}

@media (max-width: 767px) {
    .c-pagenavi__cms .last-link button {
        background-position: right 4px center;
        padding-right: 32px
    }
}

.c-pagenavi__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto
}

.c-pagenavi__container .page {
    width: 100%;
    max-width: 74px
}

.c-pagenavi__container .page__link {
    background-size: 8px 13px;
    background-repeat: no-repeat;
    color: #C01431;
    font-family: "Lato", sans-serif;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700;
    padding-bottom: 2px
}

@media (max-width: 767px) {
    .c-pagenavi__container .page__link {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.66667
    }
}

.c-pagenavi__container .page__link--prev {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13'%3E%3Cpath id='arw' d='M0,5,5,0l5,5' transform='translate(1 11.414) rotate(-90)' fill='none' stroke='%230691c4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
    background-position: left center;
    padding-left: 18px
}

@media (max-width: 767px) {
    .c-pagenavi__container .page__link--prev {
        background-position: left 4px center;
        padding-left: 24px
    }
}

.c-pagenavi__container .page__link--next {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13'%3E%3Cpath id='arw' d='M488.25,31.489l5,5,5-5' transform='translate(-30.075 499.664) rotate(-90)' fill='none' stroke='%230691c4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
    background-position: right center;
    padding-right: 18px
}

@media (max-width: 767px) {
    .c-pagenavi__container .page__link--next {
        background-position: right 4px center;
        padding-right: 24px
    }
}

.c-pagenavi__container .home {
    /* background: linear-gradient(90deg, #58acea, #1ead97); */
    border-radius: 4px;
    color: #C01431;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 50px;
    font-family: "Lato", sans-serif;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 600;
}

@media (max-width: 767px) {
    .c-pagenavi__container .home {
        max-width: 100%;
        height: 28px;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.66667
    }
}

.c-pagenavi__container .home img {
    margin-right: 30px;
}

.c-type__index {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap
}

.c-type__item {
    border-radius: 10px;
    background: #fff;
    box-shadow: 4px 4px 20px rgba(192, 20, 49, .2);
    display: flex;
    align-items: flex-start;
    min-height: 160px
}

@media (min-width: 768px) {
    .c-type__item {
        margin: 0 2% 2% 0;
        width: 49%;
        padding: 30px 39px 28px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-type__item {
        padding: 20px
    }
}

@media (max-width: 767px) {
    .c-type__item {
        position: relative;
        margin-bottom: 12px;
        padding: 30px 31px 24px
    }

    .c-type__item:last-child {
        margin-bottom: 0
    }
}

.c-type__item:nth-child(2n+2) {
    margin-right: 0
}

.c-type__item:nth-child(3) .c-type__inn,
.c-type__item:nth-child(4) .c-type__inn {
    margin-top: -5px
}

.c-type__item:nth-child(3) .c-type__img,
.c-type__item:nth-child(4) .c-type__img {
    margin-top: 0
}

@media (min-width: 768px) {
    .c-type__img {
        width: 100px
    }
}

@media (max-width: 767px) {
    .c-type__img {
        width: 70px;
        position: absolute;
        top: 30px;
        left: 31px
    }
}

@media (min-width: 768px) {
    .c-type__inn {
        width: calc(100% - 100px);
        padding-left: 30px;
        margin-top: 5px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-type__inn {
        padding-left: 17px
    }
}

.c-type__ttl {
    color: #C01431;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700
}

@media (max-width: 767px) {
    .c-type__ttl {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.22222;
        padding: 25px 0 0 85px;
        width: 100%
    }
}

.c-type__txt {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.73333;
    letter-spacing: .05em;
    font-weight: 500
}

@media (min-width: 768px) {
    .c-type__txt {
        margin-top: 10px
    }
}

@media (max-width: 767px) {
    .c-type__txt {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.86667;
        margin-top: 37px
    }
}

.c-nav ul {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto
}

@media (min-width: 768px) {
    .c-nav ul {
        display: flex;
        justify-content: space-between
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-nav ul {
        padding: 0 20px
    }
}

@media (max-width: 767px) {
    .c-nav ul {
        flex-wrap: wrap
    }
}

.c-nav ul li {
    width: 100%
}

@media (min-width: 768px) {
    .c-nav ul li {
        height: 150px;
        max-width: 235px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-nav ul li {
        height: 125px;
        margin: 0 10px
    }
}

@media (max-width: 767px) {
    .c-nav ul li {
        max-width: 100%;
        margin-bottom: 10px
    }
}

.c-nav ul li a {
    transition: all 0.3s;
    box-shadow: 4px 4px 20px rgba(192, 20, 49, .2);
    opacity: 1;
    display: block;
    background: #fff;
    color: inherit;
    position: relative;
    border-radius: 10px;
    overflow: hidden
}

@media (min-width: 768px) {
    .c-nav ul li a {
        min-height: 150px;
        text-align: center
    }
}

@media (max-width: 767px) {
    .c-nav ul li a {
        padding: 17px 30px
    }
}

.c-nav ul li a::after {
    content: "";
    position: absolute;
    bottom: 26px;
    margin: 0 auto;
    background: url(../image/ico_arrow_circle.svg) no-repeat;
    background-size: 30px 30px;
    width: 30px;
    height: 30px;
    transition: all 0.3s
}

@media (min-width: 768px) {
    .c-nav ul li a::after {
        left: 0;
        right: 0
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-nav ul li a::after {
        bottom: 42px;
        width: 28px;
        height: 28px;
        background-size: 28px
    }
}

@media (max-width: 767px) {
    .c-nav ul li a::after {
        left: auto;
        right: 29px
    }
}

@media (min-width: 768px) {
    .c-nav ul li a {
        padding: 26px 0
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-nav ul li a {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.42857
    }
}

.c-nav ul li a img {
    margin: 0 auto;
    text-align: center;
    display: block
}

@media (max-width: 767px) {
    .c-nav ul li a img {
        width: 30px
    }

    .c-nav ul li a img:last-child {
        width: 26px
    }
}

.c-nav ul li a span {
    display: block;
    transition: all 0.3s
}

@media (min-width: 768px) {
    .c-nav ul li a span {
        text-align: center
    }
}

.c-nav ul li a span.ttl {
    color: #C01431;
/*    font-family: "Lato", sans-serif;*/
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: .05em;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-nav ul li a span.ttl {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.42857
    }
}

@media (max-width: 767px) {
    .c-nav ul li a span.ttl {
        font-size: 13px;
        font-size: 1.3rem
    }
}

.c-nav ul li a span.txt {
    margin: 6px 0 14px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.33333;
    letter-spacing: .05em;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .c-nav ul li a span.txt {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.42857
    }
}

@media (max-width: 767px) {
    .c-nav ul li a span.txt {
        margin: 4px 0 0;
        font-size: 16px;
        font-size: 1.6rem
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .c-nav ul li:hover a {
        transform: translateY(-10px);
        box-shadow: 4px 4px 20px rgba(6, 145, 196, 0);
        background: #C01431
    }
}

@media (hover: hover) and (max-width: 767px),
screen and (-ms-high-contrast: active) and (max-width: 767px),
(-ms-high-contrast: none) and (max-width: 767px) {
    .c-nav ul li:hover a {
        background: #C01431
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .c-nav ul li:hover a::after {
        background: url(../image/ico_arrow_circle_white1.svg) no-repeat;
        background-size: contain
    }

    .c-nav ul li:hover a span.ttl,
    .c-nav ul li:hover a span.txt {
        color: #fff
    }
}

.footer {
    position: relative;
    overflow: hidden
}

@media (min-width: 768px) {
    .footer {
        padding-top: 100px;
    }
}

@media (max-width: 767px) {
    .footer {
        padding-top: 50px
    }
}

.footer__logo {}

@media (min-width: 768px) {
    .footer__logo {
        margin: 0;
    }
}

@media (max-width: 767px) {
    .footer__logo {
        margin: 0;
    }
}

.footer__logo a {
    color: inherit;
    width: 100%;
    display: block;
    text-align: center;
}

@media (min-width: 768px) {
    .footer__logo img {
        width: 80%;
        max-width: 462px;
    }
}

@media (max-width: 767px) {
    .footer__logo img {
        width: 168px;
    }
}

.footer__logo span {
    display: block;
    font-size: 1.8rem;
    line-height: 2;
    font-weight: 700
}

@media (min-width: 768px) {
    .footer__logo span {
        margin: 20px 0 0 15px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__logo span {
        font-size: 10px;
        font-size: 1rem
    }
}

@media (max-width: 767px) {
    .footer__logo span {
        font-size: 1.2rem;
        line-height: 2;
        margin: 15px 0 0 11px;
    }
}

@media only screen and (max-width: 374px) {
    .footer__logo span {
        font-size: 9px;
        font-size: .9rem;
        line-height: 1.4
    }
}

@media (max-width: 767px) {
    .footer__logo {
        width: 100%
    }
}

.footer__inner {
    position: relative;
    z-index: 9;
    max-width: 1120px;
    width: 100%;
    margin: 0 auto -80px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 4px 4px 20px rgba(192, 20, 49, .2)
}

@media (min-width: 768px) {
    .footer__inner {
        padding: 30px 40px;
        display: block;
        width: 100%;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__inner {
        max-width: calc(100% - 160px);
        align-items: flex-start;
        padding: 60px 30px
    }
}

@media (max-width: 767px) {
    .footer__inner {
        max-width: calc(100% - 50px);
        width: 100%;
        margin: 0 auto -379px
    }
}

@media (min-width: 768px) {
    .footer__left {}
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__left {
        max-width: 350px
    }
}

@media (max-width: 767px) {
    .footer__left {
        padding: 29px 25px 30px
    }
}

@media only screen and (max-width: 374px) {
    .footer__left {
        padding: 29px 25px 30px
    }
}

.footer__map {
    width: 100%;
    height: 401px;
    position: relative
}

@media (min-width: 768px) {
    .footer__map {
        max-width: 495px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__map {
        max-width: calc(100% - 350px);
        margin-left: 50px;
        height: 380px
    }
}

@media (max-width: 767px) {
    .footer__map {
        max-width: calc(100% - 60px);
        width: 100%;
        height: 200px;
        margin: 0 auto
    }
}

.footer__map iframe {
    width: 100%;
    height: 100%
}

.footer__noti {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700
}

@media (min-width: 768px) {
    .footer__noti {
        margin: 0 0 15px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__noti {
        font-size: 13px;
        font-size: 1.3rem
    }
}

@media (max-width: 767px) {
    .footer__noti {
        line-height: 1.3;
        margin-bottom: 12px
    }
}

@media only screen and (max-width: 374px) {
    .footer__noti {
        font-size: 13px;
        font-size: 1.3rem
    }
}

.footer__infor {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 400;
    margin: 0 0 16px
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__infor {
        font-size: 13px;
        font-size: 1.3rem
    }
}

@media (max-width: 767px) {
    .footer__infor {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.57143;
        letter-spacing: .025em
    }

    .footer__infor span {
        display: inline-block;
        margin-right: 8px
    }
}

@media only screen and (max-width: 374px) {
    .footer__infor {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 1.81818
    }
}

.footer__lable {
    display: flex;
    align-items: flex-start
}

.footer__lable img:first-child {
    margin-right: 11px
}

@media (max-width: 767px) {
    .footer__lable img:first-child {
        width: 50px
    }
}

@media (max-width: 767px) {
    .footer__lable img:nth-child(2) {
        width: 58px
    }
}

.footer__block {
    padding: 31px 0 0;
    transition: all 0.1s
}

@media (min-width: 768px) {
    .footer__block {
        max-width: 445px;
        width: 100%;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: flex-start;
        -moz-justify-content: flex-start;
        -ms-justify-content: flex-start;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__block {
        padding-top: 24px
    }
}

@media (max-width: 767px) {
    .footer__block {
        padding-top: 29px
    }
}

@media (min-width: 768px) {
    .footer__box {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
        width: 100%;
        margin: 0 0 18px
    }
}

.footer__tel {
    color: #C01431;
    background: url(../image/ico_tel.svg) no-repeat;
    background-size: 22px 30px;
    background-position: top 2px left;
/*    font-family: "Lato", sans-serif;*/
    font-size: 40px;
    font-size: 4rem;
    line-height: .75;
    font-weight: 700
}

@media (min-width: 768px) {
    .footer__tel {
        padding: 2px 0 0 31px;
        width: calc(100% - 139px);
        pointer-events: none
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__tel {
        background-size: 20px 24px;
        padding-left: 26px;
        padding-top: 6px;
        background-position: top 5px left;
        font-size: 27px;
        font-size: 2.7rem;
        white-space: nowrap
    }
}

@media (max-width: 767px) {
    .footer__tel {
        font-size: 30px;
        font-size: 3rem;
        max-width: 265px;
        margin: 0 auto;
        width: 100%;
        padding: 0 26px 2px 14px;
        letter-spacing: 0;
        background-size: 18px 24px;
        background-position: top 0 left 18px;
        display: block;
        text-align: right
    }
}

@media only screen and (max-width: 374px) {
    .footer__tel {
        padding: 0 0 2px 0;
        background-size: 17px 22px;
        background-position: top 0 left 0;
        font-size: 28px;
        font-size: 2.8rem;
        max-width: 205px
    }
}

.footer__time {
    width: 139px;
    height: 40px;
    border-radius: 4px;
    background: #fff;
    border: 1px solid #C01431;
    box-sizing: border-box;
    margin: -3px 0 0 0;
    padding: 4px 5px 0 12px;
    color: #C01431;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.23077;
    letter-spacing: -.02em;
    font-weight: 700
}

@media (min-width: 768px) {
    .footer__time {
        text-align: left
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__time {
        font-size: 10px;
        font-size: 1rem;
        width: 122px;
        height: 34px;
        margin-top: 0
    }
}

.footer__time i {
    font-style: normal
}

@media (min-width: 768px) {
    .footer__time i {
        display: block
    }
}

@media (max-width: 767px) {
    .footer__time i {
        margin-left: 10px
    }
}

@media (max-width: 767px) {
    .footer__time {
        width: 100%;
        height: 30px;
        margin: 7px 0 0 0;
        padding: 7px 20px;
        text-align: center;
        font-size: 13px;
        font-size: 1.3rem
    }
}

.footer__contact {
    border-radius: 4px;
    padding: 22px 29px 20px 46px;
    width: 100%;
    text-align: center;
    font-size: 24px;
    font-size: 2.4rem
}

.footer__contact .c-btn__inner {
    opacity: 0
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__contact {
        font-size: 22px;
        font-size: 2.2rem
    }
}

@media (min-width: 768px) {
    .footer__contact {
        height: 64px
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .footer__contact:hover {
        padding: 22px 29px 20px
    }

    .footer__contact:hover img {
        opacity: 0;
        position: absolute
    }

    .footer__contact:hover span {
        left: auto
    }
}

@media (max-width: 767px) {
    .footer__contact {
        width: 100%;
        display: block;
        margin: 17px auto 0;
        padding: 18px 26px 14px 10px;
        white-space: nowrap;
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.5
    }
}

.footer__contact span {
    color: #fff;
    white-space: nowrap
}

.footer__contact img {
    width: 20px
}

@media (min-width: 768px) {
    .footer__contact img {
        left: 150px;
        top: calc(50% - 1px)
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__contact img {
        left: 102px;
        top: 48%
    }
}

@media (max-width: 767px) {
    .footer__contact img {
        position: relative;
        top: 3px;
        left: 5px;
        width: 17px;
        margin-right: 10px
    }
}

.footer__list {
    background: #C01431;
    padding: 140px 0 50px;
}

@media (max-width: 767px) {
    .footer__list {
        background: #C01431
    }
}

@media (max-width: 767px) {
    .footer__list {
        padding: 379px 0 0
    }
}

.footer__col {
    display: flex;
    max-width: 1090px;
    width: 100%;
    margin: 0 auto;
    padding: 0 50px;
    justify-content: space-between
}

@media (max-width: 767px) {
    .footer__col {
        display: block;
        padding: 42px 26px 37px
    }
}

@media (max-width: 767px) {
    .footer__col ul:last-child li:last-child {
        margin-bottom: 0
    }
}

.footer__col li {
    position: relative
}

@media (min-width: 768px) {
    .footer__col li {
        padding-left: 30px;
        margin: 0 0 24px
    }
}

@media (max-width: 767px) {
    .footer__col li {
        padding-left: 20px;
        margin-bottom: 15px
    }
}

.footer__col li a {
    display: block
}

.footer__col li::before {
    content: "";
    position: absolute;
    width: 20px;
    height: 1px;
    background: #fff;
    top: 13px;
    left: 0
}

@media (max-width: 767px) {
    .footer__col li::before {
        width: 12px;
        top: 10px
    }
}

.footer__col span {
    color: #fff
}

.footer__col span.en {
    margin-right: 9px;
/*    font-family: "Lato", sans-serif;*/
    font-size: 2.4rem;
    line-height: 1.25;
    letter-spacing: .05em;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__col span.en {
        font-size: 20px;
        font-size: 2rem
    }
}

@media (max-width: 767px) {
    .footer__col span.en {
        margin-right: 8px;
        font-size: 20px;
        font-size: 2rem;
        line-height: 1
    }
}

@media only screen and (max-width: 374px) {
    .footer__col span.en {
        margin-right: 5px;
        font-size: 19px;
        font-size: 1.9rem
    }
}

.footer__col span.jp {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 2.5;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer__col span.jp {
        font-size: 10px;
        font-size: 1rem
    }
}

@media (max-width: 767px) {
    .footer__col span.jp {
        font-size: 10px;
        font-size: 1rem;
        line-height: 1;
        position: relative;
        top: -3px
    }
}

.footer__txt {
    color: #fff;
    max-width: calc(100% - 100px);
    width: 100%;
    margin: 0 auto;
    border-top: 1px solid #fff;
    padding: 45px 90px;
    display: none
}

@media (min-width: 768px) {
    .footer__txt {
        font-size: 10px;
        font-size: 1rem;
        line-height: 2.2;
        font-weight: 500;
        max-width: 1180px;
        width: 100%
    }
}

@media (max-width: 767px) {
    .footer__txt {
        max-width: calc(100% - 50px);
        padding: 34px 0;
        font-size: 10px;
        font-size: 1rem;
        line-height: 2
    }
}

.footer .copyright {
    background: #000000;
}

.footer .copyright__cont {
    display: flex;
    position: relative;
    z-index: 9;
    width: 100%;
    margin: 0 auto
}

@media (min-width: 768px) {
    .footer .copyright__cont {
        padding: 25px 51px;
        text-align: center
    }
}

@media (max-width: 767px) {
    .footer .copyright__cont {
        padding: 17px 24px;
        display: block
    }
}

.footer .copyright__inner {
    text-align: left
}

.footer .copyright .policy,
.footer .copyright .sitemap {
    color: #fff;
/*    font-family: "Lato", sans-serif;*/
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 2.30769;
    letter-spacing: .05em;
    font-weight: 400;
}

@media (max-width: 767px) {

    .footer .copyright .policy,
    .footer .copyright .sitemap {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1
    }
}

@media (min-width: 768px) {
    .footer .copyright .policy {
        margin-right: 35px
    }
}

@media (max-width: 767px) {
    .footer .copyright .policy {
        margin-right: 25px
    }
}

.footer .copyright .reserved {
    color: #fff;
    margin: 0 auto;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 2.5;
    font-weight: 700
}

@media (min-width: 768px) {
    .footer .copyright .reserved {
        position: relative;
        right: 90px;
        text-align: center
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer .copyright .reserved {
        right: 0
    }
}

@media (max-width: 767px) {
    .footer .copyright .reserved {
        font-size: 10px;
        font-size: 1rem;
        line-height: 2;
        letter-spacing: .01em;
        font-weight: 700;
        margin-top: 3px
    }
}

.footer .copyright .reserved i {
    font-weight: 700;
    font-style: normal
}

.footer .pagetop {
    position: fixed;
    border-radius: 10px;
    background: #fff;
    box-shadow: 4px 4px 20px rgba(192, 20, 49, .2);
    z-index: 9;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: transform 0.5s, opacity 0.3s;
    -webkit-transform: translateY(231px);
    -moz-transform: translateY(231px);
    -ms-transform: translateY(231px);
    -o-transform: translateY(231px);
    transform: translateY(231px)
}

.footer .pagetop .df,
.footer .pagetop .hv {
    position: absolute;
    transform: scale(1.3)
}

.footer .pagetop .df {
    opacity: 1
}

.footer .pagetop .hv {
    opacity: 0
}

.footer .pagetop.show {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0)
}

.footer .pagetop.pin {
    position: absolute
}

@media (min-width: 768px) {
    .footer .pagetop {
        bottom: 26px;
        right: 30px;
        width: 60px;
        height: 60px
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .footer .pagetop:hover {
        opacity: 1;
        background: #C01431;
    }
}

@media (hover: hover) and (max-width: 767px),
screen and (-ms-high-contrast: active) and (max-width: 767px),
(-ms-high-contrast: none) and (max-width: 767px) {
    .footer .pagetop:hover {
        background: #C01431
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .footer .pagetop:hover .df {
        opacity: 0
    }

    .footer .pagetop:hover .hv {
        opacity: 1
    }
}

@media (max-width: 767px) {
    .footer .pagetop {
        bottom: 18px;
        right: 20px;
        width: 50px;
        height: 50px
    }
}

.footer .scrolled .bottomfix {
    opacity: 1
}

.c-form .errMsg {
    margin-left: 1em;
    padding-bottom: 1px;
    display: block;
    line-height: 1.4;
    text-indent: -0.9em
}

.c-form .formError {
    padding-bottom: 13px;
    display: block
}

.c-form .formError .formErrorClose {
    border: solid #252525 2px;
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;
    top: -4px;
    right: -4px;
    color: #efefef;
    background: #333;
    font-weight: bold;
    text-align: center;
    line-height: middle;
    cursor: pointer;
    z-index: 2;
    -webkit-border-radius: 9px 9px 9px 9px;
    -moz-border-radius: 9px 9px 9px 9px;
    -ms-border-radius: 9px 9px 9px 9px;
    -o-border-radius: 9px 9px 9px 9px;
    border-radius: 9px 9px 9px 9px;
    -webkit-box-shadow: 1px -1px 3px #888;
    -moz-box-shadow: 1px -1px 3px #888;
    -ms-box-shadow: 1px -1px 3px #888;
    -o-box-shadow: 1px -1px 3px #888;
    box-shadow: 1px -1px 3px #888
}

.c-form .formError .formErrorClose:hover {
    background: #666
}

.c-form .formError .formErrorContent {
    padding: 6px 10px;
    width: 180px;
    position: relative;
    color: #fff;
    background: #252525;
    font-size: 11px;
    margin: 0 0;
    z-index: 1;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-shadow: 0px 0px 6px #888;
    -moz-box-shadow: 0px 0px 6px #888;
    -ms-box-shadow: 0px 0px 6px #888;
    -o-box-shadow: 0px 0px 6px #888;
    box-shadow: 0px 0px 6px #888
}

.c-form .formError .formErrorArrow {
    width: 15px;
    height: 15px;
    position: absolute;
    bottom: 0;
    left: 20px;
    margin: 0 0 30px 0;
    z-index: 0
}

.c-form .formError .formErrorArrow div {
    margin: 0 auto;
    display: block;
    height: 1px;
    background: #252525;
    line-height: 0px;
    font-size: 0px;
    -webkit-box-shadow: 0px 2px 3px #888;
    -moz-box-shadow: 0px 2px 3px #888;
    -ms-box-shadow: 0px 2px 3px #888;
    -o-box-shadow: 0px 2px 3px #888;
    box-shadow: 0px 2px 3px #888
}

.c-form .formError .formErrorArrow .line10 {
    width: 19px
}

.c-form .formError .formErrorArrow .line9 {
    width: 17px
}

.c-form .formError .formErrorArrow .line8 {
    width: 15px
}

.c-form .formError .formErrorArrow .line7 {
    width: 13px
}

.c-form .formError .formErrorArrow .line6 {
    width: 11px
}

.c-form .formError .formErrorArrow .line5 {
    width: 9px
}

.c-form .formError .formErrorArrow .line4 {
    width: 7px
}

.c-form .formError .formErrorArrow .line3 {
    width: 5px
}

.c-form .formError .formErrorArrow .line2 {
    width: 3px
}

.c-form .formError .formErrorArrow .line1 {
    width: 1px
}

.c-form .formError .formErrorArrowBottom {
    margin: -6px;
    top: 0
}

.c-form .formError .formErrorArrowBottom div {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none
}

.c-form .fixed {
    padding-bottom: 0px
}

.c-form .fixed .formErrorClose {
    display: none
}

.c-form .fixed .formErrorContent {
    margin-top: 0.5em;
    background: #f60;
    margin: 0 0 30px 0;
    -webkit-border-radius: none;
    -moz-border-radius: none;
    -ms-border-radius: none;
    -o-border-radius: none;
    border-radius: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none
}

.c-form .fixed .formErrorArrow {
    display: none
}

.c-form .fixed .formErrorArrowBottom {
    display: none
}

.c-form .fadeOut {
    opacity: 0.2;
    filter: alpha(opacity=20)
}

.c-form .hid_url {
    display: none
}

.c-form .formError {
    position: absolute;
    top: 300px;
    left: 300px;
    display: block;
    cursor: pointer;
    text-align: left;
    z-index: 990
}

.c-form .formError .formErrorContent {
    width: 100%;
    background: #ee0101;
    position: relative;
    color: #fff;
    min-width: 120px;
    font-size: 10px;
    border: 2px solid #ddd;
    box-shadow: 0 0 6px #000;
    -moz-box-shadow: 0 0 6px #000;
    -webkit-box-shadow: 0 0 6px #000;
    -o-box-shadow: 0 0 6px #000;
    padding: 4px 10px 4px 10px;
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    -o-border-radius: 6px;
    z-index: 991
}

.c-form .formError .formErrorArrow {
    width: 15px;
    margin: -2px 0 0 13px;
    position: relative;
    z-index: 996
}

.c-form .formError .formErrorArrow div {
    border-left: 2px solid #ddd;
    border-right: 2px solid #ddd;
    box-shadow: 0 2px 3px #444;
    -moz-box-shadow: 0 2px 3px #444;
    -webkit-box-shadow: 0 2px 3px #444;
    -o-box-shadow: 0 2px 3px #444;
    font-size: 0px;
    height: 1px;
    background: #ee0101;
    margin: 0 auto;
    line-height: 0;
    font-size: 0;
    display: block
}

.c-form .formError .formErrorArrow .line10 {
    width: 13px;
    border: none
}

.c-form .formError .formErrorArrow .line9 {
    width: 11px;
    border: none
}

.c-form .formError .formErrorArrow .line8 {
    width: 11px
}

.c-form .formError .formErrorArrow .line7 {
    width: 9px
}

.c-form .formError .formErrorArrow .line6 {
    width: 7px
}

.c-form .formError .formErrorArrow .line5 {
    width: 5px
}

.c-form .formError .formErrorArrow .line4 {
    width: 3px
}

.c-form .formError .formErrorArrow .line3 {
    width: 1px;
    border-left: 2px solid #ddd;
    border-right: 2px solid #ddd;
    border-bottom: 0 solid #ddd
}

.c-form .formError .formErrorArrow .line2 {
    width: 3px;
    border: none;
    background: #ddd
}

.c-form .formError .formErrorArrow .line1 {
    width: 1px;
    border: none;
    background: #ddd
}

.c-form .formError .formErrorArrowBottom {
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    -o-box-shadow: none;
    margin: 0px 0 0 12px;
    top: 2px
}

.c-form .formError .formErrorArrowBottom div {
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    -o-box-shadow: none
}

.c-form .formError.inline {
    position: relative;
    top: 0;
    left: 0;
    display: inline-block
}

.c-form .formError.inline .formErrorContent {
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    -o-box-shadow: none;
    border: none;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -o-border-radius: 0
}

.c-form .ui-dialog .formError {
    z-index: 5000
}

.c-form .ui-dialog .formError .formErrorContent {
    z-index: 5001
}

.c-form .ui-dialog .formError .formErrorArrow {
    z-index: 5006
}

.c-form .inputContainer {
    position: relative;
    float: left
}

.c-form .ajaxSubmit {
    padding: 20px;
    background: #55ea55;
    border: 1px solid #999;
    display: none
}

.c-form .greenPopup .formErrorContent {
    background: #33be40
}

.c-form .greenPopup .formErrorArrow div {
    background: #33be40
}

.c-form .blackPopup .formErrorContent {
    background: #393939;
    color: #fff
}

.c-form .blackPopup .formErrorArrow div {
    background: #393939;
    color: #fff
}

.c-form body[dir="rtl"] .formError .formErrorArrow,
.c-form body.rtl .formError .formErrorArrow {
    margin: -2px 13px 0 0
}

.c-form--step02 .header #logo a {
    pointer-events: none
}

.c-form--step02 .header .layerMenu {
    display: none
}

.c-form--step02 .hamberger,
.c-form--step02 .footer__inner,
.c-form--step02 .footer__list,
.c-form--step02 #pagetop,
.c-form--step02 .footer .copyright__inner {
    display: none
}

.c-form--step02 .footer .copyright .reserved {
    position: static
}

.form-block {
    width: calc(100% - 50px);
    max-width: 1000px;
    margin: 0 auto;
    overflow: hidden
}

.form-block .c-title .c-title__jp {
    margin-top: 8px
}

@media (max-width: 767px) {
    .form-block .c-title .c-title__jp {
        margin-top: 2px
    }
}

.form-block__txt {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2.13333;
    letter-spacing: .05em;
    font-weight: 500;
    padding: 64px 0 40px;
    text-align: center
}

@media (max-width: 767px) {
    .form-block__txt {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.86667;
        padding: 34px 0;
        text-align: left
    }
}

.form-block__recruitment {
    background: #fff;
    border-radius: 10px;
    box-shadow: 4px 4px 20px rgba(192, 20, 49, .2);
    padding: 30px 0 34px
}

@media (max-width: 767px) {
    .form-block__recruitment {
        padding: 24px 0
    }
}

.form-block__recruitment>* {
    width: calc(100% - 60px);
    max-width: 880px;
    margin: 0 auto
}

.form-block__recruitment .heading {
    color: #C01431;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: .05em;
    font-weight: 700;
    margin-bottom: 16px
}

@media (max-width: 767px) {
    .form-block__recruitment .heading {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.6;
        margin-bottom: 54px
    }
}

.form-block__recruitment .heading span {
    padding-right: 88px;
    position: relative
}

@media (max-width: 767px) {
    .form-block__recruitment .heading span {
        padding: 0 0 20px
    }
}

.form-block__recruitment .heading span::before {
    content: "";
    position: absolute;
    background: currentColor;
    width: 80px;
    height: 1px;
    top: 50%;
    right: 0;
    transform: translateY(-50%)
}

@media (max-width: 767px) {
    .form-block__recruitment .heading span::before {
        width: 40px;
        top: auto;
        bottom: 0;
        left: 0;
        right: auto;
        transform: translateY(0)
    }
}

.form-block__recruitment .group {
    display: flex;
    align-items: center
}

@media (max-width: 767px) {
    .form-block__recruitment .group {
        flex-direction: column
    }
}

.form-block__recruitment .group:last-child {
    border-top: 1px solid #bbc8ce;
    margin-top: 24px;
    padding-top: 24px
}

@media (max-width: 767px) {
    .form-block__recruitment .group:last-child {
        border: none;
        margin-top: 0;
        padding-top: 22px
    }
}

.form-block__recruitment .group .label {
    background: #C01431;
    border-radius: 4px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 40px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.73333;
    letter-spacing: 0em;
    font-weight: 700
}

@media (max-width: 767px) {
    .form-block__recruitment .group .label {
        justify-content: flex-start;
        width: 100%;
        padding: 0 15px
    }
}

.form-block__recruitment .group .value {
    width: calc(100% - 100px);
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.73333;
    letter-spacing: .05em;
    padding-left: 22px
}

@media (max-width: 767px) {
    .form-block__recruitment .group .value {
        width: 100%;
        padding: 20px 0 0
    }
}

.form-block__recruitment .group .value a {
    color: #C01431;
    font-weight: 700;
    text-decoration: underline
}

.form-block__step {
    padding: 86px 0 68px;
    text-align: center
}

@media (max-width: 767px) {
    .form-block__step {
        padding: 84px 0 38px
    }
}

@media (max-width: 767px) {
    .c-form--step03 .form-block__step {
        padding: 52px 0 42px
    }
}

.form-block__fields {
    /* border-top: 1px solid #bbc8ce; */
    margin-top: 20px;
}

.form-block__fields .row {
    /* border-bottom: 1px solid #bbc8ce; */
    display: flex;
    align-items: center;
    padding: 20px 40px;
    width: 100%;
    max-width: 800px;
    box-sizing: border-box;
    margin: 0 auto;
}

@media (max-width: 767px) {
    .form-block__fields .row {
        flex-direction: column;
        padding: 25px 0
    }
}

.form-block__fields .row .row-label {
    display: flex;
    display: inline-flex;
    align-items: center;
    margin-bottom: 10px;
}

@media (max-width: 767px) {
    .form-block__fields .row .row-label {
        width: 100%
    }
}

.form-block__fields .row .row-label b {
    background: #C01431;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 21px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.78571;
    letter-spacing: 0em;
    font-weight: 400;
    padding-top: 2px;
    margin-right: 20px;
    margin-left: 10px;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .form-block__fields .row .row-label b {
        padding-top: 0
    }
}

@media (max-width: 767px) {
    .form-block__fields .row .row-label b {
        padding-top: 0;
        margin-right: 15px
    }
}

.form-block__fields .row .row-label b.optional {
    background: #8b9ea8
}

.form-block__fields .row .row-label strong {
    flex: 1;
    font-size: 2rem;
    line-height: 1.625;
    font-weight: 400;
}

.form-block__fields .row .row-value {}

@media (max-width: 767px) {
    .form-block__fields .row .row-value {
        width: 100%;
        padding-top: 0px;
    }
}

.form-block__fields .row .row-value input,
.form-block__fields .row .row-value select,
.form-block__fields .row .row-value textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    background: #fff;
    border: 1px solid #D8D8D8;
    border-radius: 6px;
    color: #1f2224;
    width: 100%;
    height: 54px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .05em;
    font-weight: 500;
    padding: 8px 15px
}

@media (max-width: 767px) {

    .form-block__fields .row .row-value input,
    .form-block__fields .row .row-value select,
    .form-block__fields .row .row-value textarea {
        height: 50px
    }
}

.form-block__fields .row .row-value input.sm,
.form-block__fields .row .row-value select.sm,
.form-block__fields .row .row-value textarea.sm {
    max-width: 200px
}

@media (max-width: 767px) {

    .form-block__fields .row .row-value input.sm,
    .form-block__fields .row .row-value select.sm,
    .form-block__fields .row .row-value textarea.sm {
        max-width: 100%
    }
}

.form-block__fields .row .row-value input.md,
.form-block__fields .row .row-value select.md,
.form-block__fields .row .row-value textarea.md {
    max-width: 284px
}

.form-block__fields .row .row-value input.lg,
.form-block__fields .row .row-value select.lg,
.form-block__fields .row .row-value textarea.lg {
    max-width: 642px
}

.form-block__fields .row .row-value input.year,
.form-block__fields .row .row-value select.year,
.form-block__fields .row .row-value textarea.year {
    max-width: 120px
}

@media (max-width: 767px) {

    .form-block__fields .row .row-value input.year,
    .form-block__fields .row .row-value select.year,
    .form-block__fields .row .row-value textarea.year {
        max-width: 84px
    }
}

.form-block__fields .row .row-value input.month,
.form-block__fields .row .row-value select.month,
.form-block__fields .row .row-value textarea.month {
    max-width: 90px
}

@media (max-width: 767px) {

    .form-block__fields .row .row-value input.month,
    .form-block__fields .row .row-value select.month,
    .form-block__fields .row .row-value textarea.month {
        max-width: 64px
    }
}

.form-block__fields .row .row-value input.day,
.form-block__fields .row .row-value select.day,
.form-block__fields .row .row-value textarea.day {
    max-width: 90px
}

@media (max-width: 767px) {

    .form-block__fields .row .row-value input.day,
    .form-block__fields .row .row-value select.day,
    .form-block__fields .row .row-value textarea.day {
        max-width: 64px
    }
}

.form-block__fields .row .row-value select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='7' viewBox='0 0 13 7'%3E%3Cpath id='arw' d='M501.683,1534.272l5,5,5-5' transform='translate(-500.268 -1532.858)' fill='none' stroke='%23C01431' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
    background-position: right 14px center;
    background-size: 13px 8px;
    background-repeat: no-repeat
}

@media (max-width: 767px) {
    .form-block__fields .row .row-value select {
        background-position: right 8px center
    }
}

.form-block__fields .row .row-value textarea {
    height: 290px;
/*    font-family: 'Arial';*/
}

@media (max-width: 767px) {
    .form-block__fields .row .row-value textarea {
        height: 150px
    }
}

.form-block__fields .row .row-value .inquiry-list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 464px
}

@media (max-width: 767px) {
    .form-block__fields .row .row-value .inquiry-list {
        max-width: unset
    }
}

.form-block__fields .row .row-value .inquiry-list li {
    width: 50%
}

@media (min-width: 768px) {
    .form-block__fields .row .row-value .inquiry-list li:not(:nth-last-child(1)):not(:nth-last-child(2)) {
        padding-bottom: 12px
    }
}

@media (max-width: 767px) {
    .form-block__fields .row .row-value .inquiry-list li {
        width: 100%
    }

    .form-block__fields .row .row-value .inquiry-list li:not(:last-child) {
        padding-bottom: 8px
    }
}

@media (max-width: 767px) {
    .form-block__fields .row .row-value .inquiry-list--inline {
        max-width: 216px
    }

    .form-block__fields .row .row-value .inquiry-list--inline li {
        width: 50%
    }
}

.form-block__fields .row .row-value .birthday {
    display: flex;
    width: 100%
}

.form-block__fields .row .row-value .birthday li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%
}

.form-block__fields .row .row-value .birthday li:nth-child(1) {
    max-width: 145px
}

@media (max-width: 767px) {
    .form-block__fields .row .row-value .birthday li:nth-child(1) {
        max-width: 108px
    }
}

.form-block__fields .row .row-value .birthday li:nth-child(2),
.form-block__fields .row .row-value .birthday li:nth-child(3) {
    max-width: 115px;
    margin-left: 10px
}

@media (max-width: 767px) {

    .form-block__fields .row .row-value .birthday li:nth-child(2),
    .form-block__fields .row .row-value .birthday li:nth-child(3) {
        max-width: 88px;
        margin-left: 20px
    }
}

.form-block__fields .row .row-value .method-list {
    display: flex;
    max-width: 642px
}

@media (max-width: 767px) {
    .form-block__fields .row .row-value .method-list {
        flex-wrap: wrap;
        justify-content: space-between;
        max-width: unset
    }

    .form-block__fields .row .row-value .method-list--small {
        max-width: 182px
    }
}

.form-block__fields .row .row-value .method-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%
}

.form-block__fields .row .row-value .method-list li:nth-child(1) {
    max-width: 70px
}

.form-block__fields .row .row-value .method-list li:nth-child(2) {
    max-width: 86px
}

@media (min-width: 768px) {
    .form-block__fields .row .row-value .method-list li:nth-child(2) {
        margin-left: 50px
    }
}

.form-block__fields .row .row-value .method-list li:nth-child(3) {
    max-width: 86px
}

@media (min-width: 768px) {
    .form-block__fields .row .row-value .method-list li:nth-child(3) {
        margin-left: 50px
    }
}

.form-block__fields .row .row-value .method-list li:nth-child(4) {
    max-width: 284px;
    margin-left: 16px
}

@media (max-width: 767px) {
    .form-block__fields .row .row-value .method-list li:nth-child(4) {
        max-width: unset;
        margin: 16px 0 0
    }
}

.form-block__fields .row .row-value .method-list li input {
    pointer-events: none;
    opacity: 0.5;
    transition: all 0.3s ease-in-out
}

.form-block__fields .row .row-value .method-list li input.active {
    pointer-events: auto;
    opacity: 1
}

.form-block__fields .row--top {
    align-items: flex-start
}

.form-block__fields .hide {
    display: none !important
}

.form-block__confirm {
    /* background: #fff; */
    border-radius: 10px;
    /* box-shadow: 4px 4px 20px rgba(192, 20, 49, .2); */
    /* margin-top: 60px; */
    padding: 20px 0 0;
    text-align: center
}

@media (max-width: 767px) {
    .form-block__confirm {
        margin-top: 10px;
        padding: 0 10px 0;
    }
}

.form-block__confirm .privacy-area {
    border-bottom: 1px solid #bbc8ce;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.73333;
    letter-spacing: .05em;
    padding-bottom: 24px;
    margin: 0 auto 32px;
    text-align: center
}

@media (max-width: 767px) {
    .form-block__confirm .privacy-area {
        margin-bottom: 26px;
        text-align: left
    }
}

.form-block__confirm .privacy-area a {
    color: #C01431;
    font-weight: 700;
    text-decoration: underline
}

.form-block__confirm .c-input-checkbox input:checked~span {
    border-color: transparent
}

.form-block__confirm .c-input-checkbox span {
    border: 1px solid #3F5061;
}

.form-block__btn {
    padding: 50px 0 0px;
}

@media (max-width: 767px) {
    .form-block__btn {
        padding: 40px 30px 30px;
    }
}

.form-block__btn button {
    width: 100%;
    margin: 0 auto;
    pointer-events: none;
    opacity: 0.5;
    font-size: 2rem;
}

@media (max-width: 767px) {
    .form-block__btn button {
        padding: 20px 19px 17px
    }
}

.form-block__btn button.active {
    pointer-events: auto;
    opacity: 1;
    overflow-x: hidden;
}

.form-block__back {
    padding: 6px 0;
    text-align: right
}

.form-block__thanks {
    padding-bottom: 78px
}

@media (max-width: 767px) {
    .form-block__thanks {
        padding-bottom: 50px
    }
}

.form-block__thanks .c-title {
    justify-content: center
}

@media (max-width: 767px) {
    .form-block__thanks .c-title__en {
        margin-right: 0
    }

    .form-block__thanks .c-title__jp {
        margin-top: -10px !important
    }
}

.form-block__thanks .txt {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2.13333;
    letter-spacing: .05em;
    font-weight: 500;
    padding: 42px 0 40px;
    text-align: center
}

@media (max-width: 767px) {
    .form-block__thanks .txt {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.86667;
        padding: 24px 0 32px;
        text-align: left
    }
}

.form-block__thanks .btn>* {
    height: 60px;
    margin: 0 auto
}

@media (max-width: 767px) {
    .form-block__thanks .btn>* {
        padding: 19px
    }
}

.header {
    padding: 10px 0;
    position: fixed;
    width: 100%;
    left: auto;
    top: 0;
    z-index: 2000000;
    transition: 0.3s ease all
}

@media (max-width: 767px) {
    .header {
        padding: 14px 0 20px
    }
}

.header #logo {
    width: 293px
}

.header #logo a {
    display: flex;
    color: inherit;
    opacity: 1;
    align-items: center;
}

.header #logo img {
    width: 180px;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .header #logo img {
        width: 100px
    }
}

@media (max-width: 767px) {
    .header #logo img {
        width: 130px;
    }
}

.header #logo span {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571;
    font-weight: 700;
    margin: 0 0 0 12px;
}

@media (min-width: 768px) {
    .header #logo span {
        white-space: nowrap
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .header #logo span {
        font-size: 10px;
        font-size: 1rem
    }
}

@media (max-width: 767px) {
    .header #logo span {
        font-size: 10px;
        font-size: 1rem;
        line-height: 1.2;
        white-space: nowrap
    }
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
    .header #logo {
        width: 230px
    }
}

@media (max-width: 767px) {
    .header #logo {
        width: 229px;
        position: relative;
        z-index: 9999999
    }
}

.header .inHeader {
    margin: 0 auto;
    position: relative;
    z-index: 2000;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    align-items: flex-start
}

@media (min-width: 768px) {
    .header .inHeader {
        padding: 0 50px 0 0
    }
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
    .header .inHeader {
        padding-right: 15px
    }
}

.header .inHeader__inner {
    padding: 0 0 0 20px
}

@media (min-width: 768px) {
    .header .inHeader__inner {
        width: 30%;
        max-width: 300px;
    }
}

@media (max-width: 767px) {
    .header .inHeader__inner {
        padding: 0 0 0 14px
    }
}

.header .inHeader__h1 {
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.8;
    font-weight: 500;
    margin: 0 0 5px;
    transition: all 0.3s;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
    .header .inHeader__h1 {
        font-size: 8px;
        font-size: .8rem
    }
}

@media (max-width: 767px) {
    .header .inHeader__h1 {
        display: none
    }
}

.header .inInfor {
    padding: 10px 0 13px;
    transition: all 0.1s
}

@media (min-width: 768px) {
    .header .inInfor {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: flex-end;
        -moz-justify-content: flex-end;
        -ms-justify-content: flex-end;
        justify-content: flex-end
    }
}

.header .inTel {
    opacity: 1;
    color: #C01431;
    background: url(../image/ico_tel.svg) no-repeat;
    background-size: 15px 20px;
    background-position: center left;
/*    font-family: "Lato", sans-serif;*/
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.07143;
    font-weight: 700
}

@media (min-width: 768px) {
    .header .inTel {
        pointer-events: none;
        padding: 2px 0 0 20px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
    .header .inTel {
        font-size: 20px;
        font-size: 2rem;
        padding-top: 5px;
        background-position: top 5px left
    }
}

@media (max-width: 767px) {
    .header .inTel {
        padding: 2px 0 0 20px;
        letter-spacing: 0.05em;
        background-position: top 10px left;
        padding-left: 24px
    }
}

@media only screen and (max-width: 374px) {
    .header .inTel {
        font-size: 26px;
        font-size: 2.6rem
    }
}

.header .inTime {
    height: 24px;
    border-radius: 4px;
    background: #fff;
    border: 1px solid #C01431;
    box-sizing: border-box;
    margin: 5px 21px 0 7px;
    padding: 5.3px 9px;
    text-align: center;
    color: #C01431;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
    .header .inTime {
        font-size: 10px;
        font-size: 1rem;
        padding-top: 6px;
        margin-top: 3px
    }
}

.header .inTime i {
    font-style: normal
}

@media (max-width: 767px) {
    .header .inTime i {
        margin-left: 10px
    }
}

@media (max-width: 767px) {
    .header .inTime {
        width: 100%;
        height: 30px;
        margin: 3px 0 0 0;
        padding: 7px 0;
        font-size: 13px;
        font-size: 1.3rem
    }
}

.header .inContact .c-btn__inner {
    opacity: 0
}

@media (min-width: 768px) {
    .header .inContact {
        min-width: 128px;
        height: 46px;
        margin-top: 4px;
    }
}

@media (max-width: 767px) {
    .header .inContact {
        padding-left: 50px;
        padding: 14px 0 14px
    }

    .header .inContact .c-btn__txt {
        position: relative;
        top: 2px;
        padding-left: 30px;
        background: url(../image/ico_mail.svg) no-repeat;
        background-position: top 4px left 0
    }
}

@media (max-width: 767px) {
    .header .inContact img {
        width: 17px;
        left: 80px;
        top: 50%;
        transform: translateY(-50%);
        display: none
    }
}

@media only screen and (max-width: 330px) {
    .header .inContact img {
        left: 50px
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .header .inContact:hover {
        text-align: center
    }
}

@media (min-width: 768px) {
    .header .gNavi {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: space-between;
        -moz-justify-content: space-between;
        -ms-justify-content: space-between;
        justify-content: space-between;
        width: 100%;
        max-width: 852px;
        margin-left: auto;
    }
}

.header .gNavi .gItem {
    /* margin: 0 30px; */
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .header .gNavi .gItem {
        margin: 0 10px
    }
}

@media (min-width: 768px) {
    .header .gNavi .gItem:last-child {
        margin-right: 0
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {

    .header .gNavi .gItem:hover a .en,
    .header .gNavi .gItem:hover a .jp {
        color: #C01431
    }
}

.header .gNavi .gItem a {
    color: #1f2224
}

@media (min-width: 768px) {
    .header .gNavi .gItem a {
        display: block;
        opacity: 1
    }
}

@media (max-width: 767px) {
    .header .gNavi .gItem a {
        display: flex;
        align-items: flex-start;
        transition: none
    }
}

.header .gNavi .gItem a span {
    display: block
}

.header .gNavi .gItem a span.en {
/*    font-family: "Lato", sans-serif;*/
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700
}

@media (min-width: 768px) {
    .header .gNavi .gItem a span.en {
        white-space: nowrap
    }
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
    .header .gNavi .gItem a span.en {
        font-size: 16px;
        font-size: 1.6rem
    }
}

@media (max-width: 767px) {
    .header .gNavi .gItem a span.en {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 1.36364
    }
}

.header .gNavi .gItem a span.jp {
    color: #8b9ea8;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.1;
    letter-spacing: .05em;
    font-weight: 700
}

@media (min-width: 768px) {
    .header .gNavi .gItem a span.jp {
        white-space: nowrap
    }
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
    .header .gNavi .gItem a span.jp {
        font-size: 10px;
        font-size: 1rem
    }
}

@media (max-width: 767px) {
    .header .gNavi .gItem a span.jp {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 2.72727;
        padding: 3px 8px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .header .gNavi .gItem.hasSub .navSub {
        opacity: 0;
        display: block !important;
        transition: opacity 0.3s;
        overflow: hidden
    }

    .header .gNavi .gItem.hasSub .navSub .navSub__inner {
        visibility: hidden;
        height: 0
    }

    .header .gNavi .gItem.hasSub.active .navSub {
        opacity: 1
    }

    .header .gNavi .gItem.hasSub.active .navSub .navSub__inner {
        visibility: visible;
        height: 100%
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .header .gNavi .gItem.hasSub:hover a:before {
        transform: translate(0, -50%) rotate(-45deg)
    }

    .header .gNavi .gItem.hasSub:hover a:after {
        transform: translate(0, -50%) rotate(45deg)
    }
}

.header .gNavi .gItem.hasSub a {
    position: relative
}

.header .gNavi .gItem.hasSub a::before,
.header .gNavi .gItem.hasSub a::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 2px;
    background: #C01431;
    border-radius: 5px;
    top: 17px;
    transition: all 0.3s linear
}

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

    .header .gNavi .gItem.hasSub a::before,
    .header .gNavi .gItem.hasSub a::after {
        top: 12px
    }
}

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

    .header .gNavi .gItem.hasSub a::before,
    .header .gNavi .gItem.hasSub a::after {
        top: 17px
    }
}

@media (device-width: 1024px) and (device-height: 1366px),
(device-height: 1024px) and (device-width: 1366px),
(device-width: 834px) and (device-height: 1194px),
(device-height: 834px) and (device-width: 1194px) {

    .header .gNavi .gItem.hasSub a::before,
    .header .gNavi .gItem.hasSub a::after {
        top: 17px
    }
}

.header .gNavi .gItem.hasSub a:before {
    right: 5px;
    transform: translate(0, -50%) rotate(45deg)
}

@media (max-width: 767px) {
    .header .gNavi .gItem.hasSub a:before {
        right: 20px
    }
}

.header .gNavi .gItem.hasSub a:after {
    right: 0;
    transform: translate(0, -50%) rotate(-45deg)
}

@media (max-width: 767px) {
    .header .gNavi .gItem.hasSub a:after {
        right: 15px
    }
}

@media (min-width: 768px) {
    .header .gNavi .gItem.hasSub a {
        padding-right: 16px;
        background-size: 12px 6px;
        background-position: top 14px right 0
    }
}

@media (max-width: 767px) {
    .header .gNavi .gItem.hasSub a {
        background-position: top 11px right 14px;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.42857
    }
}

@media (min-width: 768px) {
    .header .gNavi .gItem.hasSub {}
}

@media (max-width: 767px) {
    .header .gNavi .gItem.hasSub.active .navSub {
        max-height: 444px;
        visibility: visible;
        opacity: 1;
        z-index: 1;
        transition: all 0.3s ease;
        margin-top: 13px;
        margin-bottom: 10px
    }
}

@media (max-width: 767px) {
    .header .gNavi .gItem {
        border-bottom: 1px solid #bbc8ce;
        box-sizing: border-box;
        padding: 15px 0 8px
    }

    .header .gNavi .gItem:first-child {
        border-top: 1px solid #bbc8ce
    }

    .header .gNavi .gItem.recruit {
        background: #C01431;
        border-radius: 10px;
        margin: 30px auto 0;
        width: calc(100% - 38px);
        padding: 0;
        position: relative;
        border: none
    }
}

@media (max-width: 767px) and (max-width: 767px) {
    .header .gNavi .gItem.recruit {
        background: #C01431
    }
}

@media (max-width: 767px) {
    .header .gNavi .gItem.recruit a {
        padding: 24px 31px 20px
    }

    .header .gNavi .gItem.recruit::after {
        content: "";
        position: absolute;
        top: 27px;
        right: 31px;
        background: url(../image/ico_arrow_circle_white.svg) no-repeat;
        width: 26px;
        height: 26px
    }

    .header .gNavi .gItem.recruit span.en,
    .header .gNavi .gItem.recruit span.jp {
        color: #fff
    }

    .header .gNavi .gItem.recruit span.en {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 1.36364
    }

    .header .gNavi .gItem.recruit span.jp {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 2.72727
    }
}

.header .hasSub a {
    pointer-events: none
}

.header .navSub a::after,
.header .navSub a::before {
    display: none
}

@media (min-width: 768px) {
    .header .navSub {
        position: absolute;
        width: 100%;
        left: 0;
        display: none
    }
}

@media (max-width: 767px) {
    .header .navSub {
        visibility: hidden;
        display: block;
        max-height: 0;
        opacity: 0;
        transition: all 0.3s ease
    }
}

@media (min-width: 768px) {
    .header .navSub__inner {
        margin-top: 10px;
        background: #C01431
    }
}

@media (min-width: 768px) and (max-width: 767px) {
    .header .navSub__inner {
        background: #C01431
    }
}

.header .navSub ul {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between
}

@media (min-width: 768px) {
    .header .navSub ul {
        padding: 30px 0
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .header .navSub ul {
        padding: 30px 20px
    }
}

@media (max-width: 767px) {
    .header .navSub ul {
        flex-wrap: wrap
    }
}

.header .navSub ul li {
    width: 100%;
    border-radius: 10px;
    background: #fff;
    box-shadow: 4px 4px 20px rgba(192, 20, 49, .2)
}

@media (min-width: 768px) {
    .header .navSub ul li {
        height: 174px;
        max-width: 157px;
        position: relative;
        position: relative
    }

    .header .navSub ul li::after {
        content: "";
        position: absolute;
        bottom: 10px;
        left: 0;
        right: 0;
        width: 30px;
        height: 30px;
        margin: 0 auto;
        background: url(../image/ico_arrow_circle.svg);
        transition: all 0.3s;
        pointer-events: none
    }
}

@media (hover: hover),
screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .header .navSub ul li:hover::after {
        background: url(../image/ico_arrow_circle_hv.svg) no-repeat;
        background-size: 30px 30px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .header .navSub ul li {
        padding: 0 10px;
        margin: 0 10px;
        height: 170px
    }

    .header .navSub ul li img:last-child {
        width: 29px;
        height: 28px
    }
}

@media (max-width: 767px) {
    .header .navSub ul li {
        max-width: 48.5%;
        margin-bottom: 10px
    }
}

.header .navSub ul li a {
    pointer-events: visible;
    text-align: center;
    color: #1f2224;
    background: none !important;
    opacity: 1;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.33333;
    letter-spacing: .05em;
    font-weight: 700
}

@media (min-width: 768px) {
    .header .navSub ul li a {
        padding: 20px 0 !important;
        height: 174px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .header .navSub ul li a {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.42857
    }
}

@media (max-width: 767px) {
    .header .navSub ul li a {
        display: block !important;
        padding: 21px 0 14px
    }
}

@media (max-width: 767px) {
    .header .navSub ul li a img {
        width: 30px
    }

    .header .navSub ul li a img:last-child {
        width: 26px
    }
}

.header .navSub ul li a span {
    display: block;
    margin: 14px 0 8px;
    color: #C01431;
}

@media (max-width: 767px) {
    .header .navSub ul li a span {
        margin-top: 11px
    }
}

@media only screen and (max-width: 374px) {
    .header .navSub ul li a span {
        font-size: 11px;
        font-size: 1.1rem
    }
}

@media (min-width: 768px) {
    .layerMenu {
        width: 70%;
        margin-top: 25px;
    }

    .layerMenu__inner {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end
    }

    .layerMenu__inner .inInfor,
    .layerMenu__inner .inLayer {
        width: 100%
    }

    .layerMenu__inner .inInfor {
        order: 1
    }

    .layerMenu__inner .inLayer {
        order: 2
    }
}

@media (max-width: 767px) {
    .layerMenu {
        position: absolute;
        opacity: 0;
        transition: opacity 0.3s;
        width: 100%;
        height: 100%;
        visibility: hidden
    }

    .layerMenu__inner {
        display: inline-block;
        padding: 40px 5px 180px;
        background: #F7E9E8;
        margin: 55px 0 0;
        overflow-y: scroll;
        height: 100vh;
        width: 100%
    }

    .layerMenu::after {
        content: "";
        position: absolute;
        height: 100vh;
        width: 100%;
        background: #e7f4f8;
        z-index: -1
    }

    .layerMenu .inInfor,
    .layerMenu .inLayer {
        width: 100%
    }

    .layerMenu .inInfor {
        order: 2;
        border-radius: 10px;
        background: #fff;
        box-shadow: 4px 4px 20px rgba(192, 20, 49, .2);
        margin: 28px auto 0;
        width: calc(100% - 38px);
        padding: 24px 30px 30px;
        text-align: center
    }

    .layerMenu .inLayer {
        order: 1
    }
}

@media (max-width: 767px) {
    .layerOn {
        overflow: hidden
    }
}

.layerOn .layerMenu {
    right: 0
}

@media (max-width: 767px) {
    .layerOn .layerMenu {
        opacity: 1;
        width: 100%;
        transition: opacity 0.3s;
        visibility: visible
    }
}

.layerOn .header {
    background: #fff
}

.hamberger {
    padding: 13px 10px;
    position: fixed;
    right: 11px;
    top: 11px;
    z-index: 1000;
    width: 52px;
    height: 50px;
    line-height: 1;
    cursor: pointer;
    border-radius: 4px;
    background: #C01431
}

@media (max-width: 767px) {
    .hamberger {
        background: #C01431
    }
}

@media (min-width: 768px) {
    .hamberger {
        display: none
    }
}

.hamberger span {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 1px;
    background: #fff;
    font-size: 0;
    top: 10px;
    margin: 0 auto 5px;
    -webkit-transition: 0.1s ease all;
    -moz-transition: 0.1s ease all;
    -ms-transition: 0.1s ease all;
    -o-transition: 0.1s ease all;
    transition: 0.1s ease all
}

.hamberger span:last-child,
.hamberger span:nth-child(2) {
    margin-bottom: 0
}

.hamberger span.ham {
    left: 10px
}

.hamberger span.ger {
    right: 10px
}

.hamberger span.txt {
    position: relative;
    width: 100%;
    background: transparent;
    line-height: 1;
    top: 8px;
    left: 2px
}

.hamberger span.txt::after {
    content: "Menu";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    color: #fff;
/*    font-family: "Lato", sans-serif;*/
    font-size: 10px;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700
}

.hamberger.active span {
    -webkit-transition: 0.1s ease all;
    -moz-transition: 0.1s ease all;
    -ms-transition: 0.1s ease all;
    -o-transition: 0.1s ease all;
    transition: 0.1s ease all
}

.hamberger.active .ham {
    transform: rotate(45deg);
    left: auto;
    right: auto;
    top: 3px;
    position: relative
}

.hamberger.active .ber {
    transform: rotate(-45deg);
    left: auto;
    right: auto;
    top: -4px;
    position: relative
}

.hamberger.active .txt::after {
    content: "Close"
}

@media (min-width: 768px) {
    .fixHeader .header {
        box-shadow: 0px 2px 10px rgba(192, 20, 49, .1);
        padding-top: 0
    }

    .fixHeader .header .inHeader__h1 {
        opacity: 0
    }

    .fixHeader .header .inHeader #logo {
        margin: 0 0 0 10px;
        position: relative;
        top: -5px
    }

    .fixHeader .header .inHeader #logo a,
    .fixHeader .header .inHeader #logo img,
    .fixHeader .header .inHeader #logo span {
        display: block
    }

    .fixHeader .header .inHeader #logo img {
        width: 139px
    }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
    .fixHeader .header .inHeader #logo img {
        width: 100px
    }
}

@media (min-width: 768px) {
    .fixHeader .header .inHeader #logo span {
        margin: 8px 0 0 0;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.5
    }

    .fixHeader .header .inHeader #logo span br {
        display: none
    }

    .fixHeader .header .inInfor {
        padding-top: 13px;
        padding-bottom: 5px
    }

    .fixHeader .header .navSub__inner {
        margin-top: 10px
    }
}

.c-software .c-title span {
    display: inline-block;
    width: auto;
    color: #C01431;
}

.servicePage .software-box {}

.servicePage .software-box__ul {
    padding-bottom: 6%;
}

.servicePage .software-box__ul li {
    width: 100%;
    margin-bottom: 8px;
    display: inline-flex;
    display: flex;
    align-items: center;
    padding-left: 20px;
    position: relative;
}

.servicePage .software-box__ul li::after {
    content: '';
    display: block;
    width: 100%;
    height: 90%;
    background-color: #FFFFFF;
    position: absolute;
    top: 0;
    left: 0;
}

.servicePage .software-box__ul li:last-child::after {
    height: 100%;
}

.servicePage .software-box__ul li .pic {
    position: relative;
    z-index: 1;
}

.servicePage .software-box__ul li .txt {
    margin-left: 20px;
    position: relative;
    z-index: 1;
    width: 75%;
}

.servicePage .software-box__ul li .txt h5 {
    color: #C01431;
    font-size: 2.4rem;
    font-weight: 700;
}

.servicePage .software-box__ul li .txt .ptxt {
    font-size: 1.5rem;
    color: #212121;
    margin: 10px 0;
}

.servicePage .c-box__inn {
    justify-content: center;
}

.servicePage .c-box__ttl {
    padding: 0;
    width: 100%;
    text-align: center;
    margin: 30px 0 20px 0;
}

.servicePage .c-box__txt {
    line-height: 1.75;
    min-height: 80px;
}

.software-service .c-box__index .c-box__item h4 {
    text-align: center;
    font-size: 2.4rem;
    font-weight: 700;
}

.software-service5 .c-box__txt {
    min-height: 160px;
    margin-top: 0;
}