@charset "UTF-8";

:root {
    --color-primary: #333333;
    --color-primary-a90: rgba(51,51,51,0.9);
    --color-primary-a80: rgba(51,51,51,0.8);
    --color-primary-a70: rgba(51,51,51,0.7);
    --color-primary-a60: rgba(51,51,51,0.6);
    --color-primary-a50: rgba(51,51,51,0.5);
    --color-primary-a40: rgba(51,51,51,0.4);
    --color-primary-a30: rgba(51,51,51,0.3);
    --color-primary-a20: rgba(51,51,51,0.2);
    --color-primary-a10: rgba(51,51,51,0.1);
    --color-secondary : #990000;
    --color-secondary-a90: rgba(153,0,0,0.9);
    --color-secondary-a80: rgba(153,0,0,0.8);
    --color-secondary-a70: rgba(153,0,0,0.7);
    --color-secondary-a60: rgba(153,0,0,0.6);
    --color-secondary-a50: rgba(153,0,0,0.5);
    --color-secondary-a40: rgba(153,0,0,0.4);
    --color-secondary-a30: rgba(153,0,0,0.3);
    --color-secondary-a20: rgba(153,0,0,0.2);
    --color-secondary-a10: rgba(153,0,0,0.1);
    --color-tertiary : #505050;
    --color-tertiary-a90: rgba(80,80,80,0.9);
    --color-tertiary-a80: rgba(80,80,80,0.8);
    --color-tertiary-a70: rgba(80,80,80,0.7);
    --color-tertiary-a60: rgba(80,80,80,0.6);
    --color-tertiary-a50: rgba(80,80,80,0.5);
    --color-tertiary-a40: rgba(80,80,80,0.4);
    --color-tertiary-a30: rgba(80,80,80,0.3);
    --color-tertiary-a20: rgba(80,80,80,0.2);
    --color-tertiary-a10: rgba(80,80,80,0.1);
}

/* ----- Foundation ----- */
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */
/* ============================================ */

*,
::before,
::after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
    margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
    display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Lists (definition) */
/* ============================================ */

dt {
    font-weight: bold;
}

dd {
    margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
    font-family: monospace, monospace; /* 1 */
    font-size: inherit; /* 2 */
}

address {
    font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
    font-family: monospace, monospace; /* 1 */
    font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content */
/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

img,
embed,
object,
iframe {
    vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable
 */

button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    outline: 0;
    border-radius: 0;
    text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */

/* [type="checkbox"] {
    -webkit-appearance: checkbox;
    appearance: checkbox;
} */

/* [type="radio"] {
    -webkit-appearance: radio;
    appearance: radio;
} */

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
    /* 1 */
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
    cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */

select::-ms-expand {
    display: none;
}

/**
 * Remove padding
 */

option {
    padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
    margin: 0;
    padding: 0;
    min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
    overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */

[type="search"] {
    outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
}

/**
 * Clickable labels
 */

label[for] {
    cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
    display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable] {
    outline: none;
}

/* Table */
/* ============================================ */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption {
    text-align: left;
}

td,
th {
    vertical-align: middle;
    padding: 0;
}

th {
    text-align: left;
    font-weight: normal;
}

/* Misc */
/* ============================================ */

/**
 * Add the correct display in IE 10+.
 */

template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
    display: none;
}

img {
    max-width: 100%;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:#cccccc;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color:#cccccc;
}
::placeholder{ /* Others */
    color:#cccccc
}

html {
    font-size: 62.5%;
}

body {
    color: var(--color-primary);
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-size: 1.6rem;
    min-width: 320px;
    background-color: #ffffff;
    line-height: 1.625;
}

/* ----- Layout ----- */
/* l_container */
.l_container {
    overflow: hidden;
}
.l_container.is_visible {
    overflow: visible;
}

/* l_inner */
.l_inner {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 10px;
    padding-left: 10px;
    box-sizing: content-box;
}
.l_inner--auto {
    max-width: none;
}
.l_inner--w1000 {
    max-width: 1000px;
}
.l_inner--w900 {
    max-width: 900px;
}
.l_inner--w600 {
    max-width: 600px;
}
.l_inner--left {
    margin-left: 0;
}
.l_inner--right {
    margin-right: 0;
}
.l_inner .l_inner {
    padding-right: 0;
    padding-left: 0;
}

@media screen and (max-width: 768px) {
    .l_inner {
        max-width: none;
        padding-right: 20px;
        padding-left: 20px;
    }
    .l_inner--w600 {
        max-width: none;
    }
}

/* l_header */
.l_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    transition: all 0.2s;
    z-index: 1000;
}
.l_header.is_fixed {
    top: -30px;
    box-shadow: 0 5px 10px 0 rgba(204, 204, 204, 0.5);
}
.l_header::after {
    content: "";
    position: absolute;
    top: 140px;
    left: 0;
    width: 100%;
    height: calc(100vh - 140px);
    background-color: rgba(0, 0, 0, 0.7);
    transition: height 0.2s, visibility 0s, opacity 0.2s;
    visibility: hidden;
    opacity: 0;
    z-index: -1000;
}
.l_header.is_fixed::after {
    top: 120px;
    height: calc(100vh - 90px);
}
.l_header.is_mask::after {
    visibility: inherit;
    opacity: 1;
}
.l_header__pc {
    display: block;
}
.l_header__sp {
    display: none;
}
.l_header__layer01 {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 30px;
}
.l_header__layer02 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
}
.l_header__layer02::before {
    content: "";
    position: absolute;
    bottom: 50px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #cccccc;
}
.l_header__logo {
    width: 438px;
}
.l_header__toolList {
    margin-left: 20px;
}
@media screen and (min-width: 769px) {
    .l_header.is_fixed .l_header__layer02 {
        height: 50px;
    }
    .l_header.is_fixed .l_header__layer02::before {
        bottom: 41px;
    }
}

@media screen and (max-width: 768px) {
    .l_header.is_fixed {
        top: -50px;
        box-shadow: none;
    }
    .l_header::after {
        top: 90px;
        height: calc(100vh - 90px);
        transition: height 0.2s, visibility 0s, opacity 0.4s;
    }
    .l_header.is_fixed::after {
        top: 90px;
        height: calc(100vh - 40px);
    }
    .l_header__pc {
        display: none;
    }
    .l_header__sp {
        display: block;
        margin-right: -20px;
        margin-left: -20px;
    }
    .l_header__layer01 {
        justify-content: center;
        height: 50px;
    }
    .l_header__layer02 {
        display: block;
        height: 40px;
    }
    .l_header__layer02::before {
        display: none;
    }
    .l_header__logo {
        width: 309px;
    }
    .l_header__toolList {
        display: flex;
        justify-content: space-between;
        margin-left: 0;
    }
    .l_header__globalNav {
        position: absolute;
        top: 90px;
        right: -85%;
        width: 85%;
        max-height: calc(100vh - 90px);
        transition: all 0.4s;
        overflow-y: auto;
    }
    .l_header__globalNav.is_show {
        right: 0;
    }
    .l_header.is_fixed .l_header__globalNav {
        max-height: calc(100vh - 40px);
    }
}

/* l_main */
.l_main {
    padding: 140px 0 150px;
}

@media screen and (max-width: 768px) {
    .l_main {
        padding: 90px 0 0;
    }
}

/* l_footer */
.l_footer {
    position: relative;
    color: #b1b1b1;
    background-color: #5a5a5a;
}
.l_footer__content {
    overflow: hidden;
}
.l_footer__layer01 {
    padding: 100px 0 50px;
}
.l_footer__layer02 {
    position: relative;
    padding: 25px 0 20px;
}
.l_footer__layer02::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 1px;
    background-color: #989898;
    transform: translateX(-50%);
}
.l_footer__column {
    display: flex;
    justify-content: space-between;
}
.l_footer__column > * {
    width: calc((100% - 50px * 2) / 3);
}
.l_footer__logo {
    max-width: 360px;
}
.l_footer__titleList + .l_footer__titleList {
    margin-top: 50px;
}
.l_footer__titleList > * + * {
    margin-top: 30px;
}
.l_footer__title {
    display: block;
    font-weight: bold;
    margin-bottom: 20px;
    padding: 4px 0 4px 15px;
    border-left: solid #b1b1b1 1px;
}
.l_footer__title--link {
    position: relative;
    padding: 0 0 3px 0;
    border-bottom: solid #b1b1b1 1px;
    border-left: none;
    transition: all 0.2s;
}
.l_footer__title--link:hover {
    color: #ffffff;
    border-bottom-color: #ffffff;
}
.l_footer__title--link::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -4px;
    width: 7px;
    height: 7px;
    background-color: #5a5a5a;
    border: solid #b1b1b1 1px;
    border-radius: 50%;
}
.l_footer__title--link:hover::after {
    border-color: #ffffff;
}
.l_footer__link {
    font-size: 1.4rem;
    transition: all 0.2s;
}
.l_footer__link:hover {
    color: #ffffff;
}
.l_footer__button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    width: 100%;
    min-height: 50px;
    padding: 10px 54px;
    border: solid #ffffff 1px;
    transition: all 0.2s;
}
.l_footer__button--primary {
    background-color: #5a5a5a;
}
.l_footer__button--primary:hover {
    color: var(--color-secondary);
    background-color: #ffffff;
    border-color: var(--color-secondary);
}
.l_footer__button--secondary {
    background-color: var(--color-secondary);
}
.l_footer__button--secondary:hover {
    background-color: #c06161;
}
.l_footer__button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% - 54px);
    width: 22px;
    height: 6px;
    border-right: solid #ffffff 1px;
    border-bottom: solid #ffffff 1px;
    transform: translateY(-75%) skew(45deg);
    transition: all 0.2s;
}
.l_footer__button:hover::after {
    width: 44px;
}
.l_footer__button--primary:hover::after {
    border-right-color: var(--color-secondary);
    border-bottom-color: var(--color-secondary);
}
.l_footer__muses {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px;
    border: solid #b1b1b1 1px;
    transition: all 0.2s;
}
.l_footer__muses:hover {
    color: #ffffff;
    border-color: #ffffff;
}
.l_footer__muses::before {
    content: "";
    width: 60px;
    height: 52px;
    margin-right: 10px;
    background-image: url("/common/images/ico_muses.png");
}
.l_footer__sns {
    opacity: 0.6;
    transition: all 0.2s;
}
.l_footer__sns--twitter img {
    width: 49px;
}
.l_footer__sns--youtube img {
    width: 43px;
}
.l_footer__sns--linkedin img {
    width: 47px;
}
.l_footer__sns--facebook img {
    width: 40px;
}
.l_footer__sns--blog img {
    width: 40px;
}
.l_footer__sns--kakao img {
    width: 47px;
}
.l_footer__sns--x img {
    width: 37px;
}
.l_footer__sns--wechat {
    display: flex;
    align-items: center;
    font-size: 2.0rem;
    opacity: 1;
}
.l_footer__sns--wechat > * + * {
    margin-left: 15px;
}
.l_footer__sns:hover {
    opacity: 1.0;
}
.l_footer__snsList {
    display: flex;
    align-items: center;
    margin-top: -10px;
    margin-left: -40px;
}
.l_footer__snsList > * {
    margin-top: 10px;
    margin-left: 40px;
}
.l_footer__wechat {
    display: flex;
}
.l_footer__wechat > *:last-child {
    flex-shrink: 0;
}
.l_footer__wechat > * + * {
    margin-left: 30px;
}
.l_footer__wechat p {
    font-size: 1.4rem;
    margin-top: 1em;
}
.l_footer__menu {
    display: inline-block;
    padding: 0 10px;
    transition: all 0.2s;
}
.l_footer__menu:hover {
    color: #ffffff;
}
.l_footer__menu[target="_blank"]::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right: 10px;
    background-image: url("/common/images/ico_blank_ffffff.svg");
    background-size: contain;
}
.l_footer__menuList {
    display: flex;
    flex-wrap: wrap;
}
.l_footer__menuList > * {
    position: relative;
    width: 20%;
    text-align: center;
}
.l_footer__menuList > *::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #989898;
}
.l_footer__menuList > *:last-child::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background-color: #989898;
}
.l_footer__copyright {
    font-size: 1.4rem;
    margin-top: 20px;
}
.l_footer__pageTop {
    position: fixed;
    top: 100%;
    right: 20px;
    transform: translateY(-70px);
    transition: opacity 0.2s;
    opacity: 0;
    z-index: 100;
}
.l_footer__pageTop.is_show {
    opacity: 1;
}
/* .l_footer__pageTop.is_fixed {
    position: fixed;
    top: 100%;
    transform: translateY(-70px);
} */


