@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@500;700&display=swap");

body {
    color: #3b4043;
    font-size: 14px;
    font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
    font-weight: 500;
    line-height: 2;
    min-width: 1020px;
    padding-top: 78px;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: "palt";
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset;
}

@media screen and (max-width: 1024px) {
    body {
        overflow-x: hidden;
        min-width: 0;
        padding-top: 52px;
    }

    .skewList {
        width: 90%;
        min-width: 0;
    }

    .globalHeaderNav .gnavList>li .nestList li.nestListTitle {
        width: 100%;
    }
}



h1 {
    display: inherit;
    margin: 0;
    font-size: inherit;
}

@media screen and (max-width: 1024px) {
    h1 {
        margin: none;
    }
}

.text_en {
    font-family: "Jost", sans-serif;
    font-weight: 500;
}

/* =========================================================
globalHeader
========================================================= */
a:hover .arrowMark::after,
.btnLink:hover .arrowMark::after,
.slick-arrow:hover .arrowMark::after,
.globalHeaderNav .gnavList>li .hoverBtn:hover .arrowMark::after,
.globalNav .gnavList>li .nestBtn:hover .arrowMark::after {
    animation: arrowafter 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}

@keyframes arrowafter {
    0% {
        transform: rotate(45deg) translate(0px, 0px);
    }

    15% {
        border-top-color: inherit;
        border-right-color: inherit;
    }

    50% {
        transform: rotate(45deg) translate(9px, -9px);
        border-top-color: transparent;
        border-right-color: transparent;
    }

    50.01% {
        transform: rotate(45deg) translate(-6px, 6px);
        border-top-color: inherit;
        border-right-color: inherit;
    }

    100% {
        transform: rotate(45deg) translate(0px, 0px);
    }
}

.skewList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    padding: 10px 0 0 15px;
    margin: 0 0 10px;
}

@media screen and (max-width: 1024px) {
    .skewList {
        width: calc(100% + 10px);
        padding: 10px 0 0 10px;
        margin: 0 0 10px;
    }
}

.skewList li {
    display: flex;
    flex-direction: column;
    position: relative;
    background: #272727;
    width: calc(33.3333333333% - 40px);
    padding: 21px 20px;
    transform: skewX(-11deg);
}

@media screen and (max-width: 1024px) {
    .skewList li {
        width: calc(100% - 10px);
        padding: 20px 10px;
        transform: skewX(-5deg);
    }
}

.skewList li:nth-child(n+4) {
    margin-top: 40px;
}

@media screen and (max-width: 1024px) {
    .skewList li:nth-child(n+4) {
        margin-top: 0;
    }
}

@media screen and (max-width: 1024px) {
    .skewList li:not(:first-child) {
        margin-top: 30px;
    }
}

.skewList li::before {
    content: "";
    display: block;
    position: absolute;
    top: -10px;
    left: -15px;
    width: 100%;
    height: 100%;
    background: #fff;
}

@media screen and (max-width: 1024px) {
    .skewList li::before {
        top: -10px;
        left: -10px;
    }
}

.skewList li.bdRed::before {
    border: 1px solid #c8102e;
}

.skewList li.shadowRed {
    background: #c8102e;
}

.skewList li .skewInner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 10px 36px;
    margin: -30px 0 0 -45px;
    transform: skewX(11deg);
}

@media screen and (max-width: 1024px) {
    .skewList li .skewInner {
        padding: 10px 25px;
        margin: -30px 0 0 -30px;
        transform: skewX(5deg);
    }
}

.skewList.large {
    width: calc(100% - 45px);
    padding: 20px 0 0 60px;
    margin: 0 0 20px;
}

@media screen and (max-width: 1024px) {
    .skewList.large {
        width: calc(100% + 10px);
        padding: 10px 0 0 10px;
        margin: 0 0 10px;
    }
}

.skewList.large li {
    width: 100%;
    padding: 50px 40px;
    transform: skewX(-40deg);
}

@media screen and (max-width: 1024px) {
    .skewList.large li {
        width: calc(100% - 10px);
        padding: 20px 10px;
        transform: skewX(-5deg);
    }
}

.skewList.large li:nth-child(n+4), .skewList.large li:nth-child(n+3) {
    margin-top: 0;
}

.skewList.large li:not(:first-child) {
    margin-top: 40px;
}

.skewList.large li::before {
    top: -20px;
    left: -30px;
}

@media screen and (max-width: 1024px) {
    .skewList.large li::before {
        top: -10px;
        left: -10px;
    }
}

.skewList.large .skewInner {
    padding: 20px 60px;
    margin: -60px 0 0 -90px;
    transform: skewX(40deg);
}

@media screen and (max-width: 1024px) {
    .skewList.large .skewInner {
        padding: 10px 25px;
        margin: -30px 0 0 -30px;
        transform: skewX(5deg);
    }
}


.globalHeaderNav .gnavList>li .nestList li .detailList a.external::after {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    margin: auto 0px auto 10px;
    background: url(../../img/common/icon_external.svg) center center / 13px no-repeat;
}

.arrowMark {
    position: relative;
}

.arrowMark::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -3px;
    right: 0;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 1px solid #c8102e;
    border-right: 1px solid #c8102e;
    transform: rotate(45deg) translate(0px, 0px);
    transition: all 0.5s;
}

.arrowMark.down {
    transform: rotate(90deg);
}

.globalHeader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 100;
    background: #fff;
    width: 100%;
    height: 80px;
    transition: all 0.5s;
}

@media screen and (max-width: 1024px) {
    .globalHeader {
        height: 52px;
    }
}

.globalHeader.scroll {
    animation: headerAnime 0.3s ease;
}

.globalHeader.scroll .globalHeaderNav .siteLogo {
    display: none !important;
}

.globalHeader .wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
}

@media screen and (max-width: 1024px) {
    .globalHeader .wrapper {
        max-width: 88%;
        padding: 4.5px 0;
    }
}

.globalHeader .siteLogo a {
    display: block;
    transition: none;
}

.globalHeader .siteLogo img {
    margin: 5px 0;
}

@media screen and (max-width: 1024px) {
    .globalHeader .siteLogo img {
        width: 96px;
        height: auto;
        margin: 4px 0;
    }
}

.globalHeaderNav {
    margin: 0 50px 0 auto;
}

.globalHeaderNav .siteLogo {
    display: none;
    position: absolute;
    top: 11px;
    left: calc((100% - 1020px) / 2);
}

.globalHeaderNav .siteLogo.show {
    display: inline;
}

.globalHeaderNav .gnavList {
    display: flex;
    height: 80px;
}

.globalHeaderNav .gnavList>li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
}

.globalHeaderNav .gnavList>li+li {
    margin-left: 40px;
}

.globalHeaderNav .gnavList>li.single {
    display: flex;
    align-items: center;
    font-weight: 600;
    text-align: center;
}

