/*
10px	0.625rem
11px	0.6875rem
12px	0.75rem
13px	0.8125rem
14px	0.875rem
15px	0.9375rem
16px	1rem
17px	1.0625rem
18px	1.125rem
19px	1.1875rem
20px	1.25rem
21px	1.3125rem
22px	1.375rem
23px	1.4375rem
24px	1.5rem
25px	1.5625rem
26px	1.625rem
27px	1.6875rem
28px	1.75rem
29px	1.8125rem
30px	1.875rem
31px	1.9375rem
32px	2rem
33px	2.0625rem
34px	2.125rem
35px	2.1875rem
36px	2.25rem
37px	2.3125rem
38px	2.375rem
39px	2.4375rem
40px	2.5rem
41px	2.5625rem
42px	2.625rem
43px	2.6875rem
44px	2.75rem
45px	2.8125rem
46px	2.875rem
47px	2.9375rem
48px	3rem
49px	3.0625rem
50px	3.125rem
51px	3.1875rem
52px	3.25rem
53px	3.3125rem
54px	3.375rem
55px	3.4375rem
56px	3.5rem
57px	3.5625rem
58px	3.625rem
59px	3.6875rem
60px	3.75rem
61px	3.8125rem
62px	3.875rem
63px	3.9375rem
64px	4rem
70px = 4.375rem
80px = 5rem
90px = 5.625rem
100px = 6.25rem
107px = 6.688rem
120px = 7.5rem
166px = 10.38rem
https://daniellamb.com/experiments/px-to-rem-calc/
*/
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

html {
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    overflow-x: hidden;
}

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

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

figcaption,
figure,
main {
    display: block;
}

figure {
    margin: 1em 40px;
}


hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

pre {
    font-family: monospace, monospace;
    font-size: 1em;
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}

b,
strong {
    font-weight: inherit;
}

b,
strong {
    font-weight: bolder;
}

ol, ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

dfn {
    font-style: italic;
}

mark {
    background-color: #ff0;
    color: #231F20;
}

small {
    font-size: 80%;
}

