@charset "UTF-8";

/* 共通 */

:root {
    --color-main: #b7dc59;
    --color-main-rgb: 183, 220, 89;
    --color-neutral-dark: #0a312a;
    --color-neutral-dark-rgb: 10, 49, 42;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
input,
select,
textarea {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    color: var(--color-neutral-dark);
    font-size: 100%;
    line-height: 1.8em;
    font-style: normal;
    font-weight: 500;
    vertical-align: bottom;
    background: 0 0;
    box-sizing: border-box
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section {
    display: block
}

ul,
li {
    list-style: none
}

nav li:before {
    content: ""
}

a {
    text-decoration: none;
    color: #333333;
    transition: .3s;
}

a:hover {
    text-decoration: underline
}

html {
    font-size: 62.5%;
    overflow: auto
}

html.is-fixed {
    overflow: hidden
}

body {
    min-width: 320px;
    font-size: 1.4rem;
    font-family: 'Noto Sans JP', sans-serif;
    -webkit-text-size-adjust: 100%
}

*:focus {
    outline: none
}

small {
    font-size: .8em;
    vertical-align: baseline
}

img {
    max-width: 100%;
}

.shingo {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-style: normal;
    font-weight: 300;
}

.din {
    font-family: din-2014, sans-serif !important;
    font-style: normal;
    font-weight: 200;
}

.sp {
    display: none;
}

@media only screen and (min-width:768px)and (max-width:1320px) {}

@media only screen and (min-width:768px)and (max-width:1024px) {
    .menuopen #container::after {
        content: '';
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #000;
        opacity: .5;
        z-index: 1;
    }
}

@media only screen and (max-width:767px) {
    body {
        font-size: 1.4rem;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}


/* ヘッダー */

#header {
    width: 100%;
    position: fixed;
    left: 0;
    right: 0;
    top: 24px;
    z-index: 100;
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1286px;
    margin: auto;
    padding: 16px 32px;
    background: #fff;
    box-shadow: 0 0 10px 0 rgba(190, 190, 190, .7);
}

.header-logo {
    width: 212px;
    text-align: center;
}

.header-logo span {
    display: block;
}

.header-logo>a {
    border-top: 1px solid #d8cdd4;
    text-decoration: none;
    display: block;
    padding-top: .7em;
    margin-top: 1em;
    font-size: 12px;
    line-height: 1em;
    font-family: 'Noto Sans JP', sans-serif;
}

.header-menu {
    width: 830px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-navi {
    width: 668px;
}

.header-box {
    display: flex;
    justify-content: space-between;
}

.header-links {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 340px;
    border-bottom: 1px solid #d8cdd4;
    position: relative;
    z-index: 1;
}

.header-links li {
    margin-right: 30px;
    line-height: 34px;
    position: relative;
}

.header-links li a {
    font-size: 12px;
    line-height: 34px;
    text-decoration: none;
}

.header-links li a:hover {
    color: var(--color-main);
}

.header-links .megamenu-link>a {
    position: relative;
    padding-right: 20px;
}

.header-links .megamenu-link>a::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--color-neutral-dark);
    border-bottom: 2px solid var(--color-neutral-dark);
    position: absolute;
    right: 0;
    top: calc(50% - 8px);
    transform: rotate(45deg);
}

.header-links .megamenu-link:hover .megamenu-inner {
    display: flex;
}

.header-links .megamenu-box {
    width: 100%;
}

.header-links .megamenu-inner {
    background: #d8cdd4;
    position: absolute;
    z-index: -1;
    left: -1em;
    top: 100%;
    justify-content: space-between;
    display: none;
}

.header-links .megamenu-inner a {
    display: block;
}

.header-links .megamenu-inner a:hover {
    background: var(--color-main);
    color: var(--color-neutral-dark);
}

.header-links .megamenu-ttl01 a {
    font-size: 16px;
    padding: 10px 16px;
    position: relative;
}

.header-links .megamenu-ttl01 a::before {
    content: '';
    width: 8px;
    height: 14px;
    position: absolute;
    left: 0;
    top: calc(50% - 7px);
    background: var(--color-neutral-dark);
}

.header-links .megamenu-ttl02 a {
    font-size: 13px;
    padding: 12px 0 12px 16px;
}

.header-links .megamenu-list li {
    margin: 0;
}

.header-links .megamenu-list li a {
    font-size: 13px;
    line-height: 1.5em;
    padding: 8px 8px 8px 16px;
}

.header-contact {
    width: 318px;
    display: flex;
    justify-content: space-between;
}

.header-contact li {
    width: 158px;
    margin-left: 1px;
    display: flex;
}

.header-contact li a {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    line-height: 20px;
    color: #fff;
    line-height: 1em;
    padding: 6px;
    background: #aa003e;
    text-decoration: none;
    border: 1px solid #aa003e;
}

.header-contact li a:hover {
    background: #fff;
    color: #aa003e;
}

.header-contact li a .icon-pdf,
.header-contact li a .icon-pdf-hover {
    width: auto;
    height: 20px;
    margin-right: 8px;
}

.header-contact li a .icon-mail,
.header-contact li a .icon-mail-hover {
    width: auto;
    height: 14px;
    margin-right: 8px;
}

.header-contact li a .icon-pdf-hover,
.header-contact li a .icon-mail-hover,
.header-contact li a:hover .icon-pdf,
.header-contact li a:hover .icon-mail {
    display: none;
}

.header-contact li a:hover .icon-pdf-hover,
.header-contact li a:hover .icon-mail-hover {
    display: inline;
}

#global_navi {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
}

#global_navi li {
    margin-left: 20px;
    position: relative;
}

#global_navi li a {
    font-size: 16px;
    line-height: 1em;
    text-decoration: none;
    position: relative;
    display: block;
}

#global_navi>li:hover::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -16px;
    height: 8px;
    background: var(--color-main);
}

#global_navi>li:hover::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 16px;
    background: transparent;
}

#global_navi .megamenu-inner {
    background: #d8cdd4;
    position: absolute;
    z-index: -1;
    left: 0;
    top: calc(100% + 16px);
    justify-content: space-between;
    display: none;
}

#global_navi .megamenu-link>a {
    position: relative;
    padding-right: 20px;
}

#global_navi .megamenu-link>a::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--color-neutral-dark);
    border-bottom: 2px solid var(--color-neutral-dark);
    position: absolute;
    right: 0;
    top: calc(50% - 8px);
    transform: rotate(45deg);
}

#global_navi .megamenu-link:hover .megamenu-inner {
    display: flex;
}

#global_navi .megamenu-box {
    width: 50%;
}

#global_navi .megamenu-box.fit {
    width: 100%;
}

#global_navi .megamenu-inner a {
    display: block;
}

#global_navi .megamenu-inner a:hover {
    background: var(--color-main);
}

#global_navi .megamenu-ttl01 a {
    font-size: 16px;
    padding: 10px 16px;
    position: relative;
}

#global_navi .megamenu-ttl01 a::before {
    content: '';
    width: 8px;
    height: 14px;
    position: absolute;
    left: 0;
    top: calc(50% - 7px);
    background: var(--color-neutral-dark);
}

#global_navi .megamenu-ttl02 a {
    font-size: 13px;
    padding: 12px 0 12px 16px;
}

#global_navi .megamenu-list li {
    margin: 0;
}

#global_navi .megamenu-list li a {
    font-size: 13px;
    line-height: 1.5em;
    padding: 8px 8px 8px 16px;
}

.megamenu01 .megamenu-inner {
    width: 230px;
}

.megamenu02 .megamenu-inner {
    width: 460px;
}

.megamenu03 .megamenu-inner {
    width: 230px;
}

.megamenu04 .megamenu-inner {
    width: 230px;
}

.header-menu-btn {
    width: 138px;
    display: flex;
    justify-content: space-between;
}

.header-menu-btn li {
    position: relative;
}

.header-menu-btn>li>a {
    width: 68px;
    height: 68px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-main);
    font-size: 20px;
    background-color: var(--color-neutral-dark);
    text-decoration: none;
}

/* .header-menu-btn li>a img {
    width: 25px;
    filter: invert(57%) sepia(73%) saturate(1407%) hue-rotate(294deg) brightness(95%) contrast(104%);
} */

.header-menu-btn li>a svg {
    width: 25px;
    fill: var(--color-main);
    transition: .3s;
}

.header-menu-btn li:hover>a {
    color: var(--color-neutral-dark);
    background-color: var(--color-main);
}

/* .header-menu-btn li:hover a img {
    filter: invert(4%) sepia(28%) saturate(7107%) hue-rotate(311deg) brightness(108%) contrast(97%);
} */
.header-menu-btn li:hover>a svg {
    fill: var(--color-neutral-dark);
}

.header-search-box {
    position: absolute;
    right: 0;
    top: calc(100% + 16px);
    border-top: 2px solid #fff;
    z-index: 1;
    background: var(--color-neutral-dark);
    width: 385px;
    padding: 10px;
    display: none;
}

.header-menu-btn .header-search:hover .header-search-box {
    display: block;
}

.header-menu-btn .header-search:hover::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: -16px;
    width: 100%;
    height: 20px;
    background: transparent;
}

.header-menu-btn .sp-menu {
    display: none;
}

.header-search-box .gsc-search-box {
    margin: 0 !important;
}

.header-search-box form {
    display: flex;
    justify-content: space-between;
    height: auto;
    width: 100%;
}

.header-search-box input[type="text"] {
    width: calc(100% - 44px);
    border: none;
    background: #fff;
    line-height: 34px;
    height: 34px;
    padding: 0 10px;
}

.header-search-box input[type="submit"] {
    width: 44px;
    background: var(--color-main);
    border: none;
    box-shadow: none;
    line-height: 34px;
    height: 34px;
    cursor: pointer;
}

.header-search-box .gsc-input-box {
    border: none !important;
}

.header-search-box .gsib_a {
    padding: 0 !important;
    border: none !important;
    line-height: 34px;
    height: 34px;
}

.header-search-box .gsc-input {
    width: calc(100% - 44px);
    line-height: 34px;
    height: 34px;
    padding: 0 !important;
    border: none !important;
}

.header-search-box .gsc-search-button {
    width: 44px;
    padding: 0 !important;
    border: none !important;
}

.header-search-box .gsc-search-button button {
    width: 44px;
    background: var(--color-main);
    margin: 0 !important;
    border: none;
    box-shadow: none;
    line-height: 34px;
    height: 34px;
    cursor: pointer;
    border-radius: 0;
}

.header-search-box .gsc-search-button button::before {
    content: '検索';
    display: block;
    text-align: center;
    font-size: 14px;
}

.header-search-box .gsc-search-button svg {
    display: none;
}

.header-search-box .gsib_a input[type="text"] {
    width: 100%;
    padding: 0 10px !important;
    border: none !important;
    margin: 0 !important;
    line-height: 34px !important;
    height: 34px !important;
    background: #fff !important;
    outline: none;
}

#sp_menu {
    display: none;
}

@media only screen and (min-width:768px)and (max-width:1320px) {
    .header-inner {
        max-width: calc(100% - 20px);
        padding: 16px 10px;
    }

    .header-logo {
        width: 180px;
    }

    .header-logo>a {
        font-size: 10px
    }

    .header-menu {
        width: 780px;
    }

    .header-navi {
        width: 630px;
    }

    .header-contact {
        width: 280px;
    }

    .header-contact li {
        width: 139px;
        margin-left: 1px;
    }

    #global_navi li>a {
        font-size: 14px;
    }
}

