@charset 'UTF-8';
/* ALL
======================================*/
/* Libs
======================================*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html
{
    line-height: 1.15;
    /* 1 */

    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body
{
    margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main
{
    display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1
{
    font-size: 2em;

    margin: .67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr
{
    /* 1 */
    overflow: visible;

    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre
{
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a
{
    background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title]
{
    /* 1 */
            text-decoration: underline;
            text-decoration: underline dotted;

    border-bottom: none;
    /* 2 */

    -webkit-text-decoration: underline dotted;
    /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong
{
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp
{
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small
{
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup
{
    font-size: 75%;
    line-height: 0;

    position: relative;

    vertical-align: baseline;
}

sub
{
    bottom: -.25em;
}

sup
{
    top: -.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img
{
    border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea
{
    font-family: inherit;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */

    margin: 0;
    /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input
{
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select
{
    /* 1 */
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type='button'],
[type='reset'],
[type='submit']
{
    -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner
{
    padding: 0; 

    border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring
{
    outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset
{
    padding: .35em .75em .625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend
{
    /* 2 */
    display: table;

    box-sizing: border-box;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */

    white-space: normal;
    /* 1 */

    color: inherit;
    /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress
{
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea
{
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type='checkbox'],
[type='radio']
{
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button
{
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type='search']
{
    /* 1 */
    outline-offset: -2px;

    -webkit-appearance: textfield;
    /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-decoration
{
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button
{
    /* 1 */
    font: inherit;

    -webkit-appearance: button;
    /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details
{
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary
{
    display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template
{
    display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden]
{
    display: none;
}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;

    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;

    margin-right: auto; 
    margin-left: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table; 

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none; 
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}

.slick-arrow.slick-hidden
{
    display: none;
}

/* Font Size by Viewport
======================================*/
/* Rem
======================================*/
/* Variables
======================================*/
/* Mixins
======================================*/
@-webkit-keyframes spin
{
    from
    {
        transform: rotate(0deg);
    }
    to
    {
        transform: rotate(360deg);
    }
}
@keyframes spin
{
    from
    {
        transform: rotate(0deg);
    }
    to
    {
        transform: rotate(360deg);
    }
}

@-webkit-keyframes fadein
{
    from
    {
        opacity: 0;
    }
    to
    {
        opacity: 1;
    }
}

@keyframes fadein
{
    from
    {
        opacity: 0;
    }
    to
    {
        opacity: 1;
    }
}

@-webkit-keyframes fadeout
{
    from
    {
        opacity: 1;
    }
    to
    {
        opacity: 0;
    }
}

@keyframes fadeout
{
    from
    {
        opacity: 1;
    }
    to
    {
        opacity: 0;
    }
}

@-webkit-keyframes fade
{
    from
    {
        opacity: 1;
    }
    to
    {
        opacity: .7;
    }
}

@keyframes fade
{
    from
    {
        opacity: 1;
    }
    to
    {
        opacity: .7;
    }
}

@-webkit-keyframes fade-out
{
    from
    {
        opacity: .7;
    }
    to
    {
        opacity: 1;
    }
}

@keyframes fade-out
{
    from
    {
        opacity: .7;
    }
    to
    {
        opacity: 1;
    }
}

@-webkit-keyframes fadein-cta
{
    from
    {
        transform: translate3d(0, 20%, 0); 

        opacity: 0;
    }
    to
    {
        transition-delay: 2s;
        transform: translate3d(0, 0, 0); 

        opacity: 1;
    }
}

.sp-visible
{
    display: none !important;
}
@media screen and (max-width: 1019px)
{
    .sp-visible
    {
        display: block !important;
    }
}

.sm-visible
{
    display: none !important;
}
@media screen and (max-width: 1100px)
{
    .sm-visible
    {
        display: block !important;
    }
}

.md-visible
{
    display: none !important;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .md-visible
    {
        display: block !important;
    }
}

.pc-visible
{
    display: block !important;
}
@media screen and (max-width: 1019px)
{
    .pc-visible
    {
        display: none !important;
    }
}

.d-flex
{
    display: flex;
}

.d-inline-flex
{
    display: inline-flex;
}

.column
{
    margin-bottom: 20px;
}
.column:last-child
{
    margin-bottom: 0;
}

.mt-10
{
    margin-top: 10px !important;
}

.mt-20
{
    margin-top: 20px !important;
}

.mt-30
{
    margin-top: 30px !important;
}

.mt-40
{
    margin-top: 40px !important;
}

.mt-50
{
    margin-top: 50px !important;
}

.mt-60
{
    margin-top: 60px !important;
}

.mt-70
{
    margin-top: 70px !important;
}

.mt-80
{
    margin-top: 80px !important;
}

.mt-m10
{
    margin-top: -10px !important;
}

.mt-m20
{
    margin-top: -20px !important;
}

.mr-10
{
    margin-right: 10px !important;
}

.mb-0
{
    margin-bottom: 0 !important;
}

.mb-10
{
    margin-bottom: 10px !important;
}

.mb-20
{
    margin-bottom: 20px !important;
}

.mb-30
{
    margin-bottom: 30px !important;
}

.mb-40
{
    margin-bottom: 40px !important;
}

.mb-50
{
    margin-bottom: 50px !important;
}

.mb-60
{
    margin-bottom: 60px !important;
}

.mb-70
{
    margin-bottom: 70px !important;
}

.mb-80
{
    margin-bottom: 80px !important;
}

.mb-m10
{
    margin-bottom: -10px !important;
}

.mb-m20
{
    margin-bottom: -20px !important;
}

.pt-m10
{
    padding-top: -10px !important;
}

.pt-m20
{
    padding-top: -20px !important;
}

.pt-10
{
    padding-top: 10px !important;
}

.pt-20
{
    padding-top: 20px !important;
}

.pt-30
{
    padding-top: 30px !important;
}

.pt-40
{
    padding-top: 40px !important;
}

.pt-50
{
    padding-top: 50px !important;
}

.pt-60
{
    padding-top: 60px !important;
}

.pt-70
{
    padding-top: 70px !important;
}

.pt-80
{
    padding-top: 80px !important;
}

.pb-m10
{
    padding-bottom: -10px !important;
}

.pb-m20
{
    padding-bottom: -20px !important;
}

.pb-10
{
    padding-bottom: 10px !important;
}

.pb-20
{
    padding-bottom: 20px !important;
}

.pb-30
{
    padding-bottom: 30px !important;
}

.pb-40
{
    padding-bottom: 40px !important;
}

.pb-50
{
    padding-bottom: 50px !important;
}

.pb-60
{
    padding-bottom: 60px !important;
}

.pb-70
{
    padding-bottom: 70px !important;
}

.pb-80
{
    padding-bottom: 80px !important;
}

.p-10
{
    padding: 10px !important;
}

.p-20
{
    padding: 20px !important;
}

.p-30
{
    padding: 30px !important;
}

.p-40
{
    padding: 40px !important;
}

.p-50
{
    padding: 50px !important;
}

.p-60
{
    padding: 60px !important;
}

.p-70
{
    padding: 70px !important;
}

.p-80
{
    padding: 80px !important;
}

.pc-width-10
{
    width: 10% !important;
}

.pc-width-20
{
    width: 20% !important;
}

.pc-width-30
{
    width: 30% !important;
}

.pc-width-40
{
    width: 40% !important;
}

.pc-width-50
{
    width: 50% !important;
}

.pc-width-60
{
    width: 60% !important;
}

.pc-width-70
{
    width: 70% !important;
}

.pc-width-80
{
    width: 80% !important;
}

.pc-width-90
{
    width: 90% !important;
}

.pc-width-100
{
    width: 100% !important;
}

@media screen and (max-width: 1019px)
{
    .sp-width-10
    {
        width: 10% !important;
    }
}

@media screen and (max-width: 1019px)
{
    .sp-width-20
    {
        width: 20% !important;
    }
}

@media screen and (max-width: 1019px)
{
    .sp-width-30
    {
        width: 30% !important;
    }
}

@media screen and (max-width: 1019px)
{
    .sp-width-40
    {
        width: 40% !important;
    }
}

@media screen and (max-width: 1019px)
{
    .sp-width-50
    {
        width: 50% !important;
    }
}

@media screen and (max-width: 1019px)
{
    .sp-width-60
    {
        width: 60% !important;
    }
}

@media screen and (max-width: 1019px)
{
    .sp-width-70
    {
        width: 70% !important;
    }
}

@media screen and (max-width: 1019px)
{
    .sp-width-80
    {
        width: 80% !important;
    }
}

@media screen and (max-width: 1019px)
{
    .sp-width-90
    {
        width: 90% !important;
    }
}

@media screen and (max-width: 1019px)
{
    .sp-width-100
    {
        width: 100% !important;
    }
}

.bl-inner-10
{
    margin-bottom: 10px !important;
}

.bl-inner-20
{
    margin-bottom: 20px !important;
}

.bl-inner-30
{
    margin-bottom: 30px !important;
}

.bl-inner-40
{
    margin-bottom: 40px !important;
}

.bl-inner-50
{
    margin-bottom: 50px !important;
}

.bl-inner-60
{
    margin-bottom: 60px !important;
}

.d-block
{
    display: block !important;
}

.flex-center
{
    justify-content: center;
}

.flex-column
{
    flex-direction: column;
}

.underline
{
    text-decoration: underline !important;
}

.no-underline
{
    text-decoration: none !important;
}

.content--medium
{
    max-width: 620px;
    margin: 0 auto;
}

.content--660
{
    max-width: 660px;
    margin: 0 auto;
}

.content--760
{
    max-width: 760px;
    margin: 0 auto;
}

.content--920
{
    max-width: 920px;
    margin: 0 auto;
}

.content--460
{
    max-width: 460px;
    margin: 0 auto;
}

.text-middle
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    transform: translate(-50%, -50%);
}

.color-red
{
    color: #e3215a;
}

.for-new--hidden
{
    display: none !important;
}

.for-customer--hidden
{
    display: none !important;
}

.disable-scroll
{
    overflow: hidden;
}

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

.keyvisual--carousel .img-fixed
{
    align-items: center !important;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .keyvisual--carousel .img-fixed .full-width
    {
        top: 50%;

        transform: translateY(-50%);
    }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .keyvisual--carousel .img-fixed .full-height
    {
        left: 50%;

        transform: translate(-50%);
    }
}

.keyvisual--single.img-fixed
{
    align-items: center !important;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .keyvisual--single.img-fixed .full-width
    {
        top: 50%;

        transform: translateY(-50%);
    }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .keyvisual--single.img-fixed .full-height
    {
        left: 50%;

        transform: translate(-50%);
    }
}

.img-fixed
{
    position: relative; 

    display: flex !important;

    width: 100%;
    height: 100%;

    align-items: flex-start;
    justify-content: center !important;
}

img.full-width
{
    width: 100% !important;
    height: 100% !important;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    img.full-width
    {
        position: absolute;
        left: 0; 

        max-height: none !important;
    }
}

img.full-height
{
    height: 100% !important;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    img.full-height
    {
        position: absolute;
        top: 0;
    }
}

@media screen and (max-width: 1019px)
{
    .sp-full-image
    {
        width: 100% !important;
        max-width: 100% !important;
        height: auto;
    }
    .sp-full-image img
    {
        width: 100% !important;
        max-width: 100% !important;
        height: auto;
    }
}

@media screen and (min-width: 1020px)
{
    .pc-full-image
    {
        width: 100% !important;
        max-width: 100% !important;
        height: auto;
    }
    .pc-full-image img
    {
        width: 100% !important;
        max-width: 100% !important;
        height: auto;
    }
}

.hover
{
    opacity: .7 !important;
}

/* Custom Fonts
======================================*/
@font-face
{
    font-family: 'icomoon';
    font-weight: normal;
    font-style: normal;

    src: url('../fonts/icomoon.eot?u6twvm');
    src: url('../fonts/icomoon.eot?u6twvm#iefix') format('embedded-opentype'), url('../fonts/icomoon.ttf?u6twvm') format('truetype'), url('../fonts/icomoon.woff?u6twvm') format('woff'), url('../fonts/icomoon.svg?u6twvm#icomoon') format('svg');
    font-display: block;
}

[class^='icon-'],
[class*=' icon-']
{
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;

    text-transform: none;

    speak: never;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-plus:before
{
    content: '\e904';

    color: #2076c7;
}

.icon-arrow--up:before
{
    content: '\e905';

    color: #2076c7;
}

.icon-anchor--down:before
{
    content: '\e902';

    color: #2076c7;
}

.icon-arrow--right:before
{
    content: '\e903';

    color: #2076c7;
}

.icon-arrow--left:before
{
    display: block;

    content: '\e903';
    transform: rotate(180deg); 

    color: #2076c7;
}

.icon-pdf
{
    height: 15px;
}

.icon-newtab,
.icon-pdf,
.icon-down,
.icon-up,
.icon-up
{
    max-height: 18px;
}


.icon-down,
.icon-up
{
    display: inline-block; 

    width: 18px;
    height: 18px;
}
.icon-down--medium
{
    width: 22px;
    height: 22px;
    max-height: 22px;
}
.icon-down--large
{
    width: 26px;
    height: 26px;
    max-height: 26px;
}

.icon-up--medium
{
    width: 22px;
    height: 22px;
    max-height: 22px;
}

.icon-up--large
{
    width: 26px;
    height: 26px;
    max-height: 26px;
}

.icon-minus:before
{
    content: '\e915';

    color: #2076c7;
}

.icon-tick:before
{
    content: '\e910';

    color: #2076c7;
}

.icon-forward:before
{
    content: '\e911';

    color: #fff;
}

.icon-back:before
{
    content: '\e912';

    color: #fff;
}

.icon-next:before
{
    content: '\e913';

    color: #fff;
}

.icon-prev:before
{
    content: '\e914';

    color: #fff;
}

.icon-connector:before
{
    content: '\e91b';

    color: #2076c7;
}

html
{
    font-size: 16px;

    height: 100%;
}
@media screen and (max-width: 375px)
{
    html
    {
        font-size: 4.21875vw;
    }
}

body
{
    font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', Meiryo, 'Hiragino Sans', sans-serif;
    font-size: 16px;
    line-height: 1.5;

    overflow-x: hidden;

    height: 100%;

    color: #222;
    background-color: #f6f8f9; 

    scroll-behavior: smooth;
    text-rendering: optimizeSpeed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media screen and (max-width: 1019px)
{
    body.no-scroll
    {
        overflow: hidden;
    }
}

*,
*::before,
*::after
{
    box-sizing: border-box;
}

ul[class],
ol[class]
{
    padding: 0; 

    list-style: none;
}

ul
{
    margin: 0;
    padding: 0;
}

body,
h1,
h2,
h3,
h4,
h5,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd
{
    margin: 0;
}

a
{
    text-decoration: none;

    opacity: 1;
    color: inherit; 

    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

img
{
    max-width: 100%;
}

input,
button,
textarea,
select
{
    font: inherit;
}

@media (prefers-reduced-motion: reduce)
{
    *
    {
        transition-duration: .01ms !important;
        -webkit-animation-duration: .01ms !important;
                animation-duration: .01ms !important;
        -webkit-animation-iteration-count: 1 !important;
                animation-iteration-count: 1 !important;

        scroll-behavior: auto !important;
    }
}

audio,
canvas,
iframe,
img,
svg,
video,
textarea
{
    vertical-align: middle;
}

textarea
{
    resize: none;
}

section
{
    position: relative;
}

input,
select,
button
{
    outline: none;
}

.wrapper
{
    position: relative;
    background-color: #fff;
}
.wrapper--scroll
{
    padding-top: 97px;
}
@media screen and (max-width: 1019px)
{
    .wrapper--scroll
    {
        padding-top: 0;
    }
}
.wrapper--simple
{
    min-height: 100vh;
}
.wrapper--simple .container.container--without-nav
{
    margin-bottom: 136px;
}
@media screen and (max-width: 1019px)
{
    .wrapper--simple .container.container--without-nav
    {
        margin-bottom: 143px;
    }
}
@media screen and (max-width: 768px)
{
    .wrapper--simple .container.container--without-nav
    {
        margin-bottom: 163px;
    }
}

p
{
    font-size: 14px;
    font-weight: normal;
    line-height: 1.57142857;

    margin-bottom: 14px;
}
p:last-child
{
    margin-bottom: 0;
}

@media screen and (min-width: 960px)
{
    .flex-right-sm
    {
        display: flex;

        justify-content: flex-end;
    }
}

.container .content__body
{
    max-width: 1000px;
    margin: 0 auto;
    padding-right: 20px; 
    padding-left: 20px;
}

.container .container__row
{
    padding: 0 15px;
}

.container-1280
{
    max-width: 1280px; 
    margin: 0 auto;
}
.container-1280 .container__body
{
    width: 1200px;
}

/* Change the white to any color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active
{
    -webkit-box-shadow: 0 0 0 30px white inset !important;
}

input,
textarea,
button,
select,
a
{
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.noscript
{
    font-size: 14px;

    display: flex;

    width: 100%;
    padding: 20px;

    text-align: center; 

    color: #2e2e2e;
    background-color: #f0f3f5;

    align-items: center;
    justify-content: center;
}

select
{
    background-repeat: no-repeat;
    background-position-x: calc(100% - 10px);
    background-position-y: 50%; 
    background-size: 12px 6px;

            appearance: none;
    -webkit-appearance: none;
       -moz-appearance: none;
}

select::-ms-expand
{
    display: none;
}

/* Component
======================================*/
/* import all Modules
======================================*/
/* Text Modules
======================================*/
.h1
{
    font-size: 24px;
    font-weight: 700;
}

h2.h2
{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;

    display: flex;

    padding-left: 14px;

    border-left: 4px solid #2076c7;

    align-items: center;
}
h2.h2 [class^='icon-']
{
    font-size: inherit;
    font-weight: 700;
    line-height: inherit;

    width: auto;
    height: auto; 

    background: none;
}
h2.h2 [class^='icon-']::before
{
    content: '';
}
h2.h2 .icon-number
{
    position: relative;

    padding-left: 38px;
}
h2.h2 .icon-number::before
{
    position: absolute;
    top: 50%;
    left: 0;

    display: block;
    display: inline-block;

    width: 30px;
    height: 30px;
    margin: 2.5px;

    transform: translateY(-50%); 

    border-radius: 50px;
    background-color: #2076c7;
    background-repeat: no-repeat;
    background-position: center;
}

.h2
{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;

    margin-bottom: 40px;
}

h3.h3
{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;

    display: flex;

    padding-bottom: 10px;

    border-bottom: 2px solid #2076c7;

    align-items: center;
}
h3.h3 [class^='icon-']
{
    font-size: inherit;
    font-weight: 700;
    line-height: inherit;

    width: auto;
    height: auto; 

    background: none;
}
h3.h3 [class^='icon-']::before
{
    content: '';
}
h3.h3 .icon-number
{
    position: relative;

    padding-left: 38px;
}
h3.h3 .icon-number::before
{
    position: absolute;
    top: 50%;
    left: 0;

    display: block;
    display: inline-block;

    width: 30px;
    height: 30px;
    margin: 2.5px;

    transform: translateY(-50%); 

    border-radius: 50px;
    background-color: #2076c7;
    background-repeat: no-repeat;
    background-position: center;
}


.h3
{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;

    margin-bottom: 40px;
}

h4.h4
{
    font-size: 14px;
    font-weight: bold;
    line-height: 1;

    margin-bottom: 20px;
    padding: 14px;

    background-color: #f6f8f9;
}

.h4
{
    font-size: 14px;
    font-weight: bold;
    line-height: 1;

    margin-bottom: 20px; 
    padding: 14px;
}

h5.h5
{
    font-size: 14px;
    font-weight: bold;
}

.h5
{
    font-size: 14px;
    font-weight: bold;

    margin-bottom: 20px;
}

.sub-head
{
    font-size: 16px;
    font-weight: 700;
}

.text-lead
{
    font-size: 16px;
}

.text-regular
{
    font-size: 14px;
    font-weight: normal;
}

.text-small
{
    font-size: 13px;
    font-weight: normal;
}

.text-bold
{
    font-weight: bold;
}

.text-warning,
.text-removed
{
    color: #d70d38;
}

.text-subtext
{
    font-weight: normal;

    color: #555;
}

.text-number
{
    font-size: 36px;
    font-weight: bold;
    line-height: 1;
}

.text-left
{
    margin-bottom: 20px; 

    text-align: left !important;
}
.text-left:last-child
{
    margin-bottom: 0;
}

.text-right
{
    margin-bottom: 20px; 

    text-align: right !important;
}
.text-right:last-child
{
    margin-bottom: 0;
}

.text-center
{
    margin-bottom: 20px; 

    text-align: center !important;
}
.text-center:last-child
{
    margin-bottom: 0;
}

.text-caption
{
    font-size: 13px;
    font-weight: normal;
    line-height: 1.53;

    color: #555;
}

.text-caption--small
{
    font-size: 12px;
    line-height: 1.5;

    color: #3b4043;
}

.text-caption-in-image
{
    margin: 0 5px;
}

.text-haslink a
{
    text-decoration: underline;

    color: #2076c7;
}
.text-haslink a [class^='icon-']
{
    display: inline-block;

    margin-top: -3px;
    margin-right: 5px; 
    margin-left: 2px;
}
.text-haslink a:hover
{
    opacity: 70%;
}
.text-haslink a.no-underline [class^='icon-']
{
    margin-right: 5px; 
    margin-left: 5px;
}

.text-haslink .icon-pdf
{
    font-size: 15px;
}

.text-haslink .icon-newtab
{
    font-size: 10px;
}

.text-haslink .icon-down,
.text-haslink .icon-up
{
    margin-top: -1px !important;
}
.text-haslink .icon-down::before,
.text-haslink .icon-up::before
{
    font-size: 6.5px;
}

.text-link
{
    font-size: 16px;

    text-decoration: underline;

    color: #2076c7;
}
.text-link:hover
{
    opacity: 70%;
}

.text-note
{
    font-size: 14px;
    line-height: 22px;

    position: relative;

    display: block;

    padding-left: 18px;
}
.text-note::before
{
    font-size: 14px;

    position: absolute;
    top: -1px;
    left: 1px;

    content: '※';

    color: #222;
}

.text-link--icon
{
    font-size: 16px;

    display: inline-block;

    text-align: left; 
    text-decoration: none;

    color: #2076c7;
}
.text-link--icon [class^='icon-']
{
    font-size: 14px;

    display: inline-block;

    margin-top: -5px; 
    padding-left: 10px;
}
.text-link--icon .icon-pdf
{
    font-size: 16px;
}
.text-link--icon--medium
{
    font-size: 15px;
}
.text-link--icon--medium [class^='icon-']
{
    margin-right: 8px;
}

ul li .icon-spacer .icon-down,
ul li .icon-spacer .icon-up,
ul li .icon-spacer .icon-up,
ol li .icon-spacer .icon-down,
ol li .icon-spacer .icon-up,
ol li .icon-spacer .icon-up
{
    width: 18px;
    height: 18px;
}

ul li ol,
ul li ul,
ol li ol,
ol li ul
{
    margin-top: 14px;
}

.list-circle > li
{
    position: relative;

    margin-bottom: 14px; 
    padding-left: 18px;
}
.list-circle > li::before
{
    position: absolute;
    top: 7px; 
    left: 0;

    display: block;

    width: 8px;
    height: 8px;

    content: '';

    border-radius: 50%;
    background: #2076c7;
}
.list-circle > li > ul
{
    margin-top: 14px;
}

ul.list-dot
{
    font-size: 14px; 

    list-style: none;
}
ul.list-dot li
{
    position: relative;

    padding-left: 16px;
}
ul.list-dot li::before
{
    font-size: 14px;
    font-weight: normal;
    line-height: 22px; 

    position: absolute;
    top: 0;
    left: 0;

    content: '・';
}
ul.list-dot li + li
{
    margin-top: 14px;
}

.list-circle__item,
.list-ordered__item,
.list-asterisk__item,
.list-ordered--asterisk__item,
.list-check__item,
.list-text__item
{
    font-size: 14px;
}

ol
{
    padding: 0; 

    list-style: none;

    counter-reset: custom-counter;
}
ol > li
{
    font-size: 14px; 

    position: relative;

    padding-left: 25px;

    counter-increment: custom-counter;
}
ol > li::before
{
    font-weight: normal;

    position: absolute;
    top: 0; 
    left: 0;

    padding-right: 10px;

    content: counter(custom-counter) '. ';
}
ol > li + li
{
    margin-top: 14px;
}
ol > li ol
{
    margin-top: 14px;
    padding-left: 0;
}

.list-ordered > li
{
    margin-bottom: 14px;
}
.list-ordered > li ol li
{
    margin-top: 14px;
}

.list-ordered--asterisk > li
{
    margin-bottom: 14px;
}
.list-ordered--asterisk > li::before
{
    content: '＊' counter(custom-counter);

    color: #222;
}
.list-ordered--asterisk > li ol li
{
    margin-top: 14px;
}

.list-ordered--mix > li
{
    position: relative;

    margin-bottom: 14px;
    padding-left: 25px;
}
.list-ordered--mix > li::before
{
    position: absolute;
    top: 0; 
    left: 0;

    content: counter(custom-counter, upper-alpha) '.';
}
.list-ordered--mix > li ol li
{
    margin-top: 14px;
}

.list-ordered--kata > li
{
    margin-bottom: 14px;
}
.list-ordered--kata > li::before
{
    content: attr(bullet) '.';
}
.list-ordered--kata > li ol li
{
    margin-top: 14px;
}

.list-asterisk > li
{
    position: relative;

    margin-bottom: 14px;
    padding-left: 20px;
}
.list-asterisk > li::before
{
    font-size: 16px;
    font-weight: normal;
    line-height: 20px;

    position: absolute;
    left: 0; 

    padding-right: 9px;

    content: '＊';
}

.list-x
{
    font-size: 14px; 

    margin-left: 20px;

    list-style: none;
}
.list-x li
{
    position: relative; 

    margin-top: 14px;
    padding-left: 20px;
}
.list-x li::before
{
    font-size: 13px;
    font-weight: normal;
    line-height: 20px;

    position: absolute;
    top: 0; 
    left: 0;

    padding-right: 10px;

    content: 'X.';
}

.list-check
{
    margin-bottom: 80px;
}
.list-check .list-check__item
{
    position: relative;

    padding-left: 23px;
}
.list-check .list-check__item::before
{
    font-family: 'icomoon' !important;
    font-size: 9px;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;

    position: absolute;
    top: 6px; 
    left: 0;

    padding-right: 10px;

    content: '\e910';
    vertical-align: middle;
    text-transform: none;

    color: #2076c7;

    speak: never;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.list-check .list-check__item + li
{
    margin-top: 20px;
}

.list-text > li
{
    position: relative;

    padding-left: 21px;
}
.list-text > li::before
{
    font-size: 14px;
    font-weight: normal;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0; 

    padding-right: 10px;

    content: attr(bullet) '.';
}
.list-text > li + li
{
    margin-top: 14px;
}

.list-text--uppercase > li
{
    position: relative;

    padding-left: 21px;
}
.list-text--uppercase > li::before
{
    position: absolute;
    top: 0; 
    left: 0;

    content: counter(custom-counter, upper-alpha) '.';
}
.list-text--uppercase > li + li
{
    margin-top: 14px;
}

.list-text--lowercase > li
{
    position: relative;

    padding-left: 21px;
}
.list-text--lowercase > li::before
{
    position: absolute;
    top: 0; 
    left: 0;

    content: counter(custom-counter, lower-alpha) '.';
}
.list-text--lowercase > li + li
{
    margin-top: 14px;
}

.list-text--roman > li
{
    position: relative;

    padding-left: 21px;
}
.list-text--roman > li::before
{
    font-size: 14px;
    font-weight: normal;
    line-height: 20px;

    position: absolute;
    top: 0; 
    left: 0;

    content: counter(custom-counter, upper-roman) '.';
}
.list-text--roman > li + li
{
    margin-top: 14px;
}

[class^='list-'] li.text-haslink a .icon-pdf,
[class^='list-'] li.text-haslink a .icon-newtab,
[class^='list-'] li.text-haslink a span
{
    margin-right: 10px;
    margin-left: 3px;
}

[class^='list-'] li.text-haslink a .icon-spacer
{
    width: 18px;
    height: 18px;
}
[class^='list-'] li.text-haslink a .icon-spacer .icon-down,
[class^='list-'] li.text-haslink a .icon-spacer .icon-up
{
    width: 18px;
    height: 18px;
    margin-top: -4px;
}

[class^='list-'] li ol,
[class^='list-'] li ul
{
    margin-top: 14px;
}

@media screen and (min-width: 1020px)
{
    .h1
    {
        font-size: 28px;
    }
    h2.h2
    {
        font-size: 24px;
        line-height: 1.25;
    }
    .h2
    {
        font-size: 24px;
        line-height: 1.25;
    }
    h3.h3
    {
        font-size: 20px;
    }
    .h3
    {
        font-size: 20px;
    }
    h4.h4
    {
        font-size: 18px;
    }
    .h4
    {
        font-size: 18px;
    }
    h5.h5
    {
        font-size: 16px;
    }
    .h5
    {
        font-size: 16px;
    }
}

.head-image
{
    display: inline-block;

    margin-right: 8px;
}
.head-image--size-30
{
    width: 30px; 
    min-width: 30px;
}
.head-image--size-25
{
    width: 25px; 
    min-width: 25px;
}
.head-image--size-20
{
    width: 20px; 
    min-width: 20px;
}
.head-image--size-15
{
    width: 15px; 
    min-width: 15px;
}
.head-image--size-10
{
    width: 10px; 
    min-width: 10px;
}

/* example css */
.text__module .btn__name
{
    display: inline-block; 

    margin-bottom: 10px;
}

.list-image--horizontal,
ul.list-image--horizontal
{
    flex-direction: column; 

    margin-right: -10px;
    margin-left: -10px;
}
.list-image--horizontal .list-image__item,
ul.list-image--horizontal .list-image__item
{
    font-size: 16px;
    line-height: 1.5;

    display: flex;

    align-items: center;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .list-image--horizontal .list-image__item,
    ul.list-image--horizontal .list-image__item
    {
        flex-basis: auto;
    }
}
.list-image--horizontal .list-image__item + .list-image__item,
ul.list-image--horizontal .list-image__item + .list-image__item
{
    margin-top: 20px;
}
@media screen and (max-width: 1019px)
{
    .list-image--horizontal .list-image__item,
    ul.list-image--horizontal .list-image__item
    {
        align-items: flex-start;
    }
}
.list-image--horizontal .list-image__img,
ul.list-image--horizontal .list-image__img
{
    min-width: 124px; 
    margin-right: 20px;
}
.list-image--horizontal .list-image__img img,
ul.list-image--horizontal .list-image__img img
{
    cursor: default;
}
@media screen and (min-width: 1020px)
{
    .list-image--horizontal .list-image__img,
    ul.list-image--horizontal .list-image__img
    {
        min-width: 200px;
    }
}
@media screen and (max-width: 1019px) and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .list-image--horizontal .list-image__img,
    ul.list-image--horizontal .list-image__img
    {
        width: 124px;
    }
}
.list-image--horizontal .list-image__img:hover,
ul.list-image--horizontal .list-image__img:hover
{
    cursor: pointer;
}
.list-image--horizontal .list-image__text,
ul.list-image--horizontal .list-image__text
{
    text-decoration: underline;

    color: #2076c7;
}
.list-image--horizontal .list-image__text:hover,
ul.list-image--horizontal .list-image__text:hover
{
    cursor: pointer;
}

h1.h1,
h2.h2
{
    margin-bottom: 40px;
}
h1.h1:last-child,
h2.h2:last-child
{
    margin-bottom: 0;
}

h3.h3,
h4.h4,
ul.list-circle,
ol.list-ordered,
ul.list-asterisk,
ol.list-ordered--asterisk,
ul.list-check,
ul.list-text,
ol.list-text--uppercase,
ol.list-text--lowercase,
ol.list-text--roman,
ol.list-ordered--mix,
ol.list-ordered--kata
{
    margin-bottom: 30px;
}
h3.h3:last-child,
h4.h4:last-child,
ul.list-circle:last-child,
ol.list-ordered:last-child,
ul.list-asterisk:last-child,
ol.list-ordered--asterisk:last-child,
ul.list-check:last-child,
ul.list-text:last-child,
ol.list-text--uppercase:last-child,
ol.list-text--lowercase:last-child,
ol.list-text--roman:last-child,
ol.list-ordered--mix:last-child,
ol.list-ordered--kata:last-child
{
    margin-bottom: 0;
}

h5.h5,
.sub-head,
.text-lead,
.text-number,
ul.list-image
{
    margin-bottom: 20px;
}
h5.h5:last-child,
.sub-head:last-child,
.text-lead:last-child,
.text-number:last-child,
ul.list-image:last-child
{
    margin-bottom: 0;
}

h1.h1,
h2.h2,
h3.h3,
h4.h4,
h5.h5
{
    display: flex;

    align-items: center;
}

/* Button Modules
======================================*/
.btn,
.btn-newtab
{
    font-size: 18px;
    font-weight: 700;
    line-height: 21px;

    display: flex;
    flex-direction: column;

    width: 100%;
    max-width: 335px;
    margin: auto;
    padding: 18px 15px 17px;

    text-align: center;
    word-break: break-all;

    opacity: 1;
    color: #fff;
    border-width: 2px;
    border-style: solid;
    border-radius: 6px;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .15); 

    align-items: center;
    justify-content: center;
}
@media screen and (min-width: 1020px)
{
    .btn,
    .btn-newtab
    {
        font-size: 16px; 

        max-width: 300px;
    }
}
.btn.btn--normal,
.btn--normal.btn-newtab
{
    color: #2076c7;
    border-color: #2076c7;
    background-color: #fff;
    box-shadow: none;
}
.btn.btn--main,
.btn--main.btn-newtab
{
    border-color: #2076c7; 
    background-color: #2076c7;
}
.btn.btn--accent,
.btn--accent.btn-newtab
{
    border-color: #e3215a; 
    background-color: #e3215a;
}
.btn.btn--sub,
.btn--sub.btn-newtab
{
    border-color: #0e819a; 
    background-color: #0e819a;
}
.btn.btn--inactive,
.btn--inactive.btn-newtab
{
    pointer-events: none; 

    border-color: #adadad;
    background-color: #adadad;
}
.btn.btn--anchor,
.btn--anchor.btn-newtab
{
    position: relative;

    padding: 18px 38px 17px;
}
.btn.btn--anchor span[class^='icon-'],
.btn--anchor.btn-newtab span[class^='icon-']
{
    font-size: 16px; 

    position: absolute;
    top: 21px;
    right: 20px;
}
@media screen and (min-width: 1020px)
{
    .btn.btn--anchor span[class^='icon-'],
    .btn--anchor.btn-newtab span[class^='icon-']
    {
        font-size: 14px;
    }
}
.btn.btn--anchor span[class^='icon-']:before,
.btn--anchor.btn-newtab span[class^='icon-']:before
{
    color: #fff;
}
.btn.btn--anchor.btn--normal span[class^='icon-']:before,
.btn--anchor.btn--normal.btn-newtab span[class^='icon-']:before
{
    color: #2076c7;
}
.btn [class^='icon'],
.btn-newtab [class^='icon']
{
    max-height: 15px;
}

.btn-newtab .icon-newtab,
.btn-newtab .icon-pdf
{
    margin-top: -5px; 
    padding-left: 10px;
}

.btn-caption
{
    font-size: 18px;
    font-weight: 700;

    display: flex;
    flex-direction: column;

    width: 100%;
    max-width: 335px;
    min-height: 70px;
    margin: auto;
    padding: 8px 20px;

    text-align: center;
    word-break: break-all;

    color: #fff;
    border-width: 2px;
    border-style: solid;
    border-radius: 6px;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .15); 

    align-items: center;
    justify-content: center;
}
.btn-caption span:first-child
{
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;

    margin-bottom: 2px;
}
.btn-caption span:last-child
{
    font-size: 18px;
    font-weight: 700; 
    line-height: 21px;
}
@media screen and (min-width: 1020px)
{
    .btn-caption span:last-child
    {
        font-size: 16px;
    }
}
.btn-caption.btn--normal span[class^='icon-']:before
{
    color: #2076c7;
}
.btn-caption .icon-newtab,
.btn-caption .icon-pdf
{
    margin-top: -5px; 
    padding-left: 10px;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .btn-caption .icon-newtab,
    .btn-caption .icon-pdf
    {
        height: auto;
    }
}
.btn-caption span.icon-anchor--down:before
{
    font-size: 13px;

    top: 4px;
}
@media screen and (min-width: 1020px)
{
    .btn-caption span.icon-anchor--down:before
    {
        top: 3px;
    }
}
@media screen and (min-width: 1020px)
{
    .btn-caption
    {
        font-size: 16px;

        width: 300px;
    }
}
.btn-caption.btn--normal
{
    color: #2076c7;
    border-color: #2076c7;
    background-color: #fff;
    box-shadow: none;
}
.btn-caption.btn--normal span.icon-anchor--down:before
{
    color: #2076c7;
}
.btn-caption.btn--main
{
    border-color: #2076c7; 
    background-color: #2076c7;
}
.btn-caption.btn--accent
{
    border-color: #e3215a; 
    background-color: #e3215a;
}
.btn-caption.btn--sub
{
    border-color: #0e819a; 
    background-color: #0e819a;
}
.btn-caption.btn--inactive
{
    pointer-events: none; 

    border-color: #adadad;
    background-color: #adadad;
}

.btn-small
{
    font-size: 14px;
    font-weight: 700;

    display: flex;
    flex-direction: column;

    width: 100%;
    max-width: 200px;
    min-height: 50px;
    margin: auto;
    padding: 11px 20px;

    text-align: center;
    word-break: break-all;

    color: #fff;
    border-width: 2px;
    border-style: solid;
    border-radius: 6px;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .15); 

    align-items: center;
    justify-content: center;
}
@media screen and (min-width: 1020px)
{
    .btn-small
    {
        font-size: 16px;
    }
}
.btn-small.btn--normal
{
    color: #2076c7;
    border-color: #2076c7;
    background-color: #fff;
    box-shadow: none;
}
.btn-small.btn--main
{
    border-color: #2076c7; 
    background-color: #2076c7;
}
.btn-small.btn--accent
{
    border-color: #e3215a; 
    background-color: #e3215a;
}
.btn-small.btn--sub
{
    border-color: #0e819a; 
    background-color: #0e819a;
}
.btn-small.btn--inactive
{
    pointer-events: none; 

    border-color: #adadad;
    background-color: #adadad;
}

.btn-xs
{
    font-size: 16px;
    font-weight: 700;

    display: flex;
    flex-direction: column;

    width: 100%;
    max-width: 125px;
    height: 40px;
    margin: auto;

    letter-spacing: .03em;
    word-break: break-all;

    color: #fff;
    border-width: 2px;
    border-style: solid;
    border-radius: 6px;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .15); 

    align-items: center;
    justify-content: center;
}
.btn-xs.btn--normal
{
    color: #2076c7;
    border-color: #2076c7;
    box-shadow: none;
}
.btn-xs.btn--main
{
    border-color: #2076c7; 
    background-color: #2076c7;
}
.btn-xs.btn--accent
{
    border-color: #de2d62; 
    background-color: #de2d62;
}
.btn-xs.btn--sub
{
    border-color: #0e819a; 
    background-color: #0e819a;
}
.btn-xs.btn--inactive
{
    pointer-events: none; 

    border-color: #adadad;
    background-color: #adadad;
}

.btn-large
{
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;

    display: block;

    width: 100%;
    max-width: 335px;
    height: auto;
    margin: auto;
    padding: 15px 30px;

    text-align: center;
    word-break: break-all;

    color: #fff;
    border-width: 2px;
    border-style: solid;
    border-radius: 6px;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .15);
}
@media screen and (min-width: 1020px)
{
    .btn-large
    {
        font-size: 16px;
        line-height: 21px; 

        max-width: 420px;
    }
}
.btn-large.btn--normal
{
    color: #2076c7;
    border-color: #2076c7;
    background-color: #fff;
    box-shadow: none;
}
.btn-large.btn--main
{
    border-color: #2076c7; 
    background-color: #2076c7;
}
.btn-large.btn--accent
{
    border-color: #e3215a; 
    background-color: #e3215a;
}
.btn-large.btn--sub
{
    border-color: #0e819a; 
    background-color: #0e819a;
}
.btn-large.btn--inactive
{
    pointer-events: none; 

    border-color: #adadad;
    background-color: #adadad;
}

.btn-caption--large
{
    font-size: 18px;
    font-weight: 700;

    display: flex;
    flex-direction: column;

    width: 100%;
    max-width: 335px;
    height: auto;
    margin: auto;
    padding: 16px 20px;

    text-align: center;
    word-break: break-all;

    color: #fff;
    border-width: 2px;
    border-style: solid;
    border-radius: 6px;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .15); 

    align-items: center;
    justify-content: center;
}
.btn-caption--large span:first-child
{
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;

    margin-bottom: 2px;
}
@media screen and (min-width: 1020px)
{
    .btn-caption--large span:first-child
    {
        line-height: 20px;
    }
}
.btn-caption--large span:last-child
{
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;

    display: inline-table;
}
@media screen and (min-width: 1020px)
{
    .btn-caption--large span:last-child
    {
        font-size: 16px;
        line-height: 21px;
    }
}
@media screen and (min-width: 1020px)
{
    .btn-caption--large
    {
        font-size: 16px;

        max-width: 420px;
        padding: 12px 20px;
    }
}
.btn-caption--large.btn--normal
{
    color: #2076c7;
    border-color: #2076c7;
    background-color: #fff;
    box-shadow: none;
}
.btn-caption--large.btn--main
{
    border-color: #2076c7; 
    background-color: #2076c7;
}
.btn-caption--large.btn--accent
{
    border-color: #e3215a; 
    background-color: #e3215a;
}
.btn-caption--large.btn--sub
{
    border-color: #0e819a; 
    background-color: #0e819a;
}
.btn-caption--large.btn--inactive
{
    pointer-events: none; 

    border-color: #adadad;
    background-color: #adadad;
}

.btn-small--large
{
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;

    display: flex;
    flex-direction: column;

    width: 100%;
    max-width: 200px;
    height: auto;
    margin: auto;
    padding: 11px 20px;

    text-align: center;
    word-break: break-all;

    color: #fff;
    border-width: 2px;
    border-style: solid;
    border-radius: 6px;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .15); 

    align-items: center;
    justify-content: center;
}
@media screen and (min-width: 1020px)
{
    .btn-small--large
    {
        font-size: 16px;
        line-height: 24px; 

        max-width: 420px;
    }
}
.btn-small--large.btn--normal
{
    color: #2076c7;
    border-color: #2076c7;
    background-color: #fff;
    box-shadow: none;
}
.btn-small--large.btn--main
{
    border-color: #2076c7; 
    background-color: #2076c7;
}
.btn-small--large.btn--accent
{
    border-color: #e3215a; 
    background-color: #e3215a;
}
.btn-small--large.btn--sub
{
    border-color: #0e819a; 
    background-color: #0e819a;
}
.btn-small--large.btn--inactive
{
    pointer-events: none; 

    border-color: #adadad;
    background-color: #adadad;
}

.column .column__xs--06 > [class^='btn'],
.column .column__xs--06 > .link-icon,
.column .list-link-box > li .column__xs--06 > a,
.list-link-box > li .column .column__xs--06 > a,
.column .column__xs--06 > .link-bullet,
.column .column__xs--06 > .link-complex
{
    height: 100%;
}

@media screen and (min-width: 1020px)
{
    .button-group .button-group__item > [class^='btn'],
    .button-group .button-group__item > .link-icon,
    .button-group .list-link-box > li .button-group__item > a,
    .list-link-box > li .button-group .button-group__item > a,
    .button-group .button-group__item > .link-bullet,
    .button-group .button-group__item > .link-complex,
    .link-group .link-group__item > [class^='btn'],
    .link-group .link-group__item > .link-icon,
    .link-group .list-link-box > li .link-group__item > a,
    .list-link-box > li .link-group .link-group__item > a,
    .link-group .link-group__item > .link-bullet,
    .link-group .link-group__item > .link-complex,
    [class^='col'] > [class^='btn'],
    [class^='col'] > .link-icon,
    .list-link-box > li [class^='col'] > a,
    [class^='col'] > .link-bullet,
    [class^='col'] > .link-complex
    {
        height: 100%;
    }
}

/* Mini site Modules
======================================*/
.aside__menu-sp
{
    position: absolute;
    z-index: 13;

    display: none;
    flex-direction: row;

    width: 100%;
    height: 52px;
    padding: 0 20px;

    border-bottom: 1px solid #dbe3e8; 
    background-color: #fff;

    justify-content: space-between;
    align-items: center;
}
@media screen and (max-width: 1019px)
{
    .aside__menu-sp
    {
        display: flex;
    }
}
.aside__menu-sp .aside__menu-sp__title
{
    font-size: 14px;
    font-weight: 400;

    padding-top: 5px;
}
.aside__menu-sp .icon-menu
{
    font-size: 10px;

    position: relative;

    height: 100%;
    padding: 30px 0 0 20px;

    cursor: pointer; 

    opacity: 1;
    border-left: 1px solid #dbe3e8;
}
.aside__menu-sp .icon-menu .icon-arrow--up
{
    font-size: 7px;
    font-weight: 700; 

    position: absolute;
    top: 15px;
    right: 13px;
}

.aside__content
{
    width: 240px;
    padding-bottom: 40px;
}
@media screen and (max-width: 1019px)
{
    .aside__content
    {
        position: absolute;
        z-index: 12;

        overflow: scroll;

        width: 100%;
        height: 100vh; 
        padding-top: 50px;
        padding-bottom: 40px;

        transform: translateY(-100%);

        background-color: #fff;
    }
    @supports (-webkit-touch-callout: none)
    {
        .aside__content
        {
            padding-bottom: 170px;
        }
    }
    .aside__content.has-transition
    {
        transition: all .4s ease-in-out;
    }
    .aside__content a:hover
    {
        opacity: 1;
    }
}

.aside__content .aside__button
{
    padding: 30px 0;

    border-top: 1px solid #dbe3e8;
}
.aside__content .aside__button .btn,
.aside__content .aside__button .btn-newtab,
.aside__content .aside__button .btn-caption
{
    width: 240px;
}
@media screen and (max-width: 1019px)
{
    .aside__content .aside__button .btn,
    .aside__content .aside__button .btn-newtab,
    .aside__content .aside__button .btn-caption
    {
        width: 100%; 
        max-width: 335px;
    }
}
.aside__content .aside__button [class^='btn']
{
    margin-bottom: 20px;
}
.aside__content .aside__button [class^='btn']:last-child
{
    margin-bottom: 0;
}

.aside__content .aside__title
{
    font-size: 16px;
    font-weight: 400;

    display: flex;

    margin-top: 40px;
    padding-bottom: 20px;

    justify-content: space-between;
    align-items: center;
}
.aside__content .aside__title:first-child
{
    margin-top: 0;
    padding-right: 10px; 
    padding-left: 10px;
}
@media screen and (max-width: 1019px)
{
    .aside__content .aside__title:first-child
    {
        display: none;
    }
}
.aside__content .aside__title [class*='icon-']
{
    font-size: 12px;
}
@media screen and (max-width: 1019px)
{
    .aside__content .aside__title
    {
        font-size: 18px; 

        padding-right: 20px;
        padding-left: 20px;
    }
}

.aside-list li
{
    display: flex;
    flex-direction: column;

    cursor: pointer;

    border-bottom: 1px solid #dbe3e8;

    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.aside-list li a
{
    font-size: 14px;
    line-height: 22px;

    position: relative;

    width: 100%;
    padding: 14px 35px 13px 10px;
}
@media screen and (max-width: 1019px)
{
    .aside-list li a
    {
        margin-top: -1px; 
        padding: 13px 45px 11px 20px;

        border-top: 1px solid #dbe3e8;
        background-color: #f6f8f9;
    }
}
@media screen and (max-width: 1019px)
{
    .aside-list li .aside__sub-menu a
    {
        margin-top: 0;

        border-top: none;
    }
    .aside-list li .aside__sub-menu li:first-child a
    {
        border-top: 1px solid #dbe3e8;
    }
}
.aside-list li [class*='icon-']
{
    font-size: 12px; 
    line-height: normal;

    position: absolute;
    top: 0;
    right: 10px;

    display: flex;

    height: 100%;

    align-items: center;
}
@media screen and (max-width: 1019px)
{
    .aside-list li [class*='icon-']
    {
        font-size: 14px;

        right: 23px;
    }
}
.aside-list li img[class*='icon-']
{
    top: 50%;
    right: 8px;

    width: 14px;
    height: auto;

    transform: translate(0, -50%);
}
@media screen and (max-width: 1019px)
{
    .aside-list li img[class*='icon-']
    {
        right: 20px;
    }
}
.aside-list li img.icon-newtab
{
    height: 10px;
}
.aside-list li img.icon-pdf
{
    height: 14px;
}
.aside-list li .icon-plus
{
    right: 8px;
}
@media screen and (max-width: 1019px)
{
    .aside-list li .icon-plus
    {
        right: 20px;
    }
}
.aside-list li:first-child
{
    border-top: 1px solid #dbe3e8;
}

.aside__sub-menu
{
    display: none;
}
.aside__sub-menu li
{
    display: flex;
    flex-direction: column;

    border-bottom: none;
}
.aside__sub-menu li a
{
    padding-left: 30px;
}
.aside__sub-menu li:first-child
{
    border-top: none;
}
.aside__sub-menu li span
{
    font-size: 13px;
    line-height: 20px; 

    color: #555;
}
.aside__sub-menu li span.icon-arrow--right
{
    font-size: 12px; 

    right: 10px;
}
@media screen and (max-width: 1019px)
{
    .aside__sub-menu li span.icon-arrow--right
    {
        font-size: 14px;

        right: 23px;
    }
}
.aside__sub-menu li span.icon-arrow--right:before
{
    font-size: unset;

    content: '\e903';
}

.aside-list li.active
{
    display: flex;
    flex-direction: column;

    background-color: #fff;
}
@media screen and (max-width: 1019px)
{
    .aside-list li.active a
    {
        background-color: #fff;
    }
    .aside-list li.active a[target='_blank']
    {
        background-color: #f6f8f9;
    }
}
.aside-list li.active .icon-plus:before
{
    content: '\e915';
}
.aside-list li.active .aside__sub-menu
{
    display: block;
}
@media screen and (max-width: 1019px)
{
    .aside-list li.active .aside__sub-menu a
    {
        background-color: #f6f8f9;
    }
}

.aside__column-link
{
    display: flex;
    flex-direction: column;
}
@media screen and (max-width: 1019px)
{
    .aside__column-link
    {
        padding: 0 20px;
    }
}
.aside__column-link .aside__row
{
    margin-bottom: 4px;
}
.aside__column-link .aside__row .column .column__xs--06 .link-icon--arrow,
.aside__column-link .aside__row .column .column__xs--06 .link-bullet
{
    height: 100%;
    margin-bottom: 0;
}
.aside__column-link .link-icon,
.aside__column-link .list-link-box > li a,
.list-link-box > li .aside__column-link a,
.aside__column-link .link-bullet,
.aside__column-link .link-complex
{
    margin-bottom: 14px;
}
@media screen and (max-width: 1019px)
{
    .aside__column-link .link-icon,
    .aside__column-link .list-link-box > li a,
    .list-link-box > li .aside__column-link a,
    .aside__column-link .link-bullet,
    .aside__column-link .link-complex
    {
        max-width: none;
    }
}

.container__main__title
{
    font-size: 32px;
    font-weight: 700;
    line-height: 48px;

    margin-top: -10px;
    margin-bottom: 20px;
}
@media screen and (max-width: 1019px)
{
    .container__main__title
    {
        font-size: 20px;
        line-height: 30px;
    }
}

.container__main__body
{
    margin-bottom: 40px;
}

.nav-open
{
    overflow: hidden;
}

/* Column Link Modules
======================================*/
.link-icon,
.list-link-box > li a,
.link-bullet,
.link-complex
{
    font-size: 14px;
    line-height: 21px;

    position: relative;

    display: inline-flex;

    width: 100%;
    max-width: 335px;
    min-height: 50px;
    padding: 13px 35px 13px 14px;

    text-align: left; 
    letter-spacing: 0;

    border: 1px solid #cdd6dd;
    background: #fff;

    align-items: center;
}
.link-icon [class^='icon'],
.list-link-box > li a [class^='icon'],
.link-bullet [class^='icon'],
.link-complex [class^='icon']
{
    position: absolute;
    top: 50%;
    right: 13px;

    display: block;

    transform: translateY(-50%);
}
.link-icon--arrow [class^='icon'],
.link-bullet [class^='icon']
{
    font-size: 12px;
}
.link-icon--newtab [class^='icon']
{
    font-size: 10px;
}
.link-icon--pdf [class^='icon']
{
    font-size: 15px;
}
.link-icon .icon-folder,
.list-link-box > li a .icon-folder,
.link-bullet .icon-folder,
.link-complex .icon-folder
{
    font-size: 11px;
}
.link-icon--down [class^='icon']
{
    right: 16px;
}
.link-icon--down [class^='icon']::before
{
    display: block; 

    transform: rotate(90deg);
}
@media screen and (max-width: 1019px)
{
    .link-icon,
    .list-link-box > li a,
    .link-bullet,
    .link-complex
    {
        padding-right: 30px;
    }
}

.link-box
{
    display: inline-block;

    width: 100%;
    height: 100%;
    padding: 20px 14px; 

    border-radius: 4px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .1);

    align-items: center;
}
.link-box__inner
{
    font-size: 14px; 

    display: flex;
    flex-direction: column;

    text-align: center;

    align-items: center;
}
.link-box__inner span + span
{
    line-height: 1.28571429;
}
.link-box:not(.link-box--horizontal) .link-box__inner
{
    position: relative;

    width: 100%;
    height: 100%;
    padding-top: 40px;
}
.link-box:not(.link-box--horizontal) .link-box__inner img
{
    display: block;

    max-height: 40px; 
    margin: auto;
}
.link-box:not(.link-box--horizontal) .link-box__inner > span
{
    display: flex;
}
.link-box:not(.link-box--horizontal) .link-box__inner > span:first-child
{
    position: absolute;
    top: 0;

    width: 100%; 
    height: 40px;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .link-box:not(.link-box--horizontal) .link-box__inner > span:first-child
    {
        left: 0;
    }
}
.link-box:not(.link-box--horizontal) .link-box__inner > span + span
{
    height: 100%; 
    padding-top: 10px;

    justify-content: center;
    align-items: center;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .link-box:not(.link-box--horizontal) .link-box__inner > span + span
    {
        width: 100%;
    }
}
.link-box--horizontal
{
    position: relative;

    display: flex; 

    width: 100%;
    max-width: none;
    padding: 17px 14px;
}
.link-box--horizontal .link-box__inner
{
    flex-direction: row;
}
.link-box--horizontal .link-box__inner img
{
    position: absolute;
    top: calc((100% - 27px)/2); 
    left: 15px;

    max-height: 27px;
}
.link-box--horizontal .link-box__inner span + span
{
    margin-left: 36px;
}
@media screen and (min-width: 1020px)
{
    .link-box
    {
        margin-bottom: 0;
    }
}
@media screen and (max-width: 1019px)
{
    .link-box--horizontal .link-box__inner span + span
    {
        text-align: left;
    }
}

.link-group
{
    display: flex;

    margin: -5px;

    flex-wrap: wrap;
}
.link-group .link-group__item
{
    width: 172px; 
    padding: 5px;
}
.link-group--center
{
    justify-content: center;
}
@media screen and (min-width: 1020px)
{
    .link-group
    {
        margin: -10px;
    }
    .link-group .link-group__item
    {
        width: 160px; 
        padding: 10px;
    }
    .link-group--horizontal .link-group__item
    {
        width: 235px;
    }
}
@media screen and (min-width: 576px)
{
    .link-group--sm-center
    {
        justify-content: center;
    }
}
@media screen and (max-width: 1019px)
{
    .link-group--inline .link-group__item
    {
        width: 115px;
    }
}

@media screen and (max-width: 1019px)
{
    .column .column__xs--06:nth-of-type(odd)
    {
        text-align: right;
    }
    .column .column__xs--06 .btn-small--large.btn--sub
    {
        margin-bottom: 0 !important;
    }
    .column .column__xs--06 .link-icon.link-icon--arrow,
    .column .column__xs--06 .list-link-box > li a.link-icon--arrow,
    .list-link-box > li .column .column__xs--06 a.link-icon--arrow,
    .column .column__xs--06 .list-link-box > li a.link-bullet,
    .list-link-box > li .column .column__xs--06 a.link-bullet,
    .column .column__xs--06 .link-bullet,
    .column .column__xs--06 .link-icon--arrow.link-complex,
    .column .column__xs--06 .link-complex.link-bullet
    {
        margin-top: 0 !important;
    }
}

.button-group
{
    margin-right: -10px; 
    margin-left: -10px;
}
.button-group .button-group__item
{
    margin: 20px auto;
    padding-right: 10px; 
    padding-left: 10px;
}
.button-group .link-icon,
.button-group .list-link-box > li a,
.list-link-box > li .button-group a,
.button-group .link-bullet,
.button-group .link-complex
{
    padding: 13px 30px 13px 14px;
}
@media screen and (min-width: 1020px)
{
    .button-group
    {
        display: flex;

        margin-top: -20px; 

        flex-wrap: wrap;
        justify-content: center;
    }
    .button-group .button-group__item
    {
        margin: 0; 
        padding-top: 20px;
    }
    .button-group.button-group--03 [class^='btn'],
    .button-group.button-group--03 .link-icon,
    .button-group.button-group--03 .list-link-box > li a,
    .list-link-box > li .button-group.button-group--03 a,
    .button-group.button-group--03 .link-bullet,
    .button-group.button-group--03 .link-complex
    {
        width: 293.333333333px;
    }
}
@media screen and (max-width: 1019px)
{
    .button-group
    {
        text-align: center;
    }
}
.button-group--align-left
{
    text-align: left;
}
.button-group--align-left .column
{
    width: 100%;
}

.content--medium,
.link-group,
.button-group
{
    margin-bottom: 40px;
}
.content--medium:last-child,
.link-group:last-child,
.button-group:last-child
{
    margin-bottom: 0;
}

/* Column Modules
======================================*/
.column
{
    display: flex;

    margin-right: -10px; 
    margin-left: -10px;

    flex-wrap: wrap;
}
.column > [class^='column__']
{
    position: relative; 

    padding-right: 10px;
    padding-left: 10px;
}
@media screen and (max-width: 1019px)
{
    .column
    {
        margin-right: -5px; 
        margin-left: -5px;
    }
    .column.column__btn--004
    {
        margin: 0 5px;
    }
    .column.column__btn--004 .column__xs--06:nth-of-type(odd) [class^='btn']
    {
        margin-right: 0;
    }
    .column.column__btn--004 .column__xs--06:nth-of-type(even) [class^='btn']
    {
        margin-left: 0;
    }
    .column > [class^='column__']
    {
        margin-bottom: 10px; 
        padding-right: 5px;
        padding-left: 5px;
    }
}
.column--center
{
    justify-content: center;
}
@media screen and (min-width: 1020px)
{
    .column
    {
        margin-top: -20px;
    }
    .column > [class^='column__']
    {
        padding-top: 20px;
    }
}

.column__sm--12
{
    width: 100%;
}

.column__sm--01
{
    width: 100%;
}
@media screen and (min-width: 1020px)
{
    .column__sm--01
    {
        width: 8.33333333%;
    }
}

.column__sm--02
{
    width: 100%;
}
@media screen and (min-width: 1020px)
{
    .column__sm--02
    {
        width: 16.6666667%;
    }
}

.column__sm--03
{
    width: 100%;
}
@media screen and (min-width: 1020px)
{
    .column__sm--03
    {
        width: 25%;
    }
}

.column__sm--04
{
    width: 100%;
}
@media screen and (min-width: 1020px)
{
    .column__sm--04
    {
        width: 33.333333%;
    }
}

.column__sm--05
{
    width: 100%;
}
@media screen and (min-width: 1020px)
{
    .column__sm--05
    {
        width: 41.6666667%;
    }
}

.column__sm--06
{
    width: 100%;
}
@media screen and (min-width: 1020px)
{
    .column__sm--06
    {
        width: 50%;
    }
}

.column__sm--07
{
    width: 100%;
}
@media screen and (min-width: 1020px)
{
    .column__sm--07
    {
        width: 58.3333333%;
    }
}

.column__sm--08
{
    width: 100%;
}
@media screen and (min-width: 1020px)
{
    .column__sm--08
    {
        width: 66.666667%;
    }
}

.column__sm--09
{
    width: 100%;
}
@media screen and (min-width: 1020px)
{
    .column__sm--09
    {
        width: 75%;
    }
}

.column__sm--10
{
    width: 100%;
}
@media screen and (min-width: 1020px)
{
    .column__sm--10
    {
        width: 83.3333333%;
    }
}

.column__sm--11
{
    width: 100%;
}
@media screen and (min-width: 1020px)
{
    .column__sm--11
    {
        width: 91.6666667%;
    }
}

@media screen and (max-width: 1019px)
{
    .column__xs--01
    {
        width: 8.33333333%;
    }
}

@media screen and (max-width: 1019px)
{
    .column__xs--02
    {
        width: 16.6666667%;
    }
}

@media screen and (max-width: 1019px)
{
    .column__xs--03
    {
        width: 25%;
    }
}

@media screen and (max-width: 1019px)
{
    .column__xs--04
    {
        width: 33.333333%;
    }
}

@media screen and (max-width: 1019px)
{
    .column__xs--05
    {
        width: 41.6666667%;
    }
}

@media screen and (max-width: 1019px)
{
    .column__xs--06
    {
        width: 50%;
    }
}

@media screen and (max-width: 1019px)
{
    .column__xs--07
    {
        width: 58.3333333%;
    }
}

@media screen and (max-width: 1019px)
{
    .column__xs--08
    {
        width: 66.666667%;
    }
}

@media screen and (max-width: 1019px)
{
    .column__xs--09
    {
        width: 75%;
    }
}

@media screen and (max-width: 1019px)
{
    .column__xs--11
    {
        width: 8.33333333%;
    }
}

@media screen and (max-width: 1019px)
{
    .column__xs--12
    {
        width: 100%;
    }
}

/* Column Image Modules
======================================*/
@media screen and (max-width: 1019px)
{
    .column--image
    {
        padding-right: 5px; 
        padding-left: 5px;
    }
    .column--image [class^='column__sm']
    {
        margin-bottom: 20px;
    }
    .column--image [class^='column__sm']:last-child
    {
        margin-bottom: 0;
    }
    .column--image .column__xs--06
    {
        margin-bottom: 11px;
    }
}

.column--image [class^='column__']
{
    display: block;

    text-align: center;
}
.column--image [class^='column__'] picture img
{
    height: auto;
}
.column--image [class^='column__'] img
{
    width: 100%;
    max-width: 100%; 
    margin: 0 auto;
}

.br-50
{
    border-radius: 50%;
}

.column__box-image__caption
{
    font-size: 13px;

    text-align: center;
}

.column--box-group
{
    display: flex;

    margin-right: -5px;
    margin-bottom: 20px; 
    margin-left: -5px;

    flex-wrap: wrap;
}
.column--box-group:last-child
{
    margin-bottom: 0;
}
.column--box-group .column__sm--15
{
    width: 33.333333%;
    padding-right: 5px; 
    padding-left: 5px;
}
@media screen and (max-width: 1019px)
{
    .column--box-group .column__sm--15:nth-child(n + 4)
    {
        margin-top: 20px;
    }
}
.column--box-group .column__sm--15 .column__box-image
{
    display: flex;
    flex-direction: column;
}
.column--box-group .column__sm--15 .column__box-image__image-wrap
{
    display: flex;

    padding-right: 22px;
    padding-left: 22px;

    justify-content: center;
}
.column--box-group .column__sm--15 .column__box-image__image-wrap .image
{
    border-radius: 50%;
}
.column--box-group .column__sm--15 .column__box-image__image-wrap .image picture
{
    border-radius: 50%;
}
.column--box-group .column__sm--15 .column__box-image__image-wrap .image img
{
    width: 60px !important;
    height: 60px !important; 

    border-radius: 50%;
}
.column--box-group .column__sm--15 .column__box-image .column__box-image__caption
{
    margin-top: 10px;
}

@media screen and (min-width: 1020px)
{
    .column--box-group
    {
        display: flex;

        margin-right: -4px; 
        margin-left: -4px;

        flex-wrap: wrap;
        justify-content: center;
    }
    .column--box-group .column__sm--15
    {
        width: 12.5%;
        padding-right: 4px; 
        padding-left: 4px;
    }
    .column--box-group .column__sm--15.column__box-image
    {
        display: flex;
        flex-direction: column;
    }
    .column--box-group .column__sm--15.column__box-image__image-wrap
    {
        padding-right: 24px; 
        padding-left: 24px;
    }
    .column--box-group .column__sm--15.column__box-image .column__box-image__caption
    {
        margin-top: 14px;
    }
}

/* Action UI Modules
======================================*/
.link-paragraph
{
    font-weight: normal;

    margin-bottom: 20px;
}
.link-paragraph:last-child
{
    margin-bottom: 0;
}
.link-paragraph p
{
    font-size: 14px;
    line-height: 21px;

    margin-bottom: 5px; 

    text-align: left;

    color: #555;
}
.link-paragraph a
{
    font-size: 16px;
    font-size: 16px;
    line-height: 22px;

    text-align: left;
    text-decoration: underline;

    color: #2076c7;
}
.link-paragraph [class^='icon-']
{
    padding-left: 10px;
}

.link-extra
{
    font-size: 14px;
    font-weight: normal;
    line-height: 32px;

    display: inline-block;

    padding: 0 14px; 

    text-align: center;

    border: 1px solid #dbe3e8;
    border-radius: 17px;
    background: #fff;
}

.link-contact
{
    font-size: 30px;
    line-height: 1;

    display: inline-block;

    padding: 20px;

    text-align: left;

    color: #2076c7; 
    background: #e8f1f9;
}
.link-contact .icon-contact
{
    margin-right: 10px;
}
.link-contact__inner
{
    padding: 15px 20px;

    text-align: center; 

    border-radius: 4px;
    background: #fff;
}
@media screen and (min-width: 1020px)
{
    .link-contact
    {
        min-width: 375px; 

        pointer-events: none;
    }
}
@media screen and (max-width: 1019px)
{
    .link-contact
    {
        margin-right: -10px;
        margin-left: -10px;
        padding: 40px 20px;
    }
}
@media screen and (max-width: 360px)
{
    .link-contact .link-contact__inner
    {
        font-size: 22px; 

        padding: 15px 30px;
    }
}

.pagination
{
    display: flex;

    width: 100%; 

    justify-content: center;
}
.pagination .pagination__arrows
{
    font-size: 14px;

    position: relative;

    display: inline-block;

    width: 40px;
    height: 40px;

    opacity: 1; 
    border: none;
    border-radius: 2px;
    background: #2076c7;
}
.pagination .pagination__arrows .icon-prev,
.pagination .pagination__arrows .icon-next
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    transform: translate(-50%, -50%);
}
.pagination .pagination__arrows:hover
{
    cursor: pointer;
}
.pagination .pagination__arrows--deactive
{
    pointer-events: none; 

    background: #98a6b5;
}
.pagination .pagination__arrows + .pagination__arrows
{
    margin-left: 20px;
}
.pagination__item
{
    font-size: 18px;
    font-weight: normal;
    line-height: 30px;

    padding-right: 15px; 
    padding-left: 15px;

    text-align: center;

    color: #98a6b5;
}
.pagination__item--active
{
    color: #2076c7;
}
.pagination__item--first
{
    padding-left: 22px;
}
.pagination .pagination__nummbers
{
    display: inline-block;
}
@media screen and (max-width: 1019px)
{
    .pagination .pagination__nummbers
    {
        display: flex;
        width: 50%;
        justify-content: space-around;
    }
    
}

.pagination .pagination__nummbers .pagination__item
{
    font-size: 18px;
    font-weight: normal;
    line-height: 40px;

    padding-right: 15px; 
    padding-left: 15px;

    text-align: center;

    color: #2076c7;
}
@media screen and (max-width: 1019px)
{
    .pagination .pagination__nummbers .pagination__item
    {
        padding-right: 0; 
        padding-left: 0;
    }
        
}

.pagination .pagination__nummbers .pagination__item:hover
{
    cursor: pointer;
}
.pagination .pagination__nummbers .pagination__item--deactive
{
    pointer-events: none; 

    color: #98a6b5;
}
.pagination .pagination__nummbers .pagination__item:first-child
{
    padding-left: 20px;
}
.pagination .pagination__nummbers .pagination__item:last-child
{
    padding-right: 20px;
}
@media screen and (max-width: 1019px)
{
    .pagination .pagination__nummbers .pagination__item:first-child
    {
        padding-left: 0;
    }
    .pagination .pagination__nummbers .pagination__item:last-child
    {
        padding-right: 0;
    }
            
}

.pagination--text
{
    justify-content: space-between;
}
.pagination--text .pagination__arrows
{
    position: relative;

    width: auto;
    width: 50%;
    max-width: 320px;
    height: auto;

    text-align: left; 

    background: none;
}
.pagination--text .pagination__arrows [class^='icon']
{
    position: absolute;
    top: 50%;

    transform: translateY(-50%);
}
.pagination--text .pagination__arrows + .pagination__arrows
{
    margin-left: 0;
}
.pagination--text .pagination__arrows:first-child
{
    position: relative; 

    padding-right: 15px;
    padding-left: 22px;
}
.pagination--text .pagination__arrows:first-child [class^='icon']
{
    left: 0;
}
.pagination--text .pagination__arrows:last-child
{
    padding-right: 22px;
    padding-left: 15px;
}
.pagination--text .pagination__arrows:last-child [class^='icon']
{
    right: 0;
}

.slider-nav
{
    position: relative;
}
.slider-nav .slider-nav__btn
{
    position: absolute;

    display: flex;

    width: 30px;
    height: 30px;

    opacity: 1; 
    border-radius: 50%;
    background: #2076c7;

    justify-content: center;
    align-items: center;
}
.slider-nav .slider-nav__btn--back
{
    left: 0;
}
.slider-nav .slider-nav__btn--forward
{
    right: 0;
}
.slider-nav .slider-nav__btn [class^='icon']
{
    font-size: 12px;
}
.slider-nav .slider-nav__btn:hover
{
    cursor: pointer;
}
.slider-nav .slider-nav__dots
{
    margin: 0 auto;
    padding: 20px 0;

    text-align: center;
}
.slider-nav .slider-nav__dots li
{
    display: inline-block;
    overflow: hidden; 

    width: 15px;
    height: 3px;

    text-indent: -9999px;

    background: #cdd6dd;
}
.slider-nav .slider-nav__dots li.slider-nav__item--active
{
    background: #2076c7;
}
.slider-nav .slider-nav__dots li + li
{
    margin-left: 3px;
}

.form-checkbox
{
    display: inline-block;

    margin-right: 20px; 
    margin-bottom: 20px;
}
@media screen and (max-width: 1019px)
{
    .form-checkbox
    {
        margin-bottom: 30px;
    }
}
.form-checkbox:last-child
{
    margin-bottom: 0;
}
.form-checkbox:last-child
{
    margin-right: 0;
}
.form-checkbox input
{
    display: none;

    width: initial;
    height: initial;
    margin-bottom: 0;
    padding: 0;

    cursor: pointer;
}
.form-checkbox input:checked + label::before
{
    border: solid #2076c7; 
    background: #2076c7;
}
.form-checkbox input:checked + label:after
{
    font-family: 'icomoon' !important;
    font-size: 10px; 
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;

    position: absolute;
    top: 7px;
    left: 5px;

    content: '\e910';
    text-transform: none;

    color: #fff;

    speak: never;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.form-checkbox label
{
    position: relative;

    display: inline-block;

    padding-left: 35px;

    opacity: 1;
}
.form-checkbox label:before
{
    position: absolute;
    top: -2px;
    left: 0;

    display: inline-block;

    width: 26px;
    height: 26px;
    margin-right: 10px; 

    content: '';
    cursor: pointer;
    vertical-align: middle;

    border: 1px solid #dbe3e8;
    border-radius: 2px;
    background: transparent;
    background-color: transparent;

    -webkit-appearance: none;
}

.form-radio
{
    display: inline-block;

    margin-right: 20px; 
    margin-bottom: 20px;
}
@media screen and (max-width: 1019px)
{
    .form-radio
    {
        margin-bottom: 30px;
    }
}
.form-radio:last-child
{
    margin-bottom: 0;
}
.form-radio:last-child
{
    margin-right: 0;
}
.form-radio [type='radio']:checked,
.form-radio [type='radio']:not(:checked)
{
    position: absolute;
    left: -9999px;
}
.form-radio [type='radio']:checked + label,
.form-radio [type='radio']:not(:checked) + label
{
    line-height: 26px;

    position: relative;

    display: inline-block; 

    padding-left: 36px;

    cursor: pointer;
}
.form-radio [type='radio']:checked + label::before,
.form-radio [type='radio']:not(:checked) + label::before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 25px;
    height: 25px;

    content: '';

    border: 1px solid #dbe3e8;
    border-radius: 50%;
    background: #fff;
}
.form-radio [type='radio']:checked + label:after,
.form-radio [type='radio']:not(:checked) + label:after
{
    position: absolute;
    top: 5px;
    left: 5px;

    width: 15px;
    height: 15px;

    content: '';
    transition: all .2s ease; 

    border-radius: 50%;
    background: #2076c7;
}
.form-radio [type='radio']:not(:checked) + label:after
{
    transform: scale(0); 

    opacity: 0;
}
.form-radio [type='radio']:not(:checked) + label:after
{
    transform: scale(0); 

    opacity: 0;
}
.form-radio [type='radio']:checked + label:before
{
    border-color: #2076c7;
}
.form-radio [type='radio']:checked + label:after
{
    transform: scale(1); 

    opacity: 1;
}
.form-radio label
{
    opacity: 1;
}

.icon-spacer
{
    display: inline-block;

    margin-right: 10px;
    margin-left: 10px;
}
.icon-spacer .icon-down,
.icon-spacer .icon-up
{
    position: relative;

    width: 22px;
    height: 22px;

    vertical-align: middle;
}
.icon-spacer .icon-down::before,
.icon-spacer .icon-up::before
{
    font-size: 6px;

    position: absolute;
    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);
}
.icon-spacer--plus
{
    font-size: 12px;

    display: inline-block;

    text-align: center;
}
.icon-spacer--plus [class^='icon-']
{
    line-height: 20px;
}
.icon-spacer--minus
{
    font-size: 12px;

    display: inline-block;

    text-align: center;

    justify-content: center;
}
.icon-spacer--minus [class^='icon-']
{
    line-height: 20px;
}

.check-list__item
{
    line-height: 26px;

    display: flex;

    margin-right: 10px;
    margin-bottom: 20px; 

    text-align: center;
}
.check-list__item:last-child
{
    margin-bottom: 0;
}
.check-list__item [class^='icon-']
{
    font-size: 9px;
    line-height: 26px;

    display: inline-block;

    width: 26px;
    height: 26px;
    margin-right: 10px;

    vertical-align: middle; 

    border: 1px solid #dbe3e8;
    border-radius: 50%;
}
.check-list__item [class^='icon-']::before
{
    color: #dbe3e8;
}
.check-list__item--active [class^='icon-']
{
    border-color: #2076c7; 
    background-color: #2076c7;
}
.check-list__item--active [class^='icon-']::before
{
    color: #fff;
}

.steps
{
    margin-bottom: 40px; 

    text-align: center;
}

.steps__list
{
    display: inline-flex;

    justify-content: center;
}
.steps__list .steps__item
{
    position: relative;

    max-width: 100%; 
    padding-right: 15px;
    padding-left: 15px;

    text-align: center;

    flex-basis: 0;
    flex-grow: 1;
}
.steps__list .steps__item::after
{
    position: absolute;
    top: 12px;
    left: -50%; 

    display: block;

    width: 100%;
    height: 2px;

    content: '';

    background: #adadad;
}
.steps__list .steps__item:first-child::after
{
    display: none;
}
.steps__list .steps__item .steps__number
{
    font-size: 14px;
    font-weight: bold;
    line-height: 26px;

    position: relative;
    z-index: 1; 

    display: inline-block;

    width: 26px;
    height: 26px;

    text-align: center;

    color: #fff;
    border-radius: 50%;
    background: #adadad;
}
.steps__list .steps__item .steps__label
{
    font-size: 14px;
    font-weight: normal;
    line-height: 1;

    margin-top: 10px;

    text-align: center;
    text-transform: uppercase;
    word-break: break-all; 

    color: #555;
}
.steps__list .steps__item.steps__item--done .steps__number
{
    background: #2076c7;
}
.steps__list .steps__item.steps__item--done::after
{
    background: #2076c7;
}
.steps__list .steps__item.steps__item--current .steps__list__item__name
{
    color: #2076c7;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .steps__list .steps__item
    {
        display: table-cell;
    }
}
@media screen and (min-width: 1020px)
{
    .steps__list .steps__item
    {
        padding-right: 25px; 
        padding-left: 25px;
    }
}

.tabs
{
    display: flex;

    padding-left: 0;

    border-bottom: 1px solid #2076c7; 

    flex-wrap: wrap;
}
.tabs__item
{
    max-width: 100%; 
    margin-bottom: -1px;

    text-align: center;

    flex-basis: 0;
    flex-grow: 1;
}
.tabs__item a
{
    font-size: 14px;
    line-height: 18px;

    position: relative;

    display: flex;

    height: 100%; 
    padding: 14px 6px;

    word-break: break-all;

    border: 1px solid transparent;
    background: #f6f8f9;

    justify-content: center;
    align-items: center;
}
.tabs__item a::after
{
    position: absolute;
    right: -1px;
    bottom: -1px;
    left: -1px;

    height: 1px;

    content: '';

    background-color: #2076c7;
}
.tabs__item--active a
{
    transition: color 0s ease-in-out;
    pointer-events: none; 

    color: #2076c7;
    border-color: #2076c7 #2076c7 #fff;
    background-color: #fff;
}
.tabs__item--active a:after
{
    display: none;
}
.tabs__item + .tabs__item
{
    margin-left: 5px;
}
@media screen and (min-width: 1020px)
{
    .tabs__item a
    {
        padding: 14px;
    }
}
.tabs__instruction
{
    font-size: 13px;

    display: none; 

    margin-bottom: 25px;

    text-align: right;

    color: #555;
}
.tabs__instruction img
{
    margin-top: -3px; 
    margin-left: 10px;
}
@media screen and (max-width: 1019px)
{
    .tabs--overflow .tabs__container
    {
        overflow-x: auto;
        overflow-y: hidden;
    }
    .tabs--overflow .tabs__container .tabs
    {
        flex-wrap: nowrap;
    }
    .tabs--overflow .tabs__container .tabs .tabs__item
    {
        min-width: 79px;
    }
}

.segment .segment__nav
{
    display: flex;

    margin-bottom: 0;
    padding-left: 0;

    border: 1px solid #2076c7; 

    flex-wrap: wrap;
}
.segment .segment__nav .segment__item
{
    max-width: 100%;
    min-height: 53px; 

    text-align: center;

    flex-basis: 0;
    flex-grow: 1;
}
.segment .segment__nav .segment__item a
{
    font-size: 13px;
    font-weight: bold;
    line-height: 18px;

    position: relative;

    display: flex;

    height: 100%; 
    padding: 10px 20px;

    text-align: center;

    color: #2076c7;
    background: #fff;

    align-items: center;
    justify-content: center;
}
.segment .segment__nav .segment__item--active a
{
    pointer-events: none; 

    color: #fff;
    background-color: #2076c7;
}
.segment .segment__nav .segment__item--active a:after
{
    display: none;
}
.segment .segment__nav .segment__item + .segment__item
{
    border-left: 1px solid #2076c7;
}
@media screen and (min-width: 1020px)
{
    .segment .segment__nav__item a
    {
        padding: 14px 12px;
    }
}

@media screen and (max-width: 1019px)
{
    .segment--secondary .segment__nav
    {
        position: relative;

        overflow: hidden;

        border-bottom: none;
    }
    .segment--secondary .segment__nav .segment__item
    {
        border: none;
        border-bottom: 1px solid #2076c7; 

        flex-basis: 50%;
    }
    .segment--secondary .segment__nav .segment__item + .segment__item
    {
        border-left: none;
    }
    .segment--secondary .segment__nav::after,
    .segment--secondary .segment__nav::before
    {
        position: absolute;
        z-index: 1; 
        top: 50%;
        left: 50%;

        display: block;

        content: '';
        transform: translate(-50%, -50%);

        background-color: #2076c7;
    }
    .segment--secondary .segment__nav::after
    {
        display: none;
    }
    .segment--secondary .segment__nav::before
    {
        width: 1px;
        height: 100%;
    }
}

.segment .segment__content .segment__panel
{
    display: none;
}
.segment .segment__content .segment__panel.show
{
    display: block;
}

.accordion__item .accordion__label
{
    font-size: 14px;
    font-weight: bold;
    line-height: 22px;

    display: flex;

    min-height: 48px;
    padding: 14px 0;
    padding: 14px 20px;

    opacity: 1; 
    border-top: 1px solid #dbe3e8;

    justify-content: space-between;
    align-items: center;
}
.accordion__item .accordion__label:hover
{
    cursor: pointer;
}

.accordion__item .accordion__body
{
    font-size: 14px;
    line-height: 22px;

    display: none; 

    padding: 0 20px 20px 20px;
}

.accordion__item.show .accordion__label
{
    opacity: 1;
}
.accordion__item.show .accordion__label [class^='icon']::before
{
    content: '\e915';
}

.accordion__item.show .accordion__body
{
    display: block;
}

.list--down
{
    font-size: 14px; 
    font-weight: normal;
}
.list--down .icon-down,
.list--down .icon-up
{
    margin-right: 10px;
}
.list--down li + li
{
    margin-top: 15px;
}
@media screen and (min-width: 1020px)
{
    .list--down li
    {
        display: inline-block;

        margin-right: 20px;
        margin-bottom: 20px;
    }
    .list--down li + li
    {
        margin-top: 0;
    }
}

.list-image--04 .list-image__link .list-image__img
{
    min-height: 77px;
}
@media screen and (min-width: 1020px)
{
    .list-image--04 .list-image__link .list-image__img
    {
        min-height: 120px;
    }
}

.list-image__link
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 34px; 

    border-radius: 4px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
}
.list-image__link .list-image__img
{
    display: block;

    min-height: 160px;

    text-align: center;
}
.list-image__link .list-image__img picture img
{
    height: auto;
}
.list-image__link .list-image__img img
{
    max-width: 100%; 
    margin: 0 auto;
}
.list-image__link .list-image__desc
{
    padding: 20px 20px 0;
}
.list-image__link .list-image__desc p
{
    font-size: 14px;
    font-weight: normal;
    line-height: 22px;

    text-align: left;
    letter-spacing: 0;
}
.list-image__link .anchor-column
{
    position: absolute;
    bottom: 10px;
    left: 0;

    width: 100%; 

    text-align: center;
}
.list-image__link .anchor-column .icon-down,
.list-image__link .anchor-column .icon-up
{
    background-color: transparent;
}
.list-image__link .anchor-column .icon-down::before,
.list-image__link .anchor-column .icon-up::before
{
    display: block; 

    content: '\e903';
    transform: rotate(90deg);

    color: #2076c7;
}

.list-image
{
    margin-right: -10px; 
    margin-left: -10px;
}
.list-image li
{
    max-width: 100%;
    padding-right: 10px; 
    padding-left: 10px;

    flex-basis: 0;
    flex-grow: 1;
}
.list-image li a
{
    height: 100%;
}
.list-image--04 .list-image__link .list-image__desc
{
    padding: 14px 14px 0;
}
@media screen and (min-width: 1020px)
{
    .list-image
    {
        display: flex;
    }
}
@media screen and (max-width: 1019px)
{
    .list-image--04
    {
        display: flex;

        margin-right: -5px; 
        margin-left: -5px;

        flex-wrap: wrap;
    }
    .list-image--04 li
    {
        display: inline-table;

        width: 50%;
        margin-bottom: 10px; 
        padding-right: 5px;
        padding-left: 5px;

        flex-basis: 50%;
    }
    .list-image:not(.list-image--04) li + li
    {
        margin-top: 20px;
    }
}

.list-link-box > li
{
    border-top: 1px solid #cdd6dd;
}
.list-link-box > li a
{
    line-height: 24px; 

    max-width: 100%;

    border: none;
    border-right: none;
    border-bottom: none;
    border-left: none;
}
.list-link-box > li:last-child
{
    border-bottom: 1px solid #cdd6dd;
}

@media screen and (min-width: 1020px)
{
    .list-link-box > li a
    {
        display: inline-block;

        width: auto;
    }
    .list-link-box > li a .icon-arrow--right,
    .list-link-box > li a [class^='icon']
    {
        position: initial;

        display: initial;

        margin-left: 8px;

        transform: none;
    }
}

.link-bullet
{
    position: relative; 

    padding-left: 54px;
}
.link-bullet > img
{
    position: absolute;
    top: 50%;
    left: 15px;

    display: block;

    width: 30px;
    height: 30px;

    transform: translateY(-50%);

    border-radius: 50%;
}
.link-bullet--show [class^='icon']
{
    right: 16px;
}
.link-bullet--show [class^='icon']::before
{
    display: block; 

    transform: rotate(90deg);
}

.link-complex
{
    line-height: 1.5; 

    display: inline-block;

    padding: 16px 44px 14px 14px;
}
.link-complex__sublabel
{
    font-size: 14px;
    line-height: 1.5;

    margin-bottom: 2px; 

    letter-spacing: 0;

    color: #555;
}
.link-complex .accordion__label
{
    font-size: 16px;
}
.link-complex--icon
{
    position: relative;

    padding: 18px 44px 18px 54px;
}
.link-complex--icon > img
{
    position: absolute;
    top: 50%;
    left: 15px;

    display: block;

    width: 30px;
    height: 30px;

    transform: translateY(-50%);

    border-radius: 50%;
}
.link-complex--long
{
    max-width: 420px;
}
.link-complex--title
{
    max-width: none;
    height: 100%; 
    padding-top: 14px;
    padding-bottom: 14px;
}
.link-complex--title .link-complex__title
{
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3125;

    margin-bottom: 4px;
}
.link-complex--title .link-complex__label
{
    color: #555;
}

.list-button
{
    display: flex;

    margin-right: -5px; 
    margin-left: -5px;

    flex-wrap: wrap;
}
.list-button__col
{
    margin-bottom: 10px; 
    padding-right: 5px;
    padding-left: 5px;
}
.list-button--03 .list-button__col
{
    width: 50%;
}
@media screen and (min-width: 1020px)
{
    .list-button
    {
        margin-right: -10px; 
        margin-left: -10px;
    }
    .list-button__col
    {
        padding-right: 10px; 
        padding-left: 10px;
    }
    .list-button__col > .link-icon,
    .list-link-box > li .list-button__col > a,
    .list-button__col > .link-bullet,
    .list-button__col > .link-complex,
    .list-button__col > [class^='btn']
    {
        height: 100%;
    }
    .list-button--03
    {
        max-width: 760px;
        margin: auto; 

        justify-content: center;
    }
    .list-button--03 .list-button__col
    {
        width: 33.333333%;
    }
    .list-button--04
    {
        max-width: none;

        justify-content: center;
    }
    .list-button--04 .list-button__col
    {
        width: 25%;
    }
}

.tags
{
    font-size: 0; 

    margin-right: -3px;
    margin-left: -3px;
}
.tags .tags__item
{
    display: inline-block;

    padding-right: 3px; 
    padding-left: 3px;
}
.tags .tags__name
{
    font-size: 13px;
    font-weight: 600;
    line-height: 26px;

    display: inline-block;

    margin-bottom: 5px; 
    padding-right: 12px;
    padding-left: 12px;

    text-align: left;

    color: #fff;
    border-radius: 13px;
    background: #adadad;
}
.tags .tags__name.tags__name--active
{
    background: #2076c7;
}

.btn-close
{
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;

    display: flex;

    text-align: center;
    text-align: center;

    justify-content: center;
    align-items: center;
}
.btn-close img
{
    max-width: 24px;
    height: auto;
    margin-right: 6px;
}

.link-anchor
{
    line-height: 22px; 

    display: inline-flex;
}
.link-anchor [class^='icon-']
{
    margin-right: 8px;
}
.link-anchor + .link-anchor
{
    margin-left: 20px;
}

.form-group,
.check-list,
ul.accordion,
ul.list--down,
ul.list-link-box,
.link-contact,
.btn-close
{
    margin-bottom: 20px;
}
.form-group:last-child,
.check-list:last-child,
ul.accordion:last-child,
ul.list--down:last-child,
ul.list-link-box:last-child,
.link-contact:last-child,
.btn-close:last-child
{
    margin-bottom: 0;
}

.steps
{
    margin-bottom: 40px;
}
.steps:last-child
{
    margin-bottom: 0;
}

ul.steps__list
{
    margin-right: -15px; 
    margin-left: -15px;
}

ul.tabs,
ul.segment,
div.segment,
.tabs--overflow
{
    margin-bottom: 30px;
}
ul.tabs:last-child,
ul.segment:last-child,
div.segment:last-child,
.tabs--overflow:last-child
{
    margin-bottom: 0;
}

.list-button,
.link-group
{
    margin-bottom: 10px;
}
.list-button:last-child,
.link-group:last-child
{
    margin-bottom: 0;
}

/* Column Video Modules
======================================*/
@media screen and (max-width: 1019px)
{
    .column--video
    {
        padding: 0 5px;
    }
}

@media screen and (min-width: 1020px)
{
    .column__group--video-01
    {
        padding-right: 140px; 
        padding-left: 140px;
    }
}

.column--video
{
    margin-bottom: 20px;
}
.column--video:last-child
{
    margin-bottom: 0;
}
.column--video .video
{
    position: relative; 

    display: flex;

    width: 100%;
}
.column--video .video:before
{
    padding-bottom: 56.25%;

    content: '';
}


/* Modal Modules
======================================*/
.modal
{
    position: fixed;
    z-index: 1050;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: none;
    overflow: hidden;

    transition: opacity .4s; 

    opacity: 0;
    outline: 0;
    background: rgba(0, 0, 0, .3);
}
.modal .modal__dialog
{
    position: relative;

    height: 100%; 

    opacity: 0;
}
.modal .modal__dialog .modal__content
{
    position: relative;
    top: 50%;
    left: 50%;

    width: calc(100% - 40px);
    padding: 20px; 

    transform: translate(-50%, -50%);

    background-color: #fff;
}
.modal .modal__dialog .modal__content .modal__body
{
    overflow-y: auto;
    /*
    height: calc(100vh - 200px);
    */
}
.modal .modal__dialog .modal__close
{
    position: absolute;
    top: -14px;
    right: -14px;

    display: block;

    width: 40px;
    height: 40px;

    text-indent: -9999px;

    background: url(../imgs/icon-close.svg) no-repeat center center;
    background-size: cover;
}
.modal.show
{
    display: block; 

    opacity: 1;
}
.modal.show .modal__dialog
{
    -webkit-animation: fadein .5s forwards;
            animation: fadein .5s forwards;
    -webkit-animation-delay: .1s;
            animation-delay: .1s;
}

.modal-open
{
    overflow: hidden;
}

.modal-open .modal
{
    overflow-x: hidden;
    overflow-y: auto;
}

@media screen and (min-width: 769px)
{
    .modal__dialog .modal__content
    {
        max-width: 920px;
    }
    .modal__dialog .modal__content .close
    {
        top: -20px; 
        right: -20px;
    }
    .modal__dialog .modal__content__body
    {
        max-height: 600px;
    }
}

/* Popup Modules
======================================*/
.popup
{
    position: fixed;
    z-index: 1050;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: none;
    overflow: hidden;

    transition: opacity .4s; 

    opacity: 0;
    outline: 0;
    background: rgba(0, 0, 0, 0);
}
.popup .popup__dialog
{
    position: relative;

    height: 100%; 

    opacity: 0;
}
.popup .popup__dialog .popup__content
{
    position: relative;
    top: calc(50% - 20px);
    left: 50%;

    width: calc(100% - 40px);
    padding: 20px; 

    transform: translate(-50%, -50%);

    background-color: #f6f8f9;
}
.popup .popup__dialog .popup__content__body
{
    overflow-y: auto;

    height: calc(100vh - 300px);
}
.popup .popup__dialog .close
{
    position: absolute;
    right: calc(50% - 78px / 2);
    bottom: -40px;
}
.popup .popup__dialog .close span
{
    position: relative;

    padding-left: 30px;
}
.popup .popup__dialog .close span:before
{
    position: absolute;
    left: 0;

    width: 24px;
    height: 24px;

    content: '';

    background: url(../imgs/icon-close.svg) no-repeat center center;
    background-size: cover;
}
.popup.show
{
    display: block; 

    opacity: 1;
}
.popup.show .popup__dialog
{
    -webkit-animation: fadein .5s forwards;
            animation: fadein .5s forwards;
    -webkit-animation-delay: .1s;
            animation-delay: .1s;
}

.popup-open .popup
{
    overflow-x: hidden;
    overflow-y: auto;
}

@media screen and (min-width: 769px)
{
    .popup__dialog .popup__content
    {
        max-width: 920px;
    }
    .popup__dialog .popup__content .close
    {
        right: calc(50% - 78px / 2);
        bottom: -40px;
    }
    .popup__dialog .popup__content__body
    {
        max-height: 560px;
    }
}

/* Header Modules
======================================*/
.header
{
    font-family: Roboto, 'Noto Sans JP', sans-serif;

    position: fixed;
    z-index: 9900;
    top: 0;

    width: 100%;
    height: auto; 

    background-color: #fff;
}
.modal-open .header{
    z-index: 1000;
}

@media screen and (max-width: 1019px)
{
    .header
    {
        position: fixed;
    }
}
.header.header--scroll
{
    position: fixed;
}
@media screen and (max-width: 1019px)
{
    .header.header--scroll
    {
        position: relative;
    }
}


/* Header MainMenu
======================================*/
.header__main-menu
{
    border-bottom: 1px solid #dbe3e8;
}
@media screen and (max-width: 1019px)
{
}
.header__main-menu .header__container
{
    display: flex;

    box-sizing: border-box;
    width: 100%;
    max-width: 1220px;
    margin: 0 auto; 
    padding: 0 10px;

    transition: .3s 0s all ease-in-out;

    justify-content: space-between;
}
@media (min-width: 769px) and (max-width: 1199px)
{
    .header__main-menu .header__container
    {
        width: 100%;
        padding: 0 40px;
    }
}
.header__main-menu .header__container .header__container__column
{
    width: 100%;
    height: 70px;
}
@media (min-width: 769px) and (max-width: 1199px)
{
}

.header__main-menu .header__container__column--left
{
    display: flex;
    flex-direction: row;

    min-width: calc(100% - 184px); 

    align-items: center;
    justify-content: space-between;
}
@media (min-width: 769px) and (max-width: 1199px)
{
}
.header__main-menu .header__container__column--left .header__logo--pc a
{
    display: block;

    width: 161px;
}
.header__main-menu .header__container__column--left .header__logo--pc a:hover
{
    opacity: .7;
}
@media (min-width: 769px) and (max-width: 1199px)
{
}
.header__main-menu .header__container__column--left .header__logo--pc a img
{
    width: 100%;
    height: auto;

    -webkit-backface-visibility: hidden;
}
@media (min-width: 769px) and (max-width: 1199px)
{
}

.header__main-menu .header__container__column--right
{
    display: flex;
    flex-direction: row;
}
.header__main-menu .header__container__column--right .btn-xs
{
    font-size: 14px; 

    width: 87px;

    cursor: pointer;
}
@media (min-width: 769px) and (max-width: 1199px)
{
    .header__main-menu .header__container__column--right .btn-xs
    {
        font-size: 13px;

        width: 80px;
        height: 33px;
    }
}
.header__main-menu .header__container__column--right .header__main-menu__register
{
    margin-right: 10px;
}
.header__main-menu .header__container__column--right .display
{
    display: flex;
}
.header__main-menu .header__container__column--right .display--none
{
    display: none;
}

.header__main-menu nav
{
    padding-right: 14px;
}
@media (min-width: 769px) and (max-width: 1199px)
{
    .header__main-menu nav
    {
        width: 100%;
        padding-right: 0;
    }
}

.header__main-menu ul
{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 12px 0 0;
}
@media (min-width: 769px) and (max-width: 1199px)
{
}
.header__main-menu ul li
{
    position: relative;
    width: auto; 
    min-width: 55px; 
    list-style: none;
    cursor: pointer;
    font-size: 10px;
    line-height: 1.2;
    text-align: center;
}
@media (min-width: 769px) and (max-width: 1199px)
{
}
.header__main-menu ul li:last-child
{
    margin-right: 0;
}
.header__main-menu ul li a
{
    display: inline-block;
    padding: 26px 0 0 0;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-repeat: no-repeat;
    background-position: center 0;
}
.header__main-menu ul li.login a
{
    background-image: url(https://www.shinseibank.com/faq/common/imgs/icon-login.svg);
    background-size: 16px 20px;
}
.header__main-menu ul li.form a
{
    background-image: url(https://www.shinseibank.com/faq/common/imgs/icon-form.svg);
    background-size: 19px 20px;
}
.header__main-menu ul li.procedure a
{
    background-image: url(https://www.shinseibank.com/faq/common/imgs/icon-procedure.svg);
    background-size: 19px 20px;
}
.header__main-menu ul li a:hover
{
    opacity: .7;
}

.header__row
{
    padding: 0;
}
.header__row h2
{
    font-size: 18px;
    font-weight: 700;
    line-height: 21px;

    position: relative;

    display: none;

    padding-left: 20px;

    cursor: pointer; 

    opacity: 1;
}
.header__row h2 .icon-arrow--right
{
    font-size: 16px;

    position: absolute;
    top: 6px; 
    right: -20px;
}
@media screen and (max-width: 1019px)
{
    .header__row h2 .icon-arrow--right
    {
        font-size: 14px; 

        top: 17px;
        right: 20px;
    }
    .header__row h2 .icon-arrow--right:before
    {
        content: '\e904';
    }
}
@media screen and (max-width: 1019px)
{
    .header__row h2
    {
        font-size: 14px;

        display: flex;

        width: 100%;
        min-height: 49px;
        margin-top: -1px;
        padding-top: 10px;
        padding-right: 45px;
        padding-bottom: 8px; 

        border-top: 1px solid #dbe3e8;
        border-bottom: 1px solid #dbe3e8;
        background-color: #fff;

        align-items: center;
    }
    .header__row h2.border-bottom
    {
        border-bottom: 1px solid #dbe3e8;
    }
    .header__row h2.active .icon-arrow--right:before
    {
        content: '\e915';
    }
    .header__row h2.header-sub-menu__title--no-border
    {
        border-top: none;
    }
}

.header__row .header__row__content .header__container__row
{
    padding-top: 40px;
}
.header__row .header__row__content .header__container__row .btn-small
{
    display: flex;
    flex-direction: row; 

    max-width: 278px;

    align-items: center;
    justify-content: center;
}
.header__row .header__row__content .header__container__row .btn-small .icon-newtab
{
    font-size: 12px; 

    padding-left: 10px;
}
.header__row .header__row__content .header__container__row .btn-small .icon-newtab:before
{
    color: #fff;
}
@media screen and (max-width: 1019px)
{
    .header__row .header__row__content .header__container__row
    {
        padding-top: 30px;
        padding-bottom: 40px;
    }
    .header__row .header__row__content .header__container__row.header--border-top
    {
        border-top: 1px solid #dbe3e8;
    }
    .header__row .header__row__content .header__container__row.active
    {
        display: block;
    }
    .header__row .header__row__content .header__container__row.active.no-border
    {
        border-top: none;
    }
}

.header__row__content
{
    display: flex;

    flex-wrap: wrap;
}
@media screen and (max-width: 1019px)
{
    .header__row__content
    {
        display: none; 
        flex-direction: column;

        flex-wrap: unset;
    }
    .header__row__content.active
    {
        display: flex;

        border-bottom: 1px solid #dbe3e8;
    }
}
.header__row__content .header__container__column
{
    width: 250px;
    margin: 30px 20px 0 20px;
}
.header__row__content .header__container__column .header__container__column-group
{
    margin-bottom: 40px;
}
.header__row__content .header__container__column .header__container__column-group:last-child
{
    margin-bottom: 0;
}
@media (min-width: 769px) and (max-width: 1199px)
{
    .header__row__content .header__container__column
    {
        width: calc((100%) / 3 - 33px);
        margin-right: 16px; 
        margin-left: 16px;
    }
    .header__row__content .header__container__column.header__container__column--md-hide
    {
        display: none;
    }
    .header__row__content .header__container__column.header__container__column--reverse
    {
        display: flex;
        flex-direction: column-reverse;

        justify-content: flex-end;
    }
    .header__row__content .header__container__column.header__container__column--reverse .header__container__column-group
    {
        margin-bottom: 40px;
    }
}
@media screen and (max-width: 1019px)
{
    .header__row__content .header__container__column
    {
        width: 100%;
        margin: 0;
    }
    .header__row__content .header__container__column .header__container__column-group
    {
        margin-bottom: 0;
    }
    .header__row__content .header__container__column.header__container__column--reverse
    {
        display: unset;
    }
    .header__row__content .header__container__column.header__container__column--reverse .header__container__column-group
    {
        margin-bottom: 0;
    }
}
.header__row__content .header__container__column.active h3 .icon-arrow--right
{
    display: none;
}
.header__row__content .header__container__row
{
    width: 100%;
}

.header__row__content h3,
.header__row__content .header-sub-menu__link
{
    font-size: 15px;
    font-weight: 400;
    line-height: 21px;

    position: relative;

    display: flex; 

    padding-bottom: 12px;

    border-bottom: 2px solid #dbe3e8;
}
.header__row__content h3:nth-of-type(2),
.header__row__content .header-sub-menu__link:nth-of-type(2)
{
    margin-top: 40px;
}
@media screen and (max-width: 1019px)
{
    .header__row__content h3:nth-of-type(2),
    .header__row__content .header-sub-menu__link:nth-of-type(2)
    {
        margin-top: 0;
    }
}
@media screen and (max-width: 1019px)
{
    .header__row__content h3,
    .header__row__content .header-sub-menu__link
    {
        font-weight: 400;

        min-height: 48px;
        padding-top: 8px; 
        padding-bottom: 6px;
        padding-left: 30px;

        border-bottom: 1px solid #dbe3e8;

        align-items: center;
    }
}
.header__row__content h3 .icon-arrow--right,
.header__row__content h3 .icon-newtab,
.header__row__content .header-sub-menu__link .icon-arrow--right,
.header__row__content .header-sub-menu__link .icon-newtab
{
    font-size: 14px;

    position: absolute;
    top: 5px; 
    right: 0;
}
@media screen and (max-width: 1019px)
{
    .header__row__content h3 .icon-arrow--right,
    .header__row__content h3 .icon-newtab,
    .header__row__content .header-sub-menu__link .icon-arrow--right,
    .header__row__content .header-sub-menu__link .icon-newtab
    {
        top: 50%;
        right: 23px;

        transform: translate(0, -50%);
    }
}
.header__row__content h3 .icon-newtab,
.header__row__content .header-sub-menu__link .icon-newtab
{
    font-size: 12px;

    color: #2076c7;
}
@media screen and (max-width: 1019px)
{
    .header__row__content h3 .icon-newtab,
    .header__row__content .header-sub-menu__link .icon-newtab
    {
        font-size: 14px;
    }
    .header__row__content h3 .icon-newtab:before,
    .header__row__content .header-sub-menu__link .icon-newtab:before
    {
        content: '\e903';
    }
}
.header__row__content h3 .icon-plus,
.header__row__content .header-sub-menu__link .icon-plus
{
    font-size: 14px;

    position: absolute;
    top: 17px; 
    right: 20px;

    display: none;
}
@media screen and (max-width: 1019px)
{
    .header__row__content h3 .icon-plus,
    .header__row__content .header-sub-menu__link .icon-plus
    {
        display: block;
    }
}

@media screen and (max-width: 1019px)
{
    .header__row__content h3
    {
        margin-top: -1px;
        padding-right: 45px; 
        padding-left: 30px;

        border-top: 1px solid #dbe3e8;
        border-bottom: none;
        background-color: #fff;
    }
    .header__row__content h3.active
    {
        background-color: #fff;
    }
    .header__row__content h3.active .icon-plus:before
    {
        content: '\e915';
    }
}

@media screen and (max-width: 1019px)
{
    .header__row__content ul
    {
        display: none;

        border-top: 1px solid #dbe3e8;
    }
    .header__row__content ul.active
    {
        display: block;

        background-color: #f6f8f9;
    }
}

.header__row__content ul li
{
    padding: 5px 0 5px 15px; 

    list-style: none;
}
.header__row__content ul li:first-child
{
    padding-top: 10px;
}
@media screen and (max-width: 1019px)
{
    .header__row__content ul li:first-child
    {
        padding-top: 0;
    }
}
@media screen and (max-width: 1019px)
{
    .header__row__content ul li
    {
        margin: 0;
        padding: 0;
    }
}
.header__row__content ul li a
{
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;

    position: relative;
}
@media screen and (max-width: 1019px)
{
    .header__row__content ul li a
    {
        display: flex;

        width: 100%;
        min-height: 48px;
        padding: 10px 45px 8px 40px; 

        align-items: center;
    }
    .header__row__content ul li a:hover
    {
        opacity: 1;
    }
}
.header__row__content ul li a .icon-arrow--right
{
    font-size: 12px;

    position: absolute;
    top: 50%;
    left: -15px;

    transform: translate(0, -50%);
}
@media screen and (max-width: 1019px)
{
    .header__row__content ul li a .icon-arrow--right
    {
        font-size: 14px; 

        right: 23px;
        left: unset;
    }
}

.header-sub-menu__link
{
    font-weight: 400; 

    padding-right: 20px;
}
@media screen and (max-width: 1019px)
{
    .header-sub-menu__link
    {
        padding-right: 45px; 

        border: none;
        background-color: #f6f8f9;
    }
    .header-sub-menu__link:hover
    {
        opacity: 1;
    }
}


.header--simple
{
    position: static;

    display: flex;
    flex-direction: column; 

    height: 72px;

    border-bottom: 1px solid #dbe3e8;

    align-items: center;
    justify-content: center;
}
.header--simple .container
{
    margin: 0; 

    text-align: center;
}
@media screen and (max-width: 1019px)
{
    .header--simple
    {
        height: 60px;
    }
}
.header--simple #simple-logo
{
    width: 161px; 
    height: 41px;
}
.header--simple #simple-logo:hover
{
    opacity: .7;
}
@media screen and (max-width: 1019px)
{
    .header--simple #simple-logo
    {
        width: 126px; 
        height: 32px;
    }
    .header--simple #simple-logo:hover
    {
        opacity: 1;
    }
}

.js-header-sub-menu__child
{
    pointer-events: none;
}
@media screen and (max-width: 1019px)
{
    .js-header-sub-menu__child
    {
        pointer-events: auto;
    }
}

/* Footer Modules
======================================*/
.footer
{
    font-family: Roboto, 'Noto Sans JP', sans-serif; 

    position: relative;

    background-color: #f6f8f9;
}
@media screen and (max-width: 1019px)
{
    .footer
    {
        border-top: 1px solid #dbe3e8;
    }
}
.footer .footer__hr
{
    width: 100%;
    height: 1px;

    background-color: #dbe3e8;
}
.footer .footer__container
{
    width: 1260px;
    max-width: none;
    margin: 0 auto;
}
@media screen and (max-width: 1199px)
{
    .footer .footer__container
    {
        width: 100%;
    }
}
.footer .footer__container .footer__container__body
{
    margin: auto; 
    padding: 50px 0;
}
@media screen and (max-width: 1019px)
{
    .footer .footer__container .footer__container__body
    {
        padding: 30px 0;
    }
}
.footer .footer__container .footer__container__body h1
{
    font-size: 24px;
    font-weight: 700;
    line-height: 21px;

    text-align: center; 
    letter-spacing: .03em;
}
@media screen and (max-width: 1019px)
{
    .footer .footer__container .footer__container__body h1
    {
        font-size: 16px;
    }
}

.footer__sns
{
    display: flex;

    margin-top: 30px;

    justify-content: center;
}
@media screen and (max-width: 1019px)
{
    .footer__sns
    {
        margin-top: 15px;
    }
}
.footer__sns a
{
    width: 53px;
    height: 53px; 
    margin-right: 33px;
}
@media screen and (max-width: 1019px)
{
    .footer__sns a
    {
        width: 40px;
        height: 40px; 
        margin-right: 25px;
    }
}
.footer__sns a:last-child
{
    margin-right: 0;
}
.footer__sns img
{
    width: 53px; 
    height: 53px;
}
@media screen and (max-width: 1019px)
{
    .footer__sns img
    {
        width: 40px; 
        height: 40px;
    }
}

.footer__row
{
    margin-bottom: 50px;
    padding: 0;
}
@media screen and (max-width: 1019px)
{
    .footer__row
    {
        margin-bottom: 0;
    }
    .footer__row.footer__row--product .footer__row__content
    {
        display: none;
    }
    .footer__row.footer__row--product .footer__row__content.active
    {
        display: flex;
    }
}
.footer__row .footer__button--sp
{
    display: none;

    padding: 40px 0;

    border-top: 1px solid #dbe3e8;
}
.footer__row .footer__button--sp .btn-small
{
    flex-direction: row; 

    max-width: 278px;
}
.footer__row .footer__button--sp .btn-small [class*='icon-']
{
    font-size: 14px;

    padding-left: 15px;
}
.footer__row .footer__button--sp .btn-small [class*='icon-']:before
{
    color: #fff;
}
@media screen and (max-width: 1019px)
{
    .footer__row .footer__button--sp
    {
        display: block;
    }
    .footer__row .footer__button--sp.active
    {
        display: block; 

        border-top: 1px solid #dbe3e8;
    }
}
.footer__row .footer__row__content
{
    display: flex;

    flex-wrap: wrap;
}
@media screen and (max-width: 1019px)
{
    .footer__row .footer__row__content
    {
        flex-direction: column; 

        flex-wrap: unset;
    }
    .footer__row .footer__row__content.active
    {
        display: flex;
    }
}
.footer__row .footer__row__content .footer__container__column
{
    width: 255px;
    margin: 0 30px 0 30px;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__row .footer__row__content .footer__container__column
    {
        width: calc((100%) / 4 - 33px); 
        margin: 20px 16px 0 16px;
    }
}
@media (min-width: 1200px) and (max-width: 1280px)
{
    .footer__row .footer__row__content .footer__container__column
    {
        width: 238px;
    }
}
@media screen and (max-width: 1019px)
{
    .footer__row .footer__row__content .footer__container__column
    {
        width: 100%;
        margin: 0;
    }
    .footer__row .footer__row__content .footer__container__column .footer__container__column-group a:last-child,
    .footer__row .footer__row__content .footer__container__column .footer__container__column-group li:last-child
    {
        border-bottom: none;
    }
}
.footer__row .footer__row__content .footer__container__column.active .footer__sub-title .icon-arrow--right
{
    display: none;
}

.footer__row .footer__title
{
    font-size: 18px;
    font-weight: 400;
    line-height: 21px;

    position: relative; 

    padding-left: 30px;
}
.footer__row .footer__title [class^='icon-']
{
    font-size: 16px;

    position: absolute;
    top: 50%;
    right: 0;

    transform: translate(0, -50%); 

    color: #2076c7;
}
@media screen and (max-width: 1019px)
{
    .footer__row .footer__title [class^='icon-']
    {
        font-size: 14px;

        top: 50%;
        right: 20px;

        transform: translate(0, -50%);
    }
    .footer__row .footer__title [class^='icon-']:before
    {
        content: '\e904';
    }
}
.footer__row .footer__title.footer__title--inline
{
    display: inline;

    padding-right: 20px;
}
.footer__row .footer__title.footer__title--inline a
{
    padding-right: 20px;
}
@media screen and (max-width: 1019px)
{
    .footer__row .footer__title.footer__title--inline
    {
        display: flex;

        padding-right: 0;

        cursor: pointer; 

        opacity: 1;
    }
    .footer__row .footer__title.footer__title--inline a
    {
        width: 100%;
        padding-right: 45px;
    }
}
.footer__row .footer__title a
{
    position: relative;

    padding-right: 20px;
}
.footer__row .footer__title .icon-newtab
{
    font-size: 12px;

    position: absolute;
    right: 0;
}
@media screen and (max-width: 1019px)
{
    .footer__row .footer__title .icon-newtab
    {
        font-size: 14px; 

        right: 20px;
    }
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__row .footer__title
    {
        padding-left: 16px;
    }
}
@media screen and (max-width: 1019px)
{
    .footer__row .footer__title
    {
        font-size: 14px;
        font-weight: 700; 

        display: flex;

        width: 100%;
        min-height: 48px;
        padding-top: 10px;
        padding-bottom: 8px;
        padding-left: 20px;

        border-top: 1px solid #dbe3e8;
        background-color: #f6f8f9;

        align-items: center;
    }
    .footer__row .footer__title.active
    {
        background-color: #fff;
    }
    .footer__row .footer__title.active [class^='icon-']:before
    {
        content: '\e915';
    }
    .footer__row .footer__title a
    {
        padding-right: 45px; 

        pointer-events: none;
    }
    .footer__row .footer__title:hover a
    {
        opacity: 1;
    }
}

.footer__row .footer__container__column-group .footer__title
{
    margin-bottom: 15px;
    padding-bottom: 10px;
    padding-left: 0;

    border-bottom: 1px solid #dbe3e8;
}
.footer__row .footer__container__column-group .footer__title.footer__title--no-icon a
{
    padding-right: 0; 

    pointer-events: none;
}
.footer__row .footer__container__column-group .footer__title.footer__title--no-icon .icon-arrow--right
{
    display: none;
}
.footer__row .footer__container__column-group .footer__title a
{
    display: block;
}
@media screen and (max-width: 1019px)
{
    .footer__row .footer__container__column-group .footer__title
    {
        margin-bottom: 0;
        padding-bottom: 8px;
        padding-left: 20px;

        border-bottom: none;
    }
    .footer__row .footer__container__column-group .footer__title.footer__title--no-icon .icon-arrow--right
    {
        display: block;
    }
    .footer__row .footer__container__column-group .footer__title.footer__title--no-icon a
    {
        padding-right: 45px;
    }
    .footer__row .footer__container__column-group .footer__title a
    {
        width: 100%; 

        pointer-events: none;
    }
}

.footer__row__content .footer__sub-title,
.footer__row__content .footer__sub-title--link
{
    font-size: 15px;
    font-weight: 400;
    line-height: 21px;

    position: relative;

    display: flex;

    margin-top: 20px; 
    padding-bottom: 7px;

    border-bottom: 1px solid #dbe3e8;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__row__content .footer__sub-title,
    .footer__row__content .footer__sub-title--link
    {
        padding-right: 15px;
    }
}
@media screen and (max-width: 1019px)
{
    .footer__row__content .footer__sub-title,
    .footer__row__content .footer__sub-title--link
    {
        font-weight: 400;

        min-height: 48px;
        margin-top: 0; 
        padding-top: 10px;
        padding-bottom: 8px;
        padding-left: 30px;

        border-bottom: 1px solid #dbe3e8;

        align-items: center;
    }
}
.footer__row__content .footer__sub-title [class^='icon-'],
.footer__row__content .footer__sub-title--link [class^='icon-']
{
    font-size: 14px;

    position: absolute;
    top: 5px; 
    right: 0;
}
@media screen and (max-width: 1019px)
{
    .footer__row__content .footer__sub-title [class^='icon-'],
    .footer__row__content .footer__sub-title--link [class^='icon-']
    {
        top: 17px; 
        right: 23px;
    }
}
.footer__row__content .footer__sub-title .icon-newtab,
.footer__row__content .footer__sub-title--link .icon-newtab
{
    font-size: 12px;
}
@media screen and (max-width: 1019px)
{
    .footer__row__content .footer__sub-title .icon-newtab,
    .footer__row__content .footer__sub-title--link .icon-newtab
    {
        font-size: 14px;
    }
    .footer__row__content .footer__sub-title .icon-newtab:before,
    .footer__row__content .footer__sub-title--link .icon-newtab:before
    {
        content: '\e903';
    }
}
.footer__row__content .footer__sub-title .icon-plus,
.footer__row__content .footer__sub-title--link .icon-plus
{
    font-size: 14px;

    position: absolute;
    top: 16px; 
    right: 20px;

    display: none;
}
@media screen and (max-width: 1019px)
{
    .footer__row__content .footer__sub-title .icon-plus,
    .footer__row__content .footer__sub-title--link .icon-plus
    {
        display: block;
    }
}

@media screen and (max-width: 1019px)
{
    .footer__row__content .footer__sub-title
    {
        padding-right: 45px;

        cursor: pointer; 

        opacity: 1;
        border-top: 1px solid #dbe3e8;
        border-bottom: none;
        background-color: #fff;
    }
    .footer__row__content .footer__sub-title.active .icon-plus:before
    {
        content: '\e915';
    }
}

.footer__row__content .footer__container__column-group
{
    margin-top: 40px;
}
.footer__row__content .footer__container__column-group .footer__button--sp
{
    padding: 40px 0;
}
.footer__row__content .footer__container__column-group .footer__button--sp .btn-small
{
    max-width: 278px;
}
@media screen and (max-width: 1019px)
{
    .footer__row__content .footer__container__column-group .footer__button--sp
    {
        display: block;
    }
}
.footer__row__content .footer__container__column-group:nth-of-type(1)
{
    margin-top: 20px;
}
@media screen and (max-width: 1019px)
{
    .footer__row__content .footer__container__column-group
    {
        margin-top: 0;
    }
    .footer__row__content .footer__container__column-group:nth-of-type(1)
    {
        margin-top: 0;
    }
    .footer__row__content .footer__container__column-group.border-top__sp
    {
        border-top: 1px solid #dbe3e8;
    }
}
@media screen and (max-width: 1019px)
{
    .footer__row__content .footer__container__column-group .js-footer__sub-content
    {
        display: none;
    }
}

.footer__row__content .footer__sub-title--link
{
    font-weight: 400;

    padding-right: 20px;
}
.footer__row__content .footer__sub-title--link:nth-of-type(1)
{
    margin-top: 25px;
}
@media screen and (max-width: 1019px)
{
    .footer__row__content .footer__sub-title--link:nth-of-type(1)
    {
        margin-top: 0;
    }
}
@media screen and (max-width: 1019px)
{
    .footer__row__content .footer__sub-title--link
    {
        padding-right: 45px;
    }
    .footer__row__content .footer__sub-title--link:hover
    {
        opacity: 1;
    }
    .footer__row__content .footer__sub-title--link:nth-of-type(1)
    {
        margin-top: 0;
    }
}

@media screen and (max-width: 1019px)
{
    .footer__row__content ul
    {
        border-top: 1px solid #dbe3e8;
    }
    .footer__row__content ul.active
    {
        display: block;

        border-top: 1px solid #dbe3e8;
    }
    .footer__row__content ul.active li
    {
        border-bottom: 1px solid #dbe3e8;
    }
}

.footer__row__content ul.list__newtab li
{
    padding-left: 0;
}
.footer__row__content ul.list__newtab li a
{
    display: inline-block;
}
@media screen and (max-width: 1019px)
{
    .footer__row__content ul.list__newtab li a
    {
        display: flex;
    }
}

.footer__row__content ul li
{
    margin: 7px 0;
    padding-left: 15px; 

    list-style: none;
}
@media screen and (max-width: 1019px)
{
    .footer__row__content ul li
    {
        margin: 0;
        padding-left: 0;
    }
}
.footer__row__content ul li a
{
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;

    position: relative;
}
@media screen and (max-width: 1019px)
{
    .footer__row__content ul li a
    {
        display: flex;

        width: 100%;
        min-height: 48px;
        padding-top: 10px;
        padding-right: 45px; 
        padding-bottom: 8px;
        padding-left: 30px;

        align-items: center;
    }
    .footer__row__content ul li a:hover
    {
        opacity: 1;
    }
}
.footer__row__content ul li a .icon-arrow--right
{
    font-size: 12px;

    position: absolute;
    top: 2px; 
    left: -15px;
}
@media screen and (max-width: 1019px)
{
    .footer__row__content ul li a .icon-arrow--right
    {
        font-size: 14px;

        top: 50%;
        right: 23px;
        left: auto;

        transform: translate(0, -50%);
    }
}

.footer__row__content ul.list__newtab li a
{
    padding-right: 25px; 
    padding-left: 0;
}
.footer__row__content ul.list__newtab li a .icon-newtab
{
    position: absolute;
    top: 50%;
    right: 0;

    transform: translate(0, -50%);

    color: #2076c7;
}
@media screen and (max-width: 1019px)
{
    .footer__row__content ul.list__newtab li a
    {
        padding-left: 30px;
    }
    .footer__row__content ul.list__newtab li a .icon-newtab
    {
        font-size: 14px; 

        right: 23px;
    }
    .footer__row__content ul.list__newtab li a .icon-newtab:before
    {
        content: '\e903';
    }
}

@media screen and (max-width: 1019px)
{
    .footer__row__content ul.footer__sub-menu--list-l2 li a
    {
        padding-left: 40px;
    }
}

.footer__container__body--footer
{
    width: 1260px;
    margin: auto;
    padding-top: 40px;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__container__body--footer
    {
        width: 100%;
        padding: 40px 20px 0;
    }
}
@media screen and (max-width: 1019px)
{
    .footer__container__body--footer
    {
        width: 100%;
        padding: 0 0 10px !important;
    }
}

.footer__container__body--footer .footer__row--card
{
    display: flex;

    flex-wrap: wrap;
}
@media screen and (max-width: 1019px)
{
    .footer__container__body--footer .footer__row--card
    {
        display: none; 
        flex-direction: column;

        flex-wrap: unset;
    }
}
.footer__container__body--footer .footer__row--card .footer__link-card
{
    font-size: 14px;
    line-height: 21px;

    position: relative; 

    width: 255px;
    margin: 20px 30px 0 30px;
    padding-left: 15px;
}
.footer__container__body--footer .footer__row--card .footer__link-card:nth-of-type(1),
.footer__container__body--footer .footer__row--card .footer__link-card:nth-of-type(2),
.footer__container__body--footer .footer__row--card .footer__link-card:nth-of-type(3),
.footer__container__body--footer .footer__row--card .footer__link-card:nth-of-type(4)
{
    margin-top: 0;
}
.footer__container__body--footer .footer__row--card .footer__link-card.has-icon-new-tab
{
    position: static; 

    padding-left: 0;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__container__body--footer .footer__row--card .footer__link-card
    {
        width: calc((100%) / 4 - 33px); 
        margin: 20px 16px 0 16px;
    }
}
@media (min-width: 1200px) and (max-width: 1280px)
{
    .footer__container__body--footer .footer__row--card .footer__link-card
    {
        width: 238px;
    }
}
@media screen and (max-width: 1149px)
{
    .footer__container__body--footer .footer__row--card .footer__link-card br
    {
        display: none;
    }
}
@media screen and (max-width: 1019px)
{
    .footer__container__body--footer .footer__row--card .footer__link-card
    {
        width: 100%;
    }
}
.footer__container__body--footer .footer__row--card .footer__link-card .icon-arrow--right
{
    font-size: 12px; 

    position: absolute;
    top: 4px;
    left: 0;
}
.footer__container__body--footer .footer__row--card .footer__link-card .icon-newtab
{
    font-size: 12px;

    margin-top: -4px; 
    padding-left: 10px;
}

.footer__container__body--footer .footer__row--service
{
    margin-bottom: 0;
}
@media screen and (max-width: 1019px)
{
    .footer__container__body--footer .footer__row--service
    {
        display: none;
    }
}
.footer__container__body--footer .footer__row--service .footer__row__content
{
    margin-top: 0; 
    margin-left: 10px;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__container__body--footer .footer__row--service .footer__row__content
    {
        margin-left: 0;
    }
}
.footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column
{
    width: 208px;
    margin: 0 20px 0 20px;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column
    {
        width: calc(20% - 30px); 
        max-width: 208px;
        margin: 0 15px 0 15px;
    }
}
.footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column .footer__sub-title
{
    margin-bottom: 10px;
    padding-right: 0;

    border-bottom: 2px solid #dbe3e8;
}
.footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column a
{
    font-size: 14px;
    line-height: 21px;

    position: relative;
}
.footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column a .icon-arrow--right
{
    font-size: 12px;

    position: absolute;
    top: 2px; 
    left: 0;
}
.footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column a .icon-newtab:before
{
    color: #2076c7;
}
.footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column p
{
    line-height: 21px; 

    padding-left: 15px;
}
.footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column p a .icon-arrow--right
{
    left: -15px;
}
.footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column ul li
{
    margin: 6px 0;
    padding-left: 0;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column ul li
    {
        padding-right: 13px;
    }
}
.footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column ul li a
{
    padding-left: 0;
}
.footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column ul li a .footer__notation
{
    font-size: 9px;

    position: relative;

    display: inline-block;
}
.footer__container__body--footer .footer__row--service .footer__row__content .footer__container__column ul li a .icon-newtab
{
    font-size: 11px;

    margin-top: -4px; 
    margin-left: 10px;
}
.footer__container__body--footer .footer__row--service .footer__description
{
    font-size: 13px;
    font-weight: 400;
    line-height: 21px;

    margin-top: 20px; 
    padding-left: 30px;
}

.footer__fluid
{
    border-top: 1px solid #dbe3e8;
}
@media screen and (max-width: 1019px)
{
    .footer__fluid
    {
        border-top: none;
    }
}
.footer__fluid.footer__fluid--white
{
    padding-bottom: 40px; 

    background-color: #fff;
}
@media screen and (max-width: 1019px)
{
    .footer__fluid.footer__fluid--white
    {
        display: none;
    }
}
.footer__fluid .footer__container
{
    width: 1200px;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__fluid .footer__container
    {
        width: 100%;
    }
}
@media screen and (max-width: 1019px)
{
    .footer__fluid .footer__container
    {
        width: 100%;
    }
}
.footer__fluid .footer__container .footer__container__body
{
    width: 100%;
    padding-top: 40px;
    padding-bottom: 0;
}
@media screen and (max-width: 1019px)
{
    .footer__fluid .footer__container .footer__container__body
    {
        padding-top: 20px;
    }
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__fluid .footer__adobe .footer__container__body
    {
        width: 100%;
        padding-right: 20px; 
        padding-left: 20px;
    }
}
.footer__fluid .footer__adobe .footer__row
{
    display: flex;
    flex-direction: row;

    margin-bottom: 0; 
    padding: 0;

    justify-content: space-between;
}
.footer__fluid .footer__adobe .footer__row .footer__container__column img.image-adobe
{
    width: 158px; 
    height: 39px;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__fluid .footer__adobe .footer__row .footer__container__column img.image-adobe
    {
        max-width: none;
        margin-left: 16px;
    }
}
.footer__fluid .footer__adobe .footer__row .footer__container__column p
{
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;

    width: 1022px;
    padding-bottom: 7px; 

    letter-spacing: 0;

    color: #555;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__fluid .footer__adobe .footer__row .footer__container__column p
    {
        width: 100%;
        padding: 0 16px;
    }
}
.footer__fluid .footer__adobe .footer__row .footer__container__column .adobe-link__download
{
    font-size: 14px;
    line-height: 21px;

    position: relative;

    padding-right: 20px;

    color: #555;
}
.footer__fluid .footer__adobe .footer__row .footer__container__column .adobe-link__download [class*='icon-']
{
    font-size: 10px;

    position: absolute;
    top: 50%;
    right: 0;

    transform: translate(0, -50%);
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__fluid .footer__adobe .footer__row .footer__container__column .adobe-link__download
    {
        margin-left: 16px;
    }
}
.footer__fluid .footer__logo
{
    margin: 30px auto;

    text-align: center;
}
.footer__fluid .footer__logo img
{
    width: 112px; 
    height: 87px;
    margin: auto;
}
@media screen and (max-width: 1019px)
{
    .footer__fluid .footer__logo img
    {
        width: 99px; 
        height: 78px;
    }
}
.footer__fluid .footer__logo .footer__slogant
{
    font-size: 13px;
    line-height: 21px; 

    margin-top: 15px;

    color: #555;
}
.footer__fluid .footer__logo .footer__slogant span:first-child
{
    font-size: 14px; 

    padding-right: 10px;

    color: #555;
}
@media screen and (max-width: 1019px)
{
    .footer__fluid .footer__logo .footer__slogant
    {
        display: flex;
        flex-direction: column;
    }
    .footer__fluid .footer__logo .footer__slogant span:last-child
    {
        line-height: 19.5px;
    }
    .footer__fluid .footer__logo .footer__slogant span:first-child
    {
        padding-right: 0;
    }
}
.footer__fluid .footer__copy-right
{
    font-size: 10px;
    font-weight: 400;
    line-height: 19.5px; 

    display: flex;
    margin: 0;

    width: 1200px;
    height: 56px;

    letter-spacing: .03em;

    color: #555;

    align-items: center;
    justify-content: space-between;
}
.footer__fluid .footer__copy-right span:last-child
{
    font-size: 11px;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .footer__fluid .footer__copy-right
    {
        width: 100%;
        padding: 0 16px;
    }
}
@media screen and (max-width: 1019px)
{
    .footer__fluid .footer__copy-right
    {
        font-size: 11px;
        line-height: 19px;

        flex-direction: column;

        width: 100%;
        height: auto;
        padding: 0 20px 56px; 

        text-align: center;

        justify-content: center;

        display: block;
    }
    .footer__fluid .footer__copy-right span
    {
        display: block;
    }
    .footer__fluid .footer__copy-right span:last-child
    {
        font-size: 10px;
    }
}

.breadcrumb
{
    width: 100%;
    margin-top: 70px;
    border-bottom: 1px solid #dbe3e8; 
    background-color: #f6f8f9;
}
.breadcrumb .breadcrumb__container
{
    width: 1200px;
    margin: auto;
}
.breadcrumb .breadcrumb__container ul
{
    max-width: 1200px;
    min-height: 58px;
    margin: auto;
    padding: 17px 0;

    flex-wrap: wrap;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .breadcrumb .breadcrumb__container ul
    {
        width: 100%;
        padding: 17px 40px;
    }
}
@media screen and (max-width: 1019px)
{
    .breadcrumb .breadcrumb__container ul
    {
        min-height: 38px; 
        padding: 6px 20px;
    }
}
.breadcrumb .breadcrumb__container ul li
{
    font-size: 12px; 

    display: inline;

    margin-right: 5px;

    list-style: none;
}
.breadcrumb .breadcrumb__container ul li:last-child
{
    margin-right: 0;
}
.breadcrumb .breadcrumb__container ul li:last-child a
{
    pointer-events: none;
}
.breadcrumb .breadcrumb__container ul li a
{
    font-size: 12px;

    color: #555;
}
.breadcrumb .breadcrumb__container ul li a span
{
    padding-left: 10px;
}
.breadcrumb .breadcrumb__container ul li a span:before
{
    color: #555;
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .breadcrumb .breadcrumb__container
    {
        width: 100%;
    }
}
@media screen and (max-width: 1019px)
{
    .breadcrumb .breadcrumb__container
    {
        width: 100%;
    }
}

footer.simple-footer
{
    font-family: Roboto, 'Noto Sans JP', sans-serif; 

    position: absolute;
    bottom: 0;
    left: 0;

    display: flex;
    flex-direction: column;

    width: 100%;
    height: 60px;

    border-top: 1px solid #dbe3e8;
    background-color: #fff;

    align-items: center;
    justify-content: center;
}
footer.simple-footer .footer__fluid
{
    border-top: none;
    position: relative;
}
@media (min-width: 769px) and (max-width: 1199px)
{
    footer.simple-footer .footer__fluid
    {
        width: 100%;
    }
}
@media screen and (max-width: 1019px)
{
    footer.simple-footer
    {
        display: block;
        height: auto;
        padding-top: 15px;
    }
    footer.simple-footer .footer__pagetop
    {
        bottom: 10px;
    }
    footer.simple-footer .footer__fluid .footer__copy-right
    {
        padding-bottom: 45px;
    }
}
@media screen and (max-width: 768px)
{
    footer.simple-footer .footer__pagetop
    {
        bottom: 10px;
    }
}
footer.simple-footer .copy-right
{
    font-size: 13px;
    font-weight: 400;

    text-align: center; 

    color: #555;
}

.footer__pagetop
{
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;

    position: absolute;
    right: 0;
    bottom: 59px;

    display: flex;
    padding: 19px 18px 17px 57px;
    /*
    width: 50px;
    height: 50px;
    padding-top: 10px; 
    letter-spacing: -.05em;
    */

    cursor: pointer;

    color: #fff;
    background-color: #2076c7;
    border: 2px solid #fff;

    border-top-left-radius: 5px;
    border-top-right-radius: 5px;

    align-items: center;
    justify-content: center;
}
.footer__pagetop:hover
{
    opacity: .7;
}
.footer__pagetop .icon-arrow--up
{
    font-size: 20px;
    font-weight: 700; 

    position: absolute;
    /*
    top: 10px;
    right: 50%;
    */
    top: 16px;
    left: -4px;
    transform: translate(50%, 0) scale(.7);
}
.footer__pagetop .icon-arrow--up:before{
    color: #fff;
}
@media screen and (max-width: 1019px)
{
    .footer__pagetop
    {
        font-size: 12px;
        font-weight: 700;
        line-height: 30px;
        position: fixed;
        right: 20px;
        bottom: 70px;
        display: flex;
        width: 50px;
        height: 50px;
        padding: 10px 0 0 0;
        cursor: pointer;
        letter-spacing: -.05em;
        border-radius: 50%;
        align-items: center;
        justify-content: center;
        z-index:10;
    }
    .footer__pagetop .icon-arrow--up
    {
        font-size: 10px;
        font-weight: 700;
        position: absolute;
        top: 10px;
        right: 50%;
        left: auto;
        transform: translate(50%, 0) scale(.7);
    }
    
}
/*
@media screen and (max-width: 750px)
{
    .footer__pagetop
    {
        font-size: 3.99vw;
        width: 16.66vw; 
        height: 16.66vw;
        padding-top: 7.99vw;
    }
}
*/
.footer__menu-bottom
{
    line-height: normal; 

    display: flex;
    flex-direction: row;

    flex-wrap: wrap;
    justify-content: center;
}
.footer__menu-bottom li
{
    display: inline;
}
@media screen and (max-width: 1019px)
{
    .footer__menu-bottom
    {
        display: block;

        padding: 0 20px !important;
    }
}
.footer__menu-bottom span
{
    position: relative;

    width: 1px;
    height: 17px;
}
.footer__menu-bottom span:after
{
    position: absolute;
    top: calc(50%);
    right: 0;

    width: 1px;
    height: 17px;

    content: '';
    transform: translate(0, -50%); 

    background-color: #dbe3e8;
}
.footer__menu-bottom a
{
    font-size: 13px;
    font-weight: 400;
    line-height: 35px;

    position: relative;

    padding: 0 13px 0 10px;

    letter-spacing: .03em;

    color: #555;
}
@media screen and (max-width: 1019px)
{
    .footer__menu-bottom a
    {
        line-height: 35px;
    }
}
.footer__menu-bottom li:first-child a
{
    padding-left: 0;
}
.footer__menu-bottom li:last-child a
{
    padding-right: 0;
}
.footer__menu-bottom li:last-child span
{
    display: none;
}

@media screen and (max-width: 1019px)
{
    .border-bottom__sp
    {
        border-bottom: 1px solid #dbe3e8 !important;
    }
    .border-bottom__sp.active
    {
        border-bottom: none !important;
    }
}

.js-footer__sub-title
{
    cursor: pointer; 
    pointer-events: none;
}
.js-footer__sub-title a
{
    pointer-events: auto;
}
@media screen and (max-width: 1019px)
{
    .js-footer__sub-title
    {
        pointer-events: auto;
    }
}

/* Main Template
======================================*/
.container
{
    width: 1200px;
    max-width: none; 
    margin: 0 auto;
    padding-top: 130px;
    padding-bottom: 180px;
}
.breadcrumb + .container{
    padding-top: 60px;
}
@media screen and (max-width: 1019px)
{
    .container
    {
        padding-top: calc(70px + 8vw);
    }
    .breadcrumb + .container{
        padding-top: 8vw;
    }
}
@media (min-width: 1020px) and (max-width: 1199px)
{
    .container
    {
        width: calc(100% - 80px);
    }
}
@media screen and (max-width: 1019px)
{
    .container
    {
        width: calc(100% - 40px);
    }
}
.container .container__row
{
    padding: 0;
}
.container.container--without-nav
{
    width: 920px;
    margin-bottom: 80px;
}
@media (min-width: 769px) and (max-width: 919px)
{
    .container.container--without-nav
    {
        width: calc(100% - 40px);
    }
}
@media screen and (max-width: 1019px)
{
    .container.container--without-nav
    {
        width: calc(100% - 40px);
    }
}
.container.container--with-nav
{
    display: flex;
    flex-direction: row;

    margin-bottom: 80px; 

    justify-content: space-between;
}
@media screen and (max-width: 1019px)
{
    .container.container--with-nav
    {
        flex-direction: column;

        width: 100%; 
        margin-top: 0;
    }
    .container.container--with-nav .container__main
    {
        width: calc(100% - 40px);
        margin: 90px auto 0;
    }
}

.container__aside
{
    width: 240px;
}
@media screen and (max-width: 1019px)
{
    .container__aside
    {
        position: relative;

        width: 100%; 

        background-color: #fff;
    }
    .container__aside .aside__menu-sp .icon-menu .icon-arrow--up
    {
        transition: .2s 0s all ease-in-out; 
        transform: rotate(180deg);
    }
    .container__aside.active .aside__content
    {
        transform: translateY(0);
    }
    .container__aside.active .aside__menu-sp .icon-menu .icon-arrow--up
    {
        transform: rotate(0deg);
    }
    .container__aside.fixed
    {
        position: fixed;
        z-index: 900; 
        top: 0;
    }
}

.container__main
{
    width: 920px;
}
@media (min-width: 769px) and (max-width: 1199px)
{
    .container__main
    {
        width: calc(100% - 280px);
    }
}
@media screen and (max-width: 1019px)
{
    .container__main
    {
        width: 100%;
    }
}

.content__main,
.menu__modules
{
    background-color: #fff;
}

.menu__modules ol
{
    padding-left: 25px;
}
.menu__modules ol li
{
    font-size: 16px;
}
.menu__modules ol li + li
{
    margin-top: 0;
}

.simple-header .content__main .container.standard__without-nav
{
    margin-bottom: 40px;
}

.container__main--example
{
    display: flex;
    flex-direction: column; 

    height: 480px;

    background-color: #f6f8f9;

    align-items: center;
    justify-content: center;
}

.example-text
{
    font-size: 60px;
    font-weight: 700;

    text-align: center;
}
.example-text span
{
    font-size: 16px;
}

/* Table Modules
======================================*/
.table-responsive
{
    overflow-x: auto;
    overflow-y: hidden;

    margin-bottom: 20px;
}
.table-responsive:last-child
{
    margin-bottom: 0;
}
.table-responsive table
{
    margin-bottom: 0;
}

table
{
    width: 100%;
    margin-bottom: 20px; 

    table-layout: fixed;
    border-collapse: collapse;
}
table:last-child
{
    margin-bottom: 0;
}
@media screen and (max-width: 1019px)
{
    table .table__pc-visible
    {
        display: none;
    }
}
table .table__sp-visble
{
    display: none;
}
@media screen and (max-width: 1019px)
{
    table .table__sp-visble
    {
        display: block;
    }
}
table .table__cell--noborder
{
    border: none !important;
}
table .table__cell--narrow
{
    padding-right: 7px !important; 
    padding-left: 7px !important;
}
table .table__cell--bg-white
{
    background-color: #fff !important;
}
table .table__cell--bg-cyan
{
    background-color: #e8f1f9 !important;
}
table .table__cell--bg-lightcyan
{
    background-color: #f6f8f9 !important;
}
table .table__cell--valign-top
{
    vertical-align: top;
}
table .table__cell--valign-middle
{
    vertical-align: middle;
}
table .table__cell--valign-bottom
{
    vertical-align: bottom;
}
@media screen and (min-width: 1020px)
{
    table .table__vertical--pc
    {
        white-space: nowrap; 
        letter-spacing: .35em;
            -ms-writing-mode: tb-lr;
            -ms-writing-mode: tb-lr;

                writing-mode: tb-lr;
                writing-mode: vertical-lr;
        -webkit-writing-mode: vertical-lr;
    }
}
@media screen and (max-width: 1019px)
{
    table .table__vertical--sp
    {
        white-space: nowrap; 
        letter-spacing: .35em;
            -ms-writing-mode: tb-lr;
            -ms-writing-mode: tb-lr;

                writing-mode: tb-lr;
                writing-mode: vertical-lr;
        -webkit-writing-mode: vertical-lr;
    }
}
table td,
table th
{
    font-size: 14px;
    line-height: 1.57142857;

    padding: 20px;

    word-wrap: break-word; 

    border: 1px solid #dbe3e8;
}
@media screen and (max-width: 1019px)
{
    table td,
    table th
    {
        line-height: 1.42857142857;

        padding: calc(16/1020*100vw) calc(20/1020*100vw) calc(15/1020*100vw);
    }
}
@media screen and (max-width: 768px)
{
    table td,
    table th
    {
        padding: 20px;
    }
}
table td .text-link--icon,
table th .text-link--icon
{
    font-size: 16px;
}
table th
{
    font-weight: 700; 

    background-color: #e8f1f9;
}
table thead th
{
    padding: 11px 20px 10px;
}
table.table--th-left-switch th
{
    width: 232px;
}
table.table--th-left-switch td
{
    width: calc( 100% - 232px)/2;
}
@media screen and (max-width: 1019px)
{
    table.table--th-left-switch
    {
        border-bottom: 1px solid #dbe3e8;
    }
    table.table--th-left-switch td,
    table.table--th-left-switch th
    {
        display: flex;

        width: 100%;

        border-bottom: none;
    }
    table.table--th-left-switch th
    {
        padding: 11px 20px 10px; 

        justify-content: center;
    }
    table.table--th-left-switch td
    {
        flex-direction: column;
    }
}
table.table--th-left th
{
    width: 232px;
}
@media screen and (max-width: 1019px)
{
    table.table--th-left th
    {
        width: 82px;
    }
}
table.table-mix-content th
{
    width: 232px;
}
table.table-mix-content td
{
    vertical-align: top;
}
@media screen and (max-width: 1019px)
{
    table.table-mix-content
    {
        border-bottom: 1px solid #dbe3e8;
    }
    table.table-mix-content tr
    {
        display: flex;
        flex-direction: column;
    }
    table.table-mix-content th,
    table.table-mix-content td
    {
        width: 100%;

        border-bottom: none;
    }
    table.table-mix-content th
    {
        padding: 11px 14px 10px;
    }
    table.table-mix-content td
    {
        display: block; 

        padding-bottom: 20px;
    }
}
table.table--th-top th
{
    width: auto;
}
table.table--pseudo-switch th
{
    width: auto;
}
table.table--pseudo-switch th[scope='row']
{
    text-align: left; 

    background-color: #f6f8f9;
}
@media screen and (max-width: 1019px)
{
    table.table--pseudo-switch
    {
        border-bottom: 1px solid #dbe3e8;
    }
    table.table--pseudo-switch tr
    {
        display: flex;
        flex-direction: column;
    }
    table.table--pseudo-switch th,
    table.table--pseudo-switch td
    {
        border-bottom: none;
    }
    table.table--pseudo-switch th
    {
        padding: 11px 20px 10px;
    }
}
table.table--pseudo th
{
    width: auto;
}
table.table--pseudo th[scope='row']
{
    width: 33.33%;

    text-align: left; 

    background-color: #f6f8f9;
}
@media screen and (max-width: 1019px)
{
    table.table--pseudo td
    {
        padding: 11px 14px 10px;
    }
    table.table--pseudo th
    {
        padding: 11px 12px 10px;
    }
}
table.table--pseudo thead tr th:first-child
{
    width: 33.33%;
}
@media screen and (max-width: 1019px)
{
    table.table--pseudo thead tr th:first-child
    {
        width: 82px;
    }
}
table.table--th-span
{
    border: 1px solid #dbe3e8;
}
table.table--th-span td
{
    border: none;
}
table.table--th-span thead th
{
    padding: 11px 20px 10px;
}
table.table--th-span tbody tr:nth-child(even)
{
    background-color: #f6f8f9;
}
@media screen and (max-width: 1019px)
{
    table.table--th-span
    {
        border: none;
    }
    table.table--th-span tbody
    {
        display: flex;
        flex-direction: column;
    }
    table.table--th-span tbody tr:nth-child(even)
    {
        background-color: #fff;
    }
    table.table--th-span tbody tr:nth-child(odd)
    {
        background-color: #f6f8f9;
    }
    table.table--th-span tr
    {
        display: flex;

        flex-wrap: wrap;
    }
    table.table--th-span tr td
    {
        display: block; 

        width: 50%;
    }
    table.table--th-span tr td:nth-of-type(3)
    {
        padding-top: 0;
    }
    table.table--th-span tr td span
    {
        margin-bottom: 7px;
    }
}
table.table--scroll-fixed th
{
    width: 142px;
}
table.table--scroll-fixed td
{
    width: calc(100% - 142px)/3;
}
@media screen and (max-width: 1019px)
{
    table.table--scroll-fixed
    {
        table-layout: inherit;
    }
    table.table--scroll-fixed th
    {
        position: sticky;
        left: 0; 

        min-width: 82px;
        padding: 11px 14px 10px;
    }
    table.table--scroll-fixed th:after
    {
        position: absolute;
        top: 0; 
        right: -1px;

        width: 1px;
        height: 100%;

        content: '';

        background-color: #dbe3e8;
    }
    table.table--scroll-fixed th:before
    {
        position: absolute;
        top: 0; 
        left: -1px;

        width: 1px;
        height: 100%;

        content: '';

        background-color: #dbe3e8;
    }
    table.table--scroll-fixed td
    {
        width: calc(100% - 102px)/3;
        min-width: 112px;
        padding: 11px 14px 10px;
    }
}
table.table--scroll th[scope='row']
{
    width: 142px;
}
table.table--scroll th[scope='col']
{
    width: calc(100% - 142px)/3;

    text-align: left; 

    background-color: #f6f8f9;
}
@media screen and (max-width: 1019px)
{
    table.table--scroll
    {
        table-layout: inherit;
    }
    table.table--scroll th[scope='row']
    {
        min-width: 82px;
        padding: 11px 14px 10px;

        border: 1px solid #dbe3e8;
    }
    table.table--scroll th[scope='col'],
    table.table--scroll td
    {
        width: calc(100% - 82px)/3;
        min-width: 112px;
        padding: 11px 14px 10px;
    }
}
table.table-merge
{
    border: 1px solid #dbe3e8;
}
table.table-merge th
{
    width: 232px;
}
table.table-merge colgroup col:nth-of-type(1)
{
    width: 134px;
}
@media screen and (max-width: 1019px)
{
    table.table-merge colgroup col:nth-of-type(1)
    {
        width: 55px;
    }
}
table.table-merge colgroup col:nth-of-type(2)
{
    width: 94px;
}
@media screen and (max-width: 1019px)
{
    table.table-merge colgroup col:nth-of-type(2)
    {
        width: 57px;
    }
}
table.table-merge colgroup col:nth-of-type(3),
table.table-merge colgroup col:nth-of-type(4)
{
    width: calc(100% - 228px)/2;
}
@media screen and (max-width: 1019px)
{
    table.table-merge colgroup col:nth-of-type(3),
    table.table-merge colgroup col:nth-of-type(4)
    {
        width: calc(100% - 112px)/2;
    }
}
table.table-merge th,
table.table-merge td
{
    text-align: center;
}
table.table-merge thead th[rowspan='2']
{
    width: 228px;
}
@media screen and (max-width: 1019px)
{
    table.table-merge thead tr:first-child th:nth-of-type(2)
    {
        padding: 15px 7px 14px;
    }
}
@media screen and (max-width: 1019px)
{
    table.table-merge thead th[rowspan='2']
    {
        width: 111px;
    }
    table.table-merge thead th
    {
        width: auto;
        padding: 10px 7px 9px;
    }
}
table.table-merge tbody th
{
    background-color: #f6f8f9;
}
@media screen and (max-width: 1019px)
{
    table.table-merge tbody th
    {
        padding: 10px 7px 9px;
    }
    table.table-merge tbody .table__sp-visble
    {
        display: flex;
        flex-direction: column;
    }
}
table.table-separate th,
table.table-separate td
{
    width: auto;
    padding: 9px 14px 8px;

    text-align: center;
}
@media screen and (max-width: 1019px)
{
    table.table-separate th,
    table.table-separate td
    {
        padding: 9px 10px 8px;
    }
}
table.table-separate colgroup col:nth-of-type(1)
{
    width: 85px;
}
@media screen and (max-width: 1019px)
{
    table.table-separate colgroup col:nth-of-type(1)
    {
        width: 77px;
    }
}
table.table-separate colgroup col:nth-of-type(2)
{
    width: 160px;
}
table.table-separate colgroup col:nth-of-type(3),
table.table-separate colgroup col:nth-of-type(4),
table.table-separate colgroup col:nth-of-type(5),
table.table-separate colgroup col:nth-of-type(6)
{
    width: calc(100% - 245px)/4;
}
@media screen and (max-width: 1019px)
{
    table.table-separate colgroup col:nth-of-type(3),
    table.table-separate colgroup col:nth-of-type(4),
    table.table-separate colgroup col:nth-of-type(5),
    table.table-separate colgroup col:nth-of-type(6)
    {
        width: 122px;
    }
}
@media screen and (max-width: 1019px)
{
    table.table-separate colgroup col:nth-of-type(3)
    {
        width: 110px;
    }
}
table.table-separate tbody th
{
    padding-right: 30px;
    padding-left: 30px;

    background-color: #f6f8f9;
}
@media screen and (max-width: 1019px)
{
    table.table-separate tbody th
    {
        width: 77px;
    }
}
table.table-interest th
{
    padding-top: 14px;
    padding-bottom: 14px;
}
table.table-interest th img
{
    width: 100px;
    height: 41px;
    margin-bottom: 0;
}
table.table-interest thead th
{
    width: auto;
}
table.table-interest thead th:nth-of-type(1)
{
    width: 174px;
}
table.table-interest tbody th
{
    background-color: #f6f8f9;
}
@media screen and (max-width: 1019px)
{
    table.table-interest tbody th
    {
        display: block; 

        width: 100%;

        border-bottom: none;
    }
}
table.table-interest tbody td
{
    padding: 10px 14px;
}
table.table-interest tbody td p
{
    margin-bottom: 6px;
}
table.table-interest tbody td .table-interest__percent
{
    font-size: 26px;
    font-weight: 700;
}
@media screen and (max-width: 1019px)
{
    table.table-interest tbody td .table-interest__percent
    {
        display: inline;
    }
}
table.table-interest tbody td .table-interest__desc
{
    margin-top: 8px; 
    margin-bottom: 0;
}
table.table-interest tbody td .table-interest__desc span
{
    font-weight: 400;
}
@media screen and (max-width: 1019px)
{
    table.table-interest tbody td .table-interest__desc
    {
        display: inline;

        padding-left: 0;
    }
}
@media screen and (max-width: 1019px)
{
    table.table-interest tbody
    {
        border-bottom: 1px solid #dbe3e8;
    }
    table.table-interest tbody td
    {
        display: block; 

        width: 100%;

        border-bottom: none;
    }
    table.table-interest tbody tr
    {
        display: flex;
        flex-direction: column;
    }
}

.table-responsive,
.table-merge
{
    margin-bottom: 20px;
}
.table-responsive:last-child,
.table-merge:last-child
{
    margin-bottom: 0;
}


/* Conversion Modules
======================================*/
.conversion
{
    /*
    font-family: Roboto, 'Noto Sans JP', sans-serif;
    */
    width: 100%;
    margin-bottom: 20px; 
    padding: 40px 30px;

    text-align: center;

    background-color: #f6f8f9;
}
.conversion:last-child
{
    margin-bottom: 0;
}
.conversion .sub-title
{
    margin-bottom: 10px;
}
.conversion .list-circle li:last-child
{
    margin-bottom: 0;
}
@media screen and (max-width: 1019px)
{
    .conversion
    {
        padding: 40px 20px;
    }
    .conversion .list-circle
    {
        text-align: left;
    }
    .conversion .link-group--inline .link-group__item
    {
        width: 101px;
    }
}
.conversion .text-warning,
.conversion .text-removed
{
    color: #e3215a;
}
.conversion p
{
    line-height: 22px;

    margin-bottom: 0;
}
.conversion .text-link--icon
{
    margin-top: 15px;
}
.conversion .text-link--icon:hover
{
    opacity: 70%;
}
.conversion .link-contact
{
    margin-top: 10px;
    margin-bottom: 15px; 
    padding: 0;

    background-color: #fff;
}
.conversion .link-contact__inner
{
    padding: 14px 20px;
}
@media screen and (min-width: 1020px)
{
    .conversion .link-contact
    {
        pointer-events: none;
    }
}

.conversion .h3
{
    font-size: 20px;

    margin-top: 5px;
    margin-bottom: 40px;
}

.conversion--multiple-patterns .h3
{
    margin-bottom: 20px;
}

.conversion--multiple-patterns .text-warning,
.conversion--multiple-patterns .text-removed
{
    margin-top: 5px;
}

.conversion--multiple-patterns .text-haslink
{
    margin-top: 15px;
}

.conversion--multiple-patterns .text-bold
{
    margin-top: 35px;
}

.conversion--multiple-patterns .btn-caption
{
    margin-top: 15px;
    padding: 8px 20px;
}

.conversion--consultation-patterns
{
    padding: 40px 0;
}
.conversion--consultation-patterns .h3
{
    margin-top: 5px;
    margin-bottom: 40px;
}
@media screen and (max-width: 1019px)
{
    .conversion--consultation-patterns
    {
        padding: 40px 20px;
    }
    .conversion--consultation-patterns .h3
    {
        margin-bottom: 20px;
    }
}
.conversion--consultation-patterns .conversion__row
{
    display: flex;
    flex-direction: row;

    background-color: #f6f8f9;
}
@media screen and (max-width: 1019px)
{
    .conversion--consultation-patterns .conversion__row
    {
        flex-direction: column;
    }
}
.conversion--consultation-patterns .conversion__row p
{
    text-align: left;
}
@media screen and (max-width: 1019px)
{
    .conversion--consultation-patterns .conversion__row p
    {
        text-align: center;
    }
}
.conversion--consultation-patterns .conversion__row .text-bold
{
    margin-top: 25px; 

    text-align: center;
}
.conversion--consultation-patterns .conversion__row .text-warning,
.conversion--consultation-patterns .conversion__row .text-removed
{
    margin-top: 5px;
}
.conversion--consultation-patterns .conversion__row .text-haslink
{
    margin-top: 15px;
}
.conversion--consultation-patterns .conversion__row .btn-caption
{
    margin-top: 17px;
}
.conversion--consultation-patterns .conversion__row .conversion__col
{
    width: 50%; 
    padding: 0 30px;
}
@media screen and (max-width: 1019px)
{
    .conversion--consultation-patterns .conversion__row .conversion__col
    {
        width: 100%;
        padding: 0 0 30px;
    }
}
.conversion--consultation-patterns .conversion__row .conversion__col:nth-of-type(2)
{
    text-align: left;

    border-left: 1px solid #d6dde3;
}
.conversion--consultation-patterns .conversion__row .conversion__col:nth-of-type(2) .text-bold
{
    margin-top: 0; 

    text-align: left;
}
@media screen and (max-width: 1019px)
{
    .conversion--consultation-patterns .conversion__row .conversion__col:nth-of-type(2)
    {
        padding-top: 30px;
        padding-bottom: 0;

        text-align: center;

        border-top: 1px solid #d6dde3; 
        border-left: none;
    }
    .conversion--consultation-patterns .conversion__row .conversion__col:nth-of-type(2) .text-bold
    {
        text-align: center;
    }
}

.conversion--login-system .h3,
.conversion--register-system .h3,
.conversion--product .h3,
.conversion--inactive-support .h3
{
    margin-bottom: 20px;
}

.conversion--simulation-system .h3,
.conversion--preliminary-review .h3
{
    margin-bottom: 14px;
}

.conversion--simulation-system .text-center,
.conversion--preliminary-review .text-center
{
    margin-bottom: 15px;
}

.conversion--contact
{
    margin-bottom: 40px; 
    padding: 40px 0;
}
.conversion--contact:last-child
{
    margin-bottom: 0;
}
@media screen and (max-width: 1019px)
{
    .conversion--contact
    {
        padding: 40px 20px;

        text-align: center;
    }
    .conversion--contact .h3
    {
        margin-bottom: 15px;
    }
}
.conversion--contact .text-bold
{
    margin-bottom: 10px;
}
@media screen and (max-width: 1019px)
{
    .conversion--contact .text-bold
    {
        text-align: center;
    }
}
.conversion--contact .link-contact
{
    width: 100%; 
    min-width: auto;
}
@media screen and (max-width: 1019px)
{
    .conversion--contact .link-contact
    {
        width: auto;
    }
}
.conversion--contact .link-icon,
.conversion--contact .list-link-box > li a,
.list-link-box > li .conversion--contact a,
.conversion--contact .link-bullet,
.conversion--contact .link-complex
{
    margin-bottom: 20px;
}
.conversion--contact .conversion__row
{
    display: flex;
    flex-direction: row;

    background-color: #f6f8f9;
}
@media screen and (max-width: 1019px)
{
    .conversion--contact .conversion__row
    {
        flex-direction: column;
    }
}
.conversion--contact .conversion__row .conversion__col
{
    width: 50%;
    padding: 0 30px;

    text-align: left;
}
@media screen and (max-width: 1019px)
{
    .conversion--contact .conversion__row .conversion__col
    {
        width: 100%;
        padding: 0 0 30px;
    }
}
.conversion--contact .conversion__row .conversion__col:nth-of-type(1)
{
    display: flex;

    justify-content: flex-end;
}
.conversion--contact .conversion__row .conversion__col:nth-of-type(1) .conversion__col-content
{
    max-width: 327px;
}
@media screen and (max-width: 1019px)
{
    .conversion--contact .conversion__row .conversion__col:nth-of-type(1) .conversion__col-content
    {
        width: 100%;
        max-width: none;

        text-align: center;
    }
}
.conversion--contact .conversion__row .conversion__col:nth-of-type(2)
{
    border-left: 1px solid #d6dde3;
}
.conversion--contact .conversion__row .conversion__col:nth-of-type(2) .conversion__col-content
{
    max-width: 300px;
}
@media screen and (max-width: 1019px)
{
    .conversion--contact .conversion__row .conversion__col:nth-of-type(2)
    {
        padding-top: 30px;
        padding-bottom: 0; 

        border-top: 1px solid #d6dde3;
        border-left: none;
    }
    .conversion--contact .conversion__row .conversion__col:nth-of-type(2) .conversion__col-content
    {
        width: 100%;
        max-width: none;

        text-align: center;
    }
    .conversion--contact .conversion__row .conversion__col:nth-of-type(2) .conversion__col-content .link-icon:last-child,
    .conversion--contact .conversion__row .conversion__col:nth-of-type(2) .conversion__col-content .list-link-box > li a:last-child,
    .list-link-box > li .conversion--contact .conversion__row .conversion__col:nth-of-type(2) .conversion__col-content a:last-child,
    .conversion--contact .conversion__row .conversion__col:nth-of-type(2) .conversion__col-content .link-bullet:last-child,
    .conversion--contact .conversion__row .conversion__col:nth-of-type(2) .conversion__col-content .link-complex:last-child
    {
        margin-bottom: 0;
    }
}

.conversion--consultation .h3
{
    margin-bottom: 20px;
}

@media screen and (max-width: 1019px)
{
    .conversion--consultation .link-box
    {
        padding: 18px 10px 10px;
    }
    .conversion--consultation .link-box:not(.link-box--horizontal) .link-box__inner
    {
        padding-top: 30px;
    }
    .conversion--consultation .link-box:not(.link-box--horizontal) .link-box__inner > span:first-child
    {
        height: auto;
    }
    .conversion--consultation .link-box:not(.link-box--horizontal) .link-box__inner span + span
    {
        padding-top: 0;
    }
    .conversion--consultation .link-box:not(.link-box--horizontal) .link-box__icon-task
    {
        width: 24px;
        height: auto;
    }
    .conversion--consultation .link-box:not(.link-box--horizontal) .link-box__icon-camera
    {
        width: 29px;
        height: auto;
        margin-top: 4px;
    }
    .conversion--consultation .link-box:not(.link-box--horizontal) .link-box__icon-chat
    {
        width: 25px;
        height: auto;
    }
}

.conversion-sim
{
    background-color: #fff;
}
@media screen and (max-width: 1019px)
{
    .conversion-sim .btn,
    .conversion-sim .btn-newtab
    {
        padding: 13px 15px 12px;
    }
}
.conversion-sim .h2
{
    margin-bottom: 35px;
}
.conversion-sim .h3
{
    margin-bottom: 25px;
}
.conversion-sim .list-check
{
    margin-bottom: 25px;
}
.conversion-sim--02 .btn--sub
{
    max-width: 360px;
}
.conversion-sim--03 .btn--sub
{
    max-width: 420px;
}

/* Step box Modules
======================================*/
.step-box
{
    width: 100%;
    height: 100%;

    border: 1px solid #dbe3e8;
    background: #fff;
}
.step-box__label
{
    font-size: 18px;

    text-align: center; 

    border-bottom: 1px solid #dbe3e8;
    background: #e8f1f9;
}
.step-box__label h3,
.step-box__label .h3
{
    font-size: 18px; 
    line-height: 1.22222222;

    margin-bottom: 0;
    padding: 14px;
}
.step-box__label p
{
    font-size: 14px;
    line-height: 1.42857143;
}
.step-box__img
{
    display: block;

    margin-bottom: 14px;
    padding: 20px 20px 0;

    text-align: center;
}
.step-box__img picture img
{
    height: auto;
}
.step-box__img img
{
    max-width: 100%; 
    margin: 0 auto;
}
.step-box__desc
{
    margin-top: 14px;
    padding: 0 20px 20px;
}
.step-box__desc .sub-head
{
    font-size: 14px; 

    margin-bottom: 7px;
}
.step-box--vertical .step-box__label
{
    display: flex;
    flex-direction: column;

    padding: 0 14px 14px; 

    justify-content: center;
}
.step-box--vertical .step-box__label h3,
.step-box--vertical .step-box__label .h3
{
    padding-bottom: 10px;
}
.step-box--toggle
{
    display: block;

    border-right: none; 
    border-left: none;
}
.step-box--toggle .step-box__label
{
    position: relative;

    padding-right: 34px; 
    padding-bottom: 14px;

    text-align: left;

    border-bottom: none;
    background-color: #fff;
}
.step-box--toggle .step-box__label p
{
    padding-right: 14px; 
    padding-left: 14px;
}
.step-box--toggle .step-box__label::before
{
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;

    position: absolute;
    top: 50%;
    right: 20px;

    content: '\e904';
    transform: translateY(-50%); 
    text-transform: none;

    color: #2076c7;

    speak: never;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.step-box--toggle .step-box__inner
{
    display: none;
}
.step-box--toggle .step-box__inner.flex-column .step-box__img
{
    padding-top: 6px;
}
.step-box--toggle.show .step-box__label::before
{
    content: '\e915';
}
.step-box--toggle.show .step-box__inner
{
    display: block;
}
@media screen and (min-width: 1020px)
{
    .step-box--vertical
    {
        display: flex;
    }
    .step-box--vertical .step-box__label
    {
        width: 25%;

        border-right: 1px solid #dbe3e8;
        border-bottom: none;
    }
    .step-box--vertical .step-box__inner
    {
        display: flex; 

        width: 75%;
    }
    .step-box--vertical .step-box__inner .step-box__img
    {
        width: 30%;
    }
    .step-box--vertical .step-box__inner .step-box__desc
    {
        width: 70%; 
        padding-left: 0;
    }
    .step-box--vertical .step-box__inner.flex-column .step-box__img
    {
        width: 100%;
    }
    .step-box--vertical .step-box__inner.flex-column .step-box__desc
    {
        width: 100%;
        margin-top: 0; 
        padding-left: 20px;
    }
    .step-box--toggle .step-box__inner:not(.flex-column) .step-box__img
    {
        width: 25%;
    }
    .step-box--toggle .step-box__inner:not(.flex-column) .step-box__desc
    {
        width: 75%;
        padding: 0 20px 20px 0;
    }
    .step-box--toggle.show .step-box__inner:not(.flex-column)
    {
        display: flex;
    }
    .step-box--toggle .step-box__label
    {
        cursor: pointer; 

        opacity: 1;
    }
}

.steps-box [class^='column__']
{
    position: relative;
}

.steps-box .column__sm--03
{
    padding-bottom: 0;
}

.steps-box .icon-connector
{
    font-size: 33px; 

    position: absolute;
}

.steps-box--vertical [class^='column__'] + [class^='column__']
{
    margin-top: 60px;
}

.steps-box--vertical .icon-connector
{
    top: -40px; 
    left: 50%;

    transform: translateX(-50%);
}
.steps-box--vertical .icon-connector::before
{
    display: block;

    transform: rotate(90deg);
}

.steps-box--toggle .step-box__label h3,
.steps-box--toggle .step-box__label .h3,
.steps-box--toggle .step-box__label p
{
    padding-left: 10px;
}

.steps-box--toggle .step-box__img
{
    margin-bottom: 20px;
    padding-right: 10px; 
    padding-left: 10px;
}

.steps-box--toggle .step-box__desc
{
    padding-right: 10px; 
    padding-left: 10px;
}

.steps-box--toggle [class^='column__']
{
    margin-bottom: 0; 
    padding-top: 0;
}
.steps-box--toggle [class^='column__'] + [class^='column__']
{
    margin-top: -1px;
}

@media screen and (min-width: 1020px)
{
    .steps-box
    {
        margin-right: -20px; 
        margin-left: -20px;
    }
    .steps-box [class^='column__']
    {
        padding-right: 20px; 
        padding-left: 20px;
    }
    .steps-box .icon-connector
    {
        top: 50%;
        left: -8px; 

        transform: translateY(-50%);
    }
    .steps-box--vertical .icon-connector
    {
        top: -45px; 
        left: 50%;

        transform: translateX(-50%);
    }
    .steps-box--vertical .icon-connector::before
    {
        display: block;

        transform: rotate(90deg);
    }
}

.steps-box--horizontal .step-box__img
{
    min-height: 100px;
}

@media screen and (max-width: 1019px)
{
    .steps-box--horizontal [class^='column__'] + [class^='column__']
    {
        margin-top: 40px;
    }
    .steps-box .icon-connector
    {
        top: -40px;
        left: 50%;

        transform: translateX(-50%);
    }
    .steps-box .icon-connector:before
    {
        display: block;

        transform: rotate(90deg);
    }
    .steps-box--vertical .icon-connector
    {
        top: -48px; 
        left: 50%;

        transform: translateX(-50%);
    }
}

/* Content area box Modules
======================================*/
.box-group
{
    margin-bottom: 20px; 
    padding: 20px;
}
@media screen and (max-width: 1019px)
{
    .box-group
    {
        margin-right: 5px; 
        margin-left: 5px;
    }
}
.box-group:last-child
{
    margin-bottom: 0;
}
.box-group__title
{
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;

    margin-bottom: 20px;
}
.box-group__desc
{
    font-size: 14px;
    line-height: 21px; 

    margin-bottom: 20px;
}
.box-group--border
{
    border: 1px solid #dbe3e8;
}
.box-group--alert
{
    border: solid 1px #fff2f4; 
    background-color: #fff2f4;
}

/* Content area Modules
======================================*/
.slider
{
    position: relative;
}
.slider .slick-list
{
    margin-bottom: 20px;
}

.slider__list
{
    transition: opacity .3s linear; 

    opacity: 0;
}

.slider__list.slick-initialized
{
    opacity: 1;
}

@media screen and (max-width: 1019px)
{
    .keyvisual--carousel .slick-list .slick-track
    {
        display: flex;
    }
    .keyvisual--carousel .slick-list .slick-slide
    {
        width: 100%;
        height: 180px; 
        margin: 0 7px;
    }
    .keyvisual--carousel .slick-list .slick-slide img
    {
        width: 100%;
        height: 100%;
    }
}

.slider__prev,
.slider__next
{
    position: absolute; 

    display: flex;

    width: 30px;
    height: 30px;

    transform: translateY(-50%);

    border-radius: 50%;
    box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .1);

    justify-content: center;
    align-items: center;
}
.slider__prev:hover,
.slider__next:hover
{
    cursor: pointer;

    opacity: 70%;
}
.slider__prev:focus,
.slider__next:focus
{
    outline: none;
}
.slider__prev.slick-disabled,
.slider__next.slick-disabled
{
    display: none !important;
}
.slider__prev:hover,
.slider__next:hover
{
    opacity: .7;
}

.slider__prev,
.slider__next
{
    top: calc(50% - 10px);
}
.slider__prev:focus,
.slider__next:focus
{
    outline: none;
}

.slider__prev
{
    left: 0;
}

.slider__next
{
    right: 0;
}

@media screen and (max-width: 1019px)
{
    .slider__list
    {
        margin-right: -10px; 
        margin-left: -10px;
    }
}

.slick-slide
{
    outline: none;
}
.slick-slide img
{
    display: block;
}

.slick-dots
{
    display: flex;

    text-align: center;

    justify-content: center;
}
.slick-dots li
{
    display: inline-block;

    cursor: pointer;
}
.slick-dots li:before
{
    display: block;

    width: 15px;
    height: 3px;

    content: '' !important;

    background-color: #cdd6dd;
}
.slick-dots li + li
{
    margin-left: 8px;
}
.slick-dots li.slick-active:before
{
    background-color: #2076c7;
}
.slick-dots li button
{
    display: none;
}

.keyvisual--single
{
    display: flex;
    overflow: visible;

    width: inherit; 

    justify-content: center;
    align-items: center;
}
.keyvisual--single picture
{
    position: relative;

    width: 100%;
    height: 180px;
    margin-right: calc(-50vw + 50%); 
    margin-left: calc(-50vw + 50%);
}
.keyvisual--single img
{
    width: auto;
    height: auto;
}

.image--single .image__wrap
{
    display: block;

    margin-bottom: 10px;
    padding: 0 5px;

    text-align: center;
}
.image--single .image__wrap picture
{
    width: 100%;
}
.image--single .image__wrap picture img
{
    height: auto;
}
.image--single .image__wrap img
{
    width: 100%;
    max-width: 100%; 
    margin: 0 auto;
}

@media screen and (max-width: 1019px)
{
    .image--single .image__caption
    {
        font-size: 12px;
    }
}

.image--banner,
.image--video
{
    display: block;

    text-align: center;
}
@media screen and (max-width: 1019px)
{
    .image--banner,
    .image--video
    {
        padding-right: 5px; 
        padding-left: 5px;
    }
}
.image--banner .video,
.image--video .video
{
    position: relative;

    display: flex;

    width: 100%;
    margin-right: 1px;
}
.image--banner .video:before,
.image--video .video:before
{
    padding-bottom: 56.25%;

    content: '';
}
.image--banner picture img,
.image--video picture img
{
    height: auto;
}
.image--banner img,
.image--video img
{
    width: 100%;
    max-width: 100%; 
    margin: 0 auto;
}
@media screen and (max-width: 1019px)
{
    .image--banner .image--single,
    .image--banner .image--banner,
    .image--banner .image--video,
    .image--video .image--single,
    .image--video .image--banner,
    .image--video .image--video
    {
        padding: 0 5px;
    }
}

.card-group
{
    display: block;
}
.card-group .card-group__item
{
    padding-right: 5px; 
    padding-left: 5px;
}
@media screen and (max-width: 1019px)
{
    .card-group .card-group__item
    {
        margin-bottom: 20px;
    }
}

.card
{
    overflow: hidden;

    height: 100%; 

    border-radius: 4px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
}
.card .card__image
{
    display: flex;

    width: 100%; 

    justify-content: center;
}
.card .card__image img
{
    width: 100%;
    height: 100%;
}
.card .card__body
{
    padding: 20px;
}
.card .card__body .card__title
{
    font-size: 18px;
    font-weight: 700; 
    line-height: 1.5;

    margin-bottom: 12px;
}
.card .card__body .card__content p
{
    font-size: 14px;
    line-height: 22px;
}
.card .card__body .card__link
{
    margin-top: 10px;
}
.card .card__body .card__link a
{
    font-size: 14px;
    font-weight: 400;
    line-height: 14px;

    cursor: pointer; 

    color: #2076c7;
}
.card .card__body .card__link a:hover
{
    opacity: .7;
}
.card .card__body .card__link a .icon-next::before
{
    margin-left: 10px; 

    content: '\e903';
    transform: rotate(90deg);

    color: #2076c7;
}

.card--wrap
{
    display: flex;
    overflow: hidden;
    flex-direction: column;

    min-width: 226px; 

    flex: 1;
}

.slider--carousel .card__image,
.slider--carousel-noheader .card__image,
.slider--carousel-info .card__image,
.slider--carousel-noheader-sm .card__image,
.slider--carousel-scrollable .card__image
{
    height: 160px;
}
.slider--carousel .card__image picture,
.slider--carousel-noheader .card__image picture,
.slider--carousel-info .card__image picture,
.slider--carousel-noheader-sm .card__image picture,
.slider--carousel-scrollable .card__image picture
{
    height: 160px;
}

.slider--carousel .card-group,
.slider--carousel-noheader .card-group,
.slider--carousel-noheader-sm .card-group,
.slider--carousel-scrollable .card-group,
.slider--carousel-padding .card-group,
.slider--carousel-info .card-group
{
    display: block;
}
.slider--carousel .card-group .card-group__item,
.slider--carousel-noheader .card-group .card-group__item,
.slider--carousel-noheader-sm .card-group .card-group__item,
.slider--carousel-scrollable .card-group .card-group__item,
.slider--carousel-padding .card-group .card-group__item,
.slider--carousel-info .card-group .card-group__item
{
    margin-top: 7px; 
    margin-bottom: 7px;
    padding-right: 7px;
    padding-left: 7px;
}
.slider--carousel .card-group .card-group__item a,
.slider--carousel-noheader .card-group .card-group__item a,
.slider--carousel-noheader-sm .card-group .card-group__item a,
.slider--carousel-scrollable .card-group .card-group__item a,
.slider--carousel-padding .card-group .card-group__item a,
.slider--carousel-info .card-group .card-group__item a
{
    outline: none;
}

.slider--carousel .slick-list,
.slider--carousel-noheader .slick-list,
.slider--carousel-noheader-sm .slick-list,
.slider--carousel-scrollable .slick-list,
.slider--carousel-padding .slick-list,
.slider--carousel-info .slick-list
{
    margin-bottom: 13px;
}
.slider--carousel .slick-list .slick-track,
.slider--carousel-noheader .slick-list .slick-track,
.slider--carousel-noheader-sm .slick-list .slick-track,
.slider--carousel-scrollable .slick-list .slick-track,
.slider--carousel-padding .slick-list .slick-track,
.slider--carousel-info .slick-list .slick-track
{
    display: flex;
}
.slider--carousel .slick-list .slick-track .slick-slide,
.slider--carousel-noheader .slick-list .slick-track .slick-slide,
.slider--carousel-noheader-sm .slick-list .slick-track .slick-slide,
.slider--carousel-scrollable .slick-list .slick-track .slick-slide,
.slider--carousel-padding .slick-list .slick-track .slick-slide,
.slider--carousel-info .slick-list .slick-track .slick-slide
{
    height: auto;
}

@media screen and (max-width: 1019px)
{
    .slider--carousel-noheader-sm .slider__list
    {
        margin-right: -10px; 
        margin-left: 0;
    }
}

.slider--carousel-noheader-sm .slick-list
{
    padding-left: 0 !important;
}

.slider--carousel-noheader-sm .toggle-show
{
    display: none !important;
}

.slider--carousel-noheader-sm .card .card__body .card__title
{
    font-size: 14px;
    line-height: 1.5; 

    margin-bottom: 12px;
}

@media screen and (max-width: 1019px)
{
    .slider--carousel-scrollable .slider__list
    {
        margin-right: -10px; 
        margin-left: 0;
    }
}

.slider--carousel-scrollable .slick-list
{
    padding-left: 0 !important;
}

.slider--carousel-scrollable .card-group .card-group__item .card--wrap
{
    min-width: 206px;
}

.slider--carousel-scrollable .toggle-show
{
    display: none !important;
}

.slider--carousel-padding .card-group .card-group__item .card
{
    border-radius: 0;
    background: #fff;
    box-shadow: 0 0;
}
.slider--carousel-padding .card-group .card-group__item .card .card__image
{
    height: 200px;
}
.slider--carousel-padding .card-group .card-group__item .card .card__image picture
{
    height: 200px;
}

.slider--carousel-info .card-group .card .card__body
{
    padding: 20px;
}
.slider--carousel-info .card-group .card .card__body .card__meta
{
    font-size: 18px;
    font-weight: 400;
    line-height: 25px;

    display: inline-block; 

    margin-top: -3px;
    margin-bottom: 6px;
}
.slider--carousel-info .card-group .card .card__body .card__meta .card__date
{
    float: left; 

    margin-right: 10px;
    margin-bottom: 0;
}
.slider--carousel-info .card-group .card .card__body .card__meta .tag
{
    font-size: 10px;
    line-height: 1;

    display: inline-block;
    overflow: hidden;

    max-width: 200px;
    height: 18px;
    margin-top: 3px;
    padding: 4px 7px;

    white-space: nowrap; 
    text-overflow: ellipsis;

    color: #fff;
    border-radius: 15px;
    background-color: #98a6b5;

    justify-content: center;
    align-items: center;
}

.slick-arrow
{
    opacity: 1;
}
.slick-arrow:hover
{
    opacity: .7;
}

@media screen and (min-width: 1020px)
{
    .keyvisual--carousel
    {
        padding-right: 20px; 
        padding-left: 20px;
    }
    .keyvisual--carousel .slider__item
    {
        position: relative; 

        width: 100%;
        height: 335px;
    }
    .keyvisual--carousel .slider__item img
    {
        width: auto;
        height: auto;
    }
    .keyvisual--single
    {
        height: 350px;
    }
}
@media screen and (min-width: 1020px) and (max-width: 1019px)
{
    .keyvisual--single
    {
        margin-right: -20px; 
        margin-left: -20px;
    }
}

@media screen and (min-width: 1020px)
{
    .keyvisual--single picture
    {
        height: 350px;
    }
    .keyvisual--single img
    {
        width: auto;
        height: auto;
    }
    .slider__prev,
    .slider__next
    {
        top: calc(50% - 10px); 

        width: 40px;
        height: 40px;
    }
    .slider__prev:focus,
    .slider__next:focus
    {
        outline: none;
    }
    .image--single .image__wrap
    {
        margin-bottom: 14px; 
        padding: 0 90px;
    }
    .image--single .image--caption
    {
        padding: 0 90px;
    }
    .image--banner
    {
        padding: 0 90px;
    }
    .image--video
    {
        padding: 0 90px;
    }
    .card-group
    {
        display: flex;

        margin-right: -9.5px; 
        margin-left: -9.5px;
    }
    .card-group .card-group__item
    {
        width: 33.333333%;
        padding-right: 9.5px; 
        padding-left: 9.5px;
    }
    .card
    {
        border-radius: 4px;
        background: #fff;
        box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
    }
    .card .card__body
    {
        padding: 20px;
    }
    .card .card__body .card__title
    {
        font-size: 18px;
        line-height: 1.5; 

        margin-bottom: 12px;
    }
    .card .card__body .card__content p
    {
        font-size: 14px;
        line-height: 22px;
    }
    .slider--carousel-noheader-sm .card__image,
    .slider--carousel-scrollable .card__image
    {
        height: 120px;
    }
    .slider--carousel-noheader-sm .card__image picture,
    .slider--carousel-scrollable .card__image picture
    {
        height: 120px;
    }
    .slider--carousel .card-group
    {
        display: block;

        margin-right: -10.5px; 
        margin-left: -10.5px;
        padding-right: 20px;
        padding-left: 20px;
    }
    .slider--carousel .card-group .card-group__item
    {
        padding-right: 10.5px; 
        padding-left: 10.5px;
    }
    .slider--carousel .card-group .card-group__item .card--wrap
    {
        min-width: 213px;
    }
    .slider--carousel .card-group .card .card__body
    {
        padding: 21px 20px 20px 20px;
    }
    .slider--carousel-noheader .card-group
    {
        display: block;

        margin-right: -10.5px; 
        margin-left: -10.5px;
        padding-right: 15px;
        padding-left: 23px;
    }
    .slider--carousel-noheader .card-group .card-group__item
    {
        padding-right: 10.5px; 
        padding-left: 10.5px;
    }
    .slider--carousel-noheader .card-group .card-group__item .card--wrap
    {
        min-width: 215px;
    }
    .slider--carousel-noheader-sm .card .card__image,
    .slider--carousel-scrollable .card .card__image
    {
        height: 120px;
    }
    .slider--carousel-noheader-sm .card .card__image picture,
    .slider--carousel-scrollable .card .card__image picture
    {
        height: 120px;
    }
    .slider--carousel-noheader-sm .card-group
    {
        display: block;

        margin-right: -9px; 
        margin-left: -9px;
        padding-right: 15px;
        padding-left: 23px;
    }
    .slider--carousel-noheader-sm .card-group .card-group__item
    {
        padding-right: 9px; 
        padding-left: 9px;
    }
    .slider--carousel-noheader-sm .card-group .card-group__item .card--wrap
    {
        min-width: 157px;
    }
    .slider--carousel-noheader-sm .card-group .card .card__body
    {
        padding: 14px;
    }
    .slider--carousel-noheader-sm .card-group .card .card__body .card__title
    {
        font-size: 14px;
        line-height: 1.5; 

        margin-bottom: 7px;
    }
    .slider--carousel-noheader-sm .toggle-show
    {
        display: block !important;
    }
    .slider--carousel-scrollable .card-group
    {
        display: block;

        margin-right: -9px; 
        margin-left: -9px;
        padding-right: 15px;
        padding-left: 23px;
    }
    .slider--carousel-scrollable .card-group .card-group__item
    {
        padding-right: 9px; 
        padding-left: 9px;
    }
    .slider--carousel-scrollable .card-group .card-group__item .card--wrap
    {
        min-width: 157px;
    }
    .slider--carousel-scrollable .card-group .card .card__body
    {
        padding: 14px;
    }
    .slider--carousel-scrollable .toggle-show
    {
        display: block !important;
    }
    .slider--carousel-padding .card-group
    {
        display: block;

        margin-right: -7px; 
        margin-left: -7px;
        padding-right: 7px;
        padding-left: 7px;
    }
    .slider--carousel-padding .card-group .card-group__item
    {
        padding-right: 7px; 
        padding-left: 7px;
    }
    .slider--carousel-padding .card-group .card-group__item .card
    {
        border-radius: 0;
        background: #fff;
        box-shadow: 0 0;
    }
    .slider--carousel-padding .card-group .card-group__item .card .card__image
    {
        height: 300px;
    }
    .slider--carousel-padding .card-group .card-group__item .card .card__image picture
    {
        height: 300px;
    }
    .slider--carousel-padding .card-group .card-group__item .card--wrap
    {
        min-width: 157px;
    }
    .slider--carousel-padding .slider__prev
    {
        left: 80px;
    }
    .slider--carousel-padding .slider__next
    {
        right: 80px;
    }
    .slider--carousel-info .card-group
    {
        display: block;

        margin-right: -10.5px; 
        margin-left: -10.5px;
        padding-right: 15px;
        padding-left: 23px;
    }
    .slider--carousel-info .card-group .card-group__item
    {
        padding-right: 10.5px; 
        padding-left: 10.5px;
    }
    .slider--carousel-info .card-group .card-group__item .card--wrap
    {
        min-width: 213px;
    }
}

.keyvisual--carousel,
.keyvisual--single,
.image--single,
.image--banner,
.image--video,
.card-group,
.slider
{
    margin-bottom: 20px;
}
.keyvisual--carousel:last-child,
.keyvisual--single:last-child,
.image--single:last-child,
.image--banner:last-child,
.image--video:last-child,
.card-group:last-child,
.slider:last-child
{
    margin-bottom: 0;
}

/* Content area others Modules
======================================*/
.extra-group--info
{
    display: flex;
}
@media screen and (max-width: 1019px)
{
    .extra-group--info
    {
        margin-right: 5px; 
        margin-left: 5px;
    }
}

.badge
{
    font-size: 10px;
    line-height: 1;

    display: inline-block;
    overflow: hidden;

    width: -webkit-fit-content;
    width:    -moz-fit-content;
    width:         fit-content;
    max-width: 800px;
    height: 16px;
    padding: 3px 7px;

    white-space: nowrap;
    text-overflow: ellipsis;

    color: #fff; 
    border-radius: 15px;

    justify-content: center;
    align-items: center;
}

.badge--medium
{
    font-size: 18px;
    font-weight: bold;
    line-height: 36px;

    display: inline-flex; 

    height: 36px;

    text-align: center;

    color: #fff;
    border: 1px solid #2076c7;
    border-radius: 4px;
    background: #2076c7;
}

.badge--new
{
    background-color: #e3215a;
}

.badge--task
{
    margin-left: 6px;

    background-color: #98a6b5;
}

.badge--campaign
{
    margin-left: 6px; 

    background-color: #fd501a;
}

.badge--information,
.badge--yen,
.badge--cardloan,
.badge--goremit,
.badge--stock_bond,
.badge--insurance,
.badge--news
{
    margin-left: 6px; 

    background-color: #00aaeb;
}

.badge--dcd
{
    margin-left: 6px; 

    background-color: #80c143;
}

.badge--gaika,
.badge--hl,
.badge--report,
.badge--shouhingaiyo,
.badge--service,
.badge--asset_operation,
.badge--trust
{
    margin-left: 6px; 

    background-color: #7fc040;
}

.badge--nisa_l,
.badge--vote
{
    margin-left: 6px; 

    background-color: #ff719c;
}

.badge--feature
{
    margin-left: 6px; 

    background-color: #fea134;
}

.badge--trust_monthryreport
{
    margin-left: 6px; 

    background-color: #3ec066;
}

.badge--important
{
    margin-left: 6px; 

    background-color: #e00d0d;
}

.badge--deal
{
    margin-left: 6px; 

    background-color: #52a11e;
}

.badge--tempo
{
    margin-left: 6px; 

    background-color: #4fc3c3;
}

.badge--seminar
{
    margin-left: 6px; 

    background-color: #4fc2c3;
}

.extra-group--tag
{
    display: flex;
}
@media screen and (max-width: 1019px)
{
    .extra-group--tag
    {
        margin-right: 5px; 
        margin-left: 5px;
    }
}
.extra-group--tag .label-task
{
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;

    display: flex;

    width: -webkit-fit-content;
    width:    -moz-fit-content;
    width:         fit-content;
    height: 50px;

    text-align: center;

    color: #fff; 
    border-radius: 95px;

    justify-content: center;
    align-items: center;
}
@media screen and (min-width: 1020px)
{
    .extra-group--tag .label-task
    {
        line-height: 18px; 

        height: 30px;
        padding-right: 14px;
        padding-left: 14px;
    }
}
.extra-group--tag .label-task--prioritize
{
    padding-right: 19px;
    padding-left: 19px;

    background-color: #2076c7;
}
@media screen and (min-width: 1020px)
{
    .extra-group--tag .label-task--prioritize
    {
        padding-right: 14px; 
        padding-left: 14px;
    }
}
.extra-group--tag .label-task--insurrance
{
    margin-left: 11px;
    padding-right: 35.5px;
    padding-left: 35.5px;

    background-color: #adadad;
}
@media screen and (min-width: 1020px)
{
    .extra-group--tag .label-task--insurrance
    {
        margin-left: 10px;
        padding-right: 14px; 
        padding-left: 14px;
    }
}

.extra-group--tag-icon
{
    display: flex;
    flex-direction: column;
}
@media screen and (max-width: 1019px)
{
    .extra-group--tag-icon
    {
        margin-right: 5px; 
        margin-left: 5px;
    }
}
.extra-group--tag-icon .label-group
{
    margin-left: -10px;
}
.extra-group--tag-icon .label-group .label
{
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;

    display: inline-flex;

    width: -webkit-fit-content;
    width:    -moz-fit-content;
    width:         fit-content;
    height: 36px;
    margin-left: 10px;
    padding-right: 14px;
    padding-left: 3px;

    text-align: center;

    color: #fff; 
    border-radius: 95px;
    background-color: #2076c7;

    justify-content: center;
    align-items: center;
}
@media screen and (min-width: 1020px)
{
    .extra-group--tag-icon .label-group .label
    {
        line-height: 18px; 

        height: 36px;
    }
}
.extra-group--tag-icon .label-group .label .label__icon
{
    display: flex;

    width: 30px;
    height: 30px;
    margin-right: 10px;

    border-radius: 50px;
    background-color: #fff; 

    justify-content: center;
    align-items: center;
}
.extra-group--tag-icon .label-group .label--blue
{
    margin-bottom: 14px; 

    background-color: #2076c7;
}
.extra-group--tag-icon .label-group .label--yellow
{
    background-color: #f5b011;
}
@media screen and (max-width: 1019px)
{
    .extra-group--tag-icon .label-group--sp-group
    {
        flex-direction: column;
    }
}

.icon-number
{
    display: inline-block;

    width: 30px;
    height: 30px;
    margin: 2.5px;

    border-radius: 50px;
    background-color: #2076c7;
    background-repeat: no-repeat; 
    background-position: center;
}

.icon-number--1
{
    background-image: url('../imgs/icon-number-1.svg');
}

.icon-number--2
{
    background-image: url('../imgs/icon-number-2.svg');
}

.icon-number--3
{
    background-image: url('../imgs/icon-number-3.svg');
}

.icon-number--4
{
    background-image: url('../imgs/icon-number-4.svg');
}

.icon-number--5
{
    background-image: url('../imgs/icon-number-5.svg');
}

.icon-number--6
{
    background-image: url('../imgs/icon-number-6.svg');
}

.icon-number--7
{
    background-image: url('../imgs/icon-number-7.svg');
}

.icon-number--8
{
    background-image: url('../imgs/icon-number-8.svg');
}

.icon-number--9
{
    background-image: url('../imgs/icon-number-9.svg');
}

.icon-number--10
{
    background-image: url('../imgs/icon-number-10.svg');
}

.icon-number--11
{
    background-image: url('../imgs/icon-number-11.svg');
}

.icon-number--12
{
    background-image: url('../imgs/icon-number-12.svg');
}

.icon-number--13
{
    background-image: url('../imgs/icon-number-13.svg');
}

.icon-number--14
{
    background-image: url('../imgs/icon-number-14.svg');
}

.icon-number--15
{
    background-image: url('../imgs/icon-number-15.svg');
}

.icon-number--16
{
    background-image: url('../imgs/icon-number-16.svg');
}

.icon-number--17
{
    background-image: url('../imgs/icon-number-17.svg');
}

.icon-number--18
{
    background-image: url('../imgs/icon-number-18.svg');
}

.icon-number--19
{
    background-image: url('../imgs/icon-number-19.svg');
}

.icon-number--20
{
    background-image: url('../imgs/icon-number-20.svg');
}

.extra-group--download
{
    display: flex;
    flex-direction: column;

    margin-bottom: 20px;
    padding-top: 40px;
    padding-bottom: 40px;

    background-color: #f6f8f9;
}
@media screen and (max-width: 1019px)
{
    .extra-group--download
    {
        margin-right: 5px; 
        margin-left: 5px;
    }
}
.extra-group--download:last-child
{
    margin-bottom: 0;
}
.extra-group--download .app-download__notifi
{
    font-size: 18px;
    font-weight: 700;
    line-height: 24px; 

    display: flex;

    margin-bottom: 30px;

    justify-content: center;
}
.extra-group--download .app-download__group
{
    display: flex;

    margin-left: -11px; 

    justify-content: center;
    align-items: center;
}
@media screen and (min-width: 1020px)
{
    .extra-group--download .app-download__group
    {
        margin-left: -20px;
    }
}
.extra-group--download .app-download__group .app-download__link
{
    display: flex;

    width: -webkit-fit-content;
    width:    -moz-fit-content;
    width:         fit-content;
    margin-left: 11px;
}
@media screen and (min-width: 1020px)
{
    .extra-group--download .app-download__group .app-download__link
    {
        margin-left: 20px;
        padding: 14px 30px;
    }
}
.extra-group--download .app-download__group .app-download__link .app-download__qr-code
{
    display: flex;

    width: 80px;
    height: 80px;
    margin-right: 30px;

    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 1019px)
{
    .extra-group--download .app-download__group .app-download__link .app-download__qr-code
    {
        display: none;
    }
}
.extra-group--download .app-download__group .app-download__link .app-download__qr-code img
{
    width: 100%;
    height: 100%;
}
.extra-group--download .app-download__group .app-download__link .app-download__link-os
{
    display: flex;

    justify-content: center;
    align-items: center;
}
.extra-group--download .app-download__group .app-download__link .app-download__link-os a
{
    width: 142px;
    max-width: 40vw; 
    height: 52px;

    background-repeat: no-repeat;
    background-position: center;
}
@media screen and (min-width: 1020px)
{
    .extra-group--download .app-download__group .app-download__link .app-download__link-os a
    {
        width: 150px;
        height: 51px;
    }
}


.extra-group--info,
.extra-group--tag,
.extra-group--tag-icon
{
    margin-bottom: 14px;
}
.extra-group--info:last-child,
.extra-group--tag:last-child,
.extra-group--tag-icon:last-child
{
    margin-bottom: 0;
}

/* Interest rate Modules
======================================*/
.ratebox
{
    overflow: hidden;

    border-radius: 4px;
    background-color: #fff; 
    box-shadow: 0 3px 7px rgba(0, 0, 0, .15);
}
.ratebox .text-regular,
.ratebox .text-subtext,
.ratebox .text-warning,
.ratebox .text-removed
{
    font-size: 14px; 
    line-height: 1.57142857;
}
.ratebox__header
{
    font-size: 16px;

    display: flex;

    margin-bottom: 0; 
    padding: 20px;

    background-color: #f6f8f9;

    justify-content: center;
    align-items: center;
}
.ratebox__header .ratebox__flag
{
    overflow: hidden; 

    width: 26px;
    height: 26px;
    margin-right: 6px;

    border-radius: 50%;
}
.ratebox__header .ratebox__flag img
{
    vertical-align: inherit;
}
.ratebox__header .ratebox__label
{
    font-weight: 700;
    line-height: 1.42857143;

    margin-top: -3px; 
    margin-bottom: -3px;
}
.ratebox__body
{
    padding: 20px 20px 0;
}
.ratebox__body .h4
{
    font-size: 18px;
    font-weight: 700; 

    margin-bottom: 20px;
}
.ratebox__body .text-subtext:first-child
{
    margin-bottom: 0;
}
.ratebox__body .text-center .h4
{
    font-size: 18px;
    font-weight: bold;
}
.ratebox__body .text-link--icon
{
    margin-top: 20px;
    margin-bottom: 20px;
}
.ratebox__body .list-circle
{
    margin-bottom: 20px;
}
.ratebox__body hr
{
    height: 1px;
    margin: 0; 

    border: none;
    background-color: #cdd6dd;
}
.ratebox__footer
{
    padding: 20px;
}
.ratebox__footer .text-number--rate
{
    font-size: 40px;

    position: relative;
    z-index: 1; 

    display: inline-block;

    margin-bottom: 20px;

    white-space: nowrap;
    letter-spacing: .02em;
    letter-spacing: 0;

    color: #2076c7;
}
@media screen and (max-width: 1019px)
{
    .ratebox__footer .text-number--rate
    {
        margin-bottom: 30px;
    }
}
.ratebox__footer .text-number--rate sub
{
    font-size: 24px;

    z-index: 1; 
    bottom: 0;
}
.ratebox__footer .text-number--rate sub:first-child
{
    margin-right: 7px;
}
.ratebox__footer .text-number--rate::after
{
    position: absolute;
    z-index: -1; 
    right: 0;
    bottom: -1px;
    left: 0;

    display: block;

    height: 8px;

    content: '';

    background-color: #e8f1f9;
}
.ratebox__footer .text-number--small
{
    font-size: 36px;
}
.ratebox__footer .text-number--small sub
{
    font-size: 20px;
}
.ratebox__footer .text-number--small sub:first-child
{
    margin-right: 7px;
}
.ratebox__footer .ratebox__additional
{
    margin-top: 0;
    margin-bottom: 20px; 
    padding: 20px;

    background-color: #f6f8f9;
}
.ratebox__footer .ratebox__additional .h4
{
    font-size: 16px;
    font-weight: bold;
    line-height: 22px;

    margin-bottom: 10px;
    padding: 0;
}
.ratebox__footer .text-regular + .text-subtext
{
    margin-top: 14px;
}
@media screen and (max-width: 1019px)
{
    .ratebox--exchange .ratebox__footer
    {
        padding: 14px 0 20px 0;
    }
    .ratebox--exchange .text-number--rate
    {
        font-size: 32px;
    }
    .ratebox--exchange .text-number--rate sub
    {
        font-size: 18px;
    }
    .ratebox--exchange .text-number--rate sub:first-child
    {
        margin-right: 0;
    }
}
.ratebox--recommend
{
    position: relative;

    padding-bottom: 80px;
}
.ratebox--recommend .badge--new
{
    font-size: 12px;
    line-height: 16px;

    height: 23px;
    padding-right: 10px;
    padding-left: 10px;

    border-radius: 11.5px;
}
.ratebox--recommend .badge--medium
{
    margin-top: 10px; 
    margin-right: 9px;
}
.ratebox--recommend .h4
{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.55555556;

    margin-bottom: 0;
    padding: 4px 14px 6px;
}
.ratebox--recommend .ratebox__footer .text-center
{
    display: flex;

    margin-bottom: 30px; 

    justify-content: center;
    align-items: center;
}
.ratebox--recommend .ratebox__footer .text-subtext
{
    margin-bottom: 0;
}
.ratebox--recommend .ratebox__footer .text-warning,
.ratebox--recommend .ratebox__footer .text-removed
{
    line-height: 22px;

    margin-top: 7px;
    margin-bottom: 0;
}
.ratebox--recommend .text-number--rate
{
    font-size: 50px;

    z-index: 1; 
    top: 17px;

    margin-bottom: 30px;
}
.ratebox--recommend .text-number--rate::after
{
    z-index: -1; 
    bottom: -6px;
}
.ratebox--recommend [class^='btn']
{
    position: absolute;
    bottom: 30px;
    left: 50%;

    margin-top: 20px;

    transform: translateX(-50%);
}
.ratebox--small .ratebox__header
{
    height: auto;
}
@media screen and (max-width: 1019px)
{
    .ratebox--small .ratebox__header
    {
        height: auto;
    }
}
.ratebox--small .ratebox__label
{
    font-size: 14px;
    line-height: 1.42857143; 

    max-width: 150px;
}
.ratebox--small .text-index
{
    margin-top: 14px;
    margin-bottom: 14px;
}
.ratebox--discount
{
    display: flex;
    flex-direction: column; 

    min-width: 224px;
}
.ratebox--discount .ratebox__header
{
    font-size: 16px;
}
.ratebox--discount .ratebox__footer
{
    position: relative;

    display: flex;

    padding-bottom: 56px;

    flex: 1 1 auto;
    justify-content: center;
    align-items: center;
}
.ratebox--discount .ratebox__footer .text-regular
{
    margin-bottom: 14px;
}
.ratebox--discount .ratebox__footer .text-subtext
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    padding: 0 20px 20px; 

    text-align: center;
}
@media screen and (min-width: 1020px)
{
    .ratebox
    {
        height: 100%;
    }
}

.ratebox--value .ratebox__header
{
    font-size: 16px;

    margin-bottom: 0;
}

.ratebox--value .ratebox__body p
{
    margin-bottom: 0;
}
.ratebox--value .ratebox__body p.h4
{
    margin-bottom: 20px;
}

.ratebox--value .ratebox__footer .text-number--rate
{
    margin-top: 10px;
    margin-bottom: 30px;
}

.ratelist__item:first-child
{
    margin-top: -10px;
}
@media screen and (min-width: 1020px)
{
    .ratelist__item:first-child
    {
        margin-top: -4px;
    }
}

.ratelist__item
{
    line-height: 40px;

    display: flex;

    margin-bottom: 0; 

    border-bottom: 1px solid #cdd6dd;

    justify-content: space-between;
}
.ratelist__item .ratelist__label
{
    font-size: 14px;
    line-height: 20px;

    margin-top: 17px;
    margin-bottom: 17px;
}
@media screen and (min-width: 1020px)
{
    .ratelist__item .ratelist__label
    {
        font-size: 13px;

        display: flex;

        width: 60%;
        margin-top: 11px;
        margin-bottom: 11px;

        align-items: center;
    }
}
.ratelist__item .ratelist__value
{
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;

    margin: 20px 0; 

    text-align: right;
}
@media screen and (min-width: 1020px)
{
    .ratelist__item .ratelist__value
    {
        font-size: 13px;
        font-weight: 600;

        display: flex;

        width: 40%;
        margin-top: 11px;
        margin-bottom: 11px;

        align-items: center;
        justify-content: flex-end;
    }
}

@media screen and (max-width: 1019px)
{
    .column .ratebox
    {
        margin-top: 10px;
    }
}


/* Column banner Modules
======================================*/
.column--banner a
{
    display: block;
}

.column--banner [class^='column__']
{
    display: block;

    text-align: center;
}
.column--banner [class^='column__'] picture img
{
    height: auto;
}
.column--banner [class^='column__'] img
{
    max-width: 100%; 
    margin: 0 auto;
}

@media screen and (max-width: 1019px)
{
    .column--banner [class^='column__sm']
    {
        margin-bottom: 20px;
    }
    .column--banner [class^='column__sm']:last-child
    {
        margin-bottom: 0;
    }
    .column--banner .column__xs--06
    {
        margin-bottom: 11px;
    }
}

/* Block A Modules
======================================*/
.block-topic
{
    margin-bottom: 20px; 
    padding: 16px 20px;

    background-color: #f5f5f5;
}
.block-topic:last-child
{
    margin-bottom: 0;
}
.block-topic a
{
    font-size: 14px;
    line-height: 21px; 

    color: #0074c9;
}

/* end block-topic */
.block-carousel-link-text
{
    position: relative;
}
.block-carousel-link-text__btn
{
    position: absolute;
    z-index: 1;
    top: calc(50% - 15px); 

    display: flex;

    width: 30px;
    height: 30px;

    border-radius: 50%;
    background: #2076c7;

    justify-content: center;
    align-items: center;
}
.block-carousel-link-text__btn--back
{
    left: 50px;
}
@media screen and (max-width: 1019px)
{
    .block-carousel-link-text__btn--back
    {
        left: 15px;
    }
}
.block-carousel-link-text__btn--forward
{
    right: 50px;
}
@media screen and (max-width: 1019px)
{
    .block-carousel-link-text__btn--forward
    {
        right: 15px;
    }
}
.block-carousel-link-text__btn [class^='icon']
{
    font-size: 12px;
}
.block-carousel-link-text__btn:hover
{
    cursor: pointer;
}
.block-carousel-link-text__sliders
{
    margin: 0 auto;
}
.block-carousel-link-text__sliders .slick-list
{
    padding: 10px 65px !important;
}
.block-carousel-link-text__sliders .slick-list .slick-track
{
    display: flex;

    align-items: center;
}
@media screen and (max-width: 1019px)
{
    .block-carousel-link-text__sliders .slick-list
    {
        padding: 10px 30px !important;
    }
}
.block-carousel-link-text__sliders a
{
    font-size: 14px;
    line-height: 22px;

    margin: 0 7px;
    padding: 30px 20px;

    color: #0074c9;
    box-shadow: 0 3px 7px rgba(0, 0, 0, .15);
}
.block-carousel-link-text__sliders a .badge
{
    margin-left: 5px; 

    vertical-align: text-top;
}
.block-carousel-link-text .slick-dots
{
    position: absolute;
    bottom: -15px;
    left: 50%;

    transform: translate(-50%, 0);
}
@media screen and (max-width: 1019px)
{
    .block-carousel-link-text .slick-dots
    {
        bottom: -15px;
    }
}

/* end block-carousel-link-text */
.block-precautions-explanation
{
    font-size: 14px;
    line-height: 22px; 

    padding: 16px 20px;

    background-color: #fff2f4;
}
.block-precautions-explanation .text-haslink
{
    color: #d70d38;
}
.block-precautions-explanation .text-haslink a
{
    margin-right: 3px;
}
.block-precautions-explanation .text-haslink .icon-newtab
{
    margin-top: -3px;
    margin-left: 2px;
}

/* end block-precautions-explanation */
.block-arousal-explanation
{
    font-size: 14px;
    line-height: 22px; 

    padding: 16px 20px;

    background-color: #fef0cf;
}

/* end block-arousal-explanation */
.block-exchange-information .ratebox__footer .text-number--rate
{
    margin-bottom: 0;
}

@media screen and (max-width: 1019px)
{
    .block-exchange-information .column__sm--04
    {
        width: 33.3%;
    }
    .block-exchange-information .ratebox__header
    {
        flex-direction: column;

        padding: 14px 0 0 0; 

        background-color: #fff;
    }
    .block-exchange-information .ratebox__footer
    {
        padding: 10px 0 14px 0;
    }
    .block-exchange-information .ratebox__footer .text-number--rate
    {
        font-size: 20px;
        line-height: 1;
    }
    .block-exchange-information .ratebox__footer .text-number--rate:after
    {
        bottom: -2px;
    }
    .block-exchange-information .ratebox__footer .text-number--rate sub
    {
        font-size: 14px;
    }
    .block-exchange-information .ratebox__footer .text-center
    {
        line-height: 1;
    }
    .block-exchange-information .ratebox__flag
    {
        width: 36px;
        height: 36px;
        margin-right: 0; 
        margin-bottom: 10px;
    }
    .block-exchange-information .ratebox__flag img
    {
        width: 100%;
        height: 100%;
    }
    .block-exchange-information .ratebox__label
    {
        font-size: 14px;
    }
}

/* end block-exchange-information */
@media screen and (max-width: 1019px)
{
    .block-reasons-select .column__sm--06,
    .block-reasons-select .column__sm--04
    {
        margin-bottom: 20px;
    }
}

.block-reasons-select__main
{
    flex-shrink: 0;
}

.block-reasons-select__card
{
    position: relative;

    display: flex;
    flex-direction: column; 

    height: 100%;

    border-radius: 4px;
    box-shadow: 0 3px 7px rgba(0, 0, 0, .15);
}
@media screen and (max-width: 1019px)
{
    .block-reasons-select__card
    {
        padding-bottom: 0;
    }
}
.block-reasons-select__card span
{
    line-height: 1.1; 

    display: block;
}

.block-reasons-select__content
{
    padding: 20px 20px 30px 20px;
}

.block-reasons-select__images
{
    display: block;

    min-height: 98px;

    text-align: center;
}
.block-reasons-select__images picture img
{
    height: auto;
}
.block-reasons-select__images img
{
    max-width: 100%; 
    margin: 0 auto;

    border-radius: 4px 4px 0 0;
}

.block-reasons-select__point
{
    font-size: 13px;
    font-weight: 700;
    line-height: 18px;

    color: #2076c7;
}

.block-reasons-select__title
{
    position: relative;

    display: flex; 
    flex-direction: column;

    min-height: 44px;
    margin-top: 10px;

    justify-content: center;
}
.block-reasons-select__title--line
{
    padding-bottom: 17px;
}
.block-reasons-select__title--line:after
{
    position: absolute;
    bottom: 0;
    left: 0; 

    width: 30px;
    height: 1px;
    margin-top: 20px;

    content: '';

    background-color: #e3215a;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .block-reasons-select__title
    {
        display: table;
    }
}
.block-reasons-select__title-main
{
    font-size: 20px;
    font-weight: 700;

    margin: 0;
}
.block-reasons-select__title-sub
{
    font-size: 14px;
    font-weight: 400;

    margin-top: 5px; 

    color: #555;
}

.block-reasons-select__body
{
    font-size: 14px;
    line-height: 22px;

    margin-top: 18px;
    margin-bottom: 0;
}

.block-reasons-select__link
{
    margin-top: 20px;
}

.block-reasons-select__label
{
    font-size: 13px;
    font-weight: 500; 

    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    width: 84px;
    height: 24px;

    letter-spacing: 0;

    color: #fff;
    border-radius: 4px 0 4px 0;
    background-color: #2076c7;

    align-items: center;
    justify-content: center;
}

.block-reasons-select .btn,
.block-reasons-select .btn-newtab
{
    width: calc(100% - 40px);
    margin-bottom: 30px;
}
@media screen and (max-width: 1019px)
{
    .block-reasons-select .btn,
    .block-reasons-select .btn-newtab
    {
        position: relative;

        transform: none;
    }
}

.block-reasons-select--no-read .block-reasons-select__content
{
    padding: 30px 20px 30px;
}
@media screen and (max-width: 1019px)
{
    .block-reasons-select--no-read .block-reasons-select__content
    {
        padding: 30px 20px;
    }
}

.block-reasons-select--no-read .block-reasons-select__title
{
    display: block;

    min-height: 34px; 
    margin-top: 0;

    text-align: center;
}
.block-reasons-select--no-read .block-reasons-select__title-main
{
    margin-top: 14px;
}
@media screen and (max-width: 1019px)
{
    .block-reasons-select--no-read .block-reasons-select__title-main
    {
        margin-top: 10px;
    }
}
.block-reasons-select--no-read .block-reasons-select__title-sub
{
    margin-top: 0;
}

.block-reasons-select--no-read .block-reasons-select__body
{
    margin-top: 28px;
}

/* end block-reasons-select */
@media screen and (max-width: 1019px)
{
    .block-function-appeal .column__sm--04
    {
        width: 50%;
    }
}

.block-function-appeal__card
{
    display: flex;
    flex-direction: column; 

    height: 100%;
}
.block-function-appeal__card-content
{
    padding: 20px;

    border: 1px solid #dbe3e8;
    border-top: none;

    flex-grow: 1;
}
.block-function-appeal__card-content p
{
    margin-top: 18px;
}

.block-function-appeal__images
{
    display: block;

    width: 100%;

    text-align: center;

    flex-shrink: 0;
}
@media screen and (max-width: 1019px)
{
    .block-function-appeal__images
    {
        min-height: 72px;
    }
}
.block-function-appeal__images picture img
{
    height: auto;
}
.block-function-appeal__images img
{
    width: 100%;
    max-width: 100%;
    min-height: 72px; 
    margin: 0 auto;

    border-radius: 4px 4px 0 0;
}

.block-function-appeal__title
{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;

    display: block; 

    width: 100%;

    text-align: center;
}

/* end block-feature-cards-mix */
.block-feature-derivation__card
{
    display: flex;

    margin-bottom: 20px; 
    padding: 40px 0;

    background-color: #f6f8f9;

    justify-content: center;
}
@media screen and (max-width: 1019px)
{
    .block-feature-derivation__card
    {
        flex-direction: column;

        padding: 40px 20px;

        align-items: center;
    }
}

.block-feature-derivation__major
{
    display: flex;
    flex-direction: column;

    width: 352px; 

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 1019px)
{
    .block-feature-derivation__major
    {
        width: 100%;
        margin-bottom: 30px;
    }
    .block-feature-derivation__major-img-web-consult
    {
        width: 93px;
        height: 68px;
    }
    .block-feature-derivation__major-img-card-atm
    {
        width: 86px;
        height: 64px;
    }
    .block-feature-derivation__major-img-save-money
    {
        width: 79px;
        height: 71px;
    }
}

.block-feature-derivation__title
{
    font-size: 20px;
    font-weight: 700;
    line-height: 1;

    margin-top: 20px; 

    text-align: center;
}

.block-feature-derivation__content
{
    width: 500px;
    padding-right: 80px;
}
.block-feature-derivation__content-head
{
    font-size: 16px;

    display: block;

    margin-bottom: 5px;

    text-align: center;
}
.block-feature-derivation__content .btn--normal
{
    max-width: 100%;
    margin-top: 20px;
}
@media screen and (max-width: 1019px)
{
    .block-feature-derivation__content .btn--normal
    {
        max-width: 335px;
    }
}
@media screen and (max-width: 1019px)
{
    .block-feature-derivation__content
    {
        width: 100%; 
        padding-right: 0;
    }
}

.block-feature-derivation__point
{
    height: 65px;
    margin-top: 5px; 

    text-align: center;
}
.block-feature-derivation__point span:last-child
{
    font-size: 50px;
    font-weight: 700;
    line-height: 1; 

    position: relative;
    z-index: 1;
    top: 8px;

    display: inline-block;

    margin-left: 9px;

    white-space: nowrap;
    letter-spacing: 0;

    color: #2076c7;
}
.block-feature-derivation__point span:last-child sub
{
    font-size: 24px;

    z-index: 1; 
    bottom: 0;
}
.block-feature-derivation__point span:last-child sub:first-child
{
    margin-right: 7px;
}
.block-feature-derivation__point span:last-child::after
{
    position: absolute;
    z-index: -1; 
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    height: 8px;

    content: '';

    background-color: #e8f1f9;
}
.block-feature-derivation__point .badge.badge--medium
{
    font-feature-settings: 'palt';
}
@media screen and (max-width: 1019px)
{
    .block-feature-derivation__point
    {
        height: auto;
        margin-top: 0;
        margin-bottom: 35px;
    }
    .block-feature-derivation__point:last-child
    {
        margin-top: -20px;
        margin-bottom: 0;
    }
    .block-feature-derivation__point span:last-child
    {
        font-size: 40px;
    }
    .block-feature-derivation__point span:last-child sub
    {
        font-size: 24px;
    }
    .block-feature-derivation__point span:last-child sub:first-child
    {
        margin-right: 0;
    }
    .block-feature-derivation__point .badge.badge--medium
    {
        font-size: 16px;
        line-height: 34px;

        height: 34px;

        letter-spacing: -.1em;
    }
}

.block-feature-derivation__attention
{
    font-size: 14px;
    line-height: 22px;

    position: relative;

    display: block;

    margin-top: 18px; 
    padding-left: 18px;
}
.block-feature-derivation__attention::before
{
    position: absolute;
    top: -1px; 
    left: 1px;

    content: '※';
}
@media screen and (max-width: 1019px)
{
    .block-feature-derivation__attention
    {
        margin-top: 20px;
    }
}

.block-feature-derivation__list-circle-title
{
    font-size: 14px; 
    font-weight: 700;
    line-height: 1;

    display: block;

    margin-top: 30px;
}

.block-feature-derivation .list-circle
{
    margin-top: 20px;
}
.block-feature-derivation .list-circle .list-circle__item
{
    font-size: 14px;
}
.block-feature-derivation .list-circle .list-circle__item:last-child
{
    margin-bottom: 0;
}
.block-feature-derivation .list-circle .list-circle__item--active a
{
    color: #2076c7;
}
.block-feature-derivation .list-circle .list-circle__item > ul li
{
    position: relative;

    margin-top: 10px;
    margin-left: 15px;
    padding-left: 2px;
}
.block-feature-derivation .list-circle .list-circle__item > ul li::before
{
    position: absolute;
    top: -1px; 
    left: -13px;
}

/* end block-feature-derivation */
.block-reasons-selected-list
{
    padding: 20px;
}
.block-reasons-selected-list__title
{
    font-size: 16px;
    font-weight: 700;
    line-height: 1; 

    margin-bottom: 20px;
}

/* end block-reasons-selected */
.block-feature-card
{
    position: relative;

    padding-right: 10px;
    padding-left: 10px;
}
.block-feature-card .block-reasons-select__content
{
    padding: 20px;
}
.block-feature-card .block-reasons-select__title
{
    min-height: auto;
}
@media screen and (max-width: 1019px)
{
    .block-feature-card
    {
        margin-bottom: 20px;
    }
}

/* end block-feature-card */
.block-product-list__item
{
    margin-bottom: 20px;
}
.block-product-list__item:last-child
{
    margin-bottom: 0;
}
.block-product-list__item .link-complex
{
    line-height: 20px; 

    max-width: none;
}
.block-product-list__item .link-complex__label .badge
{
    margin-left: 7px;

    vertical-align: text-top;
}
.block-product-list__item .link-complex__sublabel
{
    margin-bottom: 8px;
}
.block-product-list__item .h2
{
    margin-bottom: 30px;
}
.block-product-list__item--expired
{
    margin-top: 30px;

    text-align: center;
}
@media screen and (max-width: 1019px)
{
    .block-product-list__item--expired
    {
        margin-top: 0;
    }
}
@media screen and (max-width: 1019px)
{
    .block-product-list__item .column__sm--06:first-child
    {
        margin-bottom: 14px;
    }
}

/* end block-product-list */
.block-feature-column-list .column__sm--06:nth-child(n+3) .block-feature-column-list__card
{
    border-top: none;
}

@media screen and (max-width: 1019px)
{
    .block-feature-column-list .column__sm--06
    {
        margin-bottom: 0;
    }
    .block-feature-column-list .column__sm--06:nth-child(n+2) .block-feature-column-list__card
    {
        border-top: none;
    }
}

.block-feature-column-list__card
{
    position: relative;

    display: flex;

    height: 100%; 
    padding: 20px;

    border-top: 1px solid #dbe3e8;
    border-bottom: 1px solid #dbe3e8;
}
.block-feature-column-list__card img
{
    width: 80px;
    height: 80px;
}
.block-feature-column-list__card-content
{
    margin-left: 14px;
}
.block-feature-column-list__card-date
{
    font-size: 14px;
    line-height: 21px;

    color: #555;
}
.block-feature-column-list__card-date .badge
{
    vertical-align: text-top;
}
.block-feature-column-list__card-text
{
    font-size: 14px;
    line-height: 22px; 

    margin-top: 10px;
}
.block-feature-column-list__card .icon-arrow--right
{
    font-size: 12px; 

    position: absolute;
    top: calc((100% - 12px) / 2);
    right: 5px;
}
@media screen and (max-width: 1019px)
{
    .block-feature-column-list__card .icon-arrow--right
    {
        right: 25px;
    }
}
@media screen and (max-width: 1019px) and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .block-feature-column-list__card .icon-arrow--right
    {
        right: 35px;
    }
}
@media screen and (max-width: 1019px)
{
    .block-feature-column-list__card
    {
        padding: 20px 45px 20px 20px;

        align-items: center;
    }
}

@media screen and (max-width: 1019px)
{
    .block-feature-column-list
    {
        width: 100vw;
        margin-left: -20px;
    }
    .block-feature-column-list h2
    {
        margin-left: 20px;
    }
}

/* end block-feature-column-list */
.block-inform-update-info h2
{
    margin-left: 20px;
}

.block-inform-update-info ul
{
    list-style: none;
}

.block-inform-update-info__item .link-complex
{
    max-width: none;
    padding: 20px 30px 20px 10px;

    border-right: none; 
    border-left: none;
}
@media screen and (max-width: 1019px)
{
    .block-inform-update-info__item .link-complex
    {
        padding: 20px 40px 20px 20px;
    }
}
.block-inform-update-info__item .link-complex__label
{
    line-height: 20px;
}
.block-inform-update-info__item .link-complex__sublabel .badge
{
    vertical-align: text-top;
}
.block-inform-update-info__item .link-complex__sublabel .badge:first-child
{
    margin-left: 5px;
}
.block-inform-update-info__item .link-complex .icon-arrow--right
{
    font-size: 14px; 

    right: 10px;
}
@media screen and (max-width: 1019px)
{
    .block-inform-update-info__item .link-complex .icon-arrow--right
    {
        right: 20px;
    }
}
.block-inform-update-info__item .link-complex .icon-pdf,
.block-inform-update-info__item .link-complex .icon-newtab
{
    right: 8px;

    margin-bottom: 5px;
}
@media screen and (max-width: 1019px)
{
    .block-inform-update-info__item .link-complex .icon-pdf,
    .block-inform-update-info__item .link-complex .icon-newtab
    {
        right: 20px;
    }
}

.block-inform-update-info__item:not(.block-inform-update-info__item:first-child) .link-complex
{
    border-top: none;
}

@media screen and (min-width: 1020px)
{
    .block-inform-update-info__item .icon-arrow--right,
    .block-inform-update-info__item [class^='icon']
    {
        position: initial;

        display: initial;

        margin-left: 8px;

        transform: none;
    }
}

@media screen and (max-width: 1019px)
{
    .block-inform-update-info
    {
        margin-right: -20px; 
        margin-left: -20px;
    }
}

/* end block-inform-update-info */
.block-faq ul
{
    list-style: none;
}

.block-faq__list
{
    margin-top: 40px;
}
.block-faq__list-item
{
    font-size: 14px;
    line-height: 21px;

    position: relative;

    margin-bottom: 16px;
    padding-left: 20px;

    color: #2076c7;
}
.block-faq__list-item a
{
    color: #2076c7;
}
.block-faq__list-item:before
{
    font-size: 14px; 

    position: absolute;
    left: 0;

    content: 'Q';
}

.block-faq__question
{
    margin-top: 38px;
}

@media screen and (max-width: 1019px)
{
    .block-faq h2
    {
        margin-bottom: 30px;
    }
    .block-faq__question
    {
        margin-top: 28px;
    }
}

/* end block-faq */
.block-cta-new
{
    width: 100%;
    padding: 40px 30px;

    text-align: center; 

    background-color: #f6f8f9;
}
.block-cta-new__title
{
    margin-bottom: 18px;
}

/* end block-cta-new */
.block-cta-exist__img
{
    margin-bottom: 20px;
}

.block-cta-exist .block-cta-exist__inner
{
    overflow: hidden;

    padding-top: 10px;
}

.block-cta-exist__deposit
{
    padding: 40px 80px; 

    background-color: #f6f8f9;
}
.block-cta-exist__deposit-title
{
    font-size: 20px;
    font-weight: 700;
    line-height: 27px;

    margin-bottom: 40px; 

    text-align: center;
}
@media screen and (max-width: 1019px)
{
    .block-cta-exist__deposit-title
    {
        margin-bottom: 27px;
    }
}
.block-cta-exist__deposit-internet
{
    text-align: center; 

    border-right: 1px solid #d6dde3;
}
.block-cta-exist__deposit-internet .text-link--icon
{
    margin-top: 18px;
}
@media screen and (max-width: 1019px)
{
    .block-cta-exist__deposit-internet
    {
        padding-bottom: 27px; 

        border-right: none;
        border-bottom: 1px solid #d6dde3;
    }
    .block-cta-exist__deposit-internet .text-link--icon
    {
        margin-top: 18px;
    }
}
@media screen and (max-width: 1019px)
{
    .block-cta-exist__deposit-phone
    {
        margin-top: 20px;
    }
}
.block-cta-exist__deposit .btn-caption
{
    height: auto; 
    padding: 8px 10px;
}
@media screen and (max-width: 1019px)
{
    .block-cta-exist__deposit
    {
        padding: 40px 20px 30px;
    }
}

/* end block-cta-exist */
.block-related-info__list
{
    list-style: none;
}
.block-related-info__list-item
{
    margin-bottom: 16px;
}
.block-related-info__list-item a
{
    color: #2076c7;
}
.block-related-info__list-item a img
{
    margin-bottom: 3px; 
    margin-left: 8px;
}

/* end block-related-info */
.block-product-notes
{
    font-size: 14px;
}
.block-product-notes__title
{
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;

    margin-bottom: 20px; 

    text-align: left;
}

/* end block-product-notes */
.block-link-in-text,
.block-whole-link-text,
.block-carousel-link-text,
.block-precautions-explanation,
.block-arousal-explanation,
.block-exchange-information,
.block-reasons-select,
.block-function-appeal,
.block-feature-derivation,
.block-reasons-selected-list,
.block-feature-cards-mix,
.block-product-list,
.block-feature-column-list,
.block-inform-update-info,
.block-faq,
.block-cta-new,
.block-cta-exist,
.block-inquiry,
.block-related-info,
.block-product-notes
{
    margin-bottom: 20px;
}
.block-link-in-text:last-child,
.block-whole-link-text:last-child,
.block-carousel-link-text:last-child,
.block-precautions-explanation:last-child,
.block-arousal-explanation:last-child,
.block-exchange-information:last-child,
.block-reasons-select:last-child,
.block-function-appeal:last-child,
.block-feature-derivation:last-child,
.block-reasons-selected-list:last-child,
.block-feature-cards-mix:last-child,
.block-product-list:last-child,
.block-feature-column-list:last-child,
.block-inform-update-info:last-child,
.block-faq:last-child,
.block-cta-new:last-child,
.block-cta-exist:last-child,
.block-inquiry:last-child,
.block-related-info:last-child,
.block-product-notes:last-child
{
    margin-bottom: 0;
}

/* Block B Modules - ブロック要素系B
======================================*/
.block-multi-button .btn,
.block-multi-button .btn-newtab,
.block-multi-button .link-icon,
.block-multi-button .list-link-box > li a,
.list-link-box > li .block-multi-button a,
.block-multi-button .link-bullet,
.block-multi-button .link-complex
{
    max-width: none;
}

.block-multi-button .column
{
    margin-bottom: 30px;
}

@media screen and (max-width: 1019px)
{
    .block-multi-button .column__sm--04.column__xs--06
    {
        margin-bottom: 20px;
    }
}

.block-interest-rate .ratebox--discount .ratebox__header
{
    display: flex;
    flex-direction: column;

    padding: 18px;
}
.block-interest-rate .ratebox--discount .ratebox__header .ratebox__sub-label
{
    font-size: 14px;
    font-weight: normal; 

    letter-spacing: 0;
}
.block-interest-rate .ratebox--discount .ratebox__header .ratebox__label
{
    font-size: 18px;
    font-weight: 700;
}

.block-interest-rate .ratebox--discount .ratebox__footer
{
    padding-bottom: 46px;
}
@media screen and (max-width: 1019px)
{
    .block-interest-rate .ratebox--discount .ratebox__footer .text-number--rate
    {
        margin-bottom: 15px;
    }
}

.block-interest-rate .ratebox--discount .text-number--red
{
    color: #e3215a;
}
.block-interest-rate .ratebox--discount .text-number--red:after
{
    background-color: #ffe5ed;
}

.block-interest-rate--change .ratebox--discount .ratebox__header .ratebox__label
{
    font-size: 18px;
}

.block-interest-rate--change .ratebox--discount .ratebox__footer
{
    padding-bottom: 0;
}
@media screen and (max-width: 1019px)
{
    .block-interest-rate--change .ratebox--discount .ratebox__footer
    {
        flex-direction: column;
    }
}
.block-interest-rate--change .ratebox--discount .ratebox__footer-arrow
{
    position: absolute;
    top: calc(50% - 20px);
    left: calc(50% - 15px);
}
@media screen and (max-width: 1019px)
{
    .block-interest-rate--change .ratebox--discount .ratebox__footer-arrow
    {
        position: static;

        margin-bottom: 15px;
    }
}
.block-interest-rate--change .ratebox--discount .ratebox__footer-item
{
    position: relative;

    width: 50%;
    padding: 0 20px 46px; 

    text-align: center;
}
.block-interest-rate--change .ratebox--discount .ratebox__footer-item + p
{
    margin-bottom: 20px;
}
@media screen and (max-width: 1019px)
{
    .block-interest-rate--change .ratebox--discount .ratebox__footer-item
    {
        width: 100%;
        padding: 0;
    }
    .block-interest-rate--change .ratebox--discount .ratebox__footer-item p
    {
        font-size: 13px;
    }
}
.block-interest-rate--change .ratebox--discount .ratebox__footer-item .text-subtext
{
    padding: 0 10px 20px;
}
@media screen and (max-width: 1019px)
{
    .block-interest-rate--change .ratebox--discount .ratebox__footer-item .text-subtext
    {
        font-size: 14px;

        position: static;

        margin-top: 20px; 
        padding: 0 0 20px;
    }
}
@media screen and (max-width: 1019px)
{
    .block-interest-rate--change .ratebox--discount .ratebox__footer-item .text-number--red
    {
        font-size: 50px;
    }
}
.block-interest-rate--change .ratebox--discount .ratebox__footer-item .text-number--red:after
{
    bottom: -7px;
}
@media screen and (max-width: 1019px)
{
    .block-interest-rate--change .ratebox--discount .ratebox__footer-item .text-number--red:after
    {
        bottom: -1px;
    }
}

.block-fee-appeal .block-fee-appeal__item
{
    position: relative;

    display: flex;
    flex-direction: row;

    padding: 15px 10px;

    border-top: 1px solid #dbe3e8;

    align-items: center;
    justify-content: space-between;
}
.block-fee-appeal .block-fee-appeal__item:last-child
{
    border-bottom: 1px solid #dbe3e8;
}
.block-fee-appeal .block-fee-appeal__item .fee-appeal__number
{
    display: flex;

    width: 30px;
    min-width: 30px;
    height: 30px;

    color: #fff;
    border-radius: 50%;
    background-color: #2076c7;

    align-items: center;
    justify-content: center;
}
.block-fee-appeal .block-fee-appeal__item .fee-appeal__text
{
    display: flex;
    flex-direction: row;

    justify-content: center;
    align-items: center;
}
.block-fee-appeal .block-fee-appeal__item .fee-appeal__text .fee-appeal__content
{
    font-size: 16px;

    display: flex;
    flex-direction: column;

    margin-right: 20px; 
    margin-left: 14px;
}
.block-fee-appeal .block-fee-appeal__item .fee-appeal__text .fee-appeal__content span
{
    font-size: 14px; 

    color: #555;
}
.block-fee-appeal .block-fee-appeal__item .fee-appeal__amount
{
    font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', Meiryo, 'Hiragino Sans', sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 1; 

    position: relative;
    right: 10px;
}
.block-fee-appeal .block-fee-appeal__item .fee-appeal__amount .fee-appeal__unit
{
    font-size: 16px;

    position: absolute;
    bottom: calc(50% - 7px);

    padding-left: 5px;

    transform: translate(0, 50%);
}

.block-important-conductor
{
    padding: 40px 30px;

    background-color: #f6f8f9;
}
.block-important-conductor .column
{
    display: flex;
    flex-direction: column;

    margin-top: 0; 

    align-items: center;
    justify-content: center;
}
.block-important-conductor .h3
{
    margin-bottom: 20px; 

    text-align: center;
}

.block-content-lead .column__sm--06:nth-of-type(1)
{
    padding-right: 15px;
}
@media screen and (max-width: 1019px)
{
    .block-content-lead .column__sm--06:nth-of-type(1)
    {
        padding-right: 5px;
    }
}

.block-content-lead .column__sm--06:nth-of-type(2)
{
    padding-left: 15px;
}
@media screen and (max-width: 1019px)
{
    .block-content-lead .column__sm--06:nth-of-type(2)
    {
        margin-top: 30px;
        padding-left: 5px;
    }
}

@media screen and (max-width: 1019px)
{
    .block-content-lead .column__sm--06 .list-link-box li
    {
        position: relative; 

        border-top: none;
    }
}

@media screen and (max-width: 1019px)
{
    .block-content-lead .column__sm--06 .list-link-box li:before
    {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0; 

        display: block;

        width: 100vw;
        height: 1px;
        margin: 0 calc(50% - 50vw);

        content: '';

        background-color: #cdd6dd;
    }
}

@media screen and (max-width: 1019px)
{
    .block-content-lead .column__sm--06 .list-link-box li:last-child
    {
        border-bottom: none;
    }
}
@media screen and (max-width: 1019px) and (max-width: 1019px)
{
    .block-content-lead .column__sm--06 .list-link-box li:last-child:after
    {
        position: absolute;
        z-index: 1;
        bottom: 0;
        left: 0; 

        display: block;

        width: 100vw;
        height: 1px;
        margin: 0 calc(50% - 50vw);

        content: '';

        background-color: #cdd6dd;
    }
}

.block-content-lead .sub-head
{
    margin-bottom: 30px;
}

.block-content-lead .list-link-box
{
    margin-bottom: 0;
}
.block-content-lead .list-link-box li a
{
    min-height: 48px;
}

.block-campaign
{
    display: flex;
    flex-direction: column;

    padding: 40px 30px; 

    background-color: #f6f8f9;

    align-items: center;
}
@media screen and (max-width: 1019px)
{
    .block-campaign
    {
        padding: 40px 20px;
    }
}
.block-campaign .btn,
.block-campaign .btn-newtab
{
    margin-bottom: 20px;
}
.block-campaign .btn br,
.block-campaign .btn-newtab br
{
    display: none;
}
@media screen and (max-width: 375px)
{
    .block-campaign .btn,
    .block-campaign .btn-newtab
    {
        text-align: center;
    }
    .block-campaign .btn br,
    .block-campaign .btn-newtab br
    {
        display: block;
    }
}
.block-campaign strong
{
    margin-bottom: 10px;
}
.block-campaign strong br
{
    display: none;
}
@media screen and (max-width: 375px)
{
    .block-campaign strong
    {
        line-height: 20px;
    }
    .block-campaign strong br
    {
        display: block;
    }
}
@media screen and (max-width: 480px)
{
    .block-campaign .link-group
    {
        width: 100%;
    }
    .block-campaign .link-group .link-group__item
    {
        width: 33.33%;
    }
}
.block-campaign .link-group .link-box
{
    display: flex;
    flex-direction: column;

    min-width: 140px;
    min-height: 120px;

    box-shadow: none; 

    justify-content: flex-start;
}
.block-campaign .link-group .link-box > span
{
    min-height: 30px;
}
.block-campaign .link-group .link-box img
{
    margin-bottom: 3px;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .block-campaign .link-group .link-box img
    {
        width: auto !important;
        height: auto !important;
    }
}
@media screen and (max-width: 1019px)
{
    .block-campaign .link-group .link-box img
    {
        margin-bottom: 0;
    }
}
.block-campaign .link-group .link-box img.img-camera
{
    width: 34px;
    height: 21px;

    background: none;
}
@media screen and (max-width: 1019px)
{
    .block-campaign .link-group .link-box img.img-camera
    {
        width: 30px;
        height: 19px;
    }
}
.block-campaign .link-group .link-box img.img-bank
{
    width: 29px;
    height: 27px;
}
@media screen and (max-width: 1019px)
{
    .block-campaign .link-group .link-box img.img-bank
    {
        width: 26px;
        height: 25px;
    }
}
.block-campaign .link-group .link-box img.img-phone
{
    width: 28px;
    height: 28px;
}
@media screen and (max-width: 1019px)
{
    .block-campaign .link-group .link-box img.img-phone
    {
        width: 25px;
        height: 25px;
    }
}
.block-campaign .link-group .link-box .text-amount
{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.1875;

    margin-top: 10px;
}
.block-campaign .link-group .link-box .text-amount span
{
    font-size: 13px;
    font-weight: 400;
}
.block-campaign .link-group .link-box p
{
    margin-top: 10px; 
    margin-bottom: -5px;
}
@media screen and (max-width: 1019px)
{
    .block-campaign .link-group .link-box
    {
        width: 100%;
        min-width: auto;
        padding-right: 7px; 
        padding-left: 7px;
    }
    .block-campaign .link-group .link-box p
    {
        font-size: 13px;
        line-height: 20px;

        margin: 10px auto -5px;

        text-align: center;
    }
}
@media screen and (max-width: 400px)
{
    .block-campaign .link-group .link-box
    {
        height: 100%; 
        min-height: 120px;
    }
}

.block-mediation-branch
{
    padding: 40px 30px;

    background-color: #f6f8f9;
}
.block-mediation-branch .h4
{
    line-height: 24px; 

    padding: 0;
}
@media screen and (max-width: 1019px)
{
    .block-mediation-branch .h4
    {
        font-size: 18px;
        line-height: 28px;
    }
}
.block-mediation-branch .btn,
.block-mediation-branch .btn-newtab
{
    max-width: none; 
    margin-bottom: 0;
}
.block-mediation-branch .link-icon,
.block-mediation-branch .list-link-box > li a,
.list-link-box > li .block-mediation-branch a,
.block-mediation-branch .link-bullet,
.block-mediation-branch .link-complex
{
    max-width: none;
}
@media screen and (max-width: 1019px)
{
    .block-mediation-branch
    {
        padding: 40px 20px;
    }
    .block-mediation-branch .column__xs--12
    {
        margin-bottom: 20px;
    }
    .block-mediation-branch .column__xs--12:last-child
    {
        margin-bottom: 0;
    }
    .block-mediation-branch .btn,
    .block-mediation-branch .btn-newtab,
    .block-mediation-branch .link-icon,
    .block-mediation-branch .list-link-box > li a,
    .list-link-box > li .block-mediation-branch a,
    .block-mediation-branch .link-bullet,
    .block-mediation-branch .link-complex
    {
        max-width: none;
        margin-bottom: 10px;
    }
    .block-mediation-branch .btn,
    .block-mediation-branch .btn-newtab
    {
        font-size: 14px;

        padding: 13px 5px 12px;
    }
    .block-mediation-branch .link-icon,
    .block-mediation-branch .list-link-box > li a,
    .list-link-box > li .block-mediation-branch a,
    .block-mediation-branch .link-bullet,
    .block-mediation-branch .link-complex
    {
        margin-bottom: 0;
    }
}

.block-mix-content .card--wrap
{
    height: 100%; 

    background-color: #f6f8f9;
}
.block-mix-content .card--wrap .card__title
{
    font-size: 18px; 
    font-weight: 700;
    line-height: 1.5;

    display: flex;

    min-height: 82px;
    padding: 10px 20px;

    text-align: center;

    color: #fff;
    background-color: #2076c7;

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 1019px)
{
    .block-mix-content .card--wrap .card__title
    {
        min-height: auto;
        padding-top: 40px;

        color: inherit; 
        background: none;
    }
}
.block-mix-content .card--wrap .card__body
{
    padding: 20px;
}
@media screen and (max-width: 1019px)
{
    .block-mix-content .card--wrap .card__body
    {
        display: flex;
        flex-direction: column;

        padding: 0 20px 40px;

        align-items: center;
    }
}
.block-mix-content .card--wrap p
{
    line-height: 22px;
}
@media screen and (max-width: 1019px)
{
    .block-mix-content .card--wrap p
    {
        width: 100%;

        text-align: center;
    }
}
.block-mix-content .card--wrap .link-icon,
.block-mix-content .card--wrap .list-link-box > li a,
.list-link-box > li .block-mix-content .card--wrap a,
.block-mix-content .card--wrap .link-bullet,
.block-mix-content .card--wrap .link-complex
{
    margin-bottom: 14px;
}
.block-mix-content .card--wrap .flex-center
{
    text-align: center;
}
.block-mix-content .card--wrap .list-asterisk
{
    margin-top: 14px;
}
.block-mix-content .card--wrap .list-circle,
.block-mix-content .card--wrap .list-asterisk
{
    margin-bottom: 15px;
}
@media screen and (max-width: 1019px)
{
    .block-mix-content .card--wrap .list-circle,
    .block-mix-content .card--wrap .list-asterisk
    {
        margin-bottom: 0;
    }
}
@media screen and (max-width: 1019px) and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .block-mix-content .card--wrap .list-circle,
    .block-mix-content .card--wrap .list-asterisk
    {
        width: 100%;
    }
}
.block-mix-content .card--wrap li a.text-link--icon
{
    font-size: 14px;

    padding-right: 0;

    text-align: left;
}

.block-multi-button,
.block-interest-rate,
.block-fee-appeal,
.block-content-lead,
.block-single-button,
.block-campaign,
.block-mediation-branch,
.block-important-conductor,
.block-mix-content
{
    margin-bottom: 20px;
}
.block-multi-button:last-child,
.block-interest-rate:last-child,
.block-fee-appeal:last-child,
.block-content-lead:last-child,
.block-single-button:last-child,
.block-campaign:last-child,
.block-mediation-branch:last-child,
.block-important-conductor:last-child,
.block-mix-content:last-child
{
    margin-bottom: 0;
}

/* Block C Modules
======================================*/
.block-single-simulation
{
    padding: 40px 30px; 

    background-color: #f6f8f9;
}
.block-single-simulation .column
{
    display: flex;
    flex-direction: column;

    margin-top: 0; 

    justify-content: center;
    align-items: center;
}
.block-single-simulation .column .h3
{
    margin-bottom: 20px;
}
.block-single-simulation .column [class*='btn-']
{
    margin-bottom: 20px;
}
@media screen and (max-width: 1019px)
{
    .block-single-simulation .column [class*='btn-']
    {
        padding: 8px;
    }
}

.block-rate-appeal .column:first-child
{
    display: flex;

    margin-bottom: 30px; 
    padding: 0 10px;

    justify-content: space-between;
}
@media screen and (max-width: 1019px)
{
    .block-rate-appeal .column:first-child
    {
        margin-bottom: 10px;
    }
}

.block-rate-appeal .column .h2
{
    margin-bottom: 0;
}

.block-rate-appeal .column:nth-of-type(2)
{
    margin-bottom: 30px;
}
@media screen and (max-width: 1019px)
{
    .block-rate-appeal .column:nth-of-type(2) [class*='column__']
    {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 1019px)
{
    .block-rate-appeal .column.flex-center
    {
        justify-content: flex-start;
    }
}

.block-rate-appeal .column .text-subtext
{
    text-align: center;
}

@media screen and (max-width: 1019px)
{
    .block-rate-appeal .ratebox__footer
    {
        padding: 20px 5px;
    }
    .block-rate-appeal .link-icon--arrow,
    .block-rate-appeal .link-bullet
    {
        max-width: none; 
        padding-right: 25px;
    }
}

.block-accordion .h2
{
    margin-bottom: 30px;
}

.block-accordion .accordion
{
    width: 100%;
}
.block-accordion .accordion .accordion__item:last-child
{
    border-bottom: 1px solid #dbe3e8;
}
@media screen and (max-width: 1019px)
{
    .block-accordion .accordion .accordion__item:last-child
    {
        position: relative; 

        border-bottom: none;
    }
    .block-accordion .accordion .accordion__item:last-child:before
    {
        position: absolute;
        bottom: 0;
        left: 0; 

        display: block;

        width: 100vw;
        height: 1px;
        margin: 0 calc(50% - 50vw);

        content: '';

        background-color: #dbe3e8;
    }
}
.block-accordion .accordion .accordion__image
{
    margin-top: 17px; 

    text-align: center;
}
.block-accordion .accordion img
{
    max-height: 130px;
    margin: auto;
}
@media screen and (max-width: 768px)
{
    .block-accordion .accordion img
    {
        width: 100%;
        height: auto;
        max-height: none;
    }
}

@media screen and (max-width: 1019px)
{
    .block-accordion .accordion__item .accordion__label
    {
        position: relative; 

        padding: 14px 5px;

        border-top: none;
    }
    .block-accordion .accordion__item .accordion__label:before
    {
        position: absolute;
        top: 0;
        left: 0; 

        display: block;

        width: 100vw;
        height: 1px;
        margin: 0 calc(50% - 50vw);

        content: '';

        background-color: #dbe3e8;
    }
}

@media screen and (max-width: 1019px)
{
    .block-accordion .accordion__item .accordion__body
    {
        padding: 0 5px 20px;
    }
}

.block-table .btn,
.block-table .btn-newtab
{
    margin-top: 20px;
    margin-bottom: 5px;
}

.block-table .text-link
{
    margin-top: 10px;
}

.block-table .text-warning,
.block-table .text-removed
{
    margin-top: 10px; 
    margin-bottom: 0;
}

@media screen and (max-width: 1019px)
{
    .block-table .table--th-left
    {
        border-bottom: 1px solid #dbe3e8;
    }
}

@media screen and (max-width: 1019px)
{
    .block-table .table--th-left tbody tr
    {
        display: flex;
        flex-direction: column;
    }
}

@media screen and (max-width: 1019px)
{
    .block-table .table--th-left tbody tr th
    {
        display: block;

        width: 100%;
        padding: 14px; 

        border-bottom: none;
    }
}

@media screen and (max-width: 1019px)
{
    .block-table .table--th-left tbody tr td
    {
        display: block;

        padding: 20px; 

        border-bottom: none;
    }
}

.block-confirm
{
    display: flex;
    flex-direction: column;

    margin-bottom: 80px; 
    padding: 40px 30px;

    background-color: #f6f8f9;

    align-items: center;
    justify-content: center;
}
.block-confirm .h3
{
    margin-bottom: 20px;
}

.block-slide-carousel .h3
{
    margin-bottom: 20px; 

    text-align: center;
}

.block-slide-carousel-grey
{
    padding-top: 40px;
    padding-bottom: 40px; 

    background-color: #f6f8f9;
}

@media screen and (max-width: 1019px)
{
    .block-slide-carousel .card__image
    {
        height: 100%;
    }
}

@media screen and (max-width: 1019px)
{
    .block-slide-carousel .card__image .img-fixed
    {
        height: 100%;
    }
}

.block-slide-carousel .slider--carousel-noheader-sm .toggle-show
{
    display: flex !important;
}

@media screen and (max-width: 1019px)
{
    .block-slide-carousel .slider--carousel-noheader-sm .slider__list
    {
        margin-right: 0;
    }
    .block-slide-carousel .slider--carousel-noheader-sm .slick-list
    {
        padding-left: 50px !important;
    }
}

.block-link-complex .link-complex
{
    max-width: none;
}

@media screen and (max-width: 1019px)
{
    .block-link-complex .link-complex
    {
        max-width: none;
    }
}

.block-single-button,
.block-single-simulation,
.block-rate-appeal,
.block-app-info,
.block-accordion,
.block-table,
.block-confirm,
.block-slide-carousel,
.block-link-complex
{
    margin-bottom: 20px;
}
.block-single-button:last-child,
.block-single-simulation:last-child,
.block-rate-appeal:last-child,
.block-app-info:last-child,
.block-accordion:last-child,
.block-table:last-child,
.block-confirm:last-child,
.block-slide-carousel:last-child,
.block-link-complex:last-child
{
    margin-bottom: 0;
}

/* block D
======================================*/
.block-client-feedback .client-feedback__list
{
    padding-top: 20px;
}
.block-client-feedback .client-feedback__list .client-feedback__item
{
    position: relative; 

    margin-bottom: 40px;
    padding: 34px 20px 20px;

    border: 1px solid #2076c7;
}
.block-client-feedback .client-feedback__list .client-feedback__item:last-child
{
    margin-bottom: 0;
}
.block-client-feedback .client-feedback__list .client-feedback__item--female
{
    border: 1px solid #f5b011;
}
.block-client-feedback .client-feedback__list .client-feedback__item .text-right
{
    margin-top: 30px;

    color: #555;
}
@media screen and (max-width: 1019px)
{
    .block-client-feedback .client-feedback__list .client-feedback__item .text-right
    {
        margin-top: 10px;
        margin-right: -10px; 
        margin-left: -10px;
    }
}
.block-client-feedback .client-feedback__list .client-feedback__item .extra-group--tag-icon
{
    position: absolute;
    top: -20px;
}
@media screen and (max-width: 1019px)
{
    .block-client-feedback .client-feedback__list .client-feedback__item
    {
        padding-top: 25px;
    }
    .block-client-feedback .client-feedback__list .client-feedback__item .extra-group--tag-icon
    {
        left: 7px;
    }
}

.faq-simple__list
{
    font-size: 14px;

    padding-bottom: 80px;
}
.faq-simple__list > li
{
    display: flex;
    flex-direction: column;

    padding: 20px 0 20px 20px;

    border-bottom: 1px solid #dbe3e8;
}
@media screen and (max-width: 1019px)
{
    .faq-simple__list > li
    {
        position: relative; 

        border-bottom: none;
    }
}
@media screen and (max-width: 1019px)
{
    .faq-simple__list > li:before
    {
        position: absolute;
        bottom: 0;
        left: 0; 

        display: block;

        width: 100vw;
        height: 1px;
        margin: 0 calc(50% - 50vw);

        content: '';

        background-color: #dbe3e8;
    }
}
.faq-simple__list .faq__question
{
    position: relative;

    margin-bottom: 0;
}
.faq-simple__list .faq__question:before
{
    font-size: 14px;
    font-weight: 700; 

    position: absolute;
    top: 0;
    left: -20px;

    content: 'Q';
}
.faq-simple__list .faq__answer
{
    position: relative; 

    margin-top: 10px;
}
.faq-simple__list .faq__answer:before
{
    font-size: 14px;

    position: absolute;
    top: 0;
    left: -20px; 

    content: 'A';
}

.block-image-zoom
{
    padding: 40px 30px;

    text-align: center; 

    background-color: #f6f8f9;
}
.block-image-zoom .h4
{
    padding: 0;
}
@media screen and (max-width: 1019px)
{
    .block-image-zoom .h4
    {
        font-size: 18px;
        line-height: 26px;
    }
}
.block-image-zoom .image-zoom__content
{
    display: flex;

    margin-bottom: 20px; 

    justify-content: center;
}
.block-image-zoom .image-zoom__content .js-zoom-image
{
    display: flex;
    overflow: hidden;

    max-width: 100%;
    height: auto;

    cursor: pointer; 

    justify-content: center;
    align-items: center;
}
.block-image-zoom .image-zoom__content .js-zoom-image:hover
{
    opacity: .7;
}
.block-image-zoom .image-zoom__content .js-zoom-image img
{
    width: auto; 
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}
.block-image-zoom .text-link--icon
{
    cursor: pointer;

    opacity: 1;
}
.block-image-zoom .modal .modal__dialog .modal__content
{
    width: -webkit-fit-content;
    width:    -moz-fit-content;
    width:         fit-content; 
    max-width: calc(100vw - 100px);
}
.block-image-zoom .modal .modal__dialog .modal__content .modal__body
{
    height: auto;
    max-height: calc(100vh - 100px);
}
.block-image-zoom .modal .modal__dialog .modal__content .modal__body img:before
{
    width: 100px;
    height: 100px;

    background-color: #fff;
}

.block-annotate .annotate__item
{
    display: flex;
    flex-direction: row;

    margin-bottom: 20px;

    justify-content: space-between;
    align-items: center;
}
@media screen and (max-width: 1019px)
{
    .block-annotate .annotate__item
    {
        align-items: flex-start;
    }
}
.block-annotate .annotate__item--revert
{
    flex-direction: row-reverse;
}
.block-annotate .annotate__item--revert .annotate__content:before
{
    right: -2px;
    left: auto;

    transform: rotate(45deg) translate(0, -50%);
}
.block-annotate .annotate__item:last-child
{
    margin-bottom: 0;
}

.block-annotate .annotate__image img
{
    width: 80px; 
    height: 80px;
}
@media screen and (max-width: 1019px)
{
    .block-annotate .annotate__image img
    {
        width: 60px; 
        height: 60px;
    }
}

.block-annotate .annotate__content
{
    position: relative; 

    width: calc(100% - 100px);
    padding: 18px 20px;

    border: 1px solid #dbe3e8;
    border-radius: 4px;
}
.block-annotate .annotate__content:before
{
    position: absolute;
    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    content: '';
    transform: translate(0, -50%) rotate(-135deg); 

    border-top: 1px solid #dbe3e8;
    border-right: 1px solid #dbe3e8;
    background-color: #fff;
}
.block-annotate .annotate__content p
{
    line-height: 22px;
}
.block-annotate .annotate__content .text-bold
{
    margin-bottom: 7px;
}
@media screen and (max-width: 1019px)
{
    .block-annotate .annotate__content
    {
        width: calc(100% - 80px);
    }
    .block-annotate .annotate__content:before
    {
        top: 30px;
    }
}

.block-multi-image
{
    padding: 40px 30px;

    background-color: #f6f8f9;
}
.block-multi-image [class^='column__']
{
    display: block;

    text-align: center;
}
.block-multi-image [class^='column__'] picture img
{
    height: auto;
}
.block-multi-image [class^='column__'] img
{
    max-width: 100%; 
    margin: 0 auto;
}
@media screen and (max-width: 1019px)
{
    .block-multi-image
    {
        padding: 40px 20px;
    }
    .block-multi-image .column__xs--04
    {
        text-align: center;
    }
}

.block-client-feedback,
.block-faq,
.block-faq-accordion,
.block-image-zoom,
.block-annotate,
.block-multi-image
{
    margin-bottom: 20px;
}
.block-client-feedback:last-child,
.block-faq:last-child,
.block-faq-accordion:last-child,
.block-image-zoom:last-child,
.block-annotate:last-child,
.block-multi-image:last-child
{
    margin-bottom: 0;
}

.sp-cta .group__name
{
    font-size: 16px;
    font-weight: bold;

    margin: 20px 0 60px 20px;
}

/* Block Components Module
======================================*/
.block-h2
{
    margin-top: 80px;
}

.block-h3
{
    margin-top: 60px;
}

.block-h4
{
    margin-top: 40px;
}

.block-h5
{
    margin-top: 30px;
}

.block-inner
{
    margin-bottom: 40px;
}

/* Redirect Template
======================================*/
.redirect-box
{
    display: flex;
    flex-direction: column;

    height: calc(100vh - 142px); 
    padding-right: 5px;
    padding-left: 5px;

    background-color: #fff;
}
@media screen and (min-width: 1020px)
{
    .redirect-box
    {
        height: calc(100vh - 152px);
        padding-top: 108px;
    }
}
.redirect-box__title .h1
{
    text-align: center;
}
.redirect-box__desc
{
    margin-top: 29px;
}
@media screen and (min-width: 1020px)
{
    .redirect-box__desc
    {
        margin-top: 19px;
    }
}
.redirect-box__desc p
{
    text-align: center;
}
.redirect-box__link
{
    display: flex;

    margin-top: 25px;

    justify-content: center;
}
@media screen and (min-width: 1020px)
{
    .redirect-box__link
    {
        margin-top: 35px;
    }
}
.redirect-box__close
{
    display: flex;

    margin-top: 30px;

    justify-content: center;
}

/* Page 404 Template
======================================*/
.page-404-box
{
    display: flex;
    flex-direction: column;

    padding-right: 5px; 
    padding-left: 5px;

    background-color: #fff;

    justify-content: center;
}
@media screen and (min-width: 1020px)
{
    .page-404-box
    {
        padding-right: 140px; 
        padding-left: 140px;
    }
}
.page-404-box__title .h1
{
    font-size: 28px;

    text-align: center;
}
.page-404-box__title--en .h1
{
    font-weight: bold;
}
.page-404-box__sub-title
{
    margin-top: 16px;
}
.page-404-box__sub-title .sub-title
{
    line-height: 22px;

    margin-bottom: 0; 

    text-align: center;
}
@media screen and (max-width: 1019px)
{
    .page-404-box__sub-title .sub-title
    {
        font-size: 16px;
    }
}
.page-404-box__sub-title .sub-title--jp
{
    font-family: 'Hiragino Sans', sans-serif; 
    font-weight: bold;
}
.page-404-box__sub-title .sub-title--en
{
    font-family: 'Helvetica Neue', sans-serif; 
    font-weight: 700;
}
.page-404-box__desc
{
    margin-top: 40px;
}
.page-404-box__list
{
    margin-top: 35px;
}
.page-404-box__list .list-circle__item
{
    margin-bottom: 6px;
}
.page-404-box__list .text-haslink a
{
    text-decoration: none !important;
}
.page-404-box__list .list-circle__item:last-child
{
    margin-bottom: 0;
}
.page-404-box__form-search
{
    margin-top: 30px;
    padding: 20px; 

    background-color: #f6f8f9;
}
@media screen and (min-width: 1020px)
{
    .page-404-box__form-search
    {
        margin-top: 40px;
        padding: 30px 40px 30px 30px;
    }
}
.page-404-box__form-search .form-group
{
    position: relative; 

    display: inline-flex;

    width: 100%;
}
.page-404-box__form-search .form-group .form-input
{
    font-size: 14px;

    width: 100%;
    height: 35px;
    padding: 0 40px 0 14px;

    letter-spacing: .03em; 

    border: none;
    border-radius: 4px;
    background-color: #fff;
}
@media screen and (min-width: 1020px)
{
    .page-404-box__form-search .form-group .form-input
    {
        height: 40px;
        padding: 0 14px;
    }
}
@supports (-webkit-touch-callout: none)
{
    .page-404-box__form-search .form-group .form-input
    {
        font-size: 16px;
    }
}
.page-404-box__form-search .form-group .form-input::-moz-placeholder
{
    color: #666;
}
.page-404-box__form-search .form-group .form-input:-ms-input-placeholder
{
    color: #666;
}
.page-404-box__form-search .form-group .form-input::placeholder
{
    color: #666;
}
.page-404-box__form-search .form-group .form-submit
{
    flex-direction: row; 

    width: 125px;
    margin-left: 20px;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .page-404-box__form-search .form-group .form-submit
    {
        padding-top: 6px;
    }
}
.page-404-box__form-search .form-group .form-submit:hover
{
    cursor: pointer; 

    opacity: .7;
}
.page-404-box__form-search .form-group .form-submit-sp
{
    position: absolute;
    top: 10px; 
    right: 14px;

    width: 16px;
    height: 16px;
}
.page-404-box__note
{
    margin-top: 40px;
}

/* Shop Details
======================================*/
.page--shop-details .box-group--alert .text-link--icon
{
    font-size: 14px;
}

@media screen and (max-width: 1019px)
{
    .page--shop-details .accordion
    {
        margin-right: -20px; 
        margin-left: -20px;
    }
}

.page--shop-details .accordion .accordion__item:last-child
{
    border-bottom: 1px solid #dbe3e8;
}

.page--shop-details .accordion .accordion__body .btn--anchor
{
    margin-bottom: 40px;
}
.page--shop-details .accordion .accordion__body .btn--anchor:last-child
{
    margin-bottom: 20px;
}
@media screen and (max-width: 1019px)
{
    .page--shop-details .accordion .accordion__body .btn--anchor
    {
        margin-bottom: 30px; 
        padding-right: 15px;
        padding-left: 15px;
    }
    .page--shop-details .accordion .accordion__body .btn--anchor:last-child
    {
        margin-bottom: 10px;
    }
}

.page--shop-details .accordion .accordion__body .btn-newtab
{
    margin-bottom: 30px;
}
@media screen and (max-width: 1019px)
{
    .page--shop-details .accordion .accordion__body .btn-newtab
    {
        margin-bottom: 30px; 
        padding-right: 0;
        padding-left: 0;
    }
}

.page--shop-details .accordion .d-flex
{
    margin-bottom: 20px;
}

@media screen and (max-width: 1019px)
{
    .page--shop-details .block-h1 .box-group
    {
        margin-right: 0; 
        margin-left: 0;
    }
}

.page--shop-details .block-h2 .btn,
.page--shop-details .block-h2 .btn-newtab
{
    font-size: 18px;
}

.page--shop-details .block-h2 .table--th-left-switch
{
    margin-bottom: 40px;
}
.page--shop-details .block-h2 .table--th-left-switch td
{
    width: auto;
}
.page--shop-details .block-h2 .table--th-left-switch:nth-of-type(2)
{
    margin-bottom: 20px;
}

.page--shop-details .block-h2 .list-circle
{
    margin-bottom: 0;
}
.page--shop-details .block-h2 .list-circle .list-circle__item
{
    margin-bottom: 10px;
}

.page--shop-details .block-h2 .column__group--video-01
{
    margin-top: 20px;
    margin-bottom: 14px; 
    padding-right: 0;
    padding-left: 0;
}

.page--shop-details .block-h2 .btn--accent
{
    margin: 40px auto;
}
@media screen and (max-width: 1019px)
{
    .page--shop-details .block-h2 .btn--accent
    {
        margin: 30px auto;
    }
}

.page--shop-details .block-h2 [class*='btn--']
{
    max-width: 335px;
}

@media screen and (max-width: 1019px)
{
    .page--shop-details .block-h2 .link-icon--arrow,
    .page--shop-details .block-h2 .link-bullet
    {
        width: 100%;
        max-width: none;
    }
}

.page--shop-details .container--map.sp-visible iframe
{
    margin-bottom: 15px;
}

.page--shop-details p .text-link--icon
{
    font-size: 14px;
}

.page--shop-details .box-group--border .box-group__desc
{
    margin-bottom: 0;
}

.page--shop-details .box-group--border .list-asterisk__item:last-child
{
    margin-top: 14px;
    margin-bottom: 0;
}

@media screen and (max-width: 1019px)
{
    .page--shop-details .box-group--border
    {
        margin-right: 0;
        margin-left: 0;
    }
}

/* Search modules
======================================*/
.search__box
{
    display: flex;
    flex-direction: column; 

    padding: 30px;

    background-color: #f6f8f9;
}
.search__box .column
{
    display: flex;
    flex-direction: row;

    margin: 0 0 20px;
}
@media screen and (max-width: 1019px)
{
    .search__box .column
    {
        flex-direction: column;

    }
}
.search__box .column .search__box--left
{
    position: relative; 
    width: calc(100% - 260px);
    margin-right: 20px;
}
.search__box .column .search__box--left .input-search-box
{
    font-size: 14px;

    width: 100%;
    height: 40px;
    padding-right: 35px; 
    padding-left: 15px;

    border: none;
}
@media screen and (max-width: 1019px)
{
    .search__box .column .search__box--left .input-search-box
    {
        padding-right: 35px;
    }
}
@supports (-webkit-touch-callout: none)
{
    .search__box .column .search__box--left .input-search-box
    {
        font-size: 16px;
    }
}
@media screen and (max-width: 1019px)
{
    .search__box .column .search__box--left
    {
        

        width: 100%;
    }
}
.search__box .column .search__box--right
{
    width: 240px;
    height: 40px; 

    background: #fff;
}
.search__box .column .search__box--right .select-search-box
{
    font-size: 14px;

    width: 100%;
    height: 40px;
    padding-right: 35px;
    padding-left: 14px;

    border: none;
    background-color: #fff;
}
@supports (-webkit-touch-callout: none)
{
    .search__box .column .search__box--right .select-search-box
    {
        font-size: 16px;
    }
}
@media screen and (max-width: 1019px)
{
    .search__box .column .search__box--right
    {
        width: 100%; 
        margin-top: 20px;
    }
}
.search__box .column input.btn-search-box[type='submit']
{
    line-height: normal; 

    width: 160px;
    height: 40px;
    min-height: 40px;

    cursor: pointer;
}
.search__box .column input.btn-search-box[type='submit']:hover
{
    opacity: .7;
}
.search__box .column input.btn-search-box[type='image']
{
    position: absolute;
    top: 50%;
    right: 10px;

    width: 15px;
    height: 15px;
    padding: 0;

    transform: translate(0, -51%);

    box-shadow: none;
}
@media screen and (max-width: 1019px) and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .search__box .column input.btn-search-box[type='image']
    {
        transform: translate(0, -65%);
    }
}
.search__box .column.search__box-submit
{
    margin: 0;
}

.search__box--link .search__box--item
{
    font-weight: 300;

    position: relative;

    padding: 0 10px;

    color: #adadad;
}
.search__box--link .search__box--item:after
{
    position: absolute;
    top: -1px; 
    right: 0;

    width: 1px;
    height: 18px;

    content: '';

    background-color: #dde3e7;
}
.search__box--link .search__box--item-active
{
    font-weight: 400; 

    color: #2076c7;
}
.search__box--link .search__box--item:first-child
{
    padding-left: 0;
}
.search__box--link .search__box--item:last-child
{
    padding-right: 0;
}
.search__box--link .search__box--item:last-child:after
{
    content: none;
}

@media screen and (max-width: 1019px)
{
    .search__box--result-list
    {
        margin-right: -20px !important; 
        margin-left: -20px !important;
    }
}

.search__box--result-list .search__box--result-item
{
    display: flex;
    flex-direction: column;

    padding: 30px 10px; 

    border-top: 1px solid #dbe3e8;
}
@media screen and (max-width: 1019px)
{
    .search__box--result-list .search__box--result-item
    {
        padding: 20px;
    }
}
.search__box--result-list .search__box--result-item:last-child
{
    border-bottom: 1px solid #dbe3e8;
}
.search__box--result-list .search__box--result-item .text-link--icon
{
    display: -webkit-box;
    overflow: hidden;

    text-overflow: ellipsis; 

    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
@media screen and (max-width: 1019px)
{
    .search__box--result-list .search__box--result-item .text-link--icon
    {
        -webkit-line-clamp: 2;
    }
}
.search__box--result-list .search__box--result-item .search__box--link-title
{
    display: inherit;
}
.search__box--result-list .search__box--result-item .search__box--link-title .icon-arrow--right
{
    font-size: 14px;

    display: flex;

    align-items: center;
}
.search__box--result-list .search__box--result-item .search__box--link-title:hover .icon-arrow--right
{
    opacity: .7;
}
.search__box--result-list .search__box--result-item .column
{
    display: flex;
    flex-direction: row;

    margin: 30px 5px 0; 

    align-items: flex-start;
}
@media screen and (max-width: 1019px)
{
    .search__box--result-list .search__box--result-item .column
    {
        margin: 20px 0 10px;
    }
}
.search__box--result-list .search__box--result-item .column .search__box--result-image
{
    width: 188px;
}
.search__box--result-list .search__box--result-item .column .search__box--result-image img
{
    height: auto;
}
@media screen and (max-width: 1019px)
{
    .search__box--result-list .search__box--result-item .column .search__box--result-image
    {
        width: 80px;
    }
}
.search__box--result-list .search__box--result-item .column .search__box--result-body
{
    width: calc(100% - 188px);
    padding-left: 20px;
}
@media screen and (max-width: 1019px)
{
    .search__box--result-list .search__box--result-item .column .search__box--result-body
    {
        width: calc(100% - 80px);
        padding-left: 15px;
    }
    .search__box--result-list .search__box--result-item .column .search__box--result-body .search__box--result-content
    {
        margin-bottom: 0;
    }
}
.search__box--result-list .search__box--result-item .search__box--result-link
{
    font-size: 13px; 

    color: #2076c7;
}

#menu-all-module
{
    position: fixed;
    z-index: 9999;
    top: 50%;
    right: -300px;

    width: 300px;
    max-height: calc(100vh - 40px);

    transition: .3s right ease-in-out; 
    transform: translate(0, -50%);

    background-color: #fff;
}
#menu-all-module.show
{
    right: 20px;
}
#menu-all-module.show .module-menu__button
{
    display: none;
}
#menu-all-module .module-menu__button
{
    position: absolute;
    top: 50%;
    left: -50px;

    display: flex;
    flex-direction: column;

    width: 40px;
    height: 40px;

    cursor: pointer;
    transform: translate(0, -50%);

    border: 1px solid #2076c7;
    border-radius: 3px;
    background-color: #2076c7;

    align-items: center;
    justify-content: center;
}
#menu-all-module .module-menu__button .module-menu__line
{
    width: 25px;
    height: 1px;
    margin-bottom: 5px;

    background-color: #fff;
}
#menu-all-module .module-menu__button .module-menu__line:last-child
{
    margin-bottom: 0;
}
#menu-all-module ul
{
    overflow: auto;

    max-height: calc(100vh - 40px); 
    padding: 30px 30px 30px 40px;

    border: 1px solid #2076c7;
    border-radius: 3px;
}
#menu-all-module ul li
{
    list-style: none;
}
#menu-all-module ul li a
{
    position: relative;

    word-break: break-word; 

    color: #555;
}
#menu-all-module ul li a:before
{
    position: absolute;
    top: 5px; 
    left: -18px;

    width: 8px;
    height: 8px;

    content: '';
    transform: rotate(135deg);

    border-top: 1px solid #2076c7;
    border-left: 1px solid #2076c7;
}
#menu-all-module ul li a.active
{
    color: #2076c7;
}
#menu-all-module ul::-webkit-scrollbar-track
{
    background-color: #fafafa; 
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
}
#menu-all-module ul::-webkit-scrollbar
{
    width: 6px;

    background-color: #fafafa;
}
#menu-all-module ul::-webkit-scrollbar-thumb
{
    background-color: #c7c7c7;
}