@media screen and (max-width: 768px) {
    .l_footer__logo {
        max-width: 335px;
    }
    .l_footer__layer01 {
        padding: 50px 0 25px;
    }
    .l_footer__layer02 {
        padding: 0 0 25px;
    }
    .l_footer__layer02::before {
        display: none;
    }
    .l_footer__column {
        display: block;
    }
    .l_footer__column > * {
        width: 100%;
    }
    .l_footer__column > * + * {
        margin-top: 50px;
    }
    .l_footer__snsList {
        justify-content: center;
    }
    .l_footer__wechat {
        justify-content: space-between;
    }
    .l_footer__wechat > * + * {
        margin-left: 10px;
    }
    .l_footer__menu {
        font-size: 1.4rem;
        padding: 10px;
    }
    .l_footer__menuList {
        margin: 0 -20px;
        border-top: solid #ffffff 1px;
    }
    .l_footer__menuList > * {
        width: 50%;
        background-color: var(--color-primary);
        border-bottom: solid #ffffff 1px;
        text-align: left;
    }
    .l_footer__menuList > *:nth-child(even) {
        border-left: solid #ffffff 1px;
    }
    .l_footer__menuList > *:last-child {
        width: 100%;
    }
    .l_footer__menuList > *::before,
    .l_footer__menuList > *::after {
        display: none;
    }
    .l_footer__copyright {
        text-align: center;
    }
    .l_footer__pageTop {
        right: 10px;
        transform: translateY(-45px);
    }
    /* .l_footer__pageTop.is_fixed {
        transform: translateY(-45px);
    } */
}

/* l_section */
.l_section + .l_section {
    margin-top: 100px;
}
.l_section + .l_section--small {
    margin-top: 50px;
}
.l_section--border {
    border-top: solid #cccccc 1px;
}

/* l_column */
.l_column {
    display: flex;
    flex-wrap: wrap;
}
.l_column--anchor {
    justify-content: center;
    margin-top: -30px;
    margin-left: -100px;
}
.l_column > * + * {
    margin-top: 20px;
}
.l_column--v5 > * + * {
    margin-top: 5px;
}
.l_column--v10 > * + * {
    margin-top: 10px;
}
.l_column--v30 > * + * {
    margin-top: 30px;
}
.l_column--v50 > * + * {
    margin-top: 50px;
}
.l_column--v100 > * + * {
    margin-top: 100px;
}
.l_column--anchor > * {
    margin-top: 30px;
    margin-left: 100px;
}
.l_column__1of1 {
    width: 100%;
}
.l_column__1of2 {
    width: calc((100% - 50px * 1) / 2);
    margin-left: 50px;
}
.l_column__1of2--h20 {
    width: calc((100% - 20px * 1) / 2);
    margin-left: 20px;
}
.l_column__1of2--h30 {
    width: calc((100% - 30px * 1) / 2);
    margin-left: 30px;
}
.l_column__1of2:nth-child(2) {
    margin-top: 0;
}
.l_column__1of2:nth-child(2n-1) {
    margin-left: 0;
}
.l_column__1of3 {
    width: calc((100% - 30px * 2) / 3);
    margin-left: 30px;
}
.l_column__1of3:nth-child(2),
.l_column__1of3:nth-child(3) {
    margin-top: 0;
}
.l_column__1of3:nth-child(3n-2) {
    margin-left: 0;
}
.l_column__1of4 {
    width: calc((100% - 30px * 3) / 4);
    margin-left: 30px;
}
.l_column__1of4:nth-child(2),
.l_column__1of4:nth-child(3),
.l_column__1of4:nth-child(4) {
    margin-top: 0;
}
.l_column__1of4:nth-child(4n-3) {
    margin-left: 0;
}

/*irie_220317_start*/

.l_column__1of5 {
    width: calc((100% - 20px * 4) / 5);
    margin-left: 20px;
}
.l_column__1of5:nth-child(2),
.l_column__1of5:nth-child(3),
.l_column__1of5:nth-child(4),
.l_column__1of5:nth-child(5) {
    margin-top: 0;
}
.l_column__1of5:nth-child(5n-4) {
    margin-left: 0;
}

/*_end*/

.l_column__1of6 {
    width: calc((100% - 20px * 5) / 6);
    margin-left: 20px;
}
.l_column__1of6:nth-child(2),
.l_column__1of6:nth-child(3),
.l_column__1of6:nth-child(4),
.l_column__1of6:nth-child(5),
.l_column__1of6:nth-child(6) {
    margin-top: 0;
}
.l_column__1of6:nth-child(6n-5) {
    margin-left: 0;
}

@media screen and (max-width: 768px) {
    .l_column--anchor {
        margin-top: -20px;
        margin-left: -30px;
    }
    .l_column > * + * {
        margin-top: 20px !important;
    }
    .l_column--v10 > * + * {
        margin-top: 10px !important;
    }
    .l_column--v30 > * + * {
        margin-top: 30px !important;
    }
    .l_column--v50 > * + * {
        margin-top: 50px !important;
    }
    .l_column--v100 > * + * {
        margin-top: 100px !important;
    }
    .l_column--anchor > * {
        margin-top: 20px;
        margin-left: 30px;
    }
    .l_column--anchor > * + * {
        margin-top: 20px !important;
    }
    .l_column__1of2 {
        width: 100%;
        margin-left: 0;
    }
    .l_column__1of3 {
        width: 100%;
        margin-left: 0;
    }
    .l_column__1of4 {
        width: 100%;
        margin-left: 0;
    }
/*irie_220317_start*/
    .l_column__1of5 {
        width: 100%;
        margin-left: 0;
    }
/*_end*/
    .l_column__1of6 {
        width: 100%;
        margin-left: 0;
    }
}

/* l_textAndImage */
.l_textAndImage {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.l_textAndImage--reverse {
    flex-direction: row-reverse;
}
.l_textAndImage__text {
    width: calc(100% - 430px);
}
.l_textAndImage--w440 .l_textAndImage__text {
    width: calc(100% - 470px);
}
.l_textAndImage__image {
    width: 400px;
}
.l_textAndImage--w440 .l_textAndImage__image {
    width: 440px;
}

@media screen and (max-width: 768px) {
    .l_textAndImage__text {
        width: 100% !important;
    }
    .l_textAndImage__image {
        width: 100% !important;
        margin-top: 20px;
        text-align: center;
    }
}

/* ----- Object ----- */
/* Component */
/* c_heading1 */
.c_heading1 {
    font-size: 3.2rem;
    font-weight: bold;
    margin-bottom: 50px;
    background-position: center center;
    background-size: cover;
    line-height: 1.2;
    word-break: break-all;
}
.c_heading1--products {
    background-image: url("/common/images/pc/bg_heading1_products.png");
}
.c_heading1--applications {
    background-image: url("/common/images/pc/bg_heading1_applications.png");
}
.c_heading1--design-support {
    background-image: url("/common/images/pc/bg_heading1_design-support.png");
}
.c_heading1--quality {
    background-image: url("/common/images/pc/bg_heading1_quality.png");
}
.c_heading1--buy {
    background-image: url("/common/images/pc/bg_heading1_buy.png");
}
.c_heading1--about {
    background-image: url("/common/images/pc/bg_heading1_about.png");
}
.c_heading1--recruit {
    background-image: url("/common/images/pc/bg_heading1_recruit.png");
}
.c_heading1__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 130px;
    padding: 20px 0;
}
.c_heading1__lead {
    font-size: 1.6rem;
    font-weight: normal;
    margin-top: 15px;
}

@media screen and (max-width: 768px) {
    .c_heading1 {
        font-size: 3.2rem;
    }
    .c_heading1--applications {
        background-image: url("/common/images/sp/bg_heading1_applications.png");
    }
    .c_heading1--design-support {
        background-image: url("/common/images/sp/bg_heading1_design-support.png");
    }
    .c_heading1--quality {
        background-image: url("/common/images/sp/bg_heading1_quality.png");
    }
    .c_heading1--buy {
        background-image: url("/common/images/sp/bg_heading1_buy.png");
    }
    .c_heading1--about {
        background-image: url("/common/images/sp/bg_heading1_about.png");
    }
    .c_heading1--recruit {
        background-image: url("/common/images/sp/bg_heading1_recruit.png");
    }
}

/* c_heading2 */
.c_heading2 {
    position: relative;
    font-size: 2.8rem;
    font-weight: bold;
    margin-bottom: 50px;
    line-height: 1.2;
}
.c_heading2--large {
    font-size: 3.2rem;
}
.c_heading2::before {
    content: "";
    position: absolute;
    bottom: -9px;
    left: -40px;
    width: calc((100% - 1200px) / 2);
    min-width: 100px;
    height: 10px;
    background-color: #ffffff;
    border-right: solid #cccccc 2px;
    border-bottom: solid #cccccc 1px;
    transform: skew(-60deg);
    z-index: 10;
}
.c_heading2--reverse::before {
    right: -40px;
    left: auto;
    border-right: none;
    border-left: solid #cccccc 2px;
    transform: skew(60deg);
}
.c_heading2__content {
    position: relative;
    padding: 10px 0;
    border-bottom: solid #cccccc 1px;
}
.c_heading2__content::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: -40px;
    width: 40px;
    height: 1px;
    background-color: #cccccc;
}
.c_heading2--reverse .c_heading2__content::before {
    right: -40px;
    left: auto;
}
.c_heading2__content::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -4px;
    width: 7px;
    height: 7px;
    background-color: #ffffff;
    border: solid #cccccc 1px;
    border-radius: 50%;
}
.c_heading2--reverse .c_heading2__content::after {
    right: auto;
    left: 0;
}
.c_heading2__link {
    position: relative;
    padding-right: 64px;
    transition: all 0.2s;
}
.c_heading2__link:hover {
    color: var(--color-secondary);
}
.c_heading2__link::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% - 44px);
    width: 22px;
    height: 6px;
    border-right: solid var(--color-primary) 1px;
    border-bottom: solid var(--color-primary) 1px;
    transform: translateY(-50%) skew(45deg);
    transition: all 0.2s;
}
.c_heading2__link:hover::after {
    width: 44px;
    border-right-color: var(--color-secondary);
    border-bottom-color: var(--color-secondary);
}
.c_heading2__new {
    display: flex;
}
.c_heading2__new::after {
    content: "NEW";
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #ffffff;
    font-size: 1.4rem;
    margin-left: 20px;
    background-color: var(--color-secondary);
    border-radius: 50%;
}

.c_heading2__dev {
    display: flex;
}
.c_heading2__dev::after {
    content: "Dev";
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #ffffff;
    font-size: 1.4rem;
    margin-left: 20px;
    background-color: var(--color-secondary);
    border-radius: 50%;
}

.c_heading2__note {
    font-size: 2.4rem;
    margin-top: 10px;
}
.c_heading2__annotation {
    color: var(--color-secondary);
    font-size: 1.8rem;
    margin-left: 30px;
}
.c_heading2__img {
    position: absolute;
    top: -10px;
    right: 25%;
}

@media screen and (max-width: 768px) {
    .c_heading2--large {
        font-size: 3.2rem;
    }
    .c_heading2::before {
        min-width: 60px;
    }
    .c_heading2--reverse::before {
        right: auto;
        left: -40px;
        border-right: solid #cccccc 2px;
        border-left: none;
        transform: skew(-60deg);
    }
    .c_heading2__content {
        padding: 20px 0;
    }
    .c_heading2--reverse .c_heading2__content::before {
        right: auto;
        left: -40px;
    }
    .c_heading2--reverse .c_heading2__content::after {
        right: 0;
        left: auto;
    }
    .c_heading2__note {
        font-size: 1.8rem;
    }
    .c_heading2__img {
        display: none;
    }
}

/* c_heading3 */
.c_heading3 {
    font-size: 3.2rem;
    font-weight: bold;
    margin-bottom: 40px;
    text-align: center;
    line-height: 1.2;
}
.c_heading3__en {
    display: block;
    color: var(--color-secondary);
    font-size: 1.2rem;
    margin-bottom: 5px;
}

@media screen and (max-width: 768px) {
    .c_heading3 {
        font-size: 2.8rem;
    }
}

/* c_heading4 */
.c_heading4 {
    position: relative;
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 30px;
    padding-bottom: 15px;
    text-align: center;
    line-height: 1.2;
}
.c_heading4--large {
    font-size: 2.8rem;
}
.c_heading4--small {
    font-size: 1.8rem;
}
.c_heading4::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 50px;
    height: 2px;
    background-color: var(--color-secondary);
    transform: translateX(-50%);
}