@media only screen and (min-width:768px)and (max-width:1024px) {
    #header {
        width: 100%;
        top: 0;
    }

    .header-inner {
        width: 100%;
        max-width: 100%;
        padding: 16px 10px;
        box-shadow: none;
    }

    .header-navi {
        display: none;
    }

    .header-menu {
        width: 160px;
        cursor: pointer;
    }

    .header-menu-btn {
        width: 160px;
    }

    .header-menu-btn .sp-menu .on {
        display: none;
    }

    .header-menu-btn .sp-menu.open .off {
        display: none;
    }

    .header-menu-btn .sp-menu.open .on {
        display: block;
    }

    .header-menu-btn li>a {
        width: 78px;
        height: 78px;
    }

    .header-menu-btn .header-search {
        display: none;
    }

    .header-menu-btn .sp-menu {
        display: flex;
    }

    #sp_menu {
        display: block;
        background: #fff;
        position: absolute;
        right: 0;
        top: 100%;
        width: 60%;
        height: calc(100vh - 100%);
        overflow-y: auto;
        transform: translateX(100%);
        transition: .5s;
    }

    #sp_menu.open {
        transform: translateX(0%);
    }

    #sp_menu a {
        text-decoration: none;
    }

    #sp_menu .sp-menu-inner {
        padding: 20px;
    }

    #sp_menu .header-search-box {
        position: static;
        width: 100%;
        height: auto;
        padding: 10px;
        display: block;
    }

    #sp_navi {
        border-top: 1px solid #adaba6;
        margin-top: 30px;
    }

    #sp_navi p {
        border-bottom: 1px solid #adaba6;
        font-size: 16px;
    }

    #sp_navi .sp-navi-ac {
        cursor: pointer;
    }

    #sp_navi .sp-navi-ac.open {
        border-bottom: 1px solid #eaeae9;
    }

    #sp_navi p a {
        font-size: 16px;
        line-height: 3em;
        display: block;
        position: relative;
    }

    #sp_navi .sp-navi-ac a::after {
        content: '';
        display: block;
        width: 10px;
        height: 10px;
        border-bottom: 1px solid var(--color-neutral-dark);
        border-right: 1px solid var(--color-neutral-dark);
        position: absolute;
        right: 20px;
        top: calc(50% - 6px);
        transform: rotate(45deg);
    }

    #sp_navi .sp-navi-ac.open a::after {
        top: calc(50% - 1vw);
        transform: rotate(-135deg);
    }

    #sp_navi .sp-navi-ac_content {
        display: none;
    }

    #sp_navi .sp-navi-ac_content li {
        border-bottom: 1px solid #eaeae9;
    }

    #sp_navi .sp-navi-ac_content li:last-child {
        border-bottom: 1px solid #adaba6;
    }

    #sp_navi .sp-navi-ac_content a {
        font-size: 14px;
        line-height: 3em;
        display: block;
    }

    #sp_menu .header-sp-link {
        background: #a9003e;
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding: 20px 15px;
    }

    #sp_menu .header-sp-link a {
        width: 48%;
        color: #a9003e;
        font-size: 16px;
        line-height: 3em;
        display: block;
        text-align: center;
        background: #fff;
    }

    #sp_menu .header-sp-sns {
        background: #222222;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 30px 60px;
    }

    #sp_menu .header-sp-sns li {
        margin: 0;
    }

    #sp_menu .header-sp-sns li img {
        width: auto;
        height: auto;
        max-width: 28px;
        max-height: 28px;
    }
}

@media only screen and (max-width:767px) {
    #header {
        width: 100%;
        top: 0;
    }

    .header-inner {
        width: 100%;
        max-width: 100%;
        padding: 3.3vw;
        box-shadow: none;
    }

    .header-logo {
        width: 44vw;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    .header-logo span {
        width: 16vw;
        padding-right: 2vw;
        border-right: 1px solid #d8cdd4;
    }

    .header-logo>a {
        border-top: none;
        margin-top: 0;
        padding-top: 0;
        margin-left: 2vw;
        font-size: 2.2vw;
        line-height: 3vw;
        text-align: left;
    }

    .header-navi {
        display: none;
    }

    .header-menu {
        width: 23vw;
    }

    .header-menu-btn {
        width: 23vw;
    }

    .header-menu-btn li {
        width: 11vw;
    }

    .header-menu-btn>li>a {
        width: 11vw;
        height: 11vw;
        font-size: 3.46vw;
    }

    .header-menu-btn .header-search {
        display: none;
    }

    .header-menu-btn .sp-menu {
        display: flex;
    }

    .header-menu-btn .sp-menu .on {
        display: none;
    }

    .header-menu-btn .sp-menu.open .off {
        display: none;
    }

    .header-menu-btn .sp-menu.open .on {
        display: block;
    }

    #sp_menu {
        display: block;
        background: #fff;
        position: absolute;
        right: 0;
        top: 100%;
        width: 100%;
        height: calc(100vh - 100%);
        overflow-y: auto;
        transform: translateX(100%);
        transition: .5s;
    }

    #sp_menu.open {
        transform: translateX(0%);
    }

    #sp_menu a {
        text-decoration: none;
    }

    #sp_menu .sp-menu-inner {
        padding: 4vw;
    }

    #sp_menu .header-search-box {
        position: static;
        width: 100%;
        height: auto;
        padding: 2vw;
        display: block;
    }

    .header-search-box .gsc-input-box {
        border: none !important;
        padding: 0 !important;
        border: none !important;
    }

    .header-search-box .gsib_a {
        padding: 0 !important;
        border: none !important;
        line-height: 8vw;
        height: 8vw;
    }

    .header-search-box .gsc-input {
        width: 100% !important;
        line-height: 8vw;
        height: 8vw;
        padding: 0 !important;
        border: none !important;
        font-size: 4vw;
    }

    .header-search-box .gsc-search-button {
        width: 12vw !important;
        padding: 0 !important;
        border: none !important;
    }

    .header-search-box .gsc-search-button button {
        width: 12vw;
        background: var(--color-main);
        margin: 0 !important;
        border: none;
        box-shadow: none;
        line-height: 8vw;
        height: 8vw;
        cursor: pointer;
        border-radius: 0;
    }

    .header-search-box .gsc-search-button button::before {
        content: '検索';
        display: block;
        text-align: center;
        font-size: 4vw;
    }

    .header-search-box .gsc-search-button svg {
        display: none;
    }

    .header-search-box .gsib_a input[type="text"] {
        width: 100%;
        padding: 0 1.5vw !important;
        border: none !important;
        margin: 0 !important;
        line-height: 8vw !important;
        height: 8vw !important;
        background: #fff !important;
        outline: none;
    }

    #sp_navi {
        border-top: 1px solid #adaba6;
        margin-top: 6vw;
    }

    #sp_navi p {
        border-bottom: 1px solid #adaba6;
        font-size: 4.26vw;
    }

    #sp_navi .sp-navi-ac {
        cursor: pointer;
    }

    #sp_navi .sp-navi-ac.open {
        border-bottom: 1px solid #eaeae9;
    }

    #sp_navi p a {
        font-size: 4.26vw;
        line-height: 3em;
        display: block;
        position: relative;
    }

    #sp_navi .sp-navi-ac a::after {
        content: '';
        display: block;
        width: 2vw;
        height: 2vw;
        border-bottom: 1px solid var(--color-neutral-dark);
        border-right: 1px solid var(--color-neutral-dark);
        position: absolute;
        right: 4vw;
        top: calc(50% - 1.2vw);
        transform: rotate(45deg);
    }

    #sp_navi .sp-navi-ac.open a::after {
        top: calc(50% - 1vw);
        transform: rotate(-135deg);
    }

    #sp_navi .sp-navi-ac_content {
        display: none;
    }

    #sp_navi .sp-navi-ac_content li {
        border-bottom: 1px solid #eaeae9;
    }

    #sp_navi .sp-navi-ac_content li:last-child {
        border-bottom: 1px solid #adaba6;
    }

    #sp_navi .sp-navi-ac_content a {
        font-size: 3.73vw;
        line-height: 3em;
        display: block;
    }

    #sp_menu .header-sp-link {
        background: #a9003e;
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding: 6vw 4vw;
    }

    #sp_menu .header-sp-link a {
        width: 43.6vw;
        color: #a9003e;
        font-size: 3.73vw;
        line-height: 3em;
        display: block;
        text-align: center;
        background: #fff;
    }

    #sp_menu .header-sp-sns {
        background: #222222;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 9vw 14vw;
    }

    #sp_menu .header-sp-sns li {
        margin: 0;
    }

    #sp_menu .header-sp-sns li img {
        width: auto;
        height: auto;
        max-width: 8vw;
        max-height: 8vw;
    }
}


/* フッター */

#footer {
    background: #1a1a1a;
}

#footer a {
    color: #ffffff;
}

#footer .footer-top {
    padding: 50px 0;
    background: #222222;
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
}

#footer .footer-nav {
    max-width: 1200px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}

#footer .footer-link {
    width: 170px;
}

#footer .footer-link p {
    padding: 20px 0 10px;
    border-bottom: 1px solid #4b4b4b;
}

#footer .footer-link p a {
    font-size: 16px;
}

#footer .footer-link ul li {
    padding-top: 15px;
}

#footer .footer-link ul a {
    font-size: 13px;
    line-height: 1.4em;
}

#footer .footer-link a:hover {
    color: var(--color-main);
    text-decoration: none;
}

#footer .footer-bottom {
    padding: 30px 0;
    max-width: 1200px;
    margin: auto;
}

#footer .footer-flex01 {
    border-bottom: 1px solid #454545;
    padding-bottom: 30px;
    display: flex;
    justify-content: space-between;
}

#footer .footer-flex02 {
    padding-top: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#footer .footer-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#footer .footer-logo {
    margin-right: 20px;
}

#footer .footer-address {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    color: #fff;
    font-size: 14px;
}

#footer .footer-sns {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#footer .footer-sns li {
    margin: 0 10px;
}

#footer .footer-sns li a:hover {
    opacity: .7;
}

#footer .footer-menu {
    display: flex;
    justify-content: flex-start;
}

#footer .footer-menu li {
    margin-right: 20px;
}

#footer .footer-menu li a {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-size: 13px;
}

#footer .footer-menu a:hover {
    color: var(--color-main);
    text-decoration: none;
}

#footer .copyright {
    color: #fff;
    font-size: 12px;
}

@media only screen and (min-width:1025px)and (max-width:1320px) {
    #footer .footer-top {
        padding: 50px 10px;
    }

    #footer .footer-link {
        width: 15%;
    }

    #footer .footer-link p a {
        font-size: 15px;
    }

    #footer .footer-link ul a {
        font-size: 12px;
    }

    #footer .footer-bottom {
        padding: 30px 10px;
    }
}

@media only screen and (min-width:768px)and (max-width:1024px) {
    #footer .footer-nav {
        padding: 0 10px;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    #footer .footer-link {
        width: 23%;
        margin: 10px 1%;
    }

    #footer .footer-bottom {
        padding: 30px 10px;
    }

    #footer .footer-flex01 {
        display: block;
    }

    #footer .footer-flex02 {
        display: block;
    }

    #footer .footer-box {
        display: block;
        text-align: center;
    }

    #footer .footer-logo {
        margin: 20px auto;
    }

    #footer .footer-address {
        margin: 20px auto 30px;
        padding-bottom: 30px;
        border-bottom: 1px solid #454545;
    }

    #footer .footer-sns {
        width: 350px;
        margin: auto;
    }

    #footer .footer-menu {
        display: flex;
        justify-content: space-evenly;
        margin-bottom: 20px;
    }

    #footer .footer-menu li {
        margin-right: 0;
    }

    #footer .copyright {
        text-align: center;
    }
}

