/*--------------------------------------
base
--------------------------------------*/

:root {
    --color-blue:#0D0632;
    --color-yellow:#9f7c45;

    --color-gray:#F5F5F5;
    --color-font-gray:#545454;
    --color-font-black:#16123a;

    --animate-delay: 2.5s;
    --animate-delay-2: 4s;
}
@media(max-width:767.98px) {
    :root {
        --animate-delay: 1.5s;
        --animate-delay-2: 2s;
    }
}


body {
    font-family: "Noto Sans japanese", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    position:relative;
    color:#000;
}
p {
    margin:0;
}
ul {
    margin:0;
    padding:0;
}
li {
    list-style: none;
}
a {
    opacity:1;
    transition:opacity .15s ease-in-out;
}
a:hover {
    text-decoration:none;
    opacity:.5;
}
img {
    max-width: 100%;
    height: auto;
}


.noto-sans {
    font-family: "Noto Sans JP", serif, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    position:relative;
    color:#000;
}
.noto-serif {
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    font-style: normal;
  }


/*--------------------------------------
bootstrap-hacks
--------------------------------------*/

/*-----gutter-----*/

.gutter-1 {
    margin-right: -1px;
    margin-left: -1px;
}
.gutter-1 > [class^='col-'] {
    padding-top: 1px;
    padding-right: 1px;
    padding-bottom: 1px;
    padding-left: 1px;
}
.gutter-5 {
    margin-right: -5px;
    margin-left: -5px;
}
.gutter-5 > [class^='col-'] {
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
}
.gutter-75 {
    margin-right: -7.5px;
    margin-left: -7.5px;
}
.gutter-75 > [class^='col-'] {
    padding-top: 7.5px;
    padding-right: 7.5px;
    padding-bottom: 7.5px;
    padding-left: 7.5px;
}
.gutter-10 {
    margin-right: -10px;
    margin-left: -10px;
}
.gutter-10 > [class^='col-'] {
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
}
.gutter-15 {
    margin-right: -15px;
    margin-left: -15px;
}
.gutter-15 > [class^='col-'] {
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
}


@media (min-width: 1200px){
    .container {
        max-width: 1230px;
    }
}
@media(max-width:991.98px) {
    .container {
        max-width:none;
    }
}

/*--------------------------------------
utils
--------------------------------------*/

/*-----icons-----*/


/*-----texts-----*/

.ff-gothic {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

.ff-serif {
  font-family:Trebuchet MS、Lucida Grande、Lucida Sans Unicode、Lucida Sans、sans-serif;
}
.ff-mincho {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


/*--------------------------------------
fadeinAnimations
--------------------------------------*/

.fadeIn.is-active {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

.overlay {
  position: relative;
}
.overlay::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: #303030;
}
.is-active .overlay::before {
  /* width: 0; */
}
.fadein.delay-1 {
  transition-delay: .1s;
}
.fadein.delay-2 {
  transition-delay: .2s;
}
.fadein.delay-3 {
  transition-delay: .3s;
}
.fadein.delay-4 {
  transition-delay: .4s;
}



/*--------------------------------------
modules
--------------------------------------*/

#js-loading {
    display:flex;
    align-items:center;
    justify-content:center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 9999;
}
#js-loading img {
    width:100%;
    max-width:150px;
    animation: zoomIn 1.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.header-logo {
    opacity:0;
}
   
@keyframes zoomIn {
0% {
    transform: scale(0.8);
    opacity: 0;
}
100% {
    opacity: 1;
    transform: scale(1);
}
}


/*--------------------------------------
header
--------------------------------------*/

#global-header {
    background:#fff;
}
.header-inner {
    display:flex;
    justify-content:space-between;
    padding:20px 15px;
}
.header-logo {
    display:block;
    margin-top:10px;
}
.header-logo img {
    width:110px;
}
.header-menu {
}
.header-menu a {
    padding:8px 0;
    display:block;
    color:var(--color-font-gray) !important;
    text-align:right;
    font-size:14px;
}
.header-text {
    font-size:16px;
    margin-right:auto;
    margin-left:15px;
}