/* c_heading5 */
.c_heading5 {
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 30px;
    padding: 5px 15px 2px;
    border-left: solid var(--color-secondary) 2px;
    line-height: 1.2;
}
.c_heading5--large {
    font-size: 2.8rem;
}
.c_heading5--small {
    font-size: 1.8rem;
}
.c_heading5--border {
    position: relative;
    margin-bottom: 40px;
}
.c_heading5--border::before {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #cccccc;
}
.c_heading5__link {
    position: relative;
    padding-right: 64px;
    transition: all 0.2s;
}
.c_heading5__link[target="_blank"] {
    padding-right: 0;
}
.c_heading5__link:hover {
    color: var(--color-secondary);
}
.c_heading5__link::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% - 44px);
    width: 22px;
    height: 6px;
    border-right: solid var(--color-primary) 1px;
    border-bottom: solid var(--color-primary) 1px;
    transform: translateY(-50%) skew(45deg);
    transition: all 0.2s;
}
.c_heading5__link[target="_blank"]::after {
    position: static;
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 10px;
    background-image: url("/common/images/ico_blank_989898.svg");
    background-size: cover;
    border-right: none;
    border-bottom: none;
    transform: translateY(0);
}
.c_heading5__link:hover::after {
    width: 44px;
    border-right-color: var(--color-secondary);
    border-bottom-color: var(--color-secondary);
}
.c_heading5__link[target="_blank"]:hover::after {
    width: 16px;
    background-image: url("/common/images/ico_blank_990000.svg");
}

/* c_button */
.c_button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 335px;
    min-height: 50px;
    padding: 5px 10px;
    transition: all 0.2s;
    line-height: 1.2;
    word-break: break-all;
}
.c_button--primary {
    background-color: #ffffff;
    box-shadow: inset 0 0 0 1px #505050;
}
.c_button--primary:hover {
    color: var(--color-secondary);
}
.c_button--primary::before,
.c_button--primary::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
}
.c_button--primary::before {
    top: 0;
    left: 0;
    border-top: solid var(--color-secondary) 1px;
    border-right: solid var(--color-secondary) 1px;
}
.c_button--primary::after {
    right: 0;
    bottom: 0;
    border-bottom: solid var(--color-secondary) 1px;
    border-left: solid var(--color-secondary) 1px;
}
.c_button--primary:hover::before,
.c_button--primary:hover::after {
    width: 100%;
    height: 100%;
}
.c_button--primary:hover::before {
    transition: width 0.15s, height 0.15s 0.15s;
}
.c_button--primary:hover::after {
    transition: width 0.15s 0.3s, height 0.15s 0.45s;
}
.c_button--secondary {
    color: #ffffff;
    background-color: #505050;
}
/***** 2021/11/12記述が消えて既存HTMLに影響したので、JRCE追加 *****/
.c_button--tertiary {
    color: #ffffff;
    background-color: #505050;
}
/***** 2021/11/12JRCE追加ここまで *****/
.c_button--secondary:hover {
    background-color: var(--color-secondary);
}
/***** 2021/11/12記述が消えて既存HTMLに影響したので、JRCE追加 *****/
.c_button--tertiary:hover {
    background-color: var(--color-secondary);
}
/***** 2021/11/12JRCE追加ここまで *****/
.c_button--left {
    justify-content: flex-start;
    padding-left: 20px;
}
.c_button--small {
    min-height: 40px;
}
.c_button--auto {
    min-width: auto !important;
}
.c_button--liquid {
    width: 100%;
    min-width: auto !important;
}
.c_button__arrow {
    padding: 0 38px;
}
.c_button--left .c_button__arrow {
    padding-left: 0;
}
.c_button__arrow--primary {
    padding: 0 54px;
}
.c_button--left .c_button__arrow--primary {
    padding-left: 0;
}
.c_button__arrow--primary::before {
    display: none;
}
.c_button__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% - 37px);
    width: 28px;
    height: 6px;
    border-right: solid #505050 1px;
    border-bottom: solid #505050 1px;
    transform: translateY(-75%) skew(45deg);
    transition: all 0.2s;
    z-index: 10;
}
.c_button--secondary .c_button__arrow::after {
    border-right-color: #ffffff;
    border-bottom-color: #ffffff;
}
/***** 2021/11/12記述が消えて既存HTMLに影響したので、JRCE追加 *****/
.c_button--tertiary .c_button__arrow::after {
    border-right-color: #ffffff;
    border-bottom-color: #ffffff;
}
/***** 2021/11/12JRCE追加ここまで *****/
.c_button__arrow--primary::after {
    left: calc(100% - 54px);
    width: 22px;
}
.c_button:hover .c_button__arrow::after {
    width: 56px;
    border-right-color: var(--color-secondary);
    border-bottom-color: var(--color-secondary);
}
.c_button--secondary:hover .c_button__arrow::after {
    border-right-color: #ffffff;
    border-bottom-color: #ffffff;
}
/***** 2021/11/12記述が消えて既存HTMLに影響したので、JRCE追加 *****/
.c_button--tertiary:hover .c_button__arrow::after {
    border-right-color: #ffffff;
    border-bottom-color: #ffffff;
}
/***** 2021/11/12JRCE追加ここまで *****/
.c_button:hover .c_button__arrow--primary::after {
    width: 44px;
}
.c_button__icon {
    position: relative;
    flex-shrink: 0;
    margin-right: 10px;
    line-height: 0;
}
.c_button__icon img:nth-of-type(2) {
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.2s;
    opacity: 0;
}
.c_button:hover .c_button__icon img:nth-of-type(2) {
    opacity: 1;
}
.c_button__icon--data {
    width: 17px;
}
.c_button__icon--download {
    width: 25px;
}
.c_button__icon--custom {
    width: 19px;
}
.c_button__icon--reset {
    width: 30px;
}
.c_button__icon--save {
    width: 38px;
    height: 38px;
}
.c_button__icon--plus {
    width: 15px;
}
.c_button__icon--searchBorder {
    width: 21px;
}
.c_button__icon--pdf {
    width: 15px;
    margin-right: 0;
    margin-left: 10px;
}
@media screen and (min-width: 769px) {
    .l_header.is_fixed .c_button--small {
        min-height: 30px;
    }
}

@media screen and (max-width: 768px) {
    .c_button {
        width: 100%;
        min-width: auto;
    }
    .c_button--liquidSp {
        width: 100%;
        min-width: auto !important;
    }
}

/* c_list */
.c_list {
}
.c_list--column {
    display: flex;
    flex-wrap: wrap;
    margin-top: -10px;
    padding-left: 0;
}
.c_list > * {
    position: relative;
}
.c_list--column > * {
    margin-top: 10px;
    padding-left: 1.5em;
}

/*irie_231220_start*/

.c_list--column1of3 > * {
  width: calc((100% - 50px * 2) / 3);
  margin-left: 50px;
}
.c_list--column1of3 > *:nth-child(3n-2) {
  margin-left: 0;
}
/* end */


.c_list--column1of4 > * {
    width: calc((100% - 40px * 3) / 4);
    margin-left: 40px;
}
.c_list--column1of4 > *:nth-child(4n-3) {
    margin-left: 0;
}
.c_list--column1of5 > * {
    width: calc((100% - 30px * 4) / 5);
    margin-left: 30px;
}
.c_list--column1of5 > *:nth-child(5n-4) {
    margin-left: 0;
}
.c_list--column1of6 > * {
    width: calc((100% - 20px * 5) / 6);
    margin-left: 20px;
}
.c_list--column1of6 > *:nth-child(6n-5) {
    margin-left: 0;
}
.c_list--disc > * {
    padding-left: 1.5em;
}
.c_list--line > * {
    padding-left: 1.5em;
}
.c_list--number > * {
    padding-left: 2.5em;
}
.c_list--any > * {
    padding-left: 2.0em;
}
.c_list > * + * {
    margin-top: 10px;
}
.c_list--disc > *::before {
    content: "";
    position: absolute;
    top: 0.8125em;
    left: 0.5em;
    width: 4px;
    height: 4px;
    background-color: var(--color-primary);
    border-radius: 50%;
    transform: translateY(-50%);
}
.c_list--line > *::before {
    content: "";
    position: absolute;
    top: 0.8125em;
    left: 0;
    width: 10px;
    height: 1px;
    background-color: #cccccc;
    transform: translateY(-50%);
}
.c_list--number > *::before {
    content: "";
    position: absolute;
    top: 0.8125em;
    left: 0;
    width: 2em;
    text-align: right;
    transform: translateY(-50%);
}
.c_list--number > *:nth-child(1)::before { content: "1."; }
.c_list--number > *:nth-child(2)::before { content: "2."; }
.c_list--number > *:nth-child(3)::before { content: "3."; }
.c_list--number > *:nth-child(4)::before { content: "4."; }
.c_list--number > *:nth-child(5)::before { content: "5."; }
.c_list--number > *:nth-child(6)::before { content: "6."; }
.c_list--number > *:nth-child(7)::before { content: "7."; }
.c_list--number > *:nth-child(8)::before { content: "8."; }
.c_list--number > *:nth-child(9)::before { content: "9."; }
.c_list--number > *:nth-child(10)::before { content: "10."; }

/***** 2021/12/7JRCE追加 *****/
.c_list--number > *:nth-child(11)::before { content: "11."; }
.c_list--number > *:nth-child(12)::before { content: "12."; }
.c_list--number > *:nth-child(13)::before { content: "13."; }
.c_list--number > *:nth-child(14)::before { content: "14."; }
.c_list--number > *:nth-child(15)::before { content: "15."; }
/***** 2021/12/7JRCE追加ここまで *****/

.c_list--any > * span {
    content: "";
    position: absolute;
    top: 0.8125em;
    left: 0;
    transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
    .c_list--column > * {
        width: 100%;
        margin-left: 0;
    }
}

/* c_note */
.c_note {
    font-size: 1.2rem;
}
.c_note > * {
    padding-left: 1em;
    text-indent: -1em;
}
.c_note > *::before {
    content: "※";
}

/* c_table */
.c_table {
    width: 100%;
    background-color: #ffffff;
    border-top: solid #989898 1px;
    border-left: solid #989898 1px;
}
.c_table--fixed {
    table-layout: fixed;
}
.c_table--center {
    text-align: center;
}
.c_table th,
.c_table td {
    padding: 10px;
    border-right: solid #989898 1px;
    border-bottom: solid #989898 1px;
    word-break: break-all;
}
.c_table--wide th,
.c_table--wide td {
    padding: 15px 25px;
}
.c_table th.c_table__bgColorPrimary,
.c_table td.c_table__bgColorPrimary {
    color: #ffffff;
    background-color: #989898;
    border-right-color: #ffffff;
    border-bottom-color: #ffffff;
}
.c_table th.c_table__bgColorSecondary,
.c_table td.c_table__bgColorSecondary {
    background-color: #efefef;
}

@media screen and (max-width: 768px) {
    .c_table {
        min-width: 1000px;
    }
    .c_table--liquid {
        min-width: auto;
    }
    .c_table--switching {
        display: flex;
    }
    .c_table--switching thead,
    .c_table--switching tbody {
        flex: 1;
    }
    .c_table--switching tr {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
    }
    .c_table--switching th,
    .c_table--switching td {
        flex: 1;
    }
}

/* c_tableContainer */
.c_tableContainer {
    max-width: 100%;
    overflow-x: auto;
}
.c_tableContainer.is_visible {
    max-width: none;
    overflow-x: visible;
}

/* c_text */
.c_text {
    line-height: 2.25;
}
.c_text + .c_text {
    margin-top: 2.25em;
}

/* c_text 1.9 */
.c_text--lh19 {
    line-height: 1.9;
}

/* c_input */
.c_input {
    width: 100%;
    background-color: #ffffff;
    border: solid #cccccc 1px;
    transition: all 0.2s;
}
.c_input:focus {
    border-color: var(--color-secondary);
}
.c_input--small {
    height: 25px;
    padding: 5px;
}

/* c_inputArea */
.c_inputArea {
    display: flex;
    align-items: flex-end;
}
.c_inputArea__input {
    width: 150px;
}
.c_inputArea__text {
    font-size: 1.4rem;
    margin-right: 5px;
}
* + .c_inputArea__text {
    margin-right: 0;
    margin-left: 5px;
}

/* c_radio */
.c_radio {
    position: relative;
    width: 25px;
    height: 25px;
}
.c_radio::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    border: solid #cccccc 1px;
    border-radius: 50%;
    transition: all 0.2s;
}
.c_radio:checked::before {
    border-color: var(--color-secondary);
}
.c_radio::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50%;
    height: 50%;
    background-color: var(--color-secondary);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.2s;
    opacity: 0;
}
.c_radio:checked::after {
    opacity: 1;
}

/* c_checkbox */
.c_checkbox {
    position: relative;
    width: 25px;
    height: 25px;
}
.c_checkbox::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    border: solid #cccccc 1px;
    transition: all 0.2s;
}
.c_checkbox:checked::before {
    border-color: var(--color-secondary);
}
.c_checkbox::after {
    content: "";
    position: absolute;
    top: 40%;
    left: 50%;
    width: 10px;
    height: 18px;
    border-right: solid var(--color-secondary) 2px;
    border-bottom: solid var(--color-secondary) 2px;
    transform: translate(-50%, -50%) rotate(45deg);
    transition: all 0.2s;
    opacity: 0;
}
.c_checkbox:checked::after {
    opacity: 1;
}