@media only screen and (max-width:767px) {
    #footer {
        background: #222222;
        padding: 14vw 4vw 24vw;
    }

    #footer .footer-top {
        display: none;
    }

    #footer .footer-bottom {
        padding: 0;
    }

    #footer .footer-flex01 {
        /* padding-bottom: 8vw; */
        padding-bottom: 0;
        border-bottom: none;

        display: block;
    }

    #footer .footer-flex02 {
        padding-top: 8vw;
        display: block;
    }

    #footer .footer-box {
        display: block;
    }

    #footer .footer-logo {
        margin-right: 0;
        text-align: center;
    }

    #footer .footer-address {
        text-align: center;
        font-size: 3.2vw;
        padding: 4vw 0 6vw;
        /* margin-bottom: 8vw; */
        border-bottom: 1px solid #454545;
    }

    #footer .footer-sns {
        width: 80vw;
        margin: auto;
    }

    #footer .footer-sns li {
        margin: 0 1vw;
    }

    #footer .footer-sns li img {
        width: auto;
        height: auto;
        max-width: 8vw;
        max-height: 8vw;
    }

    #footer .footer-menu {
        justify-content: center;
    }

    #footer .footer-menu li {
        margin-right: 3vw;
    }

    #footer .footer-menu li a {
        font-size: 3.2vw;
    }

    #footer .copyright {
        text-align: center;
        font-size: 2.94vw;
        padding-top: 4vw;
    }

    #footer .footer-fixed {
        position: fixed;
        z-index: 10;
        left: 0;
        bottom: 0;
        width: 100%;
        background: #aa003e;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    #footer .footer-fixed a {
        width: 50%;
        padding: 4vw;
        font-size: 3vw;
        line-height: 10vw;
        text-align: center;
    }

    #footer .footer-fixed a:last-child {
        border-left: 1px solid #000;
    }

    #footer .footer-fixed a .icon-pdf {
        width: auto;
        height: 4.6vw;
        margin-right: 2vw;
        vertical-align: middle;
    }

    #footer .footer-fixed a .icon-mail {
        width: auto;
        height: 3.3vw;
        margin-right: 2vw;
        vertical-align: middle;
    }
}


/* コンテンツ共通 */

.contents-wrap h1 {
    font-family: din-2014, sans-serif !important;
    font-style: normal;
    font-weight: 200;
    font-size: 80px;
    line-height: 1em;
}

.contents-wrap h2,
.contents-wrap h3,
.contents-wrap h4,
.contents-wrap h5,
.contents-wrap p {
    font-feature-settings: "palt";
}

.contents-wrap h2 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 32px;
    line-height: 1.8em;
    font-weight: 400;
}

.contents-wrap h3 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 24px;
}

.contents-wrap h4 {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 20px;
}

.contents-wrap h5 {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 18px;
}

.contents-wrap p {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 14px;
}

.contents-wrap p.mv-bg {
    font-family: din-2014, sans-serif !important;
    font-style: normal;
    font-weight: 200;
    font-size: 200px;
    color: var(--color-neutral-dark);
    line-height: 1em;
    word-break: keep-all;
    white-space: nowrap
}

.contents-wrap p.mv-txt01 {
    font-size: 18px;
}

.contents-wrap p.caution {
    font-size: 12px;
}


/*MV*/

.contents-wrap #mv {
    width: 100%;
    background-color: var(--color-main);
    min-height: 433px;
    padding-top: 130px;
    box-sizing: border-box;
    overflow: hidden;
    margin-bottom: 80px;
    position: relative;
    display: flex;
    align-items: center;
}

.contents-wrap #mv p.mv-bg {
    opacity: 0.1;
    width: 2000px;
    text-align: center;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 180px;
}

.contents-wrap #mv .title-box {
    width: 100%;
    text-align: center;
    position: relative;
    margin: auto;
    padding-top: 30px;
}

.contents-wrap #mv p.mv-txt01 {
    width: 100%;
    text-align: center;
    padding-top: 0;
}


/*contents*/

.contents-wrap .inner {
    max-width: 1280px;
    width: 100%;
    margin: auto;
    padding: 0 40px;
}


/*text*/

.contents-wrap .textbox {
    margin-bottom: 80px;
}

.contents-wrap .textbox h2,
.contents-wrap .textbox h3,
.contents-wrap .textbox h4,
.contents-wrap .textbox h5 {
    margin-bottom: 25px;
    box-sizing: border-box;
}

.contents-wrap .textbox p {
    margin-bottom: 30px;
}

.contents-wrap .textbox h2 {
    width: 100%;
    border-bottom: 2px solid #d8cdd4;
    vertical-align: top;
    text-indent: -0.5em;
    padding-bottom: 3px;
    padding-left: 0.5em;
}

.contents-wrap .textbox h2::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 37px;
    background-color: var(--color-main);
    margin-right: 0.5em;
    vertical-align: top;
    margin-top: 10px;
}

.contents-wrap .textbox h3 {
    background-color: #eeebe4;
    width: 100%;
    padding: 2px 0.625em;
}

.contents-wrap .textbox h4 {
    border-bottom: 2px solid #c21500;
    border-image: linear-gradient(to right, var(--color-main) 0%, var(--color-main) 40px, #d8cdd4 40px);
    border-image-slice: 1;
    padding-bottom: 0.5em;
}

.contents-wrap .textbox h5 {
    border-top: 2px solid #d8cdd4;
    border-bottom: 2px solid #d8cdd4;
    padding: 0.5em 0;
}


/*images*/

.contents-wrap .column {
    margin-bottom: 65px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}

.contents-wrap .column picture {
    display: block;
    margin-bottom: 15px;
    width: 100%;
}

.contents-wrap .column h4 {
    border: none;
    padding-bottom: 10px;
    margin-bottom: 0;
}

.contents-wrap .column.column2 .column-box {
    width: 48%;
}

.contents-wrap .column.column3 .column-box {
    width: 31%;
}

.contents-wrap .column.column4 .column-box {
    width: 23.5%;
}


/*index*/

.contents-wrap .index-box {
    display: flex;
    justify-content: center;
    align-items: stretch;
    margin-bottom: 80px;
}

.contents-wrap .index-box .index {
    width: 22.5%;
    display: block;
    margin-right: 3.33%;
}

.contents-wrap .index-box .index::last-child {
    margin-right: 0;
}

.contents-wrap .index-box .index a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--color-neutral-dark);
    padding: 0.5em 8.89%;
    box-sizing: border-box;
    min-height: 66px;
    text-decoration: none;
}

.contents-wrap .index-box .index a::after {
    content: "";
    left: 3px;
    width: 6px;
    height: 6px;
    border-top: 2px solid var(--color-main);
    border-right: 2px solid var(--color-main);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.contents-wrap .index-box .index a span {
    width: calc(100% - 8px);
    color: var(--color-main);
    font-size: 17px;
}

.contents-wrap .index-box .index a:hover {
    background-color: var(--color-main);
}

.contents-wrap .index-box .index a:hover::after {
    border-top: 2px solid var(--color-neutral-dark);
    border-right: 2px solid var(--color-neutral-dark);
}

.contents-wrap .index-box .index a:hover span {
    color: var(--color-neutral-dark);
}

.contents-wrap .index-box .index .index-txt {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    border: 1px solid #d8cdd4;
    padding: 22px 24px;
    box-sizing: border-box;
}

.contents-wrap .index-box .index .index-txt p {
    width: 100%;
    background: inherit;
    margin-bottom: 0;
}


/*ボタン*/

.contents-wrap .btn-box1>div,
.contents-wrap .btn-box2>div {
    margin-bottom: 30px;
}

.contents-wrap .btn {
    display: block;
    width: 280px;
    background-color: var(--color-neutral-dark);
    text-align: center;
    padding: 20px 1em;
    position: relative;
    text-decoration: none;
}

.contents-wrap .btn span {
    color: var(--color-main);
    font-family: din-2014, sans-serif;
    font-size: 16px;
    line-height: 1.2em;
}

.contents-wrap .btn::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: 16px;
    margin: auto;
}

.contents-wrap .btn.normal-btn::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--color-main);
    border-right: 2px solid var(--color-main);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.contents-wrap .btn.external-btn::after {
    content: url(/cle/common/img/guide/open_in_new_y.png);
    width: 14px;
    height: 14px;
}

.contents-wrap .btn.pdf-btn::after {
    content: url(/cle/common/img/guide/pdf_icon_y.png);
    width: 18px;
    height: 16px;
}

.contents-wrap .btn.back-btn::after {
    content: "";
    left: 16px;
    right: auto;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--color-main);
    border-right: 2px solid var(--color-main);
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}

.contents-wrap .btn.modal-btn::after {
    content: url(/cle/common/img/guide/modal_icon_y.png);
    width: 15px;
    height: 12px;
}


/*ボタン ホバー*/

.contents-wrap .btn:hover {
    background-color: var(--color-main);
}

.contents-wrap .btn:hover span {
    color: var(--color-neutral-dark);
}

.contents-wrap .btn.normal-btn:hover::after {
    content: "";
    border-top: 2px solid var(--color-neutral-dark);
    border-right: 2px solid var(--color-neutral-dark);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.contents-wrap .btn.external-btn:hover::after {
    content: url(/cle/common/img/guide/open_in_new_g.png);
}

.contents-wrap .btn.pdf-btn:hover::after {
    content: url(/cle/common/img/guide/pdf_icon_g.png);
}

.contents-wrap .btn.back-btn:hover::after {
    content: "";
    border-top: 2px solid var(--color-neutral-dark);
    border-right: 2px solid var(--color-neutral-dark);
}

.contents-wrap .btn.modal-btn:hover::after {
    content: url(/cle/common/img/guide/modal_icon_g.png);
}


/*ボタン フレームなし*/

.contents-wrap .btn-no-frame {
    position: relative;
    text-decoration: none;
    padding: 0 35px 0 0;
    line-height: 1.2em;
    display: inline-block;
}

.contents-wrap .btn-no-frame span {
    color: var(--color-neutral-dark);
    font-family: din-2014, sans-serif;
    font-size: 16px;
    line-height: 1em;
}

.contents-wrap .btn-no-frame::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: 0;
    margin: auto;
}

.contents-wrap .btn-no-frame.normal-btn::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--color-neutral-dark);
    border-right: 2px solid var(--color-neutral-dark);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.contents-wrap .btn-no-frame.external-btn::after {
    content: url(/cle/common/img/guide/open_in_new_g.png);
    width: 14px;
    height: 14px;
}

.contents-wrap .btn-no-frame.pdf-btn::after {
    content: url(/cle/common/img/guide/pdf_icon_g.png);
    width: 18px;
    height: 16px;
}

.contents-wrap .btn-no-frame.back-btn {
    padding: 0 0 0 35px;
}

.contents-wrap .btn-no-frame.back-btn::after {
    content: "";
    left: 0;
    right: auto;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--color-neutral-dark);
    border-right: 2px solid var(--color-neutral-dark);
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}

.contents-wrap .btn-no-frame.modal-btn::after {
    content: url(/cle/common/img/guide/modal_icon_g.png);
    width: 15px;
    height: 12px;
}


/*ボタン フレームなし ホバー*/

.contents-wrap .btn-no-frame:hover span {
    color: var(--color-main);
}

