@charset "utf-8";

/* CSS Document */

@import url("https://fonts.googleapis.com/css2?family=Bonheur+Royale&family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@300;400;500;600;700&display=swap");


/*===================================
基本設定
===================================*/

/* html */

html {
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 1.5px;
    background: #ececec;
}

pre {
    -moz-tab-size: 4;
    -o-tab-size: 0;
    tab-size: 0;
    overflow: auto;
    padding: 0;
    font: inherit;
    color: inherit;
    border: none;
    border-radius: 0;
    background: none;
}

#wrapper {
    overflow: hidden;
}

dt,
dd {
    font-weight: normal;
}

svg {
    max-width: 100%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    display: block;
}

h1 {
    padding-right: 30px;
}

body.active {
    overflow: hidden;

    -ms-touch-action: none;
    touch-action: none;
}

@media(max-width:599px) {
    h1 {
        padding-right: 40px;
    }
}

/* ab-test */

[data-ab-test-block] [data-ab-test-contents]+[data-ab-test-contents] {
    display: none;
}



/* inner */

@media (max-width: 1024px) {

    .inner500,
    .inner600,
    .inner700,
    .inner800,
    .inner900,
    .inner,
    .inner1100,
    .inner1200,
    .inner1300,
    .inner1400,
    .inner1500 {
        width: 94%;
    }
}



/* font */

.font-gothic {
    font-family: "Noto Sans JP", sans-serif;
}

.font-mincho {
    font-family: "Noto Serif JP", sans-serif;
}

.font-handwriting {
    font-family: "Bonheur Royale", cursive;
}



/* icon */
.link-icon::before,
.link-icon::after {
    content: "□";
    font-size: 80%;
    color: #e60013;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
}

.link-icon::before {
    top: 43%;
    right: -10px;
}

.link-icon::after {
    top: 53%;
    right: -13px;
}

/* show hide */

.show\@pc {
    display: block;
}

.hide\@pc {
    display: none;
}

[data-element-id] .show\@tb {
    display: block;
    border: solid 4px green;
    position: relative;
}

[data-element-id] .show\@tb:after {
    content: "モバイル用";
    display: block;
    padding: 5px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    text-shadow: none;
    background: green;
}

[data-element-id] .show\@tb.indention:after {
    content: "モバイル用はここで改行";
}

[data-element-id] .show\@pc.indention:after {
    content: "PC用はここで改行";
    display: block;
    padding: 5px;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    text-shadow: none;
    background: blue;
}

[data-element-id] .show\@sp {
    display: block;
    border: solid 4px green;
    position: relative;
}

[data-element-id] .show\@sp:after {
    content: "モバイル用";
    display: block;
    padding: 5px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    text-shadow: none;
    background: green;
}

[data-element-id] .show\@sp.indention:after {
    content: "モバイル用はここで改行";
}

@media (max-width: 1024px) {
    .show\@tb {
        display: block;
    }

    .hide\@tb {
        display: none;
    }
}

@media (max-width: 599px) {
    .show\@sp {
        display: block !important;
    }

    .hide\@sp {
        display: none !important;
    }
}



/* fead */

.fead-mv.mv {
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
}

.fead-mv.other.mv {
    -webkit-transition-delay: 0.8s;
    transition-delay: 0.8s;
}

.fead-mv.other02.mv {
    -webkit-transition-delay: 3s;
    transition-delay: 3s;
}

.fead-up.mv {
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
}

.fead-up.mv.other {
    -webkit-transition: 0.8s;
    transition: 0.8s;
    -webkit-transition-delay: 3.5s;
    transition-delay: 3.5s;
}

.fead-order>* {
    opacity: 0;
}

.fead-order>.mv {
    opacity: 1;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
}

[data-element-id] .fead-text {
    opacity: 1;
}

.fead-text {
    overflow: hidden;
    opacity: 0;
}

.fead-text.mv {
    opacity: 1;
}

.fead-text .str {
    display: inline-block;
    opacity: 1;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
}

.fead-text .str.mv {
    -webkit-transition: 0.8s;
    transition: 0.8s;
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}

.fead-clip {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

[data-element-id] .fead-clip {
    -webkit-clip-path: polygon(0 0, 200% 0, 200% 100%, 0 100%);
    clip-path: polygon(0 0, 200% 0, 200% 100%, 0 100%);
}

.fead-clip.mv {
    -webkit-transition: 1.8s;
    transition: 1.8s;
    -webkit-transition-delay: 1s;
    transition-delay: 1s;

    -webkit-clip-path: polygon(0 0, 200% 0, 200% 100%, 0 100%);
    clip-path: polygon(0 0, 200% 0, 200% 100%, 0 100%);
}

.fead-blur {
    -webkit-filter: blur(3px);
    filter: blur(3px);
}

[data-element-id] .fead-blur {
    -webkit-filter: blur(0);
    filter: blur(0);
}

.fead-blur.mv {
    -webkit-filter: blur(0);
    filter: blur(0);
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
}

.fead-cover:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: #333;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 15;
}

.fead-cover.mv:before {
    width: 0;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
}

.fead-zoomout.mv img {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    -webkit-animation: animationZoom1 5s ease-in-out forwards;
    animation: animationZoom1 5s ease-in-out forwards;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}

.fead-right.mv.other {
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}

@media(max-width:599px) {
    .fead-clip.mv {
        -webkit-clip-path: polygon(0 0, 380px 0, 380px 100%, 0 100%);
        clip-path: polygon(0 0, 380px 0, 380px 100%, 0 100%);
    }
}

/* typing */
.TextTyping span {
    display: none;
}

/*文字列後ろの線の設定*/
.TextTyping::after {
    content: "|";
    -webkit-animation: typinganime 1s ease infinite;
    animation: typinganime 1s ease infinite;
    -webkit-animation-delay: 0.8s;
    animation-delay: 0.8s;
}

@-webkit-keyframes typinganime {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes typinganime {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* ##### パンくずリスト breadcrumbs ##### */
.breadcrumbs {
    padding: 30px 0;
}

.breadcrumbs-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}



.breadcrumbs-list li {
    display: inline;
    font-size: 12px;
    letter-spacing: 1px;
}



.breadcrumbs-list li+li::before {
    content: "";
    width: 8px;
    height: 8px;
    display: inline-block;
    margin: 0 10px;
    border-top: 1px solid;
    border-right: 1px solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media (max-width: 1024px) {
    .breadcrumbs {
        padding: 20px 0;
        font-size: 14px;
    }

    .breadcrumbs-box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start;
    }

    .breadcrumbs-list {
        width: 90%;
        margin-top: 1em;
    }

    .breadcrumbs li {
        font-size: 12px;
    }

    .breadcrumbs li+li::before {
        width: 8px;
        height: 8px;
        margin: 0 5px 1px;
    }
}

@media (max-width: 599px) {
    .breadcrumbs {
        padding: 15px 0;
        font-size: 12px;
    }

    .breadcrumbs li+li::before {
        width: 6px;
        height: 6px;
    }
}

/* ##### パンくずリスト breadcrumbs ここまで ##### */

/* ページネーション */
.pagenation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.pagenation .item {
    margin: 0 10px;
}

.pagenation .prev {
    margin-right: 20px;
}

.pagenation .prev a,
.pagenation .next a {
    position: relative;
}

.pagenation .prev a:before,
.pagenation .next a:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    font-size: 80%;
    color: #e60013;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 58%;
}

.pagenation .prev a:before {
    content: "\f053";
    left: -20px;
}

.pagenation .next {
    margin-left: 20px;
}

.pagenation .next a:after {
    content: "\f054";
    right: -20px;
}

.pagenation .next a:hover,
.pagenation .prev a:hover {
    color: #e60013;
    opacity: 1;
}

.pagenation .next a:hover:after {
    right: -30px;
}

.pagenation .prev a:hover:before {
    left: -30px;
}

.pagenation a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
}

.pagenation .number a,
.pagenation .now {
    width: 30px;
    height: 30px;
    display: block;
    padding: 2px 8px;
    font-size: 20px;
    line-height: 28px;
    text-align: center;
    border-radius: 50%;
}

.pagenation .number a:hover,
.pagenation .now {
    color: #e60013;
    opacity: 1;
}

@media only screen and (max-width: 599px) {
    .pagenation .item {
        margin: 0 5px;
    }

    .pagenation .prev {
        margin-right: 10px;
    }

    .pagenation .next {
        margin-left: 10px;
    }
}

/* graph */
.graph-wrap {
    width: 880px;
    max-width: 90%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    overflow: hidden;
    margin: 30px auto 0;
    padding-top: 50px;
}

.graph-wrap_02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.graph-wrap-wide {
    /* width: 980px; */
}

.graph {
    width: 100%;
    padding-bottom: 30px;
}

.graph-vertical {
    width: 10%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

[class*="graph-scale"] {
    color: #7c7c7c;
}

.graph-scale-vertical {
    height: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    position: relative;
}

.graph-scale-vertical .scale-num {
    width: 100%;
    display: inline-block;
    padding-right: 10px;
    font-size: 12px;
    letter-spacing: 1px;
    text-align: right;
}

.graph-scale-vertical::after {
    content: "";
    width: 10%;
    height: 1px;
    display: block;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-right: -999rem;
    padding-right: 999rem;
    background-color: #7c7c7c;
}

.graph-scale-vertical+.graph-scale-vertical {
    margin-top: 5px;
}

.graph-note {
    font-size: 12px;
    color: #7c7c7c;
}

.graph-horizontal {
    width: 90%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: auto;
    padding: 0 30px;
}

.graph-scale-horizontal {
    min-width: 15px;
    display: inline-block;
    padding: 0 0px;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 1px;
    text-align: center;
    position: relative;
}

.graph-scale-horizontal .expect::after {
    content: "連結";
    font-size: 10px;
    white-space: pre;
    position: absolute;
    bottom: -20px;
    left: 15px;
}

.graph-scale-horizontal+.graph-scale-horizontal {
    margin-left: auto;
}

.graph-scale-horizontal .rod {
    width: 100%;
    height: 0;
    display: block;
    background-color: #f2edea;
    -webkit-transition: 1s linear;
    transition: 1s linear;
    position: absolute;
    bottom: 27px;
    left: 0;
}

.graph-scale-horizontal .rod::before {
    content: attr(data-graph);
    display: block;
    margin: auto;
    font-size: 13px;
    letter-spacing: 1px;
    text-align: center;
    white-space: nowrap;
    -webkit-transform: translate(0, -100%);
    transform: translate(-50%, -100%);
    position: absolute;
    position: absolute;
    top: -5px;
    left: 50%;
    z-index: 1;
}

.graph-focus .rod {
    background-color: #e70014;
}

.graph-focus .rod::before {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: bold;
    font-size: 20px;
    color: #e70014;
    -webkit-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
    left: 50%;
    right: 0;
}

/* .graph-wrap_02 .graph-focus .rod::before {
    width: 200%;
    font-weight: bold;
    font-size: 30px;
    color: #ff6347;
    -webkit-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
    left: 50%;
    right: 50%;
} */

@media (max-width: 1024px) {
    .graph-wrap {
        width: 100%;
    }

    .graph-wrap-wide {
        max-width: 100%;
    }

    .graph-wrap_02 .graph,
    .graph-note {
        width: 100%;
    }

    .graph-vertical {
        font-size: 12px;
    }

    .graph-scale-vertical .scale-num {
        padding-right: 5px;
    }

    .graph-horizontal {
        padding: 0 10px;
    }

    .graph-scale-horizontal {
        padding: 0 1px;
        font-size: 12px;
    }

    .graph-scale-horizontal .rod {
        width: 90%;
        margin: 0 1px;
        bottom: 28px;
    }
}

@media (max-width: 599px) {
    .graph-wrap {
        padding-top: 15px;
    }

    .graph {
        padding-bottom: 80px;
    }

    .graph-vertical {
        width: 15%;
        font-size: 10px;
    }

    .graph-scale-vertical {
        height: 20px;
    }

    .graph-scale-vertical+.graph-scale-vertical {
        margin-top: 30px;
    }

    .graph-wrap_02 .graph-scale-vertical+.graph-scale-vertical {
        margin-top: 15px;
    }


    .graph-horizontal {
        width: 85%;
        margin-left: 12%;
    }

    .graph-scale-horizontal {
        font-size: 10px;
    }

    .graph-scale-horizontal .expect::after {
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        bottom: -70px;
        left: 2px;
    }

    .graph-scale-vertical .scale-num {
        width: 70%;
        font-size: 10px;
    }

    .graph-year {
        width: 30px;
        display: block;

        scale: 0.8;
    }

    .graph-scale-horizontal .rod {
        width: 80%;
        margin: 0 5px;
        bottom: 22px;
    }

    .graph-scale-horizontal .rod::before {
        font-size: 10px;
    }

    .graph-wrap_02 .graph-focus .rod::before,
    .graph-focus .rod::before {
        font-size: 14px;
    }
}

/* 円グラフ01 (donut)*/
.mershandise .circle-graph-wrap {
    margin-left: 0%;
}

.mershandise .circle-graph {
    width: 440px;
    margin: auto;
    position: relative;
}

.mershandise .circle-graph::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.mershandise .circle-graph-label * {
    color: #fff;
}

.mershandise .circle-graph-heading li {
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 1px;
    opacity: 0;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px);
    position: absolute !important;
    z-index: 1;
}

.mershandise .scrolled.circle-graph-heading li {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.mershandise .circle-graph-heading li:nth-of-type(1) {
    font-weight: bold;
    text-shadow: 1px 1px 5px #626262, -1px -1px 5px #626262;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
    top: 40px;
    right: 0px;
}

.mershandise .circle-graph-heading li:nth-of-type(1) .big {
    font-size: 120%;
}

.mershandise .circle-graph-heading li:nth-of-type(2) {
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s;
    top: 180px;
    right: 15px;
}

.mershandise .circle-graph-heading li:nth-of-type(3) {
    -webkit-transition-delay: 0.9s;
    transition-delay: 0.9s;
    top: 270px;
    right: 20px;
}

.mershandise .circle-graph-heading li:nth-of-type(4) {
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s;
    top: 335px;
    right: 55px;
}

.mershandise .circle-graph-heading li:nth-of-type(5) {
    text-align: center;
    -webkit-transition-delay: 1.5s;
    transition-delay: 1.5s;
    top: 200px;
    left: 30px;
}

.mershandise .ie-only-graph-image {
    display: none;
}

.mershandise .ie11 .ie-only-graph-image {
    display: block;
}

@media (max-width: 1024px) {}

@media (max-width: 599px) {
    .mershandise .circle-graph {
        width: 260px;
    }

    .mershandise .circle-graph-heading li {
        font-size: 14px;
        text-shadow: 1px 1px 3px #666, -1px -1px 3px #666;
    }

    .mershandise .circle-graph-heading li:nth-of-type(1) {
        font-size: 14px;
        text-shadow: 1px 1px 3px #3a3a3a, -1px -1px 3px #3a3a3a;
        top: 25px;
        right: -30px;
    }

    .mershandise .circle-graph-heading li:nth-of-type(1) .big {
        font-size: 110%;
    }

    .mershandise .circle-graph-heading li:nth-of-type(2) {
        top: 110px;
        right: -20px;
    }

    .mershandise .circle-graph-heading li:nth-of-type(3) {
        top: 160px;
        right: -10px;
    }

    .mershandise .circle-graph-heading li:nth-of-type(4) {
        top: 205px;
        right: 5px;
    }

    .mershandise .circle-graph-heading li:nth-of-type(5) {
        top: 120px;
        left: 15px;
    }
}

/* 円グラフ02 (pie)*/
.type-example .circle-graph-wrap {
    margin-left: 0%;
}

.type-example .circle-graph {
    width: 160px;
    margin: auto;
    position: relative;
}

.type-example .circle-graph::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.type-example .circle-graph-label * {
    color: #555252;
}

.type-example .circle-graph-heading li {
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 1px;
    opacity: 0;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px);
    position: absolute !important;
    z-index: 1;
}

.type-example .scrolled.circle-graph-heading li {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.type-example .circle-graph-heading li:nth-of-type(1) {
    font-weight: bold;
    color: #d6051a;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
    top: 40px;
    right: -10px;
}

.type-example .circle-graph-heading li:nth-of-type(1) .big {
    font-size: 300%;
    color: #d6051a;
}

.type-example .circle-graph-heading li:nth-of-type(2) {
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s;
    top: 100px;
    left: 0px;
}

.type-example .circle-graph-heading li:nth-of-type(3) {
    -webkit-transition-delay: 0.9s;
    transition-delay: 0.9s;
    top: 5px;
    left: 20px;
}

.type-example .circle-graph-heading li:nth-of-type(4) {
    width: 100px;
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s;
    top: -60px;
    left: 225px;
}

.type-example .circle-graph-heading li:nth-of-type(4) .add-info.rev {
    width: 200px;
    bottom: -30px;
    left: -120px;
}

.type-example .circle-graph-heading li .small {
    font-size: 50%;
}

.type-example .ie-only-graph-image {
    display: none;
}

.type-example .ie11 .ie-only-graph-image {
    display: block;
}

.circle-graph-info .circle-graph-info-element {
    padding-left: 1.25em;
    position: relative;
}

.circle-graph-info .circle-graph-info-element>span {
    position: absolute;
    top: 0;
    left: 0;
}

.circle-graph-info .c01 {
    color: #f6b4b8;
}

.circle-graph-info .c02 {
    color: #dcbcbd;
}


.circle-graph-info .c03 {
    color: #f6d4d6;
}

.circle-graph-info .c04 {
    color: #c5bfbf;
}

/* 円グラフ02(type03-a) */
.type-example .graph01 .circle-graph {
    width: 260px;
}

.type-example .graph01 .circle-graph-heading li {
    font-size: 50px;
    color: #d6051a;
}

.type-example .graph01 .circle-graph-heading li:nth-of-type(1) {
    font-size: 30px;
    top: 110px;
    right: 0px;
}

.type-example .graph01 .circle-graph-heading li:nth-of-type(1) .big {
    font-size: 260%;
}

.type-example .circle-graph-heading li:nth-of-type(2) {
    top: 80px;
}

.type-example .circle-graph-heading li:nth-of-type(3) {
    top: -5px;
    left: 30px;
}

.type-example .graph01 .circle-graph-heading li .small {
    color: #d6051a;
}

.type-example .graph01 .circle-graph-heading li .add-info {
    width: 300px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
}

.type-example .graph01 .circle-graph-heading li .add-info.rev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.type-example .graph01 .circle-graph-heading li .add-info:after {
    content: "";
    width: 70px;
    height: 20px;
    display: block;
    color: #000;
    border-top: 1px solid;
    border-right: 2px solid;
    -webkit-transform: skewX(50deg);
    transform: skewX(50deg);
}

.type-example .graph01 .circle-graph-heading li .add-info.rev:after {
    border-left: 2px solid;
    border-right: none;
    -webkit-transform: skewX(-50deg);
    transform: skewX(-50deg);
}

.type-example .graph01 .circle-graph-heading li:nth-of-type(1) .add-info {
    top: 0px;
    right: -240px;
}

.type-example .graph01 .circle-graph-heading li:nth-of-type(2) .add-info {
    top: -10px;
    right: 30px;
}

.type-example .graph01 .circle-graph-heading li:nth-of-type(3) .add-info {
    top: -10px;
    right: -40px;
}

.type-example .graph01 .circle-graph-heading li .add-info .job {
    margin-top: -15px;
    margin-left: 20px;
    font-size: 18px;
}

.type-example .graph01 .circle-graph-heading li .add-info .dtl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 3em;
    font-weight: 400;
    font-size: 16px;
    text-align: left;
}