p, h1, h2, h3, h4, h5, h6 {
    padding: 0;
    margin: 0;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

audio,
video {
    display: inline-block;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

img {
    border-style: none;
    vertical-align: bottom;
}

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

svg {
    vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0; /* 3 */
    white-space: normal;
}


progress {
    display: inline-block;
    vertical-align: baseline;
}


textarea {
    overflow: auto;
}


[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

details,
menu {
    display: block;
}

summary {
    display: list-item;
}

canvas {
    display: inline-block;
}

template {
    display: none;
}

[hidden] {
    display: none;
}


html {
    font-family: sans-serif;
    text-size-adjust: 100%;
    height: 100%;
}

/*body {*/
/*    width: 100%;*/
/*    min-height: 100%;*/
/*    font-family: "Noto Sans JP", Hiragino Kaku Gothic Pro, Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", MS P Gothic, Verdana, sans-serif;*/
/*    color: #231F20;*/
/*}*/

/*-----------------------------------------------------
font
-------------------------------------------------------*/
@media screen and (min-width: 768px) {
    .calendarWp .cldBx h2 {
        font-size: 0.875rem;
    }

    .calendarWp .cldBx .cldBxsub {
    }

    .calendarWp .cldBx .num {
        font-size: 1.4375rem;
        font-weight: bold;
    }

    .calendarWp .cldBx .mon {

        font-size: 0.8125rem;

    }

    .calendarWp .cldBx .cldLead {
        font-size: 0.75rem;
        line-height: 1.8;
        text-align: center;
    }

    .lang li a {
        text-decoration: none;
        color: #231F20;
    }

    .sl_dn {
        color: #FFF;
        font-size: 0.75rem;

    }

    .menu-container .menu ul .sub a {
        /*font-size: 0.75rem;*/
        /*line-height: 1.6;*/
    }

    .menu > ul > li a {
        color: #231F20;
        text-decoration: none;
    }

    .menu > ul > li a:hover {
        color: #6aae24;
        text-decoration: none;
    }

    .sp.open .tx, .sp.open .tx2 {
        font-size: 0.75rem;
    }

    #contentsNav li .txt span {
        font-size: 0.75rem;

    }

    #contentsNav li .txt h1 {
        font-size: 1.0625rem;
        font-weight: normal;
        line-height: 1.6;

    }

    #contentsNav li .lead {
        font-size: 0.75rem;
        line-height: 1.8;
        text-align: center;
    }

    #structure .innre p {
        font-size: 0.875rem;
        line-height: 1.8;
        text-align: center;
    }

    #newsContents .inner p {
        font-size: 1.4375rem;
        font-weight: 800;
        line-height: 1.2;

    }

    #newsContents .inner h1 {
        font-size: 0.875rem;
        font-weight: normal;
        line-height: 1.6;

    }

    .tabs_Btn {
        font-size: 0.8125rem;

    }

    .yearnav_select {
        font-size: 0.8125rem;
    }

    .tabsWp .newsWp .link {
        font-size: 0.75rem;
        line-height: 1.8;
        text-align: center;

    }

    .tabsWp .irp-title-block {
        font-size: 0.8125rem;
        line-height: 1.6;
    }

    #mainVisual .subTitle {
        font-size: 123.1%;

    }

    .footerCntNav .bx .lead {
        font-size: 0.75rem;
        line-height: 1.2;
        color: #6aae24;
    }

    #footerNav .fnavList h1 {
        font-size: 0.8125rem;
    }

    #footerNav .fnavList li {
        line-height: 1.4;
        font-size: 0.75rem;
    }


    .fnavlcal ul li {
        letter-spacing: .05em;
        text-decoration: none;
        font-size: 0.625rem;
    }

    #copyright {
        font-size: 0.625rem;

    }

    .footerCntNav .bx h1 {
        font-size: 0.875rem;
        font-weight: normal;
        line-height: 1.6;
    }

    .businessImBx2 .btn a, .businessImBx .btn a {
        font-size: 0.875rem;
        font-weight: normal;
        line-height: 1.6;
    }

    #mainTitle h1 {
        font-size: 1.75rem;
        line-height: 1.4;
    }

    #local-nav .title {
        font-size: 1rem;
        line-height: 1.6;

    }

    .localnav a {
        color: #231F20;
        text-decoration: none;
        font-size: 0.8125rem;
        line-height: 1.8;

    }

    #topicpath .inner {
        line-height: 1.4;
        font-size: 0.75rem;
    }


    .titleB h2, .titleB .tlH {
        line-height: 1.6;
        font-size: 1.25rem;
    }

    .strengths .tl {
        text-align: center;
        font-size: 1.875rem;
        font-weight: 800;
    }

    .strengths .tx {
        font-size: 0.75rem;
        line-height: 1.8;
    }

    .strengths h2 {
        text-align: center;
        font-size: 0.8125rem;
        color: #71b92a;
    }

    .strengths h3 {
        font-size: 1.5rem;
        text-align: center;
        line-height: 1.6;
    }

    .solutionArea .tag li {
        text-align: center;
        color: #FFF;
        font-size: 0.8125rem;
        line-height: 1.4;
    }

    .solutionList .bx .wrap h1 {
        font-size: 0.9375rem;
        line-height: 1.6;
        text-decoration: none;
    }

    .solutionList .bx .wrap .lead {
        font-size: 0.75rem;
        line-height: 1.8;

    }

    .solutionList .bx .wrap .link {
        font-size: 0.75rem;
        line-height: 1.8;
        text-decoration: underline;
        color: #71b92a;

    }

    .lead_tx {
        font-size: 0.875rem;
        line-height: 1.8;
    }

    .timeline .detail {
        font-size: 0.75rem;
        line-height: 1.8;
    }

    .timelineWrap .his1 {
        font-size: 1.5625rem;
        font-weight: 800;

    }

    .timelineWrap .his2 {
        font-size: 0.8125rem;

    }

    .tabsWp .irp-item .irp-date {
        font-size: 0.8125rem;
    }

    .msg h2 {
        font-size: 1.0625rem;
        line-height: 1.8;
        color: #6aae24;

    }

    .msg p, .historyWps .txt {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .visionWp .philosophy {
        font-size: 3.4375rem;
        font-weight: 800;
    }

    .visionWp h1 {
        font-size: 1.4375rem;
        color: #539e0a;
    }

    .visionWp .tx {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .visionBx .tl {
        text-align: center;
        font-size: 1.875rem;
        font-weight: 800;
    }


    .visionBx h1 {
        text-align: center;
        font-size: 0.8125rem;
        color: #71b92a;
    }

    .visionBx .tx {
        font-size: 1.5rem;
        line-height: 1.6;
        font-weight: 800;
    }

    .officerWp h1 {
        font-size: 1.4375rem;
    }

    .officerWp .rgtWp .ed {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .officerWp .rgt h1 .name {
        font-size: 1.3125rem;
        line-height: 1.8;

    }

    .officerWp .rgt h1 .position {
        font-size: 0.75rem;
        font-weight: normal;
        line-height: 1.8;
        color: #539e0a;
    }


    .officerWp .rgt dl {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .companyWp .companyinfo .locations {
        font-size: 0.6875rem;
    }

    .graph dl {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .business .lft h1 {
        font-size: 0.8125rem;
        line-height: 1.8;
        color: #71b92a;
    }

    .business .lft h3 {
        font-size: 0.875rem;
        line-height: 1.8;

    }

    .historyWps h2 {
        font-size: 1.25rem;
        line-height: 1.6;
        font-weight: bold;
    }

    .businessImBx h1 {
        font-size: 1.5rem;
        line-height: 1.6;
        font-weight: bold;
    }

    .businessImBx2 h1 {
        font-size: 1.25rem;
        line-height: 1.6;
        font-weight: bold;
    }

    .businessImBx .tx {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .businessImBx2 .tx {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    #businessNav li .txt span {
        font-size: 0.8125rem;
        font-weight: bold;
    }

    #businessNav li .txt h1 {
        font-size: 1.0625rem;
        line-height: 1.6;
    }

    #businessNav li .lead {
        font-size: 0.75rem;
        line-height: 1.8;
        text-align: center;
    }

    .chBx .innner span {
        font-size: 0.8125rem;
        font-weight: bold;
    }

    .chBx .innner h1 {
        font-size: 1.4375rem;
        line-height: 1.4;
    }

    .chBx .innner p {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .solutionArea .inner .lead .tx {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .chBxInr .solutionArea .inner .lead h2 {
        font-size: 1.125rem;
        line-height: 1.6;
    }

    .chBxInr .solutionArea .inner .lead .link {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .caseWp .tls {
        font-size: 0.8125rem;
        font-weight: bold;
    }

    .caseWp .inner .lead h2 {
        font-size: 1.125rem;
        line-height: 1.6;
    }

    .caseWp .inner .lead .tx {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .mail .fmWrap .txt {
        font-size: 0.8125rem;
        line-height: 1.8;
        text-align: center;
    }

    .txtBx6 .fmWrap dl {
        font-size: 0.8125rem;
    }

    .chBxInr .solutionArea .inner .lead .link {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .error {
        font-size: 108%;
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .btnWp2 .txt03 a {
        color: #71b92a;
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .txt04 {
        text-align: center;
        font-size: 0.8125rem;
    }

    .txt04 a {
        color: #71b92a;
        text-decoration: underline;
    }

    .securityWp h1, .securityWp02 h1 {
        font-size: 1.25rem;
        text-align: center;
    }


    .securityWp .security01 p {
        font-size: 0.9375rem;
        line-height: 1.8;
        font-weight: bold;
        text-align: center;
    }

    .securityWp02 .security02 .wrap .inner {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .privacy p {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .privacy ul li {
        list-style-type: decimal;
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .privacy h3 {
        font-size: 1.0625rem;
        line-height: 1.6;
    }

    .privacy h4 {
        font-size: 0.8125rem;
        line-height: 1.8;
        font-weight: normal;
    }

    .privacy dl dt {
        font-size: 0.9375rem;
        line-height: 1.8;
        font-weight: bold;
    }

    .privacy dl dd {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .newsCategory .inner ul {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .newaArea .irp-date, .newsDetail .ic .tp01 {
        font-size: 0.8125rem;
    }

    .newaArea .irp-fsize {
        font-size: 0.8125rem;
    }

    .newaArea a:hover {
        text-decoration: none;
        color: #231F20;
    }

    .newaArea a:hover .lead p {
        text-decoration: underline;
        color: #71b92a;
    }

    .newaArea .wp .ic {
        font-size: 0.6875rem;
    }

    .newaArea .irp-title {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .sign .ps {
        text-align: right;
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .newsDetailWp .title h1 {
        font-size: 1.25rem;
        line-height: 1.6;
    }

    .newsDetailWp time {
        font-size: 0.8125rem;
    }

    .newsDetailWp .link {
        font-size: 0.8125rem;
        line-height: 1.8;

    }

    .newsDetailWp .link a {
        text-decoration: underline;
        color: #71b92a;
    }

    .newsDetailWp .lead h2 {
        font-size: 1.0625rem;
    }

    .newsDetailWp .lead p, .newsDetailWp .lead ul li {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .contentsNav {
        letter-spacing: -.4em;
    }

    .contentsNav .link {
        font-size: 0.8125rem;
        line-height: 1.8;
        text-decoration: underline;
        color: #71b92a;
        text-align: center;
    }

    .ir_inner .link {
        font-size: 0.8125rem;
        line-height: 1.8;
        text-align: right;
    }

    .ir_inner .link a {
        text-decoration: underline;
        color: #71b92a;
    }

    .contentsNav .box li {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .ir_inner .lead {
        font-size: 0.875rem;
        line-height: 1.8;
    }

    .ir_inner_h .chuki {
        font-size: 0.6875rem;
        line-height: 1.8;
    }

    .ir_inner_h table td {
        text-align: center;
        font-size: 0.6875rem;
        line-height: 1.8;
    }

    .irp-calendar-year {
        line-height: 1.4;
        font-size: 1.25rem;
        font-weight: bold;
    }

    .irp-calendar-item {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .txLft {
        text-align: left !important;
    }

    .ltxt {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .li01 li {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .m_inner {
        text-align: center;
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .m_link {
        font-size: 0.8125rem;
        line-height: 1.8;
    }

    .m_link a {
        text-decoration: underline;
        color: #71b92a;
    }

    .irp-library-category .irp-term {
        line-height: 1.4;
        font-size: 1.25rem;
        font-weight: bold;
    }

    .ir03 .irp-title, .irp-library-category .irp-item-list .irp-title {
        font-size: 0.8125rem;
        line-height: 1.6;
    }

    .irp-library-category .irp-fsize, .ir03 .irp-fsize {
        color: #999;
        font-size: 0.8125rem;
        line-height: 1.6;
    }

    .irp-library-category .irp-date, .ir03 .irp-date {
        font-size: 0.8125rem;
        line-height: 1.6;
    }

    #submitB {
        font-size: 1rem;
    }

    .sign {
        padding-top: 50px;
        width: 100%;
    }

    .ai_detail {
        padding-bottom: 70px;
    }

    .cf-ai-img {
        /*padding-bottom: 67px;*/
    }
}

@media screen and (max-width: 767px) {
    .calendarWp .cldBx h2 {
        font-size: 13px;
    }

    .calendarWp .cldBx .num {
        font-size: 15px;
        font-weight: bold;
    }

    .calendarWp .cldBx .mon {

        font-size: 13px;

    }

    .calendarWp .cldBx .cldLead {
        font-size: 12px;
        line-height: 1.8;
        text-align: center;
    }

    .lang li a {
        text-decoration: none;
        color: #231F20;
    }

    .sl_dn {
        color: #FFF;
        font-size: 11px;

    }

    .menu-container .menu ul .sub {
        /*font-size: 11px;*/
        /*line-height: 1.6;*/
        padding: 5px;
    }

    .menu > ul > li a {
        color: #FFF;
        text-decoration: none;
    }

    .menu > ul > li a:hover {
        color: #6aae24;
        text-decoration: none;
    }

    .sp.open .tx, .sp.open .tx2 {
        font-size: 11px;
    }

    #contentsNav li .txt span {
        font-size: 11px;

    }

    #contentsNav li .txt h1 {
        font-size: 16px;
        font-weight: normal;
        line-height: 1.4;

    }

    #contentsNav li .lead {
        font-size: 11px;
        line-height: 1.6;
        text-align: center;
    }

    #structure .innre p {
        font-size: 13px;
        line-height: 1.6;
        text-align: center;
    }

    #newsContents .inner p {
        font-size: 22px;
        font-weight: 800;
        line-height: 1.0;

    }

    #newsContents .inner h1 {
        font-size: 13px;
        font-weight: normal;
        line-height: 1.4;

    }

    .tabs_Btn {
        font-size: 12px;

    }

    .yearnav_select {
        font-size: 12px;
    }

    .tabsWp .newsWp .link {
        font-size: 11px;
        line-height: 1.6;
        text-align: center;

    }

    .tabsWp .irp-title-block {
        font-size: 12px;
        line-height: 1.4;
    }

    #mainVisual .subTitle {
        font-size: 123.1%;

    }

    .footerCntNav .bx .lead {
        font-size: 11px;
        line-height: 1.0;
        color: #6aae24;
    }

    #footerNav .fnavList h1 {
        font-size: 12px;
    }

    #footerNav .fnavList li {
        line-height: 1.2;
        font-size: 11px;
    }


    .fnavlcal ul li {
        letter-spacing: .05em;
        text-decoration: none;
        font-size: 12px;
    }

    #copyright {
        font-size: 10px;

    }

    .footerCntNav .bx h1 {
        font-size: 13px;
        font-weight: normal;
        line-height: 1.4;
        text-align: left;
    }

    .businessImBx2 .btn a, .businessImBx .btn a {
        font-size: 13px;
        font-weight: normal;
        line-height: 1.4;
        text-align: left;
    }

    #mainTitle h1 {
        font-size: 25px;
        line-height: 1.4;
    }

    #local-nav .title {
        font-size: 15px;
        line-height: 1.4;

    }

    .localnav a {
        color: #231F20;
        text-decoration: none;
        font-size: 12px;
        line-height: 1.6;

    }

    #topicpath .inner {
        line-height: 1.2;
        font-size: 11px;
    }


    .titleB h2, .titleB .tlH {
        line-height: 1.2;
        font-size: 19px;
    }

    .strengths .tl {
        text-align: center;
        font-size: 21px;
        font-weight: 800;
    }

    .strengths .tx {
        font-size: 11px;
        line-height: 1.6;
    }

    .strengths h2 {
        text-align: center;
        font-size: 12px;
        color: #71b92a;
    }

    .strengths h3 {
        font-size: 19px;
        text-align: center;
        line-height: 1.4;
    }

    .solutionArea .tag li {
        text-align: center;
        color: #FFF;
        font-size: 12px;
        line-height: 1.2;
    }

    .solutionList .bx .wrap h1 {
        font-size: 14px;
        line-height: 1.4;
        text-decoration: none;
    }

    .solutionList .bx .wrap .lead {
        font-size: 11px;
        line-height: 1.6;

    }

    .solutionList .bx .wrap .link {
        font-size: 11px;
        line-height: 1.6;
        text-decoration: underline;
        color: #71b92a;

    }

    .lead_tx {
        font-size: 13px;
        line-height: 1.6;
    }

    .timeline .detail {
        font-size: 11px;
        line-height: 1.6;
    }

    .timelineWrap .his1 {
        font-size: 24px;
        font-weight: 800;

    }

    .timelineWrap .his2 {
        font-size: 12px;

    }

    .tabsWp .irp-item .irp-date {
        font-size: 12px;
    }

    .msg h2 {
        font-size: 16px;
        line-height: 1.6;
        color: #6aae24;

    }

    .msg p, .historyWps .txt {
        font-size: 12px;
        line-height: 1.6;
    }

    .visionWp .philosophy {
        font-size: 54px;
        font-weight: 800;
    }

    .visionWp h1 {
        font-size: 22px;
        color: #539e0a;
    }

    .visionWp .tx {
        font-size: 12px;
        line-height: 1.6;
    }

    .visionBx .tl {
        text-align: center;
        font-size: 18px;
        font-weight: 800;
    }


    .visionBx h1 {
        text-align: center;
        font-size: 12px;
        color: #71b92a;
    }

    .visionBx .tx {
        font-size: 23px;
        line-height: 1.4;
        font-weight: 800;
    }

    .officerWp h1 {
        font-size: 22px;
    }

    .officerWp .rgtWp .ed {
        font-size: 12px;
        line-height: 1.6;
    }

    .officerWp .rgt h1 .name {
        font-size: 20px;
        line-height: 1.6;

    }

    .officerWp .rgt h1 .position {
        font-size: 11px;
        font-weight: normal;
        line-height: 1.6;
        color: #539e0a;
    }


    .officerWp .rgt dl {
        font-size: 12px;
        line-height: 1.6;
    }

    .companyWp .companyinfo .locations {
        font-size: 10px;
    }

    .graph dl {
        font-size: 12px;
        line-height: 1.6;
    }

    .business .lft h1 {
        font-size: 12px;
        line-height: 1.6;
        color: #71b92a;
    }

    .business .lft h3 {
        font-size: 13px;
        line-height: 1.6;

    }

    .businessImBx h1, .historyWps h2 {
        font-size: 19px;
        line-height: 1.4;
        font-weight: bold;
    }

    .businessImBx2 h1 {
        font-size: 19px;
        line-height: 1.4;
        font-weight: bold;
    }

    .businessImBx .tx {
        font-size: 12px;
        line-height: 1.6;
    }

    .businessImBx2 .tx {
        font-size: 12px;
        line-height: 1.6;
    }

    #businessNav li .txt span {
        font-size: 12px;
        font-weight: bold;
    }

    #businessNav li .txt h1 {
        font-size: 16px;
        line-height: 1.4;
    }

    #businessNav li .lead {
        font-size: 11px;
        line-height: 1.6;
        text-align: center;
    }

    .chBx .innner span {
        font-size: 12px;
        font-weight: bold;
    }

    .chBx .innner h1 {
        font-size: 22px;
        line-height: 1.2;
    }

    .chBx .innner p {
        font-size: 12px;
        line-height: 1.6;
    }

    .solutionArea .inner .lead .tx {
        font-size: 12px;
        line-height: 1.6;
    }

    .chBxInr .solutionArea .inner .lead h2 {
        font-size: 17px;
        line-height: 1.4;
    }

    .chBxInr .solutionArea .inner .lead .link {
        font-size: 12px;
        line-height: 1.6;
    }

    .caseWp .tls {
        font-size: 12px;
        font-weight: bold;
    }

    .caseWp .inner .lead h2 {
        font-size: 17px;
        line-height: 1.4;
    }

    .caseWp .inner .lead .tx {
        font-size: 12px;
        line-height: 1.6;
    }

    .mail .fmWrap .txt {
        font-size: 12px;
        line-height: 1.6;
        text-align: center;
    }

    .txtBx6 .fmWrap dl {
        font-size: 12px;
    }

    .chBxInr .solutionArea .inner .lead .link {
        font-size: 12px;
        line-height: 1.6;
    }

    .error {
        font-size: 108%;
        font-size: 12px;
        line-height: 1.6;
    }

    .btnWp2 .txt03 a {
        color: #71b92a;
        font-size: 12px;
        line-height: 1.6;
    }

    .txt04 {
        text-align: center;
        font-size: 12px;
    }

    .txt04 a {
        color: #71b92a;
        text-decoration: underline;
    }

    .securityWp h1, .securityWp02 h1 {
        font-size: 19px;
        text-align: center;
    }


    .securityWp .security01 p {
        font-size: 14px;
        line-height: 1.6;
        font-weight: bold;
        text-align: center;
    }

    .securityWp02 .security02 .wrap .inner {
        font-size: 12px;
        line-height: 1.6;
    }

    .privacy p {
        font-size: 12px;
        line-height: 1.6;
    }

    .privacy ul li {
        list-style-type: decimal;
        font-size: 12px;
        line-height: 1.6;
    }

    .privacy h3 {
        font-size: 16px;
        line-height: 1.6;
    }

    .privacy h4 {
        font-size: 12px;
        line-height: 1.6;
        font-weight: normal;
    }

    .privacy dl dt {
        font-size: 14px;
        line-height: 1.6;
        font-weight: bold;
    }

    .privacy dl dd {
        font-size: 12px;
        line-height: 1.6;
    }

    .newsCategory .inner ul {
        font-size: 12px;
        line-height: 1.6;
    }

    .newaArea .irp-date, .newsDetail .ic .tp01 {
        font-size: 12px;
    }

    .newaArea .irp-fsize {
        font-size: 12px;
    }

    .newaArea a:hover {
        text-decoration: none;
        color: #231F20;
    }

    .newaArea a:hover .lead p {
        text-decoration: underline;
        color: #71b92a;
    }

    .newaArea .wp .ic {
        font-size: 10px;
    }

    .newaArea .irp-title {
        font-size: 12px;
        line-height: 1.6;
    }

    .sign .ps {
        text-align: right;
        font-size: 12px;
        line-height: 1.6;
    }

    .newsDetailWp .title h1 {
        font-size: 19px;
        line-height: 1.4;
    }

    .newsDetailWp time {
        font-size: 12px;
    }

    .newsDetailWp .link {
        font-size: 12px;
        line-height: 1.6;

    }

    .newsDetailWp .link a {
        text-decoration: underline;
        color: #71b92a;
    }

    .newsDetailWp .lead h2 {
        font-size: 16px;
    }

    .newsDetailWp .lead p, .newsDetailWp .lead ul li {
        font-size: 12px;
        line-height: 1.6;
    }

    .contentsNav {
        letter-spacing: -.4em;
    }

    .contentsNav .link {
        font-size: 12px;
        line-height: 1.6;
        text-decoration: underline;
        color: #71b92a;
        text-align: center;
    }

    .ir_inner .link {
        font-size: 12px;
        line-height: 1.6;
        text-align: right;
    }

    .ir_inner .link a {
        text-decoration: underline;
        color: #71b92a;
    }

    .contentsNav .box li {
        font-size: 12px;
        line-height: 1.6;
    }

    .ir_inner .lead {
        font-size: 13px;
        line-height: 1.6;
    }

    .ir_inner_h .chuki {
        font-size: 10px;
        line-height: 1.6;
    }

    .ir_inner_h table td {
        text-align: center;
        font-size: 10px;
        line-height: 1.6;
    }

    .irp-calendar-year {
        line-height: 1.2;
        font-size: 19px;
        font-weight: bold;
    }

    .irp-calendar-item {
        font-size: 12px;
        line-height: 1.6;
    }

    .txLft {
        text-align: left !important;
    }

    .ltxt {
        font-size: 12px;
        line-height: 1.6;
    }

    .li01 li {
        font-size: 12px;
        line-height: 1.6;
    }

    .m_inner {
        text-align: center;
        font-size: 12px;
        line-height: 1.6;
    }

    .m_link {
        font-size: 12px;
        line-height: 1.6;
    }

    .m_link a {
        text-decoration: underline;
        color: #71b92a;
    }

    .irp-library-category .irp-term {
        line-height: 1.2;
        font-size: 19px;
        font-weight: bold;
    }

    .ir03 .irp-title, .irp-library-category .irp-item-list .irp-title {
        font-size: 12px;
        line-height: 1.4;
    }

    .irp-library-category .irp-fsize, .ir03 .irp-fsize {
        color: #999;
        font-size: 12px;
        line-height: 1.4;
    }

    .irp-library-category .irp-date, .ir03 .irp-date {
        font-size: 12px;
        line-height: 1.4;
    }

    .footerCntNav .bx h1 {
        position: relative;
        padding-left: 10px;
    }

    .footerCntNav .bx h1::after {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 10px;
        margin: auto;
        content: "";
        vertical-align: middle;
        width: 4px;
        height: 4px;
        border-top: 2px solid #71b92a;
        border-right: 2px solid #71b92a;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    #submitB {
        font-size: 14px;
    }

    .sign {
        padding-top: 20px;
        width: 100%;
    }

    .cf-ai-img {
        padding-bottom: 67px;
    }
}

@media screen and (max-width: 414px) {
    .calendarWp .cldBx h2 {
        font-size: 3.4666vw;
    }

    .calendarWp .cldBx .num {
        font-size: 4vw;
        font-weight: bold;
    }

    .calendarWp .cldBx .mon {

        font-size: 3.4666vw;

    }

    .calendarWp .cldBx .cldLead {
        font-size: 3.2vw;
        line-height: 1.8;
        text-align: center;
    }

    .lang li a {
        text-decoration: none;
        color: #231F20;
    }

    .sl_dn {
        color: #FFF;
        font-size: 2.9333vw;

    }

    .menu-container .menu ul .sub a {
        /*font-size: 2.9333vw;*/
        /*line-height: 1.6;*/
    }

    .menu > ul > li a {
        color: #231F20;
        text-decoration: none;
    }

    .menu > ul > li a:hover {
        color: #6aae24;
        text-decoration: none;
    }

    .sp.open .tx, .sp.open .tx2 {
        font-size: 2.9333vw;
    }

    #contentsNav li .txt span {
        font-size: 2.9333vw;

    }

    #contentsNav li .txt h1 {
        font-size: 3.7333vw;
        font-weight: normal;
        line-height: 1.4;

    }

    #contentsNav li .lead {
        font-size: 2.9333vw;
        line-height: 1.6;
        text-align: center;
    }

    #structure .innre p {
        font-size: 3.4666vw;
        line-height: 1.6;
        text-align: center;
    }

    #newsContents .inner p {
        font-size: 5.8666vw;
        font-weight: 800;
        line-height: 1.0;

    }

    #newsContents .inner h1 {
        font-size: 2.9333vw;
        font-weight: normal;
        line-height: 1.4;

    }

    .tabs_Btn {
        font-size: 3.2vw;

    }

    .yearnav_select {
        font-size: 3.2vw;
    }

    .tabsWp .newsWp .link {
        font-size: 2.9333vw;
        line-height: 1.6;
        text-align: center;

    }

    .tabsWp .irp-title-block {
        font-size: 3.2vw;
        line-height: 1.4;
    }

    #mainVisual .subTitle {
        font-size: 123.1%;

    }

    .footerCntNav .bx .lead {
        font-size: 2.9333vw;
        line-height: 1.0;
        color: #6aae24;
    }

    #footerNav .fnavList h1 {
        font-size: 3.2vw;
    }

    #footerNav .fnavList li {
        line-height: 1.2;
        font-size: 2.9333vw;
    }


    .fnavlcal ul li {
        letter-spacing: .05em;
        text-decoration: none;
        font-size: 2.6666vw;
    }

    #copyright {
        font-size: 2.6666vw;

    }

    .footerCntNav .bx h1 {
        font-size: 2.9333vw;
        font-weight: normal;
        line-height: 1.4;
    }

    .businessImBx2 .btn a, .businessImBx .btn a {
        font-size: 2.9333vw;
        font-weight: normal;
        line-height: 1.4;
    }

    #mainTitle h1 {
        font-size: 4.8vw;
        line-height: 1.4;
    }

    #local-nav .title {
        font-size: 4vw;
        line-height: 1.4;

    }

    .localnav a {
        color: #231F20;
        text-decoration: none;
        font-size: 3.2vw;
        line-height: 1.6;

    }

    #topicpath .inner {
        line-height: 1.2;
        font-size: 2.9333vw;
    }


    .titleB h2, .titleB .tlH {
        line-height: 1.4;
        font-size: 4vw;
    }

    .strengths .tl {
        text-align: center;
        font-size: 4.8vw;
        font-weight: 800;
    }

    .strengths .tx {
        font-size: 2.9333vw;
        line-height: 1.6;
    }

    .strengths h2 {
        text-align: center;
        font-size: 3.2vw;
        color: #71b92a;
    }

    .strengths h3 {
        font-size: 4.2666vw;
        text-align: center;
        line-height: 1.4;
    }

    .solutionArea .tag li {
        text-align: center;
        color: #FFF;
        font-size: 3.2vw;
        line-height: 1.2;
    }

    .solutionList .bx .wrap h1 {
        font-size: 3.2vw;
        line-height: 1.4;
        text-decoration: none;
    }

    .solutionList .bx .wrap .lead {
        font-size: 2.9333vw;
        line-height: 1.6;

    }

    .solutionList .bx .wrap .link {
        font-size: 2.9333vw;
        line-height: 1.6;
        text-decoration: underline;
        color: #71b92a;

    }

    .lead_tx {
        font-size: 3.4666vw;
        line-height: 1.6;
    }

    .timeline .detail {
        font-size: 2.9333vw;
        line-height: 1.6;
    }

    .timelineWrap .his1 {
        font-size: 6.4vw;
        font-weight: 800;

    }

    .timelineWrap .his2 {
        font-size: 3.2vw;

    }

    .tabsWp .irp-item .irp-date {
        font-size: 3.2vw;
    }

    .msg h2 {
        font-size: 4.2666vw;
        line-height: 1.6;
        color: #6aae24;

    }

    .msg p, .historyWps .txt {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .visionWp .philosophy {
        font-size: 6.4vw;
        font-weight: 800;
    }

    .visionWp h1 {
        font-size: 5.3333vw;
        color: #539e0a;
    }

    .visionWp .tx {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .visionBx .tl {
        text-align: center;
        font-size: 4.8vw;
        font-weight: 800;
    }


    .visionBx h1 {
        text-align: center;
        font-size: 3.2vw;
        color: #71b92a;
    }

    .visionBx .tx {
        font-size: 4.2666vw;
        line-height: 1.4;
        font-weight: 800;
    }

    .officerWp h1 {
        font-size: 5.8666vw;
    }

    .officerWp .rgtWp .ed {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .officerWp .rgt h1 .name {
        font-size: 4.8vw;
        line-height: 1.6;

    }

    .officerWp .rgt h1 .position {
        font-size: 2.9333vw;
        font-weight: normal;
        line-height: 1.6;
        color: #539e0a;
    }


    .officerWp .rgt dl {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .companyWp .companyinfo .locations {
        font-size: 2.6666vw;
    }

    .graph dl {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .business .lft h1 {
        font-size: 3.2vw;
        line-height: 1.6;
        color: #71b92a;
    }

    .business .lft h3 {
        font-size: 3.4666vw;
        line-height: 1.6;

    }

    .businessImBx h1, .historyWps h2 {
        font-size: 4.8vw;
        line-height: 1.4;
        font-weight: bold;
    }

    .businessImBx2 h1 {
        font-size: 4.8vw;
        line-height: 1.4;
        font-weight: bold;
    }

    .businessImBx .tx {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .businessImBx2 .tx {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    #businessNav li .txt span {
        font-size: 3.2vw;
        font-weight: bold;
    }

    #businessNav li .txt h1 {
        font-size: 3.7333vw;
        line-height: 1.4;
    }

    #businessNav li .lead {
        font-size: 2.9333vw;
        line-height: 1.6;
        text-align: center;
    }

    .chBx .innner span {
        font-size: 3.2vw;
        font-weight: bold;
    }

    .chBx .innner h1 {
        font-size: 4.8vw;
        line-height: 1.2;
    }

    .chBx .innner p {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .solutionArea .inner .lead .tx {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .chBxInr .solutionArea .inner .lead h2 {
        font-size: 3.7333vw;
        line-height: 1.4;
    }

    .chBxInr .solutionArea .inner .lead .link {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .caseWp .tls {
        font-size: 3.2vw;
        font-weight: bold;
    }

    .caseWp .inner .lead h2 {
        font-size: 4.5333vw;
        line-height: 1.4;
    }

    .caseWp .inner .lead .tx {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .mail .fmWrap .txt {
        font-size: 3.2vw;
        line-height: 1.6;
        text-align: center;
    }

    .txtBx6 .fmWrap dl {
        font-size: 3.2vw;
    }

    .chBxInr .solutionArea .inner .lead .link {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .error {
        font-size: 108%;
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .btnWp2 .txt03 a {
        color: #71b92a;
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .txt04 {
        text-align: center;
        font-size: 3.2vw;
    }

    .txt04 a {
        color: #71b92a;
        text-decoration: underline;
    }

    .securityWp h1, .securityWp02 h1 {
        font-size: 5.0666vw;
        text-align: center;
    }


    .securityWp .security01 p {
        font-size: 3.2vw;
        line-height: 1.6;
        font-weight: bold;
        text-align: center;
    }

    .securityWp02 .security02 .wrap .inner {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .privacy p {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .privacy ul li {
        list-style-type: decimal;
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .privacy h3 {
        font-size: 4.2666vw;
        line-height: 1.4;
    }

    .privacy h4 {
        font-size: 3.2vw;
        line-height: 1.6;
        font-weight: normal;
    }

    .privacy dl dt {
        font-size: 3.7333vw;
        line-height: 1.6;
        font-weight: bold;
    }

    .privacy dl dd {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .newsCategory .inner ul {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .newaArea .irp-date, .newsDetail .ic .tp01 {
        font-size: 3.2vw;
    }

    .newaArea .irp-fsize {
        font-size: 3.2vw;
    }

    .newaArea a:hover {
        text-decoration: none;
        color: #231F20;
    }

    .newaArea a:hover .lead p {
        text-decoration: underline;
        color: #71b92a;
    }

    .newaArea .wp .ic {
        font-size: 2.6666vw;
    }

    .newaArea .irp-title {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .sign .ps {
        text-align: right;
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .newsDetailWp .title h1 {
        font-size: 5.0666vw;
        line-height: 1.4;
    }

    .newsDetailWp time {
        font-size: 3.2vw;
    }

    .newsDetailWp .link {
        font-size: 3.2vw;
        line-height: 1.6;

    }

    .newsDetailWp .link a {
        text-decoration: underline;
        color: #71b92a;
    }

    .newsDetailWp .lead h2 {
        font-size: 4.2666vw;
    }

    .newsDetailWp .lead p, .newsDetailWp .lead ul li {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .contentsNav {
        letter-spacing: -.4em;
    }

    .contentsNav .link {
        font-size: 3.2vw;
        line-height: 1.6;
        text-decoration: underline;
        color: #71b92a;
        text-align: center;
    }

    .ir_inner .link {
        font-size: 3.2vw;
        line-height: 1.6;
        text-align: right;
    }

    .ir_inner .link a {
        text-decoration: underline;
        color: #71b92a;
    }

    .contentsNav .box li {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .ir_inner .lead {
        font-size: 3.4666vw;
        line-height: 1.6;
    }

    .ir_inner_h .chuki {
        font-size: 2.6666vw;
        line-height: 1.6;
    }

    .ir_inner_h table td {
        text-align: center;
        font-size: 2.6666vw;
        line-height: 1.6;
    }

    .irp-calendar-year {
        line-height: 1.2;
        font-size: 5.0666vw;
        font-weight: bold;
    }

    .irp-calendar-item {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .txLft {
        text-align: left !important;
    }

    .ltxt {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .li01 li {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .m_inner {
        text-align: center;
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .m_link {
        font-size: 3.2vw;
        line-height: 1.6;
    }

    .m_link a {
        text-decoration: underline;
        color: #71b92a;
    }

    .irp-library-category .irp-term {
        line-height: 1.2;
        font-size: 5.0666vw;
        font-weight: bold;
    }

    .ir03 .irp-title, .irp-library-category .irp-item-list .irp-title {
        font-size: 3.2vw;
        line-height: 1.4;
    }

    .irp-library-category .irp-fsize, .ir03 .irp-fsize {
        color: #999;
        font-size: 3.2vw;
        line-height: 1.4;
    }

    .irp-library-category .irp-date, .ir03 .irp-date {
        font-size: 3.2vw;
        line-height: 1.4;
    }

    #submitB {
        font-size: 3.7333vw;
    }

}


/*-----------------------------------------------------
container
-------------------------------------------------------*/
#container {
    position: relative;
    width: 100%;
    margin: auto;
    height: auto !important;
    height: 100%;
    min-height: 100%;
    display: none;
}

/* link
----------------------------------------------------------- */
a {
    color: #231F20;
    text-decoration: none;
}

a:hover {
    color: #71b92a;
    text-decoration: underline;
}

a[href^="tel:"] {
    cursor: default;
}

a[href^="tel:"]:hover {
    text-decoration: none;
}

/*-----------------------------------------------------
header
-------------------------------------------------------*/
#header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 101;
    width: 100%;
    transition: .3s;
}

#header .clf_header {
    background: #ffffff !important;
}

@media screen and (max-width: 1249px) {
    .sp .clf_header {
        height: 90px !important;
        background: transparent !important;
    }

    .sp.open .clf_header {
        height: 90px !important;
        background: #f2f2f2 !important;
    }
}

.h_inner {
    position: relative;

}

.h_inner .logo {
    position: absolute;
    top: 27px;
    left: 30px;
    width: 180px;
    height: 39px;
    text-indent: -9999px;
    z-index: 9999;
}


@media screen and (min-width: 768px) {
    .logo_sp {
        display: none;
    }
}


@media screen and (max-width: 767px) {
    .sp .clf_header {
        height: 70px !important;
    }

    .logo_sp {
        display: none;
    }

    .sp.open .logo_sp {
        display: block;
        position: fixed;
        top: 20px;
        left: 20px;
        width: 150px;
        height: 30px;
        text-indent: -9999px;
        z-index: 1;
    }

    .sp.open .logo_sp::after {
        left: 0;
        top: 0;
        position: fixed;
        content: '';
        width: 100%;
        height: 70px;
        background-color: #f2f2f2;
        z-index: -1;
    }


    .sp.open .logo_sp a {
        display: block;
        width: 100%;
        height: 100%;
        background: url(../../images/logo_h.svg) no-repeat left top;
        background-size: contain;
        z-index: 2;
    }

}

@media screen and (max-width: 414px) {
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 767px) {

    .h_inner .logo {
        position: absolute;
        top: 20px;
        left: 20px;
        width: 150px;
        height: 30px;
        text-indent: -9999px;
        z-index: 0;
    }


}

@media screen and (max-width: 414px) {
}

.h_inner .logo a {
    display: block;
    width: 100%;
    height: 100%;
    background: url(../../images/logo.svg) no-repeat left top;
    background-size: contain;
}


.h_inner.hover .logo a {
    background-image: url(../../images/logo_h.svg);
}


.sns {
    position: absolute;
    top: 42px;
    right: 142px;
    /*right: 30px;*/
    padding: 0;
    margin: 0;
}

.sns li {
    float: left;
    padding: 0;
    margin: 0 6px 0 0;
    list-style-type: none;
}

.sns .ic_wir {
    width: 22px;
    height: 22px;
}

.sns .ic_wir a {
    position: relative;
    display: inline-block;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    background-color: #fff;
}


.sns .ic_wir a:before {
    position: absolute;
    top: 5px;
    left: 5px;
    display: inline-block;
    width: 12px;
    height: 12px;
    content: "";
    background: url(../../images/ic_twitter.svg);
    background-size: contain;
    vertical-align: middle;
}

.hover .sns .ic_wir a {
    background-color: #1da1f3;
}


.hover .sns .ic_wir a:before {
    background: url(../../images/ic_twitter_h.svg);
    background-size: contain;
}

.sns .ic_fbk {
    width: 22px;
    height: 22px;
}

.sns .ic_fbk a {
    position: relative;
    display: inline-block;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    background-color: #fff;
}


.sns .ic_fbk a:before {
    position: absolute;
    top: 5px;
    left: 5px;
    display: inline-block;
    width: 12px;
    height: 12px;
    content: "";
    background: url(../../images/ic_facebook.svg);
    background-size: contain;
    vertical-align: middle;
}

.hover .sns .ic_fbk a {
    background-color: #37559b;
}

.hover .sns .ic_fbk a:before {
    background: url(../../images/ic_facebook_h.svg);
    background-size: contain;
}

.lang {
    position: absolute;
    top: 42px;
    right: 19px;
    *zoom: 1;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.lang:before, .lang:after {
    content: "";
    display: table;
}

.lang:after {
    clear: both;
}

.lang li {
    position: relative;
    float: left;
    margin: 0;
    padding: 0;
    text-align: center;
}

.lang li a {
    display: block;
    margin: 0;
    padding: 0;
    position: relative;
    color: #231F20;
}

.hover .lang li a {
    color: #231F20;
}

.lang li .ic_lng {
    /*padding: 5px 0 10px;*/
}

.lang li .ic_lng:before {
    content: "";
    position: absolute;
    top: 0;
    left: -29px;
    display: inline-block;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    background-color: #fff;
}

.lang li .ic_lng:after {
    position: absolute;
    top: 5px;
    left: -24px;
    display: inline-block;
    width: 12px;
    height: 12px;
    content: "";
    background: url(../../images/ic_world.svg);
    background-size: contain;
    vertical-align: middle;
}

.hover .lang li .ic_lng:before {
    background-color: #539e0a;
}

.hover .lang li .ic_lng:after {
    background: url(../../images/ic_world_h.svg);
    background-size: contain;
}


.lang li ul {
    list-style: none;
    position: absolute;
    z-index: 9999;
    top: 100%;
    left: 0;
    margin: 0;
    padding: 0;
    margin-top: 5px;
}

.lang li ul li {
    width: 100%;
}

.lang li ul li a {
    text-align: left;
}

.lang li:hover > a {
}

.lang li a:hover {
}

#fade-in li ul {
    width: 100%;
    visibility: hidden;
    opacity: 0;
    display: none;
    transition: 0s;
    position: relative;
}

#fade-in li:hover ul {
    display: block;
}

.lang li ul li:first-child::after {
    position: absolute;
    top: -8px;
    right: 0;
    left: 0;
    margin: 0 auto;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
    border-bottom: 4px solid #efefef;
}

.lang li ul .hover:first-child::after {
    position: absolute;
    top: -8px;
    right: 0;
    left: 0;
    margin: 0 auto;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
    border-bottom: 4px solid #79bd36;
}

.lang li ul .active:first-child::after {
    position: absolute;
    top: -8px;
    right: 0;
    left: 0;
    margin: 0 auto;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
    border-bottom: 4px solid #79bd36;
}


#fade-in li:hover ul {
    visibility: visible;
    opacity: 1;
}

#fade-in li ul li:first-child {
    background-color: #efefef;
    border-top-right-radius: 3px;
    border-top-left-radius: 3px;
}

#fade-in li ul li:last-child {
    background-color: #EFEFEF;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
}

#fade-in li ul li.active {
    background-color: #79bd36;
}

#fade-in li ul li.active a {
    color: #FFF;
}

#fade-in li ul li a {
    visibility: hidden;
    opacity: 0;
    transition: .5s;
    text-align: center;
    padding: 12px 0;
    color: #231F20;
}

#fade-in.slt_Jp li ul li:first-child a, #fade-in.slt_En li ul li:last-child a {
    color: #FFF;
}

#fade-in li:hover ul li a {
    visibility: visible;
    opacity: 1;
}

#fade-in li ul li:first-child:hover, #fade-in li ul li:last-child:hover {
    background-color: #79bd36;
}

#fade-in li ul li:first-child:hover a, #fade-in li ul li:last-child:hover a {
    color: #FFF;
    transition: 0s;
}

.scl_pnr_wp {
    width: 1px;
    height: 41px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 66px;
    margin: 0 auto;
    z-index: 1;
    background-color: #FFF;
}


.sl_dn {
    width: 100px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 40px;
    margin: 0 auto;
    z-index: 1;

}


@media screen and (min-width: 415px) {
    .sl_dn:after {
        content: 'Scroll Down';
    }
}

@media screen and (max-width: 414px) {
    .sl_dn:after {
        content: 'Scroll Up';
    }
}


@keyframes scl_pnr {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 41px, 0);
        transform: translate3d(0, 41px, 0)
    }
}

@keyframes scl_pnr_a {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    10% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    65% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
}

.scl_pnr_bx {
    animation-name: scl_pnr;
    animation-duration: 1.3s;
    animation-iteration-count: infinite;
    animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
    -webkit-animation-name: scl_pnr;
    -webkit-animation-duration: 1.3s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}

.scl_pnr_bx:before {
    content: '';
    display: block;
    width: 9px;
    height: 9px;
    margin-left: -4px;
    margin-top: -2px;
    border-radius: 50%;
    background: linear-gradient(-135deg, #b7d316, #78bd36);
    animation-name: scl_pnr_a;
    animation-duration: 1.3s;
    animation-iteration-count: infinite;
    animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
    -webkit-animation-name: scl_pnr_a;
    -webkit-animation-duration: 1.3s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}

@media screen and (max-width: 414px) {
    .scl_pnr_wp {
        width: 1px;
        height: 30px;
        bottom: 40px;
    }

    .sl_dn {
        width: 100px;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 20px;
        margin: 0 auto;
        z-index: 1;

    }

    @keyframes scl_pnr {
        0% {
            -webkit-transform: translate3d(0, 30px, 0);
            transform: translate3d(0, 30px, 0)
        }

        100% {
            -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0)
        }
    }

    @keyframes scl_pnr_a {
        0% {
            -webkit-transform: scale(0);
            transform: scale(0)
        }

        10% {
            -webkit-transform: scale(1);
            transform: scale(1)
        }

        65% {
            -webkit-transform: scale(1);
            transform: scale(1)
        }

        100% {
            -webkit-transform: scale(0);
            transform: scale(0)
        }
    }


    .scl_pnr_bx:before {
        margin-top: -7px;
    }

}


.snsSp {
    display: none;
}

.langSp {
    display: none;
}


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Screen style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.menu-container {
    width: 100%;
    margin: 0 auto;
}

.hover .menu-container {
    position: relative;
    background-color: #FFF;
    border-bottom: 1px solid #ddd;
}


.hover .menu-container .menu > ul > li a {
    position: relative;
    color: #231F20;
}


.hover .menu-container .menu > ul > li a:hover {
    color: #6aae24;
}


.hover .menu-container .menu > ul > .snsSp .active:hover {
    color: #FFF;
}

.menu-mobile {
    display: none;
    padding: 10px;
}


.menu > ul {
    margin: 0 auto;
    width: 100%;
    list-style: none;
    padding: 0;
    position: relative;
    /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
    box-sizing: border-box;

    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-align-items: flex-end;
    align-items: flex-end;
}

.menu > ul:before,
.menu > ul:after {
    content: "";
    display: table;
}

.menu > ul:after {
    clear: both;
}

.menu > ul > li {
    float: left;
    padding: 0;
    margin: 0;

}

.menu > ul > .lastLi {
    margin-right: 140px;
    /*margin-right: 100px;*/
}

.menu ul li .h_lnk {
    position: relative;
    text-decoration: none;
    padding: 40px 0;
    margin: 0 15px;
    display: block;
    -webkit-transition: .3s;
    transition: .3s;
    cursor: pointer;
    line-height: 1.448;
}

.menu ul li .h_lnk::after {
    bottom: 20px;
    right: 0;
    left: 0;
    margin: 0 auto;
    position: absolute;
    content: '';
    width: 0;
    height: 1px;
    background: linear-gradient(-135deg, #b7d316, #78bd36);
    -webkit-transition: .3s;
    transition: .3s;
}

.menu ul li .h_lnk:hover::after {
    width: 100%;
}


.menu > ul > li > ul {
    display: none;
    width: 100%;
    background: #efefef;
    padding: 40px 0 40px;
    position: absolute;
    z-index: 99;
    left: 0;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
}

.menu > ul > li > ul:before,
.menu > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul:after {
    clear: both;
}

.pc .menu .tyl {
    margin-left: 80px;
    /*color: white !important;*/
}

.menu > ul > li > ul > li {
    margin: 0 auto;
    padding: 5px;
    list-style: none;
    width: 100%;
    max-width: 980px;
    background: none;
}


.menu > ul > li > ul > li a {
    position: relative;
    color: #231F20;
    padding-left: 10px;
    display: block;
}

.menu > ul > li > ul > li a:after {

    border-left: 3px solid #6aae24;
}


.pc .menu > ul > li > ul > li > ul {

    border-collapse: separate;
    border-spacing: 20px 0;
}

.menu > ul > li > ul > li > ul:before,
.menu > ul > li > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul > li > ul:after {
    clear: both;
}

.pc .menu > ul > li > ul > li > ul > li {
    width: 33.3%;
    display: table-cell;
    vertical-align: top;
    padding: 0 0 0 0;
    margin: 0;
    position: relative;
}

.pc .menu > ul > li > ul > li > ul > li a {
    border-bottom: 1px solid #dadada;
}


.pc .menu > ul > li > ul > li > ul > li a:before {
    display: block;
    content: '';
    background: linear-gradient(-135deg, #b7d316, #78bd36);
    position: absolute;
    width: 0;
    height: 1px;
    bottom: -1px;
    left: 0;
    -webkit-transition: .5s;
    transition: .5s;
}

.pc .menu > ul > li > ul > li > ul > li a:hover:before {
    width: 100%;
}

.sp .menu > ul > li > ul > li > ul > li {
    width: 33.3%;
    display: table-cell;
    vertical-align: top;
    padding: 0 0 0 0;
    margin: 0;
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 960px) {
    .sbCnt li {
        /*color: white !important;*/
        padding: 5px;
    }
}

@media screen and (min-width: 768px) {
    .sp .menu > ul > li > ul > li > ul > li {
        width: 100%;
        display: block;
        vertical-align: top;
        padding: 0 0 0 0;
        margin: 0;
    }

    .menu > ul > li > ul > li .sbCntl2 {
        padding-top: 30px;
    }

    .sp .menu > ul > li > ul {
        position: relative;
        width: auto;
        padding: 10px 40px 30px;
    }

    .sp .menu ul li .h_lnk {
        position: relative;
        text-decoration: none;
        padding: 25px 30px;
        width: auto;
        margin: 0;
        display: block;
        -webkit-transition: .3s;
        transition: .3s;
        font-weight: 900;
    }


    .sp .menu > ul > li > ul > li > ul > .sub {
        padding-top: 25px;
    }


    .menu > ul > li > ul > li > ul > li a {
        position: relative;
        padding: 0 0 13px 21px;
    }

    .menu > ul > li > ul > li > ul {
        display: table;
        width: 100%;
        padding: 0;
        margin: 0;
        list-style: none;
        box-sizing: border-box;
    }

    .ony a:after {
        position: absolute;
        top: 5px;
        left: -10px;
        content: "";
        vertical-align: middle;
        box-sizing: border-box;
        width: 3px;
        height: 3px;
        border: 3px solid transparent;
    }

    .menu .ony a {
        padding-left: 0px;
    }

    .menu > ul > li > ul > li > ul > .sub a:after {
        position: absolute;
        top: 7px;
        left: 10px;
        content: "";
        vertical-align: middle;
        width: 4px;
        height: 1px;
        background-color: #6aae24;
        border: none;
    }

}

@media screen and (max-width: 767px) {

    .sp .menu > ul > li > ul > li > ul > li {
        width: 100%;
        display: block;
        vertical-align: top;
        padding: 0 0 0 0;
        margin: 0;
    }

    .menu > ul > li > ul > li .sbCntl2 {
        padding-top: 0;
    }

    .sp .menu > ul > li > ul {
        position: relative;
        width: auto;
        padding: 10px 10px 20px 20px;
    }

    .sp .menu ul li .h_lnk {
        position: relative;
        text-decoration: none;
        padding: 20px;
        width: auto;
        margin: 0;
        display: block;
        -webkit-transition: .3s;
        transition: .3s;
        font-weight: 900;
    }

    .menu > ul > li > ul > li a {
        font-size: 20px;
    }

    .sp .menu > ul > li > ul > li > ul > .sub {
        padding-top: 0;
    }

    .sp .menu > ul > li > ul > li > ul > .sub:first-child {
        margin-top: 10px;
    }

    .menu > ul > li > ul > li > ul > li a {
        position: relative;
        padding: 7px 0 7px 21px;
    }

    .menu > ul > li > ul > li > ul {
        display: block;
        width: 100%;
        padding: 0 0 0 0;
        margin: 0;
        list-style: none;
        box-sizing: border-box;
    }

    .ony a:after {
        position: absolute;
        top: 10px;
        left: 0;
        content: "";
        vertical-align: middle;
        box-sizing: border-box;
        width: 3px;
        height: 3px;
        border: 3px solid transparent;
    }

    .menu .ony a {
        padding: 7px 0 7px 10px;
    }

    .menu > ul > li > ul > li > ul > .sub a:after {
        position: absolute;
        top: 14px;
        left: 10px;
        content: "";
        vertical-align: middle;
        width: 4px;
        height: 1px;
        background-color: #6aae24;
        border: none;
    }

}

@media screen and (max-width: 1249px) {
    .menu > ul > li > ul > li a:after {
        border: none;
    }

    .menu > ul > li > ul > li > ul > .sub a:after {
        background-color: unset !important;
    }

    .menu .ony ul li a {
        padding-left: 0px !important;
    }

}

@media screen and (min-width: 415px) {
}

@media screen and (max-width: 414px) {
}

.pc .menu > ul > li > ul > li > ul > .sub {
    padding-top: 25px;
}


.menu .ony ul li a {
    padding-left: 21px;
}


.menu > ul > li > ul.normal-sub {
    width: 300px;
    left: auto;
    padding: 10px 20px;
}

.menu > ul > li > ul.normal-sub > li {
    width: 100%;
}

.menu > ul > li > ul.normal-sub > li a {
    border: 0;
    padding: 0;
}


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.sp.open .logo a {
    background-image: url(../../images/logo_h.svg);
}

.sp #header {
    position: absolute;
}

.sp.open .menu-container {
    background-color: #FFF;
}

.sp .sns, .sp .lang {
    display: none;
}

.sp .menu {
}

.sp .menu-container {
    width: 100%;
}

.sp .menu-mobile {
    position: absolute;
    top: 40px;
    right: 30px;
    display: block;
    z-index: 9999;
}

.sp .menu .icon span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: #FFF;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}

.sp.open .menu .icon span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: #6aae24;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 767px) {
    .sp.open .menu .icon span {
        background: #FFF;
    }
}

@media screen and (max-width: 414px) {
}

.sp .menu .icon span:nth-child(1) {
    top: 1px;
}

.sp .menu .icon span:nth-child(2) {
    top: 6px;
}

.sp .menu .icon span:nth-child(3) {
    top: 11px;
}

/* .menu切り替えアニメーション */
.sp.open .menu .icon span:nth-child(1) {
    top: 6px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
}

.sp.open .menu .icon span:nth-child(2) {
    width: 0 !important;
    left: 50% !important;
}

.sp.open .menu .icon span:nth-child(3) {
    top: 6px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 767px) {
    .sp .menu-mobile {
        position: fixed;
        top: 0;
        right: 0;
        display: block;
        z-index: 9999;
        width: 50px;
        height: 50px;
        /*background-color: rgba(0, 0, 0, 0.15);*/
    }

    .sp.open .menu-mobile {
        /*background-color: rgba(0, 0, 0, 0.15) !important;*/
    }

    .sp .menu .icon span {
        width: 20px;
        left: 0;
        right: 0;
        margin: auto;
    }

    .sp.open .menu .icon span {
        width: 20px;
        left: 0;
        right: 0;
        margin: auto;
    }

    .sp .menu .icon span:nth-child(1) {
        top: 30px;
    }

    .sp .menu .icon span:nth-child(2) {
        top: 35px;
    }

    .sp .menu .icon span:nth-child(3) {
        top: 40px;
    }

    /* .menu切り替えアニメーション */
    .sp.open .menu .icon span:nth-child(1) {
        top: 35px;
    }

    .sp.open .menu .icon span:nth-child(3) {
        top: 35px;
    }
}


.sp .hover .menu .icon span {
    background: #000;
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 767px) {
    .sp .hover .menu .icon span {
        background: #000000;
    }

    .sp.open .hover .menu .icon span {
        background: #231F20 !important;
    }
}

@media screen and (max-width: 414px) {
}


.sp .menu-dropdown-icon .nbtn:before {
    display: block;
}

.sp .menu > ul {
    display: none;
}

.sp .menu > ul > li {
    width: 100%;
    float: none;
    display: block;
    background-color: #f2f2f2;
    /*border-bottom: 1px solid #dfdfdf;*/
}

.sp .menu > ul > li a {
    display: block;
    color: #231F20;
}

.sp .menu > ul > li > ul.normal-sub {
    width: 100%;
}

.sp .menu > ul > li > ul > li {
    float: none;
    width: 100%;
    margin-top: 20px;
    margin-bottom: 30px;
}

.sp .menu > ul > li > ul > li:first-child {
    margin: 0;
}

.sp .menu > ul > li > ul > li > ul {
    position: relative;
}

.sp .menu > ul > li > ul > li > ul > li {
    float: none;
}

.sp .menu .show-on-mobile {
    display: block;
    padding-top: 97px;
    height: 100vh;
    background: #f2f2f2;
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 767px) {
    .sp .menu .show-on-mobile {
        padding-top: 0;
        position: fixed;
        z-index: 1;
        top: 70px;
        left: 0;
        /*background-color: #333;*/
        /*max-height: 300px;*/
        max-height: calc(100vh - 110px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        /*background-color: #FFF;*/
    }
}

@media screen and (max-width: 1249px) {
    .sp .menu .show-on-mobile {
        padding-top: 0;
        position: fixed;
        z-index: 1;
        top: 70px;
        left: 0;
        /*background-color: #333;*/
        /*max-height: 300px;*/
        max-height: calc(100vh - 110px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        /*background-color: #FFF;*/
    }
}

@media screen and (max-width: 414px) {
}

.sp .menu ul li .h_lnk::after {
    display: none;
}


.sp .menu-dropdown-icon {
    position: relative;
}

.sp .nbtn {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 70px;
    height: 100%;
    background: #d3d3d3;
    z-index: 10;
    cursor: pointer;
}

.sp .menu-dropdown-icon .nbtn:before, .sp .menu-dropdown-icon .nbtn:after {
    display: block;
    content: '';
    background: rgba(255, 255, 255, 1);
    border-radius: 10px;
    position: absolute;
    width: 15px;
    height: 1px;
    top: 32px;
    right: 30px;
}

.sp .menu-dropdown-icon .nbtn:before {
    width: 1px;
    height: 15px;
    top: 25px;
    right: 37px;
}

.sp .active.menu-dropdown-icon .nbtn:before {
    width: 0;
    height: 0;
}

.sp .snsSp {
    display: block;
}

.sp .langSp {
    display: table !important;
}

.sp .langSp span {
    display: table-cell !important;
    width: 50% !important;
    text-align: center !important;
}

.sp .langSp span a {
    padding: 25px 0 !important;
}


.sp.open .menu > ul > .snsSp {
    padding: 25px 0;
    text-align: center;
}

.sp.open .ic_wir_Sp {
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #FFF;
    position: relative;
    margin-right: 7px;
    vertical-align: middle;
}

.sp.open .ic_wir_Sp:before {
    position: absolute;
    top: 10px;
    left: 10px;
    display: inline-block;
    width: 20px;
    height: 20px;
    content: "";
    background: url(../../images/ic_twitter.svg);
    background-size: contain;
    vertical-align: middle;
}

.sp.open .tx {
    display: inline-block;
    padding: 25px 10px 25px 0;
}

.sp.open .tx2 {
    display: inline-block;
    padding: 25px 10px 25px 10px;
}


.sp.open .ic_fbk_sp {
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #FFF;
    position: relative;
    margin-right: 7px;
    vertical-align: middle;
}

.sp.open .ic_fbk_sp:before {
    position: absolute;
    top: 10px;
    left: 10px;
    display: inline-block;
    width: 20px;
    height: 20px;
    content: "";
    background: url(../../images/ic_facebook.svg);
    background-size: contain;
    vertical-align: middle;
}

.sp.open .langB {

    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #FFF;
    position: relative;
    margin-right: 7px;
    vertical-align: middle;
}

.sp.open .langB.active {
    background-color: #6aae24;
    color: #FFF;
}

.sp.open .langB:before {
    position: absolute;
    top: 12px;
    left: 10px;
    display: inline-block;
    width: 20px;
    height: 20px;
    vertical-align: middle;
}

.sp.open .langB.tEn:before {
    content: "EN";

}

.sp.open .langB.tJp:before {
    content: "JP";

}


.sp.open .menu > ul > li:last-child {
    border-bottom: 0;
}

/*-----------------------------------------------------
contentsNav
-------------------------------------------------------*/

#contentsNav {
    margin: 0 auto;
    max-width: 1184px;
}

#contentsNav ul {
    display: table;
    border-collapse: separate;
    border-spacing: 30px 0;
    margin: 50px 0;
    padding: 0;
}

#contentsNav li {
    display: table-cell;
    width: 33.3%;
    background-color: #f5f5f5;
}

#contentsNav li .img {
    width: 100%;
    overflow: hidden;
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 767px) {
    #contentsNav ul {
        display: block;
        border-collapse: separate;
        border-spacing: 0 0;
        margin: 0 0;
        padding: 20px;
        background-color: #f5f5f5;
    }

    #contentsNav li {
        display: block;
        width: 100%;
        background-color: #f5f5f5;
    }

    #contentsNav li:nth-child(2) {
        margin: 5px 0;
    }

    #contentsNav li .img {
        order: 2;
        width: 50%;
        overflow: hidden;
    }

    #contentsNav li .item {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
}