.globalHeaderNav .gnavList>li.single a {
    position: relative;
    display: flex;
    align-items: center;
    height: 80px;
}

.globalHeaderNav .gnavList>li.single a::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #c8102e;
    transition: width 0.5s cubic-bezier(0.25, 1, 0.28, 1);
}

.globalHeaderNav .gnavList>li .hoverBtn {
    display: flex;
    align-items: center;
    position: relative;
    height: 80px;
    font-weight: 600;
    text-align: center;
}

.globalHeaderNav .gnavList>li .hoverBtn a:hover {
    opacity: 1;
}

.globalHeaderNav .gnavList>li .hoverBtn::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #c8102e;
    transition: width 0.5s cubic-bezier(0.25, 1, 0.28, 1);
}

.globalHeaderNav .gnavList>li .hoverBtn .arrowMark.down {
    display: inline-block;
    margin: -4px 0 0 10px;
    vertical-align: middle;
}

.globalHeaderNav .gnavList>li .nestList {
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: #fff;
    width: 100%;
    padding-top: 130px;
    padding-bottom: 50px;
    padding-left: calc((100% - 1020px) / 2);
    padding-right: calc((100% - 1020px) / 2);
    margin-top: -15px;
    z-index: -1;
}

.globalHeaderNav .gnavList>li .nestList li {
    width: 244px;
    margin-right: 1.3%;
}

.globalHeaderNav .gnavList>li .nestList li:nth-of-type(4n) {
    margin-right: 0;
}

.globalHeaderNav .gnavList>li .nestList li.nestListTitle {
    width: 1020px;
    margin: 0 0 30px;
}

.globalHeaderNav .gnavList>li .nestList li.nestListTitle .secTitle {
    margin: 0;
}

.globalHeaderNav .gnavList>li .nestList li a {
    display: block;
    position: relative;
}

.globalHeaderNav .gnavList>li .nestList li a:not(.external)::before, .globalHeaderNav .gnavList>li .nestList li a:not(.external)::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #d7d7d7;
    transition: width 0.8s cubic-bezier(0.25, 1, 0.28, 1);
}

.globalHeaderNav .gnavList>li .nestList li a:not(.external)::after {
    width: 0;
    background: #c8102e;
}

.globalHeaderNav .gnavList>li .nestList li a:not(.external) .photo {
    overflow: hidden;
}

.globalHeaderNav .gnavList>li .nestList li a:not(.external) .photo img {
    transition: all 0.5s ease-out;
}

.globalHeaderNav .gnavList>li .nestList li a:not(.external):hover {
    opacity: 1;
}

.globalHeaderNav .gnavList>li .nestList li a:not(.external):hover::after {
    width: 100%;
}

.globalHeaderNav .gnavList>li .nestList li a:not(.external):hover .photo img {
    transform: scale(1.1);
}

.globalHeaderNav .gnavList>li .nestList li a .title {
    position: relative;
    padding: 15px 0 20px;
    font-size: 16px;
    font-weight: 600;
}

.globalHeaderNav .gnavList>li .nestList li a .title .arrowMark {
    position: absolute;
    bottom: 36px;
    right: 9px;
}

.globalHeaderNav .gnavList>li .nestList li .detailList {
    margin: 10px 0 0;
}

.globalHeaderNav .gnavList>li .nestList li .detailList li {
    padding: 3px 0;
}

.globalHeaderNav .gnavList>li .nestList li .detailList a.detail {
    font-size: 14px;
    font-weight: 600;
    color: #a3a3a3;
    margin-left: 1em;
}

.globalHeaderNav .gnavList>li .nestList li .detailList a.detail:hover {
    color: #c8102e;
}

.globalHeaderNav .gnavList>li .nestList li .detailList a.external::after {
    content: "";
    display: inline-block;
    margin: auto 0 auto 10px;
    background: url("../../img/common/icon_external.svg") no-repeat center/13px auto;
    width: 13px;
    height: 13px;
}

.globalHeaderNav .gnavList>li:hover.single a {
    opacity: 1;
}

.globalHeaderNav .gnavList>li:hover.single a::after {
    width: 100%;
}

.globalHeaderNav .gnavList>li:hover .hoverBtn::after {
    width: 100%;
}

.globalHeaderNav .gnavList>li:hover .nestList {
    opacity: 1;
    visibility: visible;
    margin-top: -1px;
}

.globalHeaderNav .gnavList>li:hover .nestList.hover {
    opacity: 1 !important;
    visibility: visible !important;
    margin-top: -1px !important;
}

@keyframes headerAnime {
    0% {
        opacity: 0;
        top: -50px;
    }

    100% {
        opacity: 1;
        top: 0;
    }
}

.gnavBtn {
    position: absolute;
    right: 0;
    z-index: 1;
    background: transparent;
    width: 52px;
    height: 52px;
    cursor: pointer;
}

.gnavBtn .menuLine,
.gnavBtn .menuLine::before,
.gnavBtn .menuLine::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #272727;
    width: 20px;
    height: 2px;
    margin: auto;
    text-align: center;
    transition: all 0.3s;
}

.gnavBtn .menuLine {
    background: transparent;
}

.gnavBtn .menuLine::before {
    top: -3px;
    bottom: auto;
}

.gnavBtn .menuLine::after {
    bottom: -3px;
    top: auto;
}

.gnavBtn.on .menuLine::before {
    top: 0;
    transform: rotate(45deg);
}

.gnavBtn.on .menuLine::after {
    bottom: 0;
    transform: rotate(-45deg);
}

.contactHeaderBtn {
    margin: 0 !important;
    width: auto;
    box-shadow: none;
}

@media screen and (max-width: 1024px) {
    .contactHeaderBtn {
        margin: 2px 32px 2px 0 !important;
        background: none;
        padding: 0 !important;
    }
}

.contactHeaderBtn a {
    justify-content: center;
    width: 150px;
    height: 50px;
    line-height: 50px;
    background: #c8102e;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
}

@media screen and (max-width: 1024px) {
    .contactHeaderBtn a {
        width: 133px;
        height: 39px;
        line-height: 39px;
        font-size: 13px;
    }
}

.contactHeaderBtn a svg {
    margin-right: 10px;
    fill: #fff;
    width: 21px;
    height: 15px;
    position: relative;
    top: 2px;
    left: 6px;
}

.contactHeaderBtn a:hover {
    background: #272727;
}

/* =========================================================
fixedBtn
========================================================= */
.fixedBtn {
    position: fixed;
    top: 20%;
    right: 0;
    width: 80px;
    z-index: 99;
}

@media screen and (max-width: 1024px) {
    .fixedBtn {
        top: 15%;
        width: 40px;
    }
}

.fixedBtn .snsList {
    display: flex;
    align-items: center;
    flex-direction: column;
}