@media(max-width:991.98px) {
    .header-text {
        font-size:14px;
    }
    .header-menu {
    }
    .contact-tel .tel-num {
        width:220px;
    }
    .header-inner {
        flex-wrap:wrap;
        padding:0 0 5px;
    }
    .header-logo {
        order:2;
    }
    .header-text {
        margin-bottom:5px;
        padding:2px;
        order:1;
        width:100%;
        margin-left:0;
        margin-right:0;
        background:var(--color-blue);
        color:#fff;
    }
    .header-text br {
        display:none;
    }
    .header-menu {
        order:3;
        flex:1 1 auto;
        padding:0 10px;
    }
    .header-text {
    }
    .header-button {
        margin-left:auto;
    }
}
@media(max-width:767.98px) {
    .contact-tel .tel-num {
        width:210px;
    }
}
@media(max-width:575.98px) {
    .header-text {
        font-size:12px;
    }
    .header-logo {
    }
    .contact-tel .tel-num {
        width:180px;
    }
    .header-button {
        margin-top:5px;
    }
    .button-main {
        padding:10px 30px;
        font-size:14px;
    }
    .header-menu {
        flex-direction:column;
        align-items:flex-end;
    }
    .header-inner .contact-mail {
        text-align:right;
        display:none;
    }
}


/*--------------------------------------
fv
--------------------------------------*/
.fv-section {
    position:relative;
    overflow:hidden;
    /*background:url(image/bg-main-01.png) no-repeat center / cover;*/
}
.fv-content {
    width:100%;
    z-index:2;
    position:relative;
}
.fv-title-inner {
    position:relative;
}
.fv-title {
    max-width:800px;
    width:70%;
    position:absolute;
    right:0;
    top:-3px;
    z-index:1;
}
.fv-title img {
}
.fv-inner {
    position:relative;
}
.fv-info {
    position:absolute;
    left:15px;
    right:15px;
    bottom:15px;
}
.fv-search-area {
    padding-top:30px;
    padding-bottom:280px;
}
.fv-news {
    background:#fff;
    border-radius:5px;
    padding:10px;
    box-shadow:0 3px 8px 0px #00000052;
}
.fv-tags {
    text-align:right;
    margin-bottom:15px;
}
.fv-tag {
    display:inline-block;
    padding:10px;
    border-radius:30px 0 0 30px;
    font-size:14px;
    line-height:1;
    color:#fff;
    background:rgba(0, 0, 0, .6);
}

.fv-slider-item {
    width:100%;
    height:700px;
}
.fv-slider-item img {
    height:100%;
    width:100%;
    margin: auto;
    max-height: 100%;
    max-width: 100%;
    object-fit: cover;
    object-position:center;
    width: 100%;
}
.fv-slider .slick-list,
.fv-slider .slick-track {
    height:100%;
}
.fv-text {
    position:absolute;
    right:0;
    bottom:100px;
}
.fv-text p {
    color:#fff;
    font-family: "Noto Serif JP", serif;
    font-weight:bold;
    font-size:26px;
    line-height:2;
    text-shadow: 1px 1px 3px #3c3c3c;
}

@media(max-width:991.98px) {
}
@media(max-width:767.98px) {
    .fv-slider-item {
        width:100%;
        height:350px;
    }
    .fv-text {
        bottom:15px;
    }
    .fv-text p {
        line-height:1.8;
        font-size:22px;
    }
}
@media(max-width:575.98px) {
    .fv-text p {
        line-height:1.8;
        font-size:17px;
    }
}


/*--------------------------------------
lead
--------------------------------------*/
.lead-inner {
    display:flex;
    align-items:center;
    justify-content:space-around;
}
.lead-inner > div {
    flex:0 1 auto;
}
.lead-inner > div {
    text-align:center;
}
.lead-section {
    padding:100px 0;
}
.lead-texts p {
    font-family: "Noto Serif JP", serif;
    font-size:20px;
    line-height:2;
}
.common-btn-area {
    margin-top:60px;
}
.btn-main {
    position:relative;
    background:#0D0632;
    color:#fff !important;
    font-size:15px;
    text-align:center;
    width:260px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content: center;
    margin:auto;
}
.btn-main::after {
    content:'';
    width:26px;
    height:9px;
    position:absolute;
    right:10px;
    top:0;
    bottom:0;
    margin:auto;
    background:url(./image/icons/icon-right-arrow.svg) no-repeat center / cover;
}
.btn-main-reverse {
    position:relative;
    border:1px solid var(--color-yellow);
    background:#fff;
    color:var(--color-blue) !important;
    font-size:16px;
    text-align:center;
    width:300px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content: center;
    margin:auto;
}
.btn-main-reverse::after {
    content:'';
    width:26px;
    height:9px;
    position:absolute;
    right:10px;
    top:0;
    bottom:0;
    margin:auto;
    background:url(./image/icons/icon-right-arrow.svg) no-repeat center / cover;
}
.common-btn-area p {
    font-size:15px;
}