@media screen and (max-width: 414px) {
}

#contentsNav li a {
    color: #231F20;
    text-decoration: none;
}


#contentsNav li .img img {
    width: 100%;
    transition: all 0.4s ease-out;
}

#contentsNav li a:hover .img img {
    transform: scale(1.1);
}

#contentsNav li .txtWp {
    margin: -50px 30px 0;
    position: relative;

}

@media screen and (max-width: 1024px) {
    #contentsNav li .txtWp {
        margin: -50px 20px 0;

    }
}


@media screen and (min-width: 415px) {
    #contentsNav li .txt {
        position: relative;
        background-color: #FFF;
        display: block;
        text-align: center;
        padding: 17px 20px 30px 20px;

    }
}

@media screen and (max-width: 414px) {
    #contentsNav li .txt {
        position: relative;
        background-color: #FFF;
        display: block;
        text-align: center;
        padding: 14px 10px 30px 10px;

    }
}


@media screen and (max-width: 767px) {
    #contentsNav li .txtWp {
        display: flex; /* 2 */
        justify-content: center; /* 3 */
        align-items: center; /* 4 */
        margin: 0;
        width: 50%;
        order: 2;
        position: relative;
        background-color: #FFF;

    }
}

@media screen and (max-width: 414px) {
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    #contentsNav li a:hover .txtWp {
        margin-top: -37px;
        -webkit-transition: .3s;
        transition: .3s

    }

    #contentsNav li a:hover .txt {
        background-color: #71b92a;
        color: #FFF;
        padding: 17px 30px 17px 30px;
        -webkit-transition: .3s;
        transition: .3s

    }


    #contentsNav li a:hover .txt::after {
        border-top: 8px solid #71b92a;
        -webkit-transition: .3s;
        transition: .3s
    }


    #contentsNav li a:hover .txt h1::after {
        opacity: 0;
        -webkit-transition: .3s;
        transition: .3s
    }

    #contentsNav li .txt::after {
        position: absolute;
        right: 0;
        left: 0;
        bottom: -16px;
        margin: 0 auto;
        content: "";
        vertical-align: middle;
        box-sizing: border-box;
        width: 8px;
        height: 8px;
        border: 8px solid transparent;
        border-top: 8px solid #FFF;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 414px) {
}


#contentsNav li .txt h1 {
    margin: 0;
    padding: 8px 0 0 0;

}

#contentsNav li .txt h1::after {
    bottom: 17px;
    right: 0;
    left: 0;
    margin: 0 auto;
    position: absolute;
    content: '';
    width: 28px;
    height: 1px;
    background: linear-gradient(-135deg, #b7d316, #78bd36);
}


#contentsNav li .lead {
    margin: 20px 30px 20px 30px;
    padding: 0;
}

#newsContents .inner {
    text-align: center;

}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 767px) {
    #contentsNav li .lead {
        display: none;
    }


}

@media screen and (max-width: 414px) {
}


#newsContents .inner p {
    padding: 0;
    margin: 0;

}


#newsContents .inner h1 {
    padding: 0;
    margin: 5px 0 0 0;

}

/*tab*/


.solutionWp .tabsWp {
    margin: 0 auto 0;
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .tabsWp {
        margin: 40px auto 0;
        max-width: 1124px;
    }


}

@media screen and (max-width: 767px) {
    .tabsWp {
        margin: 25px auto 0;
    }
}

@media screen and (max-width: 414px) {
}

/*タブの中身を初期非表示に*/
.tabs_Panel {
    display: none;
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .tabs {
        position: relative;
        display: flex;
        justify-content: space-around;
    }

    .tabsLst {
        margin: 0;
        padding: 0;
    }

    .tabs_Btn {
        cursor: pointer;
        display: inline-block;
        flex: 1;
        position: relative;
        transition: all .3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        vertical-align: middle;

        border-top: 1px solid #FFF;
        border-left: 1px solid #FFF;
        border-right: 1px solid #FFF;
        border-top-right-radius: 3px;
        border-top-left-radius: 3px;
        padding: 13px 60px;

    }

    .tabs_Btn.is-active {
        border-top: 1px solid #dddddd;
        border-left: 1px solid #dddddd;
        border-right: 1px solid #dddddd;
        background-color: #FFF;
        box-sizing: border-box;
        color: #71b92a;
    }

    .tabs_Btn:hover {
        border-top: 1px solid #dddddd;
        border-left: 1px solid #dddddd;
        border-right: 1px solid #dddddd;
        box-sizing: border-box;
    }

    .tabs::after {
        position: absolute;
        right: 0;
        left: 0;
        bottom: 0;
        margin: 0 auto;
        content: "";
        vertical-align: middle;
        box-sizing: border-box;
        width: 100%;
        height: 1px;
        border-bottom: 1px solid #dddddd;
        z-index: -1;
    }
}

@media screen and (max-width: 767px) {
    .tabs {
        position: relative;
        display: flex;
        justify-content: space-around;
        padding-bottom: 30px;
    }

    .tabsLst {
        margin: 0;
        padding: 0;
    }

    .tabs_Btn {
        display: inline-block;
        padding: 0 20px;
        cursor: pointer;

    }

    .tabs_Btn.is-active {
        color: #79bd36;
    }

    .tabs_Btn:hover {
    }


}

@media screen and (max-width: 414px) {
    .tabs_Btn {
        display: inline-block;
        padding: 0 7px;

    }
}

.tabsWp .newsList {
    width: 100%;
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .tabsWp .newsWp .link {
        margin-top: 50px;

    }

    .tabsWp .newsWp {
        max-width: 960px;
        margin: 50px auto;
        padding: 0 30px;

    }
}

@media screen and (max-width: 767px) {
    .tabsWp .newsWp .link {
        margin-top: 20px;

    }

    .tabsWp .newsWp {
        margin: 0 0;
        padding: 0 20px;

    }
}

@media screen and (max-width: 414px) {
}


.tabsWp .newsList cite p:hover {
    color: #71b92a;
    text-decoration: underline;
}