.snsList li a:hover svg {
    fill: #fff;
}

.fixedBtn .snsList li+li {
    margin-left: 0;
    margin-top: 5px;
}

.fixedBtn .snsList li.title {
    height: 80px;
    line-height: 80px;
    margin-bottom: -5px;
    font-size: 12px;
    white-space: nowrap;
    transform: rotate(90deg);
    font-weight: 600;
    transition: color 0.5s;
}

@media screen and (max-width: 1024px) {
    .fixedBtn .snsList li.title {
        height: 40px;
        line-height: 40px;
        margin-bottom: 15px;
        font-size: 13px;
    }
}


.snsList li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border: 1px solid #d7d7d7;
    border-radius: 50%;
}

.fixedBtn .snsList li a {
    background: #fff;
    border-color: #fff;
}

@media screen and (max-width: 1024px) {
    .fixedBtn .snsList li a {
        width: 29px;
        height: 29px;
    }
}

.fixedBtn .snsList li a svg {
    width: 19px;
    height: 19px;
}

@media screen and (max-width: 1024px) {
    .fixedBtn .snsList li a svg {
        width: 12px;
        height: 12px;
    }
}

.fixedBtn .snsList li a:hover {
    background: #c8102e;
    border-color: #c8102e;
}

.snsList li a svg {
    display: block;
    fill: #c8102e;
    width: 17px;
    height: 17px;
}

/* =========================================================
globalNav
========================================================= */
.globalNav {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    background: transparent;
    width: 100%;
    height: 100%;
    transition: all 0.5s;
}

.globalNav.is_show {
    opacity: 1;
    visibility: visible;
    background: #fff;
}

.globalNav.is_show .wrapper {
    top: 0;
}

.globalNav>div {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

.globalNav .wrapper {
    position: relative;
    top: -15px;
    padding-top: 10px;
    margin-top: 52px;
    transition: all 0.5s;
}
@media screen and (max-width: 1024px) {
.globalNav .wrapper {
    padding: 4.5px 0;
    max-width: 76%;
}
}


.globalNav .gnavList {
    display: block;
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.globalNav .gnavList>li {
    width: 100%;
    overflow: hidden;
}

.globalNav .gnavList>li .nestBtn {
    display: flex;
    align-items: center;
    position: relative;
    font-size: 17px;
    font-weight: 600;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    padding: 5px 0;
}

.globalNav .gnavList>li .nestBtn .arrowMark.down {
    margin: -2px 0 0 10px;
}

.globalNav .gnavList>li .nestBtn.on .arrowMark.down {
    transform: rotate(270deg);
}

.globalNav .gnavList>li .nestBtn.on .arrowMark.down::after {
    animation: none;
}

.globalNav .gnavList>li.single {
    font-weight: 600;
    padding-bottom: 10px;
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    padding: 5px 0;
    font-size: 17px;
    font-weight: 600;
}

.globalNav .gnavList>li.single a {
    display: block;
}

.globalNav .gnavList>li.single a:hover {
    color: #c8102e;
}

.globalNav .gnavList>li .nestList {
    display: none;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    padding: 0 5px;
}

.globalNav .gnavList>li .nestList li {
    line-height: 3;
}

.globalNav .gnavList>li .nestList li a {
    display: block;
    padding-left: 1em;
    font-size: 14px;
    font-weight: 600;
}

.globalNav .gnavList>li .nestList li a:hover {
    color: #c8102e;
}

.globalNav .gnavList>li .nestList li a.detail {
    font-size: 13px;
    color: #a3a3a3;
    margin-left: 1em;
}

.globalNav .gnavList>li .nestList li a.detail:hover {
    color: #c8102e;
}

.globalNav .gnavList>li .nestList li a.external::after {
    content: "";
    display: inline-block;
    margin: auto 0 auto 10px;
    background: url("../img/common/icon_external.svg") no-repeat center/13px auto;
    width: 13px;
    height: 13px;
}

.globalNav .bnrLink {
    display: block;
    margin: 20px 0 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #d7d7d7;
    overflow: hidden;
}

.globalNav .bnrLink img {
    width: 100%;
    height: auto;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .globalNav .contactWrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
}

.globalNav .telWrap {
    overflow: hidden;
}

.globalNav .tel {
    display: block;
    position: relative;
    font-size: 14px;
    font-weight: 600;
    padding-left: 45px;
}

.globalNav .tel svg {
    position: absolute;
    bottom: 12px;
    left: 0;
    fill: #c8102e;
    width: 33px;
    height: 33px;
}

.globalNav .tel a {
    display: block;
    font-size: 36px;
    line-height: 1.2;
    white-space: nowrap;
        font-weight: 700;
}

@media screen and (max-width: 320px) {
    .globalNav .tel a {
        font-size: 31px;
    }
}

.globalNav .btnList_contact {
    margin: 20px 0 0;
    overflow: hidden;
        display: flex;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .globalNav .btnList_contact {
        width: calc(50% - 30px);
    }
}

.globalNav .btnList_contact li {
    margin: 0 5px;
}

.globalNav .btnList_contact li+li {
    margin-left: 0;
}

.globalNav .btnList_contact li a {
    flex-direction: column;
    justify-content: center;
    border-radius: 50%;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    line-height: 2;
        position: relative;
    display: flex;
    align-items: center;
    text-align: center;
    padding: 0;
    font-weight: bold;
}

@media screen and (max-width: 320px) {
    .globalNav .btnList_contact li a {
        font-size: 12px;
    }
}

.globalNav .btnList_contact li a svg {
    margin: 0 0 10px;
    width: 21px;
    height: 15px;
}

.globalNav .btnList_contact li a.contactBtn {
    background: #c8102e;
    color: #fff;

}

.globalNav .btnList_contact li a.contactBtn svg {
    fill: #fff;
}

.globalNav .btnList_contact li a.mailBtn {
    background: #fff;
    border: 1px solid #d7d7d7;
        color: #272727;
}

.globalNav .btnList_contact li a.mailBtn svg {
    fill: #272727;
}

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

    .globalNav .gnavList>li .nestBtn,
    .globalNav .gnavList>li.single a,
    .globalNav .bnrLink img,
    .globalNav .telWrap .tel,
    .globalNav .btnList_contact li {
        transform: translateY(200%);
        transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    .globalNav.is_show .gnavList>li .nestBtn,
    .globalNav.is_show .gnavList>li.single a,
    .globalNav.is_show .bnrLink img,
    .globalNav.is_show .telWrap .tel,
    .globalNav.is_show .btnList_contact li {
        transform: translateY(0);
    }

    .globalNav.is_show .gnavList>li.single:nth-child(1) a {
        transition-delay: 0.5s;
    }

    .globalNav.is_show .gnavList>li.single:nth-child(2) a {
        transition-delay: 0.55s;
    }

    .globalNav.is_show .gnavList>li.single:nth-child(3) a {
        transition-delay: 0.6s;
    }

    .globalNav.is_show .gnavList>li.single:nth-child(6) a {
        transition-delay: 0.75s;
    }

    .globalNav.is_show .gnavList>li:nth-child(4) .nestBtn {
        transition-delay: 0.65s;
    }

    .globalNav.is_show .gnavList>li:nth-child(5) .nestBtn {
        transition-delay: 0.7s;
    }

    .globalNav.is_show .bnrLink img {
        transition-delay: 0.8s;
    }

    .globalNav.is_show .telWrap .tel {
        transition-delay: 0.85s;
    }

    .globalNav.is_show .btnList_contact li {
        transition-delay: 0.9s;
            background: none;
    box-shadow: none;
    }
}

/* =========================================================
titleArea
========================================================= */
.titleArea {
    position: relative;
    background: #3b4043 no-repeat center/cover;
    line-height: 1.6;
    background: #f9f9f9;
    border-bottom: 1px solid #d7d7d7;
}

.titleArea::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 290px 50vw 0 50vw;
    border-color: transparent #fff transparent #c8102e;
}

@media screen and (max-width: 1024px) {
    .titleArea::before {
        border-width: 145px 50vw 0 50vw;
    }
}

.titleArea .wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 290px;
    padding: 0;
    z-index: 1;
}

