/*
Theme Name: RoyalMotors
Author: Cordial Pleasure Co.,Ltd.
Author URI: http://c-pleasure.jp/
Description: 専用テーマ
*/

/*html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/

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

body {
    line-height: 1;
}

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

nav ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

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

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-feature-settings: "palt";
}

a {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

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

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

del {
    text-decoration: line-through;
}

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

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

input,
select {
    vertical-align: middle;
}

.small,
small {
    font-size: 80% !important;
}


/* common */

body {
    /*font-family: "游ゴシック体", "游ゴシック", 'Yu Gothic', YuGothic, Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;*/
    font-family: 'Garamond', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-feature-settings: "palt";
    color: #777;
    overflow-x: hidden;
}

body input,
body select,
body textarea {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.gothic {
    font-family: "游ゴシック体", "游ゴシック", 'Yu Gothic', YuGothic, Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.mincho {
    font-family: 'Garamond', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

::selection {
    color: #555;
    background: #ccc;
    /* Safari */
}

::-moz-selection {
    color: #555;
    background: #ccc;
    /* Firefox */
}

.br:before {
    content: "\A";
    white-space: pre;
}

.container {
    position: relative;
}

a,
a:before,
a:after {
    color: #279db6;
    transition: .5s ease all;
}

a:focus,
a:hover,
a:active,
a:focus:before,
a:hover:before,
a:active:before,
a:focus:after,
a:hover:after,
a:active:after {
    color: #279db6;
    text-decoration: none !important;
    transition: .5s ease all;
}

a:hover,
a:focus,
a:active {
    opacity: .5;
}

.bold {
    font-weight: bold;
}

.red {
    color: red;
}

input[type="submit"],
button {
    transition: .5s ease all;
}

input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
button:hover,
button:active,
button:focus {
    transition: .5s ease all;
}

input[type=checkbox],
input[type=radio] {
    vertical-align: middle;
    margin: -4px 0.2rem 0 1rem;
}

input[type=radio] {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #e5e5e5;
    background: #f9f9f9;
    border-radius: 20px;
    cursor: pointer;
}

input[type="radio"]:checked {
    background: #279db6;
    border-color: #025465;
}

label {
    cursor: pointer;
}


/* header */

header {
    width: 100%;
    position: fixed;
    z-index: 100;
}

.header-top {
    transition: .5s ease all;
}

.navbar-fixed-top .header-top {
    height: 0;
    padding: 0;
    overflow: hidden;
    transition: .5s ease all;
}

.header-top-object {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 10px 0;
    transition: .5s ease all;
}

.navbar-fixed-top .header-top-object {
    height: 0;
    padding: 0;
    transition: .5s ease all;
}

.header-top-object h1 {
    font-size: .75em;
    color: #777;
    margin: 0 1em;
}

.header-top-object .contact-area {
    margin-left: auto;
}

.contact-area .tel {
    text-align: center;
}

.contact-area .tel a {
    font-size: 2em;
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
}

.contact-area .tel span {
    display: block;
}

.contact-area .mail .button {
    margin: 0;
}

.contact-area .mail a {
    font-size: 1em;
}

.cont-step {
    background: #279db6;
    width: 36px;
    height: 36px;
    display: block;
    position: absolute;
    transform: rotate(45deg);
}

.step-num {
    font-size: 14px;
    color: #fff;
    font-weight: normal;
    text-align: center;
    transform: rotate(-45deg);
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    line-height: 36px;
    text-transform: capitalize;
}


/* gnav */

.custom-logo-link {
    display: inline-block;
    height: auto;
}

.custom-logo-link img {
    width: inherit;
    max-width: 100%;
    height: auto;
}

.navbar {
    padding: 0;
    margin-bottom: 0;
}

.navbar-default {
    min-height: inherit;
    background: #fff;
    border: none;
    border-radius: 0;
}

.navbar-default .navbar-nav>li>a {
    font-size: 1em;
    color: #fff;
    font-weight: 500;
    display: block;
    padding: 1em 0;
    position: relative;
}

.navbar-default .navbar-nav>li>a:before,
.navbar-default .navbar-nav>li:last-child>a:after {
    content: '';
    position: absolute;
    top: 20px;
    bottom: 20px;
    transform: rotate(30deg);
}

.navbar-default .navbar-nav>li>a:before {
    border-left: 1px solid #000;
    left: 0;
}

.navbar-default .navbar-nav>li:last-child>a:after {
    border-right: 1px solid #000;
    right: 0;
}

.navbar-default .navbar-nav>li>a:focus,
.navbar-default .navbar-nav>li>a:hover,
.navbar-default .navbar-nav>li>a:active {
    color: #fff;
}

.navbar-default .navbar-nav>li>a .ttl-eng {
    font-size: 14px;
    color: #279db6;
    text-transform: capitalize;
    margin: 0;
}

.navbar-collapse {
    padding: 0;
}

.navbar-collapse.collapse {
    background: #212529;
    position: relative;
    z-index: 2;
}

.header-menu {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
}

.navbar-nav {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding-right: 30px;
    padding-left: 30px;
}

.navbar-nav>li {
    text-align: center;
    width: 100%;
}

.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:focus,
.navbar-default .navbar-nav>.active>a:hover {
    color: #fff;
    background: none;
}

.nav>li>a.dropdown-toggle {
    display: block;
}

.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:focus,
.navbar-default .navbar-nav>.open>a:hover {
    background: none;
}

.dropdown-menu {
    background: none;
    display: block;
    width: auto;
    min-width: 100%;
    padding: 0;
    border: none;
    box-shadow: none;
    border-radius: 0;
    transition: .5s ease all;
    opacity: 0;
    left: -1em;
    pointer-events: none;
}

.dropdown-menu>li>a {
    font-size: 1em;
    color: #279db6;
    background: #fff;
    padding: 0;
    border-bottom: 1px solid #279db6;
    position: relative;
    left: 0;
}

.dropdown-menu>li>a:hover,
.dropdown-menu>li>a:active,
.dropdown-menu>li>a:focus {
    color: #fff;
    background: #279db6;
    left: 1em;
    opacity: 1;
}

.dropdown-menu>.active>a,
.dropdown-menu>.active>a:focus,
.dropdown-menu>.active>a:hover {
    color: #fff;
    background: #279db6;
}

@media (min-width: 768px) {
    .dropdown:hover>.dropdown-menu {
        left: 0;
        opacity: 1;
        pointer-events: all;
    }
}

.dropdown-menu>.active>a,
.dropdown-menu>.active>a:focus,
.dropdown-menu>.active>a:hover {
    color: #fff;
}

.link-menu {
    font-weight: normal;
    display: block;
}

nav .link-menu {
    position: relative;
    top: -20px;
}

nav .ttl-eng {
    position: relative;
    top: 22px;
}

.dropdown-menu>li>a .link-menu {
    padding: 1em;
    top: 0;
}

.dropdown-menu>li>a .ttl-eng {
    display: none;
}


/* jumbotron */

.jumbotron {
    background: #fff;
    padding: 0;
    margin: 0;
    border-radius: 0;
    position: relative;
    z-index: 2;
}

.jumbotron .h1,
.jumbotron h1 {
    margin: 0;
}

.jumbotron-common {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: calc(100% - 0px);
    padding: 5em 0;
    position: relative;
    overflow: hidden;
}

.jumbotron-common figure {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.jumbotron-common figure:before {
    content: '';
    background-color: rgba(0, 0, 0, .2);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.jumbotron-common figure img {
    width: 100%;
    height: auto;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.jumbotron-common .ttl-cont {
    text-align: center;
    position: relative;
}

.jumbotron-common .ttl-main {
    color: #333;
    line-height: 1;
    margin-bottom: .5em;
}

.jumbotron-common .ttl-eng {
    font-size: 1em;
    position: relative;
}

.jumbotron-common .ttl-jpn {
    font-size: 1.25em;
    line-height: 1.25em;
    position: relative;
}


/* slider */

.swiper-container {
    background-repeat: no-repeat;
    background-position: right bottom;
    padding-top: 140px;
    padding-bottom: 210px;
}

.swiper-container .container.arrow {
    position: absolute;
    width: 320px;
    right: 0;
    bottom: 34px;
    left: 0;
}

.slider-text-cont {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.swiper-slide {
    position: relative;
}

.slider-text,
.slider-text p {
    color: #fff;
}

.slider-text h1,
.slider-text p,
.slider-text .button {
    position: relative;
    bottom: -60px;
    opacity: 0;
}

.slider-text h1 {
    margin-bottom: 0;
    -webkit-animation: fadeIn 1s ease 2s 1 forwards;
    animation: fadeIn 1s ease 2s 1 forwards;
}

.slider-text p {
    -webkit-animation: fadeIn 1s ease 3s 1 forwards;
    animation: fadeIn 1s ease 3s 1 forwards;
}

.slider-text .button {
    -webkit-animation: fadeIn 1s ease 4s 1 forwards;
    animation: fadeIn 1s ease 4s 1 forwards;
}

@-webkit-keyframes fadeIn {
    100% {
        bottom: 0;
        opacity: 1;
    }
}

@keyframes fadeIn {
    100% {
        bottom: 0;
        opacity: 1;
    }
}

.swiper-slide .img-slider {
    display: block;
    height: 100%;
    position: relative;
}

.swiper-slide {}

.swiper-arrows {
    position: absolute;
    top: 50%;
    max-width: 1140px;
    margin: 0 auto;
    left: 0;
    right: 0;
}

.swiper-button-prev:before,
.swiper-button-next:before {
    font-family: ionicons;
    font-size: 32px;
    color: #000;
    line-height: 50px;
}

.swiper-button-prev:before {
    content: '\f3d2';
}

.swiper-button-next:before {
    content: '\f3d3';
}

.swiper-button-next,
.swiper-button-prev {
    background-image: none;
    width: 50px;
    height: 50px;
    z-index: 10;
    text-align: center;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    left: 0;
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    right: 0;
}

.swiper-button-prev i,
.swiper-container-rtl .swiper-button-next i,
.swiper-button-next i,
.swiper-container-rtl .swiper-button-prev i {
    width: 50px;
    height: 50px;
    display: table-cell;
    vertical-align: middle;
}

.swiper-pagination-bullet {
    background: #212529;
    width: 12px;
    height: 12px;
}

.swiper-pagination-bullet-active {
    background: #212529;
}

.swiper-container .main-catch {
    width: 100%;
    position: absolute;
    bottom: 60px;
    z-index: 1;
}

.swiper-container .main-catch .cont {
    background: #212529;
    display: inline-block;
    padding: 1.5em 0 1.5em 1em;
    position: relative;
}

.swiper-container .main-catch .cont:before,
.swiper-container .main-catch .cont:after {
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1;
    top: 0;
    border-style: solid;
}

.swiper-container .main-catch .cont:before {
    border-color: transparent #212529 transparent transparent;
    border-width: 180px 100px 0 0;
    left: -100px;
}

.swiper-container .main-catch .cont:after {
    border-color: transparent transparent transparent #212529;
    border-width: 0px 0px 180px 100px;
    right: -100px;
}

.swiper-container .main-catch .cont h1 {
    font-size: 3em;
    color: #fff;
    font-weight: normal;
    margin-bottom: 0;
}

.swiper-container .main-catch .cont p {
    font-size: 1.5em;
    color: #fff;
    margin-bottom: 0;
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 25px;
}


/* breadcrumbs */

.breadcrumb-area {
    background: #fafafa;
    padding-top: 147px;
}

.breadcrumb {
    background: none;
    padding: 1em 0;
    margin-bottom: 0;
    border-radius: 0;
}

.breadcrumb li {
    font-size: 14px;
    display: inline;
}

.breadcrumb>li+li:before {
    font-family: ionicons;
    content: '\f3d3';
}

.breadcrumb li a {
    position: relative;
}


/* main */

.block_1 {
    padding: 60px 0;
}

.block_2 {
    padding: 45px 0;
}

.block_3 {
    padding: 30px 0;
}

.block_4 {
    padding: 20px 0;
}

.block_5 {
    padding: 15px 0;
}

.block_6 {
    padding: 0 0 60px;
}

.block_7 {
    padding: 0 0 45px;
}

.block_8 {
    padding: 0 0 30px;
}

.block_9 {
    padding: 0 0 20px;
}

.block_10 {
    padding: 0 0 15px;
}

.extra_wrap {
    overflow: hidden;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: #212529;
    font-weight: bold;
    line-height: 1.25em;
    margin-bottom: .5em;
    position: relative;
}

figure a {
    display: block;
}

figure a img {
    transition: .5s ease all;
}

.service .service-list figure a img {
    transform: translateX(0%);
}

.service .service-list figure a:hover,
.service .service-list figure a:active,
.service .service-list figure a:focus {
    opacity: 1;
}

.service .service-list figure a:hover img,
.service .service-list figure a:active img,
.service .service-list figure a:focus img {
    transform: translateX(10%);
    transition: .5s ease all;
}

p {
    color: #777;
    line-height: 1.5em;
    margin-bottom: .5em;
}

main h1 {
    font-size: 2.5rem;
}

main h2 {
    font-size: 2.25rem;
}

main h3 {
    font-size: 2rem;
}

main h4 {
    font-size: 1.75rem;
}

main h5 {
    font-size: 1.5rem;
}

main h6 {
    font-size: 1.25rem;
}

.line-bottom {
    display: block;
    padding-bottom: 10px;
}

.line-bottom:before {
    content: '';
    border-bottom: 1px solid #fff;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
}

.title {
    display: inline-block;
}

.title-area h1,
.title-area h2,
.title-area h3,
.title-area h4,
.title-area h5,
.title-area h6 {
    margin-bottom: 0;
}

.title-area-sub h1,
.title-area-sub h2,
.title-area-sub h3,
.title-area-sub h4,
.title-area-sub h5,
.title-area-sub h6 {
    margin-bottom: 15px;
}

.title-area-sub p {
    margin-bottom: 0;
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
    position: relative;
}

.title:before {
    font-weight: normal;
    text-transform: capitalize;
    content: attr(title);
    position: absolute;
    top: 0;
}

.title-area .title {
    display: inline-block;
    padding-top: 30px;
    padding-bottom: 10px;
}

.title-area .title:before {
    font-size: 16px;
    color: #279db6;
    font-style: italic;
    right: -100%;
    left: -100%;
}

.invert .title-area .title,
.title-area.invert .title {
    display: inline-block;
    padding-top: 16px;
}

.invert .title-area .title:before,
.title-area.invert .title:before {
    color: #fff;
    top: -10px;
    right: 0;
    left: 0;
}

.title-area .line:before,
.title-area .line:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    transform: rotate(30deg);
}

.title-area .line:before {
    border-left: 1px solid #279db6;
    left: -20px;
}

.title-area .line:after {
    border-right: 1px solid #279db6;
    right: -20px;
}

.invert .title-area .line:before,
.invert .title-area .line:after,
.title-area.invert .line:before,
.title-area.invert .line:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    transform: rotate(30deg);
}

.invert .title-area .line:before,
.title-area.invert .line:before {
    border-left: 1px solid #fff;
    left: -20px;
}

.invert .title-area .line:after,
.title-area.invert .line:after {
    border-right: 1px solid #fff;
    right: -20px;
}

input[type="submit"],
.button {
    border: none;
}

.button {
    color: #fff;
    display: inline-block;
    cursor: pointer;
    line-height: 50px;
    height: 50px;
    margin-top: 1em;
    margin-bottom: .5em;
    padding: 0 2em;
    border: none;
    text-align: center;
    text-decoration: none;
    position: relative;
}

.button:hover,
.button:focus,
.button:active,
.button.active {
    color: #fff;
    transition-duration: 0.5s;
    opacity: 1;
}

.button-paint {
    background: #279db6;
}

.button-paint:hover,
.button-paint:active,
.button-paint:focus {
    color: #fff;
    opacity: 1;
}

.button-paint:before,
.button-paint:after {
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1;
    top: 0;
    border-style: solid;
}

.button-paint:before {
    border-color: transparent #279db6 transparent transparent;
    border-width: 50px 15px 0 0;
    left: -15px;
}

.button-paint:after {
    border-color: transparent transparent transparent #279db6;
    border-width: 0px 0px 50px 15px;
    right: -15px;
}

.button-paint-black {
    background: #212529;
}

.button-paint-black:hover,
.button-paint-black:active,
.button-paint-black:focus {
    color: #fff;
    opacity: 1;
}

.button-paint-black:before,
.button-paint-black:after {}

.button-paint-black:before {
    border-color: transparent #212529 transparent transparent;
}

.button-paint-black:after {
    border-color: transparent transparent transparent #212529;
}

.button-paint-border {
    color: #279db6;
    background: #fff;
    box-shadow: inset 1px 1px 0px #279db6, inset -1px -1px 0px #279db6;
}

.button-paint-border:hover,
.button-paint-border:active,
.button-paint-border:focus {
    color: #fff;
    background: #279db6;
    opacity: 1;
}

.button-gray {
    background: #777;
}

.button-gray:hover,
.button-gray:active,
.button-gray:focus {
    color: #777;
    background: #fff;
    border: 1px solid #ddd;
}

.invert,
.invert h1,
.invert h2,
.invert h3,
.invert h4,
.invert h5,
.invert h6,
.invert p,
.invert span {
    color: #fff !important;
}

.invert a {
    color: #fff;
}

.invert .button {
    color: #fff;
    background: #fff;
}

.invert .button:hover,
.invert .button:active,
.invert .button:focus {
    color: #fff;
}

.invert .button-paint,
.invert .button-paint span {
    color: #279db6;
}

.invert .button-paint:hover,
.invert .button-paint:active,
.invert .button-paint:focus {
    color: #fff;
    background: #279db6;
}

.invert .button-paint:before {
    border-color: transparent #fff transparent transparent;
    border-width: 50px 28px 0 0;
    left: -28px;
}

.invert .button-paint:after {
    border-color: transparent transparent transparent #fff;
    border-width: 0px 0px 50px 28px;
    right: -28px;
}

.invert .button-paint:hover:before {
    border-color: transparent #279db6 transparent transparent;
}

.invert .button-paint:hover:after {
    border-color: transparent transparent transparent #279db6;
}

.invert .button-paint-black {
    color: #fff;
    background: #212529;
}

.invert .button-paint-black:hover,
.invert .button-paint-black:active,
.invert .button-paint-black:focus {
    color: #279db6;
    background: #fff;
    opacity: 1;
}

.invert .button-paint-black:before,
.invert .button-paint-black:after {}

.invert .button-paint-black:before {
    border-color: transparent #212529 transparent transparent;
}

.invert .button-paint-black:after {
    border-color: transparent transparent transparent #212529;
}

.invert .button-paint-black:hover:before {
    border-color: transparent #fff transparent transparent;
}

.invert .button-paint-black:hover:after {
    border-color: transparent transparent transparent #fff;
}

.button-paint-border {
    color: #279db6;
    background: #fff;
    box-shadow: inset 1px 1px 0px #279db6, inset -1px -1px 0px #279db6;
}

.table-dl dl {
    display: table;
    max-width: 100%;
}

.table-dl dl dt {
    display: table-cell;
    vertical-align: middle;
    width: 120px;
    border-top: 1px solid #eee;
}

.table-dl dl dd {
    display: table-cell;
    vertical-align: middle;
    border-top: 1px solid #eee;
}

.table-dl dl:last-child dt,
.table-dl dl:last-child dd {
    border-bottom: 1px solid #eee;
}

.table-base dl {
    text-align: left;
    display: table;
    width: 100%;
}

.table-base dl dt {
    color: #279db6;
    width: 25%;
    min-width: 160px;
    padding: 1.5em;
    border-top: 1px solid #eee;
    position: relative;
}

.table-base dl dd {
    padding: 1.5em;
    position: relative;
    border-top: 1px solid #eee;
}

.table-base dl dd:before {
    content: '';
    border-left: 1px solid #eee;
    position: absolute;
    top: 1em;
    bottom: 1em;
    left: 0;
}

.table-base dl:last-child dt,
.table-base dl:last-child dd {
    border-bottom: 1px solid #eee;
}

.table-base dl dd dl {
    margin: -.5em 0;
}

.table-base dl dd dl dt {
    display: block;
    background: none;
    width: 100%;
    padding: .5em 0 0;
    border: none;
}

.table-base dl dd dl dd {
    display: block;
    width: 100%;
    padding: 0 0 .5em 0;
    border: none;
}

.table-base dl dd dl dd:before {
    display: none;
}

.table-base dl:last-child dd dl dt,
.table-base dl:last-child dd dl dd {
    border: none;
}

.table-base dl dd dl:last-child dt,
.table-base dl dd dl:last-child dd {
    border: none;
}

.table-reverse dl dt {
    width: 75%;
}

.table-reverse dl dd {
    width: 25%;
}

.list-area li {
    color: #777;
    line-height: 1.25em;
    text-align: left;
    display: block;
    padding-left: 1em;
    margin: .5em 0;
    position: relative;
}

.list-area ol li {
    text-indent: -1em;
    display: list-item;
    padding-left: 1em;
    list-style-position: inside;
}

.list-area li i {
    font-size: 20px;
    position: absolute;
    top: 0;
    left: 3px;
}

.bg-common {
    text-align: center;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
    z-index: 2;
}

.bg-common:before {
    content: '';
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.bg-common.bg-tile {
    background-position: center top;
    background-repeat: repeat;
    background-size: auto;
}

.bg-gray {
    background-color: #fafafa;
}

.bg-white {
    background-color: #fff;
}

.bg-dark-blue {
    background-color: #061923;
}

.bg-dark-black {
    background-color: #212529;
}

.bg-light-blue {
    background-color: #e9f5f8;
}

.bg-common.bg-inner .bg-common {
    background-position: top;
    max-width: calc(1140px - 0px);
    margin: 0 auto;
}

.bg-img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
}

.row-fix {
    margin-right: 0;
    margin-left: 0;
}

.row-fix:before {
    display: table;
    content: ' ';
}

.row-fix:after {
    display: table;
    content: ' ';
    clear: both;
}

.row-fix .col-xl-1,
.row-fix .col-xl-10,
.row-fix .col-xl-11,
.row-fix .col-xl-12,
.row-fix .col-xl-2,
.row-fix .col-xl-3,
.row-fix .col-xl-4,
.row-fix .col-xl-5,
.row-fix .col-xl-6,
.row-fix .col-xl-7,
.row-fix .col-xl-8,
.row-fix .col-xl-9,
.row-fix .col-lg-1,
.row-fix .col-lg-10,
.row-fix .col-lg-11,
.row-fix .col-lg-12,
.row-fix .col-lg-2,
.row-fix .col-lg-3,
.row-fix .col-lg-4,
.row-fix .col-lg-5,
.row-fix .col-lg-6,
.row-fix .col-lg-7,
.row-fix .col-lg-8,
.row-fix .col-lg-9,
.row-fix .col-md-1,
.row-fix .col-md-10,
.row-fix .col-md-11,
.row-fix .col-md-12,
.row-fix .col-md-2,
.row-fix .col-md-3,
.row-fix .col-md-4,
.row-fix .col-md-5,
.row-fix .col-md-6,
.row-fix .col-md-7,
.row-fix .col-md-8,
.row-fix .col-md-9,
.row-fix .col-sm-1,
.row-fix .col-sm-10,
.row-fix .col-sm-11,
.row-fix .col-sm-12,
.row-fix .col-sm-2,
.row-fix .col-sm-3,
.row-fix .col-sm-4,
.row-fix .col-sm-5,
.row-fix .col-sm-6,
.row-fix .col-sm-7,
.row-fix .col-sm-8,
.row-fix .col-sm-9,
.row-fix .col-xs-1,
.row-fix .col-xs-10,
.row-fix .col-xs-11,
.row-fix .col-xs-12,
.row-fix .col-xs-2,
.row-fix .col-xs-3,
.row-fix .col-xs-4,
.row-fix .col-xs-5,
.row-fix .col-xs-6,
.row-fix .col-xs-7,
.row-fix .col-xs-8,
.row-fix .col-xs-9 {
    padding-right: 0;
    padding-left: 0;
}

.alignleft {
    margin-right: auto;
}

.aligncenter {
    margin: 0 auto;
}

.alignright {
    margin-left: auto;
}

.cont {
    text-align: left;
    position: relative;
}

.cont figure {
    position: relative;
}

.cont .cont-box {
    position: relative;
}

.cont .metabox {
    padding: 15px 0;
}

.metabox p:last-child {
    margin-bottom: 0;
}

.v-middle {
    display: flex;
    justify-content: center;
    align-items: center;
}

.ttl-eng {
    color: #777;
    display: block;
    margin-bottom: .25em;
}

figure.border {
    box-shadow: 0 0 5px rgba(0, 0, 0, .1);
}

figure.border:before {
    content: '';
    border: 5px solid rgba(255, 255, 255, .5);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.contact-cont {
    text-align: center;
    padding: 30px 0;
    border: 1px solid #eee;
}

.bg-common .contact-area {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
}

.bg-common .contact-area .tel,
.bg-common .contact-area .mail {
    padding: 0 16px;
}


/* intro */

.marker {
    position: relative;
}

.marker:before {
    content: '';
    background: #279db6;
    position: absolute;
    width: 100%;
    height: 10px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.bg-common.intro .list-maker ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-start;
    margin: 0 -8px;
}

.bg-common.intro .list-maker li {
    text-align: center;
    display: block;
    padding: 0 8px;
}

.bg-common.intro .list-maker li figure img {
    width: 80px;
    margin: 0 auto;
}

.bg-common.intro .list-maker li h5,
.bg-common.intro .list-maker li h6 {
    margin-bottom: 0;
}

.bg-intro-feature .bg-img {
    height: 240px;
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    -webkit-background-size: cover;
    background-size: cover;
}

.list-feature li.cont {
    display: block;
    padding: 0;
}

.list-feature .title:before {
    font-size: 180px;
    color: #279db6;
    font-weight: normal;
    text-transform: capitalize;
    content: attr(title);
    position: absolute;
    bottom: 30px;
    opacity: .2;
}

.list-feature .title:nth-child(odd):before {
    left: 0;
}

.list-feature .title:nth-child(even):before {
    right: 0;
}

.list-feature li:nth-child(odd) .cont-box {
    margin-left: 240px;
}

.list-feature li:nth-child(even) .cont-box {
    margin-right: 240px;
}

@media (min-width:768px) and (max-width: 991px) {
    .list-feature .title:before {
        font-size: 150px;
    }

    .list-feature li:nth-child(odd) .cont-box {
        margin-left: 150px;
    }

    .list-feature li:nth-child(even) .cont-box {
        margin-right: 150px;
    }
}

.list-feature h2 span {
    display: block;
    padding-left: 45px;
}

.list-feature h2 span:before,
.list-feature h2 span:after {
    content: '';
    background: rgba(39, 157, 182, .1);
    width: 20px;
    height: 20px;
    position: absolute;
}

.list-feature h2 span:before {
    top: 5px;
    left: 0;
}

.list-feature h2 span:after {
    top: 15px;
    left: 10px;
}

.bg-intro-feature .cont figure {
    margin-bottom: 15px;
}

#service-01,
#service-02,
#service-03,
#flow-01,
#flow-02,
#flow-03,
#flow-04 {
    padding-top: 72px;
    margin-top: -72px;
}


/* service */

.service-list-cont>div>.service-list {}

.service-list-cont>div:nth-child(odd)>.service-list {
    background-color: #279db6;
}

.service-list-cont>div:nth-child(even)>.service-list {
    background-color: #212529;
}

.service-list-cont>div>.service-list h4 span {
    display: block;
}

.service-list-cont>div:nth-child(even)>.service-list .button-paint-black {
    background: #279db6;
}

.fee-area .table th,
.fee-area .table td {
    text-align: center;
    vertical-align: middle;
}

.page-service .cont .metabox h5 {
    text-align: center;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #777;
}


/* other-area */

.other-area .cont {
    overflow: hidden;
}

.other-area .cont a {
    display: block;
}

.other-area a figure img {
    width: 100%;
}

.other-area a .metabox {
    width: 100%;
    height: 240px;
    padding: 30px;
    position: absolute;
    bottom: -140px;
    transition: .5s ease all;
}

.other-area a:hover .metabox {
    bottom: 0;
    transition: .5s ease all;
}

.other-area .metabox h5 {
    margin-bottom: 15px;
    position: relative;
}

.other-area .metabox h5:before {
    font-family: ionicons;
    content: '\f3d3';
    position: absolute;
    top: 6px;
    right: 0;
    transition: .5s ease all;
    transform: rotate(-90deg);
}

.other-area a:hover .metabox h5:before {
    transition: .5s ease all;
    transform: rotate(0deg);
}

.other-area .title {
    padding-top: 20px;
    position: relative;
}

.other-area .title:before {
    font-size: 14px;
    color: #fff;
    font-weight: normal;
    content: attr(title);
    position: absolute;
    top: -10px;
}

.other-area .metabox .line-bottom:before {
    width: 0;
    transition: .5s ease all;
}

.other-area .cont a:hover .metabox .line-bottom:before {
    width: 100%;
    transition: .5s ease all;
}


/* maker */

.bg-common.maker {
    background: linear-gradient(#fff, #f2f9fe);
}

.maker .cont {
    text-align: center;
    padding: 0;
}

.maker .cont .metabox {
    padding: 0;
    margin-top: 15px;
}

.maker .cont h5,
.maker .cont h6 {
    color: #555;
    margin-bottom: 0;
}

.maker .cont h5 {
    font-size: 16px;
}

.maker .cont h6 {
    font-size: 14px;
}


/* purchase-flow */

.nav-area {
    padding-bottom: 100px;
    position: relative;
}

.nav-area:after {
    content: '';
    position: absolute;
    bottom: 35px;
    left: 50%;
    margin-left: -30px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 30px 30px 0 30px;
    border-color: #b62727 transparent transparent transparent;
}

.nav-area li {
    display: block;
    padding: 2px 0;
}

.nav-area li .button-flow {
    background: #212529;
    width: 100%;
    padding: 0;
    margin: 0;
}

.nav-area li .button-flow:before,
.nav-area li .button-flow:after {
    position: absolute;
}

.nav-area li .button-flow:before {
    color: #fff;
    font-family: ionicons;
    content: '\f3d3';
    top: 0;
    right: 15px;
    bottom: 0;
}

.nav-area li .button-flow:after {
    content: '';
    border-right: 1px solid #fff;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
}

.flow-area h2 {
    padding-bottom: 15px;
    padding-left: 60px;
    margin-bottom: 30px;
    border-bottom: 1px solid #555;
}

.flow-detail-01 .cont {
    border: 1px solid #ccc;
}

.flow-detail-01 .cont .cont-box,
.flow-detail-02 .cont .cont-box {
    text-align: center;
    padding: 30px;
}

.flow-detail-01 .cont .cont-box h5,
.flow-detail-02 .cont .cont-box h5 {
    padding-bottom: 10px;
    border-bottom: 1px solid #279db6;
}

.flow-detail-01 .cont .cont-box h6 {
    background: #fafafa;
    padding: 10px;
    border: 1px solid #ddd;
}

.flow-detail-01 .cont .cont-box p,
.flow-detail-02 .cont .cont-box p {
    text-align: left;
}

.flow-detail-01 .cont .cont-box p:last-child,
.flow-detail-02 .cont .cont-box p:last-child {
    margin-bottom: 0;
}

.nav-area .cont-step {
    left: 7px;
    top: -30px;
}

.purchase-flow .list-area li {
    font-size: 16px;
    padding-left: 1.5em;
}

@media (max-width: 991px) {
    .nav-area .cont-step {
        left: 17px;
        top: 7px;
    }
}

.flow-area .cont-step {
    left: 7px;
}

.flow-detail-01 .cont-loan-orico .cont .cont-box p {
    text-align: center;
}

.cont-loan {
    color: #333;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 15px 0;
}

.box-loan {
    width: 100%;
}

.cont-percent {
    color: #b62727;
}

.cont-loan span {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: baseline;
}

.cont-loan .large {
    font-size: 2em;
}

.cont-loan .value {
    font-size: 4em;
}

/* post */

.blog-info {
    margin: -.25em -.5em;
}

.blog-info ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: left;
    align-items: center;
    flex-wrap: wrap;
}

.blog-info li {
    display: block;
    padding: .25em .5em;
}

.blog-info li a {
    display: inline-block;
}

.blog-info li.tag {
    margin: 0 -.25em;
}

.blog-info li.tag a {
    font-size: .8em;
    color: #fff;
    background: #279db6;
    padding: 4px 8px;
    margin: 0 .25em;
    border-radius: 18px;
}

.single .blog-info {
    margin-bottom: 2em;
}

.blog-info li {
    color: #777;
    display: block;
}

.excerpt {
    position: relative;
}

.excerpt:after {
    content: '...';
}

.nav-below {
    margin: 0 -1em;
}

.nav-below .nav-next,
.nav-below .nav-previous {
    display: block;
    width: 50%;
    padding: 0 1em;
}

.nav-below .nav-next {
    float: right;
}

.nav-below .nav-previous {
    float: left;
}

.nav-below .nav-next a,
.nav-below .nav-previous a {
    display: block;
    background: #fff;
    padding: 2em 4em;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nav-below a:hover,
.nav-below a:active,
.nav-below a:focus {
    opacity: .5;
}

.nav-below .nav-next a {
    text-align: right;
}

.nav-below .nav-previous a {
    text-align: left;
}

.nav-below .nav-next a:before,
.nav-below .nav-previous a:before {
    font-family: ionicons;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.nav-below .nav-next a:before {
    content: '\f3d3';
    right: 1em;
}

.nav-below .nav-previous a:before {
    content: '\f3d2';
    left: 1em;
}


/* careers */

/* company */

.name-sign {
    margin: -5px 0;
}

.name-sign span {
    display: block;
    padding: 5px 0;
}

.gallery .works-slider li {
    display: block;
}

.gallery figure a {
    overflow: hidden;
}

.gallery figure a:hover img,
.gallery figure a:active img,
.gallery figure a:focus img {
    transform: scale(1.2);
}


/* privacy */

/* sitemap */

/* faq */

/* news */

.cont-news .date {
    display: inline-block;
    margin-bottom: .5em;
}

.cont-news li {
    display: block;
}

.cont-news li .cont {
    padding: 0 8px;
    position: relative;
}

.cont-news li .cont:before,
.cont-news li .cont:after {
    content: '';
    position: absolute;
}

.cont-news li .cont:before {
    right: 8px;
    bottom: -8px;
    left: 8px;
    border-bottom: 1px solid #eee;
}

.cont-news li .cont:after {
    top: 0;
    right: -16px;
    bottom: 16px;
    border-right: 1px solid #eee;
}

.cont-news li:nth-last-child(2) .cont:before,
.cont-news li:last-child .cont:before {
    display: none;
}

.cont-news li:nth-child(2) .cont:after,
.cont-news li:last-child .cont:after {
    display: none;
}

.news-area {
    background: #fff;
    padding-right: 60px;
    padding-left: 60px;
}

.table-news dl {
    width: 100%;
    position: relative;
}

.table-news dl dt,
.table-news dl dd {
    background: none;
    width: auto;
    border-color: #eee;
}

.table-news dl dt {
    color: #dc9e6b;
    padding: 1em;
    border-left: none;
}

.table-news dl dd {
    width: 100%;
    padding: 0;
    border-right: none;
    border-left: none;
}

.table-news dl:last-child dt,
.table-news dl:last-child dd {
    border-bottom: 1px solid #eee;
}

.table-news dl dd a {
    display: block;
    padding: 1em 0;
    position: relative;
}

.single-news .news {
    text-align: left;
}

.news .blog_info {
    margin: 1em 0;
}

.news .blog_info li {
    display: block;
}

.pagination {
    clear: both;
    padding: 0;
    position: relative;
    font-size: 14px;
    line-height: 14px;
    text-align: center;
}

.pagination-box {
    display: inline-block;
}

.pagination span,
.pagination a {
    display: block;
    float: left;
    margin: 2px 2px 2px 0;
    padding: 10px 15px 10px 15px;
    text-decoration: none;
    width: auto;
    color: #777;
    background: #eee;
    box-shadow: inset 1px 1px #ddd, inset -1px -1px #ddd;
}

.pagination a:hover,
.pagination a:active,
.pagination a:focus {
    color: #fff;
    background: #279db6;
    box-shadow: inset 1px 1px #279db6, inset -1px -1px #279db6;
}

.pagination .current {
    padding: 10px 15px 10px 15px;
    background: #279db6;
    color: #fff;
    box-shadow: inset 1px 1px #279db6, inset -1px -1px #279db6;
}

@media only screen and (max-width: 413px) {
    .pagination {
        font-size: 12px;
        line-height: 12px;
    }

    .pagination span,
    .pagination a {
        padding: 8px 10px 8px 10px;
    }

    .pagination .current {
        padding: 8px 10px 8px 10px;
    }
}


/* contact */

.page-contact .contact-cont .contact-area .mail {
    display: none;
}

#contact-area .contact-cont {
    border: none;
}

.page-bottom {
    padding-top: 30px;
    padding-bottom: 30px;
}

.page-bottom .cont {
    text-align: center;
}

.page-bottom .cont .cont-box {
    padding-right: 30px;
    padding-left: 30px;
}

.bg-common.contact .contact-area {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
}

.bg-common.contact .contact-area .tel,
.bg-common.contact .contact-area .mail {
    padding: 0 1em;
}

.bg-common.contact.invert .contact-area .tel a {
    color: #fff;
}

.contact dl dt label::after {
    font-size: 12px;
    font-weight: bold;
    margin-right: 5px;
    margin-left: 5px;
    padding: 2px 4px;
    border-radius: 2px;
    position: absolute;
    right: 15px;
}

.contact dl.req dt label::after {
    color: #fff;
    content: "必須";
    background: #279db6;
}

.contact dl.any dt label::after {
    color: #555;
    content: "任意";
    background: #eee;
}

.contact dl dt {
    min-width: 320px;
}

.contact .btn-area input {
    margin: 0 10px;
}

div.wpcf7-mail-sent-ok {
    background: #279db6;
}

.input-lg {
    font-size: 16px;
    border-radius: 2px;
}

.wpcf7-form-control-wrap {
    display: inline-block;
}

.help-block {
    margin: 5px 0 0;
}

span.wpcf7-list-item {
    display: inline-block;
    margin: 0 1em 0 0 !important;
}

span.wpcf7-not-valid-tip {
    font-size: .8em !important;
    color: #fff !important;
    background: #279db6;
    padding: .25em;
    border-radius: 2px;
    position: absolute;
    top: -29px;
    left: 0;
}

span.wpcf7-not-valid-tip br {
    display: none;
}

span.wpcf7-not-valid-tip:after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 25%;
    margin-left: -5px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 5px 5px 0 5px;
    border-color: #279db6 transparent transparent transparent;
}

div.wpcf7-validation-errors {
    color: #fff;
    text-align: center;
    background: #279db6;
    padding: 15px;
    margin: 0 0 30px !important;
    border: 1px solid #279db6;
}

div.wpcf7-mail-sent-ok {
    color: #fff;
    text-align: center;
    background: #279db6;
    padding: 15px;
    margin-bottom: 30px;
    border: none;
}

div.wpcf7-response-output {
    padding: 15px !important;
    border: 2px solid #279db6 !important;
}

.w-length-120 {
    width: 120px;
}

.w-length-150 {
    width: 150px;
}

.w-length-180 {
    width: 180px;
}

.w-length-210 {
    width: 210px;
}

.w-length-240 {
    width: 240px;
}

.w-length-270 {
    width: 270px;
}

.w-length-300 {
    width: 300px;
}

.w-length-330 {
    width: 330px;
}

.w-length-360 {
    width: 360px;
}

.w-length-390 {
    width: 390px;
}

.w-length-420 {
    width: 420px;
}

.w-length-450 {
    width: 450px;
}

.w-length-480 {
    width: 480px;
}

.w-length-100per {
    width: 100%;
}


/* page-top */

#pageTop {
    margin: 0;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 100;
}

#pageTop a {
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
    text-align: center;
    display: block;
    background: none;
    width: 60px;
    height: 60px;
    padding: 0;
    margin: 0;
    z-index: 999;
}

#pageTop a:before {
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1;
    top: 0;
    border-style: solid;
}

#pageTop a:before {
    border-color: transparent #279db6 transparent transparent;
    border-width: 60px 60px 0 0;
    left: 0;
    z-index: -1;
}

#pageTop a:hover,
#pageTop a:active,
#pageTop a:focus {
    text-decoration: none;
    opacity: 0.7;
}