.tabsWp .newsWp .link a {
    position: relative;
    border-color: #ddd;
    border-style: solid;
    border-width: 1px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    padding: 10px 20px;
    display: inline-block;
    min-width: 45%;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.tabsWp .newsWp .link a:hover {
    text-decoration: none;
    border-color: #71b92a;
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .tabsWp .irp-item {
        display: table;
        width: 100%;
        padding: 20px 0;
    }

    .tabsWp .irp-item .irp-date {
        display: table-cell;
        vertical-align: middle;
        padding: 4px 0 4px 30px;
        position: relative;
    }
}

@media screen and (max-width: 767px) {
    .tabsWp .irp-item {
        padding: 20px;
    }

    .tabsWp .irp-item .irp-date {
        display: block;
        padding: 0 0 0 0;
        position: relative;
    }
}

@media screen and (max-width: 414px) {
}


.tabsWp .irp-item:nth-child(odd) {
    background: #f5f5f5;
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .tabsWp .irp-title-block {
        display: table-cell;
        vertical-align: middle;
        padding-right: 30px;
    }

    .tabsWp .irp-item.press .irp-date {
        width: 250px;
    }

    .tabsWp .irp-item.press .irp-date::after {
        position: absolute;
        top: 0;
        left: 148px;
        bottom: 0;
        margin: auto;
        content: "プレスリリース";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px 10px 0 10px;
        height: 21px;
        background-color: #79bd36;
        display: inline-block;
    }

    .tabsWp .irp-item.event .irp-date {
        width: 213px;
    }

    .tabsWp .irp-item.event .irp-date::after {
        position: absolute;
        top: 0;
        left: 149px;
        bottom: 0;
        margin: auto;
        content: "イベント";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px 10px 0 10px;
        height: 21px;
        background-color: #79bd36;
        display: inline-block;
    }

    .tabsWp .irp-item.media .irp-date {
        width: 213px;
    }

    .tabsWp .irp-item.media .irp-date::after {
        position: absolute;
        top: 0;
        left: 149px;
        bottom: 0;
        margin: auto;
        content: "メディア";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px 10px 0 10px;
        height: 21px;
        background-color: #79bd36;
        display: inline-block;
    }


    .tabsWp.ir .irp-item .irp-date {
        width: 213px;
    }

    .tabsWp.ir .irp-item .irp-date::after, .tabsWp .irp-item.irnews .irp-date::after, .tabsWp .irp-item.pressir .irp-date::after {
        position: absolute;
        top: 0;
        left: 149px;
        bottom: 0;
        margin: auto;
        content: "リリース";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px 10px 0 10px;
        height: 21px;
        background-color: #79bd36;
        display: inline-block;
    }

    .tabsWp .irp-item.tanshin .irp-date, .tabsWp .irp-item.yuho .irp-date, .tabsWp .irp-item.irnews .irp-date, .tabsWp .irp-item.pressir .irp-date {
        width: 213px;
    }

    .tabsWp .irp-item.tanshin .irp-date::after, .tabsWp .irp-item.yuho .irp-date::after {
        position: absolute;
        top: 0;
        left: 149px;
        bottom: 0;
        margin: auto;
        content: "決算情報";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px 10px 0 10px;
        height: 21px;
        background-color: #e96d46;
        display: inline-block;
    }
}

@media screen and (max-width: 767px) {

    .tabsWp .irp-title-block {
        display: block;
        padding-top: 10px;
    }

    .tabsWp .irp-item.press .irp-date::after {
        content: "プレスリリース";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px;
        margin-left: 10px;
        background-color: #79bd36;
        display: inline-block;
    }

    .tabsWp .irp-item.event .irp-date::after {
        content: "イベント";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px;
        margin-left: 10px;
        background-color: #79bd36;
        display: inline-block;
    }

    .tabsWp .irp-item.media .irp-date::after {
        content: "メディア";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px;
        margin-left: 10px;
        background-color: #79bd36;
        display: inline-block;
    }

    .tabsWp.ir .irp-item .irp-date::after, .tabsWp .irp-item.irnews .irp-date::after, .tabsWp .irp-item.pressir .irp-date::after {
        content: "リリース";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px;
        margin-left: 10px;
        background-color: #79bd36;
        display: inline-block;
    }

    .tabsWp .irp-item.tanshin .irp-date::after, .tabsWp .irp-item.yuho .irp-date::after {
        content: "決算情報";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px;
        margin-left: 10px;
        background-color: #e96d46;
        display: inline-block;
    }

}

@media screen and (max-width: 414px) {
    .tabsWp .irp-date::after {
        font-size: 2.6666vw;
    }
}


/*-----------------------------------------------------
mainVisual
-------------------------------------------------------*/

#mainVisual {
    position: relative;
    display: table;
    width: 100%;
    height: 100%;
    color: #FFF;
    text-align: center;

}

@media screen and (min-width: 1025px) {
    #mainVisual {
        height: 100vh;
    }
}

@media screen and (max-width: 1024px) {
    #mainVisual {
        height: 700px;
    }
}

@media screen and (max-width: 767px) {
    #mainVisual {
        height: 500px;
    }
}

@media screen and (max-width: 414px) {
    #mainVisual {
        height: 300px;
    }
}

#mainVisual #mainTitle {
    max-width: 550px;
    padding: 0 30px;
    display: inline-block;
}

#mainVisual .txt {
    padding: 0 30px;
}


#mainVisual #mainTitle img {
    width: 100%;

}

#mainVisual #bx {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    z-index: 2;
    width: 100%;
    padding: 50px 0;
    opacity: 1;
    transition: all 3s ease-out;

}


#mainVisual #bx p {
    padding: 0 40px;

}

#mainVisual #bx p img {
    width: 100%;
    max-width: 573px;

}

#mainVisual .subTitle {
    position: relative;
    margin: 12px 30px 50px 30px;

}

#mainVisual .subTitle:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -25px;
    margin: auto;
    width: 60px;
    height: 2px;
    border-bottom: 2px solid #e60012;
}

#slidBnr {
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: #231F20;
}

.zs-enabled {
    position: relative
}

.zs-enabled .zs-slideshow, .zs-enabled .zs-slides, .zs-enabled .zs-slide {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;

}

.zs-enabled .zs-slideshow .zs-slides .zs-slide {
    background: transparent none no-repeat 50% 50%;
    background-size: cover;
    position: absolute;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: scale(1.2, 1.2);
    -moz-transform: scale(1.2, 1.2);
    -ms-transform: scale(1.2, 1.2);
    -o-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
}

.zs-enabled .zs-slideshow .zs-slides .zs-slide.active1 {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1);
    opacity: 0;
    -webkit-transition: all 1.0s;
    transition: all 1.0s;
}


.zs-enabled .zs-slideshow .zs-slides .zs-slide.active {
    visibility: visible;
    opacity: 1
}

.zs-enabled .zs-slideshow .zs-bullets {
    display: none;
    position: absolute;
    z-index: 4;
    bottom: 20px;
    left: 0;
    width: 100%;
    text-align: center
}

.zs-bullet-3 {
    z-index: 100;

}

.zs-enabled .zs-slideshow .zs-bullets .zs-bullet {
    display: inline-block;
    cursor: pointer;
    border: 2px solid #ccc;
    width: 14px;
    height: 14px;
    border-radius: 8px;
    margin: 10px;
    background-color: #4a4a4a
}

.zs-enabled .zs-slideshow .zs-bullets .zs-bullet.active {
    background-color: #ccc
}

.zs-enabled .zs-slideshow:after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    background: transparent none repeat 0 0
}


/*-----------------------------------------------------
banner
-------------------------------------------------------*/
.wrp_bn img {
    width: 100%;

}

.banner {
    display: unset;
}

/*-----------------------------------------------------
footer
-------------------------------------------------------*/

@media screen and (min-width: 1025px) {
    #footerNavWp #footerNav {

        display: table;
        border-collapse: separate;
        border-spacing: 30px 0;
        width: 100%;
        max-width: 1184px;
        margin: 0 auto;
        padding-top: 30px;
        padding-bottom: 20px;
    }
}

@media screen and (max-width: 1024px) {
    #footerNavWp #footerNav {

        display: table;
        border-collapse: separate;
        border-spacing: 20px 0;
        width: 100%;
        max-width: 1184px;
        margin: 0 auto;
        padding-top: 30px;
        padding-bottom: 20px;
    }

}

@media screen and (min-width: 768px) {

    .footerCntNav.c2 {
        margin-top: 10px;
    }

    .footerCntNavWp {
        margin: 0 auto;
        padding: 0 20px;
        max-width: 1144px;
    }

    .footerWp {
        clear: both;
        width: 100%;
        padding: 50px 0;
        background-color: #f5f5f5;
    }

    .footerCntNav {
        width: 100%;
        display: table;
        border-collapse: separate;
        border-spacing: 10px 0;

    }

    .footerCntNav .bx {
        display: table-cell;
        width: 33.3%;
        background-color: #FFF;
    }

    .footerCntNav .bx .rgt {
        position: relative;
        display: table-cell;
        vertical-align: middle;
        width: 50%;
        overflow: hidden;
    }

    .footerCntNav.c1 .bx .lft::after {
        position: absolute;
        top: 0;
        right: -16px;
        bottom: 0;
        margin: auto 0;
        content: "";
        vertical-align: middle;
        box-sizing: border-box;
        width: 8px;
        height: 8px;
        border: 8px solid transparent;
        border-left: 8px solid #FFF;
        z-index: 1;
    }

    .footerCntNav.c2 .bx .lft::after {
        position: absolute;
        top: 0;
        left: -16px;
        bottom: 0;
        margin: auto 0;
        content: "";
        vertical-align: middle;
        box-sizing: border-box;
        width: 8px;
        height: 8px;
        border: 8px solid transparent;
        border-right: 8px solid #FFF;
        z-index: 1;
    }

    .footerCntNav .bx .lft {
        position: relative;
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }

    #pageTop {
        position: absolute;
        top: -20px;
        right: 30px;
        width: 40px;
        height: 40px;
        margin: 0;

    }

    #pageTop a {
        display: block;
        width: 40px;
        height: 40px;
        background: linear-gradient(-135deg, #b7d316, #78bd36);

    }

    #pageTop::after {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        content: "";
        vertical-align: middle;
        width: 4px;
        height: 4px;
        border-top: 2px solid #FFF;
        border-right: 2px solid #FFF;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    #footerNav .fnavList {
        display: table-cell;
        width: 20%;
        vertical-align: top;
    }

    #footerNav .fnavList h1 {
        padding-bottom: 10px;
        margin-bottom: 15px;
        border-bottom: 1px solid #ddd;
    }

    #footerNav .fnavList li {
        position: relative;
        padding-bottom: 5px;
        padding-left: 10px;
        list-style: none;
    }

    #footerNav .fnavList .l2 {
        padding-left: 21px;
    }

    #footerNav .fnavList li a {
        text-decoration: none;
        color: #231F20;
    }

    #footerNav .fnavList li a:hover {
        text-decoration: underline;
        color: #71b92a;
    }

    #footerNav .fnavList li a:after {
        position: absolute;
        top: 4px;
        left: 0;
        content: "";
        vertical-align: middle;
        box-sizing: border-box;
        width: 3px;
        height: 3px;
        border: 3px solid transparent;
        border-left: 3px solid #c4c4c4;
    }

    #footerNav .fnavList .l2 a:after {
        position: absolute;
        top: 7px;
        left: 10px;
        content: "";
        vertical-align: middle;
        width: 4px;
        height: 1px;
        background-color: #c4c4c4;
        border: none;
    }

    #footerNav .fnavList.tw2 {
        display: table-cell;
        width: 40%;
        vertical-align: top;
    }

    #footerNav .fnavList .ulWp {

    }

    #footerNav .fnavList.tw2 .ulWp {
        width: 50%;
        float: left;
        padding-right: 0;

    }

    #footerNav .fnavList ul {
        padding: 0 0 10px 0;
        margin: 0;

    }

    .fnavlcalWp {
        color: #FFF;
        padding: 15px 0;
        margin: 0;
        background: linear-gradient(-135deg, #b7d316, #78bd36);
    }

    .fnavlcal {
        margin: 0 auto 0;
        max-width: 1124px;
        padding: 0 20px;
        display: flex;
        flex-wrap: wrap;
    }

    .fnavlcal ul {
        justify-content: center;
        text-align: right;
        width: 60%;
        order: 2;
    }

    .fnavlcal ul li {
        display: inline-block;
        padding: 0 0 0 15px;
    }

    .fnavlcal ul li a {
        color: #FFF;
    }

    #copyright {
        justify-content: center;
        width: 40%;
        text-align: left;
        padding-top: 5px;
        order: 1;

    }
}

@media screen and (max-width: 767px) {
    .footerCntNav.c2 {
    }

    .footerCntNavWp {
        display: table;
        width: 100%;
        padding-bottom: 20px;
    }

    .footerWp {
        clear: both;
        width: 100%;
        padding: 0;
        background-color: #f5f5f5;
    }

    .footerCntNav {
        display: table-cell;
        width: 50%;

    }

    .footerCntNav:nth-child(1) {
        padding: 0 10px 0 20px;
    }

    .footerCntNav:nth-child(2) {
        padding: 0 20px 0 10px;
    }

    .footerCntNav .bx .rgt {
        display: none;
    }

    .footerCntNav .bx .lead {
        display: none;
    }

    .footerCntNav .bx .lft {
        border-bottom: 1px solid #dedede;
        padding: 20px 0;
    }

    #pageTop {
        display: none;

    }

    #footerNavWp #footerNav {
        display: none;
    }

    .fnavlcalWp {
        color: #FFF;
        padding: 20px 0;
        margin: 0;
        background: linear-gradient(-135deg, #b7d316, #78bd36);
    }

    .fnavlcal {
        width: 100%;
    }

    .fnavlcal ul {
        text-align: center;
    }

    .fnavlcal ul li {
        display: inline-block;
        padding: 0 0 0 15px;
    }

    .fnavlcal ul li a {
        color: #FFF;
    }

    #copyright {
        text-align: center;
        padding-top: 15px;

    }


}

@media screen and (max-width: 414px) {
    .footerCntNav .bx .lft {
        padding: 15px 0;
    }
}


.footerCntNav .bx a {
    display: block;
    width: 100%;
    height: 100%;
    color: #231F20;
    text-decoration: none;
    text-align: center;
}

.bxArea {
    width: 100%;
    display: table;
    border-spacing: 0 0;

}


.footerCntNav .bx img {
    width: 100%;
    transition: all 0.4s ease-out;
}

.bx a:hover img {
    transform: scale(1.1);
}


.footerCntNav .bx .rgt .imgWp {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}


#footerNavWp {
    position: relative;
}


@media screen and (min-width: 768px) {
    #maincontent {
        margin-top: 96px;
    }
}

@media screen and (max-width: 767px) {
    #maincontent {
        margin-top: 70px;
    }
}


.kv {
    position: relative;
    z-index: 10;
    overflow: hidden;
}

.kv {
    position: relative;
    z-index: 10;
    overflow: hidden;
}

.kv_in_about {
    background-image: url(../../images/kv_about.jpg);
    display: block;
    background-size: cover;
    overflow: hidden;
    background-position: center center;
}

.kv_in_news {
    background-image: url(../../images/kv_news.jpg);
    display: block;
    background-size: cover;
    overflow: hidden;
    background-position: center center;
}

.kv_in_ir {
    background-image: url(../../images/kv_ir.jpg);
    display: block;
    background-size: cover;
    overflow: hidden;
    background-position: center center;
}

.kv_in_business {
    background-image: url(../../images/kv_in_business.jpg);
    display: block;
    background-size: cover;
    overflow: hidden;
    background-position: center center;
}

.kv_in_company {
    background-image: url(../../images/kv_company.jpg);
    display: block;
    background-size: cover;
    overflow: hidden;
    background-position: center center;
}

.kv_in_inquiry {
    background-image: url(../../images/kv_inquiry.jpg);
    display: block;
    background-size: cover;
    overflow: hidden;
    background-position: center center;
}

.kv_in_privacy {
    background-image: url(../../images/kv_privacy.jpg);
    display: block;
    background-size: cover;
    overflow: hidden;
    background-position: center center;
}


@media screen and (min-width: 768px) {
    .kv_in_about {
        padding-top: 23%;
    }

    .kv_in_news {
        padding-top: 23%;
    }

    .kv_in_ir {
        padding-top: 23%;
    }

    .kv_in_business {
        padding-top: 23%;
    }

    .kv_in_company {
        padding-top: 23%;
    }

    .kv_in_inquiry {
        padding-top: 23%;
    }

    .kv_in_privacy {
        padding-top: 23%;
    }
}

@media screen and (max-width: 767px) {
    .kv_in_about {
        padding-top: 33%;
    }

    .kv_in_news {
        padding-top: 33%;
    }

    .kv_in_ir {
        padding-top: 33%;
    }

    .kv_in_business {
        padding-top: 33%;
    }

    .kv_in_company {
        padding-top: 33%;
    }

    .kv_in_inquiry {
        padding-top: 33%;
    }

    .kv_in_privacy {
        padding-top: 33%;
    }
}

@media screen and (max-width: 414px) {
    .kv_in_about {
        padding-top: 43%;
    }

    .kv_in_news {
        padding-top: 43%;
    }

    .kv_in_ir {
        padding-top: 43%;
    }

    .kv_in_business {
        padding-top: 43%;
    }

    .kv_in_company {
        padding-top: 43%;
    }

    .kv_in_inquiry {
        padding-top: 43%;
    }

    .kv_in_privacy {
        padding-top: 43%;
    }
}


@media screen and (min-width: 768px) {
    #mainTitle {
        margin-top: 60px;
        width: 100%;
        text-align: center;
    }

    #mainTitle h1::before {
        right: 0;
        left: 0;
        top: -90px;
        margin: 0 auto;
        position: absolute;
        content: '';
        width: 1px;
        height: 60px;
        background-color: #71b92a;
        z-index: 100;
    }
}

@media screen and (max-width: 767px) {
    #mainTitle {
        margin-top: 40px;
        width: 100%;
        text-align: center;
    }

    #mainTitle h1::before {
        right: 0;
        left: 0;
        top: -60px;
        margin: 0 auto;
        position: absolute;
        content: '';
        width: 1px;
        height: 40px;
        background-color: #71b92a;
        z-index: 100;
    }
}


#mainTitle h1 {
    padding: 0 20px 30px 20px;
    margin: 0;
    position: relative;
}

#mainTitle.bgN h1 {
    padding: 60px 0 30px 0;
    margin: 0;
    position: relative;
}

#mainTitle.bgN h1::before {
    display: none;
}


#mainTitle h1::after {
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    position: absolute;
    content: '';
    width: 28px;
    height: 3px;
    background: linear-gradient(-135deg, #b7d316, #78bd36);
}


@media screen and (min-width: 768px) {
    .mainInner {
        margin: 60px auto 0;
        padding: 0 30px;
        max-width: 1124px;
    }
}

@media screen and (max-width: 767px) {
    .mainInner {
        margin: 30px auto 0;
        padding: 0 20px;
        max-width: 1124px;
    }
}


#mainContents {
    float: left;
    width: 75%;
    padding-bottom: 100px;
}

@media screen and (max-width: 1024px) {
    #mainContents {
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    #mainContents {
        padding-bottom: 30px;
    }
}

@media screen and (max-width: 414px) {
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    #newsContents {
        float: left;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    #newsContents {
        float: left;
        width: 100%;
        padding-bottom: 30px;
    }
}

@media screen and (max-width: 414px) {
}


#side {
    float: right;
    width: 21%;
    padding-bottom: 100px;
}

@media screen and (max-width: 1024px) {
    #side {
        display: none;
    }
}

@media screen and (max-width: 767px) {

}

@media screen and (max-width: 414px) {
}

#local-nav .title {
    padding: 25px 15px;
    margin: 0;
    position: relative;

}

#local-nav .title::after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    vertical-align: middle;
    width: 100%;
    height: 3px;
    background: linear-gradient(-135deg, #b7d316, #78bd36);

}


.localnav .localnavWp {
    border-top: 1px solid #ddd;

}

.localnav .localnavWp li {
    border-bottom: 1px solid #ddd;

}

.localnav .localnavWp li ul li {
    border: none;

}

.localnav ul li .localnav_s li a:hover {
    background-color: #f5f5f5;
}


.localnav .mainlnk {
    display: block;
    padding: 15px 15px 15px 32px;
    position: relative;
}

.lisNews a {
    display: block;
    padding: 15px 15px 15px 32px;
    position: relative;

}

.localnav .mainlnk::after, .lisNews a::after {
    position: absolute;
    top: 22px;
    left: 15px;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 4px;
    height: 4px;
    border-top: 2px solid #71b92a;
    border-right: 2px solid #71b92a;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.localnav .mainlnk:hover, .localnav .active {
    background-color: #f5f5f5;
}

.localnav ul li .localnav_s {

}

.localnav ul li .localnav_s li {
    width: 100%;
    margin: 0 0 1px 0;
    padding: 0;
    border-bottom: none;

}

.localnav ul li .localnav_s li:last-child {
    margin-bottom: 15px;
}


/*
.localnav ul li .localnav_s li:first-child{
	margin-top:15px;
}
*/


.localnav ul li .localnav_s li a {
    position: relative;
    display: block;
    padding: 6px 15px 6px 50px;

}

.localnav ul li .localnav_s li a:after {
    position: absolute;
    top: 16px;
    left: 33px;
    content: "";
    margin: auto 0;
    width: 5px;
    height: 1px;
    background-color: #71b92a;
    border: none;
}

.localnav ul li .localnav_s li a:hover {
    background-color: #f5f5f5;
}

@media screen and (min-width: 768px) {
    #topicpath {
        clear: both;
        margin: 0 auto 0;
        padding: 0 30px;
        max-width: 1124px;
    }

    #topicpath .inner {
        padding: 0 0 50px 0;
    }

    #topicpath .inner a {
        color: #231F20;
        text-decoration: none;
    }

    #topicpath .inner ol {
        padding: 0;
        text-align: left;
    }

    #topicpath .inner ol li {
        display: inline-block;
        padding: 0 10px 0 15px;
        position: relative;
        color: #666;
    }

    #topicpath .inner ol li a {
        display: block;
    }

    #topicpath .inner ol li a:hover {
        text-decoration: underline;
        color: #71b92a;
    }

    #topicpath .inner ol li:first-child {
        display: inline-block;
        position: relative;
        padding-left: 0;
    }

    #topicpath .inner ol li:first-child a {
        position: relative;
        display: inline-block;
        text-indent: -9999px;
        width: 13px;
        height: 13px;
        background: url(../../images/home.svg) no-repeat center center;

    }


    #topicpath .inner ol li::after {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        content: "";
        vertical-align: middle;
        width: 2px;
        height: 2px;
        border-top: 1px solid #71b92a;
        border-right: 1px solid #71b92a;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    #topicpath .inner ol li:first-child::after {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    #topicpath {
        display: none;
    }
}

.titleB {
    padding-bottom: 20px;
    margin-bottom: 30px;
    border-bottom: 1px solid #ddd;
}

.titleB h2, .titleB .tlH {
    padding: 0 0 0 22px;
    margin: 0;
    position: relative;
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .titleB h2::after, .titleB .tlH::after {
        position: absolute;
        top: 6px;
        left: 0;
        margin: auto;
        content: "";
        vertical-align: middle;
        width: 17px;
        height: 22px;
        background: url(../../images/ic.svg) no-repeat left top;
        background-size: contain;
    }

    .titleB {
        padding-bottom: 20px;
        margin-bottom: 30px;
        border-bottom: 1px solid #ddd;
        clear: both;
    }
}

@media screen and (max-width: 767px) {
    .titleB h2::after, .titleB .tlH::after {
        position: absolute;
        top: 2px;
        left: 0;
        margin: auto;
        content: "";
        vertical-align: middle;
        width: 17px;
        height: 22px;
        background: url(../../images/ic.svg) no-repeat left top;
        background-size: contain;
    }

    .titleB {
        padding-bottom: 10px;
        margin-bottom: 20px;
        border-bottom: 1px solid #ddd;
    }
}

@media screen and (max-width: 414px) {
    .titleB h2::after, .titleB .tlH::after {
        position: absolute;
        top: 1px;
        left: 0;
        margin: auto;
        content: "";
        vertical-align: middle;
        width: 17px;
        height: 22px;
        background: url(../../images/ic.svg) no-repeat left top;
        background-size: contain;
    }
}


.strengthsWp:last-child {
    margin-bottom: 0;
}


@media screen and (min-width: 768px) {
    .strengthsWp {
        background-color: #f5f5f5;
        padding-bottom: 70px;
        margin-bottom: 30px;
        border-radius: 3px;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
    }

    .strengths .tl {
        padding-top: 70px;
    }

    .strengths {
        margin: 0 auto;
        padding: 0 60px;
        max-width: 640px;

    }

    .strengths h3 {
        padding-top: 40px;
    }

}

@media screen and (max-width: 767px) {
    .strengthsWp {
        background-color: #f5f5f5;
        padding-bottom: 30px;
        margin-bottom: 30px;
        border-radius: 3px;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
    }

    .strengths .tl {
        padding-top: 30px;
    }

    .strengths {
        margin: 0 auto;
        padding: 0 30px;

    }

    .strengths h3 {
        padding-top: 20px;
    }

}

@media screen and (max-width: 414px) {
    .strengths {
        margin: 0 auto;
        padding: 0 20px;

    }
}