/* c_select */
.c_select {
    width: 100%;
    height: 50px;
    padding: 0 30px 0 10px;
    background-color: #ffffff;
    border: solid #cccccc 1px;
}
.c_select--center {
    padding: 0 30px;
    text-align: center;
}
.c_select--small {
    font-size: 1.4rem;
    height: 25px;
    padding: 0 30px 0 5px;
}
.c_select:focus {
    border-color: var(--color-secondary);
}

@media screen and (max-width: 768px) {
    .c_select {
        width: 100%;
    }
}

/* c_selectArea */
.c_selectArea {
    position: relative;
}
.c_selectArea::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    border-right: solid #989898 1px;
    border-bottom: solid #989898 1px;
    transform: translate(50%, -50%) rotate(45deg);
}
.c_selectArea--w335 {
    max-width: 335px;
}
.c_selectArea--w820 {
    max-width: 820px;
}
.c_selectArea--left {
    margin-right: auto;
    margin-left: 0;
}
.c_selectArea--right {
    margin-right: 0;
    margin-left: auto;
}

/* c_link */
.c_link {
    display: inline-block;
}
.c_link--primary {
    color: #0153ce;
}
.c_link--secondary {
    color: var(--color-primary);
}
.c_link--anchor {
    position: relative;
    padding-right: 30px;
}
.c_link--arrow {
    position: relative;
    padding-right: 30px;
}
.c_link--arrowLine {
    position: relative;
    padding-right: 64px;
}
.c_link:hover {
    text-decoration: underline;
}
.c_link--secondary:hover {
    color: var(--color-secondary);
    text-decoration: none;
}
.c_link--arrowLine:hover {
    color: var(--color-secondary);
    text-decoration: none;
}
.c_link[target="_blank"]:not(.c_link--arrowLine) {
    position: relative;
    padding-right: 26px;
}
.c_link[target="_blank"]:not(.c_link--arrowLine)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 16px;
    height: 16px;
    background-image: url("/common/images/ico_blank_989898.svg");
    background-size: cover;
    transform: translateY(-60%);
}
.c_link--pdf[target="_blank"]:not(.c_link--arrowLine) {
    padding-right: 0;
    padding-left: 26px;
}
.c_link--pdf[target="_blank"]:not(.c_link--arrowLine)::after {
    right: auto;
    left: 0;
    width: 20px;
    height: calc(20px * 50 / 41);
    background-image: url("/common/images/ico_pdf.svg");
    transform: translateY(-50%);
}
.c_link--pdfRight[target="_blank"]:not(.c_link--arrowLine) {
    padding-right: 26px;
    padding-left: 0;
}
.c_link--pdfRight[target="_blank"]:not(.c_link--arrowLine)::after {
    right: 0;
    left: auto;
}
.c_link--anchor::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2px;
    width: 8px;
    height: 8px;
    border-right: solid #505050 1px;
    border-bottom: solid #505050 1px;
    transform: translateY(-80%) rotate(45deg);
}
.c_link--arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2px;
    width: 8px;
    height: 8px;
    border-top: solid #505050 1px;
    border-right: solid #505050 1px;
    transform: translateY(-80%) rotate(45deg);
}
.c_link--arrowLine::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% - 44px);
    width: 22px;
    height: 6px;
    border-right: solid var(--color-primary) 1px;
    border-bottom: solid var(--color-primary) 1px;
    transform: translateY(-75%) skew(45deg);
    transition: all 0.2s;
}
.c_link--arrowLine:hover::after {
    width: 44px;
    border-right-color: var(--color-secondary);
    border-bottom-color: var(--color-secondary);
}

/* c_linkBox */
.c_linkBox {
    position: relative;
    display: block;
    height: 100%;
    transition: all 0.2s;
}
.c_linkBox--primary {
    padding-bottom: 20px;
}
.c_linkBox:hover {
    color: var(--color-secondary);

}
.c_linkBox--primary::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 22px;
    height: 6px;
    border-right: solid #505050 1px;
    border-bottom: solid #505050 1px;
    transform: skew(45deg);
    transition: all 0.2s;
}
.c_linkBox--primary:hover::after {
    width: 44px;
    border-right-color: var(--color-secondary);
    border-bottom-color: var(--color-secondary);
}
.c_linkBox--anchor::after {
    content: "";
    position: absolute;
    bottom: 10px;
    left: 50%;
    width: 10px;
    height: 10px;
    border-right: solid #ffffff 1px;
    border-bottom: solid #ffffff 1px;
    transform: translateX(-50%) rotate(45deg);
}
.c_linkBox__image {
    position: relative;
    border: solid #cccccc 1px;
    transition: all 0.2s;
    overflow: hidden;
}
.c_linkBox:hover .c_linkBox__image {
    border-color: var(--color-secondary);
}
.c_linkBox img {
    width: 100%;
    transition: all 0.2s;
}
.c_linkBox:hover img {
    transform: scale(1.1);
}
.c_linkBox__title {
    position: relative;
}
.c_linkBox__title p {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 2.0rem;
    font-weight: bold;
    width: 100%;
    min-height: 78px;
    padding: 10px;
    background-color: rgba(0, 0, 0, 0.7);
}
.c_linkBox--secondary .c_linkBox__title p {
    padding: 0 32px;
}
.c_linkBox--secondary .c_linkBox__title p::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% - 32px);
    width: 22px;
    height: 6px;
    border-right: solid #ffffff 1px;
    border-bottom: solid #ffffff 1px;
    transform: translateY(-50%) skew(45deg);
    transition: all 0.2s;
}
.c_linkBox--secondary:hover .c_linkBox__title p::after {
    width: 44px;
    border-right-color: var(--color-secondary);
    border-bottom-color: var(--color-secondary);
}
.c_linkBox__text {
    margin-top: 10px;
}
.c_linkBox__text--title {
    font-size: 2.0rem;
    font-weight: bold;
}
.c_linkBox--auto {
    height: auto;
}
.c_linkBox--cs {
    pointer-events: none;
}
.c_linkBox--cs::before {
    content: "準備中";
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 2.0rem;
    font-weight: bold;
    width: 100%;
    height: 100%;
    background-color: rgba(51, 51, 51, 0.8);
    z-index: 1;
}

/* c_linkBox01 */
.c_linkBox01 {
    position: relative;
    display: block;
}
.c_linkBox01::after {
    content: "";
    position: absolute;
    bottom: 30px;
    left: 20px;
    width: 22px;
    height: 6px;
    border-right: solid #ffffff 1px;
    border-bottom: solid #ffffff 1px;
    transform: translateY(100%) skew(45deg);
    transition: all 0.2s;
}
.c_linkBox01:hover::after {
    width: 44px;
}
.c_linkBox01__image {
    border: solid #cccccc 1px;
    overflow: hidden;
}
.c_linkBox01__image img {
    width: 100%;
    transition: all 0.2s;
}
.c_linkBox01:hover .c_linkBox01__image img {
    transform: scale(1.1);
}
.c_linkBox01__description {
    color: #ffffff;
    padding: 30px 20px 60px;
    background-color: #505050;
}
.c_linkBox01__description p + p {
    margin-top: 1em;
}

/* c_linkBanner */
.c_linkBanner {
    position: relative;
    display: block;
    border: solid #cccccc 1px;
    transition: all 0.2s;
}
.c_linkBanner:hover {
    border-color: var(--color-secondary);
}
.c_linkBanner__text {
    position: absolute;
    top: 50%;
    left: 0;
    font-weight: bold;
    padding: 20px;
    text-shadow: 2px 2px 10px #ffffff, -2px 2px 10px #ffffff, 2px -2px 10px #ffffff, -2px -2px 10px #ffffff;
    transform: translateY(-50%);
}
.c_linkBanner__text::before {
    content: "";
    position: absolute;
    bottom: 10px;
    left: 20px;
    width: 22px;
    height: 22px;
    background-image: url("/common/images/ico_blank_989898.svg");
    background-repeat: no-repeat;
    transform: translateY(100%);
}
.c_linkBanner__image {
    text-align: right;
}

.jac_linkBanner {
    display: flex;
    align-items: center;
    max-width: 900px;
    height: 230px;
    padding: 0 60px 0 30px;
    background-image: url("/ja/about/csr/images/bg_csr_01.png");
    background-position: right center;
    background-repeat: no-repeat;
    background-size: cover;
    border: solid #cccccc 1px;
}
.jac_linkBanner__icon {
    flex-shrink: 0;
}
.jac_linkBanner__text {
    margin-left: 30px;
}

@media screen and (max-width: 768px) {
    .jac_linkBanner {
        flex-direction: column;
        height: auto;
        padding: 30px;
    }
    .jac_linkBanner__text {
        margin-top: 15px;
        margin-left: 0;
    }
}

/* c_newIcon */
.c_newIcon {
    display: inline-block;
    color: var(--color-secondary);
    font-size: 1.2rem;
    margin-bottom: 2px;
    padding: 2px 6px;
    border: solid var(--color-secondary) 1px;
    line-height: 1;
}

/* Project */
/* p_logo */
.p_logo {
    display: block;
    transition: all 0.2s;
    line-height: 0;
}
.p_logo:hover {
    opacity: 0.7;
}

/* p_globalNav */
@media screen and (min-width: 769px) {
    .p_globalNav {
        position: relative;
    }
    .p_globalNav__list {
        display: flex;
    }
    .p_globalNav__item {
        flex: 1;
    }
    .p_globalNav__item:first-child:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 1px;
        height: 25px;
        background-color: #cccccc;
        transform: translateY(-50%);
    }
    .p_globalNav__container {
        position: absolute;
        bottom: 0;
        left: 50%;
        width: calc(100% - 80px);
        max-width: 1100px;
        height: 0;
        padding: 0 50px;
        background-color: #f8f8f8;
        box-sizing: content-box;
        transform: translate(-50%, 100%);
        transition: all 0.2s;
        overflow: hidden;
    }
    .p_globalNav__container.is_show {
        padding: 30px 50px;
        z-index: 10;
    }
    .p_globalNav__hierarchy {
        position: absolute;
    }
    * + .p_globalNav__hierarchy {
        border-left: solid #cccccc 1px;
    }
    * + .p_globalNav__hierarchy::before {
        content: "";
        position: absolute;
        bottom: -7px;
        left: -4px;
        width: 7px;
        height: 7px;
        border: solid #cccccc 1px;
        border-radius: 50%;
    }
    .p_globalNav__hierarchy--level1 {
        position: relative;
        width: calc(100% / 3 * 1);
    }
    .p_globalNav__hierarchy--level2 {
        top: 0;
        left: calc(100% - 10px);
        width: 100%;
        transition: left 0.2s, visibility 0s, opacity 0.2s;
        visibility: hidden;
        opacity: 0;
    }
    .p_globalNav__hierarchy--level2.is_show {
        left: 100%;
        visibility: inherit;
        opacity: 1;
    }
    .p_globalNav__hierarchy--level3 {
        top: 0;
        left: calc(100% - 10px);
        width: 100%;
        transition: left 0.2s, visibility 0s, opacity 0.2s;
        visibility: hidden;
        opacity: 0;
    }
    .p_globalNav__hierarchy--level3.is_show {
        left: 100%;
        visibility: inherit;
        opacity: 1;
    }
    .p_globalNav__title {
        position: relative;
        display: flex;
        align-items: center;
        font-weight: bold;
        margin-bottom: 10px;
        padding: 0 30px;
        transition: all 0.2s;
        cursor: default;
    }
    .p_globalNav__title::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        width: calc(100% - 40px);
        height: 1px;
        background-color: var(--color-secondary-a50);
        transform: translateX(-50%);
    }
    .p_globalNav__title--link {
        padding: 0 54px 0 30px;
        cursor: pointer;
    }
    .p_globalNav__title--link::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 32px;
        width: 22px;
        height: 6px;

        border-right: solid var(--color-primary) 1px;
        border-bottom: solid var(--color-primary) 1px;
        transform: translateY(-75%) skew(45deg);
        transition: all 0.2s;
    }
    .p_globalNav__title--link:hover {
        color: var(--color-secondary);
        background-color: var(--color-secondary-a10);
    }
    .p_globalNav__title--link:hover::before {
        border-right-color: var(--color-secondary);
        border-bottom-color: var(--color-secondary);
    }
    .p_globalNav__title--level1 {
        font-size: 1.5rem;
        min-height: 40px;
        padding: 0 30px 0 8px;
        border-left: solid transparent 2px;
    }
    .p_globalNav__title--level1::after {
        width: calc(100% - 20px);
        left: 0;
        transform: translateX(0);
    }
    .p_globalNav__title--level1:hover {
        border-left-color: var(--color-secondary);
    }
    .p_globalNav__title--level1.p_globalNav__title--link {
        padding: 0 44px 0 8px;
    }
    .p_globalNav__title--level1.p_globalNav__title--link::before {
        right: 22px;
    }
    .p_globalNav__title--level2 {
        font-size: 1.3rem;
        min-height: 35px;
    }
    .p_globalNav__title--level3 {
        font-size: 1.3rem;
        min-height: 35px;
    }
    .p_globalNav__category {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        font-weight: bold;
        height: 50px;
        cursor: default;
    }
    .p_globalNav__category::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 50px;
        height: 2px;
        background-color: var(--color-secondary);
        transform: translateX(-50%) scaleX(0);
        transition: all 0.2s;
    }
    .p_globalNav__category.is_hover::before,
    .p_globalNav__category.is_current::before {
        transform: translateX(-50%) scaleX(1);
    }
    .p_globalNav__category::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 1px;
        height: 25px;
        background-color: #cccccc;
        transform: translateY(-50%);
    }
    .p_globalNav__subcategory {
        position: relative;
        display: flex;
        align-items: center;
        font-weight: bold;
        padding: 0 40px 0 30px;
        transition: all 0.2s;
        cursor: default;
    }
    .p_globalNav__subcategory::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 32px;
        width: 8px;
        height: 8px;
        border-right: solid var(--color-primary) 1px;
        border-bottom: solid var(--color-primary) 1px;
        transform: translateY(-50%) rotate(-45deg);
        transition: all 0.2s;
    }
    .p_globalNav__subcategory.is_hover {
        color: var(--color-secondary);
        background-color: var(--color-secondary-a10);
    }
    .p_globalNav__subcategory.is_hover::before {
        border-right-color: var(--color-secondary);
        border-bottom-color: var(--color-secondary);
    }
    .p_globalNav__subcategory--title {
        color: inherit !important;
        background-color: inherit !important;
    }
    .p_globalNav__subcategory--title::before {
        display: none;
    }
    .p_globalNav__subcategory--title::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 20px;
        width: 2px;
        height: 20px;
        background-color: var(--color-secondary);
        transform: translateY(-50%);
    }
    .p_globalNav__subcategory--link {
        padding: 0 54px 0 30px;
        cursor: pointer;
    }
    .p_globalNav__subcategory--link::before {
        width: 22px;
        height: 6px;
        transform: translateY(-75%) skew(45deg);
    }
    .p_globalNav__subcategory--level1 {
        font-size: 1.5rem;
        min-height: 40px;
        padding: 0 30px 0 8px;
        border-left: solid transparent 2px;
    }
    .p_globalNav__subcategory--level1::before {
        right: 22px;
    }
    .p_globalNav__subcategory--level1.is_hover {
        border-left-color: var(--color-secondary);
    }
    .p_globalNav__subcategory--level1.p_globalNav__subcategory--link {
        padding: 0 44px 0 8px;
    }
    .p_globalNav__subcategory--level2 {
        font-size: 1.3rem;
        min-height: 40px;
    }
    .p_globalNav__subcategory--level3 {
        font-size: 1.3rem;
        min-height: 35px;
    }
    .p_globalNav__search {
        margin-bottom: 20px;
        padding-right: 20px;
    }
    .l_header.is_fixed .p_globalNav__category {
        height: 40px;
    }
}