.type-example .graph01 .circle-graph-heading li .add-info .dtl::before {
    content: "∟";
    display: block;
    font-size: 80%;
}


.type-example .graph01 .circle-graph-label * {
    color: #000;
}

@media(max-width:1024px) {
    .type-example .graph01 .circle-graph-heading li .add-info:after {
        width: 50px;
        height: 10px;
    }

    .type-example .graph01 .circle-graph-heading li:nth-of-type(1) .add-info {
        right: -190px;
    }

    .type-example .graph01 .circle-graph-heading li:nth-of-type(2) .add-info {
        top: 0px;
        right: -20px;
    }

    .type-example .graph01 .circle-graph-heading li:nth-of-type(3) .add-info {
        top: -5px;
        right: -60px;
    }

    .type-example .circle-graph-heading li:nth-of-type(4) {
        top: -40px;
        left: 199px;
    }
}

@media(max-width:599px) {
    .type-example .graph01 .circle-graph-heading li {
        font-size: 36px;
    }

    .type-example .graph01 .circle-graph {
        width: 180px;
    }

    .type-example .graph01 .circle-graph-heading li .add-info {
        scale: 0.6;
    }

    .type-example .graph01 .circle-graph-heading li:nth-of-type(1) {
        font-size: 20px;
        top: 90px;
        right: 20px;
    }

    .type-example .graph01 .circle-graph-heading li:nth-of-type(1) .add-info {
        top: -20px;
        right: -160px;
    }

    .type-example .circle-graph-heading li:nth-of-type(2) {
        top: 60px;
    }

    .type-example .graph01 .circle-graph-heading li:nth-of-type(2) .add-info {
        top: -10px;
        right: -70px;
    }

    .type-example .circle-graph-heading li:nth-of-type(3) {
        top: 5px;
        left: 40px;
    }

    .type-example .graph01 .circle-graph-heading li:nth-of-type(3) .add-info {
        top: -5px;
        right: -90px;
    }

    .type-example .circle-graph-heading li:nth-of-type(4) {
        top: -30px;
        left: 108px;
        font-size: 24px;
    }

    .type-example .circle-graph-heading li:nth-of-type(4) .add-info.rev {
        bottom: -10px;
        left: -90px;
    }
}

/* 円グラフ02(type03-b) */
.type-example .graph02 .circle-graph-heading li {
    font-size: 24px;
}

.type-example .graph02 .circle-graph-heading li:nth-of-type(1) .big {
    font-size: 160%;
    letter-spacing: -2px;
}

.type-example .graph02 .circle-graph-heading li:nth-of-type(1) {
    top: 50px;
    right: -20px;
}

.type-example .graph02 .circle-graph-heading li:nth-of-type(2) {
    top: 110px;
    left: 15px;
}

.type-example .graph02 .circle-graph-heading li:nth-of-type(3) {
    top: 65px;
    left: -5px;
}

.type-example .graph02 .circle-graph-heading li:nth-of-type(4) {
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s;
    top: 20px;
    left: 5px;
}

@media(max-width:1024px) {
    .type-example .graph02 .circle-graph-heading li {
        font-size: 18px;
    }

    .type-example .graph02 .circle-graph-heading li:nth-of-type(1) {
        top: 60px;
        right: 0px;
    }

    .type-example .graph02 .circle-graph-heading li:nth-of-type(2) {
        top: 110px;
        left: 25px;
    }

    .type-example .graph02 .circle-graph-heading li:nth-of-type(3) {
        top: 70px;
    }

    .type-example .graph02 .circle-graph-heading li:nth-of-type(4) {
        top: 30px;
        left: 10px;
    }
}

/* 画像 */

.img {
    text-align: center;
}

.pic img {
    width: 100%;
}

[class*="up-ofi"] {
    height: 100%;
}



/* color */

.color-black {
    color: #000;
}

.color-white {
    color: #fff;
}

.color-red {
    color: #ad0707;
}

.color-red02 {
    color: #e60013;
}

.color-grey {
    color: #969696;
}

.color-darkgrey {
    color: #555;
}

.color-blue {
    color: #175dd3;
}

.color-lightblue {
    color: #00a0e9;
}

/*背景カラー*/

.bgcolor-black {
    background-color: #000;
}

.bgcolor-white {
    background-color: #fff;
}

.bgcolor-lightblack {
    background-color: #212121;
}

.bgcolor-lightgrey {
    background: #ececec;
}

.bgcolor-red {
    background: #cd0818;
}

.bgcolor-red02 {
    background: #e60114;
}

.bgcolor-lightblue {
    background: #00a0e9;
}

/* border-radius */
.br-20 {
    border-radius: 20px;
}

.br-10 {
    border-radius: 10px;
}

.border-b1 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-bottom: 1px solid;
}

/* decoration */
.yellow-line {
    content: "";
    width: 450px;
    background-image: url(/import/tenant_3/recruit.unison-planet.com/recruit_renewal/sales/images/common/line-yellow.webp);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;

    aspect-ratio: 800/90;
}

@media(max-width:599px) {
    .yellow-line {
        width: 250px;
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
        left: 50%;
    }
}

/* 共通コンテンツ間隔 */

[class*="section-m"],
[class*="section-p"] {
    --section-xlarge: 150px;
    --section-large: 120px;
    --section-medium: 100px;
    --section-small: 80px;
    --section-xsmall: 60px;
}

.section-my-xlarge {
    margin-top: var(--section-xlarge);
    margin-bottom: var(--section-xlarge);
}

.section-mt-xlarge {
    margin-top: var(--section-xlarge);
}

.section-mb-xlarge {
    margin-bottom: var(--section-xlarge);
}

.section-my-large {
    margin-top: var(--section-large);
    margin-bottom: var(--section-large);
}

.section-mt-large {
    margin-top: var(--section-large);
}

.section-mb-large {
    margin-bottom: var(--section-large);
}

.section-my-medium {
    margin-top: var(--section-medium);
    margin-bottom: var(--section-medium);
}

.section-mt-medium {
    margin-top: var(--section-medium);
}

.section-mb-medium {
    margin-bottom: var(--section-medium);
}

.section-my-small {
    margin-top: var(--section-small);
    margin-bottom: var(--section-small);
}

.section-mt-small {
    margin-top: var(--section-small);
}

.section-mb-small {
    margin-bottom: var(--section-small);
}

.section-my-xsmall {
    margin-top: var(--section-xsmall);
    margin-bottom: var(--section-xsmall);
}

.section-mt-xsmall {
    margin-top: var(--section-xsmall);
}

.section-mb-xsmall {
    margin-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
    .section-my-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.8);
        margin-bottom: calc(var(--section-xlarge) * 0.8);
    }

    .section-mt-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.8);
    }

    .section-mb-xlarge {
        margin-bottom: calc(var(--section-xlarge) * 0.8);
    }

    .section-my-large {
        margin-top: calc(var(--section-large) * 0.8);
        margin-bottom: calc(var(--section-large) * 0.8);
    }

    .section-mt-large {
        margin-top: calc(var(--section-large) * 0.8);
    }

    .section-mb-large {
        margin-bottom: calc(var(--section-large) * 0.8);
    }

    .section-my-medium {
        margin-top: calc(var(--section-medium) * 0.8);
        margin-bottom: calc(var(--section-medium) * 0.8);
    }

    .section-mt-medium {
        margin-top: calc(var(--section-medium) * 0.8);
    }

    .section-mb-medium {
        margin-bottom: calc(var(--section-medium) * 0.8);
    }

    .section-my-small {
        margin-top: calc(var(--section-small) * 0.8);
        margin-bottom: calc(var(--section-small) * 0.8);
    }

    .section-mt-small {
        margin-top: calc(var(--section-small) * 0.8);
    }

    .section-mb-small {
        margin-bottom: calc(var(--section-small) * 0.8);
    }

    .section-my-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.8);
        margin-bottom: calc(var(--section-xsmall) * 0.8);
    }

    .section-mt-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.8);
    }

    .section-mb-xsmall {
        margin-bottom: calc(var(--section-xsmall) * 0.8);
    }
}

@media (max-width: 599px) {
    .section-my-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.6);
        margin-bottom: calc(var(--section-xlarge) * 0.6);
    }

    .section-mt-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.6);
    }

    .section-mb-xlarge {
        margin-bottom: calc(var(--section-xlarge) * 0.6);
    }

    .section-my-large {
        margin-top: calc(var(--section-large) * 0.6);
        margin-bottom: calc(var(--section-large) * 0.6);
    }

    .section-mt-large {
        margin-top: calc(var(--section-large) * 0.6);
    }

    .section-mb-large {
        margin-bottom: calc(var(--section-large) * 0.6);
    }

    .section-my-medium {
        margin-top: calc(var(--section-medium) * 0.6);
        margin-bottom: calc(var(--section-medium) * 0.6);
    }

    .section-mt-medium {
        margin-top: calc(var(--section-medium) * 0.6);
    }

    .section-mb-medium {
        margin-bottom: calc(var(--section-medium) * 0.6);
    }

    .section-my-small {
        margin-top: calc(var(--section-small) * 0.6);
        margin-bottom: calc(var(--section-small) * 0.6);
    }

    .section-mt-small {
        margin-top: calc(var(--section-small) * 0.6);
    }

    .section-mb-small {
        margin-bottom: calc(var(--section-small) * 0.6);
    }

    .section-my-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.6);
        margin-bottom: calc(var(--section-xsmall) * 0.6);
    }

    .section-mt-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.6);
    }

    .section-mb-xsmall {
        margin-bottom: calc(var(--section-xsmall) * 0.6);
    }
}

.section-py-xlarge {
    padding-top: var(--section-xlarge);
    padding-bottom: var(--section-xlarge);
}

.section-pt-xlarge {
    padding-top: var(--section-xlarge);
}

.section-pb-xlarge {
    padding-bottom: var(--section-xlarge);
}

.section-py-large {
    padding-top: var(--section-large);
    padding-bottom: var(--section-large);
}

.section-pt-large {
    padding-top: var(--section-large);
}

.section-pb-large {
    padding-bottom: var(--section-large);
}

.section-py-medium {
    padding-top: var(--section-medium);
    padding-bottom: var(--section-medium);
}

.section-pt-medium {
    padding-top: var(--section-medium);
}

.section-pb-medium {
    padding-bottom: var(--section-medium);
}

.section-py-small {
    padding-top: var(--section-small);
    padding-bottom: var(--section-small);
}

.section-pt-small {
    padding-top: var(--section-small);
}

.section-pb-small {
    padding-bottom: var(--section-small);
}

.section-py-xsmall {
    padding-top: var(--section-xsmall);
    padding-bottom: var(--section-xsmall);
}

.section-pt-xsmall {
    padding-top: var(--section-xsmall);
}

.section-pb-xsmall {
    padding-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
    .section-py-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.8);
        padding-bottom: calc(var(--section-xlarge) * 0.8);
    }

    .section-pt-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.8);
    }

    .section-pb-xlarge {
        padding-bottom: calc(var(--section-xlarge) * 0.8);
    }

    .section-py-large {
        padding-top: calc(var(--section-large) * 0.8);
        padding-bottom: calc(var(--section-large) * 0.8);
    }

    .section-pt-large {
        padding-top: calc(var(--section-large) * 0.8);
    }

    .section-pb-large {
        padding-bottom: calc(var(--section-large) * 0.8);
    }

    .section-py-medium {
        padding-top: calc(var(--section-medium) * 0.8);
        padding-bottom: calc(var(--section-medium) * 0.8);
    }

    .section-pt-medium {
        padding-top: calc(var(--section-medium) * 0.8);
    }

    .section-pb-medium {
        padding-bottom: calc(var(--section-medium) * 0.8);
    }

    .section-py-small {
        padding-top: calc(var(--section-small) * 0.8);
        padding-bottom: calc(var(--section-small) * 0.8);
    }

    .section-pt-small {
        padding-top: calc(var(--section-small) * 0.8);
    }

    .section-pb-small {
        padding-bottom: calc(var(--section-small) * 0.8);
    }

    .section-py-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.8);
        padding-bottom: calc(var(--section-xsmall) * 0.8);
    }

    .section-pt-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.8);
    }

    .section-pb-xsmall {
        padding-bottom: calc(var(--section-xsmall) * 0.8);
    }
}

@media (max-width: 599px) {
    .section-py-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.6);
        padding-bottom: calc(var(--section-xlarge) * 0.6);
    }

    .section-pt-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.6);
    }

    .section-pb-xlarge {
        padding-bottom: calc(var(--section-xlarge) * 0.6);
    }

    .section-py-large {
        padding-top: calc(var(--section-large) * 0.6);
        padding-bottom: calc(var(--section-large) * 0.6);
    }

    .section-pt-large {
        padding-top: calc(var(--section-large) * 0.6);
    }

    .section-pb-large {
        padding-bottom: calc(var(--section-large) * 0.6);
    }

    .section-py-medium {
        padding-top: calc(var(--section-medium) * 0.6);
        padding-bottom: calc(var(--section-medium) * 0.6);
    }

    .section-pt-medium {
        padding-top: calc(var(--section-medium) * 0.6);
    }

    .section-pb-medium {
        padding-bottom: calc(var(--section-medium) * 0.6);
    }

    .section-py-small {
        padding-top: calc(var(--section-small) * 0.6);
        padding-bottom: calc(var(--section-small) * 0.6);
    }

    .section-pt-small {
        padding-top: calc(var(--section-small) * 0.6);
    }

    .section-pb-small {
        padding-bottom: calc(var(--section-small) * 0.6);
    }

    .section-py-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.6);
        padding-bottom: calc(var(--section-xsmall) * 0.6);
    }

    .section-pt-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.6);
    }

    .section-pb-xsmall {
        padding-bottom: calc(var(--section-xsmall) * 0.6);
    }
}



/*===================================
共通タイトル
===================================*/

[class*="ttl-type-"] {
    --ttl-mb-xlarge: 70px;
    --ttl-mb-large: 60px;
    --ttl-mb-medium: 50px;
    --ttl-mb-small: 40px;
    --ttl-mb-xsmall: 30px;
}

/* ttl-type-01 */

.ttl-type-01 {
    font-family: "Bonheur Royale", cursive;
    font-size: 120px;
    color: #ad0707;
}

.ttl-type-01>span {
    display: block;
}

.ttl-type-01 .ja {
    font-size: 14px;
}

@media (max-width: 1024px) {
    .ttl-type-01 {
        font-size: 100px;
    }
}

@media (max-width: 599px) {
    .ttl-type-01 {
        font-size: 90px;
    }
}

/* ttl-type-02 */

.ttl-type-02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-weight: 500;
    font-size: 30px;
    color: #fff;
}

.ttl-type-02 .sub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    font-size: 20px;
}

.ttl-type-02 .sub::before {
    content: "";
    width: 1em;
    height: 2px;
    display: block;
    margin-right: 5px;
    background: #fff;
}

@media (max-width: 1024px) {
    .ttl-type-01 {
        /* font-size: 100px; */
    }
}

@media (max-width: 599px) {
    .ttl-type-02 {
        font-size: 26px;
    }

    .ttl-type-02 .sub {
        font-size: 18px;
    }
}

.ttl-mb-xlarge {
    margin-bottom: var(--ttl-mb-xlarge);
}

.ttl-mb-large {
    margin-bottom: var(--ttl-mb-large);
}

.ttl-mb-medium {
    margin-bottom: var(--ttl-mb-medium);
}

.ttl-mb-small {
    margin-bottom: var(--ttl-mb-small);
}

.ttl-mb-xsmall {
    margin-bottom: var(--ttl-mb-xsmall);
}

.ttl-mb-none {
    margin-bottom: 0;
}

@media (max-width: 1024px) {
    .ttl-mb-xlarge {
        margin-bottom: calc(var(--ttl-mb-xlarge) * 0.8);
    }

    .ttl-mb-large {
        margin-bottom: calc(var(--ttl-mb-large) * 0.8);
    }

    .ttl-mb-medium {
        margin-bottom: calc(var(--ttl-mb-medium) * 0.8);
    }

    .ttl-mb-small {
        margin-bottom: calc(var(--ttl-mb-small) * 0.8);
    }

    .ttl-mb-xsmall {
        margin-bottom: calc(var(--ttl-mb-xsmall) * 0.8);
    }

    .ttl-mb-none {
        margin-bottom: 0;
    }
}

@media (max-width: 599px) {
    .ttl-mb-xlarge {
        margin-bottom: calc(var(--ttl-mb-xlarge) * 0.6);
    }

    .ttl-mb-large {
        margin-bottom: calc(var(--ttl-mb-large) * 0.6);
    }

    .ttl-mb-medium {
        margin-bottom: calc(var(--ttl-mb-medium) * 0.6);
    }

    .ttl-mb-small {
        margin-bottom: calc(var(--ttl-mb-small) * 0.6);
    }

    .ttl-mb-xsmall {
        margin-bottom: calc(var(--ttl-mb-xsmall) * 0.6);
    }

    .ttl-mb-none {
        margin-bottom: 0;
    }
}