.strengths .img {
    width: 100%;
    text-align: center;
    padding-top: 30px;
}

.strengths .img img {
    width: 100%;
}


.strengths .tx {
    padding-top: 30px;
}

.strengths h2 {
    padding-top: 15px;
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .tabsWp .solutionArea {
        margin: 30px auto 0;

    }
}

@media screen and (max-width: 767px) {
    .tabsWp .solutionArea {
        margin: 0 auto 0;

    }
}

@media screen and (max-width: 414px) {
}


.solutionArea .tag {
    padding-bottom: 15px;
}

.solutionArea .tag li {
    border-radius: 3px;
    margin-right: 5px;
    padding: 6px 10px 0 10px;
    height: 21px;
    display: inline-block;
    margin-bottom: 5px;
}

.solutionArea .tag.tag_media li {
    background-color: #79bd36;

}

.solutionArea .tag.tag_marketplace li {
    background-color: #b61f32;

}

.solutionArea .tag.tag_solution li {
    background-color: #e1bb03;

}


.solutionList {
    float: left;
    width: 100%;
}

.solutionList .solutionInner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
}

.solutionList .bx a .img img {
    width: 100%;
    transition: all 0.4s ease-out;
}

.solutionList .bx a:hover .img img {
    transform: scale(1.1);
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .solutionList .bx {
        width: auto;
        display: inline-block;
        vertical-align: top;
        letter-spacing: normal;
        margin: 20px 0 0 0;
        background-color: #f5f5f5;
    }

    .solutionList .bx:nth-child(3n) {
        margin-right: 0;
    }

    .solutionList .bx .wrap {
        padding: 20px;
    }
}

@media screen and (max-width: 767px) {
    .solutionList .bx {
        width: auto;
        display: inline-block;
        vertical-align: top;
        letter-spacing: normal;
        margin: 20px 0 0 0;
        background-color: #f5f5f5;
        width: 49% !important;
    }

    .solutionList .bx:nth-child(even) {
        width: auto;
        display: inline-block;
        vertical-align: top;
        letter-spacing: normal;
        margin: 20px 0 0 0;
        background-color: #f5f5f5;
        width: 49% !important;
    }

    .solutionList .bx:nth-child(1) {
        margin-top: 0;
    }

    .solutionList .bx:nth-child(2) {
        margin-top: 0;
    }

    .solutionList .bx .wrap {
        padding: 15px;
    }

}

@media screen and (max-width: 414px) {
}


.solutionList .bx .wrap h1 {
    padding: 0 0 7px 0;
}

.solutionList .bx a:hover {
    color: #231F20;
    text-decoration: none;

}


.solutionList .bx a:hover .link span {
    text-decoration: none;

}


.solutionList .bx .wrap .link {
    text-align: right;

}

.solutionList .bx .wrap .link span {
    display: inline-block;
    position: relative;
    text-decoration: underline;

}

.solutionList .bx .wrap .link span:after {
    position: absolute;
    top: 6px;
    left: -10px;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #c4c4c4;
}

.solutionList .img {
    overflow: hidden;
}


.contentsArea {
    width: 100%;
}


.leadArea .photo_img img {
    width: 100%;
}

.leadArea {
    width: 100%;
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .timelineWrap {
        width: 100%;
        overflow: hidden;
        position: relative;
    }

    .timeline {
        width: 100%;
    }

    .timeline .year {
        text-align: center;
        background: linear-gradient(-135deg, #b7d316, #78bd36);
        padding: 10px 0;
        margin-bottom: 50px;
        color: #FFF;
    }

    .timeline .month {
        float: left;
        min-width: 22px;
        text-align: center;
        padding: 0 13px 0 30px;
        color: #7abd35;
    }

    .timeline .month + p {
        overflow: hidden;
    }

    .timeline .detail.hisL:after {
        content: "";
        position: absolute;
        right: -8px;
        left: auto;
        top: 0;
        width: 10px;
        height: 10px;
        border: 3px solid #7abd35;
        background-color: #FFF;
        border-radius: 50%;
        -moz-border-radius: 50%;
        -webkit-border-radius: 50%;
    }

    .timeline .detail:after {
        content: "";
        position: absolute;
        left: -8px;
        top: 0;
        width: 10px;
        height: 10px;
        border: 3px solid #7abd35;
        background-color: #FFF;
        border-radius: 50%;
        -moz-border-radius: 50%;
        -webkit-border-radius: 50%;
    }

    .hisL .month {
        float: right;
        padding: 0 30px 0 13px;
    }

    .timeline .detail.hisL {
        margin: 0 50% 50px 0;
        text-align: right;
    }

    .timeline .detail {
        position: relative;
        margin: 0 auto 50px 50%;
    }

    .timelineWrap:before {
        content: "";
        position: absolute;
        left: 49.8%;
        bottom: 0;
        top: 0;
        width: 1px;
        height: 100%;
        border-right: 1px solid #dfdfdf;
        z-index: -1;
    }


    .timeline .detail .hisIm {
        display: block;
        padding: 10px 30px 0 30px;
    }

    .msg {
        padding-top: 50px;
        width: 100%;
        text-align: center;
    }

    .msg h2 {
        padding-bottom: 20px;

    }
}

@media screen and (max-width: 767px) {

    .timelineWrap {
        width: 100%;
        overflow: hidden;
        position: relative;
    }

    .timeline {
        width: 100%;
    }

    .timeline .year {
        text-align: center;
        background: linear-gradient(-135deg, #b7d316, #78bd36);
        padding: 10px 0;
        margin-bottom: 20px;
        color: #FFF;
    }

    .timeline .month {
        float: left;
        min-width: 22px;
        text-align: center;
        padding: 0 13px 0 30px;
        color: #7abd35;
    }

    .timeline .month + p {
        overflow: hidden;
    }

    .timeline .detail.hisL:after {
        content: "";
        position: absolute;
        left: 4px;
        top: 0;
        width: 10px;
        height: 10px;
        border: 3px solid #7abd35;
        background-color: #FFF;
        border-radius: 50%;
        -moz-border-radius: 50%;
        -webkit-border-radius: 50%;
    }


    .timeline .detail:after {
        content: "";
        position: absolute;
        left: 4px;
        top: 0;
        width: 10px;
        height: 10px;
        border: 3px solid #7abd35;
        background-color: #FFF;
        border-radius: 50%;
        -moz-border-radius: 50%;
        -webkit-border-radius: 50%;
    }

    .hisL .month {
    }

    .timeline .detail.hisL {
        position: relative;
        margin: 0 0 20px 0;
    }

    .timeline .detail {
        position: relative;
        margin: 0 0 20px 0;
    }

    .timelineWrap:before {
        content: "";
        position: absolute;
        left: 10px;
        bottom: 0;
        top: 0;
        width: 1px;
        height: 100%;
        border-right: 1px solid #dfdfdf;
        z-index: -1;
    }


    .timeline .detail .hisIm {
        display: block;
        padding: 10px 30px 0 30px;
    }

    .msg {
        padding-top: 10px;
        width: 100%;
    }

    .msg h2 {
        padding-bottom: 20px;

    }

}

@media screen and (min-width: 415px) {
}

@media screen and (max-width: 414px) {
}


.visionWp .tx {
    width: 100%;
}

.visionBx.last {
    margin-bottom: 0;

}


.visionBx h1 {
    padding-top: 15px;
}


.officer:last-child {
    padding-bottom: 0;
}


.officerWp h1 {
    width: 100%;
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .officerWp {
        display: table;
        width: 100%;

    }

    .officerWp .lft {
        width: 36%;
        display: table-cell;
        vertical-align: top;
    }

    .officerWp .rgt {
        display: table-cell;
        vertical-align: top;
        width: 64%;
    }

    .officerWp .rgtWp {
        padding-left: 35px;
    }

    .officerWp .lft img {
        width: 100%;
    }

    .officerWp .rgtWp .ed {
        padding-top: 20px;
    }

    .officer {
        float: left;
        width: 100%;
        padding-bottom: 40px;
        clear: both;
    }

    .officerWp .rgt h1 {
        display: flex;

    }

    .officerWp .rgt h1 .name {
        white-space: nowrap;
        padding-right: 15px
    }

    .officerWp .rgt h1 .position {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
    }

    .spLt {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .officerWp {
        width: 100%;

    }

    .officerWp .lft {
    }

    .officerWp .rgt {
    }

    .officerWp .rgtWp {
        padding-top: 20px;
    }

    .officerWp .lft img {
        width: 100%;
    }

    .officerWp .rgtWp .ed {
        padding-top: 20px;
    }

    .officer {
        float: left;
        width: 100%;
        padding-bottom: 30px;
        clear: both;
    }

    .officerWp .rgt h1 {
        display: flex;

    }

    .officerWp .rgt h1 .name {
        white-space: nowrap;
        padding-right: 10px
    }

    .officerWp .rgt h1 .position {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
    }

    .menu .show-on-mobile li ul li ul .subSp a:after {
        position: absolute;
        top: 14px;
        left: 10px;
        content: "";
        vertical-align: middle;
        width: 4px;
        height: 1px;
        background-color: #6aae24;
        border: none;
    }

}

@media screen and (min-width: 415px) {
}

@media screen and (max-width: 414px) {
}


.companyWp {
}

.companyWp .companyinfo {
}

.companyWp .companyinfo .locations {
    padding-top: 5px;
    display: block;
}

.graph {
    border-top: 1px solid #ddd;
}

.graph dl dd .lnk {
    position: relative;
    padding-left: 10px;
}

.graph dl dd .lnk:after {
    position: absolute;
    top: 6px;
    left: 0;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #c4c4c4;
}

.graph dl dd .gmap {
    color: #79bd36;
    text-decoration: underline;
    background-position: 2px center;
    background-repeat: no-repeat;
    padding-left: 14px;
    background-image: url(../../images/map.svg);
}

.graph dl dd .gmap:hover {
    text-decoration: none;
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .mb30 {
        margin-bottom: 30px;
    }

}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 414px) {
}


.mb50 {
    margin-bottom: 50px;
}

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

.google-maps #map_canvas {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.google-maps #map_canvas iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.google-maps {
    padding-bottom: 30px;
}


.businessWp {
    width: 100%;
    padding-bottom: 100px;
}

.businessImg {
    padding-top: 0;
    margin: auto;
}

@media screen and (min-width: 1025px) {
    .business {
        margin: 60px auto 0;
        padding: 0 30px;
        max-width: 1124px;
        display: table;
    }

    .business .lft {
        display: table-cell;
        vertical-align: middle;
        padding: 0 100px 0 60px;
    }


    .business .rgt {
        display: table-cell;
        vertical-align: top;
        padding: 0 60px 0 0;
        width: 40%;

    }

    .business .rgt img {
        width: 100%;

    }
}

@media screen and (max-width: 1024px) {
    .business {
        margin: 60px auto 0;
        padding: 0 30px;
        max-width: 1124px;
        display: table;
    }

    .business .lft {
        display: table-cell;
        vertical-align: middle;
        padding: 0 20px 0 0;
    }


    .business .rgt {
        display: table-cell;
        vertical-align: top;
        padding: 0 0 0 0;
        width: 40%;

    }

    .business .rgt img {
        width: 100%;
        min-width: 300px;

    }

}

@media screen and (max-width: 767px) {

    .businessWp {
        width: auto;
        padding: 0 20px;
    }

    .business {
        margin: 30px auto 0;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

    .business .lft {
        display: block;
        vertical-align: middle;
        padding: 30px 0 0 0;
        order: 2;
    }


    .business .rgt {
        display: block;
        padding: 0 0 0 0;
        width: 100%;
        text-align: center;
        order: 1;

    }

    .business .rgt img {
        width: 100%;
        max-width: 419px;
        margin: 0 auto;

    }
}

@media screen and (max-width: 414px) {
}


.business .lft h3 {
    padding-bottom: 25px;

}

.businessImBx h1 {
    padding-bottom: 30px;

}

.businessImBx2 h1 {
    padding-bottom: 30px;

}


#businessNav {
    margin: 0 auto;
    max-width: 1184px;
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    #businessNav ul {
        display: table;
        border-collapse: separate;
        border-spacing: 30px 0;
        margin: 90px 0 100px 0;
        padding: 0;
    }

    #businessNav li {
        display: table-cell;
        width: 33.3%;
    }
}

@media screen and (max-width: 767px) {
    #businessNav ul {
        padding: 10px 0 30px 0;
    }

    #businessNav li {
        padding-top: 20px;
    }
}

@media screen and (max-width: 414px) {
}


#businessNav li a {
    color: #231F20;
    text-decoration: none;
}

#businessNav li .img {
    width: 100%;
    overflow: hidden;
}

#businessNav li .img img {
    width: 100%;
    transition: all 0.4s ease-out;
}

#businessNav li:hover .img img {
    transform: scale(1.1);
}


#businessNav li .txtWp {
    position: relative;

}

#businessNav li .txt {
    position: relative;
    display: block;
    text-align: center;

}

#businessNav li .txt::after {
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    position: absolute;
    content: '';
    width: 28px;
    height: 1px;
}

.col_media span {
    position: relative;
    color: #7abd36;
}

.col_market_place span {
    color: #b61f32;
}

.col_solution span {
    color: #e1bb03;
}

#businessNav li .txt.col_media::after {
    background-color: #7abd36;
}

#businessNav li .txt.col_market_place::after {
    background-color: #b61f32;
}

#businessNav li .txt.col_solution::after {
    background-color: #e1bb03;
}

#businessNav li .txt span {
    display: block;
    padding-top: 25px;
}

#businessNav li .txt h1 {
    margin: 0;
    padding: 15px 0;

}


#businessNav li .lead {
    margin: 0 30px;
    padding: 20px 0 0 0;
}

.chBx {
    display: table;
    width: 100%;
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .chBx .innner {
        display: block;
        padding: 60px 60px 60px 60px;
        background-color: #f5f5f5;

    }
}

@media screen and (max-width: 767px) {
    .chBx .innner {
        display: block;
        padding: 30px;
        background-color: #f5f5f5;


    }

}

@media screen and (max-width: 414px) {
    .chBx .innner {
        display: block;
        padding: 30px;
        background-color: #f5f5f5;


    }


    .chBx.col_solution .innner {
        display: block;

    }
}


.chBx .innner span {
    display: block;
    padding-bottom: 20px;
}

.chBx .innner h1 {
    padding-bottom: 20px;
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .solutionArea .inner {
        display: table;
        width: 100%;
    }

    .solutionArea .inner .lead {
        display: table-cell;
        vertical-align: top;
        padding-right: 30px;
        max-width: 395px;
    }

    .solutionArea .inner .img {
        display: table-cell;
        vertical-align: top;
    }

    .solutionArea {
        margin-top: 50px;

    }

    .solutionArea .inner .lead .tx {
        padding-bottom: 20px;
    }


    .chBxInr .solutionArea .inner .lead {
        padding-right: 0;
        padding-left: 30px;
    }

    .chBxInr .solutionArea .inner .lead h2 {
        padding-bottom: 20px;

    }
}

@media screen and (max-width: 767px) {
    .solutionArea .inner {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

    .solutionArea .inner .lead {
        order: 2;
    }

    .solutionArea .inner .img {
        order: 1;
        padding-bottom: 20px;

    }

    .solutionArea {
        margin-top: 30px;

    }

    .chBxInr .solutionArea .inner .lead h2 {
        padding-bottom: 10px;

    }
}

@media screen and (max-width: 414px) {
}


.chBxInr .solutionArea .inner .lead.rt {
    padding-right: 30px;
    padding-left: 0;
}

.chBxInr .solutionArea .inner .lead .link a {
    position: relative;
    text-decoration: underline;
    color: #71b92a;
    padding-left: 10px;
}

.chBxInr .solutionArea .inner .lead .link a:after {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    margin: auto 0;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #c4c4c4;
}

.chBxInr .solutionArea .inner .lead .link a:hover {
    text-decoration: none;
}


.solutionArea .inner .img img {
    width: 100%;
}

.caseWp {
    background-color: #f5f5f5;
    padding: 60px 60px 40px 60px;
}

.caseWp .inner {
    display: table;
}

.caseWp .inner .lead {
    display: table-cell;
    vertical-align: top;
    padding-right: 30px;
    width: 65%;
}

.caseWp .inner .img {
    display: table-cell;
    vertical-align: top;
}

.caseWp .inner .img img {
    width: 100%;
}

.caseWp .tls {
    display: block;
    padding-bottom: 20px;
}

.caseWp .inner .lead h2 {
    padding-bottom: 20px;
}

.caseWp .inner .lead .tx {
    padding-bottom: 20px;
}

.caseWp .inner .lead {
}


.mail .fmWrap {
    border-bottom: 1px solid #ddd;
}


.txtBx6 .fmWrap dl:nth-child(even) {
    background-color: #f5f5f5;
}

.fmWrap dl textarea {
    border: 0;
    padding: 5px;
    border: 1px solid #c5c5c4;
    width: 95%;
}


.txtBx6 .til01 {
    background-color: #ce1316;
}

.txtBx6 .til03 {
    background-color: #999;
}


.btnWp2 .txt03 {
    cursor: pointer;
}

.fRed {
    color: #e60012;
}

.btnWp2 .txt03 a {
    position: relative;
    text-decoration: underline;
    padding-left: 10px;
}

.btnWp2 .txt03 a:after {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    margin: auto 0;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #c4c4c4;
}

.btnWp2 .txt03 a:hover {
    text-decoration: none;
}

.txtBx6 .icon {
    display: inline-block;
    color: #fff;
    border-radius: 3px;
    text-align: center;
    padding: 5px;
}

.txt04 {
    padding: 0 0 15px 0;
}

.txt04 a:hover {
    text-decoration: none;
}


.txt04 #checkB {
    vertical-align: top;
    margin-right: 5px;
}

.btnWp .button {
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
    display: block;
    padding: 15px;
    text-align: center;
    text-decoration: none;
    outline: none;
    border-radius: 5px;
    border: none;
    cursor: pointer;
}

.btnWp input[type="button"][disabled] {
    background-color: #d6d6d6;
    cursor: auto;
}

.btnWp input[type="button"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

}

.btnWp .button::before,
.btnWp .button::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}

.btnWp .button,
.btnWp .button::before,
.btnWp .button::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.tp1 {
    color: #fff;
    background-color: #e60012;
}

.tp1:hover {
    color: #fff;
    background-color: #e24b4f;
}

.newsDetailWp .lead figure {
    padding: 30px 0 0 0;
    margin: 0;
    max-width: none !important;

}

.newsDetailWp .lead figcaption {
    display: none;
}