@media screen and (max-width: 1024px) {
    .titleArea .wrapper {
        height: 220px;
    }
}

.pageTitle {
    text-align: center;
    font-size: 40px;
    line-height: 1.3;
    letter-spacing: 2.5px;
    font-family: Jost, sans-serif;
    font-weight: 500;
}

@media screen and (max-width: 1024px) {
    .pageTitle {
        font-size: 34px;
        margin-top: -30px;
    }
}

.pageTitle .text_jp {
    display: block;
    color: #a3a3a3;
    letter-spacing: 0;
    font-size: 12px;
    font-weight: 600;
    margin: 30px 0 0;
}

@media screen and (max-width: 1024px) {
    .pageTitle .text_jp {
        font-size: 13px;
        margin: 20px 0 0;
    }
}

.breadcrumbs {
    display: flex;
    padding: 19px 0;
    font-size: 11px;
    font-weight: 600;
}

@media screen and (max-width: 1024px) {
    .breadcrumbs {
        display: block;
        padding: 12px 0;
    }
}

@media screen and (max-width: 1024px) {
    .breadcrumbs li {
        display: inline;
    }
}

.breadcrumbs li a {
    color: #a3a3a3;
}

.breadcrumbs li a:hover {
    color: #c8102e;
}

.breadcrumbs li .arrowMark {
    padding: 0 10px;
    margin: 0;
    display: inline;
}

.breadcrumbs+section {
    border-top: 1px solid #d7d7d7;
}




.index .wrapper {
    animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        -webkit-transform: translateY(50px);
        -moz-transform: translateY(50px);
        -ms-transform: translateY(50px);
        transform: translateY(50px);
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
        -webkit-transform: translateY(50px);
        -moz-transform: translateY(50px);
        -ms-transform: translateY(50px);
        transform: translateY(50px);
    }

    100% {
        opacity: 1;
    }
}

.section table {
    margin-top: 0 !important;
}

.tab_nav_con li.active {
    background: #e00019;
}

.tab_nav_con li.active a {
    color: #fff;
}

.mt20 {
    margin-top: 20px;
}

/*タブ切り替え要素*/
.tab_contents {
    visibility: hidden;
    height: 0;
    opacity: 0;
    display: none;
    transition: opacity .6s;
}

.tab_contents.show {
    visibility: visible;
    height: auto;
    opacity: 1;
    display: block;
}

.contact_lead {
    background: #f4f4f4;
}

.sec_contact p {
    line-height: 2.5;
    margin-bottom: 30px;
    color: #222;
}

.sec_contact a {
    text-decoration: underline !important;
}

.section table td {
    padding: 25px 0 25px 25px;
}

.ttl01 {
    font-size: 30px;
    margin-bottom: 20px;
    text-align: center;
}

.ttl01 .en {
    display: block;
    font-size: 17px;
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

.ttl02 {
    font-size: 30px;
}

.thanks .ttl02,
.confirm .ttl02 {
    margin-bottom: 15px;
}

.con_about {
    margin-bottom: 10px !important;
    font-weight: bold;
    margin-top: 40px;
    font-size: 16px;
}

.sec_contact .required_cate {
    padding: 3px 18px;
    border-radius: 15px;
    color: #fff;
    background: #e00019;
    margin: 0 10px 0 0;
}

.contact_txt {
    position: relative;
}

.confirm .contactStep {
    margin-top: -60px;
}

.contactStep {
    display: flex;
    justify-content: flex-end;
    position: absolute;
    right: 0;
}

.con_wrap {
    display: flex;
}

.btn {
    text-align: center;
    margin-left: 50px;
}

.btn span {
    font-size: 16px;
    display: block;
    margin-top: -10px;
}

.btn2 a {
    display: block;
    line-height: 40px;
    background-image: url(../../img/common/btn_mail_whi.svg), url(../../img/common/ico_arrow_white.svg);
    background-repeat: no-repeat;
    background-position: 10% 50%, 90% 50%;
    background-size: 40px 40px, 20px 20px;
    padding: 5px 0px 5px 10px;
}

@media screen and (max-width: 767px) {
    .sec_contact p {
        line-height: 2;
        margin-bottom: 5px;
        display: block;
        margin-top: 20px;
    }

    .section table td {
        padding: 25px 0;
    }

    .ttl01 {
        font-size: 26px;
        margin-bottom: 15px;
        text-align: center;
    }

    .ttl01 .en {
        margin-top: 10px;
        margin-bottom: 25px;
    }

    .ttl02_txt {
        margin-top: 70px !important;
        margin-bottom: 30px !important;
    }

    .con_about {
        margin-top: 40px;
        font-size: 14px;
        padding-top: 20px;
        padding-bottom: 10px;
    }

    .form_area_con {
        margin-top: 80px;
    }

    .confirm .contactStep {
        margin-top: -135px;
    }

    .contactStep {
        position: initial;
        margin-bottom: 30px;
    }

    .con_wrap {
        display: block;
    }

    .btn {
        margin-left: 0px;
        padding: 15px 0 23px;
        margin-top: 20px;
    }

    .btn span {
        font-size: 14px;
        margin-top: 0px;
    }

    .btn2 a {
        line-height: 25px;
        background-position: 10% 90%, 90% 70%;
    }
}


.wrapper {
    width: 1020px;
}

@media screen and (max-width: 1024px) {
    .wrapper {
        width: 90%;
    }

}

.tab_nav_con {
    display: flex;
    justify-content: space-between;
    margin: 50px 0;
    margin: 50px auto;
    width: 1020px;
}

@media screen and (max-width: 1024px) {
    .tab_nav_con {
        width: 90%;
    }

}

.tab_nav_con li {
    background: #f4f4f4;
    width: 35%;
}

.tab_nav_con li:hover {
    background: #e00119;
}

.tab_nav_con li a {
    padding: 20px;
    text-decoration: none !important;
    display: block;
    text-align: center;
    font-size: 15px;
}

.tab_nav_con li:hover a {
    color: #fff;
}

.tab_nav_con li:not(:first-child) {
    border-left: 1px solid #fff;
}

.contactStep li {
    list-style-type: none;
    position: relative;
    background: #f4f2f0;
    height: 28px;
    line-height: 28px;
    padding: 0 20px 0 30px;
    white-space: nowrap;
    text-align: center;
    border-right: 2px solid #fff;
    color: #222;
}

.contactStep li:first-child {
    padding-left: 20px;
}

@media screen and (max-width: 767px) {
    .contactStep li {
        box-sizing: border-box;
        padding: 0;
        padding-left: 10px;
        width: 33%;
    }

    .contactStep li:first-child {
        padding: 0;
    }

    .tab_nav_con {
        flex-wrap: wrap;
        width: 100%;
        margin: 30px 0 50px;
    }

    .tab_nav_con li:first-child {
        width: 100%;
    }

    .tab_nav_con li {
        width: 50%;
    }

    .tab_nav_con li a {
        font-size: 13px;
    }
}

.contactStep li:last-child::after {
    content: none;
}

.contactStep .current {
    background: #e00019;
    color: #fff;
}


input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="submit"],
textarea,
select {
    width: 100%;
    padding: 15px 30px;
    border: 1px solid #999999;
    font-size: 12.2px;
}