.contents-wrap .btn-no-frame.normal-btn:hover::after {
    content: "";
    border-top: 2px solid var(--color-main);
    border-right: 2px solid var(--color-main);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.contents-wrap .btn-no-frame.external-btn:hover::after {
    content: url(/cle/common/img/guide/open_in_new_y.png);
}

.contents-wrap .btn-no-frame.pdf-btn:hover::after {
    content: url(/cle/common/img/guide/pdf_icon_y.png);
}

.contents-wrap .btn-no-frame.back-btn:hover::after {
    content: "";
    border-top: 2px solid var(--color-main);
    border-right: 2px solid var(--color-main);
}

.contents-wrap .btn-no-frame.modal-btn:hover::after {
    content: url(/cle/common/img/guide/modal_icon_y.png);
}

@media only screen and (max-width:767px) {
    .contents-wrap h1 {
        font-size: 13.33vw;
    }

    .contents-wrap h2 {
        font-size: 6.4vw;
    }

    .contents-wrap h3 {
        font-size: 5.33vw;
    }

    .contents-wrap h4 {
        font-size: 4.8vw;
    }

    .contents-wrap h5 {
        font-size: 4.27vw;
    }

    .contents-wrap p {
        font-size: 3.73vw;
    }

    .contents-wrap p.mv-bg {
        font-size: 26vw;
    }

    .contents-wrap p.mv-txt01 {
        font-size: 3.73vw;
    }

    .contents-wrap p.caution {
        font-size: 3.2vw;
    }

    /*MV*/
    .contents-wrap #mv {
        min-height: 53.33vw;
        padding-top: 0;
        margin-bottom: 10.67vw;
    }

    .contents-wrap #mv p.mv-bg {
        opacity: 0.1;
        width: 2000px;
        height: 1em;
        line-height: 1em;
        text-align: center;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        padding-top: 0;
        margin: auto;
    }

    .contents-wrap #mv .title-box {
        padding-top: 4vw;
    }

    .contents-wrap #mv .title-box h1 {
        line-height: 1.2em;
    }

    .contents-wrap #mv p.mv-txt01 {
        width: 100%;
        padding-top: 0em;
    }

    /*contents*/
    .contents-wrap .inner {
        max-width: none;
        width: 100%;
        margin: auto;
        padding: 0 4%;
    }

    /*text*/
    .contents-wrap .textbox {
        margin-bottom: 14.67vw;
    }

    .contents-wrap .textbox h2,
    .contents-wrap .textbox h3,
    .contents-wrap .textbox h4,
    .contents-wrap .textbox h5 {
        margin-bottom: 8vw;
        box-sizing: border-box;
    }

    .contents-wrap .textbox p {
        margin-bottom: 30px;
    }

    .contents-wrap .textbox h2 {
        border-bottom: 0.53vw solid #d8cdd4;
        text-indent: -0.5em;
        padding-bottom: 0;
        padding-left: 0.3em;
    }

    .contents-wrap .textbox h2::before {
        content: "";
        width: 0.53vw;
        height: 0.83em;
        margin-right: 0.5em;
        margin-top: 0.5em;
    }

    .contents-wrap .textbox h3 {
        padding: 0.1em 0.24em;
    }

    .contents-wrap .textbox h4 {
        border-bottom: 0.53vw solid #c21500;
        border-image: linear-gradient(to right, var(--color-main) 0%, var(--color-main) 40px, #d8cdd4 40px);
        border-image-slice: 1;
        padding-bottom: 0.5em;
    }

    .contents-wrap .textbox h5 {
        border-top: 0.53vw solid #d8cdd4;
        border-bottom: 0.53vw solid #d8cdd4;
        padding: 0.19em 0;
    }

    /*images*/
    .contents-wrap .column {
        margin-bottom: 0;
    }

    .contents-wrap .column .column-box {
        margin-bottom: 10vw;
    }

    .contents-wrap .column picture {
        display: block;
        margin-bottom: 6.67vw;
        width: 100%;
    }

    .contents-wrap .column h4 {
        border: none;
        padding-bottom: 10px;
        margin-bottom: 0;
    }

    .contents-wrap .column p {
        margin-bottom: 0;
    }

    .contents-wrap .column.column2 .column-box {
        width: 48%;
    }

    .contents-wrap .column.column3 .column-box {
        width: 48%;
    }

    .contents-wrap .column.column4 .column-box {
        width: 48%;
    }

    /*index*/
    .contents-wrap .index-box {
        display: block;
    }

    .contents-wrap .index-box .index {
        width: 100%;
        margin-bottom: 8.53vw;
        margin-right: 0;
    }

    .contents-wrap .index-box .index a {
        width: 100%;
        padding: 1em 3.33vw;
        min-height: none;
    }

    .contents-wrap .index-box .index a::after {
        content: "";
        left: 3px;
        width: 1.2vw;
        height: 1.2vw;
        border-top: 0.35vw solid var(--color-main);
        border-right: 0.35vw solid var(--color-main);
    }

    .contents-wrap .index-box .index a span {
        font-size: 4.27vw;
    }

    .contents-wrap .index-box .index a:hover::after {
        border-top: 0.35vw solid var(--color-neutral-dark);
        border-right: 0.35vw solid var(--color-neutral-dark);
    }

    .contents-wrap .index-box .index .index-txt {
        width: 100%;
        height: auto;
        display: block;
        border: 1px solid #d8cdd4;
        padding: 22px 24px;
        box-sizing: border-box;
    }

    .contents-wrap .index-box .index .index-txt p {
        width: 100%;
        background: inherit;
        margin-bottom: 0;
    }

    /*ボタン*/
    .contents-wrap .btn {
        width: 80%;
        margin: auto;
    }
}


/*パンくず*/

#container .breadcrumb {
    width: 100%;
    border-top: 1px solid #d8cdd4;
}

#container .breadcrumb-list {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    font-size: 13px;
}

#container .breadcrumb-list::after {
    display: block;
    content: '';
    width: 100%;
    height: 0;
    clear: both;
}

#container .breadcrumb-list li {
    margin-right: 10px;
    padding: 10px 0 10px 20px;
    position: relative;
    color: var(--color-main);
    list-style: none !important;
    float: left;
}

#container .breadcrumb-list li::before {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 1px solid var(--color-main);
    border-bottom: 1px solid var(--color-main);
    transform: rotate(-45deg);
    position: absolute;
    left: 0;
    top: calc(50% - 5px);
}

#container .breadcrumb-list li:first-child {
    padding-left: 0;
}

#container .breadcrumb-list li:first-child::before {
    display: none;
}

#container .breadcrumb-list li a {
    color: var(--color-neutral-dark);
}

@media only screen and (max-width:1320px) {
    #container .breadcrumb-list {
        padding: 0 10px;
    }
}

@media only screen and (max-width:767px) {
    #container .breadcrumb-list {
        font-size: 3vw;
        padding: 0 4vw 1.5vw;
    }

    #container .breadcrumb-list li {
        margin-right: 1.5vw;
        padding: 1.5vw 0 0 3vw;
    }

    #container .breadcrumb-list li::before {
        width: 1.6vw;
        height: 1.6vw;
        /* top: calc(50% - .8vw); */
        top: 3vw;
    }
}


/* 2023/03/23 maeda_custom */

.cOrange {
    color: #f2843b;
}

.pageScrollNav {
    margin-bottom: 3em;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 1.8rem;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
}

.pageScrollNav>* {
    width: 23%;
    line-height: 1.4;
}

.pageScrollNav::after {
    content: "";
    display: block;
    width: 23%;
}

.pageScrollNav a {
    display: block;
    height: 100%;
    padding: .75em 1.25em .75em 0;
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
    text-decoration: none;
    border-bottom: 1px solid #d8cdd4;
    position: relative;
}

.pageScrollNav a::after {
    content: "";
    display: block;
    width: .5em;
    height: .5em;
    position: absolute;
    right: .25em;
    top: 0;
    bottom: 0;
    margin: auto;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
    transition: .4s;
}

.pageScrollNav a:hover {
    color: var(--color-main);
}

.pageScrollNav a:hover::after {
    border-color: var(--color-main);
}

@media (max-width:767px) {
    .pageScrollNav a {
        /* font-size: 4vw; */
        font-size: min(4.26vw, 18px);
    }

    .pageScrollNav a::after {
        transform: rotate(-45deg) scale(.75);
    }

    .pageScrollNav>*,
    .pageScrollNav::after {
        width: 100%;
    }

    /* .pageScrollNav > *,
    .pageScrollNav::after{
        width: 48%;
    } */
}

[class*=ableWrap] {
    width: 100%;
    margin: 2em 0 1em;
    overflow: auto;
    position: relative;
    transition: .6s;
}

[class*=ableWrap] table {
    width: 100%;
}

.bigTableWrap table {
    min-width: 1200px;
}

[class*=ableWrap]+h3 {
    margin-top: 2em;
}

[class*=ableWrap] table {
    font-size: 0.8em;
    font-feature-settings: "palt";
}

[class*=ableWrap] th,
[class*=ableWrap] td {
    line-height: 1.3;
    vertical-align: middle;
    padding: 0.75em;
}

[class*=ableWrap].tdTac td {
    text-align: center;
}

[class*=ableWrap] tr:first-child th {
    border-bottom: 1px solid #fff;
}

[class*=ableWrap] th:not(.verticalCel) {
    min-width: 6em;
}

[class*=ableWrap] td {
    border: 1px solid #d8cdd4;
}

[class*=ableWrap] td li {
    line-height: 1.25;
}

[class*=ableWrap] td li+li {
    margin-top: 0.4em;
}

[class*=ableWrap] th {
    border: 1px solid #fff;
    border-left: none;
}

.yellowHeadline th {
    background-color: var(--color-main);
}

.greenHeadline th {
    background-color: #c0e2af;
}

.grayHeadline th {
    border: 1px solid #d8cdd4;
    background-color: #f3f1eb;
}

.grayHeadline_headOnly tr:first-of-type th {
    background-color: #f3f1eb;
}

.grayHeadline_headOnly th,
.grayHeadline_headOnly td {
    padding: 1em 1.25em;
    border: 1px solid #d8cdd4;
}

.grayHeadline_headOnly th:first-of-type {
    text-align: left;
}

[class*=ableWrap] th.ashCell {
    background-color: #f3f1eb;
    border: 1px solid #d8cdd4;
}

.bigTableWrap .verticalCel {
    width: 1em;
    line-height: 1;
    padding: 1em;
}

.bigTableWrap .verticalCel.pSticky {
    position: -webkit-sticky;
    position: sticky;
    left: -1px;
    top: 0;
    z-index: 2;
}

.bigTableWrap .verticalCel:not(.pSticky):first-child {
    border-bottom: none;
}

@media (max-width:1294px) {
    .bigTableWrap {
        box-shadow: inset 0em 0 1em 0 #aaa;
    }
}

@media (max-width:767px) {
    .bigTableWrap table {
        font-size: 10px;
    }
}



/* スマートフォン回転時 */
@media (orientation: landscape)and (max-width:1024px) {
    .header-inner {
        padding: 2vh;
        box-shadow: none;
    }

    .header-logo {
        width: 60vw;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    .header-logo span {
        width: 16vh;
        border-right: 1px solid #d8cdd4;
        padding-right: 3vh;
    }

    .header-logo span img.pc {
        display: none !important;
    }

    .header-logo span img.sp {
        display: block !important;
    }

    .header-logo>a {
        border-top: none;
        margin-top: 0;
        padding-top: 0;
        margin-left: 3vh;
        font-size: 4vh;
        line-height: 5vw;
        text-align: left;
    }

    .header-menu {
        width: 25vh;
    }

    .header-menu-btn {
        width: 25vh;
    }

    .header-menu-btn li {
        width: 12vh;
    }

    .header-menu-btn>li>a {
        width: 12vh;
        height: 12vh;
        font-size: 5vh;
    }

    #footer {
        padding: 14vw 4vw 4vw;
    }

    #footer .footer-fixed {
        display: none;
    }
}

@charset "UTF-8";

/* 共通 */

