@charset 'UTF-8';
@font-face
{
    font-family: 'Hiragino Kaku Gothic Pro W3';
    font-weight: 100;

    src: local('Hiragino Kaku Gothic Pro W3 Medium');
}
@font-face
{
    font-family: 'Hiragino Kaku Gothic Pro W3';
    font-weight: 200;

    src: local('Hiragino Kaku Gothic Pro W3 Medium');
}
@font-face
{
    font-family: 'Hiragino Kaku Gothic Pro W3';
    font-weight: 300;

    src: local('Hiragino Kaku Gothic Pro W3 Medium');
}
@font-face
{
    font-family: 'Hiragino Kaku Gothic Pro W3';
    font-weight: 400;

    src: local('Hiragino Kaku Gothic Pro W3 Medium');
}
@font-face
{
    font-family: 'Hiragino Kaku Gothic Pro W3';
    font-weight: 500;

    src: local('Hiragino Kaku Gothic Pro W3 Medium');
}
@font-face
{
    font-family: 'Hiragino Kaku Gothic Pro W3';
    font-weight: bold;

    src: local('Hiragino Kaku Gothic Pro W3 Bold');
}
/*! sanitize.css v3.3.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */
/*
 * Normalization
 */
abbr[title]
{
    text-decoration: underline;
    text-decoration: underline dotted;
}

audio:not([controls])
{
    display: none;
}
body {
    overflow: hidden;
}
b,
strong
{
    font-weight: bolder;
}

button
{
    overflow: visible;

    -webkit-appearance: button;
}

button::-moz-focus-inner,
input::-moz-focus-inner
{
    padding: 0;

    border: 0;
}
button:-moz-focusring,
input:-moz-focusring
{
    outline: 1px dotted ButtonText;
}

button,
select
{
    text-transform: none;
}

details
{
    display: block;
}

hr
{
    overflow: visible;
}

html
{
    overflow-y: scroll;

    -ms-overflow-style: -ms-autohiding-scrollbar;
    -webkit-text-size-adjust: 100%;
}

input[type='button'],
input[type='reset'],
input[type='submit']
{
    -webkit-appearance: button;
}
input[type='number']
{
    width: auto;
}
input[type='search']
{
    -webkit-appearance: textfield;
}
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration
{
    -webkit-appearance: none;
}

main
{
    display: block;
}

pre
{
    overflow: auto;
}

progress
{
    display: inline-block;
}

summary
{
    display: block;
}

svg:not(:root)
{
    overflow: hidden;
}

template
{
    display: none;
}

textarea
{
    overflow: auto;
}

[hidden]
{
    display: none;
}

/*
 * Universal inheritance
 */
*,
::before,
::after
{
    -webkit-box-sizing: inherit;
    -moz-box-sizing: inherit;
    box-sizing: inherit;
}

*
{
    font-size: inherit;
    line-height: inherit;
}

::before,
::after
{
    vertical-align: inherit;
    text-decoration: inherit;
}

button,
input,
select,
textarea
{
    font-family: inherit;
    font-weight: inherit;
    font-style: inherit;
}

/*
 * Opinionated defaults
 */
*
{
    margin: 0;
    padding: 0;
}

*,
::before,
::after
{
    border-width: 0;
    border-style: solid;
}

a,
area,
button,
input,
label,
select,
textarea,
[tabindex]
{
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

select
{
    -moz-appearance: none;
    -webkit-appearance: none;
}
select::-ms-expand
{
    display: none;
}
select::-ms-value
{
    color: currentColor;
}

svg
{
    fill: currentColor;
}

[aria-busy='true']
{
    cursor: progress;
}

[aria-controls]
{
    cursor: pointer;
}

[aria-disabled]
{
    cursor: default;
}

[hidden][aria-hidden='false']
{
    position: absolute;

    display: inherit;
    clip: rect(0 0 0 0);
}
[hidden][aria-hidden='false']:focus
{
    clip: auto;
}

/*
 * Configurable defaults
 */
*
{
    background-repeat: no-repeat;
}

:root
{
    font: 100%/1.5 sans-serif;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

    cursor: default;

    color: #000;
    background-color: #fff;
}

a
{
    text-decoration: none;
}

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

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

button,
[type='button'],
[type='date'],
[type='datetime'],
[type='datetime-local'],
[type='email'],
[type='month'],
[type='number'],
[type='password'],
[type='reset'],
[type='search'],
[type='submit'],
[type='tel'],
[type='text'],
[type='time'],
[type='url'],
[type='week'],
select,
textarea
{
    min-height: 1.5em;
}

code,
kbd,
pre,
samp
{
    font-family: monospace, monospace;
}

nav ol,
nav ul
{
    list-style: none;
}

small
{
    font-size: 75%;
}

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

textarea
{
    resize: vertical;
}

::-moz-selection
{
    color: #000;
    background-color: #b3d4fc;
    text-shadow: none;
}

::selection
{
    color: #000;
    background-color: #b3d4fc;
    text-shadow: none;
}

:root
{
    font-size: 62.5%;
}

body
{
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
    font-size: 1.4rem;
    line-height: 1.2;

    color: #000;
}

a
{
    color: inherit;
}

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

    vertical-align: top;
}

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

ul
{
    list-style: none;
}

::-webkit-input-placeholder
{
    line-height: normal;
}

body
{
    font-weight: 500;
}

h2
{
    font-size: 32px;
    font-weight: bold;

    padding-top: 40px;

    text-align: center;
    letter-spacing: .1em;
}

.ta-l {
    text-align: left;
}
.ta-r {
    text-align: right;
}
.ta-c {
    text-align: center;
}
.bold {
    font-weight: bold;
}

@media screen and (max-width: 640px)
{
    h2
    {
        font-size: 24px;

        padding-top: 40px;
    }
}
.button
{
    position: relative;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 350px;
    margin: 0 auto;

    border: solid 0;
}

.fade-in {
    opacity: 0;
}

.top-header-fade-in {
    -webkit-animation: top-header-fade-in 2s; /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: top-header-fade-in 2s; /* Firefox < 16 */
    -ms-animation: top-header-fade-in 2s; /* Internet Explorer */
    -o-animation: top-header-fade-in 2s; /* Opera < 12.1 */
    animation: top-header-fade-in 2s;
}

::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 5px;
}

::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background-color: rgba(0,0,0,.5);
    -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #C0BEBE;
    opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: red;
}

::-ms-input-placeholder { /* Microsoft Edge */
    color: red;
}

@keyframes top-header-fade-in {
    0% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
}

.fade {
    animation-duration: 3s;
    animation-name: fade;
}
.moveup {
    margin-top: 0px;
    transition: all .5s;
    -wenkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    -ms-transition: all .5s;
}
@keyframes fade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes bounceIn {
    0% {
        transform: scale(0.1);
        opacity: 0;
    }
    60% {
        transform: scale(1.2);
        opacity: 1;
    }
    100% {
        transform: scale(1);
    }
}
.bounceIn {
    animation: bounceIn 2s;
}

.slide-up-fade-in{
    animation: slide-up-fade-in ease 1s;
    animation-iteration-count: 1;
    transform-origin: 50% 50%;
    animation-fill-mode:forwards; /*when the spec is finished*/
    -webkit-animation: slide-up-fade-in ease 1s;
    -webkit-animation-iteration-count: 1;
    -webkit-transform-origin: 50% 50%;
    -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
    -moz-animation: slide-up-fade-in ease 1s;
    -moz-animation-iteration-count: 1;
    -moz-transform-origin: 50% 50%;
    -moz-animation-fill-mode:forwards; /*FF 5+*/
    -o-animation: slide-up-fade-in ease 1s;
    -o-animation-iteration-count: 1;
    -o-transform-origin: 50% 50%;
    -o-animation-fill-mode:forwards; /*Not implemented yet*/
    -ms-animation: slide-up-fade-in ease 1s;
    -ms-animation-iteration-count: 1;
    -ms-transform-origin: 50% 50%;
    -ms-animation-fill-mode:forwards; /*IE 10+*/

    opacity:0;
    opacity: 1\9;
}




@keyframes slide-up-fade-in{
    0% {
        opacity:0;
        transform:  translate(0px,40px)  ;
    }
    100% {
        opacity:1;
        transform:  translate(0px,0px)  ;
    }
}


@media screen and (max-width: 640px)
{
    .button
    {
        width: 85%;
    }
}

@media screen and (max-width: 380px)
{
    .button
    {
        width: 100%;
    }
}


.button p
{
    font-size: 16.11px;
    font-weight: bold;
    line-height: 50px;

    text-align: center;
    letter-spacing: .08em;


    border-radius: 50px;
    /*-webkit-box-shadow: 0 2px 10px 0 #adadad;
    box-shadow: 0 2px 10px 0 #adadad;*/
}
@media screen and (max-width: 640px)
{
    .button p
    {
        font-size: 13px;
        font-weight: 500;
        line-height: 50px;

        letter-spacing: 0;
    }
}
.button p a
{
    display: block;
}
.button p a:after
{
    position: absolute;
}
.button:hover p
{
    /*-webkit-box-shadow: 0 2px 20px -4px #adadad;
    box-shadow: 0 2px 20px -4px #adadad;*/
}

.btn-back
{
    float: left;

    width: 126px;
}
.btn-back p a
{
    line-height: 45px;
}

.btn_download {
    width: 147px;
    height: 35px;
    background-color: #ffffff;
    border-radius: 50px;
    border: 2px solid #FFE5D0;
    justify-content: center;
    align-items: center;
    display: flex;
    font-size: 14px;
    margin-top: 10px !important;
    padding-left: 5px !important;
    /*-webkit-box-shadow: 0 2px 10px 0 #adadad;
    box-shadow: 0 2px 10px 0 #adadad;*/
}

.btn_download:hover {
    /*   -webkit-box-shadow: 0 2px 20px -4px #adadad;
       box-shadow: 0 2px 20px -4px #adadad;*/
    cursor: pointer;
}



body.body-index input[type=file] {
    cursor: inherit;
    display: block;
    font-size: 999px;
    filter: alpha(opacity=0);
    min-height: 100%;
    min-width: 100%;
    opacity: 0;
    position: inherit;
    right: 0;
    text-align: right;
    top: 0;
}

body.body-index label[id="filename"] {
    padding-left: 5px;
    font-size: 12px;
    max-width:210px;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden !important;
    text-overflow: ellipsis;
}

body.body-index label[id="filename1"] {
    margin-top: 10px;
    margin-left: 5px;
}

body.body-index label[id="filename2"] {
    margin-top: 10px;
    margin-left: 5px;
}

#map {
    width: 100%;
    height: 400px;
    background-color: grey;
}

body.body-index #question .contentquestion {
    width: 755px;
    margin: 0px auto 0;
}

body.body-index #question .contentquestion .iconquestion {
    width: 70px;
    height: 90px;
    float: left;
    color: #EA7B2A;
    font-size: 50px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 640px)
{
    .btn-back
    {
        width: 35%;
    }
    .btn-back p a
    {
        line-height: 40px;
    }

    body.body-index input[type=file] {
        cursor: inherit;
        display: block;
        font-size: 999px;
        filter: alpha(opacity=0);
        opacity: 0;
        position: inherit;
        text-align: right;
        top: 0;
        margin-left: -157px;
        width: 200px;
        height: 15px;
        margin-right: -43px;
    }
    .btn_download {
        margin-left: 27px;
    }

    body.body-index #question .contentquestion {
        width: 100%;
        margin: 0px auto 0;
    }
    body.body-index #question .contentquestion .iconquestion {
        color: #EA7B2A;
        font-size: 50px;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        font-size: 40px;
        margin-left: 20px;
        margin-top: 10px;
    }
    body.body-index #coremember .nav-wrapper {
        width: 100% !important;
    }

    body.body-index #coremember .nav-wrapper .coredescription {
        width: auto !important;
        margin-left: 10px !important;
        margin-right: 10px !important;
    }
}