.ttl-left {
    text-align: left;
}

.ttl-center {
    text-align: center;
}

.ttl-right {
    text-align: right;
}



/*===================================
共通ボタン
===================================*/

[class*="btn-type-"] {
    --btn-mt-xlarge: 70px;
    --btn-mt-large: 60px;
    --btn-mt-medium: 50px;
    --btn-mt-small: 40px;
    --btn-mt-xsmall: 30px;
}

/* btn-type-01 */
.btn-type-01 a {
    min-width: 220px;
    display: inline-block;
    overflow: hidden;
    padding: 15px 30px;
    color: white;
    text-align: center;
    text-decoration: none;
    outline: none;
    border: 1px solid #e70014;
    border-radius: 5px;
    background-color: #e70014;
    -webkit-transition: ease 0.2s;
    transition: ease 0.2s;
    position: relative;
}

.btn-type-01 a .btn-text {
    position: relative;
    z-index: 3;
}

.btn-type-01 a:hover {
    color: #e70014;
}

.btn-type-01.hbg a {
    min-width: 180px;
    padding: 5px 10px;
    font-size: 12px;
    color: #fff;
    position: relative;
}

.btn-type-01.hbg.other a::after {
    content: "";
    width: 13px;
    height: 13px;
    background-image: url(/upload/tenant_3/3d53ea306855563ae34a0f1805131653.png);
    background-size: cover;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 10px;
}

/*ボタン内spanの形状*/
.btn-type-01 a.btn:hover {
    opacity: 1;
}

.btn-type-01 .btn span {
    color: #fff;
    position: relative;
    z-index: 3;
}

.btn-type-01 .btn:hover span {
    color: #e70014;
}

.btn-type-01 a:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.btn-type-01 .btn:hover:before {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}

.btn-type-01 .btn::after {
    content: "";
    width: 10px;
    height: 10px;
    color: #fff;
    border-bottom: 2px solid;
    border-left: 2px solid;
    -webkit-transform: translate(0, -50%) rotate(-135deg);
    transform: translate(0, -50%) rotate(-135deg);
    position: absolute;
    top: 50%;
    right: 20px;
}

.btn-type-01 .btn.back::after {
    -webkit-transform: translate(0, -50%) rotate(45deg);
    transform: translate(0, -50%) rotate(45deg);
    top: 50%;
    left: 20px;
    right: auto;
}

.btn-type-01 .btn.none::after {
    content: none;
}

@media (max-width: 1024px) {}

@media (max-width: 599px) {}

/* btn-type-02 */

.btn-type-02>* {
    width: 100px;
    height: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    background: #ffeded;
}

/* btn-type-03 */

.btn-type-03 a {
    min-width: 220px;
    display: inline-block;
    overflow: hidden;
    padding: 15px 30px;
    text-align: center;
    text-decoration: none;
    outline: none;
    border: 1px solid #fff;
    border-radius: 5px;
    -webkit-transition: ease 0.2s;
    transition: ease 0.2s;
    position: relative;
    z-index: 2;
}

.btn-type-03 a.btn:hover {
    opacity: 1;
}

.btn-type-03 .btn span {
    color: #fff;
    position: relative;
    z-index: 3;
}

.btn-type-03 .btn:hover span {
    color: #e70014;
}

.btn-type-03 a:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.btn-type-03 .btn:hover:before {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}

.btn-type-03 .btn::after {
    content: "";
    width: 10px;
    height: 10px;
    color: #fff;
    border-bottom: 2px solid;
    border-left: 2px solid;
    -webkit-transform: translate(0, -50%) rotate(-135deg);
    transform: translate(0, -50%) rotate(-135deg);
    position: absolute;
    top: 50%;
    right: 15px;
}

/* btn-type-04 */
.btn-type-04 a {
    min-width: 320px;
    display: inline-block;
    overflow: hidden;
    padding: 15px 30px;
    text-align: center;
    text-decoration: none;
    outline: none;
    border: 1px solid #00a0e9;
    border-radius: 5px;
    background-color: #00a0e9;
    -webkit-transition: ease 0.2s;
    transition: ease 0.2s;
    position: relative;
}

.btn-type-04.other a {
    border: 1px solid #004ea2;
    background-color: #004ea2;
}

.btn-type-04 a.btn:hover {
    opacity: 1;
}

.btn-type-04 .btn span {
    color: #fff;
    position: relative;
    z-index: 3;
}

.btn-type-04 .btn:hover span {
    color: #00a0e9;
}

.btn-type-04.other .btn:hover span {
    color: #004ea2;
}

.btn-type-04 a:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.btn-type-04 .btn:hover:before {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}

.btn-type-04 .btn::after {
    content: "";
    width: 10px;
    height: 10px;
    color: #fff;
    border-bottom: 2px solid;
    border-left: 2px solid;
    -webkit-transform: translate(0, -50%) rotate(-135deg);
    transform: translate(0, -50%) rotate(-135deg);
    position: absolute;
    top: 50%;
    right: 20px;
}

.btn-type-04 .btn.back::after {
    -webkit-transform: translate(0, -50%) rotate(45deg);
    transform: translate(0, -50%) rotate(45deg);
    top: 50%;
    left: 20px;
    right: auto;
}

@media(max-width:599px) {
    .btn-type-04 a {
        min-width: 220px;
        padding: 15px 20px 15px 20px;
        font-size: 12px;
    }

    .btn-type-04 .btn::after {
        width: 8px;
        height: 8px;
        right: 10px;
    }
}

/* 共通ボタン上書き */

.btn-mt-xlarge {
    margin-top: var(--btn-mt-xlarge);
}

.btn-mt-large {
    margin-top: var(--btn-mt-large);
}

.btn-mt-medium {
    margin-top: var(--btn-mt-medium);
}

.btn-mt-small {
    margin-top: var(--btn-mt-small);
}

.btn-mt-xsmall {
    margin-top: var(--btn-mt-xsmall);
}

.btn-mt-none {
    margin-top: 0;
}

@media (max-width: 1024px) {
    .btn-mt-xlarge {
        margin-top: calc(var(--btn-mt-xlarge) * 0.8);
    }

    .btn-mt-large {
        margin-top: calc(var(--btn-mt-large) * 0.8);
    }

    .btn-mt-medium {
        margin-top: calc(var(--btn-mt-medium) * 0.8);
    }

    .btn-mt-small {
        margin-top: calc(var(--btn-mt-small) * 0.8);
    }

    .btn-mt-xsmall {
        margin-top: calc(var(--btn-mt-xsmall) * 0.8);
    }

    .btn-mt-none {
        margin-top: 0;
    }
}

@media (max-width: 599px) {
    .btn-mt-xlarge {
        margin-top: calc(var(--btn-mt-xlarge) * 0.6);
    }

    .btn-mt-large {
        margin-top: calc(var(--btn-mt-large) * 0.6);
    }

    .btn-mt-medium {
        margin-top: calc(var(--btn-mt-medium) * 0.6);
    }

    .btn-mt-small {
        margin-top: calc(var(--btn-mt-small) * 0.6);
    }

    .btn-mt-xsmall {
        margin-top: calc(var(--btn-mt-xsmall) * 0.6);
    }

    .btn-mt-none {
        margin-top: 0;
    }
}

.btn-w-full>* {
    width: 100%;
}

.btn-w-xlarge>* {
    width: 350px;
}

.btn-w-xlarge>* {
    width: 300px;
}

.btn-w-medium>* {
    width: 250px;
}

.btn-w-small>* {
    width: 200px;
}

.btn-w-xsmall>* {
    width: 150px;
}

.btn-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.btn-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.btn-right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}



/*===================================
共通ブロック
==================================*/

/* block-type-01 */



/*===================================
共通要素
===================================*/

/* header */

.header {
    width: 100%;
    color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
}

[data-element-id] .header {
    position: relative;
}

.header.change-color {
    background-color: rgb(255 255 255 / 90%);
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.header.change-color.other {
    padding: 20px 0;
}

@media(max-width:599px) {
    .header.change-color.other {
        padding: 6px 0;
    }
}

/* change-color */
.header.change-color #gnav,
.header.change-color h1 {
    color: #000;
}

.header.change-color #gnav .logo-block .logo img {
    -webkit-filter: brightness(0);
    filter: brightness(0);
}

@media(max-width:599px) {
    .header.change-color #gnav .barger-body {
        color: #fff;
    }
}

/* gnav */

#gnav .logo-block .logo img {
    width: 250px;
}

#gnav .barger-body .barger-inner .flex .item .tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 15px;
}

#gnav .barger-body .barger-inner .flex .item .tit .en {
    font-weight: 600;
    font-size: 12px;
    color: #e60013;
}



#gnav .barger-body .barger-inner .flex .item.icon-faq>* {
    width: 30px;
    height: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 500;
    color: #ad0707;
    line-height: 1;
    letter-spacing: 0;
    border-radius: 50%;
    background: #fff;
}

.change-color #gnav .barger-body .barger-inner .flex .item.icon-faq>* {
    background: #cecbcb;
}

#gnav .barger-body .barger-inner .flex .item.icon-faq>*:hover {
    color: #fff;
    background: #ad0707;
}

[data-element-id] #gnav .logo-block .logo img {
    width: 200px;
}

[data-element-id] #gnav .barger-body .barger-inner .flex .barger-logo img {
    width: 180px;
}

@media(max-width:1024px) {
    #gnav {
        max-width: none;
    }

    #gnav .barger-body .barger-inner .flex .item .tit {
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start;
        padding: 10px 0;
        color: #fff;
    }

    #gnav .barger-body .barger-inner .flex .barger-logo img {
        width: 200px;
    }
}

@media(max-width:599px) {
    #gnav .logo-block .logo img {
        width: 160px;
    }
}

/* dropdown */
#gnav .dropdown {
    position: relative;
}

[data-element-id] #gnav .dropdown>ul {
    width: 100%;
    visibility: visible;
    opacity: 1;
    position: static;
}

#gnav .dropdown>.drop-item {
    width: 45rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    visibility: hidden;
    padding: 10px;
    padding: 40px;
    border-radius: 10px;
    background: rgb(0 0 0 / 50%);
    opacity: 0;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    position: absolute;
    top: 100%;
    left: 50%;
}

#gnav .dropdown>.drop-item.min {
    width: 30rem;
}

#gnav .dropdown:hover>.drop-item {
    visibility: visible;
    opacity: 1;
}

#gnav .dropdown:hover>.drop-item .title {
    width: 25%;
    color: #fff;
    border-right: 1px solid;
}

#gnav .dropdown:hover>.drop-item.min .title {
    width: 30%;
}

#gnav .dropdown>.drop-item ul {
    padding: 0 30px;
}

#gnav .dropdown>.drop-item ul li {
    margin: 0;
}

#gnav .dropdown>.drop-item ul li+li {
    margin-top: 10px;
}

#gnav .dropdown>.drop-item ul li a {
    color: #fff;
    position: relative;
}

#gnav .dropdown>.drop-item ul li a::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
    -webkit-transition: -webkit-transform 0.5s;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;
    /*アンダーラインがaタグの下端から現れる*/
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
    -webkit-transform-origin: left top;
    transform-origin: left top;
    position: absolute;
    bottom: -1px;
    left: 0;
    /*変形の時間*/
}

#gnav .dropdown>.drop-item ul li a:hover {
    opacity: 1;
}

#gnav .dropdown>.drop-item ul li a:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    /*ホバー後、x軸方向に1（相対値）伸長*/
}

@media (max-width: 1024px) {
    #gnav .dropdown>.drop-item {
        width: 100%;
        display: block;
        visibility: visible;
        padding: 0;
        padding: 0;
        border-radius: 0;
        background: none;
        opacity: 1;
        -webkit-transition: none;
        transition: none;
        -webkit-transform: none;
        transform: none;
        position: relative;
        top: auto;
        left: auto;
    }

    #gnav .dropdown>.drop-item ul {
        width: 100%;
        visibility: visible;
        margin-bottom: 10px;
        padding: 0;
        background: none;
        opacity: 1;
        position: static;
    }

    #gnav .dropdown>.drop-item ul li a {
        padding-left: 1.5em;
        font-size: 12px;
        color: #969696;
        position: relative;
    }

    #gnav .dropdown>.drop-item ul li a:before {
        content: "∟";
        font-size: 10px;
        line-height: 1.5;
        position: absolute;
        top: 0;
        left: 0;
    }
}



/* barger */

@media (max-width: 1024px) {
    .toggle {
        width: 40px;
        height: 35px;
        background: none;
        opacity: 0.8;
        cursor: pointer;
        position: fixed;
        top: 5px;
        right: 5px;
        z-index: 251;
    }

    .toggle .bar {
        width: 28px;
        height: 3px;
        display: block;
        margin-top: -1px;
        padding: 0;
        text-indent: 9999px;
        border-radius: 5px;
        background: #fff;
        -webkit-transition: ease 0.5s;
        transition: ease 0.5s;
        position: absolute;
        top: 50%;
        left: 7px;
    }

    .change-color .toggle .bar {
        background: #000;
    }

    .change-color .toggle.active .bar {
        background: #fff;
    }

    .toggle .bar:before,
    .toggle .bar:after {
        content: "";
        width: 28px;
        height: 3px;
        display: block;
        border-radius: 5px;
        background: #fff;
        position: absolute;
        left: 0;
    }

    .change-color .bar:before,
    .change-color .toggle .bar:after {
        background-color: #000;
    }

    .change-color .active .bar:before,
    .change-color .active .bar:after {
        background-color: #fff;
    }

    .toggle .bar:before {
        top: -10px;
    }

    .toggle .bar:after {
        top: 10px;
    }

    .toggle.active .bar {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .toggle.active .bar:after,
    .toggle.active .bar:before {
        -webkit-transition: 0.5s;
        transition: 0.5s;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        top: 0;
        left: 0;
    }

    .barger-body {
        width: 80%;
        max-width: 350px;
        height: 100vh;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: #212121;
        -webkit-transition: 0.4s;
        transition: 0.4s;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        position: fixed;
        top: 0;
        right: 0;
        z-index: 250;
    }

    .barger-body.active {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    .barger-inner {
        padding: 40px 15px 100px;
    }

    .overlay {
        width: 100%;
        height: 100vh;
        visibility: hidden;
        background: #000;
        opacity: 0;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 249;
    }

    .overlay.active {
        visibility: visible;
        opacity: 0.3;
    }
}

/* card */
:root {
    --hue: 223;
    --bg: hsl(var(--hue), 10%, 90%);
    --fg: hsl(var(--hue), 10%, 10%);
    --primary: hsl(var(--hue), 90%, 55%);
}

#footer {
    background-color: #000;
}

#footer .btn-fixed {
    position: fixed;
    bottom: 5%;
    right: 5%;
    z-index: 9;
}

.card {
    overflow: hidden;
    position: relative;
}

.card,
.card__texture {
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.card {
    width: 220px;
    height: 55px;
    color: hsl(0, 0%, 100%);
    border: 2px solid #cd0818;
    border-radius: 10px;
    background-image: radial-gradient(circle at 100% 0%, hsla(0, 0%, 100%, 0.08) 29.5%, hsla(0, 0%, 100%, 0) 30%),
        radial-gradient(circle at 100% 0%, hsla(0, 0%, 100%, 0.08) 39.5%, hsla(0, 0%, 100%, 0) 40%),
        radial-gradient(circle at 100% 0%, hsla(0, 0%, 100%, 0.08) 49.5%, hsla(0, 0%, 100%, 0) 50%);
    background-color: #e70014;
    -webkit-box-shadow: 0 0 0 hsl(0, 0%, 80%),
        0 0 0 hsl(0, 0%, 100%),
        -0.2rem 0 0.75rem 0 hsla(0, 0%, 0%, 0.3);
    box-shadow: 0 0 0 hsl(0, 0%, 80%),
        0 0 0 hsl(0, 0%, 100%),
        -0.2rem 0 0.75rem 0 hsla(0, 0%, 0%, 0.3);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-animation-name: rotate;
    animation-name: rotate;
}

.card__info,
.card__texture {
    position: absolute;
}

.card__texture {
    width: 200%;
    height: 100%;
    -webkit-animation-name: texture;
    animation-name: texture;
    top: 0;
    left: 0;
}

.card__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 5px;

    inset: 0;
}

.card__logo {
    width: 100%;
}

.card__logo {
    font-weight: bold;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 2px;
    text-align: center;
}

.card__texture {
    background-image: linear-gradient(-80deg, hsla(0, 0%, 100%, 0.3) 25%, hsla(0, 0%, 100%, 0) 45%);
    -webkit-animation-name: texture;
    animation-name: texture;
}

#footer .btn-fixed a:hover {
    opacity: 1;
}

#footer .btn-fixed a:hover .card {
    border: 2px solid #cd0818;
    background-color: #fff;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

#footer .btn-fixed a:hover .card .card__logo {
    color: #cd0818;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

/* Dark theme */
@media (prefers-color-scheme: dark) {
    :root {
        --bg: hsl(var(--223), 10%, 30%);
        --fg: hsl(var(--223), 10%, 90%);
    }
}