.securityWp02 .security02 .wrap .n1::after {
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    content: "1";
    vertical-align: middle;
    text-align: center;
    color: #FFF;
    box-sizing: border-box;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    background: linear-gradient(-135deg, #b7d316, #78bd36);
}

.securityWp02 .security02 .wrap .n2::after {
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    content: "2";
    vertical-align: middle;
    text-align: center;
    color: #FFF;
    box-sizing: border-box;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    background: linear-gradient(-135deg, #b7d316, #78bd36);
}

.securityWp02 .security02 .wrap .n3::after {
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    content: "3";
    vertical-align: middle;
    text-align: center;
    color: #FFF;
    box-sizing: border-box;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    background: linear-gradient(-135deg, #b7d316, #78bd36);
}

@media screen and (min-width: 768px) {
    .securityWp {
        margin: 60px auto 0;
        max-width: 1184px;
    }

    .securityWp02 {
        margin: 0 auto 100px;
        max-width: 1184px;
    }

    .securityWp .security01 {
        padding: 0 30px;
    }

    .securityWp h1, .securityWp02 h1 {
        padding-bottom: 30px;
    }

    .securityWp .security01 p {
        border: 1px solid #ddd;
        padding: 35px;
        margin-bottom: 50px;
    }

    .securityWp02 .security02 .wrap {
        display: table;
        width: 100%;
        border-collapse: separate;
        border-spacing: 30px 0;
        margin: 15px 0 0 0;
        padding: 0;
    }

    .securityWp02 .security02 .wrap .inner {
        display: table-cell;
        width: 33.3%;
        background-color: #f5f5f5;
    }

    .securityWp02 .security02 .wrap .bx {
        padding: 40px 30px;
        position: relative;
    }

    .securityWp02 .security02 .wrap .n1::after {
        position: absolute;
        top: -20px;
        right: 0;
        line-height: 3.0;
        width: 40px;
        height: 40px;
    }

    .securityWp02 .security02 .wrap .n2::after {
        position: absolute;
        top: -20px;
        right: 0;
        line-height: 3.0;
        width: 40px;
        height: 40px;
    }

    .securityWp02 .security02 .wrap .n3::after {
        position: absolute;
        top: -20px;
        right: 0;
        line-height: 3.0;
        width: 40px;
        height: 40px;
    }
}

@media screen and (max-width: 767px) {
    .securityWp {
        margin: 30px auto 0;
    }

    .securityWp02 {
        margin: 0 auto 0;
    }

    .securityWp .security01 {
        padding: 0 20px;
    }

    .securityWp h1, .securityWp02 h1 {
        padding-bottom: 15px;
    }

    .securityWp .security01 p {
        border: 1px solid #ddd;
        padding: 20px;
        margin-bottom: 30px;
    }

    .securityWp02 .security02 .wrap {
        width: 100%;
        margin: 15px 0 0 0;
        padding: 0;
    }

    .securityWp02 .security02 .wrap .inner {
        background-color: #f5f5f5;
        margin: 0 20px 30px 20px;
    }

    .securityWp02 .security02 .wrap .bx {
        padding: 30px 20px 20px;
        position: relative;
    }

    .securityWp02 .security02 .wrap .n1::after {
        position: absolute;
        top: -20px;
        right: 0;
        line-height: 3.0;
        width: 30px;
        height: 30px;
    }

    .securityWp02 .security02 .wrap .n2::after {
        position: absolute;
        top: -20px;
        right: 0;
        line-height: 3.0;
        width: 30px;
        height: 30px;
    }

    .securityWp02 .security02 .wrap .n3::after {
        position: absolute;
        top: -20px;
        right: 0;
        line-height: 3.0;
        width: 30px;
        height: 30px;
    }
}


@media screen and (min-width: 768px) {
    .privacy {
        margin: 60px auto 70px;
        max-width: 1184px;
    }

    .privacyWp {
        margin: 0 30px;
    }


    .privacy p {
        margin-bottom: 30px;

    }

    .privacy ul {
        padding-left: 2.5em;
        margin-bottom: 30px;

    }

    .privacy ul li ul {
        padding-left: 1.5em;
        margin-bottom: 30px;

    }

    .privacy ul li ul li ul {
        padding-left: 2em;
        margin-bottom: 0;

    }

    .privacy ul li ul li {
        list-style-type: none;

    }

    .privacy .rightTx {
        text-align: right;
    }

    .privacy h3 {
        margin-bottom: 30px;
        padding: 5px 10px;
        border-left: 3px solid #ddd;
    }

    .privacy h4 {
        margin-bottom: 30px;
    }

    .privacy .pnt li {
        position: relative;

    }

    .privacy .pnt li::before {
        display: block;
        position: absolute;
        content: "";
        top: .65em;
        left: -1em;
        width: 3px;
        height: 3px;
        background-color: #999;
        border-radius: 50%;

    }

    .privacy dl {
        padding: 30px;
        background-color: #f5f5f5;
        border: 1px solid #ddd;
        margin-bottom: 30px;
    }

    .privacy dl dt {
        padding: 0 0 5px 0;
        margin: 0;
    }

    .privacy dl dd {
        padding: 0;
        margin: 0;
    }
}

@media screen and (max-width: 767px) {
    .privacy {
        margin: 30px auto 0;
    }

    .privacyWp {
        margin: 0 20px;
    }


    .privacy p {
        margin-bottom: 30px;

    }

    .privacy ul {
        padding-left: 1.5em;
        margin-bottom: 30px;

    }

    .privacy ul li ul {
        padding-left: .5em;
        margin-bottom: 30px;

    }

    .privacy ul li ul li ul {
        padding-left: 1em;
        margin-bottom: 0;

    }

    .privacy ul li ul li {
        list-style-type: none;

    }

    .privacy .rightTx {
        text-align: right;
    }

    .privacy h3 {
        margin-bottom: 30px;
        padding: 5px 10px;
        border-left: 3px solid #ddd;
    }

    .privacy h4 {
        margin-bottom: 30px;
    }

    .privacy .pnt li {
        position: relative;

    }

    .privacy .pnt li::before {
        display: block;
        position: absolute;
        content: "";
        top: .65em;
        left: -1em;
        width: 3px;
        height: 3px;
        background-color: #999;
        border-radius: 50%;

    }

    .privacy dl {
        padding: 20px;
        background-color: #f5f5f5;
        border: 1px solid #ddd;
        margin-bottom: 30px;
    }

    .privacy dl dt {
        padding: 0 0 5px 0;
        margin: 0;
    }

    .privacy dl dd {
        padding: 0;
        margin: 0;
    }

}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .newsCategory {
        width: 100%;
        padding-bottom: 30px;
    }

}

@media screen and (max-width: 767px) {
    .newsCategory {
        width: 100%;
        padding-bottom: 0;
    }
}

@media screen and (min-width: 415px) {
}

@media screen and (max-width: 414px) {
}


.newsCategory .inner {
    width: 100%;
}


.newsArea .solutionList .bx {
    background-color: #FFF;
}


.newsArea .solutionList .img {
    height: 200px;

}


.yearnav_selectWp {
    position: relative;
}

@media screen and (min-width: 768px) {
    .calendarWp {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        width: 100%;
        justify-content: space-between;
        padding-bottom: 60px;
    }

    .calendarWp .cldBx {
        width: 24.7%;
    }

    .calendarWp .cldBx h2 {
        display: block;
        padding: 20px;
        text-align: center;
        background-color: #7abd35;
        color: #FFF;
    }

    .calendarWp .cldBx .cldBxsubWp {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        width: 100%;
        justify-content: space-between;
        padding-top: 3px;
    }

    .calendarWp .cldBx .cldBxsub {
        border: 1px solid #ddd;
        text-align: center;
        width: 31.5%;
        padding: 25px 0;
        position: relative;
    }

    .calendarWp .cldBx .cldLead {
        position: absolute;
        top: 100px;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, 0%);
        width: 200px;
    }

    .calendarWp .cldBx .cldLead:after {
        display: block;
        content: '';
        background-color: #7abd35;
        position: absolute;
        border-radius: 50%;
        width: 11px;
        height: 11px;
        top: -40px;
        right: 0;
        left: 0;
        margin: auto;
    }

    .calendarWp .cldBx .cldLead:before {
        display: block;
        content: '';
        background-color: #ddd;
        position: absolute;
        width: 1px;
        height: 32px;
        top: -40px;
        right: 0;
        left: 0;
        margin: auto;
    }

    .calendarWp .cldBx .cldLead.n4 {
        top: 140px;
        left: 80%;
    }

    .calendarWp .cldBx .cldLead.n4:after {
        top: -80px;
    }

    .calendarWp .cldBx .cldLead.n4:before {
        height: 62px;
        top: -70px;
    }

}

@media screen and (max-width: 767px) {
    .calendarWp {
        width: 100%;
        padding-bottom: 0;
        border-bottom: 1px solid #ddd;
    }

    .calendarWp .cldBx {
        width: 100%;
    }

    .calendarWp .cldBx h2 {
        display: block;
        padding: 10px;
        text-align: center;
        background-color: #7abd35;
        color: #FFF;
    }

    .calendarWp .cldBx .cldBxsubWp {
        width: 100%;
    }

    .calendarWp .cldBx .cldBxsub {
        text-align: center;
        width: 100%;
        padding: 20px 0;
        position: relative;
    }

    .calendarWp .cldBx .cldBxsub:nth-child(even) {
        background: #f5f5f5;
    }

    .cldLead {
        padding-top: 10px;
    }


}


@media screen and (min-width: 768px) {
    .newaArea .pic_Bx {
        position: relative;
        display: block;
        border: 1px solid #ddd;
        overflow: hidden;
    }


    .newaArea .pic_Bx img {
        width: 100%;
        transition: all 0.4s ease-out;
    }

    .newaArea .pic_Bx a:hover img {
        transform: scale(1.1);
    }

    .picWp {
        position: relative;
        display: block;
    }

    .newaArea .picWp .logo_s {
        position: absolute;
        bottom: -10px;
        right: 10px;
        display: block;
        border-radius: 5px;
        border: 1px solid #ddd;

    }

    .newaArea .picWp .logo_s img {
        border-radius: 5px;
    }

    .yearnav_select {
        border: none !important;
        padding: 13px 70px 13px 20px;
        overflow: hidden;
        border-radius: 0;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-size: 20px, 100%;
        border: 1px solid #ddd !important;
        text-overflow: "";
    }

    .yearnav {
        padding-bottom: 30px;
    }

    .yearnav_selectWp:after {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 30px;
        margin: auto;
        content: "";
        vertical-align: middle;
        width: 4px;
        height: 4px;
        border-top: 2px solid #71b92a;
        border-right: 2px solid #71b92a;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }
}

@media screen and (max-width: 767px) {
    .newaArea .picWp {
        display: none;
    }

    .yearnav_select {
        border: none !important;
        padding: 10px 70px 10px 20px;
        overflow: hidden;
        border-radius: 0;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-size: 20px, 100%;
        border: 1px solid #ddd !important;
        text-overflow: "";
    }

    .yearnav {
        padding-bottom: 20px;
    }

    .yearnav_selectWp:after {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 20px;
        margin: auto;
        content: "";
        vertical-align: middle;
        width: 4px;
        height: 4px;
        border-top: 2px solid #71b92a;
        border-right: 2px solid #71b92a;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }
}


@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {
    .newaArea {
        width: 100%;
        letter-spacing: -.4em;
    }

    .newaArea .irp-item {
        position: relative;
        width: auto;
        display: inline-block;
        vertical-align: top;
        letter-spacing: normal;
        margin: 0 30px 30px 0;
        overflow: hidden;
    }

    .newaArea .irp-title a {
        display: block;
        position: relative;
        color: #231F20;
    }

    .newaArea .irp-title a:hover {
        text-decoration: underline;
        color: #71b92a;
    }


    /*
	.newaArea .irp-title a::after{
		position: absolute;
		top: -264px;
		right: 0;
		left: 0;
		margin: 0 auto;
		height: 210px;
		content: "";
		background: #FFF url(../../images/newsIc01.svg) no-repeat center center;
		transition: all 0.4s ease-out;
	}

	.newaArea .irp-title a::before{
		position: absolute;
		top: -264px;
		right: 0;
		left: 0;
		margin: 0 auto;
		height: 210px;
		content: "";
		border: 1px solid #ddd;
		z-index:10;
	}

	.newaArea .irp-item::after{
		position: absolute;
		top: 0px;
		right: 0;
		left: 0;
		margin: 0 auto;
		height: 210px;
		content: "";
		background: #FFF url(../../images/newsIc01.svg) no-repeat center center;
		transition: all 0.4s ease-out;
		border: 1px solid #ddd;
		z-index:-1;
	}

	.newaArea .irp-title a:hover::after{
		transform: scale(1.1);
	}
*/
    .newaArea .press .irp-date::after, .newaArea .pr .irp-date::after {
        position: absolute;
        top: 14px;
        left: 0;
        bottom: 0;
        margin: 0 auto;
        content: "プレスリリース";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px 10px 0 10px;
        height: 21px;
        background-color: #79bd36;
        display: inline-block;
    }

    .newaArea .event .irp-date::after {
        position: absolute;
        top: 14px;
        left: 0;
        bottom: 0;
        margin: 0 auto;
        content: "イベント";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px 10px 0 10px;
        height: 21px;
        background-color: #79bd36;
        display: inline-block;
    }

    .newaArea .media .irp-date::after {
        position: absolute;
        top: 14px;
        left: 0;
        bottom: 0;
        margin: 0 auto;
        content: "メディア";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px 10px 0 10px;
        height: 21px;
        background-color: #79bd36;
        display: inline-block;
    }

    .newaArea .irp-date {
        padding: 20px 0;
        display: block;
        width: 100%;
        position: relative;
        text-align: right;
    }

    .newsCategory .inner ul li a {
        color: #fff;
        display: block;
        border-radius: 3px;
        text-align: center;
        padding: 5px 10px;
        background-color: #79bd36;
    }

    .newsCategory .inner ul li a:hover, .newsCategory .inner ul li .active, .newsCategory .inner ul .current-cat a, .newsCategory .inner ul .active a {
        text-decoration: none;
        background: #FFF;
        border: 1px solid #79bd36;
        color: #79bd36;
        padding: 4px 9px;
    }

    .newsCategory .inner ul li {
        display: inline-block;
        padding-right: 5px;
        margin-bottom: 5px;
    }

    .newsCategory .inner ul {
        width: 100%;
        text-align: left;
        padding: 5px 0;
    }

    .newsCategory .inner ul li:first-child {
        min-width: 60px;
        text-align: right;
    }

    #newsContents .inner {
        text-align: center;

    }

    .contentsNav .box {
        width: auto;
        display: inline-block;
        vertical-align: top;
        letter-spacing: normal;
        margin: 0 30px 50px 0;
    }

    .contentsNav .box:nth-child(3n) {
        margin-right: 0;
    }

    .contentsNav .link {
        margin-top: 20px;
    }

    .ir_inner .lead img {
        float: left;
        margin: 0 30px 30px 0;

    }

    .ir_inner_h .ir_inner_bx {
        display: inline-block;
        vertical-align: top;
        letter-spacing: normal;
        margin: 0 30px 50px 0;
    }

    .graph dl {
        display: table;
        width: 100%;
        padding: 0 0 0 0;
        margin: 0 0 0 0;
        border-bottom: 1px solid #ddd;
    }

    .graph dl dt {
        display: table-cell;
        padding: 25px 30px;
        margin: 0;
        background-color: #F5F5F5;
        vertical-align: middle;
        width: 25%;
    }

    .graph dl dd {
        display: table-cell;
        padding: 25px 30px;
        margin: 0;
        vertical-align: middle;
    }

    .ir_inner .link {
        margin-top: 30px;
    }

    .ir_inner.tabsWp {
        margin: 0 0 50px 0;
    }

    .mail .fmWrap .txt {
        padding: 0 30px 50px 30px;
    }

    .mail {
        margin: 60px auto 100px;
        max-width: 1184px;
    }

    .txtBx6 .fmWrap dl dt .wps {
        width: 100%;
        display: table;
        border-collapse: separate;
        border-spacing: 20px 0;
    }

    .txtBx6 {
        padding: 0 30px 0 30px;
    }


    .txtBx6 .fmWrap dl {
        width: 100%;
        display: table;
        border-top: 1px solid #ddd;
        padding: 0;
        margin: 0;
    }

    .txtBx6 .fmWrap dl dt {
        display: table-cell;
        width: 30%;
        padding: 20px 0;
        vertical-align: middle;
    }

    .txtBx6 .fmWrap dl dd {
        padding: 20px 0;
    }

    .txtBx6 .fmWrap dl .typ1 {
        display: table-cell;
        width: 45%;
        vertical-align: middle;
    }

    .txtBx6 .fmWrap dl .typ2 {
        display: table-cell;
        width: 25%;
        vertical-align: middle;
    }

    .txtBx6 .fmWrap dl .typ3 {
        display: table-cell;
        width: 70%;
        vertical-align: middle;
    }

    .fmWrap dl input[type=text] {
        border: 0;
        padding: 5px;
        margin: 2px 0;
        border: 1px solid #c5c5c4;
        width: 95%;
    }

    .fmWrap dl select {
        border: 0;
        padding: 2px;
        margin: 2px 0;
        border: 1px solid #c5c5c4;
    }

    .txtBx6 .fmWrap dl dt .left {
        width: 80%;
        display: table-cell;
        vertical-align: middle;
    }

    .txtBx6 .fmWrap dl dt .right {
        width: 22%;
        display: table-cell;
        vertical-align: middle;
    }

    .btnWp {
        width: 100%;
        padding: 30px 0;
        border-bottom: 1px solid #ddd;
    }

    .error {
        border: 3px solid #e60012;
        padding: 20px 20px 15px 20px;
        background-color: #fff9f9;
        margin-bottom: 50px;
    }

    .btnWp2 {
        padding-top: 50px;
    }

    .leadArea .photo_img {
        width: 100%;
        padding-bottom: 50px;
    }

    .visionWp {
        width: 100%;
        text-align: center;
        padding: 70px 0;
    }

    .visionWp .philosophy {
        width: 100%;
        position: relative;
        margin-bottom: 80px;
    }

    .visionWp h1 {
        width: 100%;
        padding-bottom: 40px;
    }

    .visionWp .philosophy::after {
        bottom: -40px;
        right: 0;
        left: 0;
        margin: 0 auto;
        position: absolute;
        content: '';
        width: 28px;
        height: 1px;
        background: linear-gradient(-135deg, #b7d316, #78bd36);
    }

    .visionBx {
        text-align: center;
        background-color: #f5f5f5;
        margin-bottom: 30px;
        padding: 70px 40px;
    }

    .visionBx .tx {
        padding-top: 30px;
    }

    .officerWp .rgt dl {
        float: left;
        width: 100%;
        padding: 20px 0 0 0;
        margin: 0 0 0 0;
    }

    .officerWp .rgt dl dt {
        display: block;
        width: 25%;
        clear: left;
        float: left;
        padding: 3px 0 0 0;
        margin: 0;
    }

    .officerWp .rgt dl dd {
        padding: 3px 0 0 0;
        margin: 0;
        display: block;
        width: 75%;
        float: left;
    }

    .graph .officerList {
        float: left;
        width: 100%;
        padding: 0 0 0 0;
        margin: 0 0 0 0;
    }

    .graph .officerList .position {
        display: block;
        width: 17%;
        clear: left;
        float: left;
        padding: 0 20px 0 0;
        margin: 0;
    }

    .graph .officerList .name {
        padding: 0 0 0 0;
        margin: 0;
        display: block;
        float: left;
    }
}

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

    .newaArea .irp-item {
        width: auto !important;
        padding: 20px;
    }

    .newaArea .press .irp-date::after, .newaArea .pr .irp-date::after {

        content: "プレスリリース";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px 10px 0 10px;
        margin-left: 10px;
        height: 21px;
        background-color: #79bd36;
        display: inline-block;
    }

    .newaArea .event .irp-date::after {
        content: "イベント";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px 10px 0 10px;
        margin-left: 10px;
        height: 21px;
        background-color: #79bd36;
        display: inline-block;
    }

    .newaArea .media .irp-date::after {
        content: "メディア";
        vertical-align: middle;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 6px 10px 0 10px;
        margin-left: 10px;
        height: 21px;
        background-color: #79bd36;
        display: inline-block;
    }

    .newaArea .irp-date {
        padding: 0 0;
        display: block;
        width: 100%;
        position: relative;
    }

    .newaArea .irp-item:nth-child(odd) {
        background: #f5f5f5;
    }

    .newaArea .irp-title-block {
        padding-top: 10px;
    }

    .newsCategory .inner ul li a {
        color: #fff;
        border-radius: 3px;
        text-align: center;
        padding: 5px 10px;
        background-color: #79bd36;
        display: block;
    }

    .newsCategory .inner ul li a:hover, .newsCategory .inner ul li .active, .newsCategory .inner ul .current-cat a, .newsCategory .inner ul .active a {
        text-decoration: none;
        background: #FFF;
        border: 1px solid #79bd36;
        color: #79bd36;
        padding: 4px 9px;
    }

    .newsCategory .inner ul li {
        display: inline-block;
        padding: 5px 5px 0 0;
    }

    .newsCategory .inner ul {
        width: 100%;
        text-align: left;
        padding: 0 0 5px 0;
    }

    .newsCategory .inner ul:last-child {
        width: 100%;
        text-align: left;
        padding: 0 0 20px 0;
    }

    .newsCategory .inner ul li:first-child {
        width: 100%;
        text-align: left;
    }

    #newsContents .inner {
        text-align: center;

    }

    .contentsNav .box {
        width: auto !important;
        display: block;
        vertical-align: top;
        letter-spacing: normal;
        margin: 0 0 0 0;
    }

    .contentsNav .link {
        margin: 10px 0 20px 0;
    }

    .contentsNav .box ul {
        padding-bottom: 20px;
    }

    .ir_inner.tabsWp {
        margin: 0 0 20px 0;
    }

    .ir_inner .lead img {
        float: none;
        display: block;
        margin: 0 0 20px;
        width: 100%;

    }

    .ir_inner_h .ir_inner_bx {
        display: inline-block;
        vertical-align: top;
        letter-spacing: normal;
        margin: 0 0 20px 0;
        width: 100% !important;
    }

    .ir_inner_h .ir_inner_bx:last-child {
        margin: 0 0 0 0;
    }

    .box.mb0:last-child ul {
        padding-bottom: 0;
    }

    .graph dl {
        width: 100%;
        padding: 0 0 0 0;
        margin: 0 0 0 0;
        border-bottom: 1px solid #ddd;
    }

    .graph dl dt {
        background-color: #F5F5F5;
        padding: 10px 15px;
    }

    .graph dl dd {
        margin: 0;
        padding: 10px 10px;
    }

    .graph.mb50 {
        margin-bottom: 0;
    }

    .ir_inner .link {
        margin: 15px 0 0 0;
    }

    .ir_inner.tabsWp {
        margin: 0 0 30px 0;
    }

    .ir_inner.tabsWp:last-child {
        margin: 0 0 0 0;
    }

    .mail .fmWrap .txt {
        text-align: left;
        padding: 20px 0;
    }

    .mail {
        margin: 0 auto 20px;
    }

    .txtBx6 .fmWrap dl dt .wps {
        width: 100%;
    }

    .txtBx6 {
        padding: 0 20px 0 20px;
    }


    .txtBx6 .fmWrap dl {
        width: 100%;
        border-top: 1px solid #ddd;
        padding: 0;
        margin: 0;
    }

    .txtBx6 .fmWrap dl dt {
        width: auto;
        padding: 20px 20px 0 20px;
        vertical-align: middle;
    }

    .txtBx6 .fmWrap dl dd {
        width: auto;
        padding: 10px 20px 20px 20px;
        margin: 0;
    }

    .txtBx6 .fmWrap dl .typ1 {
    }

    .txtBx6 .fmWrap dl .typ2 {
    }

    .txtBx6 .fmWrap dl .typ3 {
    }

    .fmWrap dl input[type=text] {
        border: 0;
        padding: 5px;
        margin: 2px 0;
        border: 1px solid #c5c5c4;
        width: 95%;
    }

    .fmWrap dl select {
        border: 0;
        padding: 2px;
        margin: 2px 0;
        border: 1px solid #c5c5c4;
    }

    .txtBx6 .fmWrap dl dt .left {
        display: inline-block;
        padding-right: 10px;
    }

    .txtBx6 .fmWrap dl dt .right {
        display: inline-block;
    }

    .btnWp {
        width: 100%;
        padding: 15px 0;
        border-bottom: none;
    }

    .error {
        border: 3px solid #e60012;
        padding: 20px 20px 15px 20px;
        background-color: #fff9f9;
        margin-bottom: 0;
    }

    .btnWp2 {
        padding: 20px 0;
    }

    .leadArea .photo_img {
        width: 100%;
        padding-bottom: 20px;
    }

    .visionWp {
        width: 100%;
        text-align: center;
        padding: 0 0 20px;
    }

    .visionWp .philosophy {
        width: 100%;
        position: relative;
        margin-bottom: 20px;
    }

    .visionWp h1 {
        width: 100%;
        padding-bottom: 10px;
    }

    .visionWp .philosophy::after {
        bottom: -20px;
        right: 0;
        left: 0;
        margin: 0 auto;
        position: absolute;
        content: '';
        width: 28px;
        height: 1px;
        background: linear-gradient(-135deg, #b7d316, #78bd36);
    }

    .visionBx {
        text-align: center;
        background-color: #f5f5f5;
        margin-bottom: 20px;
        padding: 30px 20px;
    }

    .visionBx .tx {
        padding-top: 15px;
    }

    .officerWp .rgt dl {
        float: left;
        clear: both;
        width: 100%;
        padding: 20px 0 0 0;
        margin: 0 0 0 0;

    }

    .officerWp .rgt dl dt {
        float: left;
        clear: both;
        width: 30%;
        padding: 0;
        margin: 0;
    }

    .officerWp .rgt dl dd {
        float: right;
        width: 70%;
        padding: 0;
        margin: 0;
    }

    .titleB {
        clear: both;
        padding-top: 20px;
    }

    .graph .officerList {
    }

    .graph .officerList .position {
        padding: 0 0 0 0;
        margin: 0;
        display: inline-block;
        width: 35%;
    }

    .graph .officerList .name {
        padding: 0 0 0 0;
        margin: 0;
        display: inline-block;
        width: 65%;
    }
}

@media screen and (min-width: 415px) {
}

@media screen and (max-width: 414px) {
}


.newaArea .irp-item:nth-child(3n) {
    margin-right: 0;
}

.newaArea .pic {
    position: relative;
    margin-bottom: 20px;
    height: 210px;
    overflow: hidden;
    border: 1px solid #ddd;
}

.newaArea .pic img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    height: 100%;
    transition: all 0.4s ease-out;
}

.newaArea a:hover .pic img {
    transform: scale(1.1);
}

.newaArea .lead {
    position: relative;

}

.newaArea .lead .newsLogo {
    position: absolute;
    top: -81px;
    right: 10px;
    width: 70px;
    height: 70px;
    border-color: #ddd;
    border-style: solid;
    border-width: 1px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

.newaArea .lead .ic01 {
    background: #FFF url(../../images/newsLogoIc01.svg) no-repeat center center;
}

.newaArea .lead .ic02 {
    background: #FFF url(../../images/newsLogoIc02.svg) no-repeat center center;
}

.newaArea .lead .ic03 {
    background: #FFF url(../../images/newsLogoIc03.svg) no-repeat center center;
}

.newaArea .lead .ic04 {
    background: #FFF url(../../images/newsLogoIc04.svg) no-repeat center center;
}

.newaArea .wp {
    display: table;
    width: 100%;
    padding-bottom: 15px;

}


.newaArea .irp-fsize {
    padding: 4px 0 4px 5px;
}


.newaArea .wp .ic {
    display: table-cell;
    vertical-align: middle;
}


.sign .ps {
    display: block;
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {

    .sign .im {
        display: block;
        text-align: right;
        padding-top: 15px;
    }
}

@media screen and (max-width: 767px) {

    .sign .im {
        display: block;
        text-align: right;
        padding-top: 15px;
    }

    .sign .im img {
        max-width: 45%;
    }
}

@media screen and (min-width: 415px) {
}

@media screen and (max-width: 414px) {
}


.irp-icon {
    margin-left: 5px;
}

.irp-icon-pdf {
    background: url(../../images/press_pdf.gif) left center no-repeat;
    width: 12px;
    height: 12px;
    display: inline-block;
}

.irp-fsize {
    color: #999;
    display: inline-block;
    padding-left: 3px;
}

.newsDetailWp {
}

.newsDetailWp .newsDetail {
}

.newsDetailWp .inner {
}

.newsDetailWp .title {
    border-bottom: 1px solid #ddd;
    padding-bottom: 30px;
}

.newsDetailWp .title h1 {
    padding: 15px 0;
}

.newsDetailWp .img {
    padding-top: 30px;
    text-align: center;

}

.newsDetailWp a {
    color: #71b92a;
    text-decoration: underline;

}

.newsDetailWp a:hover {
    text-decoration: none;

}

.newsDetailWp .img img {
    max-width: 650px;

}


.newsDetailWp .link {
    margin-top: 30px;
    text-align: right;

}

.newsDetailWp .link a {
    position: relative;
    padding-left: 10px;
}

.newsDetailWp .link a:hover {
    text-decoration: none;

}

.newsDetailWp .link a:after {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    margin: auto 0;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #c4c4c4;
}

.newsDetailWp .lead {
    margin: 0 0 0 0;
}

.newsDetailWp .lead h2 {
    padding: 5px 10px;
    margin-top: 30px;
    border-left: 3px solid #6aae24;
}

.newsDetailWp .lead p, .newsDetailWp .lead ul {
    margin-top: 30px;
}


@media screen and (min-width: 768px) {

    .newsDetailWp .lead img {
        text-align: center;
        margin: 0 auto;
        display: inherit;
    }
}

@media screen and (max-width: 767px) {

    .newsDetailWp .lead img {
        text-align: center;
        margin: 0 auto;
        display: inherit;
        width: 100% !important;
        height: auto !important;
        max-width: 600px;
    }

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


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

.newsDetail .ic .tp01 {
    color: #fff;
    border-radius: 3px;
    text-align: center;
    padding: 6px 10px 6px 10px;
    background-color: #79bd36;
}


.contentsNav .pic {
    border: 1px solid #ddd;
    overflow: hidden;
}

.contentsNav .pic img {
    width: 100%;
    transition: all 0.4s ease-out;
}

.contentsNav a:hover .pic img {
    transform: scale(1.1);
}


.contentsNav a:hover .link span {
    text-decoration: none;
}

.contentsNav .link span {
    display: inline-block;
    position: relative;
    text-decoration: underline;
}

.contentsNav .link span:after {
    position: absolute;
    top: 6px;
    left: -10px;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #c4c4c4;
}

.contentsNav a:hover .link {
    text-decoration: none;
    border-color: #71b92a;
}


.ir_inner .link a {
    position: relative;
    padding-left: 10px;
}

.ir_inner .link a:after {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    margin: auto 0;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #c4c4c4;
}

.ir_inner .link a:hover {
    text-decoration: none;
}

.contentsNav .box li {
    position: relative;
    padding-bottom: 5px;
    padding-left: 10px;
    list-style: none;
}

.contentsNav .box li a:after {
    position: absolute;
    top: 7px;
    left: 0;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #c4c4c4;
}


.ir_inner {
    clear: both;
}


.ir_inner_h {
    letter-spacing: -.4em;
}


.ir_inner_h .ir_inner_bx:nth-child(2n) {
    margin-right: 0;
}

.ir_inner_h .wrap {
    padding: 30px;
    border: 1px solid #ddd;
}

.ir_inner_h .wrap img {
    width: 100%;
}

.ir_inner_h .chuki {
    padding-top: 10px;
}

.ir_inner_h table {
    border-collapse: collapse;
    border-spacing: 0;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    width: 100%;

}

.ir_inner_bx .titleB {
    padding-bottom: 0;
    margin-bottom: 15px;
    border-bottom: none;
}

.ir_inner_h table .r1 {
    background-color: #f5f5f5;
}

.ir_inner_h table td:first-child {
    background-color: #f5f5f5;

}

.ir_inner_h table td {
    border-left: 1px solid #ddd;
    border-top: 1px solid #ddd;
    padding: 3px;

}

.ir_inner_h table {

}

.gink {
    background: url(../../images/map.svg) 90% center no-repeat;
}

.irp-calendar-year {
    border-bottom: 1px solid #ddd;
    padding: 0 0 20px 22px;
    margin: 50px 0 0 0;
    position: relative;
}

.irp-calendar-year::after {
    position: absolute;
    top: 4px;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 17px;
    height: 22px;
    background: url(../../images/ic.svg) no-repeat left top;
    background-size: contain;
}

.irp-calendar-item {
    display: table;
    width: 100%;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    border-bottom: 1px solid #ddd;
}


@media screen and (min-width: 768px) {
    .irp-calendar-item .irp-calendar-date {
        display: table-cell;
        padding: 25px 30px;
        margin: 0;
        background-color: #F5F5F5;
        vertical-align: middle;
        width: 25%;
    }

    .irp-calendar-item .irp-calendar-title {
        display: table-cell;
        padding: 25px 30px;
        margin: 0;
        vertical-align: middle;
    }

}

@media screen and (max-width: 767px) {

    .irp-calendar-item .irp-calendar-date {
        display: table-cell;
        padding: 15px 20px;
        margin: 0;
        background-color: #F5F5F5;
        vertical-align: middle;
        width: 40%;
    }

    .irp-calendar-item .irp-calendar-title {
        display: table-cell;
        padding: 15px 20px;
        margin: 0;
        vertical-align: middle;
    }
}


.li01 li {
    position: relative;
    margin-bottom: 4px;
    padding-left: 1em;
}

.li01 li:before {
    display: block;
    position: absolute;
    content: "";
    top: .65em;
    left: .3em;
    width: 3px;
    height: 3px;
    background-color: #7dbf3a;
}


@media screen and (min-width: 768px) {
    .m_inner {
        padding: 30px 20px 100px 20px;

    }

}

@media screen and (max-width: 767px) {

    .m_inner {
        padding: 30px 20px 30px 20px;

    }
}


.m_link {
    margin-top: 30px;
}

.m_link a {
    position: relative;
    padding-left: 10px;
}

.m_link a:after {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    margin: auto 0;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #c4c4c4;
}

.privacy .btmMgnSeth {
    padding-bottom: 15px;
    font-weight: bold;

}

.irp-library-category {

}

.irp-library-category .irp-term {
    padding: 0 0 20px 22px;
    position: relative;
    margin: 0 0 30px;
    border-bottom: 1px solid #ddd;
}

.irp-library-category .irp-term::after {
    position: absolute;
    top: -19px;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 17px;
    height: 22px;
    background: url(../../images/ic.svg) no-repeat left top;
    background-size: contain;
}

.irp-item-list li {
    padding: 20px 30px;
    display: block;
}

.irp-item-list li:nth-child(odd) {
    background: #f5f5f5;
}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {

    .irp-item-list li:last-child {
        margin-bottom: 50px;
    }
}

@media screen and (max-width: 767px) {
    .irp-item-list {
        margin-bottom: 30px;
    }

    .irp-item-list:last-child {
        margin-bottom: 0;
    }
}

@media screen and (min-width: 415px) {
}

@media screen and (max-width: 414px) {
}


.irp-library-category .irp-fsize, .ir03 .irp-fsize {
    display: inline-block;
    padding-left: 3px;
}

.irp-library-category .irp-date, .ir03 .irp-date {
    padding-left: 10px;
}

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

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

/*-----------------------------------------------------
recaptcha
-------------------------------------------------------*/
.recaptchaBx {
    display: block;
    width: 304px;
    margin: 15px auto 30px;
}

/*-----------------------------------------------------
20201002 VIS　SASAKI
-------------------------------------------------------*/

.wrp_srv img {
    width: 100%;
}

.businessImBx {
    text-align: center;
    padding: 60px;
    border: 1px solid #dddddd;
}

.businessImBx .businessIm {
    width: 100%;
}

.businessSb {
    margin: 30px auto 0;
    padding: 0 30px;
    max-width: 1124px;
}

.businessImBx .businessIm img {
    width: 100%;
    padding-bottom: 30px;
}

.businessImBx2 {
    text-align: center;
    padding: 60px;
}

.businessImBx2.bgc1 {
    background: #f2f7f9;
}

.businessImBx2.bgc2 {
    background: #fff3ec;
}

.businessImBx2.bgc3 {
    background: #f5f5f5;
}

.businessImBx2.bgc1 h1 {
    color: #4ca1b2;
}

.businessImBx2.bgc2 h1 {
    color: #f49418;
}

.businessImBx2 .businessIm {
    width: 100%;
}

.businessImBx2 .businessIm img {
    width: 100%;
    padding-bottom: 30px;
}

.businessImBx2 .tx {
    padding-bottom: 30px;
}

.businessImBx2 .btn {
    display: block;
    padding: 30px 0;
    border: 1px solid #dddddd;
    background-color: #FFF;
}

.businessImBx2 .btn a, .businessImBx .btn a {
    display: block;
    max-width: 400px;
    background: -webkit-linear-gradient(top left, #b7d316, #78bd36);
    background: -o-linear-gradient(top left, #b7d316, #78bd36);
    background: linear-gradient(to bottom right, #b7d316, #78bd36);
    color: #FFF;
    padding: 15px 0;
    margin: 0 auto;
    border-radius: 5px;
    -webkit-transition: all .3s;
    transition: all .3s;
    text-decoration: none;
}

.businessImBx .btn a {
    margin-top: 30px;
}

.businessImBx2 .btn a:hover, .businessImBx .btn a:hover {
    opacity: .8;
}

#structure {
    float: left;
    width: 100%;
    padding: 60px 0 30px 0;
}

#structure .innre {
    max-width: 1004px;
    margin: 0 auto 30px;
    text-align: center;
    background-color: #f5f5f5;
    padding: 60px;
}

#structure .innre span {
    font-size: 16px;
    color: #7abd35;
    font-weight: bold;
}

#structure .innre p {
    margin: 20px 0 0 0;
    padding: 0;
}

#structure h1 {
    margin: 20px 0 0 0;
}

#structure .innre.tx_sct01 h1 {
    font-size: 5rem;
    line-height: 1.0;
}

#structure .innre.tx_sct02 h1 {
    font-size: 12rem;
    line-height: 1.0;
}