.btn-more
{
    display: none;
}
@media screen and (max-width: 640px)
{
    .btn-more
    {
        display: block;
    }
}

.btn-b_wd p,
.btn-b_wr p
{
    background-color: #FFCB40;
}
.btn-w_wr p,
.btn-w_gr p
{
    color: #000;
    background-color: #fff;
}
.btn-back p,
.btn-more p
{
    color: #000;
    background-color: #eeedea;
}
.btn-b_wd:hover p,
.btn-b_wr:hover p
{
    background-color: #EFD590;
}
.btn-w_wr:hover p,
.btn-w_gr:hover p
{
    background-color: #f7f7f7;
}
.btn-back:hover p,
.btn-more:hover p
{
    background-color: #eae9e5;
}
.btn-b_wd p a:after
{
    top: 7px;
    right: 12px;

    width: 26px;
    height: 30px;

    content: '';

    background-image: url();
}
.btn-b_wr p a:after
{
    top: 9px;
    right: 9px;

    width: 30px;
    height: 26px;

    content: '';

    background-image: url();
}
.btn-w_wr p a:after
{
    top: 9px;
    right: 10px;

    width: 30px;
    height: 26px;

    content: '';

    background-image: url();
}
.btn-w_gr p a:after
{
    top: 12px;
    right: 7px;

    width: 25px;
    height: 22px;

    content: '';

    background-image: url();
}
.btn-back p a:after
{
    top: 9px;
    left: 8px;

    width: 30px;
    height: 26px;

    content: '';

    background-image: url(../images/);
}
.btn-more p a:after
{
    top: 7px;
    right: 10px;

    width: 22px;
    height: 25px;

    content: '';

    background-image: url(../images/);
    background-size: contain;
}
.close .btn-more p a:after
{
    background-image: url(../images/);
}


.btn-work
{
    width: 430px;
    margin:0;
    margin-top: 26px;
}
.sp-button
{
    display:none;
}

.showhide1 {
    display: flex;
}
.showhide2 {
    display: flex;
}

body.body-index main .main-visual img
{

    max-width: 524px;

}

@media screen and (max-width: 640px)
{
    .btn-b_wd p a:after
    {
        top: 7px;
        right: 8px;

        width: 22px;
        height: 25px;

        background-image: url(../images/);
        background-size: contain;
    }
    .btn-b_wr p a:after
    {
        top: 9px;
        right: 8px;

        width: 25px;
        height: 22px;

        background-image: url(../images/);
        background-size: contain;
    }
    .btn-w_wr p a:after
    {
        top: 9px;
        right: 8px;

        width: 25px;
        height: 22px;

        background-image: url(../images/);
        background-size: contain;
    }
    .btn-w_gr p a:after
    {
        top: 9px;
        right: 8px;

        width: 25px;
        height: 22px;

        background-image: url(../images/);
        background-size: contain;
    }
    .btn-back p a:after
    {
        top: 9px;
        left: 8px;

        width: 25px;
        height: 22px;

        background-image: url(../images/);
        background-size: contain;
    }
    .btn-work{
        width: 250px;
        margin:0 auto;
        padding-bottom: 30px;
    }
    .sp-button{
        display: block;
    }
    .pc-button{
        display:none;
    }

    section {
        margin-left: 8px;
        margin-right: 8px;
    }
}

footer .footer-image
{
    display: inline-block;

    width: 174px;
    height: auto;
    margin: 0 3px;
}

.area_social {
    display:flex;
    width: 100%;
    padding-top: 10px;
}

footer {
    background-color: #A6ADB4;
}
footer .footer
{
    width: 1024px;
    margin: 0 auto;
    padding: 50px 0 50px 0;
}
footer .footer:before,
footer .footer:after
{
    display: block;

    content: '';
}
footer .footer:after
{
    clear: both;
}
footer .footer .m-btn_footer
{
    float: left;

    width: 180px;
    margin-top: 15px;
}
footer .footer .m-btn_footer p a
{
    font-size: 13px;
    font-weight: 500;
    line-height: 33px;

    letter-spacing: .08em;
}
footer .footer .m-btn_footer p a:after
{
    top: 5.5px;
    right: 9px;
}

footer .footer .leftfooter {
    width:40%;
    float:left
}

footer .footer .rightfooter {
    width:60%;
    float:right;
}

footer .footer .rightfooter .footermap {
    width: 600px !important;
    height: 304px !important;
    float: right;
}

section .nav-wrapper .f-info {
    font-size: 15px;

    position: relative;

    float: right;

    margin-left: 10px;
}
section .nav-wrapper .f-info li
{
    line-height: 20px;

    margin-top: 3.5px;

    letter-spacing: .08em;
}

section .nav-wrapper .f-info :first-child
{
    margin-top: 0;
}
section .nav-wrapper .f-info li br
{
    display: none;
}
section .nav-wrapper .f-info li span
{
    font-weight: bold;

    position: absolute;
    left: 0;
}

section .q-module  span
{
    font-weight: bold;

    position: absolute;
    left: 0;
}

footer .footer .f-info
{
    font-size: 12px;
    position: relative;
    padding-left: 80px;
}
footer .footer .f-info li
{
    line-height: 20px;

    margin-top: 3.5px;

    letter-spacing: .08em;
    color: white;
}
footer .footer .f-info li:first-child
{
    margin-top: 0;
}
footer .footer .f-info li br
{
    display: none;
}
footer .footer .f-info li span
{
    font-weight: bold;

    position: absolute;
    left: 0;
}
footer .copy
{
    font-size: 11px;
    line-height: 20px;

    text-align: center;
    letter-spacing: .08em;

    color: #ffffff;
}
footer .copy br
{
    display: none;
}


/*flow estimate*/

body.body-index #features .main-visual .nav-wrapper .estimate-left {
    width: 677px;
    height: 330px;
    float: left;
}

body.body-index #features .main-visual .nav-wrapper .estimate-left div {
    height:240px;
    border: 1px solid #707070;
    margin: 40px 5px;
}

body.body-index #features .main-visual .nav-wrapper .estimate-arrow {
    width: 50px;
    height: 330px;
    float: left;
    margin-left: 50px;
    padding-bottom: 10px;
    display: flex;
    align-items: flex-end;
}

body.body-index #features .main-visual .nav-wrapper .estimate-right {
    width: 247px;
    height: 330px;
    float: right;
}

body.body-index #features .main-visual .nav-wrapper .estimate-right div {
    height:240px;
    border: 1px solid #707070;
    margin: 40px 5px;
}

/*core member*/
body.body-index #coremember
{
    /*margin-top: 10px;
    padding-bottom: 10px;*/

    /*background-color: white;*/


}

body.body-index #coremember .nav-wrapper
{
    height: 1120px;
    width: 1020px;
    margin: 0 auto;
    padding: 60px 0 60px 0;
    background-color: white;
}

body.body-index #coremember .nav-wrapper .coreimages
{
    height: 100px;
    width: 100px;
    margin: 0 auto;
    border: 1px solid #707070;
    border-radius: 50px;
}

body.body-index #coremember .nav-wrapper .coredescription
{
    height: 200px;
    width: 100%;
    margin: 30px auto;
    border: 1px solid #707070;
}

body.body-index #features .nav-wrapper .feature_specialty {
    width:30%;
    float: left;
}
body.body-index #features .nav-wrapper .feature_expertise {
    width:70%;
    float: right;
}

body.body-index #features .nav-wrapper .feature_expertise .f-info .title_expertise_sp{
    font-weight: bold;
    display: none;
}

body.body-index #features .nav-wrapper .feature_expertise .f-info .title_expertise_pc{
    font-weight: bold;
}


body.body-index .system-dev {
    background-color: white;
    display:flex;
    align-items:center;
    justify-content: center;
    padding-top: 50px;
}

body.body-index .system-dev img {
    padding: 20px 80px 20px 80px;
    width:1165px;
}

.showsp {
    display: none;
}
@media screen and (max-width: 640px)
{

    footer .footer-image
    {
        width: 186px;
        height: auto;
        margin: 0;
    }
    footer .footer
    {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        padding: 40px 20px 0;
    }
    footer .footer .f-info
    {
        float: none;

        margin: 20px 0 0;
        padding-left: 75px;
    }
    footer .footer .f-info li
    {
        line-height: 18px;

        margin-top: 13px;

        letter-spacing: .08em;
    }
    footer .footer .f-info li br
    {
        display: inline;
    }
    footer .footer .m-btn_footer
    {
        float: none;

        width: 180px;
        margin: 25px auto 0;
    }
    footer .footer .m-btn_footer p a
    {
        line-height: 40px;

        letter-spacing: 0;
    }
    footer .footer .m-btn_footer p a:after
    {
        top: 9px;
        right: 8px;
    }
    footer .copy
    {
        font-size: 12px;
        line-height: 16px;

        margin-top: 35px;
    }
    footer .copy br
    {
        display: inline;
    }

    footer .footer .leftfooter {
        width:100%;
    }

    footer .footer .rightfooter {
        width:100%;
        justify-content: center;
        align-items: center;
        display: flex;
        padding-top: 20px;
    }

    footer .footer .rightfooter .footermap {
        width:100% !important;
        height: 220px !important;
        justify-content: center;
        align-items: center;
        display: flex;
        margin-right: 0px;
    }

    body.body-index #features .nav-wrapper .feature_specialty {
        width:100%;
    }
    body.body-index #features .nav-wrapper .feature_expertise {
        padding-top: 20px;
        width:100%;
    }
    body.body-index #features .nav-wrapper .feature_expertise .f-info .title_expertise_sp {
        display: flex;
        padding-bottom:10px;
    }

    body.body-index #features .nav-wrapper .feature_expertise .f-info .title_expertise_pc {
        display: none;
    }
    section .nav-wrapper .f-info {
        margin-left: 0px;
        padding-left: 0px;
    }
    body.body-index .system-dev {
        padding-top: 10px;
    }

    body.body-index .system-dev img {
        padding: 10px 20px;
        width:1165px;
    }

    .showsp {
        display: flex;
    }
}
li p {
    line-height: 2.0;
}
body.body-index
{
    font-size: 15px;

    position: relative;

    width: 100%;
    min-width: 1040px;
    height: 100%;
    /*padding: 10px;*/

    background-color: #ffffff;

    -webkit-font-smoothing: antialiased;
    margin: auto;

    line-height: 2.0;
}
body.body-index .t-shape
{
    position: absolute;
    top: 0;
    right: 20px;
}
@media screen and (max-width: 640px)
{
    body.body-index .t-shape
    {
        display: none;
    }
}

body.body-index .main_content {
    width: 1024px;
}

body.body-index header
{
    display: flex;

    padding-bottom: 0px;

    background-color: #fff;

    align-items: center;

    justify-content: center;
}
body.body-index header .header
{
    /*position: relative;*/

    /*padding: 20px 0 20px 20px;*/
    /*justify-content: center;*/
    align-items: center;
    display: flex;
    background-color: #144576;
    height: 86px;
    width: 1024px;

}
body.body-index header .header:before,
body.body-index header .header:after
{
    display: block;

    content: '';
}
body.body-index header .header:after
{
    clear: both;
}
body.body-index header .header .h-logo
{
    float: left;

    /*width: 174px;*/
    height: 60px;
    /*padding-left: 175px;*/
}
body.body-index .main_nav .h-logo
{
    height: 60px !important;
}