@media(max-width:991.98px) {
    .lead-inner {
        flex-direction: column;
    }
    .lead-inner > div {
        width:100%;
    }
    .lead-texts {
        margin-top:30px;
    }
}
@media(max-width:767.98px) {
}
/*--------------------------------------
link
--------------------------------------*/
.link-section {
    background:url(./image/link-bg.png) no-repeat center / cover;
}
.link-panel {
    padding:250px 0;
}
.link-section .row > div {
    display:flex;
}
.link-panel {
    width:100%;
    display:flex;
    flex-direction: column;
    align-items:center;
    justify-content: center;
}
.link-panel > p {
    margin-bottom:20px;
    text-align:center;
    font-size:20px;
    font-family: "Noto Serif JP", serif;
}

@media(max-width:767.98px) {
    .link-section {
        padding:50px 0;
    }
    .link-panel {
        padding:30px 0;
    }
}
/*--------------------------------------
service
--------------------------------------*/
.service-section {
    padding:100px 0;
}
.service-title {
    font-family: "Noto Serif JP", serif;
    font-size:34px;
    color:var(--color-font-black);
    margin-bottom:40px;
}
.service-inner {
    display: flex;
}
.service-left {
    margin-top:60px;
    margin-right:15px;
    width:60%;
    position:relative;
}
.service-left-text {
    padding:10px;
    position:absolute;
    left:0;
    top:0;
    width:100%;
    background:rgba(0, 0, 0, .3);
    text-align: right;
    color:#fff;
    font-size:20px;
}
.service-flow {
    display:flex;
    align-items:flex-start;
}
.flow-img {
    width:60px;
    height:60px;
    flex:0 0 auto;
    margin-top:10px;
    margin-right:10px;
}
.service-right {
    display:flex;
    flex-direction: column;
    width:40%;
}
.service-right > div:nth-of-type(even) {
    margin-left:150px;
}
.service-right > div + div {
    margin-top:20px;
}
.flow-texts {
}
.flow-num {
    font-family: "Noto Serif JP", serif;
    font-weight:bold;
    font-size:22px;
    color: var(--color-blue);
}
.flow-title {
    font-family: "Noto Serif JP", serif;
    font-size:20px;
    font-weight:bold;
    color: var(--color-blue);
}
.flow-text {
    font-family: "Noto Serif JP", serif;
    font-size:14px;
    color: var(--color-blue);
}

@media(max-width:991.98px) {
    .service-inner {
        flex-direction:column;
    }
    .service-left {
        width:100%;
        margin-top:30px;
        margin-right:0;
        margin-bottom:20px;
    }
    .service-right {
        width:100%;
        flex-wrap:wrap;
        flex-direction: row;
    }
    .service-flow {
        width: 50%;
    }
    .service-right > div + div {
        margin-top:0;
    }
    .service-right > div:nth-of-type(even) {
        margin-left:0;
        margin-top:40px !important;
    }
}
@media(max-width:767.98px) {
    .service-right {
        width:100%;
        flex-direction: column;
    }
    .service-flow {
        width: 80%;
    }
    .service-right > div:nth-of-type(even) {
        margin-top:20px !important;
        margin-left:auto;
    }
    .service-right > div {
        margin-top:20px !important;
    }
}

/*--------------------------------------
carriers
--------------------------------------*/
.carriers-section {
    margin-top:50px;
    padding-bottom:200px;
}
.common-title-box {
    position:relative;
}
.common-title-box h2 {
    position:relative;
    font-family: "Noto Serif JP", serif;
    font-size:34px;
    color:#fff;
    padding:10px 10px 15px 20px;
    z-index:3;
}
.common-title-box::before {
    content:'';
    display:block;
    position:absolute;
    z-index:1;
    left:0;
    top:0;
    bottom:0;
    width:100%;
    background:var(--color-blue);
}
.common-title-box::after {
    content:'';
    display:block;
    position:absolute;
    z-index:2;
    left:0;
    bottom:0;
    width:100%;
    height:5px;
    background:var(--color-yellow);
}
.title-desc {
    text-align:right;
    margin-bottom:40px;
    font-family: "Noto Serif JP", serif;
    font-size:16px;
}
.carriers-wrap {
    margin-top:50px;
}
.carriers-area {
    margin-top:40px;
    text-align:center;
}
.carrier-item {
    height:60px;
}
.carrier-item img {
    width:90%;
    height:100%;
    object-fit:contain;
}
@media(max-width:767.98px) {
    .carriers-area {
        margin-top:20px;
    }
    .carrier-item {
        height:60px;
    }
}