@media screen and (max-width: 768px) {
    .p_globalNav {
        position: relative;
        background-color: #ffffff;
        overflow: hidden;
    }
    .p_globalNav__container {
        transition: all 0.2s;
        overflow-y: hidden;
    }
    .p_globalNav__list {
        padding: 0 10px;
    }
    .p_globalNav__item + .p_globalNav__item {
        border-top: solid #cccccc 1px;
    }
    .p_globalNav__hierarchy {
        position: absolute;
        left: 100%;
        width: 100%;
        padding: 0 10px;
        background-color: #ffffff;
        transition: all 0.4s;
        overflow: hidden;
        z-index: 1000;
    }
    .p_globalNav__hierarchy.is_show {
        left: 0;
    }
    .p_globalNav__hierarchy--level1 {
        top: 70px;
    }
    .p_globalNav__hierarchy--level2 {
        top: 0;
    }
    .p_globalNav__hierarchy--level3 {
        top: 0;
    }
    .p_globalNav__title {
        position: relative;
        display: flex;
        align-items: center;
        font-weight: bold;
        min-height: 50px;
        padding: 0 15px 0 5px;
        border-bottom: solid var(--color-secondary) 1px;
    }
    .p_globalNav__title--link {
        padding: 0 29px 0 5px;
    }
    .p_globalNav__title--link::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 7px;
        width: 22px;
        height: 6px;
        border-right: solid #505050 1px;
        border-bottom: solid #505050 1px;
        transform: translateY(-75%) skew(45deg);
    }
    .p_globalNav__title--level1 {
        font-size: 1.6rem;
    }
    .p_globalNav__title--level2 {
        font-size: 1.4rem;
    }
    .p_globalNav__title--level3 {
        font-size: 1.4rem;
    }
    .p_globalNav__title + ul > li + li {
        border-top: solid #cccccc 1px;
    }
    .p_globalNav__category {
        position: relative;
        display: flex;
        align-items: center;
        font-weight: bold;
        min-height: 50px;
        padding: 0 15px 0 5px;
    }
    .p_globalNav__category::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 7px;
        width: 8px;
        height: 8px;
        border-right: solid #505050 1px;
        border-bottom: solid #505050 1px;
        transform: translateY(-50%) rotate(-45deg);
    }
    .p_globalNav__category--link {
        padding: 0 29px 0 5px;
    }
    .p_globalNav__category--link::before {
        width: 22px;
        height: 6px;
        transform: translateY(-75%) skew(45deg);
    }
    .p_globalNav__category--level1 {
        font-size: 1.6rem;
    }
    .p_globalNav__category--level2 {
        font-size: 1.4rem;
    }
    .p_globalNav__category--level3 {
        font-size: 1.4rem;
    }
    .p_globalNav__search {
        padding: 20px 20px 10px;
    }
    .p_globalNav__back {
        position: relative;
        display: inline-flex;
        align-items: center;
        font-weight: bold;
        min-height: 52px;
        padding-left: 40px;
    }
    .p_globalNav__back::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 7px;
        width: 8px;
        height: 8px;
        border-bottom: solid #505050 1px;
        border-left: solid #505050 1px;
        transform: translateY(-50%) rotate(45deg);
    }
}

/* p_hamburger */
.p_hamburger {
    position: relative;
    width: 60px;
    height: 40px;
    transition: all 0.2s;
}
.p_hamburger > *,
.p_hamburger::before,
.p_hamburger::after {
    position: absolute;
    left: 50%;
    width: 23px;
    height: 2px;
    background-color: #ffffff;
    transform: translateX(-50%);
    transition: all 0.2s;
}
.p_hamburger > * {
    top: 50%;
    transform: translate(-50%, -50%);
}
.p_hamburger::before {
    content: "";
    top: 11px;
}
.p_hamburger::after {
    content: "";
    bottom: 11px;
}
.p_hamburger.is_show {
    background-color: #ffffff;
}
.p_hamburger.is_show > *,
.p_hamburger.is_show::before,
.p_hamburger.is_show::after {
    background-color: #989898;
}
.p_hamburger.is_show > * {
    opacity: 0;
}
.p_hamburger.is_show::before {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}
.p_hamburger.is_show::after {
    bottom: 50%;
    left: 50%;
    transform: translate(-50%, 50%) rotate(-45deg);
}

/* p_breadcrumb */
.p_breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    color: var(--color-secondary);
    font-size: 1.2rem;
    min-height: 60px;
}
.p_breadcrumb > * {
    position: relative;
    margin-right: 10px;
}
.p_breadcrumb > *:last-child {
    margin-right: 0;
}
.p_breadcrumb > *::after {
    content: ">";
    color: var(--color-primary);
    margin-left: 10px;
}
.p_breadcrumb > *:last-child::after {
    display: none;
}
.p_breadcrumb a {
    color: var(--color-primary);
}
.p_breadcrumb a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .p_breadcrumb {
        flex-wrap: nowrap;
        white-space: nowrap;
    }
}

/* p_breadcrumbContainer */
.p_breadcrumbContainer {
    padding-right: 300px;
}

@media screen and (max-width: 768px) {
    .p_breadcrumbContainer {
        margin-top: 150px;
        padding-right: 0;
        border-top: solid #cccccc 1px;
        overflow-x: auto;
    }
}

/* p_box */
.p_box {
    position: relative;
    border: solid transparent 1px;
}
.p_box--primary {
    border-color: #cccccc;
}
.p_box--secondary {
    border-color: var(--color-secondary);
}
.p_box--secondary30 {
    border-color: var(--color-secondary-a30);
}
.p_box::before,
.p_box::after {
    content: "";
    position: absolute;
    width: 15px;
    height: 7px;
}
.p_box::before {
    top: -4px;
    right: 40px;
}
.p_box::after {
    bottom: -4px;
    left: 40px;
}
.p_box--primary::before,
.p_box--primary::after {
    background-image: url("/common/images/ico_border_cccccc.svg");
}
.p_box--secondary::before,
.p_box--secondary::after {
    background-image: url("/common/images/ico_border_990000.svg");
}
.p_box__content {
    padding: 50px 30px;
}

/* p_box01 */
.p_box01 {
    padding: 30px;
    border: solid #cccccc 1px;
}

/* p_search */
.p_search {
    width: 100%;
    height: 50px;
    padding: 10px 44px 10px 10px;
    background-color: #ffffff;
    border: solid #cccccc 1px;
    transition: all 0.2s;
}
/* パラメトリックサーチのリストでは、各テーブルの検索ボックスの列幅がずれるため、列幅を固定する。*/
#filterRow .p_search {
    width: 155px !important;
}
.p_search--small {
    height: 40px;
}
.p_search--minimal {
    height: 25px;
    padding: 5px 34px 5px 5px;
}
.p_search:focus {
    border: solid var(--color-secondary) 1px;
}
.p_search__icon {
    position: absolute;
    top: 50%;
    right: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: transparent;
    transform: translateY(-50%);
    transition: all 0.2s;
}
.p_search--minimal + .p_search__icon {
    width: 20px;
    height: 20px;
}
.p_search:focus + .p_search__icon {
    background-color: var(--color-secondary);
}
.p_search__icon::before {
    content: "";
    width: 18px;
    height: calc(150px * 18 / 149);
    background-image: url("/common/images/ico_search_cccccc.svg");
    background-repeat: no-repeat;
}
.p_search--minimal + .p_search__icon::before {
    width: 12px;
    height: calc(150px * 12 / 149);
}
.p_search:focus + .p_search__icon::before {
    background-image: url("/common/images/ico_search_ffffff.svg");
}
@media screen and (min-width: 769px) {
    .l_header.is_fixed .p_search--small {
        height: 30px;
    }
    .l_header.is_fixed .p_search--small + .p_search__icon {
        width: 25px;
        height: 25px;
    }
    .l_header.is_fixed .p_search--small + .p_search__icon::before {
        content: "";
        width: 14px;
        height: calc(150px * 14 / 149);
    }
}

/* p_searchContainer */
.p_searchContainer {
    position: relative;
}
.p_searchContainer--w500 {
    max-width: 500px;
}
.p_searchContainer--center {
    margin-right: auto;
    margin-left: auto;
}

/* tab */
.p_tab__tab {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold !important;
    height: 60px;
    padding: 0 20px;
    transition: all 0.2s;
    text-align: center;
    line-height: 1.2;
    word-break: break-all;
    cursor: pointer;
}
.p_tab__tab:hover {
    text-decoration: none;
}
.p_tab__tab--primary {
    color: #cccccc !important;
    font-size: 1.8rem;
    border-top: solid #cccccc 1px;
    border-right: solid #cccccc 1px;
    border-left: solid #cccccc 1px;
}
.p_tab__tab--primary:hover {
    color: #cccccc;
}
.p_tab__tab--secondary {
    color: #ffffff;
    background-color: #b1b1b1;
}
.p_tab__tab--primary.is_current {
    color: var(--color-primary) !important;
    border-top-width: 5px;
    border-top-color: var(--color-secondary);
    border-right-color: var(--color-secondary);
    border-left-color: var(--color-secondary);
}
.p_tab__tab--primary.is_current:hover {
    color: var(--color-primary);
}
.p_tab__tab--secondary.is_current {
    background-color: var(--color-secondary);
}
.p_tab__tab::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    transition: all 0.2s;
    opacity: 0;
    z-index: 10;
}
.p_tab__tab--primary::before {
    background-color: #ffffff;
}
.p_tab__tab--secondary::before {
    background-color: var(--color-secondary);
}
.p_tab__tab.is_current::before {
    opacity: 1;
}
.p_tab__panel {
    padding: 30px 0 50px;
}
.p_tab__panel.is_current {
    border-top: solid var(--color-secondary) 1px;
}
.p_tab__icon {
    flex-shrink: 0;
    margin-right: 10px;
    background-size: cover;
}
.p_tab__icon--opamp01 {
    width: 26px;
    height: 26px;
    background-image: url("/ja/products/opamp/images/ico_opamp_989898_01.png");
}
.p_tab__icon--opamp02 {
    width: 19px;
    height: 26px;
    background-image: url("/ja/products/opamp/images/ico_opamp_989898_02.png");
}
.p_tab__tab.is_current .p_tab__icon--opamp01 {
    background-image: url("/ja/products/opamp/images/ico_opamp_333333_01.png");
}
.p_tab__tab.is_current .p_tab__icon--opamp02 {
    background-image: url("/ja/products/opamp/images/ico_opamp_333333_02.png");
}