:root {
    --color-main: #b7dc59;
    --color-main-rgb: 183, 220, 89;
    --color-neutral-dark: #0a312a;
    --color-neutral-dark-rgb: 10, 49, 42;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
input,
select,
textarea {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    color: var(--color-neutral-dark);
    font-size: 100%;
    line-height: 1.8em;
    font-style: normal;
    font-weight: 500;
    vertical-align: bottom;
    background: 0 0;
    box-sizing: border-box
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section {
    display: block
}

ul,
li {
    list-style: none
}

nav li:before {
    content: ""
}

a {
    text-decoration: none;
    color: #333333;
    transition: .3s;
}

a:hover {
    text-decoration: underline
}

html {
    font-size: 62.5%;
    overflow: auto
}

html.is-fixed {
    overflow: hidden
}

body {
    min-width: 320px;
    font-size: 1.4rem;
    font-family: 'Noto Sans JP', sans-serif;
    -webkit-text-size-adjust: 100%
}

*:focus {
    outline: none
}

small {
    font-size: .8em;
    vertical-align: baseline
}

img {
    max-width: 100%;
}

.shingo {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-style: normal;
    font-weight: 300;
}

.din {
    font-family: din-2014, sans-serif !important;
    font-style: normal;
    font-weight: 200;
}

.sp {
    display: none;
}

@media only screen and (min-width:768px)and (max-width:1320px) {}

@media only screen and (min-width:768px)and (max-width:1024px) {
    .menuopen #container::after {
        content: '';
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #000;
        opacity: .5;
        z-index: 1;
    }
}

@media only screen and (max-width:767px) {
    body {
        font-size: 1.4rem;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}


/* ヘッダー */

#header {
    width: 100%;
    position: fixed;
    left: 0;
    right: 0;
    top: 24px;
    z-index: 100;
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1286px;
    margin: auto;
    padding: 16px 32px;
    background: #fff;
    box-shadow: 0 0 10px 0 rgba(190, 190, 190, .7);
}

.header-logo {
    width: 212px;
    text-align: center;
}

.header-logo span {
    display: block;
}

.header-logo>a {
    border-top: 1px solid #d8cdd4;
    text-decoration: none;
    display: block;
    padding-top: .7em;
    margin-top: 1em;
    font-size: 12px;
    line-height: 1em;
    font-family: 'Noto Sans JP', sans-serif;
}

.header-menu {
    width: 830px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-navi {
    width: 668px;
}

.header-box {
    display: flex;
    justify-content: space-between;
}

.header-links {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 340px;
    border-bottom: 1px solid #d8cdd4;
    position: relative;
    z-index: 1;
}

.header-links li {
    margin-right: 30px;
    line-height: 34px;
    position: relative;
}

.header-links li a {
    font-size: 12px;
    line-height: 34px;
    text-decoration: none;
}

.header-links li a:hover {
    color: var(--color-main);
}

.header-links .megamenu-link>a {
    position: relative;
    padding-right: 20px;
}

.header-links .megamenu-link>a::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--color-neutral-dark);
    border-bottom: 2px solid var(--color-neutral-dark);
    position: absolute;
    right: 0;
    top: calc(50% - 8px);
    transform: rotate(45deg);
}

.header-links .megamenu-link:hover .megamenu-inner {
    display: flex;
}

.header-links .megamenu-box {
    width: 100%;
}

.header-links .megamenu-inner {
    background: #d8cdd4;
    position: absolute;
    z-index: -1;
    left: -1em;
    top: 100%;
    justify-content: space-between;
    display: none;
}

.header-links .megamenu-inner a {
    display: block;
}

.header-links .megamenu-inner a:hover {
    background: var(--color-main);
    color: var(--color-neutral-dark);
}

.header-links .megamenu-ttl01 a {
    font-size: 16px;
    padding: 10px 16px;
    position: relative;
}

.header-links .megamenu-ttl01 a::before {
    content: '';
    width: 8px;
    height: 14px;
    position: absolute;
    left: 0;
    top: calc(50% - 7px);
    background: var(--color-neutral-dark);
}

.header-links .megamenu-ttl02 a {
    font-size: 13px;
    padding: 12px 0 12px 16px;
}

.header-links .megamenu-list li {
    margin: 0;
}

.header-links .megamenu-list li a {
    font-size: 13px;
    line-height: 1.5em;
    padding: 8px 8px 8px 16px;
}

.header-contact {
    width: 318px;
    display: flex;
    justify-content: space-between;
}

.header-contact li {
    width: 158px;
    margin-left: 1px;
    display: flex;
}

.header-contact li a {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    line-height: 20px;
    color: #fff;
    line-height: 1em;
    padding: 6px;
    background: #aa003e;
    text-decoration: none;
    border: 1px solid #aa003e;
}

.header-contact li a:hover {
    background: #fff;
    color: #aa003e;
}

.header-contact li a .icon-pdf,
.header-contact li a .icon-pdf-hover {
    width: auto;
    height: 20px;
    margin-right: 8px;
}

.header-contact li a .icon-mail,
.header-contact li a .icon-mail-hover {
    width: auto;
    height: 14px;
    margin-right: 8px;
}

.header-contact li a .icon-pdf-hover,
.header-contact li a .icon-mail-hover,
.header-contact li a:hover .icon-pdf,
.header-contact li a:hover .icon-mail {
    display: none;
}

.header-contact li a:hover .icon-pdf-hover,
.header-contact li a:hover .icon-mail-hover {
    display: inline;
}

#global_navi {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
}

#global_navi li {
    margin-left: 20px;
    position: relative;
}

#global_navi li a {
    font-size: 16px;
    line-height: 1em;
    text-decoration: none;
    position: relative;
    display: block;
}

#global_navi>li:hover::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -16px;
    height: 8px;
    background: var(--color-main);
}

#global_navi>li:hover::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 16px;
    background: transparent;
}

#global_navi .megamenu-inner {
    background: #d8cdd4;
    position: absolute;
    z-index: -1;
    left: 0;
    top: calc(100% + 16px);
    justify-content: space-between;
    display: none;
}

#global_navi .megamenu-link>a {
    position: relative;
    padding-right: 20px;
}

#global_navi .megamenu-link>a::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--color-neutral-dark);
    border-bottom: 2px solid var(--color-neutral-dark);
    position: absolute;
    right: 0;
    top: calc(50% - 8px);
    transform: rotate(45deg);
}

#global_navi .megamenu-link:hover .megamenu-inner {
    display: flex;
}

#global_navi .megamenu-box {
    width: 50%;
}

#global_navi .megamenu-box.fit {
    width: 100%;
}

#global_navi .megamenu-inner a {
    display: block;
}

#global_navi .megamenu-inner a:hover {
    background: var(--color-main);
}

#global_navi .megamenu-ttl01 a {
    font-size: 16px;
    padding: 10px 16px;
    position: relative;
}

#global_navi .megamenu-ttl01 a::before {
    content: '';
    width: 8px;
    height: 14px;
    position: absolute;
    left: 0;
    top: calc(50% - 7px);
    background: var(--color-neutral-dark);
}

#global_navi .megamenu-ttl02 a {
    font-size: 13px;
    padding: 12px 0 12px 16px;
}

#global_navi .megamenu-list li {
    margin: 0;
}

#global_navi .megamenu-list li a {
    font-size: 13px;
    line-height: 1.5em;
    padding: 8px 8px 8px 16px;
}

.megamenu01 .megamenu-inner {
    width: 230px;
}

.megamenu02 .megamenu-inner {
    width: 460px;
}

.megamenu03 .megamenu-inner {
    width: 230px;
}

.megamenu04 .megamenu-inner {
    width: 230px;
}

.header-menu-btn {
    width: 138px;
    display: flex;
    justify-content: space-between;
}

.header-menu-btn li {
    position: relative;
}

.header-menu-btn>li>a {
    width: 68px;
    height: 68px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-main);
    font-size: 20px;
    background-color: var(--color-neutral-dark);
    text-decoration: none;
}

/* .header-menu-btn li>a img {
    width: 25px;
    filter: invert(57%) sepia(73%) saturate(1407%) hue-rotate(294deg) brightness(95%) contrast(104%);
} */

.header-menu-btn li>a svg {
    width: 25px;
    fill: var(--color-main);
    transition: .3s;
}

.header-menu-btn li:hover>a {
    color: var(--color-neutral-dark);
    background-color: var(--color-main);
}

/* .header-menu-btn li:hover a img {
    filter: invert(4%) sepia(28%) saturate(7107%) hue-rotate(311deg) brightness(108%) contrast(97%);
} */
.header-menu-btn li:hover>a svg {
    fill: var(--color-neutral-dark);
}

.header-search-box {
    position: absolute;
    right: 0;
    top: calc(100% + 16px);
    border-top: 2px solid #fff;
    z-index: 1;
    background: var(--color-neutral-dark);
    width: 385px;
    padding: 10px;
    display: none;
}

.header-menu-btn .header-search:hover .header-search-box {
    display: block;
}

.header-menu-btn .header-search:hover::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: -16px;
    width: 100%;
    height: 20px;
    background: transparent;
}

.header-menu-btn .sp-menu {
    display: none;
}

.header-search-box .gsc-search-box {
    margin: 0 !important;
}

.header-search-box form {
    display: flex;
    justify-content: space-between;
    height: auto;
    width: 100%;
}

.header-search-box input[type="text"] {
    width: calc(100% - 44px);
    border: none;
    background: #fff;
    line-height: 34px;
    height: 34px;
    padding: 0 10px;
}

.header-search-box input[type="submit"] {
    width: 44px;
    background: var(--color-main);
    border: none;
    box-shadow: none;
    line-height: 34px;
    height: 34px;
    cursor: pointer;
}

.header-search-box .gsc-input-box {
    border: none !important;
}

.header-search-box .gsib_a {
    padding: 0 !important;
    border: none !important;
    line-height: 34px;
    height: 34px;
}

.header-search-box .gsc-input {
    width: calc(100% - 44px);
    line-height: 34px;
    height: 34px;
    padding: 0 !important;
    border: none !important;
}

.header-search-box .gsc-search-button {
    width: 44px;
    padding: 0 !important;
    border: none !important;
}

.header-search-box .gsc-search-button button {
    width: 44px;
    background: var(--color-main);
    margin: 0 !important;
    border: none;
    box-shadow: none;
    line-height: 34px;
    height: 34px;
    cursor: pointer;
    border-radius: 0;
}

.header-search-box .gsc-search-button button::before {
    content: '検索';
    display: block;
    text-align: center;
    font-size: 14px;
}

.header-search-box .gsc-search-button svg {
    display: none;
}

.header-search-box .gsib_a input[type="text"] {
    width: 100%;
    padding: 0 10px !important;
    border: none !important;
    margin: 0 !important;
    line-height: 34px !important;
    height: 34px !important;
    background: #fff !important;
    outline: none;
}

#sp_menu {
    display: none;
}

@media only screen and (min-width:768px)and (max-width:1320px) {
    .header-inner {
        max-width: calc(100% - 20px);
        padding: 16px 10px;
    }

    .header-logo {
        width: 180px;
    }

    .header-logo>a {
        font-size: 10px
    }

    .header-menu {
        width: 780px;
    }

    .header-navi {
        width: 630px;
    }

    .header-contact {
        width: 280px;
    }

    .header-contact li {
        width: 139px;
        margin-left: 1px;
    }

    #global_navi li>a {
        font-size: 14px;
    }
}

@media only screen and (min-width:768px)and (max-width:1024px) {
    #header {
        width: 100%;
        top: 0;
    }

    .header-inner {
        width: 100%;
        max-width: 100%;
        padding: 16px 10px;
        box-shadow: none;
    }

    .header-navi {
        display: none;
    }

    .header-menu {
        width: 160px;
        cursor: pointer;
    }

    .header-menu-btn {
        width: 160px;
    }

    .header-menu-btn .sp-menu .on {
        display: none;
    }

    .header-menu-btn .sp-menu.open .off {
        display: none;
    }

    .header-menu-btn .sp-menu.open .on {
        display: block;
    }

    .header-menu-btn li>a {
        width: 78px;
        height: 78px;
    }

    .header-menu-btn .header-search {
        display: none;
    }

    .header-menu-btn .sp-menu {
        display: flex;
    }

    #sp_menu {
        display: block;
        background: #fff;
        position: absolute;
        right: 0;
        top: 100%;
        width: 60%;
        height: calc(100vh - 100%);
        overflow-y: auto;
        transform: translateX(100%);
        transition: .5s;
    }

    #sp_menu.open {
        transform: translateX(0%);
    }

    #sp_menu a {
        text-decoration: none;
    }

    #sp_menu .sp-menu-inner {
        padding: 20px;
    }

    #sp_menu .header-search-box {
        position: static;
        width: 100%;
        height: auto;
        padding: 10px;
        display: block;
    }

    #sp_navi {
        border-top: 1px solid #adaba6;
        margin-top: 30px;
    }

    #sp_navi p {
        border-bottom: 1px solid #adaba6;
        font-size: 16px;
    }

    #sp_navi .sp-navi-ac {
        cursor: pointer;
    }

    #sp_navi .sp-navi-ac.open {
        border-bottom: 1px solid #eaeae9;
    }

    #sp_navi p a {
        font-size: 16px;
        line-height: 3em;
        display: block;
        position: relative;
    }

    #sp_navi .sp-navi-ac a::after {
        content: '';
        display: block;
        width: 10px;
        height: 10px;
        border-bottom: 1px solid var(--color-neutral-dark);
        border-right: 1px solid var(--color-neutral-dark);
        position: absolute;
        right: 20px;
        top: calc(50% - 6px);
        transform: rotate(45deg);
    }

    #sp_navi .sp-navi-ac.open a::after {
        top: calc(50% - 1vw);
        transform: rotate(-135deg);
    }

    #sp_navi .sp-navi-ac_content {
        display: none;
    }

    #sp_navi .sp-navi-ac_content li {
        border-bottom: 1px solid #eaeae9;
    }

    #sp_navi .sp-navi-ac_content li:last-child {
        border-bottom: 1px solid #adaba6;
    }

    #sp_navi .sp-navi-ac_content a {
        font-size: 14px;
        line-height: 3em;
        display: block;
    }

    #sp_menu .header-sp-link {
        background: #a9003e;
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding: 20px 15px;
    }

    #sp_menu .header-sp-link a {
        width: 48%;
        color: #a9003e;
        font-size: 16px;
        line-height: 3em;
        display: block;
        text-align: center;
        background: #fff;
    }

    #sp_menu .header-sp-sns {
        background: #222222;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 30px 60px;
    }

    #sp_menu .header-sp-sns li {
        margin: 0;
    }

    #sp_menu .header-sp-sns li img {
        width: auto;
        height: auto;
        max-width: 28px;
        max-height: 28px;
    }
}