/*--------------------------------------
agent
--------------------------------------*/
.agent-section {
    position: relative;
    margin-top:200px;
    padding:250px 0;
    background:url(./image/agent.jpg) no-repeat top center / cover;
    text-align:center;
}
.agent-section::before {
    content:'';
    display:block;
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    top:0;
    background:#000;
    opacity:.2;
}
.agent-section .container {
    z-index:2;
    position:relative;
}
.agent-title {
    font-size:30px;
    font-family: "Noto Serif JP", serif;
    color:#fff;
    margin-bottom:20px;
}
.agent-text {
    font-size:22px;
    font-family: "Noto Serif JP", serif;
    color:#fff;
}


/*--------------------------------------
footer
--------------------------------------*/
#global-footer {
    position:relative;
    background:linear-gradient(to right, #6a6a6a, #acacac);
}
#global-footer:before {
    content:'';
    position:absolute;
    bottom:100%;
    left:0;
    background:#fff;
    height:3px;
    width:100%;
}
.footer-inner {
    padding-top:50px;
    position:relative;
    overflow:hidden;
}
.contact-title {
    font-size:18px;
    margin-bottom:5px;
}
.footer-link {
    margin-left:auto;
    margin-right:20px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.footer-link li {
    padding:5px 20px;
    flex:0 0 auto;
}
.footer-link a {
    color:#000;
    display:block;
    font-size:14px;
}
.footer-link a:before {
    content:url('./image/icons/icon-right.svg');
    margin-right:5px;
}
.footer-bottom {
    padding:15px 0 0;
    background:var(--color-blue03);
}
.footer-title {
    width:70%;
    max-width:800px;
    position: absolute;
    left:0;
    top:-3px;
    opacity:.2;
}
.footer-links {
    display:flex;
    flex-wrap:wrap;
    margin-bottom:5px;
}
.footer-menu {
}
.footer-menu a {
    padding:8px 0;
    display:block;
    color:#fff !important;
    text-align:right;
    font-size:14px;
}
.footer-copy {
    display:flex;
    flex-direction: column;
    align-items: center;
    margin-top:15px;
    padding:10px 0;
    text-align:center;
    color:#fff;
}
.footer-copy img {
    max-width:150px;
    margin-top:20px;
    margin-bottom:30px;
}

@media(max-width:1199.98px) {
    .footer-inner {
        flex-wrap:wrap;
    }
    .footer-link {
        margin-right:10px;
        flex-direction:column;
        align-items:flex-start;
    }
}
@media(max-width:767.98px) {
    #global-footer {
    }
    .footer-link {
        flex-direction:row;
        width:100%;
        margin-left:0;
        margin-right:0;
        margin-top:20px;
    }
    .footer-link li {
        padding:5px 5px;
        flex:0 0 auto;
    }
    .footer-link a {
        color:#000;
        display:block;
        padding-bottom:8px;
        border-bottom:1px solid #000;
        font-size:13px;
    }
    .footer-inner .contact-menu {
        margin-right:auto;
    }
    .footer-button {
        margin-top:20px;
        width:100%;
        text-align:center;
    }
    .footer-bottom {
        margin-top:20px;
        font-size:10px;
    }
}

@media(max-width:575.98px) {
    .contact-title {
        font-size:15px;
    }
}

/*--------------------------------------
branch
--------------------------------------*/
.branch-title-section {
    padding:50px 0;
}
.branch-title-section h1 {
    text-align:center;
    font-size:40px;
    font-family: "Noto Serif JP", serif;
    color:var(--color-yellow);
}

.branch-section {
    background:url(./image/branch-bg.png) no-repeat center / cover;
}
.branch-inner {
    background:rgba(80, 80, 80, .5);
}
.branch-items {
    display:flex;
    flex-wrap:wrap;
    font-family: "Noto Serif JP", serif;
    padding-right:250px;
}
.branch-items > div {
    width:50%;
    padding:40px;
}
.branch-item h2 {
    color:#fff;
    font-weight:bold;
    border-bottom: 1px solid #fff;
    padding-bottom: 5px;
}
.branch-item h3 {
    color:#fff;
    font-size:20px;
}
.branch-item p {
    margin-bottom:20px;
    color:#fff;
}
.branch-item a {
    color:#fff;
}
.branch-item .text-email {
    margin-top:10px;
    font-family: "Noto Serif JP", serif;
}
.branch-item .text-email img {
    margin-top:10px;
    width:180px;
}

@media(max-width:991.98px) {
    .branch-items {
        padding-right:50px;
    }
}

@media(max-width:767.98px) {
    .branch-items {
        flex-direction:column;
        padding-right:0;
    }
    .branch-items > div {
        width:100%;
        padding:30px;
    }
}