@media screen and (max-width: 768px) {
    .p_tab__tab {
        font-size: 1.1rem;
        padding: 0 5px;
    }
}

/* tabList */
.p_tabList {
    position: relative;
    display: flex;
    justify-content: space-between;
    transition: all 0.2s;
}
.p_tabList--5column {
    min-width: 1024px;
    overflow: hidden;
}
.p_tabList--2column > * {
    width: calc((100% - 20px * 1) / 2);
}
.p_tabList--3column > * {
    width: calc((100% - 30px * 2) / 3);
}
.p_tabList--4column > * {
    width: calc((100% - 20px * 3) / 4);
}
.p_tabList--5column > * {
    width: calc((100% - 10px * 4) / 5);
}
.p_tabList--over {
    justify-content: center;
    padding: 0 10px;
}
.p_tabList--over.p_tabList--2column > * {
    max-width: 590px;
}
.p_tabList--over.p_tabList--2column > * + * {
    margin-left: 20px;
}
.p_tabList--over.p_tabList--3column > * {
    max-width: 380px;
}
.p_tabList--over.p_tabList--3column > * + * {
    margin-left: 30px;
}
.p_tabList--over.p_tabList--4column > * {
    max-width: 285px;
}
.p_tabList--over.p_tabList--4column > * + * {
    margin-left: 20px;
}
.p_tabList--over::before,
.p_tabList--over::after {
    content: "";
    position: absolute;
    top: 60px;
    width: calc((100% - 1200px) / 2);
    min-width: 10px;
    height: 1px;
    background-color: #ffffff;
    z-index: 10;
}
.p_tabList--over::before {
    left: 0;
}
.p_tabList--over::after {
    right: 0;
}

@media screen and (max-width: 768px) {
    .p_tabList--2column > * {
        width: calc((100% - 15px * 1) / 2);
    }
    .p_tabList--over.p_tabList--2column > * + * {
        margin-left: 15px;
    }
    .p_tabList--3column > * {
        width: calc((100% - 10px * 2) / 3);
    }
    .p_tabList--over.p_tabList--3column > * + * {
        margin-left: 10px;
    }
    .p_tabList--4column > * {
        width: calc((100% - 5px * 3) / 4);
    }
    .p_tabList--over.p_tabList--4column > * + * {
        margin-left: 5px;
    }
}

/* tabListContainer */
.p_tabListContainer {
    position: relative;
}
.p_tabListContainer--scroll {
    overflow-x: auto;
}

/* tabAccordion */
.p_tabAccordion__tab {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    height: 60px;
    padding: 0 20px;
    transition: all 0.2s;
    line-height: 1.2;
    word-break: break-all;
    cursor: pointer;
}
.p_tabAccordion__tab--primary {
    color: #cccccc;
    font-size: 1.8rem;
    border-top: solid #cccccc 1px;
    border-right: solid #cccccc 1px;
    border-left: solid #cccccc 1px;
}
.p_tabAccordion__tab--secondary {
    color: #ffffff;
    background-color: #b1b1b1;
}
.p_tabAccordion__tab--primary.is_current {
    color: var(--color-primary);
    border-top-width: 5px;
    border-top-color: var(--color-secondary);
    border-right-color: var(--color-secondary);
    border-left-color: var(--color-secondary);
}
.p_tabAccordion__tab--secondary.is_current {
    background-color: var(--color-secondary);
}
.p_tabAccordion__tab::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    transition: all 0.2s;
    opacity: 0;
    z-index: 10;
}
.p_tabAccordion__tab--primary::before {
    background-color: #ffffff;
}
.p_tabAccordion__tab--secondary::before {
    background-color: var(--color-secondary);
}
.p_tabAccordion__tab.is_current::before {
    opacity: 1;
}
.p_tabAccordion__icon {
    flex-shrink: 0;
    margin-right: 10px;
    background-size: cover;
}
.p_tabAccordion__icon--desc {
    width: 25.5px;
    height: 30px;
    background-image: url("/ja/products/electronic_device/images/ico_desc_989898.png");
}
.p_tabAccordion__icon--spec {
    width: 35px;
    height: 35px;
    background-image: url("/ja/products/electronic_device/images/ico_spec_989898.png");
}
.p_tabAccordion__icon--tec-doc {
    width: 29px;
    height: 28.5px;
    background-image: url("/ja/products/electronic_device/images/ico_tec-doc_989898.png");
}
.p_tabAccordion__icon--qua-pac {
    width: 25.5px;
    height: 25.5px;
    background-image: url("/ja/products/electronic_device/images/ico_qua-pac_989898.png");
}
.p_tabAccordion__icon--sam-buy {
    width: 25px;
    height: 23px;
    background-image: url("/ja/products/electronic_device/images/ico_sam-buy_989898.png");
}
.p_tabAccordion__icon--line {
    width: 25px;
    height: 25px;
    background-image: url("/ja/products/electronic_device/images/ico_line_989898.png");
}
.p_tabAccordion__tab.is_current .p_tabAccordion__icon--desc {
    background-image: url("/ja/products/electronic_device/images/ico_desc_333333.png");
}
.p_tabAccordion__tab.is_current .p_tabAccordion__icon--spec {
    background-image: url("/ja/products/electronic_device/images/ico_spec_333333.png");
}
.p_tabAccordion__tab.is_current .p_tabAccordion__icon--tec-doc {
    background-image: url("/ja/products/electronic_device/images/ico_tec-doc_333333.png");
}
.p_tabAccordion__tab.is_current .p_tabAccordion__icon--qua-pac {
    background-image: url("/ja/products/electronic_device/images/ico_qua-pac_333333.png");
}
.p_tabAccordion__tab.is_current .p_tabAccordion__icon--sam-buy {
    background-image: url("/ja/products/electronic_device/images/ico_sam-buy_333333.png");
}
.p_tabAccordion__tab.is_current .p_tabAccordion__icon--line {
    background-image: url("/ja/products/electronic_device/images/ico_line_333333.png");
}
.p_tabAccordion__panel {
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    padding: 30px 0 50px;
    transition: opacity 0.2s, visibility 0s;
    visibility: hidden;
    opacity: 0;
}
.p_tabAccordion__panel.is_current {
    border-top: solid var(--color-secondary) 1px;
    visibility: inherit;
    opacity: 1;
}

@media screen and (max-width: 768px) {
    .p_tabAccordion {
        height: auto !important;
    }
    .p_tabAccordion__tab {
        justify-content: flex-start;
        border-bottom: solid #cccccc 1px;
    }
    .p_tabAccordion__tab.is_current {
        border-bottom-color: var(--color-secondary);
    }
    .p_tabAccordion__tab::before {
        position: absolute;
        bottom: 0px;
        left: 20px;
        width: auto;
        height: auto;
        background-color: #ffffff !important;
        border-top: solid #cccccc 8px;
        border-right: solid transparent 5px;
        border-left: solid transparent 5px;
        transform: translateY(100%);
    }
    .p_tabAccordion__tab::after {
        content: "";
        position: absolute;
        bottom: 0px;
        left: 21px;
        border-right: solid transparent 4px;
        border-left: solid transparent 4px;
        transform: translateY(100%);
        transition: all 0.2s;
        opacity: 0;
        z-index: 10;
    }
    .p_tabAccordion__tab--primary::after {
        border-top: solid #ffffff 7px;
    }
    .p_tabAccordion__tab--secondary::after {
        border-top: solid var(--color-secondary) 7px;
    }
    .p_tabAccordion__tab.is_current::before {
        border-top-color: var(--color-secondary);
    }
    .p_tabAccordion__tab.is_current::after {
        opacity: 1;
    }
    .p_tabAccordion__panel {
        position: static !important;
        border-top: none !important;
        visibility: inherit !important;
        opacity: 1 !important;
    }
}

/* tabAccordionList */
.p_tabAccordionList {
    position: relative;
    display: flex;
    justify-content: space-between;
    transition: all 0.2s;
}
.p_tabAccordionList--5column {
    min-width: 1024px;
    overflow: hidden;
}
.p_tabAccordionList--2column > * {
    width: calc((100% - 20px * 1) / 2);
}
.p_tabAccordionList--3column > * {
    width: calc((100% - 30px * 2) / 3);
}
.p_tabAccordionList--4column > * {
    width: calc((100% - 20px * 3) / 4);
}
.p_tabAccordionList--5column > * {
    width: calc((100% - 10px * 4) / 5);
}
.p_tabAccordionList--over {
    justify-content: center;
    padding: 0 10px;
}
.p_tabAccordionList--over.p_tabAccordionList--2column > * {
    max-width: 590px;
}
.p_tabAccordionList--over.p_tabAccordionList--2column > * + * {
    margin-left: 20px;
}
.p_tabAccordionList--over.p_tabAccordionList--3column > * {
    max-width: 380px;
}
.p_tabAccordionList--over.p_tabAccordionList--3column > * + * {
    margin-left: 30px;
}
.p_tabAccordionList--over.p_tabAccordionList--4column > * {
    max-width: 285px;
}
.p_tabAccordionList--over.p_tabAccordionList--4column > * + * {
    margin-left: 20px;
}
.p_tabAccordionList--over::before,
.p_tabAccordionList--over::after {
    content: "";
    position: absolute;
    top: 60px;
    width: calc((100% - 1200px) / 2);
    min-width: 10px;
    height: 1px;
    background-color: #ffffff;
    z-index: 10;
}
.p_tabAccordionList--over::before {
    left: 0;
}
.p_tabAccordionList--over::after {
    right: 0;
}

@media screen and (max-width: 768px) {
    .p_tabAccordionList {
        display: block;
        min-width: auto;
        height: auto !important;
    }
    .p_tabAccordionList > * {
        width: 100%;
    }
    .p_tabAccordionList--over {
        padding: 0;
    }
    .p_tabAccordionList--over > * {
        max-width: 100% !important;
    }
    .p_tabAccordionList--over > * + * {
        margin-left: 0 !important;
    }
    .p_tabAccordionList--over::before,
    .p_tabAccordionList--over::after {
        display: none;
    }
    .p_tabAccordionList--over > * > * > .p_tabAccordion__tab {
        margin: 0 20px;
    }
}

/* tabAccordionListContainer */
.p_tabAccordionListContainer {
    position: relative;
}
.p_tabAccordionListContainer--scroll {
    overflow-x: auto;
}

/* p_menu */
.p_menu {
    transition: all 0.2s;
}
.p_menu:hover {
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    .p_menu {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 40px;
    }
}

/* p_menuList */
.p_menuList {
    display: flex;
    align-items: center;
    font-size: 1.4rem;
}
.p_menuList > * + * {
    margin-left: 30px;
}

@media screen and (max-width: 768px) {
    .p_menuList {
        display: block;
        color: #ffffff;
        height: auto;
        padding: 0 10px;
        background-color: #989898;
    }
    .p_menuList > * + * {
        margin-left: 0;
        border-top: solid #ffffff 1px;
    }
}

/* p_language */
.p_language {
    color: #cccccc;
    transition: all 0.2s;
}
.p_language:hover {
    opacity: 0.7;
}
.p_language.is_current {
    color: var(--color-secondary);
    font-weight: bold;
}

/* p_languageList */
.p_languageList {
    display: flex;
}
.p_languageList > * + * {
    position: relative;
    padding-left: 25px;
}
.p_languageList > * + *::before {
    content: "/";
    position: absolute;
    top: 50%;
    left: 12.5px;
    color: #cccccc;
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
    .p_languageList {
        justify-content: center;
    }
    .p_languageList > * + * {
        padding-left: 45px;
    }
    .p_languageList > * + *::before {
        left: 22.5px;
    }
}

/* p_tool */
.p_tool {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .p_tool {
        width: auto;
    }
    .p_tool__button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        transition: all 0.2s;
    }
    .p_tool__button img {
        height: 24px;
    }
    .p_tool__box {
        position: absolute;
        bottom: 10px;
        right: 0;
        width: 100%;
        padding: 50px 20px 20px;
        background-color: #ffffff;
        box-shadow: 0 5px 10px 0 rgba(204, 204, 204, 0.5);
        transform: translateY(100%);
        transition: bottom 0.2s, visibility 0s, opacity 0.2s;
        visibility: hidden;
        opacity: 0;
        z-index: -10;
    }
    .p_tool__box.is_show {
        bottom: 0;
        visibility: inherit;
        opacity: 1;
    }
    .p_tool__back {
        position: absolute;
        top: 15px;
        left: 50%;
        width: 20px;
        transform: translateX(-50%);
        line-height: 0;
    }
}