@media only screen and (max-width:767px) {
    #header {
        width: 100%;
        top: 0;
    }

    .header-inner {
        width: 100%;
        max-width: 100%;
        padding: 3.3vw;
        box-shadow: none;
    }

    .header-logo {
        width: 44vw;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    .header-logo span {
        width: 16vw;
        padding-right: 2vw;
        border-right: 1px solid #d8cdd4;
    }

    .header-logo>a {
        border-top: none;
        margin-top: 0;
        padding-top: 0;
        margin-left: 2vw;
        font-size: 2.2vw;
        line-height: 3vw;
        text-align: left;
    }

    .header-navi {
        display: none;
    }

    .header-menu {
        width: 23vw;
    }

    .header-menu-btn {
        width: 23vw;
    }

    .header-menu-btn li {
        width: 11vw;
    }

    .header-menu-btn>li>a {
        width: 11vw;
        height: 11vw;
        font-size: 3.46vw;
    }

    .header-menu-btn .header-search {
        display: none;
    }

    .header-menu-btn .sp-menu {
        display: flex;
    }

    .header-menu-btn .sp-menu .on {
        display: none;
    }

    .header-menu-btn .sp-menu.open .off {
        display: none;
    }

    .header-menu-btn .sp-menu.open .on {
        display: block;
    }

    #sp_menu {
        display: block;
        background: #fff;
        position: absolute;
        right: 0;
        top: 100%;
        width: 100%;
        height: calc(100vh - 100%);
        overflow-y: auto;
        transform: translateX(100%);
        transition: .5s;
    }

    #sp_menu.open {
        transform: translateX(0%);
    }

    #sp_menu a {
        text-decoration: none;
    }

    #sp_menu .sp-menu-inner {
        padding: 4vw;
    }

    #sp_menu .header-search-box {
        position: static;
        width: 100%;
        height: auto;
        padding: 2vw;
        display: block;
    }

    .header-search-box .gsc-input-box {
        border: none !important;
        padding: 0 !important;
        border: none !important;
    }

    .header-search-box .gsib_a {
        padding: 0 !important;
        border: none !important;
        line-height: 8vw;
        height: 8vw;
    }

    .header-search-box .gsc-input {
        width: 100% !important;
        line-height: 8vw;
        height: 8vw;
        padding: 0 !important;
        border: none !important;
        font-size: 4vw;
    }

    .header-search-box .gsc-search-button {
        width: 12vw !important;
        padding: 0 !important;
        border: none !important;
    }

    .header-search-box .gsc-search-button button {
        width: 12vw;
        background: var(--color-main);
        margin: 0 !important;
        border: none;
        box-shadow: none;
        line-height: 8vw;
        height: 8vw;
        cursor: pointer;
        border-radius: 0;
    }

    .header-search-box .gsc-search-button button::before {
        content: '検索';
        display: block;
        text-align: center;
        font-size: 4vw;
    }

    .header-search-box .gsc-search-button svg {
        display: none;
    }

    .header-search-box .gsib_a input[type="text"] {
        width: 100%;
        padding: 0 1.5vw !important;
        border: none !important;
        margin: 0 !important;
        line-height: 8vw !important;
        height: 8vw !important;
        background: #fff !important;
        outline: none;
    }

    #sp_navi {
        border-top: 1px solid #adaba6;
        margin-top: 6vw;
    }

    #sp_navi p {
        border-bottom: 1px solid #adaba6;
        font-size: 4.26vw;
    }

    #sp_navi .sp-navi-ac {
        cursor: pointer;
    }

    #sp_navi .sp-navi-ac.open {
        border-bottom: 1px solid #eaeae9;
    }

    #sp_navi p a {
        font-size: 4.26vw;
        line-height: 3em;
        display: block;
        position: relative;
    }

    #sp_navi .sp-navi-ac a::after {
        content: '';
        display: block;
        width: 2vw;
        height: 2vw;
        border-bottom: 1px solid var(--color-neutral-dark);
        border-right: 1px solid var(--color-neutral-dark);
        position: absolute;
        right: 4vw;
        top: calc(50% - 1.2vw);
        transform: rotate(45deg);
    }

    #sp_navi .sp-navi-ac.open a::after {
        top: calc(50% - 1vw);
        transform: rotate(-135deg);
    }

    #sp_navi .sp-navi-ac_content {
        display: none;
    }

    #sp_navi .sp-navi-ac_content li {
        border-bottom: 1px solid #eaeae9;
    }

    #sp_navi .sp-navi-ac_content li:last-child {
        border-bottom: 1px solid #adaba6;
    }

    #sp_navi .sp-navi-ac_content a {
        font-size: 3.73vw;
        line-height: 3em;
        display: block;
    }

    #sp_menu .header-sp-link {
        background: #a9003e;
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding: 6vw 4vw;
    }

    #sp_menu .header-sp-link a {
        width: 43.6vw;
        color: #a9003e;
        font-size: 3.73vw;
        line-height: 3em;
        display: block;
        text-align: center;
        background: #fff;
    }

    #sp_menu .header-sp-sns {
        background: #222222;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 9vw 14vw;
    }

    #sp_menu .header-sp-sns li {
        margin: 0;
    }

    #sp_menu .header-sp-sns li img {
        width: auto;
        height: auto;
        max-width: 8vw;
        max-height: 8vw;
    }
}


/* フッター */

#footer {
    background: #1a1a1a;
}

#footer a {
    color: #ffffff;
}

#footer .footer-top {
    padding: 50px 0;
    background: #222222;
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
}

#footer .footer-nav {
    max-width: 1200px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}

#footer .footer-link {
    width: 170px;
}

#footer .footer-link p {
    padding: 20px 0 10px;
    border-bottom: 1px solid #4b4b4b;
}

#footer .footer-link p a {
    font-size: 16px;
}

#footer .footer-link ul li {
    padding-top: 15px;
}

#footer .footer-link ul a {
    font-size: 13px;
    line-height: 1.4em;
}

#footer .footer-link a:hover {
    color: var(--color-main);
    text-decoration: none;
}

#footer .footer-bottom {
    padding: 30px 0;
    max-width: 1200px;
    margin: auto;
}

#footer .footer-flex01 {
    border-bottom: 1px solid #454545;
    padding-bottom: 30px;
    display: flex;
    justify-content: space-between;
}

#footer .footer-flex02 {
    padding-top: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#footer .footer-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#footer .footer-logo {
    margin-right: 20px;
}

#footer .footer-address {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    color: #fff;
    font-size: 14px;
}

#footer .footer-sns {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#footer .footer-sns li {
    margin: 0 10px;
}

#footer .footer-sns li a:hover {
    opacity: .7;
}

#footer .footer-menu {
    display: flex;
    justify-content: flex-start;
}

#footer .footer-menu li {
    margin-right: 20px;
}

#footer .footer-menu li a {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-size: 13px;
}

#footer .footer-menu a:hover {
    color: var(--color-main);
    text-decoration: none;
}

#footer .copyright {
    color: #fff;
    font-size: 12px;
}

@media only screen and (min-width:1025px)and (max-width:1320px) {
    #footer .footer-top {
        padding: 50px 10px;
    }

    #footer .footer-link {
        width: 15%;
    }

    #footer .footer-link p a {
        font-size: 15px;
    }

    #footer .footer-link ul a {
        font-size: 12px;
    }

    #footer .footer-bottom {
        padding: 30px 10px;
    }
}

@media only screen and (min-width:768px)and (max-width:1024px) {
    #footer .footer-nav {
        padding: 0 10px;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    #footer .footer-link {
        width: 23%;
        margin: 10px 1%;
    }

    #footer .footer-bottom {
        padding: 30px 10px;
    }

    #footer .footer-flex01 {
        display: block;
    }

    #footer .footer-flex02 {
        display: block;
    }

    #footer .footer-box {
        display: block;
        text-align: center;
    }

    #footer .footer-logo {
        margin: 20px auto;
    }

    #footer .footer-address {
        margin: 20px auto 30px;
        padding-bottom: 30px;
        border-bottom: 1px solid #454545;
    }

    #footer .footer-sns {
        width: 350px;
        margin: auto;
    }

    #footer .footer-menu {
        display: flex;
        justify-content: space-evenly;
        margin-bottom: 20px;
    }

    #footer .footer-menu li {
        margin-right: 0;
    }

    #footer .copyright {
        text-align: center;
    }
}

@media only screen and (max-width:767px) {
    #footer {
        background: #222222;
        padding: 14vw 4vw 24vw;
    }

    #footer .footer-top {
        display: none;
    }

    #footer .footer-bottom {
        padding: 0;
    }

    #footer .footer-flex01 {
        /* padding-bottom: 8vw; */
        padding-bottom: 0;
        border-bottom: none;

        display: block;
    }

    #footer .footer-flex02 {
        padding-top: 8vw;
        display: block;
    }

    #footer .footer-box {
        display: block;
    }

    #footer .footer-logo {
        margin-right: 0;
        text-align: center;
    }

    #footer .footer-address {
        text-align: center;
        font-size: 3.2vw;
        padding: 4vw 0 6vw;
        /* margin-bottom: 8vw; */
        border-bottom: 1px solid #454545;
    }

    #footer .footer-sns {
        width: 80vw;
        margin: auto;
    }

    #footer .footer-sns li {
        margin: 0 1vw;
    }

    #footer .footer-sns li img {
        width: auto;
        height: auto;
        max-width: 8vw;
        max-height: 8vw;
    }

    #footer .footer-menu {
        justify-content: center;
    }

    #footer .footer-menu li {
        margin-right: 3vw;
    }

    #footer .footer-menu li a {
        font-size: 3.2vw;
    }

    #footer .copyright {
        text-align: center;
        font-size: 2.94vw;
        padding-top: 4vw;
    }

    #footer .footer-fixed {
        position: fixed;
        z-index: 10;
        left: 0;
        bottom: 0;
        width: 100%;
        background: #aa003e;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    #footer .footer-fixed a {
        width: 50%;
        padding: 4vw;
        font-size: 3vw;
        line-height: 10vw;
        text-align: center;
    }

    #footer .footer-fixed a:last-child {
        border-left: 1px solid #000;
    }

    #footer .footer-fixed a .icon-pdf {
        width: auto;
        height: 4.6vw;
        margin-right: 2vw;
        vertical-align: middle;
    }

    #footer .footer-fixed a .icon-mail {
        width: auto;
        height: 3.3vw;
        margin-right: 2vw;
        vertical-align: middle;
    }
}


/* コンテンツ共通 */