.recapcha {
    background: #f4f2f0;
    padding: 30px 0;
    margin: 30px auto;
    text-align: center;
    width: 1020px;
}

@media screen and (max-width: 767px) {
    .recapcha {
        margin: 30px auto;
        width: 90%;
        padding: 10px 10px 30px;
    }
}

.input_btn_wrap {
    display: flex;
    justify-content: space-around;
    width: 750px;
    margin: 30px auto 0;
}

.btn_b {
    display: block;
    line-height: 70px;
    border: none;
    width: 320px;
    border-radius: 5px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
    margin: 60px auto 0;
    cursor: pointer;
}

.btn_red {
    background: #e00018 url(../../img/common/ico_arrow_white.svg) no-repeat;
    color: #fff;
    background-position: 85% 50%;
    background-size: 20px 20px;
    border: 2px solid #e00018;
    font-size: 13px;
}

.btn_white {
    background: #fff url(../../img/common/ico_arrow_hidari.svg) no-repeat;
    background-position: 15% 50%;
    background-size: 20px 20px;
    border: 2px solid #e00018;
    font-size: 15px;
}

@media screen and (max-width: 767px) {
    .input_btn_wrap {
        display: block;
        width: 100%;
        margin: 10px auto 0;
    }

    .btn_b {
        width: 90%;
        height: 55px;
        line-height: 55px;
    }

    .btn_red {
        margin-top: 15px;
        margin-bottom: 20px;
    }
}

.btn_red:hover {
    background-color: #a50524;
    border: 2px solid #a50524;
}

.btn_white:hover {
    background: #222 url(../../img/common/ico_arrow_white_hidari.svg) no-repeat;
    background-position: 15% 50%;
    background-size: 20px 20px;
    color: #fff;
}


/*thanks.html*/
.thanks_area h3 {
    font-size: 23px;
    margin-bottom: 20px;
}

.thanks_area p {
    line-height: 2;
    margin-bottom: 50px;
    margin-left: 0;
}

.thanks_area .btn a {
    text-decoration: none !important;
}

.tab1,
.tab2,
.tab3,
.tab4,
.tab5 {
    display: none;
    padding-top: 20px;
    position: relative;
}

.first_con {
    position: relative;
}

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

    .tab1,
    .tab2,
    .tab3,
    .tab4,
    .tab5 {
        padding-top: 0;
    }

    .thanks_area p {
        padding-bottom: 5px;
    }

    .thanks_area h3 {
        margin-bottom: -15px;
        padding-top: 10px;
    }
}


#tab01_file,
#tab02_file,
#tab03_file,
#tab04_file,
#tab05_file {
    display: block;
}


section a[target="_blank"] {
    background: url(../../img/common/ico_blank.svg) no-repeat right 30px center;
    background-size: 12px 12px;
}

section a[target="_blank"]:hover {
    background: url(../../img/common/ico_blank_white.svg) no-repeat right 30px center;
    background-size: 12px 12px;
}

#tab01_mail {
    display: block;
}

#tab01_file {
    display: none;
}

#tab02_mail {
    display: block;
}

#tab02_file {
    display: none;
}

#tab03_mail {
    display: block;
}

#tab03_file {
    display: none;
}

#tab04_mail {
    display: block;
}

#tab04_file {
    display: none;
}

#tab05_mail {
    display: block;
}

#tab05_file {
    display: none;
}



.box_600 {
    width: 600px !important;
    position: absolute;
    right: 0;
}

.txt_hen {
    width: 300px !important;
    margin-left: 125px !important;
    margin-top: -20px;
    margin-bottom: 10px !important;
}

@media screen and (max-width: 767px) {
    .box_600 {
        width: 100% !important;
    }

    .txt_hen {
        width: 100% !important;
        margin-left: 0 !important;
        margin-top: 30px !important;
        margin-bottom: 5px !important;
    }
}

.txt_mat {
    display: inline-block;
    margin-top: 5px;
}


.cp_ipcheck {
    width: 90%;
    text-align: left;
}

.cp_ipcheck label {
    line-height: 135%;
    position: relative;
    margin: 8px 8px 8px 0;
}

.komoku label {
    width: 170px;
}

.cp_ipcheck .option-input05 {
    position: relative;
    margin: 0 20px 0 0;
}

.cp_ipcheck .option-input05:before {
    position: absolute;
    z-index: 1;
    top: 2px;
    left: 4px;
    width: 8px;
    height: 3.6px;
    -webkit-transform: rotate(-45deg) scale(0, 0);
    transform: rotate(-45deg) scale(0, 0);
    border: 4px solid #e00019;
    border-top-style: none;
    border-right-style: none;
}

.cp_ipcheck .option-input05:checked:before {
    -webkit-transform: rotate(-45deg) scale(1, 1);
    transform: rotate(-45deg) scale(1, 1);
}

.cp_ipcheck .option-input05:after {
    position: absolute;
    top: -7px;
    left: -3px;
    width: 20px;
    height: 20px;
}