/* p_toolList */
.p_toolList {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.p_toolList > * + * {
    margin-left: 10px;
}
.p_toolList > *:nth-child(1) {
    width: calc(330 * 100% / 860);
}
p_toolList > *:nth-child(2) {
    flex-shrink: 0;
    width: auto;
}
.p_toolList > *:nth-child(3) {
    flex-shrink: 0;
    width: 115px;
}
.p_toolList > *:last-child {
    margin-left: 30px;
}

@media screen and (max-width: 768px) {
    .p_toolList {
        position: relative;
        width: 100%;
        background-color: var(--color-secondary);
    }
    .p_toolList > * + * {
        margin-left: 0;
    }
    .p_toolList > * {
        width: auto !important;
    }
    .p_toolList > *:last-child {
        margin-left: 0;
    }
}

/* news */
.p_news {
    position: relative;
    display: block;
    transition: all 0.2s;
}
.p_news:hover {
    color: var(--color-secondary);
}
.p_news::before {
    content: "";
    position: absolute;
    width: 22px;
    height: 6px;
    border-right: solid #505050 1px;
    border-bottom: solid #505050 1px;
    transform: skew(45deg);
    transition: all 0.2s;
}
.p_news--type01 {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.p_news--type01::before {
    bottom: 0;
    left: 0;
    margin-bottom: calc(175 * 100% / 262 + 14.5px);
}
.p_news--type02::before {
    bottom: 0;
    left: calc(100% - 36px);
}
.p_news:hover::before {
    width: 44px;
    border-right-color: var(--color-secondary);
    border-bottom-color: var(--color-secondary);
}
.p_news__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: -5px;
    margin-bottom: 15px;
}
.p_news__meta > * {
    margin-top: 5px;
    margin-right: 15px;
}
.p_news__meta > *:first-child {
    flex-shrink: 0;
}
.p_news__meta > *:last-child {
    margin-right: 0;
}
.p_news__date {
    display: inline-block;
    color: #505050;
    font-size: 1.4rem;
}
.p_news__label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.2rem;
    width: 100px;
    height: 20px;
    margin-right: 10px;
}
.p_news__label:last-child {
    margin-right: 0;
}
.p_news__label--wide {
    width: 200px;
}
.p_news__label--color01 {
    background-color: #ea2a35;
}
.p_news__label--color02 {
    background-color: #0a8b52;
}
.p_news__label--color03 {
    background-color: #0167a7;
}
.p_news__label--color04 {
    background-color: #38aac4;
}
.p_news__label--color05 {
    background-color: #6e2670;
}
.p_news__label--color06 {
    background-color: #cccccc;
}
.p_news__label--color07 {
    background-color: #ea2a35;
}
.p_news__label--color08 {
    background-color: #505050;
}
.p_news--type01 .p_news__text {
    margin-bottom: 35px;
}
.p_news--type02 .p_news__text {
    padding: 0 36px 0 127px;
}
.p_news__image {
    position: relative;
    width: 100%;
    margin-top: auto;
    padding-top: calc(175 * 100% / 262);
    background-color: #ffffff;
    border: solid #cccccc 1px;
    overflow: hidden;
}
.p_news__image img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: translate(-50%, -50%);
    transition: all 0.2s;
}
.p_news__image--w262 img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.p_news__image--h175 img {
    width: auto;
    height: 100%;
    object-fit: cover;
}
.p_news:hover .p_news__image img {
    transform: translate(-50%, -50%) scale(1.1);
}
.p_news--blank .p_news__text::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 10px;
    background-image: url("/common/images/ico_blank_989898.svg");
}
.p_news__pdf {
    width: 25px;
}

@media screen and (max-width: 768px) {
    .p_news--type02 .p_news__text {
        padding: 0 0 25px;
    }
    .p_news--type02::before {
        left: calc(100% - 46px);
    }
    .p_news__pdf {
        width: 20px;
    }
}

/* newsList */
.p_newsList--type01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.p_newsList--type01 > * {
    width: calc(262 * 100% / 1200);
}
.p_newsList--type01 > *:nth-child(4n-3) {
    margin-left: 0;
}
.p_newsList--type01:before {
    content: "";
    display: block;
    width: calc(262 * 100% / 1200); 
    height: 0;
    order: 1
}
.p_newsList--type01:after {
    content: "";
    display: block;
    width: calc(262 * 100% / 1200); 
    height: 0;
}
.p_newsList--type02 > * {
    position: relative;
    padding: 35px 0 20px;
    border-bottom: solid #cccccc 1px;
}
.p_newsList--type02 > *:first-child {
    padding-top: 0;
}
.p_newsList--type02 > *::before {
    content: "";
    position: absolute;
    bottom: -4px;
    width: 7px;
    height: 7px;
    border: solid #cccccc 1px;
    border-radius: 50%;
}
.p_newsList--type02 > *:nth-child(odd):before {
    left: -7px;
}
.p_newsList--type02 > *:nth-child(even):before {
    right: -7px;
}

@media screen and (max-width: 768px) {
    .p_newsList--type01 > * {
        width: 100%;
    }
    .p_newsList--type01 > * + * {
        margin-top: 50px;
    }
    .p_newsList--type02 > * {
        padding: 30px 0;
    }
}

/* p_sns */
.p_sns {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    transition: all 0.2s;
}
.p_sns:hover {
    opacity: 0.7;
}
.p_sns img {
    width: 20px;
}
.p_sns--twitter {
    border: solid #1d9bf0 1px;
}
.p_sns--twitter img {
    width: 25px;
}
.p_sns--youtube {
    border: solid #fc0d1b 1px;
}
.p_sns--facebook {
    border: solid #217aed 1px;
}
.p_sns--linkedin {
    border: solid #2c69b0 1px;
}
.p_sns--mailto {
    border: solid #e43676 1px;
}
.p_sns--kakao {
    border: solid #eddd2c 1px;
}
.p_sns--kakao img {
    width: 25px;
}
.p_sns--x {
    border: solid #000000 1px;
}
.p_sns--x img {
    width: 18px;
}

/* p_snsList */
.p_snsList {
    display: flex;
}
.p_snsList > * + * {
    margin-left: 12px;
}

/* p_snsListContainer */
.p_snsListContainer {
    display: flex;
}
.p_snsListContainer--header {
    justify-content: center;
    padding: 40px 0 60px;
}
.p_snsListContainer--main {
    justify-content: flex-end;
    margin: -55px 0 5px;
    padding: 5px 0;
}

@media screen and (max-width: 768px) {
    .p_snsListContainer--main {
        display: none;
    }
}

/* p_modalContainer */
.p_modalContainer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(51, 51, 51, 0.8);
    transition: opacity 0.2s, visibility 0s;
    opacity: 0;
    visibility: hidden;
    z-index: 1000;
}
.p_modalContainer.is_show {
    opacity: 1;
    visibility: inherit;
}
.p_modal {
    position: absolute;
    top: 50%;
    left: 50%;
    max-height: 80%;
    padding-top: 40px;
    transform: translate(-50%, -50%);
    transition: opacity 0.2s, visibility 0s;
    opacity: 0;
    visibility: hidden;
    overflow-y: auto;
}
.p_modal.is_show {
    opacity: 1;
    visibility: inherit;
}
.p_modal#Filter {
    width: calc(100% - 20px);
    max-width: 1000px;
}
.p_modal#DownloadDatasheet {
    width: calc(100% - 20px);
    max-width: 1000px;
}
.p_modal#FunctionalDescription {
    width: calc(100% - 20px);
    max-width: 1000px;
}
.p_modal#SimilarProducts {
    width: calc(100% - 20px);
    max-width: 800px;
}
.p_modal__close {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
}
.p_modal__close::before,
.p_modal__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 1px;
    background-color: #ffffff;
}
.p_modal__close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.p_modal__close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* p_enlargeImage */
.p_enlargeImage {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100vw;
    height: 100vh;
    background-color: rgba(51, 51, 51, 0.8);
    z-index: 1000;
}
.p_enlargeImage img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50%;
    transform: translate(-50%, -50%);
}

/* p_pageTop */
.p_pageTop {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    background-color: var(--color-secondary);
    transition: all 0.2s;
}
.p_pageTop:hover {
    opacity: 0.7;
}
.p_pageTop img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
    .p_pageTop {
        width: 35px;
        height: 35px;
    }
    .p_pageTop img {
        width: 17px;
    }
}
/* p_loginContainer */
.p_loginContainer {
    position: relative;
    z-index: 1;
}

/* p_loginBtn */
.p_loginBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.5rem;
    height: 40px;
    padding-right: 10px;
    padding-left: 10px;
    background-color: var(--color-secondary);
    transition: opacity 0.2s;
    cursor: pointer;
}
.p_loginBtn:hover {
    opacity: 0.7;
}
.p_loginBtn.s_in::before {
    content: "";
    width: 24px;
    height: 24px;
    margin-right: 5px;
    background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20200%20200%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3B%7D.cls-2%7Bclip-path%3Aurl(%23clippath)%3B%7D.cls-3%7Bfill%3Anone%3B%7D%3C%2Fstyle%3E%3CclipPath%20id%3D%22clippath%22%3E%3Ccircle%20class%3D%22cls-3%22%20cx%3D%22100%22%20cy%3D%22100%22%20r%3D%22100%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%3E%3Cg%20class%3D%22cls-2%22%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M58.45%2C41.55c0%2C22.91%2C18.64%2C41.55%2C41.55%2C41.55s41.55-18.64%2C41.55-41.55S122.91%2C0%2C100%2C0%2C58.45%2C18.64%2C58.45%2C41.55Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C160c0%2C38.6%2C31.4%2C70%2C70%2C70s70-31.4%2C70-70-31.4-70-70-70S30%2C121.4%2C30%2C160Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media screen and (max-width: 768px) {
    .p_loginBtn {
        width: 100%;
    }
    .p_loginBtn.s_in {
        justify-content: center;
        color: #ffffff;
        height: auto;
        padding-top: 0.4em;
        padding-right: 0;
        padding-bottom: 0.2em;
        padding-left: 0;
        border-bottom: solid #990000 1px;
    }
    .p_loginBtn.s_in::before {
        display: none;
    }
}

/* p_logoutBtn */
.p_logoutBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #989898;
    width: 100%;
    height: 32px;
    border: solid #989898 1px;
    transition: color 0.2s, border-color 0.2s;
    line-height: 1;
}
.p_logoutBtn:hover {
    color: #990000;
    border-color: #990000;
}

.p_loginMenuContainer {
    position: absolute;
    top: 30px;
    left: 50%;
    font-size: 1.4rem;
    width: 100%;
    min-width: 15em;
    transform: translateX(-50%);
    transition: top 0.2s, opacity 0.2s;
    opacity: 0;
    pointer-events: none;
}
.p_loginMenuContainer.s_active {
    top: 40px;
    opacity: 1;
    pointer-events: auto;
}

@media screen and (max-width: 768px) {
    .p_loginMenuContainer {
        position: static;
        top: 0;
        left: 0;
        min-width: auto;
        transform: translateX(0);
        transition: height 0.2s;
        opacity: 1;
        overflow: hidden;
    }
}

/* p_loginMenu */
.p_loginMenu {
    padding: 15px 10px;
    background-color: #ffffff;
    box-shadow: 0 10px 20px rgba(204, 204, 204, 0.5);
}
.p_loginMenu__list > * {
    position: relative;
    padding: 5px 5px 5px 1em;
    transition: all 0.2s;
}
.p_loginMenu__list > *:hover {
    color: var(--color-secondary);
    background-color: var(--color-secondary-a10);
}
.p_loginMenu__list > *::before {
    content: "・";
    position: absolute;
    top: calc(0.8125em + 5px);
    left: 0;
    transform: translateY(-50%);
}
.p_loginMenu__logoutBtn {
    margin-top: 10px;
}

@media screen and (max-width: 768px) {
    .p_loginMenu {
        padding: 20px 0 0;
    }
}

/* p_iconContainer */
.p_iconContainer {
    position: fixed;
    right: 20px;
    bottom: 120px;
    transition: opacity 0.4s;
    opacity: 0;
    z-index: 100;
}
.p_iconContainer.s_active {
    opacity: 1;
}

@media screen and (max-width: 768px) {
    .p_iconContainer {
        right: 10px;
        bottom: 70px;
    }
}

/* p_iconList */
.p_iconList {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 0;
}
.p_iconList > * + * {
    margin-top: 20px;
}

@media screen and (max-width: 768px) {
    .p_iconList > * + * {
        margin-top: 10px;
    }
    .p_iconList--nav {
        flex-direction: row;
        padding: 0 10px;
        background-color: var(--color-secondary);
    }
    .p_iconList--nav > * {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
    }
    .p_iconList--nav > * + * {
        margin-top: 0;
    }
}