#pageTop .icon {
    font-size: 1.5rem;
    margin: 0;
}

#pageTop .icon:before {
    color: #fff;
    position: absolute;
    right: 5px;
    bottom: 5px;
}


/* footer */

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

footer .footer-main {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

footer .navbar-collapse.collapse {
    background: none;
    margin-left: auto;
}

footer .navbar-nav {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    float: none;
    width: auto;
}

footer .navbar-nav li {
    width: auto;
}

footer .navbar-nav>li>a {
    color: #555;
    padding: .5em;
}

footer .navbar-nav>li>a:hover,
footer .navbar-nav>li>a:active,
footer .navbar-nav>li>a:focus {
    background: none;
}

footer .ttl-eng {
    display: none;
}

footer .dropdown-menu {
    top: inherit;
    bottom: 100%;
}

footer .logo {
    margin-right: 1em;
}

footer .logo span {
    display: block;
}

footer .logo a {
    display: inline-block;
}

footer .footer-bottom {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

footer .footer-bottom a {
    color: #fff;
}

footer .footer-by {
    margin-left: 1em;
}

@media (max-width: 1199px) {
    footer .footer-main {
        text-align: center;
        display: block;
    }

    footer .navbar-nav {
        justify-content: center;
    }

    footer .footer-company {
        margin-bottom: 1em;
    }

    footer .logo {
        margin: 0;
    }

    footer .navbar-collapse.collapse {
        margin: 0;
    }
}


/* mini */

@media (min-width: 992px) and (max-width: 1200px) {
    .block_1 {
        padding: 60px 0;
    }

    .block_2 {
        padding: 45px 0;
    }

    .block_3 {
        padding: 30px 0;
    }

    .block_4 {
        padding: 20px 0;
    }

    .block_5 {
        padding: 15px 0;
    }

    .block_6 {
        padding: 0 0 60px;
    }

    .block_7 {
        padding: 0 0 45px;
    }

    .block_8 {
        padding: 0 0 30px;
    }

    .block_9 {
        padding: 0 0 20px;
    }

    .block_10 {
        padding: 0 0 15px;
    }

    main h1 {
        font-size: 2.25rem;
    }

    main h2 {
        font-size: 2rem;
    }

    main h3 {
        font-size: 1.75rem;
    }

    main h4 {
        font-size: 1.5rem;
    }

    main h5 {
        font-size: 1.25rem;
    }

    main h6 {
        font-size: 1.25rem;
    }
}


/* tablet sp common */

@media (max-width: 991px) {

    .navbar-default .navbar-nav>li>a,
    .dropdown-menu>li>a {
        font-size: .8em;
    }

    nav .link-menu {
        top: -18px;
    }

    .navbar-default .navbar-nav>li>a .ttl-eng {
        font-size: 12px;
        top: 20px;
    }

    .swiper-container .main-catch .cont h1 {
        font-size: 2em;
    }

    .swiper-container .main-catch .cont p {
        font-size: 1em;
    }

    .block_1 {
        padding: 50px 0;
    }

    .block_2 {
        padding: 40px 0;
    }

    .block_3 {
        padding: 30px 0;
    }

    .block_4 {
        padding: 20px 0;
    }

    .block_5 {
        padding: 10px 0;
    }

    .block_6 {
        padding: 0 0 50px;
    }

    .block_7 {
        padding: 0 0 40px;
    }

    .block_8 {
        padding: 0 0 30px;
    }

    .block_9 {
        padding: 0 0 20px;
    }

    .block_10 {
        padding: 0 0 10px;
    }

    .row {
        margin-right: -8px;
        margin-left: -8px;
    }

    .row-fix {
        margin-right: 0;
        margin-left: 0;
    }

    .col-xl-1,
    .col-xl-10,
    .col-xl-11,
    .col-xl-12,
    .col-xl-2,
    .col-xl-3,
    .col-xl-4,
    .col-xl-5,
    .col-xl-6,
    .col-xl-7,
    .col-xl-8,
    .col-xl-9,
    .col-lg-1,
    .col-lg-10,
    .col-lg-11,
    .col-lg-12,
    .col-lg-2,
    .col-lg-3,
    .col-lg-4,
    .col-lg-5,
    .col-lg-6,
    .col-lg-7,
    .col-lg-8,
    .col-lg-9,
    .col-md-1,
    .col-md-10,
    .col-md-11,
    .col-md-12,
    .col-md-2,
    .col-md-3,
    .col-md-4,
    .col-md-5,
    .col-md-6,
    .col-md-7,
    .col-md-8,
    .col-md-9,
    .col-sm-1,
    .col-sm-10,
    .col-sm-11,
    .col-sm-12,
    .col-sm-2,
    .col-sm-3,
    .col-sm-4,
    .col-sm-5,
    .col-sm-6,
    .col-sm-7,
    .col-sm-8,
    .col-sm-9,
    .col-xs-1,
    .col-xs-10,
    .col-xs-11,
    .col-xs-12,
    .col-xs-2,
    .col-xs-3,
    .col-xs-4,
    .col-xs-5,
    .col-xs-6,
    .col-xs-7,
    .col-xs-8,
    .col-xs-9 {
        padding-right: 8px;
        padding-left: 8px;
    }

    main h1 {
        font-size: 2rem;
    }

    main h2 {
        font-size: 1.75rem;
    }

    main h3 {
        font-size: 1.5rem;
    }

    main h4 {
        font-size: 1.25rem;
    }

    main h5 {
        font-size: 1.25rem;
    }

    main h6 {
        font-size: 1.25rem;
    }

    .intro .cont {
        padding: 0 3em;
    }

    .other-area .metabox {
        position: relative;
        bottom: 0;
    }

    .other-area a:hover .metabox {
        height: 100%;
    }

    .nav-below .nav-next a,
    .nav-below .nav-previous a {
        padding: 1.5em 2em 1.5em;
    }

    .bg-intro-feature .bg-img {
        -webkit-background-size: cover;
        background-size: cover;
        background-attachment: inherit;
    }
}


/* tablet */

@media (min-width: 768px) and (max-width: 991px) {
    .swiper-container .main-catch .cont:before {
        border-width: 136px 80px 0 0;
        left: -80px;
    }

    .swiper-container .main-catch .cont:after {
        border-width: 0px 0px 136px 80px;
        right: -80px;
    }

    .w-length-420,
    .w-length-450,
    .w-length-480,
    .w-length-100per {
        width: 100%;
    }
}


/* sp */

@media (max-width: 767px) {
    body {
        font-size: 14px;
    }

    .navbar-fixed-top .header-top-object {
        height: 60px;
        padding: 10px 0;
    }

    .page-home .navbar-collapse.collapse {
        background: none;
    }

    .page-home .navbar-collapse.collapse .container {
        padding: 0;
    }

    .header-top-object {
        display: block;
    }

    .header-top-object .logo {
        z-index: 2;
    }

    .header-top-object h1 {
        display: none;
    }

    .header-top-object .contact-area {
        display: none;
    }

    .contact-area .tel {
        text-align: left;
    }

    .contact-area .tel a {
        font-size: 1.25em;
        display: inline-block;
    }

    .swiper-container {
        padding-top: 62px;
        padding-bottom: 0;
    }

    .swiper-container .main-catch .cont {
        padding: 15px;
        margin: 0 -15px;
    }

    .swiper-container .main-catch .cont:before,
    .swiper-container .main-catch .cont:after {
        display: none;
    }

    .swiper-container-horizontal>.swiper-pagination-bullets,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
        bottom: 170px;
    }

    .swiper-container .main-catch {
        position: relative;
        bottom: 0;
    }

    .swiper-pagination-bullet,
    .swiper-pagination-bullet-active {
        background: #fff;
    }

    .swiper-container .container.arrow {
        width: 100%;
        top: 192px;
        bottom: inherit;
    }

    .swiper-button-next,
    .swiper-button-prev {
        background: rgba(255, 255, 255, .25);
    }

    .navbar-toggle {
        width: 60px;
        height: 60px;
        padding: 0;
        margin: 0;
        border: 0;
        border-radius: 0;
        position: absolute;
        right: 0;
        z-index: 1;
    }

    .navbar-default .navbar-toggle .toggle-menu-ttl {
        color: #777;
        display: inline-block;
        float: left;
        margin-left: 15px;
        top: 2px;
        position: relative;
    }

    .navbar-default .navbar-toggle .icon-bar {
        margin-left: auto;
        margin-right: 15px;
        background-color: #212529;
    }

    .navbar-default .navbar-toggle:focus,
    .navbar-default .navbar-toggle:hover {
        background: none;
    }

    .navbar-default .navbar-collapse,
    .navbar-default .navbar-form {
        border: none;
    }

    .navbar-nav {
        display: block;
        padding: 0;
        margin: 0;
        background: #212529;
    }

    .navbar-default .navbar-nav>li>a:before,
    .navbar-default .navbar-nav>li>a:after {
        display: none !important;
    }

    .navbar-default .navbar-nav>li>a,
    .navbar-default .navbar-nav>li>a:focus,
    .navbar-default .navbar-nav>li>a:hover,
    .navbar-default .navbar-nav>li>a:active,
    .navbar-default .navbar-nav>.active>a,
    .navbar-default .navbar-nav>.active>a:focus,
    .navbar-default .navbar-nav>.active>a:hover,
    .navbar-default .navbar-nav>.active>a:active {
        color: #fff;
        border-bottom: 1px solid rgba(255, 255, 255, .2);
    }

    .navbar-collapse {
        overflow: visible;
    }

    .navbar-fixed-bottom .navbar-collapse,
    .navbar-fixed-top .navbar-collapse {
        max-height: inherit;
    }

    .link-menu {
        display: inline-block;
    }

    .dropdown-menu>li>a .link-menu {
        padding: 0;
        top: 2px;
    }

    .navbar-default .navbar-nav>li>a .ttl-eng {
        top: 22px;
    }

    .dropdown-menu {
        display: none;
        opacity: 1;
        pointer-events: all;
    }

    .navbar-nav .open .dropdown-menu>li>a {
        line-height: 20px;
        background: #222;
        padding: 1em 0;
        text-align: center;
    }

    .navbar-default .navbar-nav .open .dropdown-menu>li>a,
    .navbar-default .navbar-nav .open .dropdown-menu>.active>a,
    .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,
    .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover {
        color: #fff;
        line-height: 20px;
        background: #222;
        padding: 1em 0;
        text-align: center;
        border-bottom: 1px solid #333;
    }

    .navbar-default .navbar-nav>.open>a,
    .navbar-default .navbar-nav>.open>a:focus,
    .navbar-default .navbar-nav>.open>a:hover,
    .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,
    .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover {
        color: #fff;
    }

    .dropdown-menu>li>a:hover,
    .dropdown-menu>li>a:active,
    .dropdown-menu>li>a:focus {
        left: 0;
    }

    .navbar-default .navbar-nav>li>a,
    .dropdown-menu>li>a {
        font-size: 1em;
        padding: .5em 0;
    }

    .jumbotron-common {
        padding: 2em 0;
    }

    .breadcrumb-area {
        padding-top: 62px;
    }

    .row {
        margin-right: -8px;
        margin-left: -8px;
    }

    .row-fix {
        margin-right: 0;
        margin-left: 0;
    }

    .col-xl-1,
    .col-xl-10,
    .col-xl-11,
    .col-xl-12,
    .col-xl-2,
    .col-xl-3,
    .col-xl-4,
    .col-xl-5,
    .col-xl-6,
    .col-xl-7,
    .col-xl-8,
    .col-xl-9,
    .col-lg-1,
    .col-lg-10,
    .col-lg-11,
    .col-lg-12,
    .col-lg-2,
    .col-lg-3,
    .col-lg-4,
    .col-lg-5,
    .col-lg-6,
    .col-lg-7,
    .col-lg-8,
    .col-lg-9,
    .col-md-1,
    .col-md-10,
    .col-md-11,
    .col-md-12,
    .col-md-2,
    .col-md-3,
    .col-md-4,
    .col-md-5,
    .col-md-6,
    .col-md-7,
    .col-md-8,
    .col-md-9,
    .col-sm-1,
    .col-sm-10,
    .col-sm-11,
    .col-sm-12,
    .col-sm-2,
    .col-sm-3,
    .col-sm-4,
    .col-sm-5,
    .col-sm-6,
    .col-sm-7,
    .col-sm-8,
    .col-sm-9,
    .col-xs-1,
    .col-xs-10,
    .col-xs-11,
    .col-xs-12,
    .col-xs-2,
    .col-xs-3,
    .col-xs-4,
    .col-xs-5,
    .col-xs-6,
    .col-xs-7,
    .col-xs-8,
    .col-xs-9 {
        padding-right: 8px;
        padding-left: 8px;
    }

    .cont .cont-box {
        padding-right: 2em;
        padding-left: 2em;
    }

    .intro .cont {
        padding: 0 2em;
    }

    .other-area .cont {
        padding: 0;
    }

    .maker .cont .metabox {
        display: none;
    }

    .br {
        height: 0;
    }

    .table-dl dl {
        width: 100%;
    }

    .table-dl dl dt {
        font-size: 14px;
        display: block;
        width: 100%;
        padding: 1em;
    }

    .table-dl dl dd {
        font-size: 14px;
        display: block;
        padding: 1em;
    }

    .table-dl dl:last-child dt {
        border-bottom: none;
    }

    .table-base dl dd:before {
        display: none;
    }

    .table-base dl dd dl:last-child dt {
        border-bottom: 1px dotted #279db6;
    }

    .table-base dl dd dl dt {
        display: block;
        width: 100%;
        border-top: 1px dotted #279db6;
    }

    .table-base dl dd dl dd {
        display: block;
        border-bottom: none;
    }

    .table-base dl dd dl:last-child dd {
        border-top: none;
    }

    .table-reverse dl dt {
        border-right: none;
    }

    .table-reverse dl dd {
        border-left: none;
        border-top: 1px solid rgba(62, 121, 199, .1);
    }

    .table-reverse dl dt,
    .table-reverse dl dd {
        display: table-cell;
        width: 50%;
    }

    .table-news dl dt {
        padding: .5em .5em .25em;
    }

    .table-news dl dd {
        padding: 0 .5em .5em;
    }

    .button {
        display: block;
    }

    .jumbotron-common .ttl-jpn {
        font-size: 1.25em;
    }

    .title-area .title {
        padding-bottom: 0;
    }

    .list-feature li:nth-child(odd) .cont-box {
        margin-left: 0;
    }

    .list-feature li:nth-child(even) .cont-box {
        margin-right: 0;
    }

    .list-feature .title:before {
        font-size: 90px;
        bottom: 20px;
    }

    .list-feature h2 span {
        margin-left: -45px;
    }

    .list-feature h2 span:before,
    .list-feature h2 span:after {
        width: 10px;
        height: 10px;
    }

    .list-feature h2 span:before {
        top: 10px;
        left: 20px;
    }

    .list-feature h2 span:after {
        top: 15px;
        left: 25px;
    }

    .flow-detail-01 .cont-loan-orico .cont .cont-box p {
        text-align: left;
    }

    .bg-common.company .bg-common {
        background-size: 620px;
        background-position: left bottom;
        padding-bottom: 150px;
    }

    .bg-common.company .bg-common .cont .block_1 {
        padding-top: 0;
    }

    .bg-common.company .bg-common .name-sign {
        text-align: right;
        position: relative;
        top: 210px;
    }

    .bg-common.company .bg-common .name-sign span img {
        width: 100px;
        margin-left: auto;
    }

    .w-length-120,
    .w-length-150,
    .w-length-180,
    .w-length-210,
    .w-length-240,
    .w-length-270,
    .w-length-300,
    .w-length-330,
    .w-length-390,
    .w-length-420,
    .w-length-450,
    .w-length-480,
    .w-length-100per {
        width: 100%;
    }

    footer .footer-bottom {
        display: block;
    }

    footer .footer-copy {
        margin: 5px 0;
    }

    footer .footer-by {
        margin-left: 0;
        margin: 5px 0;
    }
}

@media print {}

footer .new-number {
    font-weight: 500;
    color: #000;
    margin-bottom: 10px;
    margin-top: 20px;
}

.ceo-message-wrap {
    margin-left: inherit;
    width: 100%;
}

/******************************
 * 採用情報
 ******************************/
#recruit {
    background: linear-gradient(#fff, #f2f9fe);
    padding-bottom: 4rem;
}