.contents-wrap h1 {
    font-family: din-2014, sans-serif !important;
    font-style: normal;
    font-weight: 200;
    font-size: 80px;
    line-height: 1em;
}

.contents-wrap h2,
.contents-wrap h3,
.contents-wrap h4,
.contents-wrap h5,
.contents-wrap p {
    font-feature-settings: "palt";
}

.contents-wrap h2 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 32px;
    line-height: 1.8em;
    font-weight: 400;
}

.contents-wrap h3 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 24px;
}

.contents-wrap h4 {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 20px;
}

.contents-wrap h5 {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 18px;
}

.contents-wrap p {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 14px;
}

.contents-wrap p.mv-bg {
    font-family: din-2014, sans-serif !important;
    font-style: normal;
    font-weight: 200;
    font-size: 200px;
    color: var(--color-neutral-dark);
    line-height: 1em;
    word-break: keep-all;
    white-space: nowrap
}

.contents-wrap p.mv-txt01 {
    font-size: 18px;
}

.contents-wrap p.caution {
    font-size: 12px;
}


/*MV*/

.contents-wrap #mv {
    width: 100%;
    background-color: var(--color-main);
    min-height: 433px;
    padding-top: 130px;
    box-sizing: border-box;
    overflow: hidden;
    margin-bottom: 80px;
    position: relative;
    display: flex;
    align-items: center;
}

.contents-wrap #mv p.mv-bg {
    opacity: 0.1;
    width: 2000px;
    text-align: center;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 180px;
}

.contents-wrap #mv .title-box {
    width: 100%;
    text-align: center;
    position: relative;
    margin: auto;
    padding-top: 30px;
}

.contents-wrap #mv p.mv-txt01 {
    width: 100%;
    text-align: center;
    padding-top: 0;
}


/*contents*/

.contents-wrap .inner {
    max-width: 1280px;
    width: 100%;
    margin: auto;
    padding: 0 40px;
}


/*text*/

.contents-wrap .textbox {
    margin-bottom: 80px;
}

.contents-wrap .textbox h2,
.contents-wrap .textbox h3,
.contents-wrap .textbox h4,
.contents-wrap .textbox h5 {
    margin-bottom: 25px;
    box-sizing: border-box;
}

.contents-wrap .textbox p {
    margin-bottom: 30px;
}

.contents-wrap .textbox h2 {
    width: 100%;
    border-bottom: 2px solid #d8cdd4;
    vertical-align: top;
    text-indent: -0.5em;
    padding-bottom: 3px;
    padding-left: 0.5em;
}

.contents-wrap .textbox h2::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 37px;
    background-color: var(--color-main);
    margin-right: 0.5em;
    vertical-align: top;
    margin-top: 10px;
}

.contents-wrap .textbox h3 {
    background-color: #eeebe4;
    width: 100%;
    padding: 2px 0.625em;
}

.contents-wrap .textbox h4 {
    border-bottom: 2px solid #c21500;
    border-image: linear-gradient(to right, var(--color-main) 0%, var(--color-main) 40px, #d8cdd4 40px);
    border-image-slice: 1;
    padding-bottom: 0.5em;
}

.contents-wrap .textbox h5 {
    border-top: 2px solid #d8cdd4;
    border-bottom: 2px solid #d8cdd4;
    padding: 0.5em 0;
}


/*images*/

.contents-wrap .column {
    margin-bottom: 65px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}

.contents-wrap .column picture {
    display: block;
    margin-bottom: 15px;
    width: 100%;
}

.contents-wrap .column h4 {
    border: none;
    padding-bottom: 10px;
    margin-bottom: 0;
}

.contents-wrap .column.column2 .column-box {
    width: 48%;
}

.contents-wrap .column.column3 .column-box {
    width: 31%;
}

.contents-wrap .column.column4 .column-box {
    width: 23.5%;
}


/*index*/

.contents-wrap .index-box {
    display: flex;
    justify-content: center;
    align-items: stretch;
    margin-bottom: 80px;
}

.contents-wrap .index-box .index {
    width: 22.5%;
    display: block;
    margin-right: 3.33%;
}

.contents-wrap .index-box .index::last-child {
    margin-right: 0;
}

.contents-wrap .index-box .index a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--color-neutral-dark);
    padding: 0.5em 8.89%;
    box-sizing: border-box;
    min-height: 66px;
    text-decoration: none;
}

.contents-wrap .index-box .index a::after {
    content: "";
    left: 3px;
    width: 6px;
    height: 6px;
    border-top: 2px solid var(--color-main);
    border-right: 2px solid var(--color-main);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.contents-wrap .index-box .index a span {
    width: calc(100% - 8px);
    color: var(--color-main);
    font-size: 17px;
}

.contents-wrap .index-box .index a:hover {
    background-color: var(--color-main);
}

.contents-wrap .index-box .index a:hover::after {
    border-top: 2px solid var(--color-neutral-dark);
    border-right: 2px solid var(--color-neutral-dark);
}

.contents-wrap .index-box .index a:hover span {
    color: var(--color-neutral-dark);
}

.contents-wrap .index-box .index .index-txt {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    border: 1px solid #d8cdd4;
    padding: 22px 24px;
    box-sizing: border-box;
}

.contents-wrap .index-box .index .index-txt p {
    width: 100%;
    background: inherit;
    margin-bottom: 0;
}


/*ボタン*/

.contents-wrap .btn-box1>div,
.contents-wrap .btn-box2>div {
    margin-bottom: 30px;
}

.contents-wrap .btn {
    display: block;
    width: 280px;
    background-color: var(--color-neutral-dark);
    text-align: center;
    padding: 20px 1em;
    position: relative;
    text-decoration: none;
}

.contents-wrap .btn span {
    color: var(--color-main);
    font-family: din-2014, sans-serif;
    font-size: 16px;
    line-height: 1.2em;
}

.contents-wrap .btn::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: 16px;
    margin: auto;
}

.contents-wrap .btn.normal-btn::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--color-main);
    border-right: 2px solid var(--color-main);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.contents-wrap .btn.external-btn::after {
    content: url(/cle/common/img/guide/open_in_new_y.png);
    width: 14px;
    height: 14px;
}

.contents-wrap .btn.pdf-btn::after {
    content: url(/cle/common/img/guide/pdf_icon_y.png);
    width: 18px;
    height: 16px;
}

.contents-wrap .btn.back-btn::after {
    content: "";
    left: 16px;
    right: auto;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--color-main);
    border-right: 2px solid var(--color-main);
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}

.contents-wrap .btn.modal-btn::after {
    content: url(/cle/common/img/guide/modal_icon_y.png);
    width: 15px;
    height: 12px;
}


/*ボタン ホバー*/

.contents-wrap .btn:hover {
    background-color: var(--color-main);
}

.contents-wrap .btn:hover span {
    color: var(--color-neutral-dark);
}

.contents-wrap .btn.normal-btn:hover::after {
    content: "";
    border-top: 2px solid var(--color-neutral-dark);
    border-right: 2px solid var(--color-neutral-dark);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.contents-wrap .btn.external-btn:hover::after {
    content: url(/cle/common/img/guide/open_in_new_g.png);
}

.contents-wrap .btn.pdf-btn:hover::after {
    content: url(/cle/common/img/guide/pdf_icon_g.png);
}

.contents-wrap .btn.back-btn:hover::after {
    content: "";
    border-top: 2px solid var(--color-neutral-dark);
    border-right: 2px solid var(--color-neutral-dark);
}

.contents-wrap .btn.modal-btn:hover::after {
    content: url(/cle/common/img/guide/modal_icon_g.png);
}


/*ボタン フレームなし*/

.contents-wrap .btn-no-frame {
    position: relative;
    text-decoration: none;
    padding: 0 35px 0 0;
    line-height: 1.2em;
    display: inline-block;
}

.contents-wrap .btn-no-frame span {
    color: var(--color-neutral-dark);
    font-family: din-2014, sans-serif;
    font-size: 16px;
    line-height: 1em;
}

.contents-wrap .btn-no-frame::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: 0;
    margin: auto;
}

.contents-wrap .btn-no-frame.normal-btn::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--color-neutral-dark);
    border-right: 2px solid var(--color-neutral-dark);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.contents-wrap .btn-no-frame.external-btn::after {
    content: url(/cle/common/img/guide/open_in_new_g.png);
    width: 14px;
    height: 14px;
}

.contents-wrap .btn-no-frame.pdf-btn::after {
    content: url(/cle/common/img/guide/pdf_icon_g.png);
    width: 18px;
    height: 16px;
}

.contents-wrap .btn-no-frame.back-btn {
    padding: 0 0 0 35px;
}

.contents-wrap .btn-no-frame.back-btn::after {
    content: "";
    left: 0;
    right: auto;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--color-neutral-dark);
    border-right: 2px solid var(--color-neutral-dark);
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}

.contents-wrap .btn-no-frame.modal-btn::after {
    content: url(/cle/common/img/guide/modal_icon_g.png);
    width: 15px;
    height: 12px;
}


/*ボタン フレームなし ホバー*/

.contents-wrap .btn-no-frame:hover span {
    color: var(--color-main);
}

.contents-wrap .btn-no-frame.normal-btn:hover::after {
    content: "";
    border-top: 2px solid var(--color-main);
    border-right: 2px solid var(--color-main);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.contents-wrap .btn-no-frame.external-btn:hover::after {
    content: url(/cle/common/img/guide/open_in_new_y.png);
}

.contents-wrap .btn-no-frame.pdf-btn:hover::after {
    content: url(/cle/common/img/guide/pdf_icon_y.png);
}

.contents-wrap .btn-no-frame.back-btn:hover::after {
    content: "";
    border-top: 2px solid var(--color-main);
    border-right: 2px solid var(--color-main);
}

.contents-wrap .btn-no-frame.modal-btn:hover::after {
    content: url(/cle/common/img/guide/modal_icon_y.png);
}

@media only screen and (max-width:767px) {
    .contents-wrap h1 {
        font-size: 13.33vw;
    }

    .contents-wrap h2 {
        font-size: 6.4vw;
    }

    .contents-wrap h3 {
        font-size: 5.33vw;
    }

    .contents-wrap h4 {
        font-size: 4.8vw;
    }

    .contents-wrap h5 {
        font-size: 4.27vw;
    }

    .contents-wrap p {
        font-size: 3.73vw;
    }

    .contents-wrap p.mv-bg {
        font-size: 26vw;
    }

    .contents-wrap p.mv-txt01 {
        font-size: 3.73vw;
    }

    .contents-wrap p.caution {
        font-size: 3.2vw;
    }

    /*MV*/
    .contents-wrap #mv {
        min-height: 53.33vw;
        padding-top: 0;
        margin-bottom: 10.67vw;
    }

    .contents-wrap #mv p.mv-bg {
        opacity: 0.1;
        width: 2000px;
        height: 1em;
        line-height: 1em;
        text-align: center;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        padding-top: 0;
        margin: auto;
    }

    .contents-wrap #mv .title-box {
        padding-top: 4vw;
    }

    .contents-wrap #mv .title-box h1 {
        line-height: 1.2em;
    }

    .contents-wrap #mv p.mv-txt01 {
        width: 100%;
        padding-top: 0em;
    }

    /*contents*/
    .contents-wrap .inner {
        max-width: none;
        width: 100%;
        margin: auto;
        padding: 0 4%;
    }

    /*text*/
    .contents-wrap .textbox {
        margin-bottom: 14.67vw;
    }

    .contents-wrap .textbox h2,
    .contents-wrap .textbox h3,
    .contents-wrap .textbox h4,
    .contents-wrap .textbox h5 {
        margin-bottom: 8vw;
        box-sizing: border-box;
    }

    .contents-wrap .textbox p {
        margin-bottom: 30px;
    }

    .contents-wrap .textbox h2 {
        border-bottom: 0.53vw solid #d8cdd4;
        text-indent: -0.5em;
        padding-bottom: 0;
        padding-left: 0.3em;
    }

    .contents-wrap .textbox h2::before {
        content: "";
        width: 0.53vw;
        height: 0.83em;
        margin-right: 0.5em;
        margin-top: 0.5em;
    }

    .contents-wrap .textbox h3 {
        padding: 0.1em 0.24em;
    }

    .contents-wrap .textbox h4 {
        border-bottom: 0.53vw solid #c21500;
        border-image: linear-gradient(to right, var(--color-main) 0%, var(--color-main) 40px, #d8cdd4 40px);
        border-image-slice: 1;
        padding-bottom: 0.5em;
    }

    .contents-wrap .textbox h5 {
        border-top: 0.53vw solid #d8cdd4;
        border-bottom: 0.53vw solid #d8cdd4;
        padding: 0.19em 0;
    }

    /*images*/
    .contents-wrap .column {
        margin-bottom: 0;
    }

    .contents-wrap .column .column-box {
        margin-bottom: 10vw;
    }

    .contents-wrap .column picture {
        display: block;
        margin-bottom: 6.67vw;
        width: 100%;
    }

    .contents-wrap .column h4 {
        border: none;
        padding-bottom: 10px;
        margin-bottom: 0;
    }

    .contents-wrap .column p {
        margin-bottom: 0;
    }

    .contents-wrap .column.column2 .column-box {
        width: 48%;
    }

    .contents-wrap .column.column3 .column-box {
        width: 48%;
    }

    .contents-wrap .column.column4 .column-box {
        width: 48%;
    }

    /*index*/
    .contents-wrap .index-box {
        display: block;
    }

    .contents-wrap .index-box .index {
        width: 100%;
        margin-bottom: 8.53vw;
        margin-right: 0;
    }

    .contents-wrap .index-box .index a {
        width: 100%;
        padding: 1em 3.33vw;
        min-height: none;
    }

    .contents-wrap .index-box .index a::after {
        content: "";
        left: 3px;
        width: 1.2vw;
        height: 1.2vw;
        border-top: 0.35vw solid var(--color-main);
        border-right: 0.35vw solid var(--color-main);
    }

    .contents-wrap .index-box .index a span {
        font-size: 4.27vw;
    }

    .contents-wrap .index-box .index a:hover::after {
        border-top: 0.35vw solid var(--color-neutral-dark);
        border-right: 0.35vw solid var(--color-neutral-dark);
    }

    .contents-wrap .index-box .index .index-txt {
        width: 100%;
        height: auto;
        display: block;
        border: 1px solid #d8cdd4;
        padding: 22px 24px;
        box-sizing: border-box;
    }

    .contents-wrap .index-box .index .index-txt p {
        width: 100%;
        background: inherit;
        margin-bottom: 0;
    }

    /*ボタン*/
    .contents-wrap .btn {
        width: 80%;
        margin: auto;
    }
}