.option-input06 {
    position: relative;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    width: 30px;
    height: 30px;
    content: "";
    background: #FFFFFF;
    border: 1px solid #999999;
    -webkit-border-radius: 24px;
    border-radius: 24px;
    vertical-align: middle;
    cursor: pointer;
    outline: 0;
    margin-right: 10px;
}

.option-input06:checked:after {
    display: block;
    position: absolute;
    top: 6.2px;
    left: 6.2px;
    content: "";
    width: 15px;
    height: 15px;
    background: #e00019;
    -webkit-border-radius: 12px;
    border-radius: 12px;
}

.komoku {
    padding-left: 29px !important;
}

@media screen and (max-width: 767px) {
    .cp_ipcheck label {
        width: 95%;
    }

    .komoku {
        padding-left: 3px !important;
    }

    .komoku label {
        width: 95%;
    }

    .option-input06 {
        margin-bottom: 5px;
    }

    .tab_4_kibo {
        margin-top: 10px;
    }
}

#tab3 {
    margin-top: -220px;
    padding-top: 220px;
}

#tab3 p {
    text-align: center;
    font-weight: 600;
    margin-bottom: 30px;
}

#tab3 p .red {
    display: block;
}

.section table th,
.section table td {
    vertical-align: middle;
    color: #222;
}

@media screen and (max-width: 767px) {
    .section table td span {
        font-size: 12px;
    }
}

@media screen and (max-width: 767px) {
    #tab3 {
        margin-top: -320px;
        padding-top: 320px;
    }

    #tab3 p {
        text-align: left;
    }

    .section table th {
        padding: 25px 10px;
    }

    .section table td {
        padding: 25px 0px;
    }

    .confirm table td {
        padding: 25px 15px;
    }
}

.thanks {
    background: #fff url(../../img/common/bg_04.png) no-repeat 100% 100%;
    background-size: contain;
}

@media screen and (max-width: 767px) {
    .thanks {
        background: #fff url(../../img/common/bg_04_sp.png) no-repeat 0% 30%;
    }
}

/*
.section a[target="_blank"]:hover{
      background: url(../../img/common/ico_blank_whi.svg) no-repeat 85% 50%;
    background-size: 12px 12px;  
}
*/

.radio_input {
    position: relative;
    margin-right: 10px;
}

.radio_input input[type="radio"] {
    display: inline-block;
    margin-left: -30px !important;
    opacity: 0;
}

.radio_input span::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    border: 1px solid #e8e8e8;
    border-radius: 50%;
    width: 27px;
    height: 27px;
    margin: auto;
}

.radio_input input[type="radio"]:checked+span::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 7px;
    border-radius: 50%;
    background: #e00019;
    width: 15px;
    height: 15px;
    margin: auto;
}

@-moz-document url-prefix() {
    .fire_c label {
        position: relative;
        margin-right: 10px;
    }

    .fire_c input[type="radio"] {
        display: inline-block;
        margin-left: -30px !important;
        opacity: 0;
    }

    .fire_c span {
        margin-left: 20px;
    }

    .fire_c span::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        border: 1px solid #e8e8e8;
        width: 27px;
        height: 27px;
        margin: auto;
    }

    .fire_c input[type="radio"]:checked+span::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 7px;
        border-radius: 50%;
        background: url(../../img/contact/pic_check.svg) no-repeat 50% 50%;
        background-size: 26px 11px;
        width: 15px;
        height: 15px;
        margin: auto;
    }

    .fire_c input[type="checkbox"] {
        display: inline-block;
        margin-left: -30px !important;
        opacity: 0;
    }

    .fire_c input[type="checkbox"]:checked+span::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 7px;
        border-radius: 50%;
        background: url(../../img/contact/pic_check.svg) no-repeat 50% 50%;
        background-size: 26px 11px;
        width: 15px;
        height: 15px;
        margin: auto;
    }

    .counseling_list dt span,
    .counseling_list dd span {
        margin-left: 20px;
        vertical-align: middle;
    }
}

@media all and (-ms-high-contrast: none) {
    .fire_c label {
        position: relative;
        margin-right: 10px;
    }

    .fire_c input[type="radio"] {
        display: inline-block;
        margin-left: -30px !important;
        opacity: 0;
    }

    .fire_c span {
        margin-left: 20px;
    }

    .fire_c span::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        border: 1px solid #e8e8e8;
        width: 27px;
        height: 27px;
        margin: auto;
    }

    .fire_c input[type="radio"]:checked+span::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 7px;
        border-radius: 50%;
        background: url(../../img/contact/pic_check.svg) no-repeat 50% 50%;
        background-size: 26px 11px;
        width: 15px;
        height: 15px;
        margin: auto;
    }

}


@supports (-ms-ime-align: auto) {
    .fire_c label {
        position: relative;
        margin-right: 10px;
    }

    .fire_c input[type="checkbox"] {
        display: inline-block;
        margin-left: -30px !important;
        opacity: 0;
    }

    .fire_c input[type="radio"] {
        display: inline-block;
        margin-left: -30px !important;
        opacity: 0;
    }

    .fire_c span {
        margin-left: 20px;
    }

    .fire_c span::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        border: 1px solid #e8e8e8;
        width: 27px;
        height: 27px;
        margin: auto;
    }

    .fire_c input[type="radio"]:checked+span::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 7px;
        border-radius: 50%;
        background: url(../../img/contact/pic_check.svg) no-repeat 50% 50%;
        background-size: 26px 11px;
        width: 15px;
        height: 15px;
        margin: auto;
    }

    .fire_c input[type="checkbox"]:checked+span::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 7px;
        border-radius: 50%;
        background: url(../../img/contact/pic_check.svg) no-repeat 50% 50%;
        background-size: 26px 11px;
        width: 15px;
        height: 15px;
        margin: auto;
    }

    .counseling_list dt span,
    .counseling_list dd span {
        margin-left: 20px;
        vertical-align: middle;
    }
}

.con_section {
    padding: 80px 0 20px;
    margin-bottom: -30px;
}

.contact_only .en {
    display: block;
    font-size: 18px;
}

.btn_white .mail_ico {
    display: block;
    line-height: 30px;
    padding: 10px 0;
}

.btn_white .mail_ico:hover {
    display: block;
    line-height: 30px;
    padding: 10px 0;
}

@media screen and (max-width: 767px) {
    .con_section {
        padding: 30px 0;
        margin-bottom: 0px;
    }

    .btn_white .mail_ico {
        height: 80px;
    }

    .contact_only .en {
        font-size: 15px;
    }
}

@media screen and (min-width: 768px) {
    .section table th, .section table td {
        padding: 25px 20px;
        font-size: 12.2px;
    }
}


.thanks .btn {
    margin: 100px auto 0;
}




/* =========================================================
globalFooter
========================================================= */
.footerBg {
    position: relative;
}

.footerBg::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 290px 50vw;
    border-color: #f9f9f9 transparent transparent #f9f9f9;
}