/* Animation */
@-webkit-keyframes rotate {

    from,
    to {
        -webkit-box-shadow: 0 0 0 hsl(0, 0%, 80%),
            0.1rem 0 0 hsl(0, 0%, 100%),
            -0.2rem 0 0.75rem 0 hsla(0, 0%, 0%, 0.3);
        box-shadow: 0 0 0 hsl(0, 0%, 80%),
            0.1rem 0 0 hsl(0, 0%, 100%),
            -0.2rem 0 0.75rem 0 hsla(0, 0%, 0%, 0.3);
        -webkit-transform: rotateY(-10deg);
        transform: rotateY(-10deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    25%,
    75% {
        -webkit-box-shadow: 0 0 0 hsl(0, 0%, 80%),
            0 0 0 hsl(0, 0%, 100%),
            -0.25rem -0.05rem 1rem 0.15rem hsla(0, 0%, 0%, 0.3);
        box-shadow: 0 0 0 hsl(0, 0%, 80%),
            0 0 0 hsl(0, 0%, 100%),
            -0.25rem -0.05rem 1rem 0.15rem hsla(0, 0%, 0%, 0.3);
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        -webkit-box-shadow: -0.1rem 0 0 hsl(0, 0%, 80%),
            0 0 0 hsl(0, 0%, 100%),
            -0.3rem -0.1rem 1.5rem 0.3rem hsla(0, 0%, 0%, 0.3);
        box-shadow: -0.1rem 0 0 hsl(0, 0%, 80%),
            0 0 0 hsl(0, 0%, 100%),
            -0.3rem -0.1rem 1.5rem 0.3rem hsla(0, 0%, 0%, 0.3);
        -webkit-transform: rotateY(10deg);
        transform: rotateY(10deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

@keyframes rotate {

    from,
    to {
        -webkit-box-shadow: 0 0 0 hsl(0, 0%, 80%),
            0.1rem 0 0 hsl(0, 0%, 100%),
            -0.2rem 0 0.75rem 0 hsla(0, 0%, 0%, 0.3);
        box-shadow: 0 0 0 hsl(0, 0%, 80%),
            0.1rem 0 0 hsl(0, 0%, 100%),
            -0.2rem 0 0.75rem 0 hsla(0, 0%, 0%, 0.3);
        -webkit-transform: rotateY(-10deg);
        transform: rotateY(-10deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    25%,
    75% {
        -webkit-box-shadow: 0 0 0 hsl(0, 0%, 80%),
            0 0 0 hsl(0, 0%, 100%),
            -0.25rem -0.05rem 1rem 0.15rem hsla(0, 0%, 0%, 0.3);
        box-shadow: 0 0 0 hsl(0, 0%, 80%),
            0 0 0 hsl(0, 0%, 100%),
            -0.25rem -0.05rem 1rem 0.15rem hsla(0, 0%, 0%, 0.3);
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        -webkit-box-shadow: -0.1rem 0 0 hsl(0, 0%, 80%),
            0 0 0 hsl(0, 0%, 100%),
            -0.3rem -0.1rem 1.5rem 0.3rem hsla(0, 0%, 0%, 0.3);
        box-shadow: -0.1rem 0 0 hsl(0, 0%, 80%),
            0 0 0 hsl(0, 0%, 100%),
            -0.3rem -0.1rem 1.5rem 0.3rem hsla(0, 0%, 0%, 0.3);
        -webkit-transform: rotateY(10deg);
        transform: rotateY(10deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

@-webkit-keyframes texture {

    from,
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    50% {
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
    }
}

@keyframes texture {

    from,
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    50% {
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
    }
}


/* footer */


#footer .img-block .img {
    width: 100%;
    height: 100%;
    opacity: 0.5;
    position: absolute;
    top: 0px;
    left: 0;
    z-index: 1;
}

#footer .img-block .img>* {
    width: 100vw;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

/* 
#footer .img-block .zoom img {
    animation: animationZoom1 5s ease-in-out forwards;
    transform: scale(1.5);
} */

@-webkit-keyframes animationZoom1 {
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes animationZoom1 {
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

#footer .img-block .box {
    min-height: 430px;
    position: relative;
    z-index: 2;
}

#footer .img-block .box .btn .text {
    border-bottom: 1px solid;
}

#footer .img-block .box .btn .icon-right>* {
    width: 100px;
    height: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
}

#footer .footer-block .white .box .item {
    border-left: 1px solid #808080;
    border-right: 1px solid #808080;
}

#footer .footer-block .white .box .item:first-child {
    border-right: none;
}

#footer .footer-block .white .box .item>*>* {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: 10px;
    -webkit-column-gap: 25px;
    -moz-column-gap: 25px;
    column-gap: 25px;
}

#footer .footer-block .white .box .item.faq .icon {
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0;
    border: 2px solid;
    border-radius: 50%;
}

#footer .footer-block .white .box .item .txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

#footer .footer-block .white .box .item .txt .en {
    font-weight: 600;
    font-size: 20px;
}

#footer .footer-block .white .box .item .txt .ja {
    font-weight: 300;
    font-size: 14px;
}

#footer .footer-block .black .box .info {
    border-right: 1px solid #808080;
}

#footer .footer-block .black .box .sitemap>*:first-child {
    -webkit-column-gap: 35px;
    -moz-column-gap: 35px;
    column-gap: 35px;
}

#footer .footer-block .black .box .sitemap .item .tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px;
}

#footer .footer-block .black .box .sitemap .item .tit .en {
    margin-right: 20px;
    color: #e60013;
}

#footer .footer-block .black .box .sitemap .item .tit .ja {
    font-weight: 300;
    color: #fff;
}

#footer .footer-block .black .box .sitemap .item ul li {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 5px;
    font-size: 12px;
    color: #969696;
}

#footer .footer-block .black .box .sitemap .icon.faq>* {
    width: 25px;
    height: 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    letter-spacing: 0;
    border: 1px solid;
    border-radius: 50%;
}

#footer .copy {
    margin: 30px 0;
    font-size: 12px;
    color: #969696;
    text-align: center;
}

@media(max-width:1024px) {
    #footer .img-block .box {
        min-height: 340px;
    }

    #footer .img-block .box .btn .icon-right>* {
        width: 80px;
        height: 80px;
    }

    #footer .footer-block .black .box .info {
        border: none;
    }

    #footer .copy {
        margin: 0;
        font-size: 10px;
    }
}

@media (max-width:599px) {
    .btn-fixed.btn-type-01 a {
        min-width: 130px;
        padding: 10px 30px;
        font-size: 14px;
    }

    .btn-fixed.btn-type-01 .bgleft::after {
        width: 8px;
        height: 8px;
        border-bottom: 2px solid;
        border-left: 2px solid;
        right: 15px;
    }

    #footer .img-block .img>* {
        scale: 1.3;
    }

    #footer .img-block .box {
        min-height: 300px;
    }

    #footer .img-block .box .btn .icon-right>* {
        width: 80px;
        height: 80px;
    }

    #footer .footer-block .black .box .sitemap .item .tit {
        margin-bottom: 10px;
    }

    #footer .footer-block .white .box .item .txt .en {
        margin-top: 10px;
        font-size: 16px;
        text-align: center;
    }

    #footer .copy {
        margin-bottom: 50px;
    }
}

/* A-BiSUスライダー用 */

.uk-slideshow {
    height: auto !important;
    position: relative;
}

.uk-slideshow:before {
    content: "";
    display: block;
    padding-top: 60%;
}

[data-element-id] .uk-slideshow>li {
    opacity: 1;
}

.uk-slideshow>li {
    width: 100%;
    height: 100% !important;
    position: absolute;
    top: 0;
}

.uk-slideshow>li>div {
    height: 100% !important;
}

.uk-slideshow>li>div>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    font-family: "object-fit: cover; object-position: 50% 50%;";
}

.uk-slideshow+* {
    margin-top: 10px !important;
}

.uk-slider {
    height: 100px;
    margin-left: -10px;
}

.uk-slider li {
    height: 100%;
    padding-left: 10px;
}

.uk-slider li>div {
    height: 100% !important;
}

.uk-slider li>div img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    font-family: "object-fit: cover; object-position: 50% 50%;";
}

@media (max-width: 1024px) {
    .uk-slider {
        height: 90px;
    }

    .uk-slideshow>li>div>img {
        -o-object-position: 60% 50%;
        object-position: 70% 50%;
    }
}

@media (max-width: 599px) {
    .uk-slider {
        height: 80px;
    }

    .uk-slider li {
        width: 33.333%;
    }
}



/*===================================
トップページ
===================================*/

/* mainimg */

.mainimg {
    position: relative;
}

.mainimg .catch {
    white-space: nowrap;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 5;
}

.mainimg .catch>* {
    display: block;
}

.mainimg .catch .en {
    width: 50%;
    min-width: 200px;
    margin-bottom: -10%;
    margin-left: -10%;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    position: relative;
    z-index: 1;
}

.mainimg .catch .ja {
    font-size: 6vw;
    color: #fff;
    letter-spacing: 0.1em;
    text-align: center;
    position: relative;
    z-index: 2;
}

.mainimg .sub-tit {
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    color: #fff;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -webkit-transform: translate(0%, -50%) rotate(0deg);
    transform: translate(0%, -50%) rotate(0deg);
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    column-gap: 30px;
    position: absolute;
    top: 50%;
    right: 50px;
    z-index: 5;
}

[data-element-id] .mainimg .sub-tit {
    white-space: nowrap;
    -ms-writing-mode: inherit;
    -webkit-writing-mode: inherit;
    writing-mode: inherit;
    top: 40%;
}

.mainimg .sub-tit span {
    line-height: 1.2;
    letter-spacing: 0;
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.mainimg .uk-slideshow:before {
    padding-top: 100vh;
}

@media (max-width:1024px) {
    .mainimg .sub-tit {
        font-size: 14px;
        right: 30px;
    }
}

@media (max-width:599px) {
    .mainimg .uk-slideshow:before {
        padding-top: 100dvh;
    }

    .mainimg .catch .en {
        width: 70%;
        margin-left: 0%;
    }

    .mainimg .catch .ja {
        font-size: 7vw;
    }

    .mainimg .sub-tit {
        font-weight: 300;
        font-size: 10px;
        right: 5px;
    }
}

/*========= SVG操作手書き風にするためのCSS ===============*/

#mask .cls-1 {
    fill: none;
    stroke: #fff;
    stroke-width: 15;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
    stroke-dasharray: 2000;
    stroke-dashoffset: 1500;
}

[data-element-id] #mask .cls-1 {
    fill: #fff;
    stroke-width: 200px;
}


/* scroll-concept */

.conceptWrap {
    position: relative;
    z-index: 5;
}

.conceptBg {
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
}

[data-element-id] .conceptBg {
    width: auto;
    height: auto;
    pointer-events: auto;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
}

.conceptBgImg {
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-transition: opacity 1.5s;
    transition: opacity 1.5s;
}

[data-element-id] .conceptBgImg {
    opacity: 1;
}

.conceptBgImg {
    -webkit-filter: brightness(0.4);
    filter: brightness(0.4);
}

[data-element-id] .message .conceptBgImg {
    -webkit-filter: brightness(1);
    filter: brightness(1);
}

.conceptBgImg.is-show {
    opacity: 1;
}

.conceptBgImg:not(:first-child) {
    position: absolute;
    top: 0;
}

[data-element-id] .conceptBgImg:not(:first-child) {
    position: relative;
}

.conceptBgImg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.concept {
    position: relative;
    z-index: 4;
}

[data-element-id] .concept {
    width: auto;
    height: auto;
    position: relative;
    bottom: auto;
}