/*パンくず*/

#container .breadcrumb {
    width: 100%;
    border-top: 1px solid #d8cdd4;
}

#container .breadcrumb-list {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    font-size: 13px;
}

#container .breadcrumb-list::after {
    display: block;
    content: '';
    width: 100%;
    height: 0;
    clear: both;
}

#container .breadcrumb-list li {
    margin-right: 10px;
    padding: 10px 0 10px 20px;
    position: relative;
    color: var(--color-main);
    list-style: none !important;
    float: left;
}

#container .breadcrumb-list li::before {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 1px solid var(--color-main);
    border-bottom: 1px solid var(--color-main);
    transform: rotate(-45deg);
    position: absolute;
    left: 0;
    top: calc(50% - 5px);
}

#container .breadcrumb-list li:first-child {
    padding-left: 0;
}

#container .breadcrumb-list li:first-child::before {
    display: none;
}

#container .breadcrumb-list li a {
    color: var(--color-neutral-dark);
}

@media only screen and (max-width:1320px) {
    #container .breadcrumb-list {
        padding: 0 10px;
    }
}

@media only screen and (max-width:767px) {
    #container .breadcrumb-list {
        font-size: 3vw;
        padding: 0 4vw 1.5vw;
    }

    #container .breadcrumb-list li {
        margin-right: 1.5vw;
        padding: 1.5vw 0 0 3vw;
    }

    #container .breadcrumb-list li::before {
        width: 1.6vw;
        height: 1.6vw;
        /* top: calc(50% - .8vw); */
        top: 3vw;
    }
}


/* 2023/03/23 maeda_custom */

.cOrange {
    color: #f2843b;
}

.pageScrollNav {
    margin-bottom: 3em;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 1.8rem;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
}

.pageScrollNav>* {
    width: 23%;
    line-height: 1.4;
}

.pageScrollNav::after {
    content: "";
    display: block;
    width: 23%;
}

.pageScrollNav a {
    display: block;
    height: 100%;
    padding: .75em 1.25em .75em 0;
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
    text-decoration: none;
    border-bottom: 1px solid #d8cdd4;
    position: relative;
}

.pageScrollNav a::after {
    content: "";
    display: block;
    width: .5em;
    height: .5em;
    position: absolute;
    right: .25em;
    top: 0;
    bottom: 0;
    margin: auto;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
    transition: .4s;
}

.pageScrollNav a:hover {
    color: var(--color-main);
}

.pageScrollNav a:hover::after {
    border-color: var(--color-main);
}

@media (max-width:767px) {
    .pageScrollNav a {
        /* font-size: 4vw; */
        font-size: min(4.26vw, 18px);
    }

    .pageScrollNav a::after {
        transform: rotate(-45deg) scale(.75);
    }

    .pageScrollNav>*,
    .pageScrollNav::after {
        width: 100%;
    }

    /* .pageScrollNav > *,
    .pageScrollNav::after{
        width: 48%;
    } */
}

[class*=ableWrap] {
    width: 100%;
    margin: 2em 0 1em;
    overflow: auto;
    position: relative;
    transition: .6s;
}

[class*=ableWrap] table {
    width: 100%;
}

.bigTableWrap table {
    min-width: 1200px;
}

[class*=ableWrap]+h3 {
    margin-top: 2em;
}

[class*=ableWrap] table {
    font-size: 0.8em;
    font-feature-settings: "palt";
}

[class*=ableWrap] th,
[class*=ableWrap] td {
    line-height: 1.3;
    vertical-align: middle;
    padding: 0.75em;
}

[class*=ableWrap].tdTac td {
    text-align: center;
}

[class*=ableWrap] tr:first-child th {
    border-bottom: 1px solid #fff;
}

[class*=ableWrap] th:not(.verticalCel) {
    min-width: 6em;
}

[class*=ableWrap] td {
    border: 1px solid #d8cdd4;
}

[class*=ableWrap] td li {
    line-height: 1.25;
}

[class*=ableWrap] td li+li {
    margin-top: 0.4em;
}

[class*=ableWrap] th {
    border: 1px solid #fff;
    border-left: none;
}

.yellowHeadline th {
    background-color: var(--color-main);
}

.greenHeadline th {
    background-color: #c0e2af;
}

.grayHeadline th {
    border: 1px solid #d8cdd4;
    background-color: #f3f1eb;
}

.grayHeadline_headOnly tr:first-of-type th {
    background-color: #f3f1eb;
}

.grayHeadline_headOnly th,
.grayHeadline_headOnly td {
    padding: 1em 1.25em;
    border: 1px solid #d8cdd4;
}

.grayHeadline_headOnly th:first-of-type {
    text-align: left;
}

[class*=ableWrap] th.ashCell {
    background-color: #f3f1eb;
    border: 1px solid #d8cdd4;
}

.bigTableWrap .verticalCel {
    width: 1em;
    line-height: 1;
    padding: 1em;
}

.bigTableWrap .verticalCel.pSticky {
    position: -webkit-sticky;
    position: sticky;
    left: -1px;
    top: 0;
    z-index: 2;
}

.bigTableWrap .verticalCel:not(.pSticky):first-child {
    border-bottom: none;
}

@media (max-width:1294px) {
    .bigTableWrap {
        box-shadow: inset 0em 0 1em 0 #aaa;
    }
}

@media (max-width:767px) {
    .bigTableWrap table {
        font-size: 10px;
    }
}



/* スマートフォン回転時 */
@media (orientation: landscape)and (max-width:1024px) {
    .header-inner {
        padding: 2vh;
        box-shadow: none;
    }

    .header-logo {
        width: 60vw;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    .header-logo span {
        width: 16vh;
        border-right: 1px solid #d8cdd4;
        padding-right: 3vh;
    }

    .header-logo span img.pc {
        display: none !important;
    }

    .header-logo span img.sp {
        display: block !important;
    }

    .header-logo>a {
        border-top: none;
        margin-top: 0;
        padding-top: 0;
        margin-left: 3vh;
        font-size: 4vh;
        line-height: 5vw;
        text-align: left;
    }

    .header-menu {
        width: 25vh;
    }

    .header-menu-btn {
        width: 25vh;
    }

    .header-menu-btn li {
        width: 12vh;
    }

    .header-menu-btn>li>a {
        width: 12vh;
        height: 12vh;
        font-size: 5vh;
    }

    #footer {
        padding: 14vw 4vw 4vw;
    }

    #footer .footer-fixed {
        display: none;
    }
}

/* .flex-inner  */


.contents-wrap .flex-inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 20px;
}

.contents-wrap .flex-inner.top {
    margin-top: 0 !important;
}

.contents-wrap .flex-inner .fit {
    width: 100%;
}

.contents-wrap .flex-inner .flex-box01 {
    width: 65.6%;
    margin-top: 50px;
}

.contents-wrap .flex-inner .flex-box02 {
    width: 31%;
    margin-top: 50px;
}

.contents-wrap .flex-inner .flex-box03 {
    width: 48.3%;
    margin-top: 50px;
}

.contents-wrap .flex-inner .flex-box04 {
    width: 100%;
    margin-top: 50px;
}

.contents-wrap .flex-inner .top {
    margin-top: 0;
}

.contents-wrap .flex-inner .image {
    text-align: center;
}

.contents-wrap .flex-inner .flex-txt01 {
    font-size: 18px;
    margin-bottom: auto;
}

@media only screen and (max-width:767px) {
    .contents-wrap .flex-inner {
        display: block;
        margin-top: 4vw;
    }
    .contents-wrap .flex-inner .fit {
        width: 100%;
    }
    .contents-wrap .flex-inner .flex-box01 {
        width: 100%;
        margin-top: 8vw;
    }
    .contents-wrap .flex-inner .flex-box02 {
        width: 100%;
        margin-top: 8vw;
    }
    .contents-wrap .flex-inner .flex-box03 {
        width: 100%;
        margin-top: 8vw;
    }
    .contents-wrap .flex-inner .flex-box04 {
        width: 100%;
        margin-top: 8vw;
    }
    .contents-wrap .flex-inner .top {
        margin-top: 8vw;
    }
    .contents-wrap .flex-inner .image {
        text-align: center;
    }
    .contents-wrap .flex-inner .flex-txt01 {
        font-size: 18px;
    }
}

/* .btn01 */
.btn01 {
    width: 280px;
    margin: 50px auto auto;
}

.btn01 a {
    display: block;
    text-align: center;
    background-color: var(--color-neutral-dark);
    color: var(--color-main);
    text-decoration: none;
    font-size: 16px;
    padding: 1em;
    position: relative;
}

.btn01 a:hover {
    color: var(--color-neutral-dark);
    background-color: var(--color-main);
}

.btn01 a span {
    color: inherit;
}

@media only screen and (max-width:767px) {
    .btn01 {
        width: 74.4vw;
        margin: 6vw auto auto;
    }
    .btn01 a {
        font-size: 4.26vw;
    }
}

/* 外部リンクマーク付きボタン用 */
.btn01.external-link a {
    background-image: url(/cle/common/img/guide/open_in_new_y.svg);
    background-size: 14px auto;
    background-repeat: no-repeat;
    background-position: right 20px center;
}

/* ホバー時の外部リンクマーク変更 */
.btn01.external-link a:hover {
    background-image: url(/cle/common/img/guide/open_in_new_g.svg);
}