body.body-index header .header .h-dash
{
    position: absolute;
    top: 38px;
    left: 205px;

    float: left;
}
body.body-index header .header h1
{
    font-size: 15px;
    line-height: 26px;

    float: left;

    padding-left: 10px;

    letter-spacing: .08em;
    color: white;
}
body.body-index header .header h1 br
{
    display: none;
}

body.body-index header .h-contact {
    background-color: #FFCB40;
    border-radius: 50px;
    color: black;
    font-size: 18px;
    font-weight: bold;
    margin-left: auto;
    width: 326px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

body.body-index header .h-contact a {
    margin-left: auto;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

body.body-index header .h-contact:hover {
    background-color: #F2D381;
    transform: scale(.97);
}

body.body-index .top-menu {
    height: 64px;
    width: 100%;
    justify-content: center;
    align-items: center;
    display: flex;
}

body.body-index .top-menu .item-menu {
    height: 100%;
    width: 204.8px;
    cursor: pointer;
    position: relative;
}

body.body-index .top-menu .item-menu .text-menu {
    height: 60px;
    justify-content: center;
    align-items: center;
    display: flex;
    font-size: 14px;
    color: #3A3A3A;
}

body.body-index .top-menu .item-menu .text-menu:hover {
    color: #144576;
}

body.body-index .top-menu .item-menu .selected-menu {
    height: 5px;
    background-color: #2D6FFB;
    width: 0;

}

body.body-index .top-menu .item-menu .ani_menu {
    width: 100%;
    transition: width .2s ease;
}


#item-menu div:hover + div {
    position:absolute;
    width: 204.8px;
    left: 50%;
    transform: translateX(-50%);
    transition: width .2s ease;
}

body.body-index .top-menu .link_contact {

}
body.body-index .top-header-sp {
    display: none;
}
body.body-index .top-header {
    height: 619px;
    width: 100%;
    position: inherit;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1366px 564px;

    scale
    -webkit-transform: scale(1.0)!important;
    -ms-transform: scale(1.0)!important;
    transform: scale(1.0)!important
}

.bg_top {
    background-image: url("../images/img-photo-top@2x.png");
}

.bg_offshore {
    background-image: url("../images/img-photo-offshore@2x.png") !important;
    height: 564px !important;
}

.bg_flowinquiry {
    background-image: url("../images/img-photo-inquality-after@2x.png") !important;
    height: 564px !important;
}

.bg_qa {
    background-image: url("../images/img-photo-faq@2x.png") !important;
    height: 564px !important;
}

.bg_contact {
    background-image: url("../images/img-photo-inquality@2x.png") !important;
    height: 564px !important;
}

.spOnly {
    display: none;
}

.pcOnly {
    display: block;
}

.cover {
    background-image: url("../images/cover.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1366px 287px;
    text-align: center;
    height: 287px;
    width: 100%;
}

.cover .title {
    font-weight: bold;
    color: white;
    font-size: 38px;
    padding-top: 60px;
}
.cover .title2 {
    font-weight: bold;
    color: white;
    font-size: 38px;
}

body.body-index .top-header .title-header {
    justify-content: center;
    align-items: center;
    display: flex;
    width: 100%;
    height: 200px;
    font-size: 38px;
    text-align: center;
    color: white;
    font-weight: 700;
}

body.body-index .top-header .menu-header{
    justify-content: center;
    align-items: center;
    display: flex;
    width: 100%;
    height: 110px;
    bottom: 0;
    position: absolute;
}

body.body-index .top-header .menu-header .item-menu-header {
    background-color: white;
    width: 241px;
    height: 110px;
    margin: 0px 10px;
    border-radius: 20px;
    box-shadow: 0px 1px 6px -2px grey
}



body.body-index .top-header .menu-header .item-menu-header .text-menu-header {
    height: 90px;
    justify-content: center;
    align-items: center;
    display: flex;
    font-size: 16px;
    color: #3A3A3A;
    text-align: center;
}

body.body-index .top-header .menu-header .item-menu-header .selected-menu-header {
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

body.body-index .top-header .menu-header .item-menu-header .selected-menu-header .arrow:hover {
    content:url("../images/narrow@2x.png");
}

body.body-index .top-header .menu-header .item-menu-header:hover ~.selected-menu-header{
    filter: invert(1);
}

body.body-index .top-header .menu-header .item-menu-header:hover .arrow{
    content:url("../images/narrow@2x.png");
}

body.body-index .top-header .menu-header .item-menu-header:hover .text-menu-header{
    color: #144576;
}

body.body-index .title_point {
    color: #144576;
    font-size: 34px;
    font-weight: 600;
    text-align: center;
    padding-top: 40px;
}

body.body-index .offshore_vn {
    margin: auto;
    width: 1024px;
    margin-top: 10px;
    padding-bottom: 10px;
}

body.body-index .offshore_vn .offshore_meaning {
    padding-top: 20px;
    padding-bottom: 20px;
    height: 400px;
}

body.body-index .offshore_vn .offshore_meaning .item_meaning_left {
    float: left;
    width: 50%;
    padding: 0px 20px;
}

body.body-index .offshore_vn .offshore_meaning .item_meaning_right {
    float: right;
    width: 50%;
    padding: 0px 20px;
}

body.body-index .offshore_vn .offshore_meaning .image_meaning{
    height: 253px;
    /*float: right; */
    width: 100%;
    align-items: center;
    display: flex;
    justify-content: center;
}

body.body-index .offshore_vn .offshore_meaning .text_meaning{
    padding-top: 20px;
    padding-bottom: 10px;
    width: 100%;
    align-items: center;
    display: flex;
    font-size: 20px;
    justify-content: center;
}

body.body-index .ref_contact {
    height: 78px;
    width: 100%;
    background-color:#FFE5D0;
    justify-content: center;
    align-items: center;
    display: flex;
}

body.body-index .ref_contact .bt_contact{
    background-color: #FFCB40;
    border-radius: 50px;
    padding: 18px 20px;
    color: black;
    font-size: 19px;
    font-weight: bold;
    float: right;
    width: 326px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

body.body-index .ref_contact .bt_contact:hover{
    background-color: #F7D06A;
    cursor: pointer;
    transform: scale(.97);
}

body.body-index #select_gcode
{
    background-color: #F6F8F9;
}

body.body-index .select_gcode {
    background-color: #F6F8F9;
    margin: auto;
    width: 1024px;
    padding-bottom: 20px;
}

body.body-index .gcode_committed {
    margin: auto;
    width: 1024px;
    padding-bottom: 20px;
}

body.body-index .gcode_committed .h_gcode_committed {
    height: 67px;
    width: 100%;
    margin-top: 20px;
    justify-content: center;
    align-items: center;
    display: flex;
}


body.body-index .gcode_committed .h_gcode_committed .union{
    background-image: url("../images/Union 1@2x.png");
    /*background-size: 495px 67px;*/
    background-size: 100% 100%;
    text-align: center;
    height: 100%;
    width: 495px;
    justify-content: center;
    align-items: center;
    display: flex;
}

body.body-index .gcode_committed .skill_content {
    width: 100%;
    display: flex;
    padding-top: 35px;
}

body.body-index .gcode_committed .skill_content .skill_item1 {
    width: 328px;
    margin-right: 10px;
}

body.body-index .gcode_committed .skill_content .skill_item2 {
    width: 328px;
    margin-right: 10px;
    margin-left: 10px;
}

body.body-index .gcode_committed .skill_content .skill_item3 {
    width: 328px;
    margin-left: 10px;
}

body.body-index .gcode_committed .skill_content2 {
    width: 100%;
    display: flex;
    padding-top: 35px;
    justify-content: center;
}

body.body-index .gcode_committed .skill_content2 .skill_item4 {
    width: 328px;
    margin-right: 10px;
    margin-left: 10px;
}

body.body-index .gcode_committed .skill_content2 .skill_item5 {
    width: 328px;
    margin-left: 10px;
}

body.body-index .gcode_coremember {
    width: 1024px;
    margin: auto;
}

body.body-index .gcode_coremember .img_member {
    width: 100%;
    justify-content: center;
    display: flex;
    padding-top: 20px;
}

body.body-index .gcode_coremember .img_member img {
    /* width: 551px;
     height: 367px;*/
    width: 125px;
    height: 125px;
    border-radius: 70px;
}

body.body-index .gcode_coremember .title_chairman {
    text-align: center;
    font-weight: bold;
    padding-top: 30px;
    width: 551px;
    margin: auto;
}

body.body-index .gcode_coremember .content_chairman {
    text-align: left;
    padding-top: 30px;
    width: 655px;
    margin: auto;
    color: #656A6F;
    padding: 10px 10px;
    background-color: #F6F8F9;
    font-size: 14px;
}

body.body-index #gcode_exp {
    background-color: #F6F8F9;
}

body.body-index .gcode_exp {
    margin: auto;
    width: 1024px;
    padding-top: 10px;
    padding-bottom: 10px;
}

body.body-index .gcode_exp .field_exp_title {
    margin-right: 40px;
    margin-left: 40px;
    border-bottom: 1px solid #010F7E;
    justify-content: center;
    display: flex;
    align-items: center;
    height: 50px
}

body.body-index .gcode_exp .field_exp {
    margin-right: 40px;
    margin-left: 40px;
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

body.body-index .gcode_exp .field_exp .exp1{
    border: 5px solid #F6F8F9;
    width: 374px;
    height: 83px;
    align-items: center;
    justify-content: center;
    display: flex;
    font-size: 20px;
}

body.body-index .gcode_exp .field_exp .exp2{
    border: 5px solid #F6F8F9;
    width: 270px;
    height: 83px;
    align-items: center;
    justify-content: center;
    display: flex;
    margin-left: 10px;
    font-size: 20px;
}

body.body-index .gcode_exp .special_exp {
    background-color: #F6F8F9;
    padding: 10px 20px;
    margin-right: 40px;
    margin-left: 40px;
    margin-top: 20px
}

body.body-index .gcode_exp .note_exp {
    background-color: #F6F8F9;
    padding: 20px 40px;
    height: 100px;
}

body.body-index #sys_dev {
    background-color: white;
}

body.body-index .sys_dev {
    margin: auto;
    width: 1024px;
    padding-top: 10px;
    padding-bottom: 10px;
    display: grid;
    justify-content: center;
}

body.body-index .sys_dev .img_work_flow_pc {
    /*height: 677px; */
    width: 800px;
    padding: 40px 0px;
}

body.body-index .sys_dev .img_work_flow_sp {
    display: none;
}

body.body-index #gcode_service {
    background-color: #F6F8F9;
}

body.body-index .gcode_service {
    margin: auto;
    width: 1024px;
    padding-top: 10px;
    padding-bottom: 10px;
}

body.body-index .gcode_service .content_service {
    padding-top: 40px;
    padding-bottom: 40px;
    margin-bottom: 20px;
    margin-top: 20px;
    background-color: white;
}

body.body-index .gcode_service .content_service .detail_service{
    padding: 20px 110px;
}

body.body-index .gcode_service .number_service {
    background-image: url("../images/img-flag.png");
    background-size: 133px 67px;
    width: 133px;
    height: 67px;
    justify-content: center;
    align-items: center;
    display: flex;
    color: white;
    font-size: 50px;
    font-weight: bold;
}
body.body-index .gcode_service .item_service {
    display: flex;
}

body.body-index .gcode_service .item_service .title_service {
    margin-left: -133px;
    width: 1024px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 24px;
}

body.body-index #gcode_performance {
    background-color: #F7F7F0;
}

body.body-index .gcode_performance {
    margin: auto;
    width: 1024px;
    padding-top: 10px;
    padding-bottom: 50px;
}
body.body-index .gcode_performance .sample_prj{
    padding-top: 20px;
    display: flex;
}
body.body-index .gcode_performance .desc_performance {
    padding-top: 20px;
}
body.body-index .gcode_performance .sample_prj_img {
    width: 319px;
    height: 1056px;
}

body.body-index .gcode_performance .demo1 {
    height: 854px;
    width: 100%;
}

body.body-index .gcode_performance .demo2 {
    height: 949px;
    width: 100%;
}

body.body-index .gcode_performance .demo3 {
    height: 1056px;
    width: 100%;
}

body.body-index #flowinquiry {
    background-color: #F6F8F9;
}