#structure .innre.tx_sct03 h1 {
    font-size: 5rem;
    line-height: .9;
}

#structure .innre.tx_sct04 h1 {
    font-size: 4.5rem;
    line-height: 1.0;
}

#historyContents {
    padding-bottom: 70px;

}

#historyContents .historyWps {
    position: relative;
}

#historyContents .historyWps:before {
    content: "";
    position: absolute;
    left: 49.8%;
    bottom: 0;
    top: 0;
    width: 1px;
    height: 100%;
    border-right: 1px solid #dfdfdf;
    z-index: -1;
}

#historyContents .historyWps .years {
    text-align: center;
    padding: 20px 0;
    margin-bottom: 40px;
    background-color: #FFF;
    font-size: 3rem;
    color: #7abd35;
    font-weight: bold;

}

#historyContents .historyWps .years:first-of-type {
    padding-top: 0;
}

#historyContents .historyWps .inrBxWp {
    padding: 60px 60px 30px 60px;
    background-color: #f5f5f5;
    margin-bottom: 40px;
}

#historyContents .historyWps .inrBx:nth-child(2) {
    border-top: 1px solid #FFF;
    padding-top: 60px;
}

#historyContents .historyWps .inrBx {
    padding-bottom: 30px;
}

#historyContents .historyWps .inr {
    padding-top: 30px;
    display: flex;
}

#historyContents .historyWps .lt {
    padding-right: 60px;
    width: 100%;
}

#historyContents .historyWps .rt {
    width: 217px;

}

#historyContents .historyWps .txt {
    padding-bottom: 30px;

}

#historyContents .historyWps .img {
    padding-bottom: 20px;

}

.Lnklist ul {
    display: flex;
    flex-wrap: wrap;
    padding: 10px 0;

}

.Lnklist li {
    margin-top: 20px;
    margin-right: 35px;

}

@media screen and (min-width: 1025px) {
}

@media screen and (max-width: 1200px) {
    #structure .innre {
        margin: 0 30px 30px;
    }

    .businessWp {
        padding-bottom: 60px;
    }

    #structure .innre.tx_sct01 h1 {
        font-size: 4rem;
    }

    #structure .innre.tx_sct02 h1 {
        font-size: 10rem;
    }

    #structure .innre.tx_sct03 h1 {
        font-size: 4rem;
    }

    #structure .innre.tx_sct04 h1 {
        font-size: 3.5rem;
    }

    #historyContents .historyWps .lt {
        padding-right: 30px;
    }

}

@media screen and (max-width: 1024px) {
}

@media screen and (min-width: 768px) {


}

@media screen and (max-width: 767px) {
    .solutionArea .inner .img {
        margin: 0 auto;
    }

    .businessWp {
        padding-bottom: 10px;
    }

    .businessImBx {
        padding: 30px 20px;
    }

    .businessImBx h1 {
        padding-bottom: 20px;
    }

    .businessImBx .businessIm img {
        padding-bottom: 20px;
    }

    .businessImBx .btn a {
        margin-top: 20px;
        text-align: center;
    }

    #structure .innre {
        margin: 0 20px 20px;
        padding: 30px 20px;
    }

    #structure {
        padding: 30px 0 10px 0;
    }

    #structure .innre.tx_sct01 h1 {
        font-size: 2.2rem;
    }

    #structure .innre.tx_sct02 h1 {
        font-size: 5.5rem;
    }

    #structure .innre.tx_sct03 h1 {
        font-size: 2.2rem;
    }

    #structure .innre.tx_sct04 h1 {
        font-size: 2rem;
    }

    .businessImBx2 .btn {
        padding: 15px;
    }

    .businessImBx2 .btn a, .businessImBx .btn a {
        text-align: center;

    }

    .businessImBx2 {
        padding: 30px 20px;
    }

    .businessSb {
        margin: 0 auto 20px;
        padding: 0 0;
    }

    .businessWp .businessSb:nth-child(2) {
        margin-top: 30px;

    }

    #historyContents .historyWps .inrBxWp {
        padding: 30px 20px 0 20px;
        margin-bottom: 20px;
    }

    #historyContents .historyWps .years {
        text-align: center;
        padding: 15px 0;
        margin-bottom: 20px;
        font-size: 2rem;
    }

    #historyContents .historyWps .inr {
        padding-top: 20px;
        display: block;
    }

    #historyContents .historyWps .lt {
        padding-right: 0;
    }

    #historyContents .historyWps .rt {
        width: auto;

    }

    #historyContents .historyWps .inrBx:nth-child(2) {
        padding-top: 30px;
    }

    #historyContents {
        padding-bottom: 30px;
    }

    .Lnklist ul {
        display: flex;
        flex-wrap: wrap;
        padding: 5px 0;

    }

    .Lnklist li {
        margin-top: 10px;
        margin-right: 25px;

    }

}

@media screen and (max-width: 414px) {

}

.Lnklist li a {
    position: relative;
    text-decoration: underline;
    color: #71b92a;
    padding-left: 12px;
}

.Lnklist li a:after {
    position: absolute;
    top: 2px;
    left: 0;
    bottom: 0;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    margin: auto 0;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #c4c4c4;
    transform: rotate(90deg);
}

.Lnklist li a:hover {
    text-decoration: none;
}

@media screen and (min-width: 768px) {
    .Lnklist li a {
        font-size: 0.875rem;
        line-height: 1.8;
    }
}

@media screen and (max-width: 767px) {
    .Lnklist li a {
        font-size: 13px;
        line-height: 1.6;
    }
}

@media screen and (max-width: 414px) {
    .Lnklist li a {
        font-size: 3.4666vw;
        line-height: 1.6;
    }
}

/*-----------------------------------------------------
topVision
-------------------------------------------------------*/
#topVision {
    -webkit-font-feature-settings: "pkna" 1;
    font-feature-settings: "pkna" 1;
    letter-spacing: 1px;
}

#topVision .vision_front_bx .vision_sub_tx {
    display: inline-block;
    position: relative;
    padding-left: 55px;
    color: #231F20;
}

#topVision .vision_front_bx .vision_sub_tx::before {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 10px;
    content: "";
    width: 32px;
    height: 1px;
    margin-top: -1px;
    background-color: #231F20;
}

#topVision .vision_front_bx .vision_sub_tx::after {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 32px;
    content: "";
    transform-origin: 100% 0;
    transform: rotate(45deg);
    width: 10px;
    height: 1px;
    margin-top: -1px;
    background-color: #231F20;
}

#topVision .vision_back_bx .vision_ex {
    margin: 20px 0 0;
    font-size: 16px;
    line-height: 2.2;
}

#topVision .vision_back_bx .vision_ex:first-of-type {
    margin-top: 0;
}

#topVision .vision_back_bx .vision_ex .em {
    color: #b7d316;
}

/* メッセージ枠非表示 */
#topVision .vision_sc.message {
    display: none;
}

/* 背景画像のバリエーション */
#topVision .vision_sc.identity .vision_back_bx .vision_bg {
    background-image: url(../../images/im_top_vision_01.jpg);
}

#topVision .vision_sc.strategy .vision_back_bx .vision_bg {
    background-image: url(../../images/im_top_vision_02.jpg);
}

#topVision .vision_sc.message .vision_back_bx .vision_bg {
    background-image: url(../../images/im_top_vision_03.jpg);
}

#topVision .vision_sc.strength .vision_back_bx .vision_bg {
    background-image: url(../../images/im_top_vision_04.jpg);
}

/* タブレット〜PC */
@media screen and (min-width: 1025px) {
    #topVision .vision_sc {
        position: relative;
        z-index: 1;
        overflow: hidden;
        width: 100%;
        min-height: 900px;
        height: 100vh;
    }

    #topVision .vision_sc:nth-of-type(even) .vision_front_bx {
        right: auto;
        left: 50%;
        margin-left: 160px;
    }

    #topVision .vision_sc:nth-of-type(even) .vision_label {
        right: 0;
        left: auto;
        margin-left: 0;
    }

    #topVision .vision_sc:nth-of-type(even) .vision_front_bx .vision_cont {
        right: auto;
        left: 0;
        transform: translate3d(0, -50%, 0);
    }

    #topVision .vision_sc:nth-of-type(even) .vision_back_bx {
        right: 50%;
        left: auto;
        margin-right: -160px;
    }

    #topVision .vision_sc:nth-of-type(even) .vision_back_bx .vision_ttl_block {
        right: 0;
        left: auto;
        transform: translate3d(100%, -50%, 0);
    }

    #topVision .vision_sc:nth-of-type(even) .vision_back_bx .vision_cont {
        right: 0;
        left: auto;
        transform: translate3d(0, -50%, 0);
        width: 660px;
        padding: 0 150px 0 0;
    }

    #topVision .vision_tx_block {
        display: block;
    }

    #topVision .vision_bg_tx {
        position: absolute;
        bottom: -34px;
        left: 50%;
        z-index: 3;
        mix-blend-mode: overlay;
        margin-left: -560px;
        font-family: "Roboto", sans-serif;
        font-weight: 300;
        color: #fff;
        font-size: 200px;
        line-height: 1;
        letter-spacing: 10px;
        white-space: nowrap;
        cursor: default;
    }

    #topVision .vision_bg_tx::selection {
        background: none;
    }

    #topVision .vision_ttl {
        padding-top: 30px;
        font-family: "Lato", sans-serif;
        font-weight: 400;
        font-size: 90px;
        line-height: 1.1;
        white-space: nowrap;
    }

    #topVision .vision_label {
        position: absolute;
        top: 0;
        left: 8px;
        color: #7abd35;
        font-size: 16px;
        line-height: 1;
        white-space: nowrap;
    }

    #topVision .vision_front_bx {
        position: absolute;
        top: 0;
        right: 50%;
        z-index: 2;
        overflow: hidden;
        width: 50%;
        height: 100%;
        margin-right: 160px;
        background-color: #f5f5f5;
    }

    #topVision .vision_front_bx .vision_cont {
        position: absolute;
        top: 50%;
        right: 350px;
        transform: translate3d(100%, -50%, 0);
    }

    #topVision .vision_back_bx {
        position: absolute;
        top: 0;
        left: 50%;
        z-index: 1;
        overflow: hidden;
        width: calc(50% + 160px);
        height: 100%;
        margin-left: -160px;
        background-color: #231F20;
        color: #fff;
    }

    #topVision .vision_back_bx .vision_bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: no-repeat 50% 50% / cover;
    }

    #topVision .vision_back_bx .vision_ttl_block {
        position: absolute;
        top: 50%;
        left: -350px;
        z-index: 2;
        transform: translate3d(0, -50%, 0);
        white-space: nowrap;
    }

    #topVision .vision_back_bx .vision_cont {
        position: absolute;
        top: 50%;
        left: 220px;
        z-index: 1;
        transform: translate3d(0, -50%, 0);
        box-sizing: border-box;
        width: 440px;
        padding: 0;
    }

    /* 配置関連のバリエーション */
    #topVision .vision_sc.identity .vision_front_bx .vision_cont {
        left: -130px;
    }

    #topVision .vision_sc.identity .vision_back_bx .vision_ttl_block {
        right: 130px;
    }

    #topVision .vision_sc.strategy .vision_ttl {
        padding-top: 20px;
        font-size: 200px;
        line-height: 1;
    }

    #topVision .vision_sc.strategy .vision_label {
        left: 18px;
    }

    #topVision .vision_sc.strategy .vision_front_bx .vision_cont {
        right: 360px;
    }

    #topVision .vision_sc.strength .vision_back_bx .vision_ttl_block {
        left: -360px;
    }

    #topVision .vision_sc.strength .vision_ttl {
        font-size: 60px;
        font-weight: 700;
        line-height: 1.4;
    }

    #topVision .vision_sc.strength .vision_front_bx .vision_cont {
        left: -130px;
    }

    #topVision .vision_sc.strength .vision_back_bx .vision_cont {
        right: 0;
    }

    #topVision .vision_sc.strength .vision_back_bx .vision_ttl_block {
        right: 130px;
    }
}

/* タブレット */
@media screen and (min-width: 1025px) and (max-width: 1200px) {
    #topVision .vision_bg_tx {
        margin-left: -480px;
        font-size: 170px;
    }

    #topVision .vision_ttl {
        font-size: 80px;
    }

    #topVision .vision_front_bx .vision_cont {
        right: 280px;
    }

    #topVision .vision_back_bx .vision_ttl_block {
        left: -280px;
    }

    /* 配置関連のバリエーション */
    #topVision .vision_sc.strategy .vision_front_bx .vision_cont {
        right: 300px;
    }

    #topVision .vision_sc.strength .vision_back_bx .vision_ttl_block {
        left: -300px;
    }

    #topVision .vision_sc.strength .vision_ttl {
        font-size: 50px;
    }

    #topVision .vision_sc.strength .vision_front_bx .vision_cont {
        left: -90px;
    }

    #topVision .vision_sc.strength .vision_back_bx .vision_ttl_block {
        right: 90px;
    }
}

/* SP */
@media screen and (max-width: 1024px) {
    #topVision .vision_sc {
        position: relative;
        z-index: 1;
        overflow: hidden;
        width: 100%;
    }

    #topVision .vision_tx_block {
        display: block;
    }

    #topVision .vision_bg_tx {
        position: absolute;
        top: 140px;
        right: 0;
        z-index: 3;
        transform-origin: 100% 0;
        transform: rotate(90deg) translate3d(100%, -6px, 0);
        mix-blend-mode: overlay;
        padding-left: 12px;
        font-family: "Roboto", sans-serif;
        font-weight: 300;
        color: #fff;
        font-size: 46px;
        line-height: 1;
        letter-spacing: 6px;
        white-space: nowrap;
        cursor: default;
    }

    #topVision .vision_bg_tx::selection {
        background: none;
    }

    #topVision .vision_ttl {
        padding-top: 30px;
        font-family: "Lato", sans-serif;
        font-weight: 400;
        font-size: 60px;
        line-height: 1.1;
        white-space: nowrap;
    }

    #topVision .vision_label {
        position: absolute;
        top: 0;
        left: 4px;
        color: #7abd35;
        font-size: 16px;
        line-height: 1;
        white-space: nowrap;
    }

    #topVision .vision_front_bx {
        position: relative;
        z-index: 2;
        overflow: hidden;
        height: 140px;
        background-color: #f5f5f5;
    }

    #topVision .vision_front_bx .vision_cont {
        position: absolute;
        bottom: -64px;
        left: 60px;
    }

    #topVision .vision_back_bx {
        position: relative;
        z-index: 1;
        overflow: hidden;
        background-color: #231F20;
        color: #fff;
    }

    #topVision .vision_back_bx .vision_bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: no-repeat 50% 50% / cover;
    }

    #topVision .vision_back_bx .vision_ttl_block {
        position: absolute;
        top: 64px;
        left: 60px;
        z-index: 2;
        transform: translate3d(0, -100%, 0);
        white-space: nowrap;
    }

    #topVision .vision_back_bx .vision_cont {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        z-index: 1;
        box-sizing: border-box;
        min-height: 400px;
        padding: 120px 60px 60px;
    }

    #topVision .vision_back_bx .vision_ex {
        width: 100%;
    }

    /* 配置関連のバリエーション */
    #topVision .vision_sc.strategy .vision_ttl {
        margin-left: -4px;
        padding-top: 20px;
        font-size: 122px;
        line-height: 1;
    }
}

