body
{
    font-family: 'Noto Sans JP',sans-serif;
    font-size: .875rem;
    font-weight: 400;
    line-height: 2.1429;

    overflow-x: hidden;

    min-width: 320px;

    counter-reset: practice;
    letter-spacing: .01em;

    color: #000;
}

a
{
    cursor: pointer;
    text-decoration: none;

    color: #000;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl
{
    margin: 0;
}

figure
{
    margin: 0;
}

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

p
{
    margin: 0;
}

/* Lazyload
------------------------------------------ */
.lazyload,
.lazyloading
{
    opacity: 0;
}

.lazyloaded
{
    transition: opacity .3s;

    opacity: 1;
}

/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after
{
    box-sizing: border-box;
}

/**
  * 1. Add text decoration inheritance in all browsers (opinionated).
  * 2. Add vertical alignment inheritance in all browsers (opinionated).
  */
::before,
::after
{
    /* 1 */
    vertical-align: inherit;
    text-decoration: inherit;
    /* 2 */
}

/**
  * 1. Use the default cursor in all browsers (opinionated).
  * 2. Change the line height in all browsers (opinionated).
  * 3. Use a 4-space tab width in all browsers (opinionated).
  * 4. Remove the grey highlight on links in iOS (opinionated).
  * 5. Prevent adjustments of font size after orientation changes in
  *    IE on Windows Phone and in iOS.
  * 6. Breaks words to prevent overflow in all browsers (opinionated).
  */
html
{
    line-height: 1.5;
    /* 1 */

    overflow-x: hidden;

    cursor: default;
    /* 5 */
    word-break: break-word;
    /* 2 */
    -moz-tab-size: 4;
    /* 3 */
      -o-tab-size: 4;
         tab-size: 4;
    /* 3 */

    -webkit-tap-highlight-color: transparent;
        -ms-text-size-adjust: 100%;
    /* 5 */
    -webkit-text-size-adjust: 100%;
    /* 6 */
}

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

/**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Edge, Firefox, and Safari.
  */
/* Grouping content
  * ========================================================================== */
/**
  * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
  */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl
{
    margin: 0;
}

/**
  * Remove the margin on nested lists in Edge 18- and IE.
  */
ol ol,
ol ul,
ul ol,
ul ul
{
    margin: 0;
}

ul
{
    padding-left: 0;
}

ul li
{
    list-style-type: none;
}

/**
  * 1. Add the correct sizing in Firefox.
  * 2. Show the overflow in Edge 18- and IE.
  */
hr
{
    /* 1 */
    overflow: visible;

    height: 0;
    /* 2 */
}

/**
  * Add the correct display in IE.
  */
main
{
    display: block;
}

/**
  * Remove the list style on navigation lists in all browsers (opinionated).
  */
nav ol,
nav ul
{
    padding: 0;

    list-style: none;
}

/**
  * 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;
}

/**
  * Add the correct text decoration in Edge 18-, IE, and Safari.
  */
abbr[title]
{
            text-decoration: underline;
            text-decoration: underline dotted;

    -webkit-text-decoration: underline dotted;
}

/**
  * 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%;
}

/* Embedded content
  * ========================================================================== */
/*
  * Change the alignment on media elements in all browsers (opinionated).
  */
audio,
canvas,
iframe,
img,
svg,
video
{
    vertical-align: middle;
}

/**
  * Add the correct display in IE 9-.
  */
audio,
video
{
    display: inline-block;
}

/**
  * Add the correct display in iOS 4-7.
  */
audio:not([controls])
{
    display: none;

    height: 0;
}

/**
  * Remove the border on iframes in all browsers (opinionated).
  */
iframe
{
    border-style: none;
}

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

/**
  * Change the fill color to match the text color in all browsers (opinionated).
  */
svg:not([fill])
{
    fill: currentColor;
}

/**
  * Hide the overflow in IE.
  */
svg:not(:root)
{
    overflow: hidden;
}

/* Tabular data
  * ========================================================================== */
/**
  * Collapse border spacing in all browsers (opinionated).
  */
table
{
    border-collapse: collapse;
}

/* Forms
  * ========================================================================== */
/**
  * Remove the margin on controls in Safari.
  */
button,
input,
select
{
    margin: 0;
}

/**
  * 1. Show the overflow in IE.
  * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
  */
button
{
    overflow: visible;
    /* 1 */

    text-transform: none;
    /* 2 */
}

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

/**
  * 1. Change the inconsistent appearance in all browsers (opinionated).
  * 2. Correct the padding in Firefox.
  */
fieldset
{
    /* 1 */
    padding: .35em .75em .625em;

    border: 1px solid #a0a0a0;
    /* 2 */
}

/**
  * Show the overflow in Edge 18- and IE.
  */
input
{
    overflow: visible;
}

/**
  * 1. Correct the text wrapping in Edge 18- and IE.
  * 2. Correct the color inheritance from `fieldset` elements in IE.
  */
legend
{
    /* 2 */
    display: table;
    /* 1 */

    max-width: 100%;
    /* 1 */

    white-space: normal;

    color: inherit;
    /* 1 */
}

/**
  * 1. Add the correct display in Edge 18- and IE.
  * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
  */
progress
{
    display: inline-block;
    /* 1 */

    vertical-align: baseline;
    /* 2 */
}

/**
  * Remove the inheritance of text transform in Firefox.
  */
select
{
    text-transform: none;
}

/**
  * 1. Remove the margin in Firefox and Safari.
  * 2. Remove the default vertical scrollbar in IE.
  * 3. Change the resize direction in all browsers (opinionated).
  */
textarea
{
    /* 1 */
    overflow: auto;

    margin: 0;
    /* 2 */

    resize: vertical;
    /* 3 */
}

/**
  * Remove the padding in IE 10-.
  */
[type='checkbox'],
[type='radio']
{
    padding: 0;
}

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

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

/**
  * Correct the cursor style of increment and decrement buttons in Safari.
  */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button
{
    height: auto;
}

/**
  * Correct the text style of placeholders in Chrome, Edge, and Safari.
  */
::-webkit-input-placeholder
{
    opacity: .54;
    color: inherit;
}

/**
  * Remove the inner padding in Chrome, Edge, and Safari on macOS.
  */
::-webkit-search-decoration
{
    -webkit-appearance: none;
}

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

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

/**
  * Remove the inner border and padding of focus outlines in Firefox.
  */
::-moz-focus-inner
{
    padding: 0;

    border-style: none;
}

/**
  * Restore the focus outline styles unset by the previous rule in Firefox.
  */
:-moz-focusring
{
    outline: 1px dotted ButtonText;
}

/**
  * Remove the additional :invalid styles in Firefox.
  */
:-moz-ui-invalid
{
    box-shadow: none;
}

/* Interactive
  * ========================================================================== */
/*
  * Add the correct display in Edge 18- and IE.
  */
details
{
    display: block;
}

/*
  * Add the correct styles in Edge 18-, IE, and Safari.
  */
dialog
{
    position: absolute;
    right: 0;
    left: 0;

    display: block;

    width:    -moz-fit-content;
    width: -webkit-fit-content;
    width:         fit-content;
    height:    -moz-fit-content;
    height: -webkit-fit-content;
    height:         fit-content;
    margin: auto;
    padding: 1em;

    color: black;
    border: solid;
    background-color: white;
}

dialog:not([open])
{
    display: none;
}

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

/* Scripting
  * ========================================================================== */
/**
  * Add the correct display in IE 9-.
  */
canvas
{
    display: inline-block;
}

/**
  * Add the correct display in IE.
  */
template
{
    display: none;
}

/* User interaction
  * ========================================================================== */
/*
  * 1. Remove the tapping delay in IE 10.
  * 2. Remove the tapping delay on clickable elements
       in all browsers (opinionated).
  */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex]
{
    /* 1 */
    touch-action: manipulation;
    /* 2 */
}

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

/* Accessibility
  * ========================================================================== */
/**
  * Change the cursor on busy elements in all browsers (opinionated).
  */
[aria-busy='true']
{
    cursor: progress;
}

/*
  * Change the cursor on control elements in all browsers (opinionated).
  */
[aria-controls]
{
    cursor: pointer;
}

/*
  * Change the cursor on disabled, not-editable, or otherwise
  * inoperable elements in all browsers (opinionated).
  */
[aria-disabled='true'],
[disabled]
{
    cursor: not-allowed;
}

/*
  * Change the display on visually hidden accessible elements
  * in all browsers (opinionated).
  */
[aria-hidden='false'][hidden]
{
    display: initial;
}

[aria-hidden='false'][hidden]:not(:focus)
{
    position: absolute;

    clip: rect(0, 0, 0, 0);
}

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

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

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

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

@-webkit-keyframes mmslideIn
{
    from
    {
        transform: translateY(15%);
    }
    to
    {
        transform: translateY(0);
    }
}

@keyframes mmslideIn
{
    from
    {
        transform: translateY(15%);
    }
    to
    {
        transform: translateY(0);
    }
}

@-webkit-keyframes mmslideOut
{
    from
    {
        transform: translateY(0);
    }
    to
    {
        transform: translateY(-10%);
    }
}

@keyframes mmslideOut
{
    from
    {
        transform: translateY(0);
    }
    to
    {
        transform: translateY(-10%);
    }
}

.cmn-footer
{
    display: flex;

    padding: 34px 20px 45px;

    background-image: url(../img/footer_sp.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    justify-content: space-between;
}

.cmn-footer .logo
{
    width: 68px;
}

.cmn-footer .detail
{
    font-size: .875rem;
    line-height: 1.7143;

    margin-top: -6px;
    margin-left: 36px;

    color: #fff;

    flex: 1 1;
}

.footer
{
    padding: 50px 20px 75px;

    background-color: #f4f7f0;
}

.footer .inner
{
    width: 100%;
}

.footer .footer-about .logo
{
    width: 150px;
    margin-right: auto;
    margin-left: auto;
}

.footer .footer-about .detail
{
    padding-top: 20px;
}

.footer .footer-about .detail p
{
    font-size: 1rem;
    line-height: 1.875;
}

.footer .footer-map
{
    padding-top: 40px;
}

.footer .footer-map::after
{
    display: block;
    clear: both;

    content: '';
}

.footer .footer-map .sitemap
{
    float: left;
}

.footer .footer-map .sitemap + .sitemap
{
    margin-left: 10.7296%;
}

.footer .footer-map .sitemap > ul
{
    padding-left: 0;

    list-style-type: none;
}

.footer .footer-map .sitemap > ul li + li
{
    margin-top: 10px;
}

.footer .footer-map .sitemap > ul li a
{
    font-size: 1rem;
    line-height: 1.875;
}

.cmn-header
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
}