body.body-index .flowinquiry {
    margin: auto;
    width: 1024px;
    padding-top: 10px;
    padding-bottom: 50px;
}

body.body-index .flowinquiry .content_flow{
    width: 100%;
    display: flex;
    padding-top: 35px;
}

body.body-index .flowinquiry .content_flow .area_flow{
    width: 313px;
}

body.body-index #gcode_qa {
    background-color: #F6F8F9;
}

body.body-index .gcode_qa {
    margin: auto;
    width: 1024px;
    padding-top: 10px;
    padding-bottom: 50px;
}

body.body-index .gcode_qa .number_service {
    background-image: url("../images/img-flag.png");
    background-size: 133px 67px;
    width: 133px;
    height: 67px;
    justify-content: center;
    align-items: center;
    display: flex;
    color: white;
    font-size: 50px;
    font-weight: bold;
}

body.body-index .gcode_qa .content_service {
    padding-top: 40px;
    padding-bottom: 40px;
    margin-bottom: 20px;
    margin-top: 20px;
    background-color: white;
}

body.body-index .gcode_qa .content_service .rep_qa {
    padding: 10px 20px 10px 210px;
}

body.body-index .gcode_qa .item_service {
    display: flex;
}

body.body-index .gcode_qa .item_service .title_service {
    margin-left: -133px;
    width: 1024px;
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 24px;
    padding-left: 210px;
}

body.body-index #gcode_contact {
    background-color: #F6F8F9;
}

body.body-index .gcode_contact {
    margin: auto;
    width: 1024px;
    padding-top: 10px;
    padding-bottom: 50px;
}

body.body-index .gcode_contact .select_file {
    display: flex;
    padding-left: 0px !important;
    margin-top: -5px !important;
}

body.body-index .gcode_contact .select_file .radio05 {
    width: 100%;
    margin-top: 0px !important;
    padding-left: 20px !important;
}

body.body-index #gcode_error {
    background-color: #F6F8F9;
}

body.body-index .gcode_error {
    margin: auto;
    width: 1024px;
    padding-top: 10px;
    padding-bottom: 50px;
}

#main_nav {
    background-color: #ffffff;
    width: 100%;
    height: 70px;

    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;

    display: none;
    box-shadow: 0 -5px 24px -1px;
}

body.body-index .main_nav {
    margin: auto;
    width: 1024px;
    align-items: center;
    display: flex;
    height: 100%;
}

body.body-index .main_nav .h-contact {
    background-color: #FFCB40;
    border-radius: 50px;
    color: black;
    font-size: 18px;
    font-weight: bold;
    margin-left: auto;
    width: 326px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;

    margin-left: 20px;
}

body.body-index .main_nav .nav-menu {
    height: 64px;
    /*width: 100%;*/
    margin-left: auto;
    justify-content: center;
    align-items: center;
    display: flex;
}

body.body-index .main_nav .nav-menu .nav-item-menu {
    height: 100%;
    cursor: pointer;
}

body.body-index .main_nav .nav-menu .nav-item-menu .text-menu {
    height: 60px;
    justify-content: center;
    align-items: center;
    display: flex;
    font-size: 14px;
    color: #3A3A3A;
    padding-left: 30px;
}

body.body-index .main_nav .nav-menu .nav-item-menu .text-menu:hover {
    color: #144576;
}


body.body-index .main_nav .h-contact a {
    margin-left: auto;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

body.body-index .main_nav .h-contact:hover {
    background-color: #F2D381;
    transform: scale(.97);
}

#main_nav.fixed {
    background-color: #ffffff;
    z-index: 98;
    position: fixed !important;
    animation: menuFixed .3s ease-in;
    padding: 10px 0;
    display: block !important;
}

@keyframes menuFixed {
    from {
        transform: translateY(-100%)
    }
    to {
        transform: translateY(0)
    }
}

@media screen and (max-width: 640px)
{
    body.body-index header
    {
    }
    body.body-index header .header
    {
        margin: 0 auto;
        padding: 10px 12px 0 12px;
        display: flex !important;
    }
    body.body-index header .header .h-logo
    {
        width: 95px;
        height: 40px;
        padding: 2px 14px 2px 0;
    }

    body.body-index header .header .h-dash
    {
        display: none;
    }
    body.body-index header .header h1
    {
        font-size: 10px;
        font-size: 3.125vw;
        line-height: 1.2em;

        float: right;

        width: 50%;
        height: auto;
        padding-left: 0;
    }
    body.body-index header .header h1 br
    {
        display: block;
    }
}
body.body-index main
{
    display: block;
    overflow: hidden;

    background-color: #fff;

}
body.body-index main #floatingBtn
{
    position: fixed;
    top: 30px;
    right: 30px;
    z-index: 10;
    transition-duration: 0.4s;
    opacity: 1;
}
body.body-index main #floatingBtn.hidden
{
    opacity: 0;
    pointer-events: none;
    cursor: default;
}
body.body-index main #floatingBtn .btn-b_wd
{
    width: 200px;
}
body.body-index main .main-visual
{
    position: relative;

    width: 1020px;
    margin: 0 auto;
}
body.body-index main .main-visual:before,
body.body-index main .main-visual:after
{
    display: block;

    content: '';
}
body.body-index main .main-visual:after
{
    clear: both;
}
body.body-index main .main-visual .mv-image
{
    position: absolute;
    left: 8px;
}
body.body-index main .main-visual .text-wrapper
{
    float: right;

    width: 496px;
    margin: 10px 0 20px 0;
    padding-left: 50px;
}
body.body-index main .main-visual .text-wrapper:before
{
    width: 550px;
    height: auto;

    content: '';
}
body.body-index main .main-visual .text-wrapper .t-phrase
{
    font-size: 32px;
    font-weight: bold;
    line-height: 42px;

    letter-spacing: .1em;
}
body.body-index main .main-visual .text-wrapper .t-text
{
    font-size: 15px;
    line-height: 26px;

    margin-top: 30px;

    text-align: justify;
    letter-spacing: .1em;

    padding: 20px 20px 20px 20px;

    background-color: #F7F7F0;
}
body.body-index main .main-visual .text-wrapper .t-text .sp-br
{
    display: none;
}
body.body-index main .button
{
    position: relative;
}

@media screen and (max-width: 640px)
{
    body.body-index main
    {
        margin: 0 8px;
        padding-bottom: 40px;
    }
    body.body-index main #floatingBtn
    {
        display: none;
    }
    body.body-index main .main-visual
    {
        width: 100%;
        height: auto;
    }
    body.body-index main .main-visual .mv-image
    {
        position: relative;
        bottom: 0;
        left: 0;

        display: block;

        width: 77%;
        height: auto;
        margin: 0 auto;
    }
    body.body-index main .main-visual .text-wrapper
    {
        float: none;

        width: 100%;
        margin: 0;
        padding: 0 15px 25px 15px;
    }
    body.body-index main .main-visual .text-wrapper .t-phrase
    {
        font-size: 21px;
        line-height: 26px;

        padding: 19px 0;
    }
    body.body-index main .main-visual .text-wrapper .t-phrase .sp-non-br
    {
        display: none;
    }
    body.body-index main .main-visual .text-wrapper .t-text
    {
        font-size: 13px;
        line-height: 18px;

        margin-top: 0;
    }
    body.body-index main .main-visual .text-wrapper .t-text span
    {
        display: block;

        margin-top: 8px;
    }
    body.body-index main .main-visual .text-wrapper .t-text span:first-child
    {
        margin-top: 0;
    }
    body.body-index main .main-visual .text-wrapper .t-text .sp-br
    {
        display: block;
    }
    body.body-index main .main-visual .text-wrapper .t-text .sp-non-br
    {
        display: none;
    }
}
body.body-index .nav-wrapper
{
    height: 220px;
    margin-top: 10px;

    background-color: #F7F7F0;
}
body.body-index .nav-wrapper nav
{
    position: relative;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 800px;
    margin: 0 auto;
    padding: 30px 0;
}
body.body-index .nav-wrapper nav:before,
body.body-index .nav-wrapper nav:after
{
    display: block;

    content: '';
}
body.body-index .nav-wrapper nav:after
{
    clear: both;
}
body.body-index .nav-wrapper nav .nav-logo
{
    display: block;
    float: left;
}
body.body-index .nav-wrapper nav .nav-logo-sp
{
    display: none;
}
body.body-index .nav-wrapper nav p
{
    font-size: 16px;
    font-weight: bold;
    line-height: 18px;

    position: absolute;
    top: 115px;
    left: 10px;

    width: 140px;

    text-align: center;
    letter-spacing: .06em;

    color: #ffa800;
}
body.body-index .nav-wrapper nav ul
{
    float: left;

    width: calc(100% - 200px);
    margin-left: 3px;
}
body.body-index .nav-wrapper nav ul:before,
body.body-index .nav-wrapper nav ul:after
{
    display: block;

    content: '';
}
body.body-index .nav-wrapper nav ul:after
{
    clear: both;
}
body.body-index .nav-wrapper nav ul li
{
    font-size: 14px;
    font-weight: bold;
    line-height: 28px;

    float: left;

    margin-top: 10px;
    margin-right: 5px;
    margin-left: 5px;
    padding: 4px 13.5px 4px 13.5px;

    letter-spacing: .06em;

    color: #fff;
    border: 1px solid #fff;
}
@media screen and (max-width: 640px)
{
    body.body-index .nav-wrapper
    {
        height: auto;
    }
    body.body-index .nav-wrapper nav
    {
        width: 100%;
        height: auto;
        padding: 30px 0 25px 0;
    }
    body.body-index .nav-wrapper nav .nav-logo
    {
        display: none;
    }
    body.body-index .nav-wrapper nav .nav-logo-sp
    {
        display: block;

        width: 105px;
        height: auto;
        margin: 0 auto;
    }
    body.body-index .nav-wrapper nav p
    {
        font-size: 15px;
        line-height: 19px;

        position: static;

        width: 100%;
        margin: 20px 0 0 0;

        color: #fff;
    }
    body.body-index .nav-wrapper nav p br
    {
        display: none;
    }
    body.body-index .nav-wrapper nav ul
    {
        font-size: 0;

        width: 100%;
        height: auto;
        margin-top: 4px;
        margin-left: 0;
        padding: 0 15px;

        text-align: center;
    }
    body.body-index .nav-wrapper nav ul li
    {
        font-size: 12px;
        line-height: 16px;

        display: inline-block;
        float: none;

        margin-right: 5px;
        margin-left: 5px;
        padding: 5px 6.5px;
    }
}