@media screen and (max-width: 1024px) {
    .footerBg::before {
        border-width: 145px 50vw;
    }
}

.globalFooter .wrapper {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding: 0 0 25px;
    z-index: 1;
}

@media screen and (max-width: 1024px) {
    .globalFooter .wrapper {
        display: block;
    }
}

.globalFooter .companyInfo {
    position: relative;
    width: 28%;
    padding: 10px 0;
}

@media screen and (max-width: 1024px) {
    .globalFooter .companyInfo {
        width: 100%;
        padding: 0;
        line-height: 1.7;
    }
}

.globalFooter .companyInfo dd .snsList {
    margin: 20px 0;
}

.globalFooter .companyInfo dd .snsList li.title {
    font-size: 12px;
    font-weight: 600;
    color: #a3a3a3;
    white-space: nowrap;
}

@media screen and (max-width: 1024px) {
    .globalFooter .companyInfo dd .snsList li.title {
        font-size: 14px;
    }
}

.globalFooter .copyright {
    font-size: 12px;
    color: #a3a3a3;
    background: none;
    text-align: left;
    padding: 0;
    letter-spacing: 0;
}

@media screen and (max-width: 1024px) {
    .globalFooter .copyright {
        font-size: 13px;
    }
}

.globalFooter .footerNav {
    display: flex;
    width: 72%;
    padding: 10px 0 10px 25px;
}

@media screen and (max-width: 1024px) {
    .globalFooter .footerNav {
        display: block;
        width: 100%;
        margin: 30px 0;
        padding: 0;
    }
}

.globalFooter .footerNavList:nth-child(1) {
    width: 20%;
}

@media screen and (max-width: 1024px) {
    .globalFooter .footerNavList:nth-child(1) {
        width: 100%;
    }
}

.globalFooter .footerNavList:nth-child(2) {
    width: 49%;
}

@media screen and (max-width: 1024px) {
    .globalFooter .footerNavList:nth-child(2) {
        width: 100%;
    }
}

.globalFooter .footerNavList:nth-child(3) {
    width: 31%;
}

@media screen and (max-width: 1024px) {
    .globalFooter .footerNavList:nth-child(3) {
        width: 100%;
    }
}

.globalFooter .footerNavList+.footerNavList {
    padding-left: 20px;
    margin-left: 15px;
    border-left: 1px solid #d7d7d7;
}

@media screen and (max-width: 1024px) {
    .globalFooter .footerNavList+.footerNavList {
        padding-left: 0;
        margin-left: 0;
        border-left: none;
        padding-top: 15px;
        margin-top: 20px;
        border-top: 1px solid #d7d7d7;
    }
}

.globalFooter .footerNavList>li+li {
    margin-top: 25px;
}

@media screen and (max-width: 1024px) {
    .globalFooter .footerNavList>li+li {
        margin-top: 0;
    }
}

.globalFooter .footerNavList>li .nestBtn {
    font-size: 12px;
    color: #a3a3a3;
    line-height: 3;
}

@media screen and (max-width: 1024px) {
    .globalFooter .footerNavList>li .nestBtn {
        font-size: 13px;
    }
}

.globalFooter .footerNavList>li .nestList li {
    line-height: 3;
    white-space: nowrap;
}

.globalFooter .footerNavList>li .nestList li a {
    display: block;
    position: relative;
    font-weight: 600;
}

.globalFooter .footerNavList>li .nestList li a:hover {
    color: #c8102e;
}

.globalFooter .footerNavList>li .nestList li a.detail {
    font-size: 12px;
    color: #a3a3a3;
    margin-left: 1em;
}

@media screen and (max-width: 1024px) {
    .globalFooter .footerNavList>li .nestList li a.detail {
        font-size: 13px;
    }
}

.globalFooter .footerNavList>li .nestList li a.detail:hover {
    color: #c8102e;
}

.globalFooter .footerNavList>li .nestList li a.external::after {
    content: "";
    display: inline-block;
    margin: auto 0 auto 10px;
    background: url("../../img/common/icon_external.svg") no-repeat center/13px auto;
    width: 13px;
    height: 13px;
}

.globalFooter .footerNavList>li .nestList.column02 {
    position: relative;
    column-count: 2;
    column-gap: 15px;
}

@media screen and (max-width: 1024px) {
    .globalFooter .footerNavList>li .nestList.column02 {
        column-gap: 20px;
    }
}

.globalFooter .footerNavList>li .nestList.column02::after {
    content: "";
    display: block;
    width: 100%;
    height: 170px;
}

@media screen and (max-width: 1024px) {
    .globalFooter .footerNavList>li .nestList.column02::after {
        height: 44px;
    }
}

@media screen and (max-width: 1024px) {
    .globalFooter .footerNavList>li .nestList.column02_sp {
        column-count: 2;
        column-gap: 5px;
    }
}

.pagetop {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 98;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 220px;
    height: 80px;
    line-height: 80px;
    transform: rotate(90deg);
    transform-origin: 100% 0;
    color: #a3a3a3;
    font-size: 12px;
    text-align: center;
    white-space: nowrap;
    margin: 0 0 -80px auto;
    padding-left: 140px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
    background: none;
    box-shadow: none;
}

@media screen and (max-width: 1024px) {
    .pagetop {
        width: 190px;
        height: 40px;
        line-height: 40px;
        margin: 0 0 -40px auto;
        padding-left: 110px;
    }
}

.pagetop::before {
    content: "";
    display: block;
    position: absolute;
    left: 55px;
    margin: 0 auto;
    background: #a3a3a3;
    width: 80px;
    height: 1px;
}

@media screen and (max-width: 1024px) {
    .pagetop::before {
        left: 45px;
        width: 60px;
    }
}

.pagetop svg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;
    margin: auto 0;
    fill: #a3a3a3;
    width: 20px;
    height: 20px;
    transform: rotate(90deg);
    transition: all 0.5s;
}

@media screen and (max-width: 1024px) {
    .pagetop svg {
        width: 18px;
        height: 18px;
    }
}

.pagetop:hover svg {
    left: 10px;
}

.pagetop:hover::before {
    animation: borderAnim_pagetop 2s cubic-bezier(0.25, 1, 0.28, 1) infinite;
}

@media screen and (max-width: 1024px) {
    .pagetop:hover::before {
        animation: borderAnim_pagetop_sp 2s cubic-bezier(0.25, 1, 0.28, 1) infinite;
    }
}

.pagetop.scroll {
    opacity: 1;
    visibility: visible;
}

@keyframes borderAnim_pagetop {
    0% {
        width: 80px;
    }

    100% {
        width: 0;
    }
}

@keyframes borderAnim_pagetop_sp {
    0% {
        width: 60px;
    }

    100% {
        width: 0;
    }
}

.snsList {
    display: flex;
    align-items: center;
}