.conceptSec {
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.message .conceptSec {
    height: 150vh;
}

[data-element-id] .conceptSec {
    height: auto;
    margin: 20px;
}

.conceptSecTxt {
    letter-spacing: 0.1em;
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
}

.message .conceptSec .conceptSecTxt {
    width: 1000px;
}

@media (min-width: 599px) {
    .conceptSecTxt {
        font-size: 20px;
        line-height: 2;
    }

    .conceptSec .conceptSecTxt {
        margin: 0 8vh 0 8vw;
    }

    .message .conceptSec:nth-of-type(odd) .conceptSecTxt {
        margin-left: 8vw;
        margin-right: auto;
    }

    .message .conceptSec:nth-of-type(even) .conceptSecTxt {
        margin-left: auto;
        margin-right: 8vw;
        text-align: left;
    }

    [data-element-id] .conceptSec:nth-of-type(odd) .conceptSecTxt,
    [data-element-id] .conceptSec:nth-of-type(even) .conceptSecTxt {
        width: 100%;
        margin: 0;
        padding: 20px;
        background: #333;
    }
}

@media (max-width: 1024px) {
    .message .conceptSec {
        height: auto !important;
        margin-top: 500px;
    }

    .message .conceptSec:first-child {
        margin-top: 50px;
    }

    .conceptSec:nth-of-type(odd) .conceptSecTxt {
        width: 600px;
        margin: 30vh 10vh 0 4vw;
    }

    .conceptSec:nth-of-type(even) .conceptSecTxt {
        width: 600px;
        margin: 30vh 4vw 0 10vh;
    }
}

@media (max-width: 599px) {
    .conceptSecTxt {
        margin-left: 24px;
        font-size: 18px;
        line-height: 2;
    }

    .conceptSec:nth-of-type(odd) .conceptSecTxt {
        margin: 0 2vh 0 2vw;
    }

    .conceptSec:nth-of-type(even) .conceptSecTxt {
        margin: 0 2vh 0 2vw;
        -moz-text-align-last: left;
        text-align-last: left;
    }

    .message .conceptSec {
        height: 150dvh;
    }
}

.conceptSecTxt .js-scroll {
    display: inline-block;
    position: relative;
    z-index: 2;
}

.conceptSecTxt .en {
    width: 400px;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    position: absolute;
    top: -130px;
    left: -10%;
    z-index: 0;
}

.conceptSecTxt .en.other {
    width: 220px;
    top: -110px;
}

[data-element-id] .conceptSecTxt .en {
    width: 300px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    top: 0px;
    left: 0%;
}

.message .conceptSecTxt .js-scroll {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

@media (max-width: 768px) {
    .conceptSecTxt-03 {
        letter-spacing: 0.05em;
    }
}

.concept .conceptSecTxt {
    color: #fff;
}

.concept .conceptSecTxt.top {
    font-size: 28px;
    position: relative;
}

.conceptClose {
    position: relative;
    z-index: 3;
}

@media (min-width: 599px) {
    .conceptClose {
        padding: 200px 0;
    }
}

@media (max-width: 599px) {
    .conceptClose {
        padding: 240px 0 180px;
    }

    .concept .conceptSecTxt.top {
        font-size: 18px;
    }
}

@media (min-width: 599px) {
    .conceptLead {
        margin-bottom: 76px;
    }
}

@media(max-width:1024px) {
    .conceptSecTxt .en {
        width: 300px;
        top: -90px;
        left: -3%;
    }

    .conceptSecTxt .en.other {
        width: 180px;
        top: -90px;
    }
}

@media (max-width: 599px) {
    .conceptLead {
        margin-bottom: 54px;
    }

    .conceptSecTxt .en {
        width: 200px;
        top: -70px;
        left: 0%;
    }

    .conceptSecTxt .en.other {
        width: 130px;
        top: -70px;
    }
}

/* scroll-slider pjStory */
.pjStory {
    position: relative;
}

@media (min-width: 1025px) {
    .pjStory {
        padding: 17.5695461201vw 0 16.1054172767vw;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .pjStory {
        padding: 240px 0 220px;
    }
}

@media (max-width: 768px) {
    .pjStory {
        padding-top: 140px;
    }
}

.pjStory.is-show::before {
    content: "";
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.pjStoryHead {
    position: relative;
    z-index: 2;
}

.pjStoryBodyWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.pjStoryBody {
    position: relative;
}

.pjStorySlide {
    width: 100%;
    height: 100vh;
    margin: auto;
    padding-top: 200px;
}

@media (max-width: 1024px) and (min-width: 769px) {
    .pjStorySlide {
        /*  width: 82.4304538799vw; */
    }
}

@media (max-width: 599px) {
    .pjStorySlide {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.pjStorySlide:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

[data-element-id] .pjStorySlide:not(:first-child) {
    position: relative;
}

.pjStoryImg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

[data-element-id] .pjStoryImg {
    opacity: 1;
}

@media (min-width: 769px) {
    .pjStoryImg {
        /*  height: 48vh; */
        margin-bottom: 16px;
    }
}

@media (max-width: 768px) {
    .pjStoryImg {
        margin-bottom: 18px;
    }
}

.pjStoryImg img {
    width: 100%;
    height: 100%;
    overflow: hidden;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 4px;
}

@media (min-width: 769px) {
    .pjStoryImg img {
        height: 100%;
        -webkit-transition: -webkit-filter 0.3s;
        transition: -webkit-filter 0.3s;
        transition: filter 0.3s;
        transition: filter 0.3s, -webkit-filter 0.3s;
    }
}

.pjStorySlideLink.-comingsoon {
    pointer-events: none;
}

@media (min-width: 769px) {
    .pjStorySlideLink:hover .pjStoryImg img {
        -webkit-filter: grayscale(0%);
        filter: grayscale(0%);
    }
}

@media (max-width: 768px) {
    .pjStoryContsTxts {
        margin-bottom: 12px;
    }
}


.pjStoryContsHead {
    margin-bottom: 8px;
    margin-right: 10%;
}

@media (max-width: 599px) {
    .pjStoryContsHead {
        margin-bottom: 0;
        margin-right: 0;
    }
}

.pjStoryContsHeadIn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

@media(max-width:599px) {
    .pjStoryContsHeadIn {
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start;
    }
}

.pjStoryContsHead__num {
    font-family: mrs-eaves-xl-serif, serif;
    font-weight: normal;
    line-height: 1.3;
}

@media (min-width: 769px) {
    .pjStoryContsHead__num {
        margin-right: 24px;
        font-size: 100px;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .pjStoryContsHead__num {
        font-size: 72px;
    }
}

@media (max-width: 768px) {
    .pjStoryContsHead__num {
        margin-right: 10px;
        font-size: 32px;
    }
}

.pjStoryContsHead__ttl {
    line-height: 1.45;
    text-align: justify;
}

@media (min-width: 769px) {
    .pjStoryContsHead__ttl {
        font-size: 24px;
    }
}

@media (max-width: 768px) {
    .pjStoryContsHead__ttl {
        font-size: 20px;
    }
}

@media (min-width: 769px) {
    .pjStoryContsBtn {
        margin-top: 38px;
        margin-left: auto;
    }
}

/* スクロールアニメーション 準備 */
.pjStorySlide {
    pointer-events: none;
}

.pjStoryContsBtn {
    opacity: 0;
}

.pjStoryContsHead,
.pjStoryContsBody {
    overflow: hidden;
}

[data-element-id] .pjStoryContsHead,
[data-element-id] .pjStoryContsBody {
    overflow: visible;
}

.pjStoryContsHeadIn,
.pjStoryContsBodyTxt {
    padding-top: 20px;
    line-height: 1.8;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
}

[data-element-id] .pjStoryContsHeadIn,
[data-element-id] .pjStoryContsBodyTxt {
    -webkit-transform: none;
    transform: none;
}

.pjStoryImg {
    opacity: 0;
}

@media(max-width:1024px) {

    .pjStoryContsHeadIn,
    .pjStoryContsBodyTxt {
        padding-top: 0px;
    }
}

/* スクロールアニメーション 表示 */
.pjStorySlide.is-show {
    pointer-events: auto;
}

.pjStorySlide.is-show .pjStoryImg {
    -webkit-animation: pjStoryImgShow 0.6s 0.6s forwards;
    animation: pjStoryImgShow 0.6s 0.6s forwards;
}

.pjStorySlide.is-show .pjStoryContsHeadIn,
.pjStorySlide.is-show .pjStoryContsBodyTxt {
    -webkit-animation: pjStoryTxtShow 0.6s 0.6s forwards;
    animation: pjStoryTxtShow 0.6s 0.6s forwards;
}

.pjStorySlide.is-show .pjStoryContsBtn {
    opacity: 1;
}

@-webkit-keyframes pjStoryImgShow {
    0% {
        opacity: 0;
        -webkit-filter: blur(50px);
        filter: blur(50px);
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }

    100% {
        opacity: 1;
        -webkit-filter: blur(0);
        filter: blur(0);
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes pjStoryImgShow {
    0% {
        opacity: 0;
        -webkit-filter: blur(50px);
        filter: blur(50px);
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }

    100% {
        opacity: 1;
        -webkit-filter: blur(0);
        filter: blur(0);
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes pjStoryTxtShow {
    0% {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes pjStoryTxtShow {
    0% {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

/* スクロールアニメーション 非表示 */
.pjStorySlide.is-prev .pjStoryImg {
    -webkit-animation: pjStoryImgHide 0.6s forwards;
    animation: pjStoryImgHide 0.6s forwards;
}

.pjStorySlide.is-prev .pjStoryContsHeadIn,
.pjStorySlide.is-prev .pjStoryContsBodyTxt {
    -webkit-animation: pjStoryTxtHide 0.6s forwards;
    animation: pjStoryTxtHide 0.6s forwards;
}

@-webkit-keyframes pjStoryImgHide {
    0% {
        opacity: 1;
        -webkit-filter: blur(0);
        filter: blur(0);
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    100% {
        opacity: 0;
        -webkit-filter: blur(50px);
        filter: blur(50px);
        -webkit-transform: scale(0.3);
        transform: scale(0.3);
    }
}

@keyframes pjStoryImgHide {
    0% {
        opacity: 1;
        -webkit-filter: blur(0);
        filter: blur(0);
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    100% {
        opacity: 0;
        -webkit-filter: blur(50px);
        filter: blur(50px);
        -webkit-transform: scale(0.3);
        transform: scale(0.3);
    }
}

@-webkit-keyframes pjStoryTxtHide {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes pjStoryTxtHide {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

/* スクロールアニメーション 固定化 */
.pjStoryBodyWrap.is-fixed .pjStoryBody {
    position: fixed;
    top: 0;
}

@media(max-width:1024px) {
    .pjStoryBodyWrap.is-fixed .pjStoryBody {
        width: 94%;
    }
}

@media(max-width:599px) {
    .pjStoryBodyWrap.is-fixed .pjStoryBody {
        width: 95%;
    }
}


/* スクロールアニメーション 終了後 */
.is-end>* {
    margin-top: auto;
}

/* index-speed */

.index-speed {
    color: #fff;
    background: #cd0818;
    position: relative;
    z-index: 3;
}

.index-speed>* {
    position: relative;
    z-index: 5;
}

.index-speed .ttl {
    margin-bottom: 1em;
    font-size: clamp(20px, 4.5vw, 50px);
    letter-spacing: 0.1em;
}

.index-speed.other .ttl {
    margin-bottom: 50px;
}

.index-speed .txt {
    font-size: clamp(16px, 1.8vw, 30px);
}

.index-speed.type04 .txt {
    font-size: clamp(24px, 2.8vw, 32px);
}

.index-speed.other .txt {
    font-size: 16px;
    line-height: 2;
}

.index-speed .bg-red {
    width: 100%;
    height: 30%;
    background: #cd0818;
    position: absolute;
    top: 99.9%;
    left: 0;
    z-index: 0;

    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
    clip-path: polygon(0 0, 0% 100%, 100% 0);
}

.index-speed .bg-red.rev {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

.index-speed .tel>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

[data-element-id] .index-speed .tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

[data-element-id] .index-speed .tel>* {
    display: block;
}

.index-speed .tel .tel-icon {
    margin-right: 20px;
    -webkit-transform: rotate(-25deg);
    transform: rotate(-25deg);
}

@media(max-width:1024px) {
    .index-speed.other {
        padding-bottom: 10px;
    }

    .index-speed.other .ttl {
        margin-bottom: 30px;
    }
}

@media (max-width:599px) {
    .index-speed .bg-red {
        height: 10%;
    }
}

/* index-message */
.index-message .left .tit-img {
    position: relative;
    z-index: 2;
}

.index-message .left .tit-img .img {
    min-width: 200px;
    max-width: 300px;
}

.index-message .left .tit-img .tit {
    position: absolute;
    bottom: 40%;
    right: 0;
}

.index-message .left .txt {
    font-weight: 500;
    line-height: 2;
}

.index-message .right .index-message-list>* {
    -webkit-column-gap: 10px;
    -moz-column-gap: 10px;
    column-gap: 10px;
}

.index-message .right .index-message-list .item {
    width: 24%;
    overflow: hidden;
    background: #818181;
    -webkit-box-shadow: 20px 20px 20px #818181;
    box-shadow: 20px 20px 20px #818181;
}

.index-message .right .index-message-list .item:nth-of-type(4n+1) {
    height: 500px;
}

.index-message .right .index-message-list .item:nth-of-type(4n+2) {
    height: 550px;
}

.index-message .right .index-message-list .item:nth-of-type(4n+3) {
    height: 700px;
}

.index-message .right .index-message-list .item:nth-of-type(4n+4) {
    height: 580px;
}

[data-element-id] .index-message .right .index-message-list .item:nth-of-type(4n+1),
[data-element-id] .index-message .right .index-message-list .item:nth-of-type(4n+2),
[data-element-id] .index-message .right .index-message-list .item:nth-of-type(4n+3),
[data-element-id] .index-message .right .index-message-list .item:nth-of-type(4n+4) {
    height: auto;
}

.index-message .slick-vertical .slick-slide {
    margin-bottom: 10px !important;
    border: none;
}

@media (max-width:1024px) {
    .index-message>* {
        max-width: none;
    }

    .index-message .left .tit-img {
        padding-top: 100px;
    }

    .index-message .left .tit-img .tit {
        bottom: 10%;
        left: 0;
        right: auto;
    }

    .index-message .right .index-message-list .item:nth-of-type(4n+1) {
        height: 340px;
    }

    .index-message .right .index-message-list .item:nth-of-type(4n+2) {
        height: 380px;
    }

    .index-message .right .index-message-list .item:nth-of-type(4n+3) {
        height: 460px;
    }

    .index-message .right .index-message-list .item:nth-of-type(4n+4) {
        height: 400px;
    }
}

@media (max-width:599px) {
    .index-message .left .tit-img {
        padding-top: 0px;
    }

    .index-message .right .index-message-list .item:nth-of-type(4n+1) {
        height: 210px;
    }

    .index-message .right .index-message-list .item:nth-of-type(4n+2) {
        height: 240px;
    }

    .index-message .right .index-message-list .item:nth-of-type(4n+3) {
        height: 300px;
    }

    .index-message .right .index-message-list .item:nth-of-type(4n+4) {
        height: 260px;
    }
}

/* index-type */
.index-type .type-list {
    position: relative;
}

[data-element-id] .index-type .type-list .box {
    margin-top: 50px;
}

.index-type .big-tit {
    width: 25%;
    min-width: 130px;
    max-width: 170px;
    position: absolute;
    top: 120px;
    right: 7%;
    z-index: 3;
}

.index-type .type-list .box .txt-box {
    /*    margin-top: 30px; */
}

.index-type .type-list .box .txt-box .num {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 40px;
    font-weight: 500;
    font-size: 64px;
    color: #e60013;
    line-height: 1;
}

.index-type .type-list .box .txt-box .tit {
    width: 80%;
    font-weight: 500;
    font-size: 24px;
}

.index-type .btn-next>* {
    width: 100px;
    height: 100px;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 20px;
    margin-right: 10px;
    color: #ad0707;
    border-radius: 50%;
    background: #efdfdf;
}

.index-type .btn-next>*::before {
    content: "\f054";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.index-type .btn-next>*:hover::before {
    -webkit-transform: rotateX(360deg);
    transform: rotateX(360deg);
}

.index-type .btn-back {
    display: none !important;
}

.index-type .slick-dots {
    width: auto;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
    position: absolute;
    top: 0;
    bottom: auto;
    right: -80px;
}

.index-type .slick-dots li button:before {
    font-size: 12px;
    color: #000;
    line-height: 1;
    opacity: 0.15;
}

.index-type .slick-dots li.slick-active button:before {
    color: #ad0707;
    opacity: 1;
}

.index-type .slick-dots li.slick-active button:hover:before {
    opacity: 1;
}

.index-type .slick-dots li button:hover:before {
    color: #ad0707;
    opacity: 1;
}

.index-type .slick-dots li button:hover {
    opacity: 1;
}

@media (max-width:1024px) {
    .index-type .big-tit {
        width: 20%;
        right: 2%;
    }

    .index-type .type-list .box .txt-box .tit {
        font-size: 18px;
    }

    .index-type .type-list .box .txt-box .num {
        margin-right: 20px;
    }

    .index-type .btn-next>* {
        width: 80px;
        height: 80px;
    }

    .index-type .slick-dots {
        right: -60px;
    }
}

@media (max-width:599px) {
    .index-type .big-tit {
        position: absolute;
        right: 1%;
        z-index: 3;
    }

    .index-type .type-list .box .txt-box .num {
        margin-right: 10px;
        font-size: 50px;
    }

    .index-type .type-list .box .txt-box .tit {
        width: 100%;
        font-size: 18px;
    }

    .index-type .type-list .box .txt {
        display: none;
        margin-top: 0px;
    }

    .index-type .slick-dots {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        margin: 50px 0 0;
        position: relative;
        top: auto;
        bottom: auto;
        right: auto;
    }

    .index-type .btn-next>* {
        margin-left: 10px;
    }
}

/* index-member */
.index-member .type-list {
    position: relative;
    z-index: 2;
}

[data-element-id] .index-member .type-list>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.index-member .type-list .box {
    padding: 0px 0px 0 60px;
}

[data-element-id].index-member .type-list .box {
    width: 25%;
}

.index-member .type-list .box a:hover {
    opacity: 1;
}

.index-member .type-list .box .img-box {
    height: 460px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: relative;
}

.index-member .type-list .box .img-box .png-img {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
}

.index-member .type-list .box .img-box .png-img img {
    height: 400px;
}

.index-member .type-list .box a:hover .img-box .png-img img {
    height: 410px;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.index-member .type-list .box .img-box .bg-img {
    width: 200px;
    height: 350px;
    overflow: hidden;
    -webkit-filter: grayscale(1) brightness(0.8);
    filter: grayscale(1) brightness(0.8);
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: skewX(15deg);
    transform: skewX(15deg);
    z-index: 1;
}

.index-member .type-list .box a:hover .img-box .bg-img {
    -webkit-filter: grayscale(0) brightness(1);
    filter: grayscale(0) brightness(1);
}

.index-member .type-list .box .img-box .bg-img img {
    -o-object-position: 30%;
    object-position: 30%;
    -webkit-transform: skewX(-15deg) scale(1.5) translate(-10px,20px);
    transform: skewX(-15deg) scale(1.5) translate(-10px,20px);
}

.index-member .type-list .box .img-box .en-name {
    margin-bottom: 5px;
    color: #000;
    -webkit-transform: translateX(-45px);
    transform: translateX(-45px);
}

.index-member .type-list .box .info-box {
    margin-top: 10px;
    padding-left: 40px;
}

.index-member .btn-slick {
    width: 80px;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    border-radius: 50%;
    background: rgb(0 0 0 / 85%);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    z-index: 3;
}

.index-member .btn-slick:hover {
    background: #000;
}

.index-member .btn-slick.btn-back {
    left: 20px;
}

.index-member .btn-slick.btn-next {
    right: 20px;
}

.index-member .tit {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: absolute;
    top: 0;
    right: 5%;
    z-index: 3;
}

.index-member .bg-red {
    width: 100%;
    height: 30%;
    background: #cd0818;
    position: absolute;
    bottom: 10%;
    left: 0;
    z-index: 1;
}

[data-element-id] .index-member .bg-red {
    height: 80%;
    bottom: 90px;
}

.index-member .bg-red.bottom {
    content: "";
    width: 100%;
    height: 80px;
    background: -webkit-gradient(linear, left bottom, right top, color-stop(50.1%, transparent), color-stop(50%, #cd0818)) no-repeat top left / 50.1% 100%, -webkit-gradient(linear, right bottom, left top, color-stop(50%, transparent), color-stop(50%, #cd0818)) no-repeat bottom right/50% 100%;
    background: linear-gradient(to top right, transparent 50.1%, #cd0818 50%) no-repeat top left / 50.1% 100%, linear-gradient(to top left, transparent 50%, #cd0818 50%) no-repeat bottom right/50% 100%;
    position: absolute;
    bottom: 1%;
    left: 0;
}

.index-member .bg_dot {
    content: "";
    width: 1000px;
    max-width: 90%;
    height: 500px;
    background-image: radial-gradient(#eaa5aa 12%, transparent 12%);
    background-size: 20px 20px;
    background-position: 0 0,
        40px 40px;
    background-color: #fff;
    position: absolute;
    bottom: 35%;
    left: 0;
}

.index-member.other .tit-img {
    width: 25%;
    min-width: 270px;
    max-width: 330px;
    margin-bottom: 0px;
    margin-left: auto;
    margin-right: 15%;
    padding-bottom: 30px;
    position: relative;
    z-index: 2;
}

.index-member.other .tit-img .tit {
    top: auto;
    bottom: 0px;
    right: -20px;
}

.index-member.other .bg-red {
    height: 40%;
    bottom: 0%;
}

@media (max-width:1024px) {
    .index-member .tit {
        top: 30px;
    }

    .index-member .bg_dot {
        width: 600px;
        height: 450px;
    }
}

@media (max-width:599px) {
    .index-member .bg-red {
        bottom: 7%;
    }

    .index-member .bg-red.bottom {
        height: 50px;
        bottom: 0.9%;
    }

    .index-member .btn-slick {
        width: 60px;
        height: 60px;
    }

    .index-member .btn-slick.btn-back {
        left: 10px;
    }

    .index-member .btn-slick.btn-next {
        right: 10px;
    }

    .index-member .type-list .box .info-box {
        padding-left: 0;
        -webkit-transform: translate(-8%, 0);
        transform: translate(-8%, 0);
    }
}

/* tab */

.tabItem {
    display: none;
    opacity: 0;
}

[data-element-id].tabItem {
    display: block;
    opacity: 1;
}

.tabItem.active {
    display: block;
    opacity: 1;
    -webkit-animation: fade-in 2s;
    animation: fade-in 2s;
}

@-webkit-keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* index-job */
.index-job .tit-img {
    position: relative;
    z-index: 2;
}

.index-job .tit-img .img {
    width: 20%;
    min-width: 150px;
    max-width: 180px;
}

.index-job .tit-img .tit {
    position: absolute;
    bottom: 5%;
    left: 150px;
}

.index-job .job-list .btn-box .btn {
    width: 400px;
    max-width: 100%;
    padding: 15px;
    font-family: "Noto Serif JP";
    color: #bfbfbf;
    border-bottom: 2px solid;
    position: relative;
}

.index-job .job-list .btn-box .btn::after {
    content: "";
    width: 12px;
    height: 12px;
    border-bottom: 2px solid;
    border-left: 2px solid;
    -webkit-transform: translate(0, -50%) rotate(-135deg);
    transform: translate(0, -50%) rotate(-135deg);
    position: absolute;
    top: 50%;
    right: 20px;
}

.index-job .job-list .js-toggle .btn-box .btn::after {
    -webkit-transform: translate(0, -50%) rotate(-225deg);
    transform: translate(0, -50%) rotate(-225deg);
}

.index-job .job-list .js-toggle.is-parent .btn-box .btn::after {
    -webkit-transform: translate(0, -50%) rotate(315deg);
    transform: translate(0, -50%) rotate(315deg);
}

.index-job .job-list .btn-box .btn.active {
    color: #cd0818;
    -webkit-transform: translate(-15px, 0px);
    transform: translate(-15px, 0px);
}

.index-job .job-list .btn-box .btn:hover {
    color: #cd0818;
    cursor: pointer;
}

.index-job .job-list .btn-box .btn .ja {
    font-size: 32px;
}

.index-job .job-list .btn-box .btn .en {
    font-size: 14px;
}

.index-job .job-list .content-box .item ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;

    row-gap: 20px;
}

.index-job .not-rec {
    width: 500px;
    font-size: 18px;
    color: #333;
}

[data-element-id] .index-job .job-list .content-box .item ul {
    margin-bottom: 50px;
}

.index-job .job-list .content-box .item ul li>* {
    width: 500px;
    min-height: 110px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 10px 50px;
    font-weight: 500;
    font-size: 20px;
    color: #cd0818;
    border-radius: 10px;
    background: #fff;
    position: relative;
}

.index-job .job-list .content-box .item ul li>*:hover {
    background: #efdfdf;
    opacity: 1;
}

.index-job .job-list .content-box .item ul li>*::after {
    content: "\f054";
    width: 60px;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 16px;
    color: #ad0707;
    letter-spacing: 0px;
    border-radius: 50%;
    background: #efdfdf;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 20px;
}

@media (max-width:1024px) {
    .index-job .job-list .btn-box .btn .ja {
        font-size: 26px;
    }

    .index-job .job-list .btn-box .btn {
        width: 300px;
        margin: 0 auto;
    }


    .index-job .job-list .content-box .item ul li>* {
        width: 380px;
        min-height: 90px;
        font-size: 16px;
    }
}

@media (max-width:599px) {
    .index-job .job-list.none {
        display: none;
    }

    .index-job .job-list .content-box .item ul li>* {
        width: 300px;
        min-height: 70px;
        margin: 0 auto;
        font-size: 14px;
    }

    .index-job .job-list .content-box .item ul li>*::after {
        width: 40px;
        height: 40px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-weight: bold;
        font-size: 16px;
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
        position: absolute;
        top: 50%;
        right: 10px;
    }

    .index-job .job-list .btn-box .btn {
        color: #d62626;
    }
}

/*===================================
下層ページ
===================================*/

/* topvisual */

.topvisual {
    height: 90vh;
    position: relative;
}

[data-element-id].topvisual {
    height: 100vh;
}

.topvisual .txt-box {
    position: relative;
    z-index: 3;
}

.topvisual .txt-box .catch {
    width: 60%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-weight: 900;
    font-size: 80px;
    color: #d20909;
    letter-spacing: 10px;
    text-shadow: 5px 5px 5px #b3b3b3;
}

.topvisual .txt-box .name {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
}

.topvisual .txt-box .name .en {
    width: 280px;
    opacity: 0.8;
    -webkit-filter: brightness(0);
    filter: brightness(0);
    -webkit-transform: rotate(350deg);
    transform: rotate(350deg);
    position: absolute;
    bottom: -60px;
    right: -250px;
    z-index: -1;
}

.topvisual .img-box {
    width: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
}

.topvisual .img-box>* {
    position: relative;
}

.topvisual .img-box::before {
    content: "";
    width: 80%;
    height: 100%;
    display: block;
    background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), color-stop(30%, #ececec));
    background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, #ececec 30%);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
}

.topvisual .img-box .back {
    width: 80%;
    max-width: 1200px;
    margin-left: auto;
}

.topvisual .tit-img {
    width: 28%;
    min-width: 200px;
    max-width: 300px;
    position: absolute;
    bottom: 1%;
    right: 5%;
    z-index: 2;
}

.topvisual .tit-img .tit {
    position: absolute;
    bottom: 80%;
    right: 5%;
}

@media(max-width:1024px) {
    .topvisual {
        max-height: 600px;
    }

    .topvisual .txt-box .catch {
        font-size: 50px;
    }
}

@media(max-width:599px) {
    .topvisual {
        overflow: hidden;
    }

    .topvisual .txt-box .catch {
        width: 100%;
        font-size: 36px;
    }

    .topvisual .img-box .back {
        width: 100%;
    }

    .topvisual .tit-img {
        bottom: 2%;
        left: auto;
        right: 5%;
    }

    .topvisual .img-box {
        width: 150%;
        right: -10%;
    }

    .topvisual .txt-box .name .en {
        width: 110px;
        bottom: 0px;
        right: -110px;
    }
}

/* business */
.business-mv {
    height: 660px;
    position: relative;
}

.business-mv .img-box {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.business-mv .txt-box {
    padding-top: 10%;
    color: #fff;
    position: relative;
    z-index: 2;
}

.mission {
    margin-top: -80px;
    position: relative;
    z-index: 2;
}

.mission-box {
    padding: 50px;
}

.mission-box .box .item>* {
    height: 100%;
    min-height: 280px;
    padding: 40px 10px;
    border-radius: 10px;
    background: #fff;
}

.mission-box .box .item {
    color: #000;
}

.mission-box .box .item .tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 600;
    text-align: center;
}

.mission-box .box .item .tit .en {
    margin-bottom: 5px;
    color: #e60114;
}

.mission-box .box .item .txt {
    margin-top: 10px;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 1px;
    text-align: center;
}

.mershandise .mershandise-list {
    padding: 80px 40px 40px;
}

.mershandise .mershandise-list .tit-img {
    width: 30%;
    min-width: 300px;
    max-width: 400px;
    position: absolute;
    top: -90px;
    left: -40px;
}

.mershandise .mershandise-list .tit-img .tit {
    color: #cd0818;
    -webkit-transform: translate(320px, -10px);
    transform: translate(320px, -10px);
}

.mershandise .mershandise-list .box {
    padding: 60px 20px;
    border: 5px solid #e8e6e6;
    border-radius: 20px;
    position: relative;
}

.mershandise .mershandise-list .box .tit-logo {
    width: 25%;
    min-width: 200px;
    padding: 15px;
    background: #fff;
    position: absolute;
    top: -6%;
    left: 20px;
}

.mershandise .mershandise-list .box .graph-info .info-list li>* {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.5em 1em;
    font-weight: 600;
    text-align: center;
    border-radius: 10px;
    background: #d6f0fb;
}

.vision .img-box .tit-img {
    width: 24%;
    min-width: 150px;
    max-width: 220px;
    position: absolute;
    top: -70px;
    right: -20px;
}

.vision .img-box .img img {
    -webkit-filter: brightness(0.5);
    filter: brightness(0.5);
}

.performance .performance-list {
    margin-left: calc(50% - 500px);
    padding: 80px calc(50% - 500px) 80px 40px;
}

.performance .img-box {
    width: 30%;
    min-width: 280px;
    max-width: 400px;
    margin-bottom: -110px;
    position: relative;
    z-index: 1;
}

.performance.other .img-box {
    width: 20%;
    min-width: 180px;
}

.performance .img-box .tit {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: absolute;
    bottom: 0;
    right: 0;
}

.performance.other .img-box .tit {
    bottom: 35%;
    right: -80px;
}

.performance .performance-list .box {
    margin-top: 80px;
}

.performance .performance-list .box:first-of-type {
    margin-top: 0;
}

.performance .performance-list .box:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.performance.other .performance-list .box:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.performance.other .performance-list .box:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.performance .performance-list .box .tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0 auto;
    font-weight: 500;
    text-align: center;
}

.performance .performance-list .box .graph-line .add-flt img {
    -webkit-filter: brightness(0.6);
    filter: brightness(0.6);
}

.performance .performance-list .box .graph-line .add-txt {
    width: 100%;
    padding: 1em;
    font-weight: 600;
    font-size: 34px;
    color: #fff;
    letter-spacing: 2px;
    text-align: center;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.performance .en {
    font-size: 14px;
    color: #d20909;
}

@media(max-width:1024px) {
    .business-mv {
        height: 350px;
    }

    .business-mv .txt-box {
        padding-top: 5%;
    }

    .mission-box {
        padding: 20px;
        -webkit-transform: translateY(5%);
        transform: translateY(5%);
    }

    .mission-box .box .item>* {
        padding: 20px 5px;
    }

    .mershandise .mershandise-list .tit-img {
        top: -40px;
        left: 0px;
    }

    .mershandise .mershandise-list .tit-img .tit {
        -webkit-transform: translate(250px, -15px);
        transform: translate(250px, -15px);
    }

    .mershandise .mershandise-list .box .tit-logo {
        top: -30px;
    }

    .mershandise .mershandise-list .box .graph-info .info-list li>* {
        font-size: 14px;
    }

    .vision .img-box .tit-img {
        top: -50px;
        right: 0px;
    }

    .performance .performance-list {
        margin: 10px;
        padding: 00px 20px 80px 20px;
    }

    .performance .performance-list .box .tit.other02 {
        margin: 0;
        text-align: left;
    }

    .performance .performance-list .img-box {
        min-width: 280px;
        top: -40px;
        left: 10px;
    }

    .performance .img-box {
        margin-bottom: -40px;
    }

    .performance .performance-list .img-box .tit {
        -webkit-transform: translate(200px, -60px);
        transform: translate(200px, -60px);
    }
}

@media(max-width:599px) {
    .business-mv {
        height: 250px;
    }

    .business-mv .txt-box {
        padding-top: 10%;
    }

    .mission-box .box .item>* {
        min-height: 150px;
    }

    .mershandise .mershandise-list .tit-img {
        top: -60px;
    }

    .mershandise .mershandise-list .tit-img .tit {
        text-align: right;
        -webkit-transform: translate(20px, -10px);
        transform: translate(20px, -10px);
    }

    .mershandise .mershandise-list {
        padding: 80px 10px 40px;
    }

    .mershandise .mershandise-list .box {
        padding: 60px 20px 40px;
    }

    .mershandise .mershandise-list .box .graph-info .info-list li>* {
        font-size: 12px;
    }

    .performance .performance-list {
        padding: 80px 20px 80px 20px;
    }

    .performance .performance-list .box {
        margin-top: 50px;
    }


    .performance .img-box {
        margin-bottom: -50px;
    }

    .performance.other .img-box {
        margin-bottom: -60px;
    }

    .performance .performance-list .box .tit.other {
        margin: 0;
        text-align: left;
    }

    .vision .img-box .tit-img {
        top: -20px;
    }

    .performance.other .img-box .tit {
        bottom: 15%;
        right: -60px;
    }

    .performance .performance-list .box .graph-line .add-txt {
        width: 100%;
        font-size: 24px;
        text-align: center;
    }
}

/* type(common) */
.type-mv .mv-img .tit {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: -100px;
    position: relative;
    z-index: 2;
}

.type-mv .mv-img .tit .en-img {
    width: 280px;
}

.type-mv .mv-img .tit .ja {
    color: #cd0818;
    position: absolute;
    bottom: 30px;
    right: -100px;
}

.type-mv .mv-img .bgi {
    height: 500px;
    opacity: 0.8;
    z-index: 1;
}

.type-mv .txt-box {
    min-height: 470px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden;
    margin-top: -80px;
    padding: 30px;
    font-family: "Noto Serif JP", sans-serif;
    border-bottom: 5px solid #cd0818;
    background: #fff;
    position: relative;
    z-index: 2;
}

.type-mv .txt-box .tit {
    font-weight: 600;
    font-size: 40px;
    position: relative;
    z-index: 1;
}

.type-mv .txt-box .tit.tit02 {
    margin-top: 20px;
}

.type-mv .txt-box .tit .yellow-line {
    width: 100%;
    max-width: 500px;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    bottom: -15px;
    left: 50%;
}

.type-mv .txt-box .txt {
    margin-top: 20px;
    font-size: 18px;
    line-height: 2;
    text-align: center;
    position: relative;
    z-index: 1;
}

.type-mv .txt-box .dot {
    content: "";
    width: 100%;
    height: 371%;
    background-image: radial-gradient(#eaa5aa 2%, transparent 12%);
    background-size: 40px 40px;
    background-position: 0 0, 40px 40px;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

@media(max-width:1024px) {
    .type-mv .mv-img .tit {
        margin-bottom: -80px;
    }

    .type-mv .mv-img .tit .ja {
        right: -150px;
    }
}

@media(max-width:599px) {
    .type-mv .mv-img .tit {
        margin-bottom: -50px;
    }

    .type-mv .mv-img .tit .ja {
        bottom: 20px;
    }
}

/* type01 */
.type-content .box {
    margin: 80px 0;
}

.type-content .box:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.type-content .box .tit {
    font-weight: 500;
    font-size: 28px;
}

.type-content .box .hide-tit {
    width: 100%;
    margin-bottom: 30px;
    font-weight: 500;
    font-size: 28px;
}

.type-content .box .sub-tit {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 20px;
    padding-left: 30px;
    font-weight: 500;
    font-size: 18px;
    position: relative;
}

.type-content .box .sub-tit::before {
    content: "";
    width: 1em;
    height: 2px;
    margin-right: 5px;
    background: #000;
    position: absolute;
    top: 0.7em;
    left: 0;
}

.type-content .box .logo {
    width: 100px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    bottom: -80px;
    left: -20px;
}

.type-content .box .txt {
    margin-top: 20px;
    padding-left: 30px;
    line-height: 2;
    letter-spacing: 2px;
}

.type-content .box.box02 .term-img {
    min-height: 400px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.type-content .box.box02 .term-img .ltr::before {
    content: "";
    width: 98%;
    height: 5px;
    display: block;
    background: -webkit-gradient(linear, left top, right top, color-stop(60%, #f2e1e2), to(#e92333));
    background: linear-gradient(90deg, #f2e1e2 60%, #e92333 100%);
}

.type-content .box.box02 .term-img .ltr::after {
    content: "";
    display: block;
    border: 15px solid;
    border-color: transparent transparent transparent #e92333;
    -webkit-transform: translateY(0%) skewX(0deg) rotate(135deg);
    transform: translateY(0%) skewX(0deg) rotate(135deg);
    position: absolute;
    top: -10px;
    left: 94%;
}

.type-content .box.box02 .term-img .term {
    width: 20%;
    font-size: 14px;
}

.type-content .box.box02 .term-img .term>* {
    height: 90%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px 5px;
    text-align: center;
}

.type-content .box.box02 .term-img .term.term01>* {
    background: #f2e1e2;
}

.type-content .box.box02 .term-img .term.term02>* {
    background: #f5cfd2;
}

.type-content .box.box02 .term-img .term.term03>* {
    background: #f4c0c4;
}

.type-content .box.box02 .term-img .term.term04>* {
    background: #f5aeb3;
}

.type-content .box.box02 .term-img .punctuation {
    width: 6.66%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px 5px;
    font-size: 14px;
    color: #fff;
    -ms-writing-mode: tb-lr;
    -webkit-writing-mode: vertical-lr;
    writing-mode: vertical-lr;
    border-radius: 10px;
    background: #e60013;
}

.type-content .box.box03 .img-box .img {
    height: 350px;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    overflow: hidden;
}

.type-content .box.box03 .img-box .img01 {
    -webkit-clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
}

.type-content .box.box03 .img-box .img02 {
    margin-left: -70px;

    -webkit-clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
}

.type-content .box.box03 .img-box .img .add {
    padding: 10px;
    color: #fff;
    position: absolute;
    bottom: 0;
}

.type-content .box.box03 .img-box .img.img01 .add {
    text-align: left;
    left: 0;
}

.type-content .box.box03 .img-box .img.img02 .add {
    text-align: right;
    right: 0;
}

.type-content .box.box03 .img-box .img.img .add .tit {
    margin-bottom: 10px;
    font-size: 18px;
}

.type-example .example-list.left {
    margin-right: calc(50% - 500px);
    padding: 200px 40px 80px calc(50% - 500px);
    background: #fff;
}

.type-example .example-list.left.other {
    padding: 80px 40px 80px calc(50% - 500px);
}

.type-example .example-list.right {
    margin-left: calc(50% - 500px);
    padding: 80px calc(50% - 500px) 80px 40px;
    background: #fff;
}

.type-example .example-list.right.other {
    padding: 200px calc(50% - 500px) 80px 40px;
}

.type-example .example-list {
    font-weight: 500;
    font-size: 26px;
}

.type-example .example-list .age {
    width: 70px;
    height: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
    margin-left: 10px;
    font-weight: 600;
    font-size: 14px;
    color: #e60114;
    text-align: center;
    border: 1px solid;
    border-radius: 50%;
}

.type-example .example-list .stairs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
}

.type-example .example-list .stairs .ltr-block {
    -webkit-transform: translate(0, 0) rotate(-5deg);
    transform: translate(0, 0) rotate(-5deg);
    position: absolute;
    top: -12%;
    left: 0;
}

.type-example .example-list .stairs .ltr-block .ltr {
    width: 0px;
    -webkit-transition: 1s;
    transition: 1s;
    -moz-animation-delay: 0.5s;
}

.type-example .example-list .stairs .ltr-block .ltr::before {
    content: "";
    width: 0px;
    height: 15px;
    display: block;
    background: -webkit-gradient(linear, left top, right top, color-stop(10%, #cfcfad), color-stop(30%, #dbe169), color-stop(60%, #e1dc42), to(#e6a700));
    background: linear-gradient(90deg, #cfcfad 10%, #dbe169 30%, #e1dc42 60%, #e6a700 100%);
    -webkit-transition: 1s;
    transition: 1s;
    -moz-animation-delay: 0.5s;
    position: absolute;
    top: 0;
    left: 0;
}

[data-element-id] .type-example .example-list .stairs .ltr-block .ltr {
    width: 1150px;
}

[data-element-id] .type-example .example-list .stairs .ltr-block .ltr::before {
    width: 1100px;
}

.type-example .example-list .stairs .ltr-block.mv .ltr {
    width: 1050px;
}

.type-example .example-list .stairs .ltr-block.mv .ltr::before {
    width: 1000px;
}

.type-example .example-list .stairs .ltr-block .ltr::after {
    content: "";
    display: block;
    border: 25px solid;
    border-color: transparent transparent transparent #e6a903;
    opacity: 0;
    -webkit-transform: translateY(0%) skewX(0deg) rotate(135deg);
    transform: translateY(0%) skewX(0deg) rotate(135deg);
    position: absolute;
    top: -10px;
    right: 35px;
}

.type-example .example-list .stairs .ltr-block.mv .ltr::after {
    opacity: 1;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.type-example .example-list .stairs .item {
    width: 25%;
    min-height: 100px;
    padding: 10px 20px;
    font-size: 16px;
    color: #fff;
    position: relative;
}

.type-example .example-list .stairs.other .item {
    width: 33.3%;
}

.type-example .example-list .stairs .item.item04 {
    background: -webkit-gradient(linear, left top, right top, from(#e61924), to(#e60114));
    background: linear-gradient(90deg, #e61924 0%, #e60114 100%);
}

.type-example .example-list .stairs .item.item03 {
    margin-top: 40px;
    background: -webkit-gradient(linear, left top, right top, from(#e24b4b), to(#e61924));
    background: linear-gradient(90deg, #e24b4b 0%, #e61924 100%);
}

.type-example .example-list .stairs .item.item02 {
    margin-top: 80px;
    background: -webkit-gradient(linear, left top, right top, from(#da7876), to(#e24b4b));
    background: linear-gradient(90deg, #da7876 0%, #e24b4b 100%);
}

.type-example .example-list .stairs .item.item01 {
    margin-top: 120px;
    background: -webkit-gradient(linear, left top, right top, from(#cfaaaa), to(#da7876));
    background: linear-gradient(90deg, #cfaaaa 0%, #da7876 100%);
}

.type-example .example-list .stairs .item .year {
    margin-top: -40px;
    padding-bottom: 20px;
    color: #000;
}

.type02.type-example .example-list .stairs .item .fees {
    font-size: 18px;
}

.type-example .example-list .stairs .man {
    position: absolute;
    top: -110px;
    right: 50px;
    z-index: 1;
}

.type-example .example-list .stairs .man img {
    height: 100px;
}

.type-example .tit-img {
    width: 20%;
    min-width: 200px;
    max-width: 300px;
    margin-bottom: -90px;
    position: relative;
}

.type-example .tit-img .tit {
    color: #d60e0e;
    position: absolute;
    bottom: 50px;
    right: -60px;
}

.type-example .example-list .figure .item>* {
    height: 100%;
    padding: 20px 20px 40px;
    border-radius: 10px;
    background: #f3f3f3;
}

.type-example .example-list .figure .item .year {
    font-size: 20px;
    text-align: center;
}

.type-example .example-list .figure .item .fees {
    margin-top: 10px;
    text-align: center;
}

.type-example .example-list .figure .item .count-size {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
    margin: 0 auto;
    font-weight: 500;
    font-size: 6rem;
    line-height: 1;
    position: relative;
}

.type-example .example-list .figure .item .count-size.other {
    font-size: 3rem;
}

.type-example .example-list .figure .item .count-size::after {
    content: "%";
    font-size: 35px;
    position: absolute;
    bottom: 5px;
    right: -45px;
}

.type-example .example-list .figure .item .count-size.other::after {
    content: "円";
    font-size: 28px;
    bottom: 5px;
    right: -30px;
}

.type-example .example-list .figure .item .count-size.other02::after {
    content: "ヶ月";
    font-size: 26px;
    bottom: 5px;
    right: -50px;
}

.type-example .example-list .figure .item .count-size.other03::after {
    content: "日";
    bottom: 5px;
    right: -50px;
}

.type-example .example-list .figure .item .count-size.other03::before {
    content: "平均";
    font-size: 26px;
    position: absolute;
    bottom: 5px;
    left: -60px;
}

.type-example .example-list .figure .item .box1.other>* {
    padding: 20px;
    border-radius: 10px;
    background: #fff;
}

.type-example .example-list .figure .item .list .tit>* {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 3px;
    font-weight: 500;
    font-size: 18px;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    background: #e1000a;
}

.type-example .example-list .figure .item .figure-icon {
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 10px auto 20px;
    margin-bottom: 10px;
    border-radius: 50%;
    background: #cd0818;
    position: relative;
}

.type-example .example-list .figure .item .figure-icon img {
    max-width: 35px;
    max-height: 25px;
}

.type-example .example-list .figure .item .figure-icon::before {
    content: "";
    width: 10px;
    height: 15px;
    background: -webkit-gradient(linear, left bottom, right top, color-stop(50.1%, transparent), color-stop(50%, #cd0818)) no-repeat top left / 50.1% 100%, -webkit-gradient(linear, right bottom, left top, color-stop(50%, transparent), color-stop(50%, #cd0818)) no-repeat bottom right/50% 100%;
    background: linear-gradient(to top right, transparent 50.1%, #cd0818 50%) no-repeat top left / 50.1% 100%, linear-gradient(to top left, transparent 50%, #cd0818 50%) no-repeat bottom right/50% 100%;
    -webkit-transform: translate(-50%, 0px);
    transform: translate(-50%, 0px);
    position: absolute;
    bottom: -10px;
    left: 50%;
}

.type-message .message-list {
    overflow: hidden;
    position: relative;
}

.type-message .message-list .txt-box {
    padding: 50px 50px 50px calc(50% - 600px);
    background: linear-gradient(89deg, #fff 30%, rgb(255 255 255 / 0%) 80%);
    z-index: 2;
}

[data-element-id] .type-message .message-list .txt-box {
    width: 70%;
    margin-right: auto;
}

[data-element-id] .type-message.rev .message-list .txt-box {
    width: 70%;
    margin-left: auto;
    margin-right: 0;
}

.type-message.rev .message-list .txt-box {
    padding: 50px calc(50% - 600px) 50px 50px;
    background: -webkit-gradient(linear, right top, left top, color-stop(50%, #fff), color-stop(80%, rgb(255 255 255 / 0%)));
    background: linear-gradient(-90deg, #fff 50%, rgb(255 255 255 / 0%) 80%);
}

.type-message .message-list .txt-box .tit {
    font-weight: 600;
    font-size: 28px;
}

.type-message .message-list .txt-box .txt {
    margin-top: 30px;
    line-height: 1.7;
}

.type-message .message-list .txt-box .name {
    margin-top: 30px;
    font-weight: 600;
    font-size: 18px;
}

.type-message.rev .message-list .txt-box>* {
    width: 60%;
    margin-left: auto;
}

.type-message .message-list .img-box {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

.type-message.rev .message-list .img-box {
    left: 0%;
    right: auto;
}

@media(max-width:1024px) {
    .type-mv .mv-img .tit .en-img {
        width: 200px;
    }

    .type-mv .mv-img .bgi {
        height: 300px;
    }

    .type-mv .txt-box {
        min-height: 350px;
        padding: 20px;
    }

    .type-mv .txt-box .tit {
        font-size: 30px;
    }

    .type-mv .txt-box .tit.tit02 {
        margin-top: 0px;
    }

    .type-content .box.box02 .term-img {
        min-height: 300px;
    }

    .type-mv .txt-box .txt {
        font-size: 16px;
    }

    .type-example .example-list.left {
        margin-right: 0;
        padding: 150px 20px 50px 20px;
    }

    .type-example .example-list.left.other {
        padding: 50px 20px 50px 20px;
    }

    .type-example .example-list.right {
        margin-left: 0;
        padding: 50px 20px 50px 20px;
    }

    .type-example .example-list .tit {
        font-size: 20px;
    }

    .type-example .example-list .stairs .item .fees {
        font-size: 12px;
    }

    .type-example .example-list .stairs .ltr-block {
        -webkit-transform: translate(0%, 0) rotate(-10deg);
        transform: translate(0%, 0) rotate(-10deg);
    }

    .type-example .example-list .stairs .ltr-block.mv .ltr {
        width: 700px;
    }

    .type-example .example-list .stairs .ltr-block.mv .ltr::before {
        width: 650px;
    }

    .type-example .example-list .stairs .man {
        top: -70px;
        right: 20px;
    }

    .type-example .example-list .stairs .man img {
        height: 60px;
    }

    .type02.type-example .example-list .stairs .item .fees {
        font-size: 16px;
    }

    .type-example .example-list .figure .item .list .tit>* {
        font-size: 14px;
    }

    .type-content .box .logo {
        width: 80px;
        bottom: -60px;
    }

    .type-content .box.box03 .img-box .img {
        height: 250px;
    }

    .type-content .box.box03 .img-box .img02 {
        margin-left: -70px;
    }

    .type-content .box.box03 .img-box .img .add .dtl {
        width: 85%;
        font-size: 12px;
    }

    .type-content .box.box03 .img-box .img02 .add .dtl {
        margin-left: auto;
    }

    .type-content .box .hide-tit {
        font-size: 24px;
        text-align: center;
    }

    .type-example .example-list .figure .item .count-size.other {
        font-size: 3rem;
    }

    .type-example .example-list .figure .item .count-size.other03 {
        font-size: 4rem;
    }

    .type-example .example-list .figure .item .year {
        font-size: 18px;
    }

    .index-member.other .tit-img {
        min-width: 250px;
    }

    .type-message .message-list .txt-box {
        padding: 20px 20px 20px 20px;
    }

    .type-message .message-list .txt-box .txt {
        margin-top: 20px;
    }
}

@media(max-width:599px) {
    .type-mv .txt-box .tit {
        font-size: 22px;
    }

    .type-mv .txt-box .txt {
        text-align: left;
    }

    .type-content .box .logo {
        bottom: -50px;
        left: -5px;
    }

    .type-content .box.box02 .term-img .ltr::after {
        border: 12px solid;
        border-color: transparent transparent transparent #e92333;
        top: -7px;
        left: 93%;
    }

    .type-example .example-list .stairs .item {
        min-height: 0px;
        padding: 10px 10px;
    }

    .type02.type-example .example-list .stairs .item.item01 {
        margin-top: 100px;
    }

    .type02.type-example .example-list .stairs .item.item02 {
        margin-top: 60px;
    }

    .type02.type-example .example-list .stairs .item.item03 {
        margin-top: 20px;
    }

    .type-example .example-list .stairs .item .fees {
        font-size: 10px;
    }

    .type-example .example-list .stairs .item .year {
        margin-top: -30px;
        padding-bottom: 10px;
        font-size: 10px;
        position: relative;
        z-index: 2;
    }

    .type02.type-example .example-list .stairs .item .fees {
        font-size: 12px;
    }

    .type-example .example-list .stairs .ltr-block {
        -webkit-transform: translate(0%, 0) rotate(-23deg);
        transform: translate(0%, 0) rotate(-23deg);
    }

    .type-example .example-list .stairs .ltr-block.mv .ltr {
        width: 350px;
    }

    .type-example .example-list .stairs .ltr-block.mv .ltr::before {
        width: 295px;
    }

    .type-example .example-list .stairs .man {
        top: -80px;
    }

    .type-example .example-list .stairs .human {
        top: -32px;
        right: 5px;
    }

    .type-example .example-list .figure .item .count-size {
        font-size: 4rem;
    }

    .type-example .example-list .figure .item .count-size.other02::after {
        right: -60px;
    }

    .type-content .box.box02 .term-img .punctuation {
        padding: 30px 5px;
    }

    .type-content .box.box03 .img-box .img02 {
        margin-left: -30px;
    }

    .type-content .box.box03 .img-box .img.img .add .tit {
        font-size: 14px;
    }

    .type-content .box.box03 .img-box .img .add .dtl {
        width: 100%;
    }

    .type-message .message-list .img-box {
        position: relative;
    }

    .type-message .message-list .img-box::before {
        width: 100%;
        height: 20%;
        background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgb(255 255 255)));
        background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgb(255 255 255));
        top: auto;
        bottom: -1px;
        left: 0;
    }

    .type-message.rev .message-list .txt-box {
        padding: 20px;
        background: none;
    }

    .type-message.rev .message-list .txt-box>* {
        width: 100%;
    }
}

/* type-02 */
.type-ability .img-box {
    width: 25%;
    min-width: 200px;
    max-width: 280px;
    padding-bottom: 10px;
    position: relative;
}

.type-ability .img-box .tit {
    position: absolute;
    bottom: 50px;
    right: -330px;
}

[data-element-id] .type-ability .img-box .tit {
    right: -190px;
}

.type-ability .box .item>* {
    height: 100%;
    min-height: 250px;
    padding: 30px;
    border-radius: 10px;
    background: #fff;
}

.type-ability .box .item .tit {
    font-weight: 500;
    font-size: 18px;
    color: #d20909;
}

.type-ability .box .item .txt {
    margin-top: 10px;
    padding-left: 1.5em;
    line-height: 2;
}

.type-careerup .careerup-list {
    min-height: 470px;
    overflow: hidden;
    padding: 50px;
    color: #fff;
    background: #f7001e;
    -webkit-transform: skewY(-5deg);
    transform: skewY(-5deg);
    z-index: 2;
}

.type-careerup .careerup-list>* {
    -webkit-transform: skewY(5deg);
    transform: skewY(5deg);
}

.type-careerup .careerup-list .bgi {
    width: 60%;
    height: 100%;
    opacity: 0.2;
    position: absolute;
    top: -10%;
    right: 0;
    z-index: 1;

    scale: 1.5;
}

.type-careerup .careerup-list .bgi::before {
    content: "";
    width: 20%;
    height: 100%;
    display: block;
    background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0)), to(#f7001e));
    background: linear-gradient(270deg, rgba(0, 0, 0, 0), #f7001e);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.type-careerup .careerup-list .tit {
    padding-top: 50px;
    font-family: "Noto Serif JP", sans-serif;
    font-size: clamp(28px, 4.5vw, 50px);
}

.type-careerup .careerup-list .sub-tit {
    padding-top: 30px;
    font-weight: 500;
    font-size: 20px;
}

.type-careerup .careerup-list .txt {
    width: 80%;
    margin-top: 50px;
    line-height: 2;
}

.type-plan {
    margin-top: -80px;
}

.type-plan .box>* {
    min-height: 200px;
    padding: 30px;
    border-radius: 10px;
    background: #fff;
}

.type-plan .box .icon-box {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px;
}

.type-plan .box .icon-box .img {
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    background: #f7001e;
}

.type-plan .box .icon-box .img img {
    width: 30px;
}

.type-plan .box .txt-box .tit {
    padding-top: 0.5em;
    font-weight: 600;
    font-size: 18px;
    color: #f7001e;
}

.type-plan .box .txt-box .txt {
    margin-top: 10px;
    line-height: 2;
}

.type-plan .sky-bgi {
    width: 100%;
    height: 100%;
    opacity: 0.7;
    -webkit-filter: brightness(0.5);
    filter: brightness(0.5);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

@media(max-width:1024px) {
    .type-ability .box .item>* {
        padding: 20px;
    }
}

@media(max-width:599px) {
    .type-ability .img-box .tit {
        text-align: center;
        text-shadow: -2px -1px 1px #fff, 2px 2px 2px #fff, 2px 1px 1px #fff;
        bottom: 20px;
        right: -150px;
    }

    .type-ability .box .item .tit {
        text-align: center;
    }

    .type-ability .box .item .txt {
        padding-left: 0;
    }

    .type-careerup .careerup-list {
        padding: 50px 20px;
    }

    .type-careerup .careerup-list .tit {
        padding-top: 20px;
    }

    .type-careerup .careerup-list .txt {
        width: 100%;
        margin-top: 20px;
    }

    .type-careerup .careerup-list .bgi {
        width: 100%;
        height: 60%;
    }

    .type-careerup .careerup-list .bgi::before {
        content: "";
        width: 100%;
        height: 20%;
        background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(#f7001e));
        background: linear-gradient(180deg, rgba(0, 0, 0, 0), #f7001e);
        top: auto;
        bottom: 0;
        left: 0;
    }

    .type-plan .box>* {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .type-plan .box .txt-box .tit {
        text-align: center;
    }
}

/* type04 */
.type-action .img-box {
    width: 20%;
    min-width: 140px;
    max-width: 240px;
    margin-bottom: 30px;
    padding-bottom: 10px;
    position: relative;
}

.type-action .img-box .tit {
    position: absolute;
    bottom: 10%;
    right: -100px;
}

.type-action .box-list .box>* {
    width: 80%;
    min-height: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: auto;
    padding: 30px 30px 30px 200px;
    font-weight: 500;
    background: #fff;
    -webkit-box-shadow: 5px 5px 0px #c00e14;
    box-shadow: 5px 5px 0px #c00e14;
    position: relative;
}

.type-action .box-list .box:nth-last-of-type(odd) {
    -webkit-transform: translate(-100px, 0);
    transform: translate(-100px, 0);
}

.type-action .box-list .box .skew-img {
    width: 160px;
    height: 100%;
    overflow: hidden;
    margin-left: -25px;
    -webkit-transform: skewX(15deg);
    transform: skewX(15deg);
    position: absolute;
    bottom: 0;
    left: 0;
}

.type-action .box-list .box .skew-img>* {
    -webkit-transform: skewX(-15deg);
    transform: skewX(-15deg);

    scale: 1.4;
}

.type-action .box-list .box .info {
    margin-bottom: 30px;
}

@media(max-width:1024px) {
    .type-action .img-box .tit {
        bottom: 0%;
        right: -140px;
    }
}

@media(max-width:599px) {
    .type-action .img-box .tit {
        bottom: 0%;
        right: -100px;
    }

    .type-action .box-list .box>* {
        width: 85%;
        min-height: 180px;
        padding: 10px 10px 10px 120px;
        font-size: 14px;
    }

    .type-action .box-list .box .info {
        margin-bottom: 10px;
    }

    .type-action .box-list .box .skew-img {
        width: 120px;
        margin-left: -25px;
        -webkit-transform: skewX(10deg);
        transform: skewX(10deg);
    }

    .type-action .box-list .box .skew-img>* {
        -webkit-transform: skewX(-10deg);
        transform: skewX(-10deg);

        scale: 1.4;
    }

    .type-action .box-list .box:nth-last-of-type(odd) {
        -webkit-transform: translate(-15px, 0);
        transform: translate(-15px, 0);
    }
}

/* interview */
.interview .tit-img {
    margin-bottom: -120px;
}

.interview.other .tit-img {
    margin-bottom: -80px;
}

.interview .tit-img .img {
    width: 30%;
    min-width: 200px;
    max-width: 400px;
    padding: 50px 0;
}

.interview.other .tit-img .img {
    width: 35%;
    min-width: 270px;
    max-width: 320px;
}

.interview .tit-img .tit {
    position: absolute;
    bottom: 15%;
    left: 220px;
}

.interview.other .tit-img .tit {
    bottom: 15%;
    left: 200px;
}

.interview .box .item .img-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
}

.interview .box .item .img-box .info {
    width: 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    color: #fff;
    -ms-writing-mode: tb-lr;
    -webkit-writing-mode: vertical-lr;
    writing-mode: vertical-lr;
}

.interview .box .item .img-box .name {
    height: auto;
    min-height: 50%;
    padding: 15px 5px 5px 3px;
    background: #5a5a5a;
}

.interview .box .item .img-box .when {
    height: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 15px 5px 5px 3px;
    background: #e60013;
}

.interview .box .item .img-box .when span {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.interview .box .item .txt-box .tit {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 15px;
    font-weight: 500;

    -webkit-line-clamp: 2;
}

.interview .box .item .txt-box .job {
    margin-top: 20px;
    font-size: 14px;
    color: #5a5a5a;
    text-align: right;
}

.interview .box .item .txt-box .name {
    font-weight: 500;
    text-align: right;
}

@media(max-width:1024px) {
    .interview .ttl .ja {
        -webkit-transform: translate(160px, -25px);
        transform: translate(160px, -25px);
    }
}

@media(max-width:1024px) {
    .interview .tit-img {
        margin-bottom: -70px;
    }

    .interview .tit-img .tit {
        left: 60px;
    }
}

/* interview_detail */
.interview-mv .img-box .dot {
    content: "";
    width: 45%;
    height: 50vh;
    background-image: radial-gradient(#eaa5aa 12%, transparent 12%);
    background-size: 20px 20px;
    background-position: 0 0, 40px 40px;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
}

.interview-mv .img-box .img {
    min-width: 250px;
    max-width: 400px;
    height: 50vh;
    overflow: hidden;
    margin-left: 800%;
    -webkit-transition: 1s;
    transition: 1s;
    -o-transition-delay: 0.5s;
    -webkit-transform: skewX(15deg);
    transform: skewX(15deg);
}

[data-element-id].interview-mv .img-box .img {
    margin-left: 30%;
}

.interview-mv.mv .img-box .img {
    margin-left: 20%;
    position: relative;
    z-index: 2;
}

.interview-mv .img-box .img img {
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
    -webkit-transform: skewX(-15deg);
    transform: skewX(-15deg);

    /* scale: 1.8; */
    scale: 1.4;
}

.interview-mv .txt-box {
    width: 60%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: -30px;
    z-index: 3;
}

.interview-dtl .box {
    margin: 50px 0;
}

.interview-dtl .box.shrink {
    /*     margin: -100px 0 50px; */
}

.interview-dtl .box:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.interview-dtl .box:nth-of-type(odd) .img-box {
    -webkit-transform: translate(10%, 0);
    transform: translate(10%, 0);
}

.interview-dtl .box:nth-of-type(even) .img-box {
    -webkit-transform: translate(-10%, 0);
    transform: translate(-10%, 0);
}

.interview-dtl .box .txt-box .tit {
    margin-top: 30px;
    font-family: "Noto Serif JP", sans-serif;
    font-weight: 600;
    font-size: 22px;
}

.interview-dtl .box .txt-box .txt {
    margin-top: 20px;
}

.interview-dtl .message-box .ttl {
    width: 35%;
    min-width: 200px;
    max-width: 280px;
    margin-left: -80px;
    -webkit-transform: translateY(-60px);
    transform: translateY(-60px);
    position: relative;
    z-index: 1;
}

.interview-dtl .message-box .content {
    margin-top: -80px;
}

.interview-dtl .message-box .dot {
    content: "";
    width: 100%;
    height: 100%;
    background-image: radial-gradient(#eaa5aa 12%, transparent 12%);
    background-size: 20px 20px;
    background-position: 0 0, 40px 40px;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.interview-dtl .btn-block>* {
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    column-gap: 30px;
}

.interview-dtl .btn-block .btn a {
    width: 220px;
    max-width: 100%;
    display: block;
    padding: 10px 20px;
    font-weight: 500;
    text-align: center;
    border-radius: 5px;
    background: #fff;
    position: relative;
}

.interview-dtl .btn-block .btn a::before {
    content: "\f054";
    width: 30px;
    height: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 12px;
    color: #ad0707;
    letter-spacing: 0px;
    border-radius: 50%;
    background: #efdfdf;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 10px;
}

.interview-dtl .btn-block .btn a:hover {
    background: #efdfdf;
    opacity: 1;
}

.interview-dtl .btn-block .btn.prev a::before {
    content: "\f053";
    left: 10px;
    right: auto;
}

.interview-dtl .btn-block .btn a .en {
    font-size: 20px;
    color: #cd0818;
}

.interview-dtl .btn-block .btn a .tit {
    width: 87%;
    overflow: hidden;
    margin: 0 auto;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media(max-width:1024px) {
    .interview-mv .txt-box {
        width: 55%;
    }

    .interview-mv .img-box .img {
        -webkit-transform: skewX(15deg);
        transform: skewX(15deg);
    }

    .interview-mv .img-box .img img {
        -webkit-transform: skewX(-15deg);
        transform: skewX(-15deg);

        scale: 1.6;
    }

    .interview-dtl .box.shrink {
        margin: -30px 0 50px;
    }

    .interview-dtl .box:nth-of-type(odd) .img-box {
        -webkit-transform: translate(5%, 0);
        transform: translate(5%, 0);
    }

    .interview-dtl .box:nth-of-type(even) .img-box {
        -webkit-transform: translate(-5%, 0);
        transform: translate(-5%, 0);
    }

    .interview-dtl .box .txt-box .tit {
        margin-top: 10px;
        font-family: "Noto Serif JP", sans-serif;
        font-weight: 600;
        font-size: 22px;
    }

    .interview-dtl .btn-block>* {
        -webkit-column-gap: 15px;
        -moz-column-gap: 15px;
        column-gap: 15px;
    }

    .interview-dtl .btn-block .btn a {
        width: 240px;
        padding: 5px 20px;
    }

    .interview-dtl .btn-block .btn a .tit {
        width: 80%;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-align: left;
        text-overflow: unset;
        white-space: unset;

        -webkit-line-clamp: 2;
    }

    .interview-dtl .btn-block .btn a::before {
        width: 25px;
        height: 25px;
        font-size: 10px;
        right: 5px;
    }

    .interview-dtl .btn-block .btn.prev a::before {
        left: 5px;
    }
}

@media(max-width:599px) {
    .interview-mv .txt-box {
        width: 70%;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        margin-bottom: 10%;
        margin-right: 5%;
    }

    .interview-mv.mv .img-box .img {
        width: 100%;
        min-width: 280px;
        margin-left: 0%;
        -webkit-filter: grayscale(1) brightness(0.6);
        filter: grayscale(1) brightness(0.6);
    }

    .interview-mv .img-box .img {
        -webkit-transform: skewX(10deg);
        transform: skewX(10deg);
    }

    .interview-mv .img-box .img img {
        -webkit-transform: skewX(-10deg);
        transform: skewX(-10deg);
    }

    .interview-dtl .box:nth-of-type(odd) .img-box {
        -webkit-transform: translate(0%, 0);
        transform: translate(0%, 0);
    }

    .interview-dtl .box:nth-of-type(even) .img-box {
        -webkit-transform: translate(0%, 0);
        transform: translate(0%, 0);
    }

    .interview-dtl .message-box .ttl {
        margin-left: -20px;
    }

    .interview-dtl .message-box .content {
        margin-top: -60px;
    }

    .interview-dtl .btn-block .btn a {
        width: 100px;
    }

    .interview-dtl .btn-block .btn.prev a {
        padding: 15px 10px 15px 30px;
    }

    .interview-dtl .btn-block .btn.next a {
        padding: 15px 30px 15px 10px;
    }


    .interview-dtl .btn-block .btn a .en {
        font-size: 14px;
    }

    .interview-dtl .btn-block .btn-type-01 .btn {
        min-width: 130px;
        padding: 15px 20px;
        font-size: 12px;
    }

    .interview-dtl .btn-block .btn-type-01 .btn.back::after {
        width: 7px;
        height: 7px;
        left: 10px;
    }
}

/* job-box */
.job-box .box .tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 30px;
    padding-bottom: 20px;
    padding-left: 10px;
    font-family: "Noto Serif JP",
        sans-serif;
    font-size: 32px;
    color: #cd0818;
    line-height: 1.3;
    letter-spacing: 2px;
    border-bottom: 2px solid;
}

.job-box .box .tit .en {
    padding-left: 5px;
    font-size: 50%;
}

.job-box .box .item {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
}

.job-box .box .item a {
    width: 500px;
    min-height: 110px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 10px 50px;
    font-weight: 500;
    font-size: 20px;
    color: #cd0818;
    border-radius: 10px;
    background: #fff;
    position: relative;
}

.job-box .box .item a:hover {
    background: #efdfdf;
    opacity: 1;
}

.job-box .box .item a::after {
    content: "\f054";
    width: 60px;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 16px;
    color: #ad0707;
    letter-spacing: 0px;
    border-radius: 50%;
    background: #efdfdf;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 20px;
}

@media (max-width: 1024px) {
    .job-box .box .item a {
        width: 450px;
        min-height: 90px;
        font-size: 16px;
    }
}

@media (max-width: 599px) {
    .job-box .box .tit {
        font-size: 24px;
    }

    .job-box .box .item {
        width: 90%;
        margin-right: auto;
    }

    .job-box .box .item a {
        width: 100%;
        min-height: 70px;
        font-size: 14px;
    }

    .job-box .box .item a::after {
        width: 40px;
        height: 40px;
    }
}

/* job-area */
.job-area .flow-list .box .item>* {
    min-height: 150px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 600;
    font-size: 20px;
    border-radius: 10px;
    background: #fff;
    position: relative;
}

.job-area .flow-list .box .item:last-child>* {
    color: #fff;
    background: #e70014;
}

.job-area .flow-list .box .item>*::before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 40px;
    color: #e60013;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: -30px;
}

.job-area .flow-list .box .item:last-child>*:before {
    content: none;
}

.job-area .flow-list .box .item .num {
    color: #e60013;
    position: absolute;
    top: 5px;
    left: 15px;
}

.job-area .flow-list .box .item:last-child .num {
    color: #fff;
}

.job-area .flow-list .box .item .tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
}

.job-area .content .img-box {
    -webkit-transform: translate(20px, 10%);
    transform: translate(20px, 10%);
}

.job-area .content .img-box .img {
    height: 110%;
    overflow: hidden;
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg);
}

.job-area .content .img-box .img img {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);

    scale: 1.2;
}

@media(max-width:1024px) {
    .job-area .content .img-box {
        -webkit-transform: translate(0px, 0%);
        transform: translate(0px, 0%);
    }

    .job-area .content .img-box .img {
        height: 100%;
    }
}

@media(max-width:599px) {
    .job-area .flow-list .box .item>* {
        min-height: 80px;
    }

    .job-area .flow-list .box .item>*::before {
        margin-right: -10px;
        -webkit-transform: translate(0, 0) rotate(90deg);
        transform: translate(0, 0) rotate(90deg);
        top: auto;
        bottom: -50px;
        right: 50%;
    }
}

/* table */
.table-list {
    border: 1px solid #b8b6b6;
}

.table-list tr {
    border-bottom: 1px solid #b8b6b6;
}

.table-list tr:last-child {
    border-bottom: none;
}

.table-list th {
    width: 30%;
    padding: 10px 30px;
    font-weight: 500;
    font-size: 16px;
    text-align: left;
    background: #f7f7f7;
}

.table-list td {
    width: 70%;
    padding: 20px 60px;
    background: #fff;
}

.table-list tr:last-child th,
.table-list tr:last-child td {
    border-bottom: none;
}

@media (max-width:1024px) {
    .table-list th {
        font-size: 16px;
    }
}

@media (max-width:599px) {
    .table-list th {
        padding: 10px;
        font-size: 13px;
    }

    .table-list td {
        padding: 10px;
        font-size: 13px;
    }
}

/* faq */
.faq-area .accordion .list-title {
    padding: 20px 40px;
    font-size: 22px;
    color: #fff;
    background: #e70014;
    position: relative;
}

.faq-area .accordion .list-title::after {
    content: "";
    display: inline-block;
    border-bottom: 25px solid #e70014;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    position: absolute;
    bottom: -20px;
    left: 50px;
}

.faq-area .accordion .list-cmp09 {
    padding: 50px;
    background: #fff;
}

.faq-area .accordion .list-cmp09 .item {
    margin-bottom: 30px;
}

.faq-area .accordion .list-cmp09 .item .datattl {
    margin-bottom: 10px;
    border-bottom: 1px solid #9d9696;
    position: relative;
}

.faq-area .accordion .list-cmp09 .item .datattl.is-parent::after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 16px;
    color: #e60013;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translate(0, -50%) rotate(90deg);
    transform: translate(0, -50%) rotate(90deg);
    position: absolute;
    top: 50%;
    right: 0;
}

.faq-area .accordion .list-cmp09 .item .datattl::after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 16px;
    color: #e60013;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translate(0, -50%) rotate(-90deg);
    transform: translate(0, -50%) rotate(-90deg);
    position: absolute;
    top: 50%;
    right: 0;
}

.faq-area .accordion .list-cmp09 .item .datattl .txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
}

.faq-area .accordion .list-cmp09 .item .datattl .txt .q {
    width: 50px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-weight: 600;
    font-size: 34px;
    color: #e60013;
}

.faq-area .accordion .list-cmp09 .item .datattl .txt .dtl {
    width: 90%;
    padding: 10px 0;
    font-weight: 600;
    line-height: 2;
}

.faq-area .accordion .list-cmp09 .item .data .txt .dtl {
    width: 90%;
    display: block;
    margin-left: 50px;
}

@media(max-width:599px) {
    .faq-area .accordion .list-title {
        padding: 20px 20px;
        font-size: 19px;
        color: #fff;
        background: #e70014;
        position: relative;
    }

    .faq-area .accordion .list-cmp09 {
        padding: 20px;
    }

    .faq-area .accordion .list-cmp09 .item {
        margin-bottom: 10px;
    }

    .faq-area .accordion .list-cmp09 .item .datattl .txt .q {
        width: 35px;
        font-size: 26px;
    }

    .faq-area .accordion .list-cmp09 .item .datattl .txt .dtl {
        width: 82%;
    }

    .faq-area .accordion .list-cmp09 .item .data .txt .dtl {
        width: 82%;
        margin-left: 35px;
    }
}

/* entry-form */
.entry-form .tit-img .img {
    width: 40%;
    min-width: 280px;
    max-width: 360px;
    margin-left: auto;
    margin-right: -100px;
}

.entry-form .tit-img .tit {
    position: absolute;
    bottom: 20%;
    right: -100px;
}

.entry-form .form .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    padding: 20px 0;
}

.entry-form .form .datattl {
    width: 250px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-weight: 600;
    font-size: 18px;
}

.entry-form .form .require {
    display: inline-block;
    margin-left: 10px;
    padding: 0.1em 1em 0.2em 1em;
    font-weight: 500;
    font-size: 12px;
    color: #fff;
    line-height: 1.6em;
    border-radius: 4px;
    background: #e40114;
}

.entry-form .form .data {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-left: 50px;
}

.entry-form .form .data.data01 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    -webkit-box-align: end;
    align-items: end;
    -ms-flex-align: end;
}

.entry-form .form .data01 .uk-text-danger {
    width: 100%;
}

.entry-form .form .data input {
    width: 100%;
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 15px 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: none;
    border-radius: 5px;
    background: #f2f2f2;
}

.entry-form .form .data input[type="radio"],
.entry-form .form .data input[type="checkbox"] {
    display: none;
}

.entry-form .form .data input[type="radio"]+label,
.entry-form .form .data input[type="checkbox"]+label {
    margin-right: 20px;
    padding-left: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: 500;
    line-height: 200%;
    position: relative;
}

.entry-form .form .data input[type="radio"]+label::before,
.entry-form .form .data input[type="checkbox"]+label::before {
    content: "";
    width: 13px;
    height: 13px;
    display: block;
    border: none;
    border-radius: 50%;
    background: #f2f2f2;
    position: absolute;
    top: 7px;
    left: 0;
}

.entry-form .form .data input[type="radio"]:checked+label::after,
.entry-form .form .data input[type="checkbox"]:checked+label::after {
    content: "";
    width: 13px;
    height: 13px;
    display: block;
    border-radius: 50%;
    background: #000;
    position: absolute;
    top: 7px;
    left: 0px;
}

.entry-form .form .data input[type="radio"]:checked+label,
.entry-form .form .data input[type="checkbox"]:checked+label {
    -webkit-transition: 0.6s;
    transition: 0.6s;
}

.entry-form .form .data input[type="number"] {
    width: 70px;
    margin-right: 10px;
}

.entry-form .form .data select {
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    border: 1px solid #999;
}

.entry-form .form .data select {
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 12px;
    color: #333;
    border: none;
    border-radius: 5px;
    background: #f2f2f2;
}

.entry-form .form .data .tit {
    margin: 0 5px;
    font-weight: 500;
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
}

.entry-form .form .data01 div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
}

.entry-form .form .form-btn {
    margin-top: 30px;
}

.entry-form .form .btn button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 220px;
    padding: 15px 80px;
    color: #fff;
    border: 2px solid #e40114;
    border-radius: 5px;
    background: #e40114;
    position: relative;
}

.entry-form .form .btn button:after {
    content: "";
    width: 10px;
    height: 10px;
    border-bottom: 2px solid;
    border-right: 2px solid;
    -webkit-transform: translate(0, -50%) rotate(-45deg);
    transform: translate(0, -50%) rotate(-45deg);
    position: absolute;
    top: 50%;
    right: 10px;
}

.entry-form .form .btn button.back:after {
    -webkit-transform: translate(0, -50%) rotate(135deg);
    transform: translate(0, -50%) rotate(135deg);
    left: 10px;
    right: auto;
}

.entry-form .form .btn button:hover {
    color: #e40114;
    border: 2px solid #e40114;
    background: #fff;
    opacity: 1;
}

input[type="text"]:focus,
.entry-form .form .data textarea:focus {
    outline: none;
}

.select .uk-text-danger {
    display: block;
}

@media only screen and (max-width: 1024px) {
    .entry-form .tit-img .img {
        margin-right: 20px;
    }

    .entry-form .tit-img .tit {
        right: 0px;
    }

    .entry-form .form .item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .entry-form .form .datattl {
        width: 190px;
        display: block;
        margin-bottom: 10px;
        font-weight: 500;
        font-size: 16px;
    }

    .entry-form .form .data {
        padding-left: 10px;
    }

    .entry-form .form .data select {
        padding: 10px;
        font-size: 10px;
    }

    .uk-text-danger {
        font-size: 14px;
    }
}

@media (max-width:599px) {
    .entry-form .ttl-type-01 .ja {
        margin-top: -10px;
    }

    .entry-form .form .box {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 10px 0;
    }

    .entry-form .form .datattl {
        width: 220px;
    }

    .entry-form .form .data {
        padding-left: 0px;
    }

    .entry-form .form .btn button {
        min-width: 150px;
        padding: 10px 30px;
    }

    .entry-form .form .data input {
        padding: 10px 15px;
    }

    .entry-form .form .data select {
        width: 95px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        padding: 10px 5px;
    }

    .entry-form .form .data .tit {
        display: inline-block;
        margin: 0 1em 0 0;
        font-size: 10px;
    }

    .entry-form .form .data .tit:last-child {
        margin-right: 0;
    }

    .uk-text-danger {
        font-size: 12px;
    }
}

.up-h-fit {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

.up-h-230 {
    height: 210px;
}

@media(max-width:599px) {
    .up-obp-mr img {
        -o-object-position: right;
        object-position: 90% 50%;
    }

    .up-obp-ml img {
        -o-object-position: right;
        object-position: 10% 50%;
    }
}

.js-h1 {
    opacity: 1;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.js-h1.active {
    opacity: 0;
    position: absolute;
}

[data-element-id] .sp-info-venture {
    width: 700px;
    position: absolute;
    bottom: -100px;
    right: 0;
}

.movie-box iframe {
    height: 500px;
}

@media(max-width:599px) {
    .movie-box iframe {
        height: 170px;
    }
}

.slick-slider div {
    -webkit-transition: none;
    transition: none;
}