.circle {
    width: 10px;
    height: 10px;
    border: 2px solid #707070;
    border-radius: 10px;
    float: left;
    margin-right: 20px;
    margin-top: 4px;
}
body.body-index #gcode_coremember
{
    padding-bottom: 10px;

    /*background-color: #F7F7F0;*/
    background-color: #FFFFFF;
}
body.body-index #gcode_coremember .feature-list
{
    width: 1020px;
    margin: 0 auto;
    padding: 10px 0 10px 0;
}

body.body-index #gcode_coremember .service-list {
    padding-top: 10px !important;
}

body.body-index #gcode_coremember .feature-list:before,
body.body-index #gcode_coremember .feature-list:after
{
    display: block;

    content: '';
}
body.body-index #gcode_coremember .feature-list:after
{
    clear: both;
}
body.body-index #gcode_coremember .feature-list > li
{
    font-size: 15px;
    line-height: 20px;

    position: relative;

    float: left;

    /*width: 284px;
    margin-left: 84px;*/
    width: 400px;
    margin-left: 100px;

    text-align: justify;
    letter-spacing: .08em;
}
body.body-index #gcode_coremember .feature-list > li:nth-child(n+4)
{
    margin-top: 70px;
}
body.body-index #gcode_coremember .feature-list > li:nth-child(3n+1)
{
    clear: both;

    margin-left: 0;
}
body.body-index #gcode_coremember ul li .feature-number
{
    font-family: 'Quicksand', sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 50px;

    position: absolute;
    top: -7px;
    left: -2px;

    color: #ff9600;
}
body.body-index #gcode_coremember ul li .f-image
{
    display: block;
}
body.body-index #gcode_coremember ul li .f-image-sp
{
    display: none;
}
body.body-index #gcode_coremember ul li h3
{
    font-size: 22px;
    font-weight: bold;
    line-height: 26px;
    margin: 60px 0 10px;
}
body.body-index #gcode_coremember ul li .feature-caption
{
    margin-bottom: 30px;
    color: #656A6F;
    background-color: #F6F8F9;
    padding: 10px 10px;
    font-size: 14px;
}
body.body-index #gcode_coremember ul li .txtlist
{
    list-style-type: disc;
    list-style-position: inside;
    margin-left: 5px;
    font-weight: 700;
}
@media screen and (max-width: 640px)
{
    body.body-index #features
    {
        padding-bottom: 40px;
    }
    body.body-index #features .feature-list
    {
        overflow: hidden;
        width: 100%;
        height: auto;
        padding: 0;
    }
    body.body-index #features .service-list {
        padding-top: 20px !important;
    }
    body.body-index #features .feature-list > li
    {
        font-size: 13px;
        line-height: 18px;
        float: none;
        width: 100%;
        height: auto;
        margin: 28px 0 0 0;
        padding: 0 20px;
    }
    body.body-index #features .feature-list > li:nth-child(n+4)
    {
        margin-top: 28px;
    }
    body.body-index #features .feature-list > li:nth-child(3n+1)
    {
        margin-left: 0;
    }
    body.body-index #features ul li .feature-number
    {
        font-size: 40px;
        line-height: 40px;

        left: 20px;
    }
    body.body-index #features ul li .f-image
    {
        display: none;
    }
    body.body-index #features ul li .f-image-sp
    {
        display: block;

        width: 209px;
        height: auto;
        margin: 0 auto;
    }
    body.body-index #features ul li h3
    {
        margin: 17px 0 11px 0;
        padding-top: 45px;
    }
    body.body-index #features .form-button
    {
        display: none;
    }
    body.body-index #features .btn-more
    {
        margin-top: 30px;
    }
    body.body-index #features .btn-open
    {
        display: none;
    }
    body.body-index #features .btn-close
    {
        display: block;
    }
    body.body-index #features.close .btn-open
    {
        display: block;
    }
    body.body-index #features.close .btn-close
    {
        display: none;
    }
}
body.body-index #performance
{
    margin-top: 10px;
    padding-bottom: 80px;

    background-color: #fff;
}
body.body-index #performance .pf-contents
{
    position: relative;

    width: 1020px;
    margin: 110px auto 0;
}
body.body-index #performance .pf-contents:before,
body.body-index #performance .pf-contents:after
{
    display: block;

    content: '';
}
body.body-index #performance .pf-contents:after
{
    clear: both;
}
body.body-index #performance .pf-contents:first-of-type
{
    margin-top: 65px;
}
body.body-index #performance .pf-contents .pf-image
{
    box-shadow: rgba(0,0,0,0.1) 0 0 10px 5px;
}
body.body-index #performance .pf-contents .pf-text
{
    position: absolute;
    top: 50%;
    right: 0;

    width: 300px;

    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: left;
}
body.body-index #performance .pf-contents .pf-text h3
{
    font-family: 'Quicksand', sans-serif;
    font-size: 24px/*28px*/;
    font-weight: 700;
    letter-spacing: .02em;
    color: #ff9600;
}
body.body-index #performance .pf-contents .pf-text h4
{
    font-size: 31px;
    font-weight: bold;
    line-height: 38px;

    margin-top: 25px;

    letter-spacing: .06em;
}
body.body-index #performance .pf-contents .pf-text h4 .sp-br
{
    display: none;
}
body.body-index #performance .pf-contents .pf-text > ul
{
    margin-top: 25px;
}
body.body-index #performance .pf-contents .pf-text > ul > li
{
    font-size: 14px;
    line-height: 18px;

    position: relative;

    padding-left: 95px;

    letter-spacing: .06em;

    color: #989898;
}
body.body-index #performance .pf-contents .pf-text > ul > li:last-child
{
    margin-top: 10px;
}
body.body-index #performance .pf-contents .pf-text > ul > li span
{
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;

    position: absolute;
    left: 0;

    color: #000;
}
body.body-index #performance .pf-contents .pf-text > ul > li .pf-link-sp
{
    display: none;
}
body.body-index #performance .pf-contents .pf-text a
{
    text-decoration: underline;

    color: #5e8adb;
}
body.body-index #performance .pf-contents .pf-text p
{
    font-size: 15px;
    line-height: 20px;

    margin-top: 30px;

    text-align: justify;
    letter-spacing: .08em;
}
body.body-index #performance .pf-contents .pf-text div
{
    margin:20px 0 0 20px;
}
body.body-index #performance .pf-contents .pf-text div .txtlist
{
    list-style-type: disc;
    list-style-position: outside;
}
body.body-index #performance .pf-contents .pf-text div .txtlist p
{
    display: inline;
}
body.body-index #performance .pf-contents p.pf-text-link
{
    text-align: center;
}
body.body-index #performance .pf-contents .pf-text .button
{
    width: 100%;
}
body.body-index #performance .pf-contents .pf-text .button p
{
    line-height: 45px;
    text-align: center;
}
body.body-index #performance .pf-contents .pf-text .pf-link
{
    font-size: 1.2em;
    text-align: center;
    margin-left: -20px;
}
body.body-index #performance .pf-contents.img-right
{
    text-align: right;
}
body.body-index #performance .pf-contents.img-right .pf-text
{
    right: auto;
    left: 0;
}
body.body-index #performance #pf-mini-wrapper
{
    width: 1020px;
    margin: 90px auto 0 auto;
}
body.body-index #performance #pf-mini-wrapper:before,
body.body-index #performance #pf-mini-wrapper:after
{
    display: block;

    content: '';
}
body.body-index #performance #pf-mini-wrapper:after
{
    clear: both;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents
{
    float: left;

    width: 495px;
    min-height: 208px;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents:nth-child(odd)
{
    clear: both;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents:nth-child(even)
{
    margin-left: 30px;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents:nth-child(n+3)
{
    margin-top: 65px;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents:nth-child(5)
{
    margin-right: 545px;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents:before,
body.body-index #performance #pf-mini-wrapper .pf-mini-contents:after
{
    display: block;

    content: '';
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents:after
{
    clear: both;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents h4
{
    font-size: 20px;
    font-weight: bold;
    line-height: 26px;
    margin-top: 15px;
    float: right;

    width: 247px;
    letter-spacing: .06em;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents  h4 .pf-ttl
{
    display: inline-block;
    color: #ff9600;
    font-size: 0.8em;
    margin-bottom: 10px;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents .pf-mini-image
{
    float: left;
    box-shadow: rgba(0,0,0,0.1) 0 0 10px 5px;
    margin-top: 10px;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul
{
    float: right;

    width: 247px;
    margin-top: 20px;

    word-break: break-all;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul li
{
    font-size: 12px;
    line-height: 16px;

    position: relative;

    padding-left: 73px;

    letter-spacing: .06em;

    color: #989898;
    margin-top: 14px;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul li:first-child
{
    margin-top: 0;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul li span
{
    display: block;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul li .pf-link-sp
{
    display: none;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul li .pf-list
{
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;

    position: absolute;
    left: 0;

    color: #000;
}
body.body-index #performance #pf-mini-wrapper .is-sp
{
    display: none;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul li a
{
    text-decoration: underline;

    color: #5e8adb;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents .button
{
    width: 100%;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents .button p
{
    line-height: 45px;
    text-align: center;
}
body.body-index #performance #pf-mini-wrapper .pf-mini-contents .button p a
{
    color: #fff;
    text-decoration: none;
}
body.body-index #performance .pf-column
{
    width: 1020px;
    margin: 80px auto 0 auto;

    background-color: #eeedea;
}
body.body-index #performance .pf-column:before,
body.body-index #performance .pf-column:after
{
    display: block;

    content: '';
}
body.body-index #performance .pf-column:after
{
    clear: both;
}
body.body-index #performance .pf-column .pf-column-image
{
    margin: 30px 0 0 55px;
}
body.body-index #performance .pf-column .pf-column-image-sp
{
    display: none;
}
body.body-index #performance .pf-column .pf-column-text
{
    float: right;

    width: 470px;
    margin: 55px 60px 0 0;
}
body.body-index #performance .pf-column .pf-column-text h3
{
    font-family: 'Quicksand', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;

    letter-spacing: .02em;

    color: #ff9600;
}
body.body-index #performance .pf-column .pf-column-text h4
{
    font-size: 20px;
    font-weight: bold;
    line-height: 26px;

    margin-top: 12px;

    letter-spacing: .06em;
}
body.body-index #performance .pf-column .pf-column-text .pf-column-text_p
{
    font-size: 15px;
    line-height: 20px;

    margin-top: 12px;

    text-align: justify;
    letter-spacing: .06em;
}
body.body-index #performance .pf-column .pf-column-text .pf-column-text_p .pc-none-text
{
    display: none;
}
@media screen and (max-width: 640px)
{
    body.body-index #performance
    {
        padding-bottom: 40px;
    }
    body.body-index #performance .pf-contents
    {
        width: 100%;
        height: auto;
        margin-top: 0;
        padding: 30px 20px 15px;
    }
    body.body-index #performance .pf-contents:first-of-type
    {
        margin-top: 0;
    }
    body.body-index #performance .pf-contents .pf-image
    {
        margin: 0;
    }
    body.body-index #performance .pf-contents .pf-text
    {
        position: static;

        width: 100%;
        height: auto;
        margin: 20px 0 0 0;
        padding: 0 5px;

        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
    body.body-index #performance .pf-contents .pf-text h3
    {
        font-size: 19px;
        line-height: 19px;
    }
    body.body-index #performance .pf-contents .pf-text h4
    {
        font-size: 19px;
        line-height: 24px;

        margin-top: 8px;
    }
    body.body-index #performance .pf-contents .pf-text h4 .sp-non-br
    {
        display: none;
    }
    body.body-index #performance .pf-contents .pf-text h4 .sp-br
    {
        display: block;
    }
    body.body-index #performance .pf-contents .pf-text > ul
    {
        margin-top: 16px;
    }
    body.body-index #performance .pf-contents .pf-text > ul > li
    {
        font-size: 12px;
        line-height: 16px;

        padding-left: 86px;
    }
    body.body-index #performance .pf-contents .pf-text > ul > li > span
    {
        font-size: 14px;
    }
    body.body-index #performance .pf-contents .pf-text > ul > li:last-child
    {
        margin-top: 14px;
    }
    body.body-index #performance .pf-contents .pf-text > ul > li .pf-link-pc
    {
        display: none;
    }
    body.body-index #performance .pf-contents .pf-text > ul > li .pf-link-sp
    {
        display: block;
    }
    body.body-index #performance .pf-contents .pf-text p
    {
        font-size: 13px;
        line-height: 18px;

        margin-top: 15px;

        text-align: justify;
        letter-spacing: .04em;
    }
    body.body-index #performance .pf-contents p.pf-text-link
    {
        margin-top: 22px;
        text-align: center;
    }
    body.body-index #performance .pf-contents.img-right
    {
        text-align: center;
    }
    body.body-index #performance .pf-contents .image-right
    {
        float: none;

        margin-right: 0;
    }
    body.body-index #performance #pf-mini-wrapper
    {
        width: 100%;
        height: auto;
        margin-top: 30px;
        padding: 0 20px;
    }
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents
    {
        float: none;

        width: 100%;
        height: auto;
        margin: 40px auto 0;
    }
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents:first-child
    {
        margin-top: 0;
    }
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents:nth-child(even)
    {
        margin-left: 0;
    }
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents:nth-child(n+3)
    {
        margin-top: 40px;
    }
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents h4
    {
        line-height: 19px;

        float: none;

        width: 100%;
        margin-top: 0;
        padding-bottom: 20px;
    }
}
@media screen and (max-width: 640px) and (max-width: 640px)
{
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents h4
    {
        padding-bottom: 15px;
    }
}
@media screen and (max-width: 640px)
{
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents h4 > span
    {
        font-size: 15px;
        line-height: 19px;

        display: inline-block;
    }
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents h4 > .sp-non-br
    {
        display: none;
    }
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents .pf-mini-image
    {
        width: 42.86%;
        height: auto;
        margin: 0;
    }
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul
    {
        float: left;

        width: 50%;
        margin-top: 0;
        margin-left: 20px;
    }
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul li
    {
        line-height: 16px;

        padding-left: 0;
    }
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul li .pf-list
    {
        font-size: 12px;
        position: static;
        padding-bottom: 10px;
        letter-spacing: .06em;
    }
}
@media screen and (max-width: 640px) and (max-width: 640px)
{
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul li .pf-list
    {
        font-size: 13px;

        padding-bottom: 3px;
    }
}
@media screen and (max-width: 640px)
{
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul li .pf-link-pc
    {
        display: none;
    }
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents ul li .pf-link-sp
    {
        display: block;
    }
    body.body-index #performance #pf-mini-wrapper .pf-mini-contents .is-sp
    {
        display: block;
    }
    body.body-index #performance #pf-mini-wrapper .button
    {
        margin-top: 42%;
    }
    body.body-index #performance #pf-mini-wrapper .is-pc
    {
        display: none;
    }
    body.body-index #performance .pf-column
    {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        height: auto;
        margin: 40px 0 0 0;
        padding-bottom: 30px;

        border-right: 20px solid #fff;
        border-left: 20px solid #fff;
    }
    body.body-index #performance .pf-column .pf-column-image
    {
        display: none;
    }
    body.body-index #performance .pf-column .pf-column-image-sp
    {
        display: block;

        width: 100%;
        height: auto;
        margin: 0 auto;
        padding: 1px;
    }
    body.body-index #performance .pf-column .pf-column-text
    {
        float: none;

        width: 100%;
        height: auto;
        margin: 30px 0 0 0;
        padding: 0 20px;
    }
    body.body-index #performance .pf-column .pf-column-text h3
    {
        font-size: 19px;
        line-height: 19px;
    }
    body.body-index #performance .pf-column .pf-column-text h4
    {
        font-size: 15px;
        line-height: 19px;
    }
    body.body-index #performance .pf-column .pf-column-text .pf-column-text_p
    {
        font-size: 13px;
        line-height: 18px;

        margin-top: 10px;

        text-align: inherit;
        letter-spacing: .08em;
    }
    body.body-index #performance .pf-column .pf-column-text .pf-column-text_p .sp-non-br
    {
        display: none;
    }
    body.body-index #performance .pf-column .pf-column-text .pf-column-text_p .sp-none-text
    {
        display: none;
    }
    body.body-index #performance .pf-column .pf-column-text .pf-column-text_p .pc-none-text
    {
        display: inline;
    }
}
body.body-index .pf-announce
{
    height: 359px;
    color: #fff;
    background-color: #272727;
}

body.body-index .pf-announce h1
{
    font-size: 24px;
    font-family: 'Quicksand', sans-serif;
    color: #ff9600;
    letter-spacing: .07em;
    font-weight: 600;
}

body.body-index .announce-wrapper
{
    overflow: hidden;
    width: 100%;
    margin-top: 10px;
    background-color: #fff;
}


body.body-index .announce-right
{
    float: right;
    width: 51%;
    background-image: url("../images/");
    background-position: 9px;
    background-color: #fff;
}


body.body-index .announce-right-sp
{
    display:none;
}

body.body-index .announce-left
{
    /*display: table-cell;*/
    float:left;
    width: 49%;
    position: relative;
}

body.body-index .announce-left-contents
{
    position: absolute;
    right: 0px;
    top: 75px;
    width: 485px;
}



body.body-index .pf-announce .pf-announce_p
{
    font-size: 24px;
    font-weight: bold;
    line-height: 28px;

    padding-top: 20px;
    letter-spacing: .06em;
}
body.body-index .pf-announce .pf-announce_p br
{
    /*    display: none;*/
}
body.body-index .pf-announce .m-btn_noshadow p
{
    -webkit-box-shadow: 0 0 0 0;
    box-shadow: 0 0 0 0;
}
@media screen and (max-width: 640px)
{
    body.body-index .announce-wrapper
    {width: 100%;
        margin-top: 10px;
        height: auto;
    }

    body.body-index .announce-right
    {
        display:none;
        float:none;
    }

    body.body-index .announce-right-sp
    {
        display:block;
        width: 100%;
    }

    body.body-index .announce-left
    {
        width: 100%;
        float:none;
    }

    body.body-index .announce-left-contents
    {display:block;
        position: static;
        width: 100%;
    }

    body.body-index .pf-announce h1
    {
        font-size: 20px;
        font-family: 'Quicksand', sans-serif;
        color: #ff9600;
        letter-spacing: .06em;
        font-weight: 600;
        text-align:center;
        padding-top: 40px;
    }
    body.body-index .pf-announce
    {
        width: 100%;
        padding-bottom: 5px;
        height: auto;
    }

    body.body-index .pf-announce .pf-announce_p
    {
        font-size: 16px;
        font-weight: bold;
        line-height: 21px;
        padding: 22px 0 22px 0;
        letter-spacing: .06em;
        text-align: center;
    }
    body.body-index .pf-announce .pf-announce_p br
    {
        display: inline;
    }
}
body.body-index #question
{
    padding-bottom: 80px;
    margin-top: 10px;
    background-color: #fff;
}
@media screen and (max-width: 640px)
{
    body.body-index #question
    {
        padding-bottom: 40px;
        margin-top: 10px;
    }
}
body.body-index .q-module
{
    width: 700px;
    margin: 55px auto 0;
    padding-left: 60px;

    letter-spacing: .08em;

    background-image: url('');
}

body.body-index .q-module:before,
body.body-index .q-module:after
{
    display: block;

    content: '';
}
body.body-index .q-module:after
{
    clear: both;
}
body.body-index .q-module img
{
    position: relative;

    float: left;
}
body.body-index .q-module .q-title
{
    font-size: 20px;
    font-weight: bold;
    line-height: 20px;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 10px;
    padding-bottom: 25px;
}
body.body-index .q-module .q-article
{
    position: relative;

    padding: 24px;

    text-align: justify;

    background-color: #F7F7F0;
}
body.body-index .q-module .q-article .a-h4
{
    font-size: 17px;
    font-weight: bold;
    line-height: 20px;
}
body.body-index .q-module .q-article p
{
    font-size: 15px;
    line-height: 20px;

    margin-top: 12px;
}
body.body-index .m-q-module2
{
    background-image: url('');
}
body.body-index .m-q-module2 .q-title
{
    padding-top: 0;
}
@media screen and (max-width: 640px)
{
    body.body-index .q-module
    {
        position: relative;
        width: 100%;
        margin: 25px auto 0;
        padding: 0 20px;
        background-repeat: repeat-y;
        background-position: 32.5px 92px;
        background-size: 3px;
        display: grid;

    }
    body.body-index .q-module:last-of-type
    {
        background-image: url('');
    }
    body.body-index .q-module .q-title
    {
        font-size: 15px;

        position: relative;

        padding-top: 0;
        padding-bottom: 15px;
        padding-left: 20px;

        background-image: url('');
        background-position: 0 0;
        background-size: 28px;
    }
    body.body-index .q-module .q-article
    {
        font-size: 15px;

        margin: 0;
        padding: 20px;
    }
    body.body-index .q-module .q-article .a-h4
    {
        font-size: 15px;
    }
    body.body-index .q-module .q-article p
    {
        font-size: 13px;
    }
}
body.body-index .u_fix
{
    display: none;
}
@media screen and (max-width: 640px)
{
    body.body-index .u_fix
    {
        position: fixed;
        z-index: 9999;
        bottom: 0;

        display: block;

        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        height: 60px;
        padding-top: 10px;

        -webkit-transition: all .3s;
        transition: all .3s;
        -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
        transform: translateY(100%);

        background-color: #eeedea;
    }
    body.body-index .u_fix.is_show
    {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}
body.body-index .q-root
{
    margin-top: 10px;

    color: #fff;
    background-color: #4CA7C9;
}
body.body-index .q-root .q-wrapper
{
    position: relative;

    width: 1020px;
    margin: 0 auto;
    padding: 0px 0px 30px 0px;
    justify-content: center;
    display: flex;
}
body.body-index .q-root .q-wrapper:before,
body.body-index .q-root .q-wrapper:after
{
    display: block;

    content: '';
}
body.body-index .q-root .q-wrapper:after
{
    clear: both;
}
body.body-index .q-root .q-wrapper .q-icon
{
    display: inline-block;
    float: left;

    margin-right: 45px;
}
body.body-index .q-root .q-wrapper h5
{
    font-size: 20px;
    font-weight: bold;
    line-height: 28px;

    position: absolute;
    top: 95px;
    left: 17px;

    text-align: center;
    letter-spacing: .05em;

    color: #ff9600;
}
body.body-index .q-root .q-wrapper .q-stage
{
    font-size: 19px;
    font-weight: bold;
    line-height: 22px;

    float: left;

    width: 303px;
    margin-top: 19px;
    padding-right: 63px;

    text-align: justify;
    letter-spacing: .06em;
    word-break: break-all;
}
body.body-index .q-root .q-wrapper .q-stage:last-child
{
    width: 224px;
    padding-right: 0;
}
body.body-index .q-root .q-wrapper .q-stage p
{
    font-size: 15px;
    font-weight: normal;
    line-height: 20px;

    padding-top: 10px;

    letter-spacing: .08em;
}
body.body-index .q-root .q-wrapper .arrow1
{
    background-image: url('../images/arrow.png');
    background-position: 125px 6px;
}
body.body-index .q-root .q-wrapper .arrow2
{
    background-image: url('../images/arrow.png');
    background-position: 165px 6px;
    width: 323px !important;
}

body.body-index .q-root .q-wrapper .q-stage-sp {
    display: none;
}
@media screen and (max-width: 640px)
{
    body.body-index .q-root
    {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        height: auto;
        padding: 0px 20px 0 20px;
        margin-left: 8px;
        margin-right: 8px;
    }
    body.body-index .q-root .q-wrapper
    {
        width: 100%;
        padding-top: 20px;
        display: block;
    }
    body.body-index .q-root .q-wrapper .q-icon
    {
        display: none;
    }
    body.body-index .q-root .q-wrapper h5
    {
        font-size: 24px;

        position: static;

        margin-bottom: 22px;

        color: #fff;
    }
    body.body-index .q-root .q-wrapper h5 br
    {
        display: none;
    }
    body.body-index .q-root .q-wrapper .q-stage
    {
        font-size: 15px;
        font-weight: bold;
        line-height: 19px;

        position: relative;

        float: none;

        width: 100%;
        margin: 0;
        padding: 4px 0 21px 35px;

        background-image: url('');
        background-position: 0 0;
        background-size: 28px;
    }
    body.body-index .q-root .q-wrapper .q-stage:last-child
    {
        width: auto;
        padding-bottom: 38px;
    }
    body.body-index .q-root .q-wrapper .q-stage p
    {
        font-size: 13px;
        line-height: 18px;

        margin-top: 10px;
        padding-top: 0;
    }
    body.body-index .q-root .q-wrapper .q-icon_1:before
    {
        font-size: 18px;

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

        width: 28px;
        height: 28px;

        content: '1';
        text-align: center;

        color: #ffa800;
    }
    body.body-index .q-root .q-wrapper .q-icon_2:before
    {
        font-size: 18px;

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

        width: 28px;
        height: 28px;

        content: '2';
        text-align: center;

        color: #ffa800;
    }
    body.body-index .q-root .q-wrapper .q-icon_3:before
    {
        font-size: 18px;

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

        width: 28px;
        height: 28px;

        content: '3';
        text-align: center;

        color: #ffa800;
    }

    body.body-index .q-root .q-wrapper .arrow2 {
        width: 100% !important;
    }

    body.body-index .q-root .q-wrapper .q-stage-sp {
        justify-content: center;
        align-items: center;
        display: flex;
    }

    body.body-index .q-root .q-wrapper .q-stage-sp .mv-image{
        width: 90px;
    }
}
body.body-index #contact
{
    margin-top: 10px;
    padding-bottom: 80px;

    background-color: #fff;
}
body.body-index #contact .co-wrapper
{
    width: 600px;
}
body.body-index .co-wrapper
{
    width: 1024px;
    margin: 0 auto;
}
body.body-index  .co-wrapper .co-form .contact-image
{
    display: block;

    width: 116px;
    margin: 25px auto 0 auto;
    padding-bottom: 20px;
}
body.body-index  .co-wrapper .co-form .co-text
{
    font-size: 15px;
    line-height: 20px;

    text-align: left;
    letter-spacing: .08em;
}
body.body-index  .co-wrapper .co-form .co-text .form_add_text
{
    font-size: 12px;
    line-height: 16px;
}
body.body-index  .co-wrapper .co-form .co-text .sp-br
{
    display: none;
}
@media screen and (min-width: 641px)
{
    body.body-index  .co-wrapper .formArea
    {
        margin-top: 10px;
    }
    body.body-index  .co-wrapper .formArea .error
    {
        font-size: 15px;

        text-align: center;

        color: #db1111;
    }
    body.body-index  .co-wrapper .formArea dl
    {
        font-size: 15px;
        line-height: 20px;

        width: 100%;
        margin-top: 15px;
    }
    body.body-index  .co-wrapper .formAreaMain dl
    {
        width: 49%;
        display: inline-block;
    }
    body.body-index  .co-wrapper .formArea dl:before,
    body.body-index  .co-wrapper .formArea dl:after
    {
        display: block;

        content: '';
    }
    body.body-index  .co-wrapper .formArea dl:after
    {
        clear: both;
    }
    body.body-index  .co-wrapper .formArea dl dt
    {
        float: left;
        clear: both;

        width: 128px;
        margin-top: 20px;

        text-align: right;
    }
    body.body-index  .co-wrapper .formArea dl dt:first-of-type
    {
        margin-top: 0;
    }
    body.body-index  .co-wrapper .formArea dl dt .item
    {
        font-weight: bold;

        display: block;
    }
    body.body-index  .co-wrapper .formArea dl dt .must
    {
        font-size: 12px;

        display: block;

        color: #db1111;
    }
    body.body-index  .co-wrapper .formArea dl .co-dt-vertical
    {
        margin-bottom: 10px;
        text-align: left;
    }
    body.body-index  .co-wrapper .formArea dl .co-dd-vertical
    {
        margin-left: 0;
    }
    body.body-index .co-wrapper .formArea dl dd
    {
        float: left;
        margin-top: 20px;
        margin-left: 18px;
        width: 878px;
    }
    body.body-index #contact .co-wrapper .formArea dl dd
    {
        width: 430px;
    }
    body.body-index  .co-wrapper .formArea dl dd:first-of-type
    {
        margin-top: 0;
    }
    body.body-index  .co-wrapper .formArea dl dd.interest div
    {
        position: relative;

        margin-top: 10px;
        padding-left: 30px;
    }
    body.body-index  .co-wrapper .formArea dl dd.interest div:first-child
    {
        margin-top: 0;
    }
    body.body-index  .co-wrapper .formArea dl dd.interest div input
    {
        position: absolute;
        top: 2px;
        left: 5px;

        width: 16px;
        height: 16px;
    }
    body.body-index  .co-wrapper .formArea input[type=text],
    body.body-index  .co-wrapper .formArea input[type=email],
    body.body-index  .co-wrapper .formArea input[type=tel]
    {
        width: 320px;
        height: 50px;
        padding: 8px 15px;
        background-color: #ffffff;
        border: 1px solid #e0e0e0;
        border-radius: 2px;
    }
    body.body-index  .co-wrapper .formArea textarea
    {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        width: 878px;
        height: 350px;
        padding: 15px;

        background-color: #ffffff;
        border: 1px solid #e0e0e0;
        border-radius: 2px;
    }
    body.body-index #contact .co-wrapper .formArea textarea
    {
        height: 248px;
    }
    body.body-index  .co-wrapper .formArea textarea::-webkit-input-placeholder
    {
        line-height: 20px;
    }
    body.body-index  .co-wrapper .formArea textarea:-moz-placeholder
    {
        line-height: 20px;
    }
    body.body-index  .co-wrapper .formArea textarea::-moz-placeholder
    {
        line-height: 20px;
    }
    body.body-index  .co-wrapper .formArea textarea:-ms-input-placeholder
    {
        line-height: 20px;
    }
    body.body-index  .co-wrapper .formArea .button
    {
        margin-top: 40px;
    }
}
@media screen and (max-width: 640px)
{
    body.body-index  .co-wrapper .formArea
    {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        margin-top: 30px;
        padding: 0 20px;
    }
    body.body-index  .co-wrapper .formArea .error
    {
        font-size: 15px;

        color: #db1111;
    }
    body.body-index  .co-wrapper .formArea dl
    {
        font-size: 15px;

        margin-top: 10px;
    }
    body.body-index  .co-wrapper .formArea dl dt
    {
        margin-top: 20px;
    }
    body.body-index  .co-wrapper .formArea dl dt:first-child
    {
        margin-top: 0;
    }
    body.body-index  .co-wrapper .formArea dl dt .item
    {
        font-weight: bold;
        line-height: 19px;

        display: inline-block;

        vertical-align: top;
    }
    body.body-index  .co-wrapper .formArea dl dt .must
    {
        font-size: 12px;
        line-height: 19px;

        display: inline-block;

        margin-left: 5px;

        vertical-align: top;

        color: #db1111;
    }
    body.body-index  .co-wrapper .formArea dl dd
    {
        margin-top: 5px;
    }
    body.body-index  .co-wrapper .formArea dl dd.interest
    {
        margin-top: 0;
    }
    body.body-index  .co-wrapper .formArea dl dd.interest div
    {
        margin-top: 15px;
    }
    body.body-index  .co-wrapper .formArea dl dd.interest div label
    {
        font-size: 13px;
        line-height: 18px;

        position: relative;

        display: block;

        height: 18px;
        padding-left: 25px;
    }
    body.body-index  .co-wrapper .formArea dl dd.interest div label input[type=radio]
    {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;

        width: 16px;
        height: 16px;
        margin-top: auto;
        margin-bottom: auto;

        border-width: 1px;
    }
    body.body-index  .co-wrapper .formArea input[type=text],
    body.body-index  .co-wrapper .formArea input[type=email],
    body.body-index  .co-wrapper .formArea input[type=tel]
    {
        line-height: 15px;

        width: 100%;
        padding: 10px;

        background-color: #ffffff
        border: 1px solid #e0e0e0;
        border-radius: 2px;;
    }
    body.body-index  .co-wrapper .formArea textarea
    {
        font-size: 13px;

        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        height: 160px;
        padding: 15px;

        background-color: #ffffff;
        border: 1px solid #e0e0e0;
        border-radius: 2px;
    }
    body.body-index  .co-wrapper .formArea .button
    {
        margin-top: 30px;
    }
}
body.body-index  .co-wrapper .co-number
{
    padding-top: 120px;
}
body.body-index  .co-wrapper .co-number:before,
body.body-index  .co-wrapper .co-number:after
{
    display: block;

    content: '';
}
body.body-index  .co-wrapper .co-number:after
{
    clear: both;
}
body.body-index  .co-wrapper .co-number .co-image-lady
{
    float: left;

    width: 125px;
    height: auto;
    margin-left: 40px;
}
body.body-index  .co-wrapper .co-number .co-number-text
{
    float: left;

    margin-left: 25px;
}
body.body-index  .co-wrapper .co-number .co-number-text p
{
    font-size: 20px;
    font-weight: bold;

    letter-spacing: .06em;
}
body.body-index  .co-wrapper .co-number .co-number-text p span
{
    font-family: 'Quicksand', sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 36px;

    display: block;

    margin-top: 10px;

    color: #ff9600;
}
body.body-index  .co-wrapper .co-number .co-number-text ul
{
    margin-top: 15px;
}
body.body-index  .co-wrapper .co-number .co-number-text ul li
{
    font-size: 14px;
    line-height: 18px;

    position: relative;

    margin-top: 10px;
    padding-left: 75px;

    letter-spacing: .06em;

    color: #989898;
}
body.body-index  .co-wrapper .co-number .co-number-text ul li:first-child
{
    margin-top: 0;
}
body.body-index  .co-wrapper .co-number .co-number-text ul li span
{
    font-weight: bold;

    position: absolute;
    left: 0;

    color: #000;
}
body.body-index  .co-wrapper .co-number .co-number-text ul li br
{
    display: none;
}
body.body-index #contact .roll-up-btn
{
    position: relative;
}
body.body-index #contact .roll-up-btn > a
{
    position: absolute;
    top: 25px;
    right: 140px;
}
body.body-index #contact .roll-up-btn .roll-up-text
{
    font-family: 'Quicksand', sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 17px;

    position: absolute;
    top: 47px;
    right: 0;
    left: 0;

    margin: 0 auto;

    text-align: center;
    letter-spacing: .08em;

    color: #fff;
}

input[type='radio']:after {
    background-color: #d1d3d1;
    content: '';
}

.contact-detail {
    width: 100% !important;
}

@media screen and (max-width: 640px)
{
    body.body-index #contact
    {
        padding-bottom: 60px;
    }
    body.body-index  .co-wrapper
    {
        width: 100%;
    }
    body.body-index  #contact  .co-wrapper
    {
        width: 100%;
    }
    body.body-index  .co-wrapper .co-form .contact-image
    {
        width: auto;
        height: 100px;
        margin-top: 20px;
        padding-bottom: 0;
    }
    body.body-index  .co-wrapper .co-form .co-text
    {
        font-size: 13px;
        line-height: 18px;

        margin-top: 14px;
        padding: 0 30px;
    }
    body.body-index  .co-wrapper .co-form .co-text .sp-br
    {
        display: block;
    }
    body.body-index  .co-wrapper .co-number
    {
        position: relative;

        margin: 0 auto;
        padding: 60px 20px 0 20px;
    }
    body.body-index  .co-wrapper .co-number .co-image-lady_sp
    {
        position: absolute;
        right: 20px;
        bottom: 5px;

        width: 84px;
        height: auto;
        margin-left: 0;

        -webkit-transform: scale(-1, 1);
        -ms-transform: scale(-1, 1);
        transform: scale(-1, 1);
    }
    body.body-index  .co-wrapper .co-number .co-number-text
    {
        float: none;

        margin-left: 0;
    }
    body.body-index  .co-wrapper .co-number .co-number-text p
    {
        font-size: 14px;

        position: relative;
    }
    body.body-index  .co-wrapper .co-number .co-number-text p span
    {
        font-size: 28px;

        letter-spacing: 0;
    }
    body.body-index  .co-wrapper .co-number .co-number-text ul
    {
        margin-top: 10px;
    }
    body.body-index  .co-wrapper .co-number .co-number-text ul li
    {
        font-size: 12px;

        margin-top: 7px;
        padding-left: 65px;
    }
    body.body-index  .co-wrapper .co-number .co-number-text ul li br
    {
        display: block;
    }
    body.body-index #contact .roll-up-btn > a
    {
        top: 30px;
        right: 20px;
    }
    body.body-index #contact .roll-up-btn .roll-up-image
    {
        width: 63px;
        height: auto;
    }
    body.body-index #contact .roll-up-btn .roll-up-text
    {
        font-size: 13px;
        line-height: 14px;

        top: 32px;

        letter-spacing: .08em;
    }
}
@media screen and (max-width: 640px)
{
    body.body-index .m-btn_dis_none_sp
    {
        display: none;
    }
}
body.body-index .m-btn_pick
{
    width: 198px;
    margin: 15px 0 0 0;
}
@media screen and (max-width: 640px)
{
    body.body-index .m-btn_pick
    {
        width: 85%;
        margin: 18px auto 0;
    }
}
body.body-index .m-btn_pick p
{
    font-size: 13px;
    font-weight: 500;

    margin: 0;
}
body.body-index .m-btn_pick p a
{
    line-height: 33px;

    padding-right: 11px;
}
@media screen and (max-width: 640px)
{
    body.body-index .m-btn_pick p a
    {
        line-height: 40px;
    }
}
body.body-index .m-btn_pick p a:after
{
    top: 5.5px;
}
@media screen and (max-width: 640px)
{
    body.body-index .m-btn_pick p a:after
    {
        top: 9px;
        right: 8px;
    }
}
body.body-index .pf-link:hover,
body.body-index .pf-link-pc:hover,
body.body-index .pf-link-sp:hover
{
    opacity: .5;
}

@media screen and (max-width: 640px)
{
    body.body-index
    {
        min-width: 320px;
        /*padding: 8px 0 0 0;*/
    }
}
.display_n-b
{
    display: none;
}
@media screen and (max-width: 640px)
{
    .display_n-b
    {
        display: block;
    }
}

.display_b-n
{
    display: block;
}
@media screen and (max-width: 640px)
{
    .display_b-n
    {
        display: none;
    }
}

.button
{
    -webkit-transition: all .15s;
    transition: all .15s;
}
.button:hover
{
    -webkit-transform: scale(.97);
    -ms-transform: scale(.97);
    transform: scale(.97);
}
.button p
{
    -webkit-transition: all .15s;
    transition: all .15s;
}

body.body-index #contact .roll-up-btn > a .roll-up-image
{
    -webkit-transition: all .3s;
    transition: all .3s;
}
body.body-index #contact .roll-up-btn > a:hover .roll-up-image
{
    top: 25px;

    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
}
@media screen and (max-width: 640px)
{
    body.body-index #contact .roll-up-btn > a:hover .roll-up-image
    {
        top: 50px;
    }
}

body.body-confirm
{
    font-size: 15px;

    position: relative;

    width: 100%;
}
@media screen and (max-width: 640px)
{
    body.body-confirm
    {
        min-width: 320px;
    }
}
body.body-confirm .h3-confirm
{
    font-size: 26px;
    font-weight: medium;
    line-height: 36px;

    padding-top: 118px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    body.body-confirm .h3-confirm
    {
        font-size: 14px;
        line-height: 18px;

        padding-top: 45px;
    }
}
body.body-confirm table
{
    width: 721px;
    margin: 78px auto 0;

    border-collapse: collapse;

    border: 1px solid #eeedea;
}
body.body-confirm table tr
{
    font-size: 18px;
    font-weight: medium;
    line-height: 30px;

    border-collapse: collapse;

    border: 1px solid #eeedea;
}
body.body-confirm table tr:nth-child(odd)
{
    height: 50px;

    background-color: #eeedea;
}
body.body-confirm table tr td
{
    padding: 10px 20px;
}
body.body-confirm table tr td p
{
    position: relative;

    min-height: 30px;
    margin-right: auto;

    word-break: break-all;
}
body.body-confirm table tr td p.need
{
    display: inline-block;
}
body.body-confirm table tr:nth-child(even) td
{
    padding: 15px 20px;
}
@media screen and (max-width: 640px)
{
    body.body-confirm table
    {
        width: 100%;
        margin-top: 0;
    }
    body.body-confirm table tr
    {
        font-size: 13px;
        line-height: 15.5px;

        height: 40px;
    }
    body.body-confirm table tr:nth-child(odd)
    {
        height: 35px;
    }
    body.body-confirm table tr td
    {
        padding: 10px 15px;
    }
    body.body-confirm table tr td p
    {
        min-height: 15px;
    }
}
body.body-confirm .add
{
    height: 52px;
}
body.body-confirm .add:after
{
    font-size: 14px;
    font-weight: medium;
    line-height: 20px;

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

    width: 300px;

    content: '※お急ぎの場合はその旨をご記載ください。';

    color: #848484;
}
@media screen and (max-width: 640px)
{
    body.body-confirm .add
    {
        height: 31px;
    }
    body.body-confirm .add:after
    {
        font-size: 10px;
        font-weight: medium;

        top: 16px;

        width: 200px;

        color: #848484;
    }
}
body.body-confirm .need:after
{
    font-size: 14px;
    font-weight: medium;
    line-height: 30px;

    position: absolute;
    top: 0;
    right: -43px;

    content: '必須';

    color: #db1111;
}
@media screen and (max-width: 640px)
{
    body.body-confirm .need:after
    {
        font-size: 11px;
        line-height: 15px;

        top: 0;
        right: -30px;
        bottom: 0;

        margin: auto;
    }
}
body.body-confirm .btn-wrapper
{
    width: 721px;
    margin: 50px auto 0;
}
body.body-confirm .btn-wrapper:before,
body.body-confirm .btn-wrapper:after
{
    display: block;

    content: '';
}
body.body-confirm .btn-wrapper:after
{
    clear: both;
}
body.body-confirm .btn-wrapper .m-btn_submit
{
    float: right;

    width: 377px;
}
body.body-confirm .btn-wrapper .m-btn_submit a
{
    line-height: 45px;
}
body.body-confirm .btn-wrapper .m-btn_submit .pc_dis_none
{
    display: none;
}
@media screen and (max-width: 640px)
{
    body.body-confirm .btn-wrapper
    {
        width: 100%;
        padding: 0 20px;
    }
    body.body-confirm .btn-wrapper .m-btn_submit
    {
        width: 50%;
    }
    body.body-confirm .btn-wrapper .m-btn_submit a
    {
        line-height: 40px;
    }
    body.body-confirm .btn-wrapper .m-btn_submit .pc_dis_none
    {
        display: block;
    }
    body.body-confirm .btn-wrapper .m-btn_submit .sp_dis_none
    {
        display: none;
    }
}
body.body-confirm .m-footer_confirm
{
    width: 100%;
    min-width: 721px;
    margin-top: 100px;
    padding-bottom: 15px;

    text-align: left;

    background-color: #eeedea;
}
@media screen and (max-width: 640px)
{
    body.body-confirm .m-footer_confirm
    {
        min-width: 0;
        margin-top: 51px;
    }
}
@media screen and (max-width: 640px)
{
    body.body-confirm .table_wrapper
    {
        margin: 30px auto 0;
        padding: 0 20px;
    }
}

body.body-complete
{
    font-size: 15px;

    position: relative;

    width: 100%;
    height: 100vh;
    min-height: 800px;

    text-align: center;
}
@media screen and (max-width: 640px)
{
    body.body-complete
    {
        min-width: 320px;
        min-height: 1070px;
    }
}
body.body-complete .h3-complete
{
    font-size: 26px;
    font-weight: bold;
    line-height: 36px;

    padding-top: 170px;

    color: #434343;
}
@media screen and (max-width: 640px)
{
    body.body-complete .h3-complete
    {
        font-size: 14px;
        line-height: 18px;

        padding-top: 72px;
    }
}
body.body-index .p-complete
{
    font-size: 18px;
    font-weight: medium;
    line-height: 30px;

    margin-bottom: 40px;

    color: #434343;
    text-align: center;
}
@media screen and (max-width: 640px)
{
    body.body-index .p-complete
    {
        font-size: 14px;
        line-height: 18px;

        margin-bottom: 20px;
    }
}
body.body-complete .m-mt50
{
    margin-top: 50px;
    margin-bottom: 20px;
}
body.body-complete .m-footer_complete
{
    bottom: 0;

    width: 100%;
    padding-bottom: 15px;

    text-align: left;

    background-color: #eeedea;
}
@media screen and (max-width: 640px)
{
    body.body-complete .m-footer_complete
    {
        margin-top: 86px;
    }
}
body.body-index .br-sp
{
    display: none;
}
@media screen and (max-width: 640px)
{
    body.body-index .br-sp
    {
        display: inline;
    }
}
body.body-complete .btn-b_wr
{
    width: 376px;
}
@media screen and (max-width: 640px)
{
    body.body-complete .btn-b_wr
    {
        width: 250px;
    }
}