/*--------------------------------------
profile
--------------------------------------*/
.profile-section {
    padding:30px 0;
    position:relative;
}
.profile-inner {
    display:flex;
}
.profile-large-text {
    width:120px;
    flex:0 0 auto;
    opacity:.1;
    margin-right:80px;
}
.profile-title-area {
    text-align:center;
    margin-bottom:40px;
}
.profile-title-area h1 {
    font-weight:bold;
    font-size:40px;
    color:var(--color-font-gray);
}
.profile-title-area h2 {
    font-size:28px;
    color:var(--color-yellow);
}
.profile-texts h3 {
    font-size:20px;
    font-weight:bold;
    color:var(--color-font-gray);
    margin-top:50px;
}
.profile-texts p {
    font-size:18px;
    color:var(--color-font-gray);
}

@media(max-width:991.98px) {
    .profile-large-text {
        width:100px;
        flex:0 0 auto;
        opacity:.1;
        margin-right:50px;
    }
    .profile-title-area h1 {
        font-size:32px;
    }
    .profile-title-area h2 {
        font-size:26px;
    }
    .profile-texts h3 {
        font-size:18px;
        margin-top:40px;
    }
    .profile-texts p {
        font-size:16px;
        color:var(--color-font-gray);
    }
}
@media(max-width:767.98px) {
    .profile-large-text {
        position:absolute;
        left:0;
        top:0;
        margin-right:0;
    }
}
/*--------------------------------------
animate
--------------------------------------*/
.header-logo {
    opacity:0;
    transition:all var(--animate-delay) ease;
    transform:translateX(100%);
}
.loaded .header-logo {
    opacity:1;
    transform:translateX(0);
}
.header-menu {
    opacity:0;
    transition:all var(--animate-delay) ease;
}
.loaded .header-menu {
    opacity:1;
}
.fv-title {
    opacity:0;
    transition:all var(--animate-delay) ease;
    transform:translateY(100%);
}
.loaded .fv-title {
    opacity:1;
    transform:translateY(0);
}
.fv-text {
    opacity:0;
    transition:all var(--animate-delay) ease;
    transform:translateY(-100%);
}
.loaded .fv-text {
    opacity:1;
    transform:translateY(0);
}
.fv-slider {
    transition:transform var(--animate-delay) ease;
    transform:translateY(-20%);
}
.loaded .fv-slider {
    opacity:1;
    transform:translateY(0);
}
.white-overlay {
    position:relative;
}
.white-overlay::after {
    content:'';
    display:block;
    width:100%;
    height:100%;
    position: absolute;
    right:0;
    top:0;
    z-index:1;
    background:#fff;
    transition:width var(--animate-delay-2) ease;
}
.scrolled.white-overlay::after {
    width:0;
}
.lead-logo {
    opacity:0;
    transition:all var(--animate-delay) ease;
    transform:scale(.8);
}
.scrolled.lead-logo {
    opacity:1;
    transform:scale(1);
}
.service-title {
    opacity:0;
    transition:all var(--animate-delay) ease;
    transform:translateY(-100%)
}
.scrolled.service-title {
    opacity:1;
    transform:translateY(0)
}
.service-flow {
    opacity:0;
    transition:all var(--animate-delay) ease;
    transform:translateY(-100%)
}
.scrolled.service-flow {
    opacity:1;
    transform:translateY(0)
}
.common-title-box::before {
    transition:all var(--animate-delay-2) ease;
    width:0;
}
.common-title-box::after {
    transition:all var(--animate-delay) ease;
    width:0;
}
.common-title-box h2 {
    opacity:0;
    transition:all var(--animate-delay) ease;
    transform:translateY(-100%)
}
.scrolled.common-title-box::before {
    width:100%;
}
.scrolled.common-title-box::after {
    width:100%;
}
.scrolled.common-title-box h2 {
    opacity:1;
    transform:translateY(0)
}
.carriers-wrap {
    opacity:0;
    transition:opacity var(--animate-delay) ease;
}
.scrolled.carriers-wrap {
    opacity:1;
}
.footer-title {
    opacity:0;
    transition:all var(--animate-delay-2) ease;
    transform:translateY(100%);
}
.scrolled .footer-title {
    opacity:.2;
    transform:translateY(0);
}
.footer-copy {
    opacity:0;
    transition:all var(--animate-delay) ease;
    transform:scale(.8);
}
.scrolled .footer-copy {
    opacity:1;
    transform:scale(1);
}
.footer-menu {
    opacity:0;
    transition:all var(--animate-delay) ease;
}
.loaded .footer-menu {
    opacity:1;
}