.cmn-header .header-logo
{
    display: flex;

    margin-top: 5px;
    margin-right: 5.3333%;
    margin-left: 1.3333%;

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

.cmn-header .header-logo .logo
{
    width: 89px;
}

.cmn-header .header-logo > p
{
    font-size: 1rem;
    line-height: 1;

    letter-spacing: 0;

    color: #8bc22b;
}

header.header
{
    position: fixed;
    z-index: 6;
    top: 0;
    left: 0;

    width: 100%;

    background-color: #fff;
}

header.header > .inner
{
    display: flex;

    height: 75px;

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

header.header .header-logo
{
    display: flex;

    margin-left: 3.5714%;

    align-items: center;
}

header.header .header-logo .logo
{
    width: 82px;
    margin-right: 12px;
}

header.header .header-logo .logo a
{
    display: block;
}

header.header .header-logo p
{
    font-size: .75rem;
    line-height: 1;
}

header.header .header-nav
{
    position: absolute;
    top: 75px;
    left: 0;

    display: none;

    width: 100%;

    background-color: #fff;
}

header.header .header-nav.-active
{
    display: block;
}

header.header .header-nav .nav > ul
{
    overflow-y: auto;

    height: calc(100vh - 75px);
}

header.header .header-nav .nav > ul > li
{
    position: relative;
}

header.header .header-nav .nav > ul > li:not(:last-child)
{
    border-top: 1px solid #666;
}

header.header .header-nav .nav > ul > li > a
{
    font-size: 1.375rem;
    line-height: 1;

    display: block;

    padding-top: 26px;
    padding-bottom: 26px;

    text-align: center;
}

header.header .header-nav .nav > ul > li.contact
{
    padding-bottom: 40px;
}

header.header .header-nav .nav > ul > li.contact a
{
    position: relative;

    max-width: 350px;
    height: 75px;
    margin-right: auto;
    margin-left: auto;

    color: #fff;
    background-color: #8bc22b;
}

header.header .header-nav .nav > ul > li.contact a::before
{
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;

    width: 16px;
    height: 16px;
    margin: auto;

    content: '';
    transform: rotate(-90deg);

    background-image: url(../img/arrow-l_dgreen.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

header.header .header-nav .child.-recruit
{
    width: 162px;
}

header.header .header-nav .child.-open
{
    display: block;
}

header.header .header-nav .child > ul
{
    padding-right: 20px;
    padding-left: 20px;

    background-color: #fff;
}

header.header .header-nav .child > ul li
{
    border-top: 2px dotted #666;
}

header.header .header-nav .child > ul li a
{
    font-size: 1.125rem;
    line-height: 1;

    display: flex;

    height: 50px;
    padding-left: 18px;

    color: #666;

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

header.header .nav-btn
{
    position: fixed;
    z-index: 4;
    top: 18px;
    right: 20px;
}

header.header .nav-btn .modal-btn
{
    position: relative;

    width: 35px;
    height: 24px;
}

header.header .nav-btn .modal-btn.-active span
{
    top: 0;
    bottom: 0;

    margin: auto;

    transition: transform .3s ease;
}

header.header .nav-btn .modal-btn.-active span:nth-child(1)
{
    transform: rotate(45deg);
}

header.header .nav-btn .modal-btn.-active span:nth-child(2)
{
    transform: rotate(45deg);
}

header.header .nav-btn .modal-btn.-active span:nth-child(3)
{
    transform: rotate(-45deg);
}

header.header .nav-btn .modal-btn span
{
    position: absolute;
    left: 0;

    display: inline-block;

    width: 100%;
    height: 4px;

    transition: transform .3s ease;

    background-color: #00a9ac;
}

header.header .nav-btn .modal-btn span:nth-child(1)
{
    top: 0;
}

header.header .nav-btn .modal-btn span:nth-child(2)
{
    top: 0;
    bottom: 0;

    margin: auto;
}

header.header .nav-btn .modal-btn span:nth-child(3)
{
    bottom: 0;
}

.article-section
{
    position: relative;

    margin-right: auto;
    margin-left: auto;
    padding-top: 64px;
    padding-right: 20px;
    padding-bottom: 75px;
    padding-left: 20px;

    background-color: #fff;
}

.article-section.-border
{
    position: relative;

    padding-bottom: 75px;
}

.article-section.-border::after
{
    position: absolute;
    bottom: 0;
    left: 5.3333%;

    width: 89.3333%;
    height: 1px;

    content: '';

    background-color: #000;
}

.article-section.-noobject
{
    margin-bottom: 100px;
    padding-top: 40px;
    padding-bottom: 40px;
}

.article-section.-noobject::before
{
    display: none;
}

.article-section.-green
{
    background-color: #fafded;
}

.article-section::before
{
    position: absolute;
    top: 0;
    right: 0;

    width: 225px;
    height: 150px;

    content: '';

    opacity: .5;
    background-image: url(../img/object.png);
    background-size: contain;
}

.article-section > .inner
{
    position: relative;
    z-index: 1;

    max-width: 880px;
    margin-right: auto;
    margin-left: auto;
}

.article-section > .inner > .title
{
    font-size: 1.75rem;
    font-weight: normal;
    line-height: 1.6071;
}

.article-section .article-box > .textarea
{
    font-size: 1.125rem;
    line-height: 1.7778;

    margin-top: 40px;
    margin-bottom: 40px;
}

.article-section .article-box > .textarea.-nomb
{
    margin-bottom: 0;
}

.article-section .article-box > .textarea .about
{
    margin-bottom: 20px;
}

.article-section .article-box > .textarea > .box + .box
{
    margin-top: 30px;
}

.article-section .article-box > .textarea > .box .title
{
    font-weight: bold;
}

.article-section .article-box > .textarea > .box .accent
{
    color: #f00;
}

.article-section .article-box > .textarea > .box .mt20
{
    display: inline-block;

    margin-top: 20px;
}

.article-section .article-box > .textarea > .contact
{
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.5556;

    margin-top: 75px;

    text-align: center;

    color: #666;
}

.article-section .article-box > .textarea > .contact.-tal
{
    text-align: left;
}

.article-section .article-box > .textarea > .bnr
{
    margin-top: 40px;
}

.article-section .article-box:first-of-type .hdl-title
{
    margin-top: 0;
}

.article-section .article-box > .hdl-title
{
    font-size: 1.375rem;
    line-height: 1.4546;

    margin-top: 75px;
    margin-bottom: 25px;
    padding: 25px;

    background-color: #f4f7f0;
}

.article-section .article-box > .hdl-title span
{
    font-size: 1rem;
    line-height: 1.75;

    padding-left: 15px;
}

.article-section .article-box > .hdl-title.-sub
{
    padding: 0;

    background-color: transparent;
}

.article-section .article-box > .hdl-title.-sub > span
{
    font-size: 1.5rem;
    line-height: 1.5;

    padding-left: 0;

    background: linear-gradient(transparent 70%, #f4f7f0 70%);
}

.article-section .article-column
{
    display: flex;

    flex-flow: column;
}

.article-section .article-column > .textarea
{
    font-size: 1.25rem;
    line-height: 1.7;

    margin-top: -9px;

    flex: 1 1;
}

.article-section .article-column > .textarea .about
{
    margin-bottom: 20px;
}

.article-section .article-column > .figure
{
    margin-top: 40px;
}

.article-section .works-btn
{
    text-align: center;
}

.article-option .option-title
{
    font-size: 1.375rem;
    font-weight: bold;
    line-height: 1.4546;
}

.article-option .box
{
    margin-top: 15px;
}

.article-option .box p
{
    font-size: 1.125rem;
    line-height: 1.7778;
}

.article-option .box p + p
{
    margin-top: 8px;
}

.article-option .box ul
{
    font-size: 1.125rem;
    line-height: 1.7778;

    margin-top: 20px;
    margin-bottom: 20px;
}

.business-nav
{
    margin-bottom: 25px;
}

.business-nav.-top ul li a
{
    border: none;
    background-color: #f4f7f0;
}

.business-nav.-top ul li a::before
{
    display: none;
}

.business-nav .selectbox
{
    font-size: 1.125rem;
    line-height: 1;

    position: relative;

    width: 350px;
    height: 50px;
    margin-top: 140px;
    margin-right: auto;
    margin-left: auto;

    cursor: pointer;

    background-color: #f4f7f0;
}

.business-nav .selectbox .label
{
    position: absolute;
    z-index: 1;

    display: flex;

    width: 100%;
    height: 50px;

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

.business-nav .selectbox .label::before
{
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;

    width: 10px;
    height: 15px;
    margin: auto;

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

    background-image: url(/assets/img/arrow-s_green.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.business-nav .selectbox .select
{
    position: relative;
    z-index: 2;

    display: block;

    width: 100%;
    padding: 20px;

    cursor: pointer;

    opacity: 0;
    border: none;
}

.business-nav ul
{
    display: flex;

    padding-left: 0;

    list-style-type: none;
}

.business-nav ul li
{
    width: 19.8864%;
}

.business-nav ul li + li
{
    margin-left: .6818%;
}

.business-nav ul a
{
    font-size: 1rem;
    line-height: 1.375;

    position: relative;
    z-index: 1;

    display: flex;

    height: 72px;

    text-align: center;

    border: 1px solid #fff;

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

.business-nav ul a::before
{
    position: absolute;
    z-index: -1;

    width: 100%;
    height: 100%;

    content: '';

    opacity: .7;
    background-color: #fff;
}

.business-nav ul a.-active
{
    border: none;
    background-color: #f4f7f0;
}

.business-nav ul a.-active::before
{
    display: none;
}

.business-intro > .inner
{
    display: flex;

    flex-flow: column-reverse;
}

.business-intro .figure
{
    margin-top: 48px;
}

.business-intro .textarea .title
{
    font-size: 1.75rem;
    font-weight: normal;
    line-height: 1.6071;
}

.business-intro .textarea .title small
{
    font-size: 1.125rem;
    line-height: 1.7778;
}

.business-intro .textarea p
{
    font-size: 1.375rem;
    line-height: 1.7273;

    margin-top: 50px;
}

.business-intro .intro-text
{
    margin-top: 40px;
}

.business-intro .intro-text p
{
    font-size: 1.125rem;
    line-height: 1.7778;
}

.button
{
    width: 200px;

    transition: .3s;
    text-align: center;

    border: 3px solid pink;
    border-radius: 50px;
    background-color: pink;
}

.button:hover
{
    transition: .3s;

    background-color: #fff;
}

.button:hover > a
{
    color: pink;
}

.button > a
{
    font-weight: bold;

    display: block;

    text-decoration: none;

    color: #fff;
}

.main-btn a
{
    font-size: 1.375rem;
    line-height: 1;

    position: relative;

    display: inline-flex;

    width: 100%;
    max-width: 350px;
    height: 75px;

    color: #fff;
    background-color: #8bc22b;

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

.main-btn a::before
{
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;

    width: 16px;
    height: 16px;
    margin: auto;

    content: '';
    transform: rotate(-90deg);

    background-image: url(../img/arrow-l_dgreen.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.main-btn.-return a
{
    background-color: #00a9ac;
}

.main-btn.-return a::before
{
    right: inherit;
    left: 16px;

    transform: rotate(0);

    background-image: url(../img/arrow-l_black.svg);
}

.main-btn.-blank a::before
{
    position: absolute;

    width: 16px;
    height: 14px;

    content: '';
    transform: rotate(0);

    background-image: url(../img/icon-blank.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.cmn-btn
{
    position: relative;

    max-width: 350px;
    margin-right: auto;
    margin-left: auto;

    border-radius: 5px;
    background-color: #8bc22b;
}

.cmn-btn::before
{
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;

    width: 13px;
    height: 20px;
    margin: auto;

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

    background-image: url(../img/arrow-s_white.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.cmn-btn.-secondary
{
    background-color: #00a9ac;
}

.cmn-btn.-return::before
{
    right: inherit;
    left: 15px;

    transform: rotate(-180deg);
}

.cmn-btn a,
.cmn-btn input,
.cmn-btn button
{
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1;

    display: flex;

    width: 100%;
    height: 75px;

    text-align: center;

    color: #fff;

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

.cmn-width
{
    width: 89.3333%;
    margin-right: auto;
    margin-left: auto;
}

.cmn-ttl
{
    font-size: 1.625rem;
    font-weight: bold;
    line-height: 1.3846;
}

.cmn-ttl.-white
{
    color: #fff;
}

.cmn-subttl
{
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.4167;
}

.cmn-page
{
    position: relative;
    z-index: 1;
}

.cmn-page .over-wrap .return-business
{
    padding-bottom: 75px;

    text-align: center;
}

.main-object
{
    position: relative;
}

.main-object::before
{
    position: absolute;
    z-index: -1;

    content: '';

    opacity: .5;
    background-image: url(../img/object.png);
    background-size: contain;
}

.main-object.-large::before
{
    width: 225px;
    height: 153px;
}

.main-object.-mid::before
{
    width: 225px;
    height: 153px;
}

.main-header
{
    padding-top: 171px;
    padding-bottom: 185px;

    text-align: center;

    background-position: center;
    background-size: cover;
}

.main-header.-business
{
    padding-top: 135px;
    padding-bottom: 10px;

    background-image: url(../img/bg/business/bsn-mv_sp.png);
}

.main-header.-appli
{
    background-image: url(../img/bg/appli/bsn-appli-mv_sp.png);
}

.main-header.-webapl
{
    background-image: url(../img/bg/webapl/bsn-web-mv_sp.png);
}

.main-header.-winapl
{
    background-image: url(../img/bg/winapl/bsn-win-mv_sp.png);
}

.main-header.-mainte
{
    background-image: url(../img/bg/mainte/bsn-mainte-mv_sp.png);
}

.main-header.-digital
{
    background-image: url(../img/bg/digital/bsn-digital-mv_sp.png);
}

.main-header.-iitoko
{
    background-image: url(../img/bg/iitoko/bsn-iitoko-mv_sp.png);
}

.main-header > .inner > .title
{
    font-size: 2rem;
    font-weight: normal;
    line-height: 1.4063;
}

.main-header > .inner > .title.-white
{
    color: #fff;
}

.main-cont
{
    padding-top: 75px;
}

.cmn-modal
{
    display: none;
}

.cmn-modal.is-open
{
    display: block;
}

.cmn-modal.micromodal-slide[aria-hidden='false'] .modal-overlay,
.cmn-modal.micromodal-slide[aria-hidden='false'] .modal-container
{
    -webkit-animation: mmfadeIn .3s cubic-bezier(0, 0, .2, 1);
            animation: mmfadeIn .3s cubic-bezier(0, 0, .2, 1);
}

.cmn-modal.micromodal-slide[aria-hidden='false'] .modal-container.-slide
{
    -webkit-animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
            animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.cmn-modal.micromodal-slide[aria-hidden='true'] .modal-overlay,
.cmn-modal.micromodal-slide[aria-hidden='true'] .modal-container
{
    -webkit-animation: mmfadeOut .3s cubic-bezier(0, 0, .2, 1);
            animation: mmfadeOut .3s cubic-bezier(0, 0, .2, 1);
}

.cmn-modal.micromodal-slide[aria-hidden='true'] .modal-container.-slide
{
    -webkit-animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
            animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.cmn-modal .modal-overlay
{
    position: fixed;
    z-index: 2;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: flex;

    background: rgba(0, 0, 0, .5);

    will-change: transform;
    align-items: center;
    justify-content: center;
}

.cmn-modal .modal-container
{
    overflow-y: auto;

    width: 89.3333%;
    max-width: 1080px;
    max-height: 80vh;
    padding: 45px 20px;

    border-radius: 10px;
    background-color: #fff;

    will-change: transform;
}

.cmn-modal .modal-container > .inner
{
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
}

.cmn-modal .header .title
{
    font-size: 1.75rem;
    font-weight: normal;
    line-height: 1;

    text-align: center;
}

.cmn-modal .description .ttl
{
    font-size: 1.375rem;
    line-height: 1.4546;

    color: #00a9ac;
}

.cmn-modal .content
{
    margin-top: 30px;
}

.cmn-modal .content .box + .box
{
    margin-top: 20px;
}

.cmn-modal .content .box.-reverce
{
    text-align: right;
}

.cmn-modal .content h3
{
    font-size: 1rem;
    line-height: 1.5;

    margin-bottom: 10px;
}

.cmn-modal .content p
{
    font-size: 1rem;
    line-height: 1.5;
}

.cmn-modal .modal-close
{
    margin-top: 51px;
}

.cmn-modal .modal-close::before
{
    display: none;
}

.cmn-modal .modal-close button
{
    height: 55px;
}

/* Slider */
.slider
{
    overflow: hidden;
}

.slider .image
{
    margin: 0 4.8%;
}

.slick-list
{
    margin: 0 100px;
}

.slick-loading .slick-list
{
    background: #fff slick-image-url('ajax-loader.gif') center center no-repeat;
}

/* Icons */
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    z-index: 3;
    top: 40%;

    display: block;

    width: 40px;
    height: 40px;
    padding: 0;

    cursor: pointer;
    transform: translate(0, -50%);

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

.slick-prev::before,
.slick-next::before
{
    position: absolute;
    z-index: 4;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 20px;
    height: 40px;
    margin: auto;

    content: '';

    background-image: url(../img/arrow-s_grey.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
}

.slick-prev
{
    left: -2.9851%;
}

.slick-prev::before
{
    transform: rotate(-180deg);
}

[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}

.slick-next
{
    right: -2.9851%;
}

[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    margin: 0;
    padding: 0;

    list-style: none;

    text-align: center;
}

.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
}

.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: 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: flex;

    height: 100%;
    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: flex;
    display: none;
    float: left;

    height: auto;
    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;
}

.business-article
{
    position: relative;
}

.business-article + .business-article
{
    margin-top: 250px;
}

.business-article::after
{
    position: absolute;
    z-index: -1;
    bottom: -310px;
    left: 0;

    width: 100vw;
    height: 540px;
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);

    content: '';

    background-position: center;
    background-size: cover;
}

.business-article:nth-child(2)::after
{
    background-image: url(../img/bg/business/bsn-sec01_sp.png);
}

.business-article:nth-child(3)::after
{
    background-image: url(../img/bg/business/bsn-sec02_sp.png);
}

.business-article:nth-child(4)::after
{
    background-image: url(../img/bg/business/bsn-sec03_sp.png);
}

.business-box + .business-box
{
    padding-top: 60px;
}

.business-box > .hdl-title
{
    font-size: 1.75rem;
    line-height: 1.6071;

    position: relative;

    padding-bottom: 45px;
    padding-left: 46px;
}

.business-box > .hdl-title::before
{
    position: absolute;
    top: 10px;
    left: 0;

    width: 30px;
    height: 30px;

    content: '';

    background-image: url(../img/icon-check.svg);
}

.business-box > .hdl-title span
{
    background: linear-gradient(transparent 70%, #f4f7f0 70%);
}

.business-box .business-top
{
    display: flex;

    flex-flow: row-reverse;
    justify-content: space-between;
}

.business-box .business-top .figure
{
    width: 45.4546%;
}

.business-box .business-top .textarea
{
    font-size: 1.125rem;
    line-height: 1.5556;
}

.business-box .notes
{
    font-size: 1.125rem;
    line-height: 1.5556;

    margin-top: 50px;
}

.business-flow ul
{
    display: flex;

    margin-top: -20px;
    padding-left: 0;

    list-style-type: none;

    flex-flow: wrap;
}

.business-flow ul li
{
    font-size: 1.125rem;
    line-height: 1;

    display: flex;

    width: 47px;
    max-width: 60px;
    height: 160px;
    margin-top: 24px;
    margin-bottom: 24px;
    padding-top: 23px;

    -ms-writing-mode: tb-rl;

    color: #fff;
    border-radius: 8px;
    background-color: #00a9ac;

        writing-mode: vertical-rl;
    align-items: center;
}

.business-flow ul li + li
{
    position: relative;

    margin-left: 36px;
}

.business-flow ul li + li::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: -34px;

    width: 25px;
    height: 25px;
    margin: auto;

    content: '';
    transform: rotate(-90deg);

    background-image: url(../img/arrow-l_green.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.business-btn
{
    margin-top: 25px;

    text-align: center;
}

.business-cont.-release
{
    margin-top: 70px;
}

.business-cont .box:not(:last-child)
{
    margin-bottom: 50px;
}

.business-cont .box > .title
{
    font-size: 1.375rem;
    font-weight: bold;
    line-height: 1.4546;

    margin-bottom: 10px;
}

.business-cont .contact
{
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.5556;

    text-align: center;

    color: #666;
}

.business-cont .textarea
{
    font-size: 1.125rem;
    line-height: 1.5556;

    margin-bottom: 30px;
}

.business-cont .textarea.-nomb
{
    margin-bottom: 0;
}

.business-list > .title
{
    font-size: 1.375rem;
    font-weight: bold;
    line-height: 1.4546;

    text-align: center;
}

.business-list > ul
{
    padding-top: 35px;
    padding-left: 0;

    list-style-type: none;
}

.business-list > ul li + li
{
    margin-top: 20px;
}

.business-list > ul a
{
    font-size: 1.125rem;
    line-height: 1.5556;

    position: relative;

    display: flex;

    width: 100%;
    padding: 25px 0;

    border: 1px solid #069100;
    background-color: #f4f7f0;

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

.business-list > ul a::before
{
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;

    width: 16px;
    height: 16px;
    margin: auto;

    content: '';
    transform: rotate(-90deg);

    background-image: url(../img/arrow-l_green.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.mainte-intro
{
    display: flex;

    flex-flow: column-reverse;
}

.mainte-intro .figure
{
    margin-top: 48px;
}

.mainte-intro .textarea
{
    flex: 1 1;
}

.mainte-intro .textarea .title
{
    font-size: 1.75rem;
    font-weight: normal;
    line-height: 1.6071;
}

.mainte-intro .textarea p
{
    font-size: 1.375rem;
    line-height: 1.7273;
}

.digital-cont > ul > li + li
{
    margin-top: 50px;
}

.digital-cont > ul > li > .title
{
    font-size: 1.375rem;
    line-height: 1.7273;

    margin-bottom: 24px;
}

.digital-cont > ul > li .box .text
{
    font-size: 1.125rem;
    line-height: 1.7778;

    margin-top: 40px;
}

.digital-cont > ul > li .box .text > .title
{
    font-weight: bold;
}

.digital-cont > ul > li .box .text > .-small
{
    font-size: 1rem;
    line-height: 1.875;
}

.digital-cont > ul > li .box .text p + p
{
    margin-top: 10px;
}

.appli-table
{
    margin-top: 50px;
}

.appli-table td,
.appli-table th
{
    padding: 5px;

    vertical-align: middle;

    border: 1px solid #ccc;
}

.appli-table thead th
{
    background-color: #dcf3a2;
}

.company-header
{
    background-image: url(../img/bg/profile/company-mv_sp.png);
}

.company-article .company-box .hide
{
    position: relative;

    overflow-y: hidden;

    height: 350px;
    padding-bottom: 60px;
}

.company-article .company-box .hide:before
{
    position: absolute;
    bottom: 0;

    width: 100%;
    height: 98px;

    content: '';

    background: linear-gradient(to top, #fff, transparent);
}

.company-article .company-box .hide.-open
{
    overflow-y: visible;

    height: auto;
}

.company-article .company-box .hide.-open:before
{
    height: 0;
}

.company-article .company-box .hide .box + .box
{
    margin-top: 30px;
}

.company-article .company-box .hide .box p
{
    font-size: 1.125rem;
    line-height: 1.7778;
}

.company-article .company-box .hide .box .title
{
    font-weight: bold;
}

.company-article .company-box .hide .about
{
    display: flex;

    margin-top: 25px;

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

.company-article .company-box .hide .about .figure
{
    width: 200px;
    margin-left: 10px;
}

.company-article .company-box .hide .about p
{
    font-size: 1.125rem;
    line-height: 1;
}

.company-article .company-box .more
{
    margin-top: 30px;
}

.company-article .company-box .more a
{
    font-size: 1.375rem;
    line-height: 1;

    position: relative;

    display: inline-flex;

    width: 100%;
    height: 75px;

    border: 1px solid #000;
    background-color: #fff;

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

.company-article .company-box .more a::before
{
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;

    width: 16px;
    height: 16px;
    margin: auto;

    content: '';

    background-image: url(../img/arrow-l_grey.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.company-article .company-box .more a.-open::before
{
    transform: rotate(180deg);
}

.company-article .company-box .company-table
{
    width: 100%;
    margin-top: 40px;
}

.company-article .company-box .company-table.-table01 th,
.company-article .company-box .company-table.-table01 td
{
    font-size: 1rem;
    line-height: 1.5;

    padding: 15px;

    border: 1px solid #ccc;
}

.company-article .company-box .company-table.-table01 th a,
.company-article .company-box .company-table.-table01 td a
{
    text-decoration: underline;

    color: #337ab7;
}

.company-article .company-box .company-table.-table01 th
{
    font-weight: normal;

    text-align: left;

    background-color: #dcf3a2;
}

.company-article .company-box .company-table.-table02 tr
{
    display: block;

    padding: 25px 0;

    border-top: 1px dotted #000;
}

.company-article .company-box .company-table.-table02 tr:last-child
{
    border-bottom: 1px dotted #000;
}

.company-article .company-box .company-table.-table02 th,
.company-article .company-box .company-table.-table02 td
{
    font-size: 1rem;
    line-height: 1.5;
}

.company-article .company-box .company-table.-table02 th
{
    font-weight: normal;

    width: 110px;

    text-align: left;
    vertical-align: baseline;
}

.company-article .company-box.company-map .address
{
    font-size: 1.125rem;
    line-height: 1.7778;
}

.company-article .company-box.company-map .detail
{
    font-size: 1.125rem;
    line-height: 1.5556;
}

.company-article .company-box.company-map .map
{
    position: relative;

    overflow: hidden;

    height: 0;
    margin: 25px 0 30px;
    padding-bottom: 100%;
}

.company-article .company-box.company-map .map iframe
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

_::-webkit-full-page-media,
_:future,
:root .company-article .company-box .hide::before
{
    display: none;
}

.concept-mv.mv-top
{
    background-color: #00a9ac;
}

.concept-mv.mv-top .mv-title
{
    padding-bottom: 30px;
}

.concept-mv.mv-top .mv-text
{
    font-size: 1.125rem;
    line-height: 1.7778;

    width: 90%;
    margin-right: auto;
    margin-left: auto;

    text-align: center;

    color: #fff;
}

.concept-mv.mv-btm
{
    position: relative;

    background-color: #8bc22b;
    background-image: url(../img/bg/concept/cep-btm_bg_sp.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.concept-mv.mv-btm::before
{
    position: absolute;
    top: 35px;
    right: 0;
    left: 0;

    width: 40px;
    height: 40px;
    margin: auto;

    content: '';

    background-image: url(../img/arrow-l_white.svg);
    background-size: contain;
}

.concept-mv.mv-btm .mv-title
{
    padding-top: 95px;
}

.concept-mv.mv-btm .mv-box
{
    padding-top: 285px;
}

.concept-mv .mv-title
{
    font-size: 2rem;
    font-weight: normal;
    line-height: 1.4063;

    padding-top: 30px;
    padding-right: 10px;
    padding-left: 10px;

    text-align: center;

    color: #fff;
}

.concept-mv .mv-box
{
    position: relative;

    padding-top: 247px;
}

.concept-mv .top-balloon
{
    position: absolute;

    width: 170px;
}

.concept-mv .top-balloon.-balloon01
{
    top: 45px;
    left: calc(50% - 175px);
}

.concept-mv .top-balloon.-balloon02
{
    top: 160px;
    left: calc(50% - 175px);
}

.concept-mv .top-balloon.-balloon03
{
    top: 45px;
    right: calc(50% - 175px);
}

.concept-mv .top-balloon.-balloon04
{
    top: 160px;
    right: calc(50% - 175px);
}

.concept-mv .top-figure
{
    position: relative;
    z-index: 2;

    width: 247px;
    margin-right: auto;
    margin-left: auto;
}

.concept-mv .btm-figure
{
    position: relative;
    z-index: 2;

    width: 230px;
    max-width: 416px;
    margin-right: auto;
    margin-left: auto;
}

.concept-mv .btm-balloon
{
    position: absolute;

    width: 170px;
}

.concept-mv .btm-balloon.-balloon01
{
    top: 45px;
    left: calc(50% - 175px);
}

.concept-mv .btm-balloon.-balloon02
{
    top: 160px;
    left: calc(50% - 175px);
}

.concept-mv .btm-balloon.-balloon03
{
    top: 45px;
    right: calc(50% - 175px);
}

.concept-mv .btm-balloon.-balloon04
{
    top: 160px;
    right: calc(50% - 175px);
}

.concept-contact
{
    position: relative;
    position: relative;

    padding-top: 105px;
    padding-bottom: 75px;
}

.concept-contact:before
{
    top: 0;
    left: 0;
}

.concept-contact::after
{
    position: absolute;
    top: 35px;
    right: 0;
    left: 0;

    width: 40px;
    height: 40px;
    margin: auto;

    content: '';

    background-image: url(../img/arrow-l_green.svg);
    background-size: contain;
}

.concept-contact .inner
{
    text-align: center;
}

.concept-contact .title
{
    font-size: 1.875rem;
    font-weight: normal;
    line-height: 1.5;

    text-align: left;
}

.concept-contact .text
{
    font-size: 1.125rem;
    line-height: 1.6667;

    padding-top: 30px;

    text-align: left;
}

.concept-contact .contact-btn
{
    padding-top: 50px;
}

.cmn-contact .headline
{
    padding-top: 140px;
    padding-bottom: 130px;

    background-image: url(../img/bg/maintelp/contact-bg.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
}

.cmn-contact .headline .cmn-ttl
{
    text-align: center;
}

.cmn-contact .contact-cont
{
    padding-top: 50px;
    padding-bottom: 76px;

    background-color: #f4f7f0;
}

.cmn-contact .contact-cont .formarea
{
    width: 89.3333%;
    margin-right: auto;
    margin-left: auto;

    border-radius: 10px;
}

.cmn-contact .contact-cont .formarea .center
{
    text-align: center;
}

.cmn-contact .contact-cont .formarea .center a
{
    text-decoration: underline;

    color: #337ab7;
}

.cmn-contact .contact-cont .textarea
{
    font-size: 1rem;
    line-height: 1.5;
}

.cmn-contact .contact-cont .textarea > .text + .text
{
    margin-top: 20px;
}

.cmn-contact .contact-cont .textarea button
{
    text-decoration: underline;

    color: #00a9ac;
}

.cmn-contact .contact-cont .textarea .accent
{
    color: #8bc22b;
}

.cmn-contact .contact-cont .thanks-btn
{
    margin-top: 40px;
}

.cmn-contact .contact-cont .contact-form
{
    position: relative;

    width: 100%;
    margin-top: 36px;
    padding-top: 240.625%;
}

.cmn-contact .contact-cont .contact-form iframe
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

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

    border: none;
    border-radius: 0;
    outline: none;
    background: transparent;

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

textarea
{
    resize: vertical;
}

input[type='radio']
{
    display: none;
}

input[type='submit'],
input[type='button'],
button,
select
{
    cursor: pointer;
}

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

.index-intro
{
    position: relative;

    padding-top: 72px;
    padding-bottom: 75px;

    background-color: #f4f7f0;
}

.index-intro::before
{
    position: absolute;
    right: 0;
    bottom: -30px;
    left: 0;

    width: 50px;
    height: 50px;
    margin: auto;

    content: '';

    background-image: url(../img/arrow-l_green.svg);
}

.index-intro .intro-ttl
{
    text-align: center;
}

.index-intro .intro-list
{
    padding-top: 46px;
}

.index-intro .intro-list ul
{
    padding-left: 0;
}

.index-intro .intro-list li
{
    display: flex;

    padding: 36px 7.4627% 50px;

    list-style-type: none;

    border-radius: 10px;
    background-color: #fff;

    flex-flow: column;
}

.index-intro .intro-list li + li
{
    margin-top: 50px;
    padding: 50px 7.4627% 50px;
}

.index-intro .intro-list li .ttl
{
    text-align: center;

    order: 1;
}

.index-intro .intro-list li .text
{
    font-size: 1.125rem;
    line-height: 1.5556;

    order: 3;
}

.index-intro .intro-list li .figure
{
    width: 197px;
    margin: 32px auto 26px;

    order: 2;
}

.index-mv .mv-bg
{
    position: relative;

    height: 100vh;

    background-image: url(../img/bg/maintelp/main-bg_sp.jpg);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: cover;
}

.index-mv .mv-ttl
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 71.2vw;
    max-width: 400px;

    transform: translateY(-50%) translateX(-50%);
}

.index-mv .mv-ttl picture
{
    display: block;
}

.index-mv .mv-cont
{
    margin-top: 32px;
    margin-bottom: 50px;
}

.index-mv .mv-cont .mv-text
{
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.6667;

    text-align: center;
}

.index-mv .mv-cont .mv-text span
{
    color: #00a9ac;
}

.index-mv .mv-cont .mv-btn
{
    margin-top: 12px;
}

.index-qa .headline
{
    padding-top: 140px;
    padding-bottom: 130px;

    background-image: url(../img/bg/maintelp/qa-bg_sp.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
}

.index-qa .headline .cmn-ttl
{
    text-align: center;
}

.index-qa .qa-cont
{
    padding-top: 50px;
    padding-bottom: 76px;

    background-color: #f4f7f0;
}

.index-qa .qa-cont .inner
{
    width: 89.3333%;
    margin-right: auto;
    margin-left: auto;
}

.index-qa .qacont
{
    border-radius: 15px;
    background-color: #fff;
}

.index-qa .qacont + .qacont
{
    margin-top: 20px;
}

.index-qa .qacont a
{
    display: block;
}

.index-qa .qacont .row .wrap
{
    position: relative;

    display: flex;

    padding: 15px 10px;
}

.index-qa .qacont .row .text
{
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.5556;

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

    flex: 1 1;
}

.index-qa .qacont .row .arrow
{
    position: absolute;
    top: 30px;
    right: 10px;

    display: inline-flex;

    width: 20px;
    height: 20px;
}

.index-qa .qacont .row .arrow::before,
.index-qa .qacont .row .arrow::after
{
    position: absolute;

    width: 20px;
    height: 2px;

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

    background-color: #00a9ac;
}

.index-qa .qacont .row .arrow::after
{
    transform: rotate(90deg);
}

.index-qa .qacont .row.-question span:not([class])
{
    font-size: 17px;
    line-height: 27px;

    display: inline-block;

    width: 30px;
    height: 30px;

    text-align: center;

    color: #fff;
    border-radius: 50%;
    background-color: #00a9ac;
}

.index-qa .qacont .row.-question.-active .arrow::after
{
    transition: all ease .3s;
    transform: rotate(0deg);
}

.index-qa .qacont .row.-answer
{
    display: none;
}

.index-qa .qacont .row.-answer span:not([class])
{
    font-size: 17px;
    line-height: 23px;

    display: inline-block;

    width: 30px;
    height: 30px;

    text-align: center;

    color: #00a9ac;
    border: 2px solid #00a9ac;
    border-radius: 50%;
}

.index-qa .qacont .row.-answer .text
{
    font-weight: 400;
}

.index-qa .qacont .row.-answer .wrap
{
    padding: 0 10px 15px;
}

.index-qa .faq-btn
{
    margin-top: 50px;
}

.index-service .headline
{
    padding-top: 136px;
    padding-bottom: 130px;

    background-image: url(../img/bg/maintelp/service-bg_sp.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
}

.index-service .headline .cmn-ttl
{
    text-align: center;
}

.index-service .service-cont
{
    padding-bottom: 75px;

    background-color: #f4f7f0;
}

.index-service .service-cont .inner
{
    width: 89.3333%;
    max-width: 1080px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 34px;
}

.index-service .service-box:nth-child(2)
{
    padding-top: 40px;
}

.index-service .service-box:nth-child(3)
{
    padding-top: 70px;
}

.index-service .service-box .header > .ttl
{
    font-size: 1.75rem;
    font-weight: bold;
    line-height: 1.3571;

    color: #00a9ac;
}

.index-service .service-box .header > .text
{
    font-size: 1.125rem;
    line-height: 1.6667;

    margin-top: 20px;
}

.index-service .service-box .circle-ttl
{
    font-size: 1.125rem;
    line-height: 1;

    margin-top: 52px;
}

.index-service .service-box .service-circle
{
    margin-top: 30px;
    padding-bottom: 40px;
    padding-left: 0;

    text-align: center;

    border-bottom: 2px dotted #707070;
}

.index-service .service-box .service-circle .item
{
    position: relative;

    display: inline-block;

    width: 140px;
    height: 140px;

    border-radius: 50%;
    background: #fff;
}

.index-service .service-box .service-circle .item span
{
    font-size: .9375rem;
    font-weight: bold;
    line-height: 1.6;

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

    display: inline-block;

    width: 140px;

    transform: translateY(-50%);
    text-align: center;

    color: #00a9ac;
}

.index-service .service-box .service-circle .item:nth-child(3)
{
    display: flex;

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

    text-align: center;
}

.index-service .service-box .service-circle .item:nth-child(2)
{
    margin-left: 8.9552%;
}

.index-service .service-box .service-circle .item:nth-child(5)
{
    margin-left: 8.9552%;
}

.index-service .service-box .service-flow
{
    margin-top: 34px;
}

.index-service .service-box .service-flow .row
{
    position: relative;

    counter-increment: practice;

    border-radius: 5px;
    background-color: #fff;
}

.index-service .service-box .service-flow .row::after
{
    font-size: 1.875rem;
    line-height: 1;

    position: absolute;
    top: 22px;
    left: 15px;

    margin: auto;

    content: counter(practice);

    color: #edf7f8;
}

.index-service .service-box .service-flow .row + .row
{
    position: relative;

    margin-top: 50px;
}

.index-service .service-box .service-flow .row + .row::before
{
    position: absolute;
    top: -36px;
    right: 0;
    left: 0;

    width: 25px;
    height: 25px;
    margin: auto;

    content: '';

    background-image: url(../img/arrow-l_grey.svg);
}

.index-service .service-box .service-flow .row + .row dt::before,
.index-service .service-box .service-flow .row + .row dt::after
{
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;

    width: 20px;
    height: 2.5px;
    margin: auto;

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

    background-color: #00a9ac;
}

.index-service .service-box .service-flow .row + .row dt::after
{
    transform: rotate(90deg);
}

.index-service .service-box .service-flow .row + .row dt.-active::after
{
    transition: all ease .3s;
    transform: rotate(0deg);
}

.index-service .service-box .service-flow dt
{
    position: relative;
}

.index-service .service-box .service-flow dt a
{
    font-size: 1.375rem;
    font-weight: bold;
    line-height: 1.3636;

    display: flex;

    height: 75px;

    text-align: center;

    color: #00a9ac;

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

.index-service .service-box .service-flow dd
{
    font-size: 1.125rem;
    line-height: 1.6667;

    display: none;

    margin-left: 0;
    padding: 0 25px 32px;
}

.index-service .service-box .service-wrapper
{
    padding-top: 52px;
    padding-left: 0;
}

.index-service .service-box .service-wrapper .item
{
    display: flex;
    overflow: hidden;

    list-style-type: none;

    border-radius: 10px;
    background-color: #fff;

    flex-flow: column-reverse;
}

.index-service .service-box .service-wrapper .item + .item
{
    margin-top: 50px;
}

.index-service .service-box .service-wrapper .cont
{
    padding: 40px 8.9552%;
}

.index-service .service-box .service-wrapper .cont > .ttl
{
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.4167;

    color: #00a9ac;
}

.index-service .service-box .service-wrapper .cont > .text
{
    font-size: 1.125rem;
    line-height: 1.6667;

    margin-top: 20px;
}

.index-solution
{
    padding-top: 50px;
    padding-bottom: 75px;

    background-color: #edf7f8;
}

.index-solution .solution-ttl
{
    text-align: center;
}

.index-solution .solution-list
{
    max-width: 1080px;
}

.index-solution .solution-list ul
{
    padding-top: 30px;
    padding-left: 0;
}

.index-solution .solution-list li
{
    display: flex;
    overflow: hidden;

    list-style-type: none;

    border-radius: 10px;
    background-color: #fff;

    flex-flow: column;
}

.index-solution .solution-list li + li
{
    margin-top: 50px;
}

.index-solution .solution-list li .content
{
    padding: 40px 9.5522%;

    order: 2;
}

.index-solution .solution-list li .content .ttl
{
    text-align: center;
    text-align: left;

    color: #00a9ac;
}

.index-solution .solution-list li .content .sentence
{
    font-size: 1.125rem;
    line-height: 1.6667;

    padding-top: 20px;
}

.index-solution .solution-list li .figure
{
    order: 1;
}

.index-solution .solution-list .solution-btn
{
    margin-top: 50px;
}

.index-works
{
    padding-bottom: 75px;

    background-color: #edf7f8;
}

.index-works .headline
{
    padding-top: 140px;
    padding-bottom: 130px;

    background-image: url(../img/bg/maintelp/works-bg_sp.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
}

.index-works .headline .cmn-ttl
{
    text-align: center;
}

.index-works .works-cont .works-inner
{
    width: 94.6667%;
    margin-top: -54px;
    margin-right: auto;
    margin-left: auto;
}

.index-works .works-cont .works-item
{
    margin-right: .5634%;
    margin-left: .5634%;
    padding: 44px .8955%;

    border-radius: 10px;
    background-color: #fff;
}

.index-works .works-cont .works-item .ttl
{
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.4167;
}

.index-works .works-cont .works-item .textarea
{
    font-size: 1.125rem;
    line-height: 1.6667;

    margin-top: 50px;
}

.index-works .works-cont .works-item .textarea p
{
    margin-bottom: 14px;
}

.index-works .works-cont .works-item .textarea .dots
{
    position: relative;

    text-indent: 12px;
}

.index-works .works-cont .works-item .textarea .dots::before
{
    position: absolute;
    top: 12px;
    left: 0;

    width: 8px;
    height: 8px;

    content: '';

    border-radius: 50%;
    background-color: #000;
}

.index-works .works-cont .works-item .textarea a
{
    color: #00a9ac;
}

.index-works .works-cont .works-btn
{
    width: 94.3662%;
    margin-top: 50px;
    margin-right: auto;
    margin-left: auto;
}

.page-top
{
    position: fixed;
    z-index: 5;
    right: 20px;
    bottom: 20px;
}

.page-top a
{
    display: flex;

    width: 50px;
    height: 50px;

    background-color: #8bc22b;

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

.page-top a img
{
    width: 12px;

    transform: rotate(-90deg);
}

.top-mv
{
    position: relative;
}

.top-mv::before
{
    position: absolute;
    right: 0;
    bottom: 25px;
    left: 0;

    width: 25px;
    height: 25px;
    margin: auto;

    content: '';

    background-image: url(../img/arrow-l_white.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.top-mv .inner
{
    padding-top: 110px;
    padding-bottom: 110px;

    background-image: url(../img/bg/top/top-mv_sp.png);
    background-size: cover;
}

.top-mv .mv-title
{
    text-align: center;
}

.top-mv .mv-title .mainttl
{
    font-size: 1.875rem;
    line-height: 1.6667;
}

.top-mv .mv-title .subttl
{
    font-size: 1.125rem;
    line-height: 1.6667;

    margin: 0 auto;
    padding-top: 100px;
}

.top-mv .mv-title .mv-btn
{
    padding-top: 50px;
}

.top-intro .inner
{
    padding-bottom: 90px;
}

.top-intro .inner::before
{
    display: none;
}

.top-intro .intro-box
{
    display: flex;

    flex-flow: column-reverse;
}

.top-intro .intro-box .textarea
{
    width: 89.7436%;
    margin-right: auto;
    margin-left: auto;
    padding-top: 60px;
}

.top-intro .intro-box .textarea::before
{
    top: 0;
    right: -5.1282%;
}

.top-intro .intro-box .title
{
    font-size: 1.875rem;
    font-weight: normal;
    line-height: 1.5;
}

.top-intro .intro-box .text
{
    font-size: 1.125rem;
    line-height: 1.6667;

    padding-top: 45px;
}

.top-intro .intro-btn
{
    padding-top: 40px;

    text-align: center;
}

.top-idea .idea-header
{
    position: relative;

    padding-top: 104px;
    padding-bottom: 85px;

    text-align: center;

    background-image: url(../img/bg/top/top-idea_sp.jpg);
    background-position: center;
    background-size: cover;
}

.top-idea .idea-header::before
{
    display: none;
}

.top-idea .idea-header .wrap
{
    padding-right: 15px;
    padding-left: 15px;
}

.top-idea .idea-header .wrap .title
{
    font-size: 1.875rem;
    font-weight: normal;
    line-height: 1.5;
}

.top-idea .idea-header .wrap .text
{
    font-size: 1.125rem;
    line-height: 1.6667;

    padding-top: 40px;
}

.top-idea .idea-box
{
    margin-top: -40px;
}

.top-idea .idea-box .links > ul
{
    padding-left: 0;

    list-style-type: none;
}

.top-idea .idea-box .links li
{
    width: 89.7436%;
    margin-right: auto;
    margin-left: auto;
}

.top-idea .idea-box .links li.-business a
{
    background-image: url(../img/bg/top/top-idea-item01.png);
}

.top-idea .idea-box .links li.-works a
{
    background-image: url(../img/bg/top/top-idea-item02.png);
}

.top-idea .idea-box .links li + li
{
    margin-top: 24px;
}

.top-idea .idea-box .links a
{
    position: relative;

    display: block;

    padding-top: 60%;

    background-repeat: no-repeat;
    background-size: contain;
}

.top-idea .idea-box .links p
{
    font-size: 1.875rem;
    line-height: 1.5;

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

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

    color: #fff;
}

.top-idea .idea-detail
{
    padding-top: 50px;
    padding-bottom: 90px;
}

.top-idea .idea-detail .inner
{
    display: flex;

    flex-flow: column-reverse;
}

.top-idea .idea-detail::before
{
    top: 0;
    left: 0;
}

.top-idea .idea-detail .title
{
    font-size: 1.875rem;
    font-weight: normal;
    line-height: 1.5;
}

.top-idea .idea-detail .text
{
    font-size: 1.125rem;
    line-height: 1.6667;

    padding-top: 54px;
}

.top-idea .idea-detail .figure
{
    display: none;
}

.top-idea .idea-detail .detail-btn
{
    padding-top: 40px;

    text-align: center;
}

.top-recruit
{
    padding-top: 104px;
    padding-bottom: 53px;

    background-image: url(../img/bg/top/top-recruit_sp.png);
    background-position: center;
    background-size: cover;
}

.top-recruit .inner
{
    text-align: center;
}

.top-recruit .title
{
    font-size: 1.875rem;
    font-weight: normal;
    line-height: 1.5;
}

.top-recruit .text
{
    font-size: 1.125rem;
    line-height: 1.6667;

    padding-top: 48px;
}

.top-recruit .recruit-btn
{
    padding-top: 80px;
}

.top-recruit .entry
{
    font-size: 1rem;
    line-height: 1.875;

    padding-top: 20px;
}

.top-contact
{
    padding-top: 64px;
    padding-bottom: 64px;
}

.top-contact dl .row
{
    text-align: center;
}

.top-contact dl .row:nth-child(1)
{
    margin-bottom: 60px;
}

.top-contact dl .row + .row
{
    padding-top: 60px;

    border-top: 1px solid #000;
}

.top-contact dl dt
{
    font-size: 1.75rem;
    line-height: 1.4286;

    margin-bottom: 20px;
}

.top-contact dl dt .phone
{
    position: relative;

    display: inline-block;
}

.top-contact dl dt .phone span
{
    position: absolute;
    top: 14px;
    left: -30px;

    display: block;

    width: 21px;
    height: 28px;

    background-image: url(../img/icon-phone.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.top-contact dl dd
{
    font-size: 1.125rem;
    line-height: 1.6667;

    margin-left: 0;
}

.about-webapl
{
    margin-top: 40px;
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);
    padding: 40px 20px;

    background-color: #fafded;
}

.about-webapl .textarea + .textarea
{
    padding-top: 20px;
}

.about-webapl .title
{
    font-size: 1.375rem;
    font-weight: bold;
    line-height: 1.4546;
}

.about-webapl .box
{
    font-size: 1.125rem;
    line-height: 1.7778;

    padding-top: 10px;
}

.about-webapl .box ul li + li
{
    padding-top: 4px;
}

.about-webapl .box ul li .secondary
{
    color: #00a9ac;
}

.webapl-cont
{
    margin-top: 40px;
}

.webapl-cont.-top .box + .box
{
    margin-top: 30px;
}

.webapl-cont .textarea
{
    font-size: 1.125rem;
    line-height: 1.7778;

    flex: 1 1;
}

.webapl-cont .textarea .title
{
    font-size: 1.375rem;
    line-height: 1.4546;

    margin-bottom: 10px;
}

.webapl-cont .textarea .title:nth-child(n + 2)
{
    margin-top: 30px;
}

.webapl-cont .textarea ul
{
    margin-top: 20px;
}

.webapl-cont .textarea ul.-mt0
{
    margin-top: 0;
}

.webapl-cont .textarea.-appli .box:nth-child(n + 2)
{
    margin-top: 40px;
}

.webapl-cont .textarea.-appli .box .green
{
    font-weight: normal;

    color: #069100;
}

.webapl-cont .textarea.-appli .box .red
{
    font-weight: normal;

    color: #f00;
}

.webapl-cont .figure
{
    margin-top: 40px;
}

.winapl-cont
{
    display: flex;

    margin-top: 40px;

    flex-flow: column-reverse;
}

.winapl-cont .textarea
{
    font-size: 1.125rem;
    line-height: 1.7778;

    flex: 1 1;
}

.winapl-cont .figure
{
    margin-top: 40px;
}

.works-header
{
    background-image: url(../img/bg/works/works-mv_sp.png);
}

.works-article > .inner > .title
{
    font-size: 1.75rem;
    font-weight: normal;
    line-height: 1.6071;

    margin-bottom: 84px;
}

.works-article .slick-works .slider-arrow
{
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;

    display: flex;

    width: 50px;
    height: 50px;
    margin: auto;

    border-radius: 10px 0 0 10px;
    background-color: #8bc22b;

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

.works-article .slick-works .slider-arrow > img
{
    width: 10px;
}

.works-article .slick-works .slider-prev
{
    left: -20px;

    transform: rotate(180deg);
}

.works-article .slick-works .slider-next
{
    right: -20px;
}

._se
{
    display: block !important;
}

._sp
{
    display: block !important;
}

._pc
{
    display: none !important;
}

._tablet-only
{
    display: none;
}

._pc-only
{
    display: none;
}

._sp-only
{
    display: none;
}

@media print,screen and (min-width: 768px)
{
    a:hover
    {
        text-decoration: none;
    }
    a[href^='tel:']
    {
        text-decoration: none;
        pointer-events: none;

        color: color(text);
    }
    .cmn-footer
    {
        padding: 40px 0 40px 11.4286%;

        background-image: url(../img/footer.png);
    }
    .cmn-footer .logo
    {
        width: 96px;
    }
    .cmn-footer .detail
    {
        font-size: 1rem;
        line-height: 1.875;

        margin-top: 0;
        margin-left: 28px;
    }
    .footer .footer-about .logo
    {
        margin-left: 0;
    }
    .cmn-header .inner
    {
        display: flex;
    }
    .cmn-header .header-logo
    {
        margin-top: 18px;
        margin-right: 0;
        margin-left: 3.5714%;

        justify-content: end;
    }
    .cmn-header .header-logo .logo
    {
        width: 96px;
    }
    .cmn-header .header-logo > p
    {
        font-size: 1.375rem;
        line-height: 1;

        margin-left: 14px;

        color: #fff;
    }
    .article-section
    {
        width: 89.3333%;
        max-width: 1080px;
        padding-top: 90px;
        padding-right: 30px;
        padding-bottom: 100px;
        padding-left: 30px;
    }
    .article-section.-border
    {
        padding-bottom: 100px;
    }
    .article-section.-border::after
    {
        display: none;
    }
    .article-section.-noobject
    {
        margin-bottom: 0;
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .article-section + .article-section
    {
        margin-top: 100px;
    }
    .article-section::before
    {
        width: 300px;
        height: 205px;
    }
    .article-section:first-child
    {
        margin-top: -190px;
    }
    .article-section > .inner > .title
    {
        font-size: 2rem;
        line-height: 1.625;
    }
    .article-section .article-box > .textarea
    {
        margin-top: 20px;
        margin-bottom: 50px;
    }
    .article-section .article-box > .textarea > .contact
    {
        margin-top: 50px;
    }
    .article-section .article-box > .textarea > .contact.-tal
    {
        text-align: center;
    }
    .article-section .article-box > .textarea > .bnr
    {
        margin-top: 50px;
    }
    .article-section .article-box > .hdl-title.-sub > span
    {
        font-size: 1.75rem;
        line-height: 1.5;
    }
    .article-section .article-box > .figure.-entry01
    {
        max-width: 750px;
        margin-top: 50px;
        margin-right: auto;
        margin-left: auto;
    }
    .article-section .article-column
    {
        margin-top: 50px;

        flex-flow: row-reverse;
    }
    .article-section .article-column > .figure
    {
        width: 39.7727%;
        margin-top: 0;
        margin-right: 5.6818%;
    }
    .article-option .box
    {
        margin-top: 20px;
    }
    .article-option .box p + p
    {
        margin-top: 14px;
    }
    .business-nav
    {
        margin-top: -290px;
        margin-bottom: 25px;
    }
    .business-intro > .inner
    {
        flex-flow: row-reverse;
    }
    .business-intro .figure
    {
        width: 45.4546%;
        margin-top: 0;
        margin-left: 4.6296%;
    }
    .business-intro .textarea
    {
        width: 48.8636%;
    }
    .business-intro .textarea .title
    {
        font-size: 1.75rem;
        line-height: 1.8571;
    }
    .business-intro .textarea p
    {
        font-size: 1.75rem;
        line-height: 1.6071;
    }
    .business-intro .intro-text
    {
        margin-top: 100px;
    }
    .main-btn a
    {
        width: 400px;
    }
    .cmn-btn:hover::before
    {
        right: 10px;

        transition: all ease .3s;
    }
    .cmn-btn.-return:hover::before
    {
        right: inherit;
        left: 10px;

        transition: all ease .3s;
    }
    .cmn-btn a,
    .cmn-btn input,
    .cmn-btn button
    {
        font-size: 1.375rem;
        line-height: 1;

        width: 350px;
    }
    .cmn-width
    {
        max-width: 1080px;
    }
    .cmn-ttl
    {
        font-size: 2rem;
        line-height: 1;
    }
    .cmn-subttl
    {
        font-size: 1.75rem;
        line-height: 1.3571;
    }
    .cmn-page .over-wrap
    {
        padding-bottom: 100px;
    }
    .cmn-page .over-wrap .return-business
    {
        padding-top: 100px;
        padding-bottom: 0;
    }
    .cmn-page.-blue
    {
        background-color: #edf7f8;
    }
    .cmn-page.-green
    {
        background-color: #e6f4ee;
    }
    .main-object.-large::before
    {
        width: 450px;
        height: 307px;
    }
    .main-object.-mid::before
    {
        width: 450px;
        height: 307px;
    }
    .main-header
    {
        padding-top: 185px;
        padding-bottom: 385px;
    }
    .main-header.-business
    {
        padding-top: 145px;
        padding-bottom: 427px;

        background-image: url(../img/bg/business/bsn-mv.png);
    }
    .main-header.-appli
    {
        background-image: url(../img/bg/appli/bsn-appli-mv.png);
    }
    .main-header.-webapl
    {
        background-image: url(../img/bg/webapl/bsn-web-mv.png);
    }
    .main-header.-winapl
    {
        background-image: url(../img/bg/winapl/bsn-win-mv.png);
    }
    .main-header.-mainte
    {
        background-image: url(../img/bg/mainte/bsn-mainte-mv.png);
    }
    .main-header.-digital
    {
        background-image: url(../img/bg/digital/bsn-digital-mv.png);
    }
    .main-header.-iitoko
    {
        background-image: url(../img/bg/iitoko/bsn-iitoko-mv_sp.png);
    }
    .main-header > .inner > .title
    {
        font-size: 2.8125rem;
        line-height: 1.4444;
    }
    .main-cont
    {
        padding-top: 0;
    }
    .cmn-modal .modal-container
    {
        padding: 75px 40px;
    }
    .cmn-modal .header .title
    {
        font-size: 2rem;
        line-height: 1;
    }
    .cmn-modal .content
    {
        margin-top: 50px;
    }
    .cmn-modal .content .box + .box
    {
        margin-top: 35px;
    }
    .cmn-modal .content h3
    {
        font-size: 1.125rem;
        line-height: 1.6667;
    }
    .cmn-modal .content p
    {
        font-size: 1.125rem;
        line-height: 1.6667;
    }
    .cmn-modal .modal-close button
    {
        height: 75px;
    }
    .slider .image
    {
        width: 90%;
        margin: 0 auto;
    }
    .slick-prev,
    .slick-next
    {
        top: 50%;

        width: 88px;
        height: 88px;
    }
    .slick-prev::before,
    .slick-next::before
    {
        width: 30px;
        height: 50px;
    }
    .slick-prev
    {
        left: -40px;
    }
    .slick-next
    {
        right: -40px;
    }
    .business-article + .business-article
    {
        margin-top: 150px;
    }
    .business-article:nth-child(2)::after
    {
        background-image: url(../img/bg/business/bsn-sec01.png);
    }
    .business-article:nth-child(3)::after
    {
        background-image: url(../img/bg/business/bsn-sec02.png);
    }
    .business-article:nth-child(4)::after
    {
        background-image: url(../img/bg/business/bsn-sec03.png);
    }
    .business-box > .hdl-title
    {
        font-size: 2rem;
        line-height: 1.625;

        padding-bottom: 55px;
    }
    .business-box > .hdl-title::before
    {
        top: 13px;
    }
    .business-box .business-top .textarea
    {
        width: 45.4546%;
    }
    .business-flow ul
    {
        margin-top: 0;
    }
    .business-flow ul li
    {
        font-size: 1.375rem;
        line-height: 1;

        width: 6.8182%;
        margin-top: 0;
        margin-bottom: 0;
    }
    .business-flow ul li + li
    {
        margin-left: 6.25%;
    }
    .business-flow ul li + li::before
    {
        left: -66%;
    }
    .business-btn
    {
        margin-top: 50px;
    }
    .business-btn.-contact
    {
        margin-top: 20px;
    }
    .business-cont .textarea
    {
        margin-bottom: 50px;
    }
    .business-list
    {
        padding: 50px 6.25%;

        border: 2px solid #8bc22b;
    }
    .business-list > ul
    {
        display: flex;

        padding-top: 50px;

        flex-flow: wrap;
        justify-content: space-between;
    }
    .business-list > ul li
    {
        width: 46.6667%;
    }
    .business-list > ul li:nth-child(n+3)
    {
        margin-top: 50px;
    }
    .business-list > ul li + li
    {
        margin-top: 0;
    }
    .mainte-intro
    {
        flex-flow: row-reverse;
        align-items: center;
    }
    .mainte-intro.-reverse
    {
        flex-flow: row;
    }
    .mainte-intro.-reverse .figure
    {
        margin-right: 4.6296%;
        margin-left: 0;
    }
    .mainte-intro .figure
    {
        width: 45.4546%;
        margin-top: 0;
        margin-left: 4.6296%;
    }
    .mainte-intro .textarea .title
    {
        font-size: 1.75rem;
        line-height: 1.8571;
    }
    .mainte-intro .textarea p
    {
        font-size: 1.75rem;
        line-height: 1.6071;
    }
    .digital-cont > ul > li .box
    {
        display: flex;
    }
    .digital-cont > ul > li .box .figure
    {
        width: 45.4546%;
        margin-right: 5.6818%;
    }
    .digital-cont > ul > li .box .text
    {
        margin-top: 0;

        flex: 1 1;
    }
    .digital-cont > ul > li .box .text > .title
    {
        margin-top: -8px;
    }
    .company-header
    {
        background-image: url(../img/bg/profile/company-mv.png);
    }
    .company-article .company-box .hide
    {
        height: 310px;
    }
    .company-article .company-box .hide .box p
    {
        font-size: 1.25rem;
        line-height: 1.7;
    }
    .company-article .company-box .company-table
    {
        margin-top: 0;
    }
    .company-article .company-box .company-table.-table01 th,
    .company-article .company-box .company-table.-table01 td
    {
        font-size: 1.125rem;
        line-height: 1.5556;
    }
    .company-article .company-box .company-table.-table02 th,
    .company-article .company-box .company-table.-table02 td
    {
        font-size: 1.125rem;
        line-height: 1.5556;
    }
    .company-article .company-box.company-map .address
    {
        font-size: 1.125rem;
        line-height: 1.5556;
    }
    .company-article .company-box.company-map .map
    {
        padding-bottom: 56.25%;
    }
    .concept-mv.mv-top .mv-title
    {
        padding-bottom: 40px;
    }
    .concept-mv.mv-top .mv-text
    {
        padding-bottom: 30px;
    }
    .concept-mv.mv-btm
    {
        background-image: url(../img/bg/concept/cep-btm_bg.png);
    }
    .concept-mv.mv-btm::before
    {
        top: 50px;

        width: 50px;
        height: 50px;
    }
    .concept-mv.mv-btm .mv-title
    {
        padding-top: 162px;
    }
    .concept-mv.mv-btm .mv-box
    {
        padding-top: 45px;
    }
    .concept-mv .mv-title
    {
        font-size: 2.8125rem;
        line-height: 1.4444;

        padding-top: 112px;
        padding-right: 0;
        padding-bottom: 50px;
        padding-left: 0;
    }
    .concept-mv .mv-box
    {
        padding-top: 45px;
    }
    .concept-mv .top-balloon
    {
        width: 28.5714%;
        max-width: 400px;
    }
    .concept-mv .top-balloon.-balloon01
    {
        top: 20px;
        left: calc(50% - ((540 / 1400)*100%));
    }
    .concept-mv .top-balloon.-balloon02
    {
        top: 20vw;
        left: calc(50% - ((540 / 1400)*100%));
    }
    .concept-mv .top-balloon.-balloon03
    {
        top: 20px;
        right: calc(50% - ((540 / 1400)*100%));
    }
    .concept-mv .top-balloon.-balloon04
    {
        top: 20vw;
        right: calc(50% - ((540 / 1400)*100%));
    }
    .concept-mv .top-figure
    {
        width: 29.7143%;
        max-width: 416px;
    }
    .concept-mv .btm-figure
    {
        width: 29.7143%;
    }
    .concept-mv .btm-balloon
    {
        width: 25%;
        max-width: 350px;
    }
    .concept-mv .btm-balloon.-balloon01
    {
        top: 4px;
        left: calc(50% - ((540 / 1400)*100%));
    }
    .concept-mv .btm-balloon.-balloon02
    {
        top: 18.5714vw;
        left: calc(50% - ((540 / 1400)*100%));
    }
    .concept-mv .btm-balloon.-balloon03
    {
        top: 4px;
        right: calc(50% - ((540 / 1400)*100%));
    }
    .concept-mv .btm-balloon.-balloon04
    {
        top: 18.5714vw;
        right: calc(50% - ((540 / 1400)*100%));
    }
    .concept-contact
    {
        padding-top: 140px;
        padding-bottom: 150px;
    }
    .concept-contact::after
    {
        top: 50px;

        width: 50px;
        height: 50px;
    }
    .concept-contact .title
    {
        font-size: 2.8125rem;
        line-height: 1.4444;

        text-align: center;
    }
    .concept-contact .text
    {
        text-align: center;
    }
    .cmn-contact .headline
    {
        padding-top: 184px;
        padding-bottom: 384px;

        background-image: url(../img/bg/maintelp/contact-bg.jpg);
        background-size: cover;
    }
    .cmn-contact .contact-cont
    {
        margin-top: -250px;
        padding-bottom: 150px;

        background-color: transparent;
    }
    .cmn-contact .contact-cont .formarea
    {
        max-width: 1080px;
        padding-top: 70px;
        padding-bottom: 75px;

        background-color: #f4f7f0;
    }
    .cmn-contact .contact-cont .formarea.-thanks
    {
        padding-bottom: 108px;
    }
    .cmn-contact .contact-cont .formarea > .inner
    {
        max-width: 880px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 40px;
        padding-left: 40px;
    }
    .cmn-contact .contact-cont .textarea
    {
        font-size: 1.125rem;
        line-height: 1.6667;
    }
    .cmn-contact .contact-cont .textarea > .text + .text
    {
        margin-top: 50px;
    }
    .cmn-contact .contact-cont .textarea > .text p + p
    {
        margin-top: 10px;
    }
    .cmn-contact .contact-cont .textarea button:hover
    {
        text-decoration: none;
    }
    .cmn-contact .contact-cont .thanks-btn
    {
        margin-top: 108px;
    }
    .cmn-contact .contact-cont .contact-form
    {
        margin-top: 54px;
        padding-top: 256.2667%;
    }
    .index-intro
    {
        padding-top: 148px;
        padding-bottom: 150px;
    }
    .index-intro::before
    {
        bottom: -24px;
    }
    .index-intro .intro-list
    {
        max-width: 1080px;
        padding-top: 70px;
    }
    .index-intro .intro-list ul
    {
        display: flex;
    }
    .index-intro .intro-list li
    {
        padding: 46px 4.6296% 50px;
    }
    .index-intro .intro-list li + li
    {
        margin-top: 0;
        margin-left: 7.4074%;
        padding: 44px 4.6296% 50px;
    }
    .index-intro .intro-list li .figure
    {
        margin: 24px auto 26px;
    }
    .index-mv .mv-bg
    {
        height: auto;
        padding-top: 42.8571vw;

        background-image: url(../img/bg/maintelp/main-bg.jpg);
    }
    .index-mv .mv-ttl
    {
        width: 28.5714vw;
        max-width: inherit;
    }
    .index-mv .mv-cont
    {
        margin-top: 50px;
    }
    .index-mv .mv-cont .mv-text
    {
        font-size: 1.75rem;
        line-height: 1;
    }
    .index-mv .mv-cont .mv-btn
    {
        margin-top: 22px;
    }
    .index-qa .headline
    {
        padding-top: 184px;
        padding-bottom: 384px;

        background-image: url(../img/bg/maintelp/qa-bg.jpg);
        background-size: cover;
    }
    .index-qa .qa-cont
    {
        margin-top: -250px;
        padding-bottom: 150px;

        background-color: transparent;
    }
    .index-qa .qa-cont .inner
    {
        max-width: 1080px;
        padding-top: 75px;
        padding-bottom: 75px;

        background-color: #f4f7f0;
    }
    .index-qa .qa-wrap
    {
        max-width: 860px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 30px;
        padding-left: 30px;
    }
    .index-qa .qacont
    {
        border-radius: 30px;
    }
    .index-qa .qacont .row .wrap
    {
        padding: 11px 12px;
    }
    .index-qa .qacont .row .text
    {
        font-size: 1.25rem;
        line-height: 1.5;

        display: flex;

        margin-left: 15px;

        align-items: center;
    }
    .index-qa .qacont .row .arrow
    {
        right: 28px;
    }
    .index-qa .qacont .row.-question span:not([class])
    {
        font-size: 20px;
        line-height: 34px;

        width: 38px;
        height: 38px;
    }
    .index-qa .qacont .row.-answer span:not([class])
    {
        font-size: 20px;
        line-height: 32px;

        width: 38px;
        height: 38px;
    }
    .index-qa .faq-btn
    {
        margin-top: 74px;
    }
    .index-service .headline
    {
        padding-top: 184px;
        padding-bottom: 384px;

        background-image: url(../img/bg/maintelp/service-bg.jpg);
        background-size: cover;
    }
    .index-service .service-cont
    {
        margin-top: -200px;
        padding-bottom: 150px;

        background-color: transparent;
    }
    .index-service .service-cont .inner
    {
        padding-top: 146px;
        padding-bottom: 110px;

        background-color: #f4f7f0;
    }
    .index-service .service-box
    {
        max-width: 920px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 60px;
        padding-left: 60px;
    }
    .index-service .service-box:nth-child(2)
    {
        padding-top: 60px;
    }
    .index-service .service-box:nth-child(3)
    {
        padding-top: 84px;
    }
    .index-service .service-box .header > .ttl
    {
        font-size: 1.75rem;
        line-height: 1.3571;
    }
    .index-service .service-box .header > .text
    {
        font-size: 1.125rem;
        line-height: 1.6667;

        margin-top: 10px;
    }
    .index-service .service-box .circle-ttl
    {
        font-size: 1.125rem;
        line-height: 1;

        margin-top: 44px;
    }
    .index-service .service-box .service-circle
    {
        display: flex;

        padding-bottom: 50px;

        flex-flow: wrap;
        justify-content: space-around;
    }
    .index-service .service-box .service-circle .item
    {
        display: inline-flex;

        width: 150px;
        height: 150px;
    }
    .index-service .service-box .service-circle .item span
    {
        font-size: 1rem;
        line-height: 1.5;

        width: 150px;
    }
    .index-service .service-box .service-circle .item:nth-child(3)
    {
        display: inline-flex;

        margin-top: 0;
        margin-right: inherit;
        margin-left: inherit;
    }
    .index-service .service-box .service-circle .item:nth-child(2)
    {
        margin-left: 0;
    }
    .index-service .service-box .service-circle .item:nth-child(5)
    {
        margin-left: 0;
    }
    .index-service .service-box .service-flow
    {
        margin-top: 54px;
    }
    .index-service .service-box .service-flow .row
    {
        padding: 20px 25px 24px;
    }
    .index-service .service-box .service-flow .row::after
    {
        top: 12px;
        left: 10px;
    }
    .index-service .service-box .service-flow .row + .row
    {
        margin-top: 44px;
        padding: 22px 25px;
    }
    .index-service .service-box .service-flow .row + .row dt::before,
    .index-service .service-box .service-flow .row + .row dt::after
    {
        display: none;
    }
    .index-service .service-box .service-flow dt a
    {
        height: auto;

        pointer-events: none;
    }
    .index-service .service-box .service-flow dd
    {
        display: block;

        margin-top: 10px;
        padding: 0;
    }
    .index-service .service-box .service-wrapper .item
    {
        flex-flow: row-reverse;
    }
    .index-service .service-box .service-wrapper .cont
    {
        padding: 40px 4.6296%;

        flex: 1 1;
    }
    .index-service .service-box .service-wrapper .cont > .ttl
    {
        font-size: 1.75rem;
        line-height: 1.3571;
    }
    .index-service .service-box .service-wrapper .cont > .text
    {
        font-size: 1.125rem;
        line-height: 1.6667;
    }
    .index-service .service-box .service-wrapper .figure
    {
        width: 34.375%;

        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
    }
    .index-service .service-box .service-wrapper .figure img
    {
        display: none;
    }
    .index-service .service-box .service-wrapper .figure.-figure01
    {
        background-image: url(../../img/maintelp/service-item01.jpg);
    }
    .index-service .service-box .service-wrapper .figure.-figure02
    {
        background-image: url(../../img/maintelp/service-item02.jpg);
    }
    .index-solution
    {
        padding-top: 150px;
        padding-bottom: 150px;
    }
    .index-solution .solution-list ul
    {
        display: flex;

        padding-top: 75px;
    }
    .index-solution .solution-list li + li
    {
        margin-top: 0;
        margin-left: 7.4074%;
    }
    .index-solution .solution-list li .content
    {
        display: flex;
        flex-direction: column;

        height: 100%;
    }
    .index-solution .solution-list li .content .sentence
    {
        margin-top: auto;
    }
    .index-solution .solution-list .solution-btn
    {
        margin-top: 74px;
    }
    .index-works .headline
    {
        padding-top: 244px;
        padding-bottom: 324px;

        background-image: url(../img/bg/maintelp/works-bg.jpg);
        background-size: cover;
    }
    .index-works .works-cont
    {
        margin-top: -200px;
    }
    .index-works .works-cont .works-inner
    {
        max-width: 1080px;
    }
    .index-works .works-cont .works-list
    {
        display: flex;
    }
    .index-works .works-cont .works-item
    {
        padding: 40px;
    }
    .index-works .works-cont .works-item .ttl
    {
        font-size: 1.25rem;
        line-height: 1.5;
    }
    .index-works .works-cont .works-item .textarea
    {
        font-size: 1.25rem;
        line-height: 1.5;
    }
    .index-works .works-cont .works-item .textarea p
    {
        margin-bottom: 0;
    }
    .index-works .works-cont .works-item .textarea .dots
    {
        margin-top: 20px;
    }
    .page-top
    {
        right: 50px;
        bottom: 50px;
    }
    .top-mv::before
    {
        display: none;
    }
    .top-mv .inner
    {
        padding-top: 135px;
        padding-bottom: 135px;

        background-image: url(../img/bg/top/top-mv.png);
    }
    .top-mv .mv-title .mainttl
    {
        font-size: 2.8125rem;
        line-height: 1.4444;
    }
    .top-mv .mv-title .subttl
    {
        padding-top: 80px;
    }
    .top-mv .mv-title .mv-btn
    {
        padding-top: 75px;
    }
    .top-intro .inner
    {
        padding-top: 150px;
        padding-bottom: 150px;
    }
    .top-intro .inner::before
    {
        top: 0;
        right: 0;

        display: block;
    }
    .top-intro .intro-box
    {
        flex-flow: row-reverse;
        justify-content: space-between;
    }
    .top-intro .intro-box .textarea
    {
        width: 38.5714%;
        margin-right: 11.4286%;
        margin-left: 7.1429%;
        padding-top: 65px;
    }
    .top-intro .intro-box .textarea::before
    {
        display: none;
    }
    .top-intro .intro-box .title
    {
        font-size: 2.8125rem;
        line-height: 1.4444;
    }
    .top-intro .intro-box .text
    {
        padding-top: 60px;
    }
    .top-intro .intro-box .figure
    {
        width: 42.8571%;
    }
    .top-intro .intro-btn
    {
        padding-top: 50px;

        text-align: left;
    }
    .top-idea .idea-header
    {
        padding-top: 164px;
        padding-bottom: 255px;

        background-image: url(../img/bg/top/top-idea.jpg);
    }
    .top-idea .idea-header::before
    {
        bottom: -307px;
        left: 0;

        display: block;
    }
    .top-idea .idea-header .wrap
    {
        padding-right: 30px;
        padding-left: 30px;
    }
    .top-idea .idea-header .wrap .title
    {
        font-size: 2.8125rem;
        line-height: 1.4444;
    }
    .top-idea .idea-header .wrap .text
    {
        padding-top: 60px;
    }
    .top-idea .idea-box
    {
        margin-top: -152px;
    }
    .top-idea .idea-box .links > ul
    {
        display: flex;

        max-width: 1080px;
        margin-right: auto;
        margin-left: auto;

        justify-content: center;
    }
    .top-idea .idea-box .links li
    {
        width: 46.2963%;
    }
    .top-idea .idea-box .links li + li
    {
        margin-top: 0;
        margin-left: 5.7143%;
    }
    .top-idea .idea-box .links p
    {
        font-size: 2.8125rem;
        line-height: 1.4444;
    }
    .top-idea .idea-detail
    {
        padding-top: 150px;
        padding-bottom: 150px;
    }
    .top-idea .idea-detail .inner
    {
        width: 100%;
        max-width: inherit;

        flex-flow: inherit;
    }
    .top-idea .idea-detail::before
    {
        display: none;
    }
    .top-idea .idea-detail .textarea
    {
        width: 38.5714%;
        margin-right: 7.1429%;
        margin-left: 11.4286%;
        padding-top: 65px;
    }
    .top-idea .idea-detail .title
    {
        font-size: 2.8125rem;
        line-height: 1.4444;
    }
    .top-idea .idea-detail .text
    {
        padding-top: 60px;
    }
    .top-idea .idea-detail .figure
    {
        display: block;

        width: 42.8571%;
    }
    .top-idea .idea-detail .detail-btn
    {
        padding-top: 50px;

        text-align: left;
    }
    .top-recruit
    {
        padding-top: 165px;
        padding-bottom: 155px;

        background-image: url(../img/bg/top/top-recruit.png);
    }
    .top-recruit .title
    {
        font-size: 2.8125rem;
        line-height: 1.4444;
    }
    .top-recruit .text
    {
        padding-top: 60px;
    }
    .top-recruit .recruit-btn
    {
        padding-top: 58px;
    }
    .top-recruit .entry
    {
        padding-top: 25px;
    }
    .top-contact
    {
        padding-top: 150px;
        padding-bottom: 150px;
    }
    .top-contact dl
    {
        display: flex;

        text-align: center;

        justify-content: center;
    }
    .top-contact dl .row
    {
        width: 50%;
    }
    .top-contact dl .row:nth-child(1)
    {
        margin-bottom: 0;
    }
    .top-contact dl .row + .row
    {
        padding-top: 0;

        border-top: none;
        border-left: 1px solid #000;
    }
    .top-contact dl dt
    {
        font-size: 2.5rem;
        line-height: 1.25;

        margin-bottom: 30px;
    }
    .top-contact dl dt .phone span
    {
        left: -40px;

        width: 22px;
        height: 34px;
    }
    .about-webapl
    {
        margin-right: 0;
        margin-left: 0;
        padding: 50px;
    }
    .about-webapl .textarea + .textarea
    {
        padding-top: 30px;
    }
    .about-webapl .box ul li + li
    {
        padding-top: 6px;
    }
    .webapl-cont
    {
        display: flex;

        margin-top: 25px;
    }
    .webapl-cont.-column
    {
        display: block;
    }
    .webapl-cont.-reverse
    {
        flex-flow: row-reverse;
    }
    .webapl-cont.-reverse .textarea
    {
        margin-left: 5.6818%;
    }
    .webapl-cont.-reverse .figure
    {
        margin-left: 0;
    }
    .webapl-cont .textarea .title:nth-child(n + 2)
    {
        margin-top: 50px;
    }
    .webapl-cont .figure
    {
        width: 30.6818%;
        margin-top: 0;
        margin-left: 5.6818%;
    }
    .winapl-cont
    {
        flex-flow: row;
    }
    .winapl-cont .figure
    {
        width: 30.6818%;
        margin-top: 0;
        margin-right: 5.6818%;
    }
    .works-header
    {
        background-image: url(../img/bg/works/works-mv.png);
    }
    .works-article > .inner > .title
    {
        font-size: 2rem;
        line-height: 1.625;

        margin-bottom: 120px;
    }
    ._sp
    {
        display: none !important;
    }
    ._pc
    {
        display: block !important;
    }
}

@media print,screen and (min-width: 1024px)
{
    .footer
    {
        padding: 150px 30px;
    }
    .footer .inner
    {
        display: flex;

        justify-content: space-between;
    }
    .footer .footer-about
    {
        width: 41.2963%;
    }
    .footer .footer-map
    {
        display: flex;

        width: 44.0741%;
        padding-top: 0;
    }
    .footer .footer-map .sitemap
    {
        float: none;
    }
    header.header
    {
        position: static;
    }
    header.header > .inner
    {
        height: 120px;
    }
    header.header .header-logo .logo
    {
        width: 96px;
    }
    header.header .header-logo p
    {
        font-size: 1rem;
        line-height: 1;
    }
    header.header .header-nav
    {
        position: static;

        display: block;

        width: auto;
        margin-right: 2.8571%;

        background-color: transparent;
    }
    header.header .header-nav .nav > ul
    {
        display: flex;
        overflow-y: visible;

        height: auto;
    }
    header.header .header-nav .nav > ul > li:not(:last-child)
    {
        border-top: none;
    }
    header.header .header-nav .nav > ul > li:not(:last-child)::before
    {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;

        width: 2px;
        height: 16px;
        margin: auto;

        content: '';

        background-color: #000;
    }
    header.header .header-nav .nav > ul > li:last-child > a
    {
        padding: 28px 0 28px 24px;
    }
    header.header .header-nav .nav > ul > li > a
    {
        font-size: 1rem;
        line-height: 1;

        padding: 28px 24px;
    }
    header.header .header-nav .nav > ul > li.contact
    {
        padding-bottom: 0;
    }
    header.header .header-nav .nav > ul > li.contact a
    {
        position: static;

        max-width: auto;
        height: auto;

        color: #000;
        background-color: transparent;
    }
    header.header .header-nav .nav > ul > li.contact a::before
    {
        display: none;
    }
    header.header .header-nav .child
    {
        position: absolute;
        z-index: 2;
        top: 60px;
        left: 100%;

        display: none;

        width: 230px;

        transform: translateX(-50%);
    }
    header.header .header-nav .child > ul
    {
        padding-right: 10px;
        padding-left: 10px;
    }
    header.header .header-nav .child > ul li
    {
        border-top: none;
    }
    header.header .header-nav .child > ul li:not(:last-child)
    {
        border-bottom: 2px dotted #666;
    }
    header.header .header-nav .child > ul li a
    {
        font-size: 1rem;
        line-height: 1;

        justify-content: flex-start;
    }
    header.header .nav-btn
    {
        display: none;
    }
    ._pc-only
    {
        display: block;
    }
}

@media screen and (min-width: 1400px)
{
    .concept-mv .top-balloon.-balloon01
    {
        left: calc(50% - 540px);
    }
    .concept-mv .top-balloon.-balloon02
    {
        top: 280px;
        left: calc(50% - 540px);
    }
    .concept-mv .top-balloon.-balloon03
    {
        right: calc(50% - 540px);
    }
    .concept-mv .top-balloon.-balloon04
    {
        top: 280px;
        right: calc(50% - 540px);
    }
    .concept-mv .btm-balloon.-balloon01
    {
        left: calc(50% - 540px);
    }
    .concept-mv .btm-balloon.-balloon02
    {
        top: 260px;
        left: calc(50% - 540px);
    }
    .concept-mv .btm-balloon.-balloon03
    {
        right: calc(50% - 540px);
    }
    .concept-mv .btm-balloon.-balloon04
    {
        top: 260px;
        right: calc(50% - 540px);
    }
}

@media print,screen and (min-width: 321px)
{
    ._se
    {
        display: none !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px)
{
    ._tablet-only
    {
        display: block;
    }
}

@media screen and (max-width: 767px)
{
    ._sp-only
    {
        display: block;
    }
}