.snsList li+li {
    margin-left: 15px;
}

.snsList li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border: 1px solid #d7d7d7;
    border-radius: 50%;
}

@media screen and (max-width: 1024px) {
    .snsList li a {
        width: 57px;
        height: 57px;
    }
}

@media screen and (max-width: 320px) {
    .snsList li a {
        width: 50px;
        height: 50px;
    }
}

.snsList li a svg {
    display: block;
    fill: #c8102e;
    width: 17px;
    height: 17px;
}

.snsList li a:hover {
    border-color: #c8102e;
    background: #c8102e;
    opacity: 1;
}

.snsList li a:hover svg {
    fill: #fff;
}

/* =========================================================
contactSec
========================================================= */
.contactSec {
    background: linear-gradient(to right, #d70345 0%, rgba(215, 3, 69, 0.4) 100%);
    overflow: hidden;
}

.contactSec .wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    max-width: 1020px;
    margin: 0 auto;
    padding: 60px 0 60px;
}

@media screen and (max-width: 767px) {
    .contactSec .wrapper {
        max-width: 76%;
        padding: 40px 0 40px;
    }
}

@media screen and (max-width: 1024px) {
    .contactSec .wrapper {
        display: block;
        padding-top: 50px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .contactSec .wrapper {
        display: flex;
        align-items: center;
    }
}

.contactSec .wrapper h2 {
    display: flex;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0;
    height: 100px;
    font-family: "Jost", sans-serif;
    font-weight: 700;
}

@media screen and (max-width: 1024px) {
    .contactSec .wrapper h2 {
        top: 20px;
        bottom: auto;
        height: auto;
    }
}

.contactSec .wrapper .tel {
    display: block;
    position: relative;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    padding-left: 45px;
}

@media screen and (max-width: 1024px) {
    .contactSec .wrapper .tel {
        font-size: 14px;
    }
}

.contactSec .wrapper .tel svg {
    position: absolute;
    bottom: 12px;
    left: 0;
    fill: #fff;
    width: 33px;
    height: 33px;
}

.contactSec .wrapper .tel a {
    display: block;
    font-size: 36px;
    line-height: 1.2;
    white-space: nowrap;
    font-family: "Jost", sans-serif;
    font-weight: 600;
    color: #ffff;
}

@media screen and (max-width: 1024px) {
    .contactSec .wrapper .tel a {
        font-size: 36px;
    }
}

@media screen and (max-width: 320px) {
    .contactSec .wrapper .tel a {
        font-size: 31px;
    }
}

.contactSec .wrapper .btnList_contact {
    margin: 0 0 0 30px;
    display: flex;
}

@media screen and (max-width: 1024px) {
    .contactSec .wrapper .btnList_contact {
        margin: 20px 0 0;
        justify-content: center;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .contactSec .wrapper .btnList_contact {
        margin: 0 0 0 30px;
    }
}

.contactSec .wrapper .btnList_contact li {
    margin: 0 5px;
    width: auto;
    box-shadow: none;
    background: none;
}

@media screen and (max-width: 1024px) {
    .contactSec .wrapper .btnList_contact li {
        width: calc(50% - 10px);
    }
}

@media screen and (max-width: 1024px) {
    .contactSec .wrapper .btnList_contact li+li {
        margin-left: 0;
    }
}

.contactSec .wrapper .btnList_contact li a {
    flex-direction: column;
    justify-content: center;
    border-radius: 50%;
    width: 165px;
    height: 165px;
    aspect-ratio: 1/1;
    line-height: 2;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    padding: 0;
}

@media screen and (max-width: 1024px) {
    .contactSec .wrapper .btnList_contact li a {
        width: 100%;
        height: auto;
    }
}

@media screen and (max-width: 320px) {
    .contactSec .wrapper .btnList_contact li a {
        font-size: 12px;
    }
}

.contactSec .wrapper .btnList_contact li a svg {
    margin: 0 0 10px;
    width: 21px;
    height: 15px;
}

.contactSec .wrapper .btnList_contact li a.contactBtn {
    background: #c8102e;
    color: #fff;
}

.contactSec .wrapper .btnList_contact li a.contactBtn svg {
    fill: #fff;
}

.contactSec .wrapper .btnList_contact li a.mailBtn {
    background: #fff;
    color: #3b4043;
}

.contactSec .wrapper .btnList_contact li a.mailBtn svg {
    fill: #272727;
}

.contactSec .wrapper .btnList_contact li a:hover {
    opacity: 0.8;
    transition: 0.3s ease;
}

/* =========================================================
bnrSlide
========================================================= */
.bnrSlide {
    overflow: hidden;
}

.bnrSlide .wrapper {
    position: relative;
    max-width: 1256px;
    z-index: 1;
    margin: 0 auto;
    padding: 60px 0 60px;
    width: 1256px;
}

@media screen and (max-width: 1024px) {
    .bnrSlide .wrapper {
        max-width: 88%;
        margin-right: 0;
    }
}

@media screen and (max-width: 1024px) {
    .bnrSlideList {
        margin-left: -8px;
    }
}

.bnrSlideList .listItem {
    width: 240px;
    padding: 0 8px;
    position: relative;
}

@media screen and (max-width: 1024px) {
    .bnrSlideList .listItem {
        width: 80%;
    }
}

.bnrSlideList .listItem img {
    width: 100%;
    height: auto;
}

.bnrSlideList a {
    display: block;
}

@media screen and (max-width: 1024px) {
    .bnrSlideList .slick-list {
        padding: 0 25% 0 0 !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .bnrSlideList .slick-list {
        padding: 0 !important;
    }
}


/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
}

.slick-track::before, .slick-track::after {
    content: "";
    display: table;
}

.slick-track::after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[dir=rtl] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
    height: auto;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* =========================================================
animation
========================================================= */
.inview {
    transition: all 1s;
    opacity: 0;
}

.inview.show {
    opacity: 1;
}

.marquee_title {
    position: relative;
}

.marquee_wrap {
    opacity: 1;
    animation: marquee 30s linear infinite;
    display: flex;
    position: static;
    transform: translate(-50%, 0%);
    white-space: nowrap;
    transition: all 0.5s;
}

@media screen and (max-width: 1024px) {
    .marquee_wrap {
        animation: marquee 15s linear infinite;
    }
}

.marquee {
    position: static;
    color: rgba(255, 255, 255, 0.3);
    font-size: 90px;
    line-height: 1.4;
    letter-spacing: 1px;
    margin-left: 1em;
}

@media screen and (max-width: 1024px) {
    .marquee {
        font-size: 52px;
    }
}

@media screen and (max-width: 320px) {
    .marquee {
        font-size: 45px;
    }
}

@keyframes marquee {
    0% {
        transform: translate(-40%, 0%);
    }

    100% {
        transform: translate(-60%, 0%);
    }
}