/* p_icon */
.p_icon {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: opacity 0.2s;
    cursor: pointer;
}
.p_icon:hover {
    opacity: 0.7;
}
.p_icon--favorite {
    background-image: url(/common/images/ico_favorite.png);
}
.p_icon--favorite.s_checked {
    background-image: url(/common/images/ico_favorite_checked.png);
}
.p_icon--favoriteList {
    background-image: url(/common/images/ico_favorite-list.png);
}

@media screen and (max-width: 768px) {
    .p_icon {
        width: 35px;
        height: 35px;
    }
    .p_icon:hover {
        opacity: 1;
    }
    .p_icon--nav {
        width: 24px;
        height: 24px;
    }
}

/* p_tooltipContainer */
.p_tooltipContainer {
    position: relative;
}

@media screen and (max-width: 768px) {
    .p_tooltipContainer {
        display: none;
    }
}

/* p_tooltip */
.p_tooltip {
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: bold;
    height: 40px;
    padding: 0 10px;
    background-color: #656565;
    border-radius: 3px;
    box-shadow: 0 5px 10px 0 rgba(204, 204, 204, 0.5);
    transform: translate(-100%, -50%);
    transition: left 0.4s, opacity 0.4s;
    opacity: 0;
    white-space: nowrap;
}
.p_tooltip.s_active {
    left: -10px;
    opacity: 1;
}
.p_tooltip::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -7px;
    border-top: solid transparent 5px;
    border-bottom: solid transparent 5px;
    border-left: solid #656565 7px;
    transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
    .p_tooltip {
        display: none;
    }
}

/* faq */
.lb_ico {
    display: inline-block;
    font-size: 1.2rem;
    margin-right: 4px;
    margin-bottom: 2px;
    padding: 2px 6px;
}

/* faq_category */

.lb_ico.cate01 {
    background: #dedede;
}


/* Utility */
/* color */
.u_fcPrimary { color: var(--color-primary); }
.u_fcSecondary { color: var(--color-secondary); }
.u_fcTertiary { color: var(--color-tertiary); }

/* font-size */
.u_fsSS { font-size: 1.2rem; }
.u_fsS { font-size: 1.4rem; }
.u_fsM { font-size: 1.6rem; }
.u_fsL { font-size: 1.8rem; }
.u_fsXL { font-size: 2.0rem; }
.u_fsXXL { font-size: 2.2rem; }
.u_fsXXXL { font-size: 2.4rem; }

/* font-weight */
.u_fw100 { font-weight: 100; }
.u_fw200 { font-weight: 200; }
.u_fw300 { font-weight: 300; }
.u_fw400 { font-weight: 400; }
.u_fw500 { font-weight: 500; }
.u_fw600 { font-weight: 600; }
.u_fw700 { font-weight: 700; }
.u_fw800 { font-weight: 800; }
.u_fw900 { font-weight: 900; }
.u_fwNormal { font-weight: normal; }
.u_fwBold { font-weight: bold; }

/* background-color */
.u_bcPrimary { background-color: #ffffff; }

/* text-align */
.u_taLeft { text-align: left; }
.u_taRight { text-align: right; }
.u_taCenter { text-align: center; }
.u_taPcLeftSpRight { text-align: left; }
.u_taPcLeftSpCenter { text-align: left; }
.u_taPcRightSpLeft { text-align: right; }
.u_taPcRightSpCenter { text-align: right; }
.u_taPcCenterSpLeft { text-align: center; }
.u_taPcCenterSpRight { text-align: center; }

@media screen and (max-width: 768px) {
    .u_taPcLeftSpRight { text-align: right; }
    .u_taPcLeftSpCenter { text-align: center; }
    .u_taPcRightSpLeft { text-align: left; }
    .u_taPcRightSpCenter { text-align: center; }
    .u_taPcCenterSpLeft { text-align: left; }
    .u_taPcCenterSpRight { text-align: right; }
}

/* vertical-align */
.u_vaTop { vertical-align: top; }
.u_vaBottom { vertical-align: bottom; }
.u_vaMiddle { vertical-align: middle; }

/* margin-top */
.u_mtAuto { margin-top: auto; }
.u_mt0 { margin-top: 0; }
.u_mt5 { margin-top: 5px; }
.u_mt10 { margin-top: 10px; }
.u_mt15 { margin-top: 15px; }
.u_mt20 { margin-top: 20px; }
.u_mt25 { margin-top: 25px; }
.u_mt30 { margin-top: 30px; }
.u_mt35 { margin-top: 35px; }
.u_mt40 { margin-top: 40px; }
.u_mt45 { margin-top: 45px; }
.u_mt50 { margin-top: 50px; }
.u_mt55 { margin-top: 55px; }
.u_mt60 { margin-top: 60px; }
.u_mt65 { margin-top: 65px; }
.u_mt70 { margin-top: 70px; }
.u_mt75 { margin-top: 75px; }
.u_mt80 { margin-top: 80px; }
.u_mt85 { margin-top: 85px; }
.u_mt90 { margin-top: 90px; }
.u_mt95 { margin-top: 95px; }
.u_mt100 { margin-top: 100px; }

/* margin-right */
.u_mrAuto { margin-top: auto; }
.u_mr0 { margin-right: 0; }
.u_mr5 { margin-right: 5px; }
.u_mr10 { margin-right: 10px; }
.u_mr15 { margin-right: 15px; }
.u_mr20 { margin-right: 20px; }
.u_mr25 { margin-right: 25px; }
.u_mr30 { margin-right: 30px; }
.u_mr35 { margin-right: 35px; }
.u_mr40 { margin-right: 40px; }
.u_mr45 { margin-right: 45px; }
.u_mr50 { margin-right: 50px; }
.u_mr55 { margin-right: 55px; }
.u_mr60 { margin-right: 60px; }
.u_mr65 { margin-right: 65px; }
.u_mr70 { margin-right: 70px; }
.u_mr75 { margin-right: 75px; }
.u_mr80 { margin-right: 80px; }
.u_mr85 { margin-right: 85px; }
.u_mr90 { margin-right: 90px; }
.u_mr95 { margin-right: 95px; }
.u_mr100 { margin-right: 100px; }

/* margin-bottom */
.u_mbAuto { margin-top: auto; }
.u_mb0 { margin-bottom: 0; }
.u_mb5 { margin-bottom: 5px; }
.u_mb10 { margin-bottom: 10px; }
.u_mb15 { margin-bottom: 15px; }
.u_mb20 { margin-bottom: 20px; }
.u_mb25 { margin-bottom: 25px; }
.u_mb30 { margin-bottom: 30px; }
.u_mb35 { margin-bottom: 35px; }
.u_mb40 { margin-bottom: 40px; }
.u_mb45 { margin-bottom: 45px; }
.u_mb50 { margin-bottom: 50px; }
.u_mb55 { margin-bottom: 55px; }
.u_mb60 { margin-bottom: 60px; }
.u_mb65 { margin-bottom: 65px; }
.u_mb70 { margin-bottom: 70px; }
.u_mb75 { margin-bottom: 75px; }
.u_mb80 { margin-bottom: 80px; }
.u_mb85 { margin-bottom: 85px; }
.u_mb90 { margin-bottom: 90px; }
.u_mb95 { margin-bottom: 95px; }
.u_mb100 { margin-bottom: 100px; }

/* margin-left */
.u_mlAuto { margin-top: auto; }
.u_ml0 { margin-left: 0; }
.u_ml5 { margin-left: 5px; }
.u_ml10 { margin-left: 10px; }
.u_ml15 { margin-left: 15px; }
.u_ml20 { margin-left: 20px; }
.u_ml25 { margin-left: 25px; }
.u_ml30 { margin-left: 30px; }
.u_ml35 { margin-left: 35px; }
.u_ml40 { margin-left: 40px; }
.u_ml45 { margin-left: 45px; }
.u_ml50 { margin-left: 50px; }
.u_ml55 { margin-left: 55px; }
.u_ml60 { margin-left: 60px; }
.u_ml65 { margin-left: 65px; }
.u_ml70 { margin-left: 70px; }
.u_ml75 { margin-left: 75px; }
.u_ml80 { margin-left: 80px; }
.u_ml85 { margin-left: 85px; }
.u_ml90 { margin-left: 90px; }
.u_ml95 { margin-left: 95px; }
.u_ml100 { margin-left: 100px; }

/* padding-top */
.u_pt0 { padding-top: 0; }
.u_pt5 { padding-top: 5px; }
.u_pt10 { padding-top: 10px; }
.u_pt15 { padding-top: 15px; }
.u_pt20 { padding-top: 20px; }
.u_pt25 { padding-top: 25px; }
.u_pt30 { padding-top: 30px; }
.u_pt35 { padding-top: 35px; }
.u_pt40 { padding-top: 40px; }
.u_pt45 { padding-top: 45px; }
.u_pt50 { padding-top: 50px; }
.u_pt55 { padding-top: 55px; }
.u_pt60 { padding-top: 60px; }
.u_pt65 { padding-top: 65px; }
.u_pt70 { padding-top: 70px; }
.u_pt75 { padding-top: 75px; }
.u_pt80 { padding-top: 80px; }
.u_pt85 { padding-top: 85px; }
.u_pt90 { padding-top: 90px; }
.u_pt95 { padding-top: 95px; }
.u_pt100 { padding-top: 100px; }

/* padding-right */
.u_pr0 { padding-right: 0; }
.u_pr5 { padding-right: 5px; }
.u_pr10 { padding-right: 10px; }
.u_pr15 { padding-right: 15px; }
.u_pr20 { padding-right: 20px; }
.u_pr25 { padding-right: 25px; }
.u_pr30 { padding-right: 30px; }
.u_pr35 { padding-right: 35px; }
.u_pr40 { padding-right: 40px; }
.u_pr45 { padding-right: 45px; }
.u_pr50 { padding-right: 50px; }
.u_pr55 { padding-right: 55px; }
.u_pr60 { padding-right: 60px; }
.u_pr65 { padding-right: 65px; }
.u_pr70 { padding-right: 70px; }
.u_pr75 { padding-right: 75px; }
.u_pr80 { padding-right: 80px; }
.u_pr85 { padding-right: 85px; }
.u_pr90 { padding-right: 90px; }
.u_pr95 { padding-right: 95px; }
.u_pr100 { padding-right: 100px; }

/* padding-bottom */
.u_pb0 { padding-bottom: 0; }
.u_pb5 { padding-bottom: 5px; }
.u_pb10 { padding-bottom: 10px; }
.u_pb15 { padding-bottom: 15px; }
.u_pb20 { padding-bottom: 20px; }
.u_pb25 { padding-bottom: 25px; }
.u_pb30 { padding-bottom: 30px; }
.u_pb35 { padding-bottom: 35px; }
.u_pb40 { padding-bottom: 40px; }
.u_pb45 { padding-bottom: 45px; }
.u_pb50 { padding-bottom: 50px; }
.u_pb55 { padding-bottom: 55px; }
.u_pb60 { padding-bottom: 60px; }
.u_pb65 { padding-bottom: 65px; }
.u_pb70 { padding-bottom: 70px; }
.u_pb75 { padding-bottom: 75px; }
.u_pb80 { padding-bottom: 80px; }
.u_pb85 { padding-bottom: 85px; }
.u_pb90 { padding-bottom: 90px; }
.u_pb95 { padding-bottom: 95px; }
.u_pb100 { padding-bottom: 100px; }

/* padding-left */
.u_pl0 { padding-left: 0; }
.u_pl5 { padding-left: 5px; }
.u_pl10 { padding-left: 10px; }
.u_pl15 { padding-left: 15px; }
.u_pl20 { padding-left: 20px; }
.u_pl25 { padding-left: 25px; }
.u_pl30 { padding-left: 30px; }
.u_pl35 { padding-left: 35px; }
.u_pl40 { padding-left: 40px; }
.u_pl45 { padding-left: 45px; }
.u_pl50 { padding-left: 50px; }
.u_pl55 { padding-left: 55px; }
.u_pl60 { padding-left: 60px; }
.u_pl65 { padding-left: 65px; }
.u_pl70 { padding-left: 70px; }
.u_pl75 { padding-left: 75px; }
.u_pl80 { padding-left: 80px; }
.u_pl85 { padding-left: 85px; }
.u_pl90 { padding-left: 90px; }
.u_pl95 { padding-left: 95px; }
.u_pl100 { padding-left: 100px; }

.u_isPc {
    display: block !important;
}
img.u_isPc,
br.u_isPc {
    display: inline-block !important;
}
.u_isSp {
    display: none !important;
}
img.u_isSp,
br.u_isSp {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .u_isPc {
        display: none !important;
    }
    img.u_isPc,
    br.u_isPc {
        display: none !important;
    }
    .u_isSp {
        display: block !important;
    }
    img.u_isSp,
    br.u_isSp {
        display: inline-block !important;
    }
}