@media screen and (max-width: 767px) {
    #topVision .vision_back_bx .vision_ex {
        font-size: 14px;
    }

    #topVision .vision_bg_tx {
        top: 110px;
        transform: rotate(90deg) translate3d(100%, -4px, 0);
        font-size: 37px;
        letter-spacing: 4px;
    }

    #topVision .vision_ttl {
        font-size: 40px;
    }

    #topVision .vision_front_bx {
        height: 110px;
    }

    #topVision .vision_front_bx .vision_cont {
        bottom: -44px;
        left: 30px;
    }

    #topVision .vision_back_bx {
        min-height: 240px;
    }

    #topVision .vision_back_bx .vision_ttl_block {
        top: 44px;
        left: 30px;
    }

    #topVision .vision_back_bx .vision_cont {
        min-height: 300px;
        padding: 70px 30px 30px;
    }

    /* 配置関連のバリエーション */
    #topVision .vision_sc.strategy .vision_ttl {
        font-size: 100px;
    }

    #topVision .vision_sc.strength .vision_ttl {
        font-size: 30px;
        line-height: 1.4;
    }
}

/*-----------------------------------------------------
topHistory
-------------------------------------------------------*/
#topHistory {
    margin-bottom: 60px;
    -webkit-font-feature-settings: "pkna" 1;
    font-feature-settings: "pkna" 1;
    letter-spacing: 1px;
}

#topHistory .history_ttl {
    overflow: hidden;
    width: 100%;
    background-color: #231F20;
}

#topHistory .history_ttl .history_ttl_tx {
    box-sizing: border-box;
    width: 1124px;
    margin: 0 auto;
    padding: 80px 0 30px;
    color: #fff;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-size: 90px;
    line-height: 1;
    white-space: nowrap;
}

#topHistory .history_sc {
    position: relative;
    z-index: 1;
    min-height: 200px;
    padding-top: 35px;
}

#topHistory .history_sc::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background-color: #f5f5f5;
}

#topHistory .history_sc:nth-last-of-type(1)::before {
    bottom: 98px;
}

#topHistory .history_sc:nth-last-of-type(1) .history_col_bx {
    padding-bottom: 8px;
}

#topHistory .history_sc:nth-last-of-type(1) .history_col_bx:before {
    display: block;
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 8px;
    background-color: #ddd;
}

#topHistory .history_sc:nth-last-of-type(1) .history_front_bx {
    min-height: 350px;
    background: linear-gradient(-180deg, #b7d316, #78bd36);
    color: #fff;
}

#topHistory .history_sc:nth-last-of-type(1) .history_front_bx::before {
    background-color: #549b0f;
}

#topHistory .history_sc:nth-last-of-type(1) .history_front_bx .history_cont {
    background: linear-gradient(-180deg, #b7d316, #78bd36);
}

#topHistory .history_sc:nth-last-of-type(1) .history_front_bx .history_year {
    mix-blend-mode: overlay;
    color: #ffffff;
    opacity: 0.3;
}

#topHistory .history_sc:nth-last-of-type(1) .history_front_bx .history_logo_list {
    background-color: rgba(255, 255, 255, 0.9);
}

#topHistory .history_sc:nth-of-type(odd) .history_front_bx {
    max-width: 612px;
    margin-left: 110px;
}

#topHistory .history_sc:nth-of-type(odd):nth-last-of-type(1) .history_col_bx:before {
    left: 110px;
}

#topHistory .history_col_bx {
    display: flex;
    position: relative;
    width: 1124px;
    margin: 0 auto;
}

#topHistory .history_front_bx {
    flex: 2 0 auto;
    position: relative;
    z-index: 2;
    max-width: 722px;
    min-height: 300px;
    background-color: #fff;
}

#topHistory .history_front_bx::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
    width: 8px;
    background-color: #231F20;
}

#topHistory .history_front_bx .history_cont {
    position: relative;
    left: 50px;
    z-index: 1;
    box-sizing: border-box;
    height: 100%;
    padding: 60px 90px 100px 10px;
    background-color: #fff;
}

#topHistory .history_front_bx .history_cont::before {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 2;
    content: "";
    width: 60px;
    height: 1px;
    background-color: #231F20;
}

#topHistory .history_front_bx .history_cont::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 30px;
    z-index: 2;
    content: "";
    transform-origin: 0 100%;
    transform: rotate(-45deg);
    width: 30px;
    height: 1px;
    background-color: #231F20;
}

#topHistory .history_front_bx .history_cont_ttl {
    position: relative;
    z-index: 2;
    margin-bottom: 20px;
    font-size: 1.4375rem;
    font-weight: 800;
    line-height: 1.6;
}

#topHistory .history_front_bx .history_cont_tx {
    position: relative;
    z-index: 1;
    margin-left: 50px;
}

#topHistory .history_front_bx .history_ex {
    margin: 20px 0 0;
    font-size: 16px;
    line-height: 2.2;
}

#topHistory .history_front_bx .history_ex:first-of-type {
    margin-top: 0;
}

#topHistory .history_front_bx .history_ex dt {
    color: #999;
    font-size: 18px;
    font-weight: bold;
}

#topHistory .history_front_bx .history_ex dd {
    margin-left: 30px;
}

#topHistory .history_front_bx .history_year {
    position: absolute;
    top: -20px;
    left: -64px;
    transform-origin: 0 0;
    transform: rotate(90deg) translate3d(0, -100%, 0);
    padding-left: 12px;
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    color: #f5f5f5;
    font-size: 125px;
    line-height: 1;
    letter-spacing: 2px;
    white-space: nowrap;
    cursor: default;
}

#topHistory .history_front_bx .history_year::selection {
    background: none;
}

#topHistory .history_front_bx .history_logo_list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 60px;
    box-sizing: border-box;
    height: 90px;
    padding: 0 60px;
}

#topHistory .history_front_bx .history_logo {
    position: relative;
    width: 180px;
    margin-left: 30px;
}

#topHistory .history_front_bx .history_logo:first-of-type {
    margin-left: 0;
}

#topHistory .history_front_bx .history_logo img {
    width: 100%;
    height: auto;
}

#topHistory .history_back_bx {
    flex: 1 0 auto;
    position: relative;
    z-index: 1;
    width: 402px;
    max-width: 402px;
}

#topHistory .history_back_bx::before {
    display: block;
    position: absolute;
    top: -112px;
    left: -2px;
    z-index: 1;
    content: "";
    width: 52px;
    height: 77px;
    background-color: #fff;
}

#topHistory .history_sc:first-of-type .history_back_bx::before {
    display: none;
}

#topHistory .history_back_bx .history_img_block {
    position: absolute;
    top: -110px;
    right: 0;
    bottom: 0;
    left: 0;
    background: #000 no-repeat 50% 0 / cover;
}

#topHistory .history_back_bx .history_progress_block {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    width: 100%;
}

#topHistory .history_back_bx .history_progress_block.noyear::after {
    height: 140px;
}

#topHistory .history_back_bx .history_progress_block::before,
#topHistory .history_back_bx .history_progress_block::after {
    display: block;
    position: absolute;
    top: 30px;
    bottom: 0;
    left: 50%;
    content: "";
    transform: translate3d(-50%, 0, 0);
    width: 4px;
    background-color: #78bd36;
}

#topHistory .history_back_bx .history_progress_block::after {
    top: -110px;
    bottom: auto;
    height: 60px;
}

#topHistory .history_sc:first-of-type .history_back_bx .history_progress_block::after {
    display: none;
}

#topHistory .history_back_bx .history_yyyy {
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    color: #fff;
    font-family: "Roboto", sans-serif;
    font-style: italic;
    font-weight: 300;
    font-size: 50px;
    line-height: 1;
    white-space: nowrap;
    cursor: default;
}

#topHistory .history_back_bx .history_yyyy::selection {
    background: none;
}

#topHistory .history_back_bx .history_dot {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    width: 100%;
}

#topHistory .history_back_bx .history_dot::after {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    content: "";
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: linear-gradient(-135deg, #b7d316, #78bd36);
}

#topHistory .history_back_bx .history_dot::before {
    display: block;
    position: relative;
    content: "";
    width: 50%;
    height: 1px;
    background-color: #fff;
}

/* ロゴ画像の幅調整と位置調整 */
#topHistory .history_front_bx .history_logo.netsea {
    width: 150px;
}

#topHistory .history_front_bx .history_logo.revalue {
    width: 114px;
}

#topHistory .history_front_bx .history_logo.tatempo {
    width: 167px;
}

#topHistory .history_front_bx .history_logo.otameshi {
    width: 150px;
}

#topHistory .history_front_bx .history_logo.zaicoban {
    width: 188px;
    top: 4px;
}

/* 背景画像のバリエーション */
#topHistory .history_sc.media .history_back_bx .history_img_block {
    background-image: url(../../images/im_top_history_01.jpg);
}

#topHistory .history_sc.marketplace .history_back_bx .history_img_block {
    background-image: url(../../images/im_top_history_02.jpg);
}

#topHistory .history_sc.solution .history_back_bx .history_img_block {
    background-image: url(../../images/im_top_history_03.jpg);
}

#topHistory .history_sc.platform .history_back_bx .history_img_block {
    background-image: url(../../images/im_top_history_04.jpg);
}

/* タブレット以下 */
@media screen and (max-width: 1200px) {
    #topHistory .history_sc:nth-of-type(odd) .history_front_bx {
        max-width: 722px;
        margin-left: 0;
    }

    #topHistory .history_sc:nth-of-type(odd):nth-last-of-type(1) .history_col_bx:before {
        left: 0;
    }

    #topHistory .history_ttl .history_ttl_tx {
        width: auto;
        padding-right: 30px;
        padding-left: 30px;
    }

    #topHistory .history_col_bx {
        width: auto;
        margin: 0 30px;
    }

    #topHistory .history_front_bx {
        width: 70%;
    }

    #topHistory .history_back_bx {
        width: 30%;
    }

    #topHistory .history_back_bx .history_yyyy {
        position: absolute;
        top: -30px;
        left: 50%;
        font-size: 40px;
    }
}

/* SP */
@media screen and (max-width: 1024px) {
    #topHistory {
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 767px) {
    #topHistory .history_ttl .history_ttl_tx {
        padding-top: 60px;
        font-size: 40px;
    }

    #topHistory .history_sc:nth-last-of-type(1) .history_front_bx {
        min-height: 300px;
    }

    #topHistory .history_col_bx {
        margin: 0;
    }

    #topHistory .history_front_bx {
        width: 80%;
        min-height: 200px;
    }

    #topHistory .history_front_bx .history_cont::before,
    #topHistory .history_front_bx .history_cont::after {
        display: none;
    }

    #topHistory .history_front_bx .history_cont {
        left: 10px;
        padding: 20px 0 0 20px;
    }

    #topHistory .history_front_bx .history_cont_ttl {
        margin-right: 20px;
        font-size: 19px;
        line-height: 1.6;
    }

    #topHistory .history_front_bx .history_cont_tx {
        margin: 0 40px 0 20px;
    }

    #topHistory .history_front_bx .history_ex {
        font-size: 14px;
    }

    #topHistory .history_front_bx .history_logo_list {
        display: block;
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        height: auto;
        margin: 30px 0 0 20px;
        padding: 20px 15px 30px;
    }

    #topHistory .history_front_bx .history_logo {
        margin: 30px 0 0;
    }

    #topHistory .history_front_bx .history_logo:first-of-type {
        margin: 0;
    }

    #topHistory .history_back_bx {
        width: 20%;
    }

    #topHistory .history_back_bx::before {
        width: 12px;
    }

    #topHistory .history_front_bx .history_year {
        top: -14px;
        left: -16px;
        font-size: 80px;
    }

    #topHistory .history_back_bx .history_img_block {
        top: -90px;
    }

    #topHistory .history_back_bx .history_progress_block::after {
        top: -90px;
    }

    #topHistory .history_back_bx .history_yyyy {
        top: -12px;
        font-size: 18px;
    }
}

.identity_section {
    /*height: 100vh;*/
    /*position: relative;*/
}

.identity_container {
    /*max-width: 900px;*/
    /*width: 100%;*/
    /*max-width: 57.25rem;*/
    /*max-height: 24.75rem;*/
    text-align: center;
    padding: 230px 5px;
    margin: auto;
}

.identity_img {
    width: 240px;
}

.identity_details_container {
    padding-top: 69px;
    width: 100%;
}

.identity_details {
    font-size: 1.5rem;
    line-height: 1.4;
    opacity: 0.8;
    display: block;
}

.company_container {
    position: relative;
    padding-top: 50px;
}

.company_top_img {
    width: 100%;
}

.company_title_container {
    text-align: center;
    line-height: 1.3;
    margin-bottom: 40px;
}

.company_detail_line1 {
    line-height: 5.85rem;
    color: white;
}

.company_detail_line2 {
    font-family: Noto Sans JP, sans-serif;
    font-size: 72px;
    font-style: normal;

    font-weight: 900;
    line-height: 94px;
    letter-spacing: 0;
    text-align: center;

    /*top: 0px;*/
    /*position: absolute;*/
    /*left: 0;*/
    color: white;
    width: 100%;
    text-align: center;
}

.company_infra_container {
    background-color: #78C85A;
    margin-top: -3px;
    text-align: center;
    position: relative;
    /*overflow: hidden;*/
}

.company_infra_detail_info {
    /*padding-top: 50px;*/
    margin: auto;
    text-align: center;
    padding: auto 15px;
}

.company_infra_detail {
    color: white;
    font-size: 1.5rem;
    line-height: 1.95rem;
    /*font-family: NotoSansJP;*/
    /*font-size: 150px;*/
    font-style: normal;
    letter-spacing: 1px;
    /*line-height: 195px;*/
    /*letter-spacing: 0em;*/

}

.company_people_img {
    width: 80%;
    max-width: 761px;
    display: block;
    margin: 49px auto 145px;
}

/*.company_tranfer {*/
/*    text-align: center;*/
/*    background-image: url(/common/images/company_bg.svg);*/
/*    background-repeat: no-repeat;*/
/*    background-position-x: 0px;*/
/*    background-position-y: 0px;*/
/*    padding-left: 36px;*/
/*    color: transparent;*/
/*    font-size: 16.25rem;*/
/*    line-height: 18.75rem;*/
/*    white-space: nowrap;*/
/*    opacity: 0.4;*/
/*    -webkit-text-stroke: white 4px;*/
/*    position: relative;*/
/*    height: 300px;*/
/*}*/

.company_tranfer {
    position: relative;
    background-image: url(/common/images/toppage-new/company_bg.svg);
    background-repeat: no-repeat;
    background-position-x: 30px;
    background-position-y: 0;
    max-width: 1920px;
    margin: auto;
    display: inline-block;
}

.company_tranfer p {
    color: transparent;
    font-size: 16.25rem;
    line-height: 18.75rem;
    white-space: nowrap;
    opacity: 0.4;
    -webkit-text-stroke: white 4px;
    max-width: 100%;
    overflow: hidden;
    padding-left: 30px;
    width: auto;
}

@-moz-keyframes textRun {
    0% {
        -moz-transform: translateX(100%);
    }
    100% {
        -moz-transform: translateX(-100%);
    }
}

@-webkit-keyframes textRun {
    0% {
        -webkit-transform: translateX(100%);
    }
    100% {
        -webkit-transform: translateX(-100%);
    }
}

@keyframes textRun {
    0% {
        -moz-transform: translateX(100%);
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }
    100% {
        -moz-transform: translateX(-100%);
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}


.ai_subtitle {
    color: white;
    padding-top: 100px;
    padding-bottom: 10px;
}

.ai_title {
    color: white;
}

.ai_detail {
    color: white;
    /*width: 769px;*/
    margin: auto;
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
}

@media screen and (max-width: 1024px) {
    .ai_subtitle {
        font-size: 1rem !important;
        line-height: 22px !important;
    }

    .ai_title {
        margin: auto;
        font-size: 2.5rem !important;
        line-height: 50px !important;
    }

    .ai_detail {
        /*width: 357px !important;*/
        font-family: "Noto Sans JP", sans-serif !important;
        font-size: 1rem !important;
        line-height: 22px !important;
    }

    /*.identity_details {*/
    /*    font-size: 1.8rem;*/
    /*}*/
}

.ai_bottom_img {
    margin-top: -2px;
    width: 100%;
}

.contact_container {
    width: 1520px;
    margin: auto;
    display: flex;
    padding: 230px 0;
}

.contact_left {
    width: calc(50% - 5px);
    margin-right: 5px;
}

.contact_right {
    width: calc(50% - 5px);
    margin-left: 5px;
}

.contact_img_right {
    border-radius: 16px;
    width: 100%;
    display: block;
    max-width: 554px;
    max-height: 371px;
    margin: auto;
}

.contact_img_left {
    border-radius: 16px;
    width: 100%;
    max-width: 699px;
    max-height: 369.91px;
    margin: auto;
    display: block;
}

.contact_link_left {
    cursor: pointer;
    width: 423px;
    height: 136px;
    color: black;
    background-color: white;
    border-radius: 16px;
    margin-left: 50%;
    transform: translateX(-50%);
    border: none;
    margin-top: 31px;
    font-size: 32px;
    box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1)
}

.arrow_desk {
    /*display: block;*/
    vertical-align: middle;
    display: unset;
    margin-left: 20px;
}

.arrow_mobile {
    display: none;
    vertical-align: middle;
    /*visibility: hidden;*/
    margin-left: 20px;
}

img {
    max-width: 100%;
}

.company_transform {
    transform: translateY(-70px);
}

@media screen and (max-width: 1024px) {

    .company_detail_line1 {
        font-size: 2.5rem !important;
        line-height: 3.85rem;
        /*top: 0*/
    }

    .company_detail_line2 {
        font-size: 40px;
        top: 50px;
    }

    .company_infra_detail {
        font-size: 1rem;
        line-height: 1.448rem;
    }

    /*.company_tranfer p {*/
    /*    -webkit-text-stroke: 2px white;*/
    /*    font-size: 12rem;*/
    /*    white-space: nowrap;*/
    /*}*/
    .ai_title {
        font-size: 2.5rem;
    }

    .ai_detail {
        font-size: 16px;
        /*width: 90%;*/
        margin: auto;
        transform: none;
        position: unset;
        padding-top: 47px;
        padding-bottom: 70px;
    }

}

@media screen and (max-width: 1590px) {
    .ai_detail {
        font-size: 24px;
        /*width: 700px;*/
        margin: auto;
        transform: none;
        position: unset;
        padding-top: 50px;
        padding-bottom: 70px;
    }
}

@media screen and (max-width: 1500px) {
    .contact_container {
        width: 80%;
        padding: 120px 0;
    }

    .company_detail_line1 {
        font-size: 3.5rem;
        line-height: 4.85rem;
    }

    .contact_link_left {
        height: 100px;
        font-size: 28px;
        width: 80%;
        border-radius: 10px;
    }

    .contact_img_left {
        max-height: 202px;
    }

    .contact_img_right {
        max-height: 202px;
    }
}

@media screen and (max-width: 960px) {
    .contact_container {
        display: block;
        width: 328px;
        padding: 55px 0 88px 0;
    }

    .company_title_container {
        font-size: 2rem;
    }

    .contact_img_left {
        display: none;
    }

    .contact_img_right {
        display: none;
    }

    .contact_link_left {
        color: white;
        background: linear-gradient(90.22deg, #AAD250 1.65%, #78C85A 99.81%);
        font-size: 24px;
        font-weight: bold;
        width: 100%;
        margin: 12px auto;
        transform: none;
        box-shadow: unset;
    }

    .contact_left {
        width: 100%;
        margin: 0 auto;
    }

    .contact_right {
        width: 100%;
        margin: 0 auto;
    }

    .arrow_desk {
        display: none;
    }

    .arrow_mobile {
        display: unset;
        /*margin-left: -50px;*/
    }
}

@media screen and (max-width: 1300px) {
    .contact_link_left {
        font-size: 25px;
        height: 90px;
        /*width: 70%;*/
    }
}

@media screen and (max-width: 1200px) {
    .contact_link_left {
        font-size: 16px;
        height: 60px;
        /*width: 70%;*/
        /*transform: translateY(-40px);*/
    }

    .company_title_container {
        font-size: 3.2rem;
    }
}

@media screen and (max-width: 1024px) {
    /*.contact_link_left {*/
    /*    font-size: 22px;*/
    /*    width: 60%;*/
    /*    height: 74px;*/
    /*    transform: translateY(-54px);*/
    /*    margin-left: 30%;*/
    /*}*/
    .company_title_container {
        font-size: 2.8rem;
    }

    .company_tranfer p {
        font-size: 12rem;
        padding-left: 0;
    }

    .company_tranfer {
        width: 100%;
    }

    .cf-ai-img {
        /*padding-bottom: 67px;*/
    }
}


@media screen and (max-width: 760px) {
    .contact_container {
        display: block;
        width: 328px;
    }

    .company_title_container {
        font-size: 2rem;
        line-height: 1.625;
    }

    .contact_img_left {
        display: none;
    }

    .contact_img_right {
        display: none;
    }

    .contact_link_left {
        color: white;
        background: linear-gradient(90.22deg, #AAD250 1.65%, #78C85A 99.81%);
        font-size: 24px;
        font-weight: bold;
        width: 100%;
        margin: 12px auto;
        transform: none;
        border-radius: 10px;
        height: 72px;
    }

    .contact_left {
        width: 100%;
    }

    .contact_right {
        width: 100%;
    }

    .arrow_desk {
        display: none;
    }

    .arrow_mobile {
        display: unset;
        /*margin-left: -50px;*/
    }

    .company_transform {
        transform: none;
    }

    .ai_title {
        font-size: 2rem !important;
    }

    .company_tranfer p {
        font-size: 10rem;
    }
}

@media screen and (max-width: 708px) {
    .identity_section {
        height: auto;
        /*position: relative;*/
        /*min-height: 600px;*/
    }

    .identity_container {
        height: auto;
        text-align: center;
        padding-bottom: 100px;
        padding-top: 100px;
    }

    .identity_img {
        width: 115px;
    }

    .identity_details_container {
        padding-top: 31px;
        width: auto;
    }

    .identity_details {
        font-size: 1rem;
        letter-spacing: 0.5px;
    }
}

@media screen and (max-width: 600px) {
    .company_detail_line1 {
        font-size: 2rem !important;
        line-height: 3.25rem;
        /*top: 0*/
    }

    .company_detail_line2 {
        font-size: 40px;
        top: 50px;
    }

    .company_infra_detail {
        font-size: 14px;
        line-height: 1.448rem;
        letter-spacing: 0.8px;
        /*opacity: 0.3;*/
    }

    .ai_title {
        font-size: 40px;
        font-weight: bold;
    }

    .ai_detail {
        font-size: 16px;
        /*width: 90%;*/
        margin: auto;
        transform: none;
        position: unset;
        padding-top: 50px;
        padding-bottom: 70px;
    }

    .banner {
        display: block;
    }

    .company_people_img {
        width: 222px;
        margin: 25px auto 43px auto;
    }

    .company_title_container {
        font-size: 1.3rem;
        margin-bottom: 32px;
    }
}

@media screen and (max-width: 500px) {
    .company_infra_detail {
        font-size: 12px;
        letter-spacing: 0.6px;
    }

    .company_tranfer p {
        font-size: 7rem;
        padding-left: 0;
    }

    .company_tranfer {
        width: 100%;
    }
}

@media screen and (max-width: 415px) {
    .ai_subtitle {
        font-size: 1rem !important;
        line-height: 23.17px !important;
    }

    .ai_title {
        letter-spacing: 0;
        margin: auto;
        font-size: 1.5rem !important;
        line-height: 42px !important;
    }

    .ai_detail {
        /*width: 348px !important;*/
        font-family: "Noto Sans JP", sans-serif !important;
        font-size: 14px !important;
        line-height: 23.17px !important;
        letter-spacing: 0;
        padding-bottom: 70px;
    }
    .company_infra_detail {
        font-size: 10px;
    }

    .company_tranfer p {
        font-size: 5.625rem;
        padding-left: 0;
    }


}

@media screen and (max-width: 374px) {
    .company_title_container {
        font-size: 1.2rem;
    }

    .identity_details {
        font-size: 0.7rem;
    }

    .identity_details {
        font-size: 0.75rem;
    }
}

.lang-li li {
    max-width: unset !important;
}
