@charset "UTF-8";

/*==========================================
  Common
==========================================*/
/* base
==================================*/
h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
blockquote,
ul,
li,
ol,
dl,
dd,
tr,
a {
    font-size: 16px;
    line-height: 1.5;
}

@media (max-width: 1300px) {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    pre,
    blockquote,
    ul,
    li,
    ol,
    dl,
    dd,
    tr,
    a {
        font-size: 1.23vw;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1;
}

.sp {
    display: none !important;
}

a {
    color: #000;
    text-decoration: none;
    transition: 0.3s;
}

a:visited {
    color: #000;
}

a:hover {
    color: #000;
    text-decoration: none;
}

a:active {
    color: #000;
}

a.tel {
    pointer-events: none;
    cursor: default;
}

/* main
==================================*/
main {
    overflow: hidden;
    padding-bottom: 705px;
    box-sizing: border-box;
}

@media (max-width: 1300px) {
    main {
        padding-bottom: 54.23vw;
    }
}

/*　Retina対応時のCSS↓　*/
/* header
==================================*/
header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    width: 100%;
    transition: 0.3s;
    padding-left: 50px;
    box-sizing: border-box;
}

header .header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header .header_inner .logo {
    width: 223px;
}

header .header_inner nav {
    display: flex;
}

header .header_inner nav>ul {
    display: flex;
}

header .header_inner nav>ul>li {
    position: relative;
}

header .header_inner nav>ul>li>a {
    display: inline-block;
    line-height: 80px;
    color: #fff;
    padding: 0 15px;
}

@media (hover: hover) {
    header .header_inner nav>ul>li>a:hover {
        color: #d9e60b;
    }
}

header .header_inner nav>ul>li>a.here {
    color: #d9e60b;
}

header .header_inner nav>ul>li>a.here::before {
    border-color: #d9e60b;
}

header .header_inner nav .menu_trigger>a {
    position: relative;
}

header .header_inner nav .menu_trigger>a::before {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    width: 7px;
    height: 7px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    left: 0;
    right: 0;
    bottom: 21px;
    transform: rotate(45deg);
}

@media (hover: hover) {
    header .header_inner nav .menu_trigger:hover>a::before {
        border-color: #d9e60b;
    }
}

header .header_inner nav .slide_wrap {
    display: none;
    position: absolute;
    left: 50%;
    top: 80px;
    transform: translateX(-50%);
}

header .header_inner nav .sub_list li:not(:first-of-type) {
    border-top: 1px solid #fff;
}

header .header_inner nav .sub_list li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 280px;
    height: 100%;
    min-height: 50px;
    line-height: 1;
    padding: 0 14px;
    box-sizing: border-box;
    font-size: 15px;
    color: #fff;
    background-color: #000;
    padding-block: 6px;
}

header .header_inner nav .sub_list li a.nolink {
    pointer-events: none;
}

header .header_inner nav .sub_list li a small {
    font-size: 12px;
    margin-top: 5px;
    margin-bottom: 2px;
}

@media (hover: hover) {
    header .header_inner nav .sub_list li a:hover {
        background-color: #8979ff;
    }
}

header .header_inner nav .sub_list.faci_list {
    display: flex;
    flex-wrap: wrap;
    width: 561px;
}

header .header_inner nav .sub_list.faci_list li:nth-of-type(2) {
    border-top: none;
}

header .header_inner nav .sub_list.faci_list li:nth-of-type(2n) {
    border-left: 1px solid #fff;
}

header .header_inner nav .contact_wrap a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 80px;
    font-weight: 500;
    line-height: 1.2;
    background-color: #d9e60b;
}

header .header_inner nav .contact_wrap a::before {
    content: "お申し込み";
}

@media (hover: hover) {
    header .header_inner nav .contact_wrap a:hover {
        color: #fff;
        background-color: #773ed4;
    }
}

header.scroll {
    background-color: #fff;
}

header.scroll .header_inner nav>ul>li>a {
    color: #000;
}

@media (hover: hover) {
    header.scroll .header_inner nav>ul>li>a:hover {
        color: #d9e60b;
    }
}

header.scroll .header_inner nav>ul>li>a.here {
    color: #d9e60b;
}

header.scroll .header_inner nav>ul>li>a.here::before {
    border-color: #d9e60b;
}

header.scroll .header_inner nav .menu_trigger>a::before {
    border-color: #000;
}

@media (hover: hover) {
    header.scroll .header_inner nav .menu_trigger:hover>a::before {
        border-color: #d9e60b;
    }
}

@media (max-width: 1300px) {
    header {
        padding-left: 3.85vw;
    }

    header .header_inner .logo {
        width: 17.15vw;
    }

    header .header_inner nav>ul>li>a {
        line-height: 6.15vw;
        padding: 0 1.15vw;
    }

    header .header_inner nav .menu_trigger>a::before {
        width: 0.54vw;
        height: 0.54vw;
        bottom: 1.62vw;
    }

    header .header_inner nav .slide_wrap {
        top: 6.15vw;
    }

    header .header_inner nav .sub_list li a {
        width: 21.54vw;
        height: 3.85vw;
        padding: 0 1.08vw;
        font-size: 1.15vw;
    }

    header .header_inner nav .sub_list li a small {
        font-size: 0.92vw;
        margin-top: 0.38vw;
        margin-bottom: 0.15vw;
    }

    header .header_inner nav .sub_list li.faci_list {
        width: 561vw;
    }

    header .header_inner nav .contact_wrap a {
        width: 12.31vw;
        height: 6.15vw;
    }
}

/* footer
==================================*/
footer {
    margin: auto;
    position: relative;
    margin-top: -705px;
}

footer::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 2000px;
    height: 2498px;
    background: url(../images/common/footer.png) no-repeat 0/contain;
    left: 50%;
    top: -566px;
    transform: translateX(-50%);
    pointer-events: none;
}

@media (max-width: 1300px) {
    footer::before {
        width: 153.85vw;
        height: 192.15vw;
        top: -43.54vw;
    }
}

footer::after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 50%;
    left: 0;
    bottom: 0;
    background-color: #000;
    z-index: -2;
}

footer .footer_inner {
    max-width: 1300px;
    margin: auto;
    padding: 0 50px 120px;
    box-sizing: border-box;
}

@media (hover: hover) {
    footer .footer_inner a:hover {
        opacity: 0.7;
    }
}

footer .contact_area>.line_ttl::before {
    background-image: url(../images/common/line_pw.png);
    width: 340px;
}

footer .contact_area .row {
    margin-top: 60px;
}

footer .contact_area .row .col.tel_wrap {
    width: 295px;
    margin-right: 80px;
}

footer .contact_area .row .col.mail_wrap {
    width: 310px;
}

footer .contact_area .row .col .line_ttl {
    margin: auto;
}

footer .contact_area .row .col .line_ttl::before {
    background-image: url(../images/common/line_pw.png);
    width: 280px;
    bottom: 0;
}

footer .contact_area .row .col .line_ttl .en {
    font-size: 55px;
}

footer .contact_area .row .col .line_ttl .jp {
    padding: 10px 0 20px;
    margin-top: 0;
}

footer .contact_area .row .col .text {
    margin-top: 20px;
    text-align: center;
}

footer .contact_area .row .col .btn_wrap {
    margin-top: 25px;
}

footer .contact_area .row .col .btn_wrap a:hover {
    opacity: 1;
    background-color: #000;
}

footer .bn_wrap {
    width: 520px;
    box-shadow: 10px 0 10px rgba(0, 0, 0, 0.2);
    margin: 80px auto 0;
    position: relative;
}

footer .bottom_area {
    padding-top: 80px;
    margin-top: 80px;
    position: relative;
}

footer .bottom_area::before {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    width: 60%;
    height: 1px;
    background: url(../images/common/line_hr_ft.png) no-repeat 0/100%;
    right: 0;
    top: 0;
}

footer .bottom_area nav {
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px;
}

footer .bottom_area nav>ul:not(.other_link)>li:not(:last-of-type) {
    margin-bottom: 20px;
}

footer .bottom_area nav>ul:not(.other_link)>li>a {
    color: #fff;
}

footer .bottom_area nav>ul:not(.other_link):first-of-type {
    width: 280px;
    order: 2;
}

footer .bottom_area nav>ul:not(.other_link):nth-of-type(2) {
    width: 290px;
    order: 3;
}

footer .bottom_area nav>ul:not(.other_link):nth-of-type(3) {
    width: 600px;
    order: 1;
}

footer .bottom_area nav .sub_list {
    margin: 15px 10px -12px;
}

footer .bottom_area nav .sub_list li {
    line-height: 1;
    margin-bottom: 12px;
}

footer .bottom_area nav .sub_list li::before {
    content: "-";
    color: #fff;
}

footer .bottom_area nav .sub_list li a {
    font-size: 15px;
    color: #fff;
}

footer .bottom_area nav .sub_list li a.nolink {
    pointer-events: none;
}

footer .bottom_area nav .sub_list.faci_list {
    display: flex;
    flex-wrap: wrap;
}

footer .bottom_area nav .sub_list.faci_list li {
    width: 290px;
}

footer .bottom_area nav .other_list {
    display: flex;
    align-items: flex-end;
    width: 100%;
}

footer .bottom_area nav .other_list li {
    line-height: 1;
    font-size: 15px;
    margin-bottom: 0 !important;
}

footer .bottom_area nav .other_list li:first-of-type::after {
    content: "";
    display: inline-block;
    margin: 0 25px;
    width: 1px;
    height: 10px;
    background-color: #fff;
}

footer .bottom_area nav .other_list li a {
    color: #fff;
}

footer .bottom_area .logo_wrap {
    display: flex;
    align-items: center;
    position: absolute;
    left: 0;
    top: 130px;
}

footer .bottom_area .logo_wrap li {
    max-width: 183px;
    margin-right: 65px;
}

footer .bottom_area .logo_wrap li.long {
    max-width: 236px;
}

footer .bottom_area .logo_wrap li a {
    display: inline-block;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
}

footer .bottom_area .logo_wrap li a img {
    width: 40vw;
}

footer .bottom_area .logo_wrap li a span {
    display: block;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    margin-top: 10px;
}

footer .bottom_area .logo_wrap2 {
    top: 220px;
    display: block;
}

footer .bottom_area .logo_wrap2 li {
    margin-right: 25px;
}

footer .bottom_area .logo_wrap2 li img {
    max-width: 250px;
    margin-left: -8px;
    margin-bottom: 5%;
}

footer .bottom_area .logo_wrap2 li:last-child img {
    max-width: 400px;
    margin-left: 0;
}


footer .copy {
    font-size: 12px;
    color: #fff;
    text-align: center;
    display: block;
    line-height: 30px;
    background-color: #283147;
}

@media (max-width: 1300px) {
    footer {
        margin-top: -54.23vw;
    }

    footer .footer_inner {
        padding: 0 3.57vw 12.23vw;
    }

    footer .contact_area>.line_ttl::before {
        width: 26.15vw;
    }

    footer .contact_area .row {
        margin-top: 5vw;
    }

    footer .contact_area .row .col.tel_wrap {
        width: 22.69vw;
        margin-right: 6.15vw;
    }

    footer .contact_area .row .col.mail_wrap {
        width: 23.85vw;
    }

    footer .contact_area .row .col .line_ttl::before {
        width: 21.54vw;
    }

    footer .contact_area .row .col .line_ttl .en {
        font-size: 4.23vw;
    }

    footer .contact_area .row .col .line_ttl .jp {
        padding: 0.77vw 0 1.54vw;
    }

    footer .contact_area .row .col .text {
        margin-top: 1.54vw;
        text-align: center;
    }

    footer .contact_area .row .col .btn_wrap {
        margin-top: 1.92vw;
    }

    footer .bn_wrap {
        width: 40vw;
    }

    footer .bottom_area {
        padding-top: 4vw;
    }

    footer .bottom_area nav>ul:not(.other_link)>li:not(:last-of-type) {
        margin-bottom: 1.54vw;
    }

    footer .bottom_area nav>ul:not(.other_link):first-of-type {
        width: 21.54vw;
    }

    footer .bottom_area nav>ul:not(.other_link):nth-of-type(2) {
        width: 22.31vw;
    }

    footer .bottom_area nav>ul:not(.other_link):nth-of-type(3) {
        width: 46.5vw;
    }

    footer .bottom_area nav .sub_list {
        margin: 1.15vw 0.77vw -0.92vw;
    }

    footer .bottom_area nav .sub_list li {
        margin-bottom: 0.92vw;
    }

    footer .bottom_area nav .sub_list li a {
        font-size: 1.15vw;
    }

    footer .bottom_area nav .sub_list.faci_list li {
        width: 22.31vw;
    }

    footer .bottom_area nav .other_list li {
        font-size: 1.15vw;
    }

    footer .bottom_area nav .other_list li:first-of-type::after {
        margin: 0 1.92vw;
        width: 1px;
        height: 0.77vw;
    }

    .top_logo {
        top: 2vw;
    }

    footer .bottom_area .logo_wrap {
        top: 8vw;
    }

    footer .bottom_area .logo_wrap2 {
        top: 200px;
    }

    footer .bottom_area .logo_wrap2 img {
        max-width: unset;
        width: 30vw;
    }

    footer .bottom_area .logo_wrap li {
        max-width: 14.31vw;
        margin-right: 5vw;
    }

    footer .copy {
        font-size: 0.92vw;
        line-height: 2.31vw;
    }
}

@media (max-width: 1200px) {
    footer .bottom_area .logo_wrap2 {
        top: 120px;
    }

    footer .bottom_area .logo_wrap2 {
        display: block;
    }

    footer .bottom_area .logo_wrap2 li {
        width: 55%;
    }

    footer .bottom_area .logo_wrap2 li:last-child {
        width: 90%;
        margin-top: 2%;
        margin-left: 5px;
    }

    footer .bottom_area .logo_wrap2 li img {
        max-width: 190px;
    }

    footer .bottom_area .logo_wrap2 li:last-child img {
        max-width: 315px;
        margin-left: -7px;
    }
}

.bn_wrap_fixed {
    position: fixed;
    left: 0px;
    bottom: 0px;
    width: 400px;
    z-index: 200;
}

.header_sec {
    position: relative;
}

.header_sec .tit {
    min-height: 450px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.header_sec .tit h1 {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-bottom: 135px;
    color: #fff;
    z-index: 3;
}

.header_sec .tit h1 .jp {
    font-size: 50px;
    font-weight: 700;
}

.header_sec .tit h1 .en {
    font-size: 35px;
    padding-top: 20px;
}

.header_sec .pan {
    position: absolute;
    bottom: 50px;
    display: flex;
    align-items: center;
    z-index: 2;
    max-width: 1200px;
}

.header_sec .pan li {
    white-space: nowrap;
    color: #fff;
    font-size: 13px;
}

.header_sec .pan li a {
    font-size: 13px;
    color: #fff;
}

.header_sec .pan li:not(:last-of-type)::after {
    content: ">";
    color: #fff;
    font-size: 13px;
    margin: 0 5px;
}

.header_sec .pan li:last-of-type {
    overflow: hidden;
    text-overflow: ellipsis;
}

.header_sec .pan::after {
    content: "";
    z-index: 0;
    background: url(../images/common/pan.png) no-repeat center top/auto 100%;
    display: inline-block;
    width: 351px;
    height: 477px;
    left: -102px;
    position: absolute;
    bottom: -250px;
    z-index: -1;
}

@media (max-width: 1300px) {
    .header_sec .tit {
        min-height: 34.62vw;
    }

    .header_sec .tit h1 {
        padding-bottom: 10.38vw;
    }

    .header_sec .tit h1 .jp {
        font-size: 3.85vw;
    }

    .header_sec .tit h1 .en {
        font-size: 2.69vw;
    }

    .header_sec .pan {
        max-width: 92.31vw;
    }

    .header_sec .pan li {
        font-size: 1vw;
    }

    .header_sec .pan li a {
        font-size: 1vw;
    }

    .header_sec .pan li:not(:last-of-type)::after {
        font-size: 1vw;
        margin: 0 0.38vw;
    }

    .header_sec .pan::after {
        width: 27vw;
        height: 36.69vw;
        left: -7.62vw;
        position: absolute;
        bottom: -19.23vw;
    }
}

.fixed_bn {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 258px;
    z-index: 99;
}

.fixed_bn a {
    display: block;
    text-align: center;
    width: 251px;
    height: 253px;
    position: relative;
    padding-top: 80px;
    box-sizing: border-box;
    z-index: 1;
}

.fixed_bn a::before,
.fixed_bn a::after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    transition: 0.3s;
    z-index: -1;
    animation: fixed_roll 7s linear infinite;
}

.fixed_bn a::before {
    opacity: 0.7;
    background: url(../images/common/fixed_bg_h.png) no-repeat 0/contain;
}

.fixed_bn a::after {
    background: url(../images/common/fixed_bg.png) no-repeat 0/contain;
}

@keyframes fixed_roll {
    100% {
        transform: rotate(360deg);
    }
}

.fixed_bn a p {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: #2ebdff;
    text-shadow: 0 0 10px rgb(46, 189, 255);
    transition: 0.3s;
}

.fixed_bn a .arrow {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 59px;
    margin: auto;
    width: 53px;
    transition: 0.3s;
}

.fixed_bn a .arrow img {
    width: 100%;
}

@media (hover: hover) {
    .fixed_bn a:hover::before {
        opacity: 1;
    }

    .fixed_bn a:hover::after {
        opacity: 0;
    }

    .fixed_bn a:hover p {
        color: #85cee3;
    }

    .fixed_bn a:hover .arrow {
        transform: translateX(5px);
    }
}

@media (max-width: 1300px) {
    .fixed_bn {
        right: 0;
        bottom: 0;
        width: 19.85vw;
    }

    .fixed_bn a {
        width: 19.31vw;
        height: 19.46vw;
        padding-top: 6.15vw;
    }

    .fixed_bn a p {
        font-size: 2.15vw;
    }

    .fixed_bn a .arrow {
        bottom: 4.54vw;
        width: 4.08vw;
    }
}

/*==================================
  Course wellness 2023/12/14 更新
==================================*/
#Course footer::before {
    max-height: 1970px;
    background: url(../images/common/footer_wellness.png) no-repeat 0/contain;
    height: 1970px;
    top: -605px;
}

#Course footer .footer_inner {
    padding-top: clamp(107.5px, 15.36vw, 215px);
}

/* loader
==================================*/
#loader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    z-index: 1001;
}

/* Animation
==================================*/
.c-anim-up {
    transform: translate(0, -30px);
    opacity: 0;
    transition: 0.3s ease;
}

.ttl_up {
    transform: translateY(30px);
}

.move {
    transform: translate(0, 0);
    opacity: 1;
}

.delay1 {
    -moz-transition-delay: 300ms;
    -webkit-transition-delay: 300ms;
    -o-transition-delay: 300ms;
    -ms-transition-delay: 300ms;
}

.delay2 {
    -moz-transition-delay: 600ms;
    -webkit-transition-delay: 600ms;
    -o-transition-delay: 600ms;
    -ms-transition-delay: 600ms;
}

.delay3 {
    -moz-transition-delay: 900ms;
    -webkit-transition-delay: 900ms;
    -o-transition-delay: 900ms;
    -ms-transition-delay: 900ms;
}

.delay4 {
    -moz-transition-delay: 1200ms;
    -webkit-transition-delay: 1200ms;
    -o-transition-delay: 1200ms;
    -ms-transition-delay: 1200ms;
}

.delay5 {
    -moz-transition-delay: 1500ms;
    -webkit-transition-delay: 1500ms;
    -o-transition-delay: 1500ms;
    -ms-transition-delay: 1500ms;
}

.delay6 {
    -moz-transition-delay: 1800ms;
    -webkit-transition-delay: 1800ms;
    -o-transition-delay: 1800ms;
    -ms-transition-delay: 1800ms;
}

.delay7 {
    -moz-transition-delay: 2100ms;
    -webkit-transition-delay: 2100ms;
    -o-transition-delay: 2100ms;
    -ms-transition-delay: 2100ms;
}

/*==================================
  Component
==================================*/
html {
    overflow: auto;
}

html.no_move {
    overflow: hidden;
}

img {
    max-width: 100%;
    height: auto;
}

img[src$=".png"],
img[src$=".jpg"] {
    backface-visibility: hidden;
}

.container {
    width: 100%;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 50px;
    padding-right: 50px;
    box-sizing: border-box;
}

@media (max-width: 899px) {
    .container {
        width: 100%;
        padding-left: 4vw;
        padding-right: 4vw;
    }
}

@media (min-width: 900px) {
    .row {
        display: flex;
        flex-wrap: wrap;
        box-sizing: border-box;
    }

    .row .col {
        position: relative;
        width: 100%;
        min-height: 1px;
        box-sizing: border-box;
    }

    .row .col.col_4 {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
    }
}

.en {
    font-family: "Antonio";
    font-weight: 100;
}

.sec_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-inline-size: max-content;
}

.sec_ttl span {
    line-height: 1;
}

.sec_ttl .jp {
    font-weight: 500;
}

@media (min-width: 900px) {
    .sec_ttl .en {
        font-size: 100px;
    }

    .sec_ttl .jp {
        font-size: 16px;
        margin-top: 33px;
    }
}

@media (min-width: 900px) and (max-width: 1300px) {
    .sec_ttl .en {
        font-size: 7.69vw;
    }

    .sec_ttl .jp {
        font-size: 1.23vw;
        margin-top: 2.54vw;
    }
}

@media (max-width: 899px) {
    .sec_ttl .en {
        font-size: 16vw;
    }

    .sec_ttl .jp {
        font-size: 4.27vw;
        margin-top: 4vw;
    }
}

.line_ttl {
    max-inline-size: max-content;
    position: relative;
}

.line_ttl::before {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    left: 50%;
    transform: translateX(-50%);
    background-repeat: no-repeat;
    background-position: 0;
    background-size: 100% auto;
    z-index: 1;
}

@media (min-width: 900px) {
    .line_ttl::before {
        height: 2px;
        bottom: 34px;
    }
}

@media (min-width: 900px) and (max-width: 1300px) {
    .line_ttl::before {
        height: 0.15vw;
        bottom: 2.62vw;
    }
}

@media (max-width: 899px) {
    .line_ttl::before {
        height: 1px;
        bottom: 5.7vw;
    }
}

main .line_ttl::before {
    background-position-x: -240px;
    transition: 0.3s 0.3s;
}

main .line_ttl.move::before {
    background-position-x: 0;
}

@media (max-width: 1300px) {
    main .line_ttl::before {
        background-position-x: -18.46vw;
    }

    main .line_ttl.move::before {
        background-position-x: 0;
    }
}

.link_btn {
    display: grid;
    place-items: center;
    position: relative;
    font-weight: 500;
    color: #fff;
    background-color: #8979ff;
}

.link_btn::before,
main#Contact .wpcf7cp-btns button::before {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    z-index: 1;
    transition: 0.3s;
}

main#Contact div#wpcf7cpcnf {
    z-index: 1;
    top: 8%;
}

@media (hover: hover) {
    .link_btn:hover {
        background-color: #6c5bed;
    }

    .link_btn:hover::before {
        transform: translateX(5px);
    }
}

@media (min-width: 900px) {
    .link_btn {
        width: 310px;
        height: 70px;
        font-size: 18px;
    }

    .link_btn::before,
    main#Contact .wpcf7cp-btns button::before {
        width: 20px;
        height: 7px;
        background: url(../images/common/arrow.svg) no-repeat 0/contain;
        right: 20px;
    }
}

@media (min-width: 900px) and (max-width: 1300px) {
    .link_btn {
        width: 23.85vw;
        height: 5.38vw;
        font-size: 1.38vw;
    }

    .link_btn::before {
        width: 1.54vw;
        height: 0.54vw;
        right: 1.54vw;
    }
}

@media (max-width: 899px) {
    .link_btn {
        width: 66.67vw;
        height: 14.67vw;
        font-size: 4vw;
    }

    .link_btn::before,
    main#Contact .wpcf7cp-btns button::before {
        width: 4.27vw;
        height: 1.6vw;
        background: url(../images/common/arrow.svg) no-repeat 0/contain;
        right: 4.53vw;
    }
}

.link_btn:hover,
.link_btn:visited {
    color: #fff;
}

/*==================================
	リスト系
==================================*/
.news_ul {
    max-width: 1040px;
    margin: 0 auto;
}

.news_ul li a {
    display: flex;
    position: relative;
    padding: 20px 30px 20px 0;
}

.news_ul li a::before,
.news_ul li a::after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 0;
}

.news_ul li a::before {
    background: #d4d4d4;
}

.news_ul li a figure {
    width: 240px;
    overflow: hidden;
}

.news_ul li a dl {
    margin-left: 35px;
    width: calc(100% - 272px);
}

.news_ul li a dl dt {
    font-size: 16px;
    font-family: "Oswald";
    font-weight: 400;
    line-height: 1;
    padding: 7px 0 12px 0;
}

.news_ul li a dl dt span {
    display: inline-block;
    padding: 0 0 0 5px;
    color: #b0a5fe;
    font-family: YakuHanJP_Noto, "Noto Sans JP";
    font-weight: 400;
    position: relative;
    top: -2px;
}

.news_ul li a dl dd {
    font-size: 18px;
}

.news_ul li a dl .ttl {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    margin-top: 15px;
}

.news_ul li a dl .text {
    line-height: 1.6;
    margin-top: 20px;
}

@media (min-width: 900px) {
    .news_ul li a img {
        transition: 0.3s;
    }

    .news_ul li a::after {
        transition: 0.3s;
        transform: scale(0, 1);
        transform-origin: left;
    }

    .news_ul li a:hover img {
        transform: scale(1.06);
    }

    .news_ul li a:hover::after {
        transform: scale(1);
    }
}

@media (max-width: 1300px) {
    .news_ul li a {
        padding: 1.54vw 0.62vw 1.54vw 0;
    }

    .news_ul li a figure {
        width: 18.46vw;
    }

    .news_ul li a dl {
        margin-left: 2.69vw;
        width: calc(100% - 20.92vw);
    }

    .news_ul li a dl dt {
        font-size: 1.23vw;
        padding: 0.54vw 0 0.92vw 0;
    }

    .news_ul li a dl dt span {
        padding: 0 0 0 0.38vw;
        top: -0.15vw;
    }

    .news_ul li a dl dd {
        font-size: 1.38vw;
    }

    .news_ul li a dl .ttl {
        font-size: 1.54vw;
        margin-top: 1.15vw;
    }

    .news_ul li a dl .text {
        margin-top: 1.54vw;
    }
}

@media (max-width: 899px) {
    .news_ul li a {
        align-items: flex-start;
        padding: 4vw 0 4vw 0vw;
    }

    .news_ul li a figure {
        width: 29.33vw;
    }

    .news_ul li a dl {
        margin-left: 5.33vw;
        width: calc(100% - 34.67vw);
    }

    .news_ul li a dl dt {
        font-size: 3.73vw;
    }

    .news_ul li a dl .ttl {
        font-size: 3.73vw;
        line-height: 1.4;
        margin-top: 2.4vw;
    }

    .news_ul li a dl dd {
        font-size: 4vw;
        line-height: 1.3;
        text-align: justify;
    }

    .news_ul li a dl .text {
        font-size: 3.47vw;
    }

    .news_ul li a dl span {
        top: 0px;
    }
}

/*==================================
	ページナビ
==================================*/
.page_navigation .wp-pagenavi {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 94px;
    position: relative;
}

@media (max-width: 899px) {
    .page_navigation .wp-pagenavi {
        padding: 53px 0px 0px;
        margin: 0;
    }
}

.page_navigation .wp-pagenavi .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
}

.page_navigation .wp-pagenavi .page-numbers,
.page_navigation .wp-pagenavi .current {
    font-size: 18px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0 7px;
    background-color: #d9d9d9;
    color: #fff;
    font-family: "Oswald";
    font-weight: 400;
}

@media (max-width: 899px) {

    .page_navigation .wp-pagenavi .page-numbers,
    .page_navigation .wp-pagenavi .current {
        font-size: 16px;
        width: 35px;
        height: 35px;
        margin: 0 4px;
    }
}

@media (min-width: 900px) {

    .page_navigation .wp-pagenavi .page-numbers:not(.current):hover,
    .page_navigation .wp-pagenavi .current:not(.current):hover {
        color: #fff;
        background-color: #000;
    }
}

.page_navigation .wp-pagenavi .page-numbers.current,
.page_navigation .wp-pagenavi .current.current {
    background-color: #000;
    color: #fff;
}

.page_navigation .wp-pagenavi .page-numbers.dots,
.page_navigation .wp-pagenavi .current.dots {
    width: auto;
    bottom: 6px;
    position: relative;
    border: none;
    margin: 0;
    color: #000;
    background: none;
}

.page_navigation .wp-pagenavi .page-numbers.dots:hover,
.page_navigation .wp-pagenavi .current.dots:hover {
    color: #000;
    background: none;
}

.page_navigation .wp-pagenavi .page-numbers.next,
.page_navigation .wp-pagenavi .page-numbers.prev,
.page_navigation .wp-pagenavi .current.next,
.page_navigation .wp-pagenavi .current.prev {
    width: 80px;
    position: relative;
    color: #000;
    padding: 0 30px 0 0;
    background: none;
}

@media (max-width: 899px) {

    .page_navigation .wp-pagenavi .page-numbers.next,
    .page_navigation .wp-pagenavi .page-numbers.prev,
    .page_navigation .wp-pagenavi .current.next,
    .page_navigation .wp-pagenavi .current.prev {
        width: 50px;
        padding: 0 15px 0 0;
    }
}

.page_navigation .wp-pagenavi .page-numbers.next::before,
.page_navigation .wp-pagenavi .page-numbers.prev::before,
.page_navigation .wp-pagenavi .current.next::before,
.page_navigation .wp-pagenavi .current.prev::before {
    content: "";
    width: 22px;
    height: 10px;
    background-image: url(../images/news/right.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    transition: all 0.3s ease;
    position: absolute;
    right: 0;
    top: calc(50% - 7px);
}

@media (max-width: 899px) {

    .page_navigation .wp-pagenavi .page-numbers.next::before,
    .page_navigation .wp-pagenavi .page-numbers.prev::before,
    .page_navigation .wp-pagenavi .current.next::before,
    .page_navigation .wp-pagenavi .current.prev::before {
        width: 15px;
        height: 7px;
        position: absolute;
        right: 0;
        top: calc(50% - 4px);
    }
}

@media (min-width: 900px) {

    .page_navigation .wp-pagenavi .page-numbers.next:hover,
    .page_navigation .wp-pagenavi .page-numbers.prev:hover,
    .page_navigation .wp-pagenavi .current.next:hover,
    .page_navigation .wp-pagenavi .current.prev:hover {
        color: #000;
        background: none;
    }

    .page_navigation .wp-pagenavi .page-numbers.next:hover::before,
    .page_navigation .wp-pagenavi .page-numbers.prev:hover::before,
    .page_navigation .wp-pagenavi .current.next:hover::before,
    .page_navigation .wp-pagenavi .current.prev:hover::before {
        transform: translateX(10px);
    }

    .page_navigation .wp-pagenavi .page-numbers.next:hover.prev::before,
    .page_navigation .wp-pagenavi .page-numbers.prev:hover.prev::before,
    .page_navigation .wp-pagenavi .current.next:hover.prev::before,
    .page_navigation .wp-pagenavi .current.prev:hover.prev::before {
        transform: translateX(-10px) scale(-1, 1);
    }
}

.page_navigation .wp-pagenavi .page-numbers.next.prev::before,
.page_navigation .wp-pagenavi .page-numbers.prev.prev::before,
.page_navigation .wp-pagenavi .current.next.prev::before,
.page_navigation .wp-pagenavi .current.prev.prev::before {
    transform: scale(-1, 1);
    left: calc(50% - 5px);
    right: auto;
    left: 0;
}

.page_navigation .wp-pagenavi .page-numbers.prev,
.page_navigation .wp-pagenavi .current.prev {
    padding: 0 0 0 30px;
}

@media (max-width: 899px) {

    .page_navigation .wp-pagenavi .page-numbers.prev,
    .page_navigation .wp-pagenavi .current.prev {
        padding: 0 0 0 17px;
    }
}

.page_navigation .wp-pagenavi .nextpostslink,
.page_navigation .wp-pagenavi .previouspostslink {
    position: absolute;
    font-family: "Antonio";
    font-weight: 300;
    font-size: 22px;
    top: -18px;
}

@media (max-width: 899px) {

    .page_navigation .wp-pagenavi .nextpostslink,
    .page_navigation .wp-pagenavi .previouspostslink {
        top: 42px;
    }
}

.page_navigation .wp-pagenavi .nextpostslink>a,
.page_navigation .wp-pagenavi .previouspostslink>a {
    width: 95px;
    height: 49px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    position: relative;
}

.page_navigation .wp-pagenavi .nextpostslink>a::before,
.page_navigation .wp-pagenavi .previouspostslink>a::before {
    content: "";
    width: 22px;
    height: 10px;
    background-image: url(../images/news/right.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    transition: all 0.3s ease;
    position: absolute;
    right: 0;
    top: calc(50% - 3px);
}

@media (max-width: 899px) {

    .page_navigation .wp-pagenavi .nextpostslink>a::before,
    .page_navigation .wp-pagenavi .previouspostslink>a::before {
        width: 15px;
        height: 7px;
        position: absolute;
        right: 0;
        top: calc(50% - 4px);
    }
}

@media (min-width: 900px) {

    .page_navigation .wp-pagenavi .nextpostslink>a:hover,
    .page_navigation .wp-pagenavi .previouspostslink>a:hover {
        color: #000;
        background: none;
    }

    .page_navigation .wp-pagenavi .nextpostslink>a:hover::before,
    .page_navigation .wp-pagenavi .previouspostslink>a:hover::before {
        transform: translateX(10px);
    }
}

@media (max-width: 899px) {

    .page_navigation .wp-pagenavi .nextpostslink>a,
    .page_navigation .wp-pagenavi .previouspostslink>a {
        width: 35px;
        height: 35px;
    }

    .page_navigation .wp-pagenavi .nextpostslink>a::before,
    .page_navigation .wp-pagenavi .previouspostslink>a::before {
        width: 15px;
        height: 7px;
        position: absolute;
        right: -20px;
        top: calc(50% - 4px);
    }
}

.page_navigation .wp-pagenavi .nextpostslink.previouspostslink,
.page_navigation .wp-pagenavi .previouspostslink.previouspostslink {
    left: calc(50% - 172px);
}

@media (max-width: 899px) {

    .page_navigation .wp-pagenavi .nextpostslink.previouspostslink,
    .page_navigation .wp-pagenavi .previouspostslink.previouspostslink {
        left: calc(50% - 130px);
    }
}

.page_navigation .wp-pagenavi .nextpostslink.previouspostslink>a::before,
.page_navigation .wp-pagenavi .previouspostslink.previouspostslink>a::before {
    transform: scale(-1, 1);
    left: 0;
}

@media (max-width: 899px) {

    .page_navigation .wp-pagenavi .nextpostslink.previouspostslink>a::before,
    .page_navigation .wp-pagenavi .previouspostslink.previouspostslink>a::before {
        left: -22px;
    }
}

@media (min-width: 900px) {

    .page_navigation .wp-pagenavi .nextpostslink.previouspostslink>a:hover::before,
    .page_navigation .wp-pagenavi .previouspostslink.previouspostslink>a:hover::before {
        transform: translateX(-10px) scale(-1, 1);
    }
}

.page_navigation .wp-pagenavi .nextpostslink.nextpostslink,
.page_navigation .wp-pagenavi .previouspostslink.nextpostslink {
    right: calc(50% - 172px);
}

@media (max-width: 899px) {

    .page_navigation .wp-pagenavi .nextpostslink.nextpostslink,
    .page_navigation .wp-pagenavi .previouspostslink.nextpostslink {
        right: calc(50% - 130px);
    }
}

.page_navigation .wp-pagenavi .backpostslink {
    margin-left: 41px;
    margin-right: 41px;
}

.page_navigation .wp-pagenavi .backpostslink>a {
    color: #fff;
    width: 150px;
    background-color: #000;
    font-weight: 500;
    padding: 12px 40px 13px 40px;
}

@media (min-width: 900px) {
    .page_navigation .wp-pagenavi .backpostslink>a:hover {
        opacity: 0.7;
    }
}

@media (max-width: 899px) {
    .page_navigation .wp-pagenavi .backpostslink {
        margin-left: 25px;
        margin-right: 25px;
    }

    .page_navigation .wp-pagenavi .backpostslink>a {
        font-size: 15px;
    }
}

/*==========================================
  Layout
==========================================*/
/*==================================
  Top
==================================*/
#Top main {
    height: 7209px;
    background: url(../images/top/bg.jpg) no-repeat center top/auto 100%;
}

#Top main .mv_sec {
    height: 820px;
    padding-top: 520px;
    box-sizing: border-box;
}

#Top main .mv_sec .catch {
    width: 87.92%;
    transform: translateX(40px);
    position: relative;
    opacity: 0;
    -moz-filter: drop-shadow(0px 0px 13px rgb(0, 0, 0));
    filter: drop-shadow(0px 0px 13px rgb(0, 0, 0));
    will-change: filter;
}

#Top main .mv_sec .catch picture {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    display: block;
}

#Top main .mv_sec .catch .p1 {
    opacity: 0.5;
}

#Top main .mv_sec .catch .p2 {
    clip-path: inset(0 100% 0 0);
}

#Top main .mv_sec.loaded .catch {
    animation: catchIn 0.8s forwards ease-out;
}

#Top main .mv_sec.loaded .catch .p2 {
    clip-path: inset(0);
    transition: 0.3s 0.8s;
}

@keyframes catchIn {
    0% {
        transform: skew(-15deg, 0) translateX(300px);
        opacity: 0;
    }

    60% {
        transform: skew(30deg, 0) translateX(-115px);
        opacity: 1;
    }

    100% {
        transform: none;
        opacity: 1;
    }
}

#Top main .news_area {
    height: 545px;
    position: relative;
}

#Top main .news_area figure {
    width: 100%;
}

#Top main .news_area .container {
    position: relative;
}

#Top main .news_area h2 {
    position: absolute;
    left: 90px;
    top: 0;
}

#Top main .news_area h2 span {
    color: #fff;
}

#Top main .news_area h2::before {
    width: 240px;
    background-image: url(../images/common/line_wh.png);
}

#Top main .news_area .news_list {
    width: 790px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    position: absolute;
    left: 345px;
    top: 155px;
}

#Top main .news_area .news_list li:nth-of-type(2) {
    margin-top: 80px;
}

#Top main .news_area .news_list li:nth-of-type(3) {
    margin-top: 160px;
}

#Top main .news_area .news_list li a {
    display: block;
}

@media (hover: hover) {
    #Top main .news_area .news_list li a:hover {
        opacity: 0.7;
    }
}

#Top main .news_area .news_list li a .text_wrap {
    margin-top: 15px;
}

#Top main .news_area .news_list li a .text_wrap .info {
    display: flex;
    align-items: center;
    line-height: 1;
}

#Top main .news_area .news_list li a .text_wrap .info .date {
    color: #fff;
    font-family: "Oswald";
    font-weight: 300;
}

#Top main .news_area .news_list li a .text_wrap .info .cate {
    color: #b0a5fe;
    margin-left: 10px;
}

#Top main .news_area .news_list li a .text_wrap .ttl {
    margin-top: 8px;
    line-height: 1.4;
}

#Top main .news_area .news_list li a .text_wrap .ttl span {
    font-size: 15px;
    color: #fff;
}

#Top main .news_area .btn_wrap {
    position: absolute;
    left: 85px;
    top: 180px;
}

#Top main .news_area .btn_wrap .link_btn {
    width: 200px;
    height: 40px;
}

#Top main .news_area .btn_wrap .link_btn::before {
    right: 10px;
}

#Top main .news_area .fixed_bn {
    position: absolute;
    right: 50px;
    top: 0;
    width: 258px;
    z-index: 99;
    display: none;
}

@media (hover: none) {
    #Top main .news_area .fixed_bn {
        display: block;
    }
}

#Top main .news_area .fixed_bn a {
    display: block;
    text-align: center;
    width: 251px;
    height: 253px;
    position: relative;
    padding-top: 80px;
    box-sizing: border-box;
    z-index: 1;
}

#Top main .news_area .fixed_bn a::before,
#Top main .news_area .fixed_bn a::after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    animation: fixed_roll 7s linear infinite;
}

#Top main .news_area .fixed_bn a::before {
    opacity: 0.7;
    background: url(../images/common/fixed_bg_h.png) no-repeat 0/contain;
}

#Top main .news_area .fixed_bn a::after {
    background: url(../images/common/fixed_bg.png) no-repeat 0/contain;
}

#Top main .news_area .fixed_bn a p {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: #2ebdff;
    text-shadow: 0 0 10px rgb(46, 189, 255);
}

#Top main .news_area .fixed_bn a .arrow {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 59px;
    margin: auto;
    width: 53px;
}

#Top main .news_area .fixed_bn a .arrow img {
    width: 100%;
}

@media (max-width: 1300px) {
    #Top main .news_area .fixed_bn {
        right: 0;
        width: 19.85vw;
    }

    #Top main .news_area .fixed_bn a {
        width: 19.31vw;
        height: 19.46vw;
        padding-top: 6.15vw;
    }

    #Top main .news_area .fixed_bn a p {
        font-size: 2.15vw;
    }

    #Top main .news_area .fixed_bn a .arrow {
        bottom: 4.54vw;
        width: 4.08vw;
    }
}

#Top main .about_sec {
    position: relative;
}

#Top main .about_sec h2::before {
    width: 240px;
    background-image: url(../images/common/line_pw.png);
}

#Top main .about_sec h3 {
    margin-top: 35px;
    line-height: 1.3;
    font-size: 52px;
}

#Top main .about_sec p {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.7;
    margin-top: 20px;
    max-width: 505px;
}

#Top main .about_sec .btn_wrap {
    margin-top: 35px;
}

#Top main .about_sec .btn_wrap a {
    background-color: #000;
}

@media (hover: hover) {
    #Top main .about_sec .btn_wrap a:hover {
        background-color: #6c5bed;
    }
}

#Top main .about_sec .video_wrap h2 {
    position: absolute;
    left: calc(50vw - 250px);
    bottom: -415px;
}

#Top main .about_sec .video_wrap a {
    width: 600px;
    position: absolute;
    left: calc(50vw - 0px);
    bottom: -615px;
}

#Top main .about_sec .video_wrap a::before,
#Top main .about_sec .video_wrap a::after {
    content: "";
    display: inline-block;
    position: absolute;
    transition: 0.3s;
}

#Top main .about_sec .video_wrap a::before {
    width: 90px;
    height: 90px;
    background: url(../images/top/icon_video.svg) no-repeat 0/contain;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
}

#Top main .about_sec .video_wrap a::after {
    width: 157px;
    height: 171.5px;
    background: url(../images/top/check.png) no-repeat 0/contain;
    right: 5px;
    bottom: -70px;
}

#Top main .about_sec .video_wrap a:hover::before {
    opacity: 0.7;
}

#Top main .about_sec .video_wrap a picture img {
    width: 100%;
}

#Top main .about_sec .video_wrap a svg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

#Top main .about_sec .video_wrap a svg a {
    position: relative;
}

#Top main .num_sec {
    margin-top: 680px;
}

#Top main .num_sec .row .col {
    width: 50%;
}

#Top main .num_sec .row .col a {
    display: block;
    text-align: center;
    max-inline-size: max-content;
}

#Top main .num_sec .row .col a span,
#Top main .num_sec .row .col a p {
    color: #fff;
}

#Top main .num_sec .row .col a h2 .jp {
    font-size: 46px;
}

#Top main .num_sec .row .col a h2 .en {
    display: block;
    margin-top: 25px;
    font-size: 30px;
}

#Top main .num_sec .row .col a p {
    line-height: 1;
    font-size: 18px;
    font-weight: 500;
    margin: 55px auto 0;
    padding-bottom: 15px;
}

#Top main .num_sec .row .col a p::before {
    width: 550px;
    background-image: url(../images/common/line_wh.png);
    bottom: 0;
    background-position-x: -550px;
}

#Top main .num_sec .row .col a p.move::before {
    background-position-x: 0;
}

#Top main .num_sec .row .col a .btn_wrap {
    margin-top: 30px;
}

#Top main .num_sec .row .col a .btn_wrap span {
    margin: auto;
    pointer-events: none;
    transition: 0.3s;
}

@media (hover: hover) {
    #Top main .num_sec .row .col a:hover .btn_wrap span::before {
        transform: translateX(5px);
    }
}

#Top main .num_sec .row .col.team_wrap a .btn_wrap span {
    background-color: #b88dff;
}

@media (hover: hover) {
    #Top main .num_sec .row .col.team_wrap a:hover .btn_wrap span {
        background-color: #6c5bed;
    }
}

#Top main .num_sec .row .col.personal_wrap {
    margin-top: 508px;
}

#Top main .num_sec .row .col.personal_wrap a {
    margin-right: 0;
    margin-left: auto;
}

#Top main .num_sec .row .col.personal_wrap a .btn_wrap span {
    background-color: #5b9dff;
}

@media (hover: hover) {
    #Top main .num_sec .row .col.personal_wrap a:hover .btn_wrap span {
        background-color: #3e85ef;
    }
}

#Top main .menu_sec {
    margin-top: -50px;
    position: relative;
    pointer-events: none;
}

#Top main .menu_sec .text_wrap {
    max-width: 490px;
    pointer-events: none;
}

#Top main .menu_sec .text_wrap h2::before {
    width: 240px;
    background-image: url(../images/common/line_pw.png);
}

#Top main .menu_sec .text_wrap p {
    margin-top: 50px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
}

#Top main .menu_sec ul {
    position: absolute;
    left: calc(50vw - 248px);
    top: 200px;
    width: 900px;
    height: 670px;
}

#Top main .menu_sec ul li {
    position: absolute;
    width: 450px;
    height: 335px;
    margin: auto;
    pointer-events: none;
}

#Top main .menu_sec ul li a {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    pointer-events: none;
}

#Top main .menu_sec ul li a::before,
#Top main .menu_sec ul li a::after {
    content: "";
    display: block;
    width: 410px;
    height: 185px;
    transform: skew(-41.5deg, 0deg) rotate(24.2deg);
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    pointer-events: auto;
    transition: 0.3s;
}

#Top main .menu_sec ul li a figure,
#Top main .menu_sec ul li a p,
#Top main .menu_sec ul li a .arrow {
    pointer-events: none;
    z-index: 1;
}

#Top main .menu_sec ul li a figure {
    width: 98px;
    height: 83px;
    position: relative;
}

#Top main .menu_sec ul li a figure img {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transition: 0.3s;
}

#Top main .menu_sec ul li a figure::before {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    transition: 0.3s;
    opacity: 0;
    background-repeat: no-repeat;
    background-position: 0;
}

#Top main .menu_sec ul li a p {
    font-size: 22px;
    font-weight: 500;
    color: #fff;
    line-height: 1;
}

#Top main .menu_sec ul li a .arrow {
    width: 47px;
    margin-top: 33px;
    transition: 0.3s;
}

@media (hover: hover) {
    #Top main .menu_sec ul li a:hover::after {
        opacity: 0;
    }

    #Top main .menu_sec ul li a:hover figure::before {
        opacity: 1;
    }

    #Top main .menu_sec ul li a:hover .arrow {
        transform: translateX(5px);
    }
}

#Top main .menu_sec ul li.sports {
    left: 0;
    right: 0;
    top: 0;
}

#Top main .menu_sec ul li.sports a::before {
    background: linear-gradient(28deg, #280e9c, #4d09d9) no-repeat 0/cover;
    filter: brightness(1.25);
}

#Top main .menu_sec ul li.sports a::after {
    background: linear-gradient(28deg, #2c257d, #21009c) no-repeat 0/cover;
}

#Top main .menu_sec ul li.sports figure img,
#Top main .menu_sec ul li.sports figure::before {
    width: 84px;
}

#Top main .menu_sec ul li.sports figure::before {
    background-size: 84px auto;
    background-image: url(../images/common/sports_h.png);
}

#Top main .menu_sec ul li.vision {
    left: 0;
    top: 0;
    bottom: 0;
}

#Top main .menu_sec ul li.vision a::before {
    background: linear-gradient(28deg, #662fdb, #a881ff) no-repeat 0/cover;
}

#Top main .menu_sec ul li.vision a::after {
    background: linear-gradient(28deg, #32129c, #6046e3) no-repeat 0/cover;
}

#Top main .menu_sec ul li.vision figure img,
#Top main .menu_sec ul li.vision figure::before {
    width: 98px;
}

#Top main .menu_sec ul li.vision figure::before {
    background-size: 98px auto;
    background-image: url(../images/common/vision_h.png);
}

#Top main .menu_sec ul li.talent {
    right: 0;
    top: 0;
    bottom: 0;
}

#Top main .menu_sec ul li.talent a::before {
    background: linear-gradient(28deg, #1251b4, #75d3ff) no-repeat 0/cover;
}

#Top main .menu_sec ul li.talent a::after {
    background: linear-gradient(28deg, #032879, #3a8cdd) no-repeat 0/cover;
}

#Top main .menu_sec ul li.talent figure img,
#Top main .menu_sec ul li.talent figure::before {
    width: 60px;
}

#Top main .menu_sec ul li.talent figure::before {
    background-size: 60px auto;
    background-image: url(../images/common/talent_h.png);
}

#Top main .menu_sec ul li.wellness {
    left: 0;
    right: 0;
    bottom: 0;
}

#Top main .menu_sec ul li.wellness a::before {
    background: linear-gradient(28deg, #5013a6, #a734f2) no-repeat 0/cover;
}

#Top main .menu_sec ul li.wellness a::after {
    background: linear-gradient(28deg, #220169, #5e15bb) no-repeat 0/cover;
}

#Top main .menu_sec ul li.wellness figure img,
#Top main .menu_sec ul li.wellness figure::before {
    width: 83px;
}

#Top main .menu_sec ul li.wellness figure::before {
    background-size: 83px auto;
    background-image: url(../images/common/wellness_h.png);
}

#Top main .yt_sec {
    margin-top: 780px;
}

#Top main .yt_sec h2 {
    font-size: 30px;
    color: #fff;
    padding-bottom: 15px;
}

#Top main .yt_sec h2::before {
    width: 510px;
    background-image: url(../images/common/line_wh.png);
    bottom: 0;
    background-position-x: -510px;
}

#Top main .yt_sec h2.move::before {
    background-position-x: 0;
}

#Top main .yt_sec ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 46px;
    margin-top: 65px;
}

#Top main .yt_sec ul li a {
    display: block;
    background-color: #000;
}

#Top main .yt_sec ul li a figure {
    transition: 0.3s;
}

#Top main .yt_sec ul li a p {
    line-height: 63px;
    text-align: center;
    color: #fff;
    font-size: 18px;
}

@media (hover: hover) {
    #Top main .yt_sec ul li a:hover figure {
        opacity: 0.7;
    }
}

#Top main .yt_sec ul li:nth-of-type(2) {
    margin-top: 75px;
    transition-delay: 0.2s;
}

#Top main .yt_sec ul li:nth-of-type(3) {
    margin-top: 150px;
    transition: 0.4s;
}

#Top main .support_sec {
    margin-top: 345px;
}

#Top main .support_sec .support_wrap {
    width: 780px;
    margin-left: auto;
    margin-right: 0;
}

#Top main .support_sec h2 span {
    color: #fff;
}

#Top main .support_sec h2::before {
    width: 350px;
    background-image: url(../images/common/line_wh.png);
    background-position-x: -350px;
}

#Top main .support_sec h2.move::before {
    background-position-x: 0;
}

#Top main .support_sec .row {
    margin-top: 55px;
}

#Top main .support_sec .row ul {
    width: 50%;
}

#Top main .support_sec .row ul li {
    color: #fff;
    text-indent: -11px;
    margin-left: 11px;
    line-height: 1.8;
    letter-spacing: -0.02em;
}

#Top main .support_sec .row ul li::before {
    content: "・";
    margin-right: 2px;
}

#Top main .support_sec .row ul:nth-of-type(2) {
    margin-top: 80px;
}

@media (max-width: 1300px) {
    #Top main {
        height: 555.74vw;
    }

    #Top main .mv_sec {
        height: 63.08vw;
        padding-top: 40vw;
    }

    #Top main .mv_sec picture {
        max-width: 81.15vw;
    }

    #Top main .news_area {
        height: 41.92vw;
    }

    #Top main .news_area h2 {
        left: 6.92vw;
        top: 0;
    }

    #Top main .news_area h2::before {
        width: 18.46vw;
    }

    #Top main .news_area .news_list {
        width: 60.77vw;
        gap: 2.31vw;
        left: 26.54vw;
        top: 11.92vw;
    }

    #Top main .news_area .news_list li:nth-of-type(2) {
        margin-top: 6.15vw;
    }

    #Top main .news_area .news_list li:nth-of-type(3) {
        margin-top: 12.31vw;
    }

    #Top main .news_area .news_list li a .text_wrap {
        margin-top: 1.15vw;
    }

    #Top main .news_area .news_list li a .text_wrap .info .cate {
        margin-left: 0.77vw;
    }

    #Top main .news_area .news_list li a .text_wrap .ttl {
        margin-top: 0.62vw;
    }

    #Top main .news_area .news_list li a .text_wrap .ttl span {
        font-size: 1.15vw;
    }

    #Top main .news_area .btn_wrap {
        left: 6.54vw;
        top: 13.85vw;
    }

    #Top main .news_area .btn_wrap .link_btn {
        width: 15.38vw;
        height: 3.08vw;
    }

    #Top main .about_sec h2::before {
        width: 18.46vw;
    }

    #Top main .about_sec h3 {
        margin-top: 4.08vw;
        font-size: 4vw;
    }

    #Top main .about_sec p {
        font-size: 1.15vw;
        margin-top: 1.54vw;
        max-width: 38.85vw;
    }

    #Top main .about_sec .btn_wrap {
        margin-top: 2.69vw;
    }

    #Top main .about_sec .video_wrap h2 {
        bottom: -30.92vw;
    }

    #Top main .about_sec .video_wrap a {
        width: 46.15vw;
        bottom: -46.31vw;
    }

    #Top main .about_sec .video_wrap a::before {
        width: 6.92vw;
        height: 6.92vw;
    }

    #Top main .about_sec .video_wrap a::after {
        width: 12.8vw;
        height: 13.19vw;
    }

    #Top main .num_sec {
        margin-top: 52.31vw;
    }

    #Top main .num_sec .row .col a h2 .jp {
        font-size: 3.54vw;
    }

    #Top main .num_sec .row .col a h2 .en {
        margin-top: 1.92vw;
        font-size: 2.31vw;
    }

    #Top main .num_sec .row .col a p {
        font-size: 1.38vw;
        margin: 4.23vw auto 0;
        padding-bottom: 1.15vw;
    }

    #Top main .num_sec .row .col a p::before {
        width: 42.31vw;
        background-position-x: -42.31vw;
    }

    #Top main .num_sec .row .col a .btn_wrap {
        margin-top: 2.31vw;
    }

    #Top main .num_sec .row .col.personal_wrap {
        margin-top: 39.08vw;
    }

    #Top main .menu_sec {
        margin-top: -3.85vw;
    }

    #Top main .menu_sec .text_wrap {
        max-width: 37.69vw;
    }

    #Top main .menu_sec .text_wrap h2::before {
        width: 18.46vw;
    }

    #Top main .menu_sec .text_wrap p {
        margin-top: 3.85vw;
        font-size: 1.15vw;
    }

    #Top main .menu_sec ul {
        left: 31vw;
        top: 14.2vw;
        width: 69.23vw;
        height: 51.54vw;
    }

    #Top main .menu_sec ul li {
        width: 34.62vw;
        height: 25.77vw;
    }

    #Top main .menu_sec ul li a::before,
    #Top main .menu_sec ul li a::after {
        width: 31.54vw;
        height: 14.23vw;
    }

    #Top main .menu_sec ul li a figure {
        width: 7.54vw;
        height: 6.38vw;
    }

    #Top main .menu_sec ul li a p {
        font-size: 1.69vw;
    }

    #Top main .menu_sec ul li a .arrow {
        width: 3.62vw;
        margin-top: 2.54vw;
    }
}

@media (max-width: 1300px) and (hover: hover) {
    #Top main .menu_sec ul li a:hover .arrow {
        transform: translateX(0.38vw);
    }
}

@media (max-width: 1300px) {

    #Top main .menu_sec ul li.sports figure img,
    #Top main .menu_sec ul li.sports figure::before {
        width: 6.46vw;
    }

    #Top main .menu_sec ul li.sports figure::before {
        background-size: 6.46vw auto;
    }

    #Top main .menu_sec ul li.vision figure img,
    #Top main .menu_sec ul li.vision figure::before {
        width: 7.54vw;
    }

    #Top main .menu_sec ul li.vision figure::before {
        background-size: 7.54vw auto;
    }

    #Top main .menu_sec ul li.talent figure img,
    #Top main .menu_sec ul li.talent figure::before {
        width: 4.62vw;
    }

    #Top main .menu_sec ul li.talent figure::before {
        background-size: 4.62vw auto;
    }

    #Top main .menu_sec ul li.wellness figure img,
    #Top main .menu_sec ul li.wellness figure::before {
        width: 6.38vw;
    }

    #Top main .menu_sec ul li.wellness figure::before {
        background-size: 6.38vw auto;
    }

    #Top main .yt_sec {
        margin-top: 60vw;
    }

    #Top main .yt_sec h2 {
        font-size: 2.31vw;
        padding-bottom: 1.15vw;
    }

    #Top main .yt_sec h2::before {
        width: 39.23vw;
        background-position-x: -39.23vw;
    }

    #Top main .yt_sec h2.move::before {
        background-position-x: 0;
    }

    #Top main .yt_sec ul {
        gap: 3.54vw;
        margin-top: 5vw;
    }

    #Top main .yt_sec ul li a p {
        line-height: 4.85vw;
        font-size: 1.38vw;
    }

    #Top main .yt_sec ul li:nth-of-type(2) {
        margin-top: 5.77vw;
    }

    #Top main .yt_sec ul li:nth-of-type(3) {
        margin-top: 11.54vw;
    }

    #Top main .support_sec {
        margin-top: 26.54vw;
    }

    #Top main .support_sec .support_wrap {
        width: 62.31vw;
    }

    #Top main .support_sec h2::before {
        width: 26.92vw;
        background-position-x: -26.92vw;
    }

    #Top main .support_sec h2.move::before {
        background-position-x: 0;
    }

    #Top main .support_sec .row {
        margin-top: 4.23vw;
    }

    #Top main .support_sec .row ul li {
        text-indent: -0.85vw;
        margin-left: 0.85vw;
    }

    #Top main .support_sec .row ul li::before {
        margin-right: 0.15vw;
    }

    #Top main .support_sec .row ul:nth-of-type(2) {
        margin-top: 6.15vw;
    }
}

@media (max-width: 930px) {
    #Top main .about_sec .video_wrap {
        left: 34vw;
    }

    #Top main .menu_sec ul {
        left: 33.5vw;
    }
}

@media (hover: none) {
    #Top main .about_sec .video_wrap {
        left: 35vw;
        bottom: -50.7vw;
    }

    #Top main .menu_sec ul {
        left: 34.5vw;
        top: 13.7vw;
    }
}

@media (hover: none) {
    #Top footer .fixed_bn {
        opacity: 0;
        pointer-events: none;
        transition: 0.5s;
    }

    #Top footer .fixed_bn.active {
        opacity: 1;
        pointer-events: auto;
    }
}

_:lang(x)::-moz-placeholder,
#Top main .about_sec .video_wrap {
    left: calc(50vw - 230px);
}

_:lang(x)::-moz-placeholder,
#Top main .menu_sec ul {
    top: 194px;
}

@media (max-width: 1300px) {

    _:lang(x)::-moz-placeholder,
    #Top main .about_sec .video_wrap {
        left: 32.35vw;
    }

    _:lang(x)::-moz-placeholder,
    #Top main .menu_sec ul {
        top: 13.6vw;
    }
}

.mac _:lang(x)+_:-webkit-full-screen-document,
.mac #Top main .menu_sec ul {
    left: calc(50vw - 245px);
}

@media (max-width: 1300px) {

    .mac _:lang(x)+_:-webkit-full-screen-document,
    .mac #Top main .menu_sec ul {
        top: 11.6vw;
    }
}

@media (max-width: 1120px) {

    .mac _:lang(x)+_:-webkit-full-screen-document,
    .mac #Top main .about_sec .video_wrap {
        left: 35vw;
    }
}

.mac _:lang(x)::-internal-media-controls-overlay-cast-button,
.mac #Top main .about_sec .video_wrap {
    left: calc(50vw - 234px);
}

.mac _:lang(x)::-internal-media-controls-overlay-cast-button,
.mac #Top main .menu_sec ul {
    top: 194px;
}

@media (max-width: 1300px) {

    .mac _:lang(x)::-internal-media-controls-overlay-cast-button,
    .mac #Top main .about_sec .video_wrap {
        left: 31.9vw;
    }

    .mac _:lang(x)::-internal-media-controls-overlay-cast-button,
    .mac #Top main .menu_sec ul {
        top: 13.6vw;
    }
}

@media (max-width: 930px) {

    .mac _:lang(x)::-internal-media-controls-overlay-cast-button,
    .mac #Top main .about_sec .video_wrap {
        left: 34.4vw;
    }

    .mac _:lang(x)::-internal-media-controls-overlay-cast-button,
    .mac #Top main .menu_sec ul {
        left: 33.5vw;
    }
}

/*==================================
  Top_20231214　更新
==================================*/
#Top main .mv_sec {
    padding-top: clamp(187.5px, 26.79vw, 375px);
}

@media (min-width: 900px) {
    #Top main .mv_sec .container {
        padding: 0;
    }
}

#Top main .mv_sec .catch {
    width: 100%;
    filter: none;
    will-change: auto;
}

#Top main .mv_sec .catch picture {
    position: static;
}

#Top main .mv_contents {
    width: 92.86%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1300px;
    position: relative;
    height: 100%;
}

#Top main .mv_contents .mv_content_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

#Top main .mv_contents .mv_content {
    width: 50%;
    position: absolute;
    top: 0;
    /* sports
  ==================================*/
    /* dock
  ==================================*/
}

#Top main .mv_contents .mv_content .mv_content_txt {
    text-align: center;
    width: clamp(160px, 22.86vw, 320px);
    margin-top: clamp(-30px, -2.14vw, -15px);
}

#Top main .mv_contents .mv_content .btn_wrap {
    margin-top: clamp(-5px, -0.36vw, -2.5px);
    position: relative;
}

#Top main .mv_contents .mv_content .btn_wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 101%;
    transition: 0.3s ease;
}

#Top main .mv_contents .mv_content .btn_wrap:hover::before {
    opacity: 0;
}

#Top main .mv_contents .mv_content .btn_wrap .link_btn {
    height: 50px;
    font-size: 16px;
    background: transparent;
}

#Top main .mv_contents .mv_content.sports {
    transform: translateX(-50%);
    left: 22%;
}

#Top main .mv_contents .mv_content.sports .mv_content_inner {
    width: clamp(212.5px, 30.36vw, 100%);
    max-width: 425px;
}

#Top main .mv_contents .mv_content.sports .mv_content_image {
    width: 110%;
}

#Top main .mv_contents .mv_content.sports .btn_wrap {
    background: linear-gradient(28deg, #110099, #430FFF) no-repeat 0/cover;
}

#Top main .mv_contents .mv_content.sports .btn_wrap::before {
    background: linear-gradient(28deg, #0d0069, #2700a9) no-repeat 0/cover;
}

#Top main .mv_contents .mv_content.dock {
    left: 78%;
    transform: translateX(-50%);
}

#Top main .mv_contents .mv_content.dock .mv_content_inner {
    width: clamp(212.5px, 35.36vw, 100%);
    max-width: 522px;
}

#Top main .mv_contents .mv_content.dock .mv_content_image {
    width: 110%;
    max-width: 522px;
}

#Top main .mv_contents .mv_content.dock .mv_content_txt {
    width: clamp(210px, 29.29vw, 410px);
    margin-top: clamp(-25px, -1.79vw, 22.5px);
}

#Top main .mv_contents .mv_content.dock .btn_wrap {
    margin-top: -1;
    background: linear-gradient(28deg, #4700CC, #9852EE) no-repeat 0/cover;
}

#Top main .mv_contents .mv_content.dock .btn_wrap::before {
    background: linear-gradient(28deg, #38009b, #6812cb) no-repeat 0/cover;
}

/*==================================
  News
==================================*/
#News main {
    padding-bottom: 645px;
}

@media (max-width: 1300px) {
    #News main {
        padding-bottom: 50vw;
    }
}

#News main .header_sec {
    position: relative;
    background: url(../images/news/head.jpg) no-repeat center top/auto 100%;
}

#News main .header_sec .pan::after {
    left: -100px;
}

#News main .news_wrap {
    padding-top: 130px;
    margin-bottom: 350px;
}

#News main .news_wrap .area1 {
    min-width: 1200px;
}

#News main .news_wrap .area1 h1 {
    text-indent: -9999px;
}

#News main .news_wrap .area1 article {
    max-width: 1040px;
    margin: 0 auto;
}

#News main .news_wrap .area1 article .topic_title {
    padding: 0 0 50px 0;
}

#News main .news_wrap .area1 article .topic_title .date {
    font-size: 16px;
    font-family: "Oswald";
    font-weight: 400;
    line-height: 1;
    padding: 0 0 25px 0;
}

#News main .news_wrap .area1 article .topic_title .date span {
    display: inline-block;
    padding: 0 0 0 5px;
    color: #b0a5fe;
    font-family: YakuHanJP_Noto, "Noto Sans JP";
    font-weight: 400;
    position: relative;
    top: -2px;
}

#News main .news_wrap .area1 article .topic_title h3 {
    font-size: 22px;
    font-family: YakuHanJP_Noto, "Noto Sans JP";
    font-weight: 500;
    line-height: 1.6;
}

#News main .news_wrap .area1 article .topic_content p {
    padding: 0 0 1em;
}

#News main .news_wrap .area1 article .topic_content a {
    text-decoration: underline;
}

#News main .news_wrap .area1 article .topic_content img {
    max-width: 100%;
    height: auto;
    padding: 0 0 1em;
}

@media (max-width: 1300px) {
    #News main .news_wrap {
        padding-top: 10vw;
        margin-bottom: 26.92vw;
    }

    #News main .news_wrap .area1 {
        min-width: 92.31vw;
    }
}

/*==================================
  Course
==================================*/
#Course main .container {
    max-width: 1140px;
}

#Course main#Vision {
    height: 8094px;
    background: url(../images/course/vision/back.jpg) no-repeat center top/auto 100%;
}

#Course main#Vision .about_sec .container .target .row {
    width: 600px;
}

#Course main#Vision .seeability_sec {
    color: white;
    padding-top: 80px;
}

#Course main#Vision .seeability_sec h2 {
    font-size: 40px;
}

#Course main#Vision .seeability_sec .movie_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px 20px;
    align-items: flex-end;
    margin-top: 70px;
}

#Course main#Vision .seeability_sec .movie_list li video {
    width: 100%;
}

#Course main#Vision .seeability_sec .movie_list li p {
    text-align: center;
    margin-top: 5px;
}

#Course main#Vision .inspection_sec .container .inspection .img_wrap {
    padding: 50px 60px 80px 40px;
}

#Course main#Vision .performance_sec .performance_wrap:nth-of-type(1) {
    padding-top: 0px;
}

#Course main#Vision .performance_sec .performance_wrap:nth-of-type(1) .img_wrap figure {
    max-width: 420px;
}

#Course main#Vision .performance_sec .performance_wrap:nth-of-type(1) .img_wrap p {
    max-width: 570px;
    font-size: 15px;
}

#Course main#Vision .performance_sec .performance_wrap:nth-of-type(2) {
    padding-top: 130px;
}

#Course main#Vision .performance_sec .performance_wrap:nth-of-type(2) .img_wrap figure {
    max-width: 379px;
}

#Course main#Vision .performance_sec .performance_wrap:nth-of-type(2) .img_wrap p {
    max-width: 645px;
    font-size: 15px;
}

#Course main#Vision .performance_sec .performance_wrap:nth-of-type(2) .img_wrap p span {
    font-size: 13px;
}

#Course main#Vision .feedback_sec {
    padding-top: 120px;
}

#Course main#Vision .feedback_sec .double_img p {
    text-align: center;
    margin: auto;
}

#Course main#Vision .feedback_sec .double_img .row {
    justify-content: center;
    margin-top: 40px;
    gap: 50px;
}

#Course main#Vision .feedback_sec .double_img .row figure {
    max-width: 370px;
}

#Course main#Vision .performance_sec {
    padding-top: 160px;
}

#Course main#Vision .day_sec {
    padding-top: 400px;
}

#Course main#Wellness {
    height: 9989px;
    background: url(../images/course/wellness/back.jpg) no-repeat center top/auto 100%;
}

#Course main#Wellness .header_sec .container .pan::after {
    left: -98px;
}

#Course main#Wellness .about_sec .container .strength {
    padding-top: 100px;
    max-width: 860px;
    margin: auto;
}

#Course main#Wellness .about_sec .container .target .row {
    width: 615px;
}

#Course main#Wellness .performance_sec {
    padding-top: 150px;
}

#Course main#Wellness .performance_sec .table_wrap h3 {
    font-size: 26px;
    padding-top: 70px;
}

#Course main#Wellness .performance_sec .table_wrap table tr {
    height: 40px;
}

#Course main#Wellness .performance_sec .table_wrap table tr th:first-child {
    width: 240px;
}

#Course main#Wellness .performance_sec .performance_wrap {
    padding-top: 125px;
}

#Course main#Wellness .performance_sec .performance_wrap .img_wrap {
    padding-top: 30px;
}

#Course main#Wellness .performance_sec .performance_wrap .img_wrap p {
    max-width: 595px;
    padding-top: 30px;
}

#Course main#Wellness .performance_sec .performance_wrap .tow {
    display: flex;
    justify-content: space-between;
}

#Course main#Wellness .performance_sec .performance_wrap .tow .img_wrap {
    flex-direction: column;
    width: 50%;
}

#Course main#Wellness .performance_sec .performance_wrap .tow .img_wrap:first-of-type {
    max-width: 502px;
}

#Course main#Wellness .performance_sec .performance_wrap .tow .img_wrap:last-of-type {
    max-width: 489px;
    justify-content: flex-start;
}

#Course main#Wellness .performance_sec .performance_wrap .tow .img_wrap:last-of-type p {
    padding-top: 25px;
}

#Course main#Wellness .performance_sec .performance_wrap:nth-of-type(3) .img_wrap figure {
    max-width: 441px;
}

#Course main#Wellness .performance_sec .performance_wrap:nth-of-type(5) .img_wrap figure {
    max-width: 480px;
}

#Course main#Wellness .performance_sec .performance_wrap:nth-of-type(6) .img_wrap {
    padding-top: 20px;
}

#Course main#Wellness .performance_sec .performance_wrap:nth-of-type(6) .img_wrap figure {
    max-width: 412px;
}

#Course main#Wellness .inspection_sec .container .inspection {
    padding-top: 50px;
}

#Course main#Wellness .inspection_sec .container .inspection .img_wrap {
    align-items: flex-start;
    padding: 34px 70px 30px 40px;
}

#Course main#Wellness .inspection_sec .container .inspection .img_wrap figure {
    max-width: 220px;
}

#Course main#Wellness .inspection_sec .container .inspection .img_wrap .text {
    padding-top: 30px;
}

#Course main#Wellness .day_sec {
    padding-top: 420px;
}

#Course main#Talent {
    height: 7100px;
    background: url(../images/course/talent/back.jpg) no-repeat center top/auto 100%;
}

#Course main#Talent .header_sec .pan::after {
    left: -105px;
}

#Course main#Talent .feedback_sec {
    color: #fff;
    padding-top: 100px;
}

#Course main#Talent .feedback_sec .double_img p {
    text-align: center;
    margin: auto;
}

#Course main#Talent .feedback_sec .double_img .row {
    justify-content: center;
    margin-top: 40px;
    gap: 40px;
}

#Course main#Talent .feedback_sec .double_img .row figure {
    max-width: 450px;
}

#Course main#Talent .inspection_sec .container .inspection .img_wrap {
    padding: 30px 50px 30px 40px;
}

#Course main#Talent .inspection_sec .container .inspection .img_wrap .text h3 {
    max-inline-size: none;
}

#Course main#Talent .inspection_sec .container .inspection .img_wrap figure {
    max-width: 310px;
}

#Course main#Talent .day_sec {
    padding-top: 90px;
}

#Course main#Talent .day_sec .container .course {
    padding-top: 25px;
    text-align: center;
    color: #fff;
}

#Course main#Talent .day_sec .container .money {
    padding-top: 80px;
}

#Course main#Sport {
    height: 10239px;
    background: url(../images/course/sportdog/back.jpg) no-repeat center top/auto 100%;
}

#Course main#Sport .header_sec .pan::after {
    left: -104px;
}

#Course main#Sport .testing_items .img_wrap h3 {
    min-height: 75px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 45px;
}

#Course main#Sport .testing_items .img_wrap:last-of-type {
    max-width: 454px;
}

#Course main#Sport .testing_items .img_wrap:last-of-type figure:first-of-type {
    margin-bottom: 10px;
}

#Course main#Sport .inspection_sec h2 {
    color: #000;
}

#Course main#Sport .inspection_sec .container .inspection .img_wrap {
    align-items: flex-start;
}

#Course main#Sport .inspection_sec .inspection .img_wrap {
    padding-top: 40px;
    padding-bottom: 40px;
}

#Course main#Sport .performance_sec .performance_wrap:nth-of-type(2) .img_wrap figure {
    max-width: 416px;
}

#Course main#Sport .performance_sec .performance_wrap:nth-of-type(2) .img_wrap p {
    max-width: 595px;
}

#Course main#Sport .performance_sec .performance_wrap:nth-of-type(3) .img_wrap picture {
    max-width: 616px;
}

#Course main#Sport .performance_sec .performance_wrap:nth-of-type(3) .img_wrap p {
    max-width: 415px;
}

#Course main#Sport .performance_sec .performance_wrap:nth-of-type(4) .img_wrap figure {
    max-width: 353px;
}

#Course main#Sport .performance_sec .performance_wrap:nth-of-type(4) .img_wrap p {
    max-width: 600px;
}

#Course main#Sport .performance_sec .performance_wrap:nth-of-type(5) .img_wrap picture {
    max-width: 591px;
}

#Course main#Sport .performance_sec .performance_wrap:nth-of-type(5) .img_wrap p {
    max-width: 420px;
}

#Course main#Sport .performance_sec .performance_wrap:nth-of-type(6) .img_wrap {
    justify-content: flex-start;
}

#Course main#Sport .performance_sec .performance_wrap:nth-of-type(6) .img_wrap figure {
    max-width: 371px;
}

#Course main#Sport .performance_sec .performance_wrap:nth-of-type(6) .img_wrap p {
    max-width: 310px;
    padding-left: 90px;
}

#Course main p {
    font-weight: 500;
    line-height: 1.7;
    font-size: 15px;
}

#Course main .header_sec {
    position: relative;
}

#Course main .header_sec .container {
    max-width: 1300px;
}

#Course main .header_sec .tit h1.pu {
    color: #180535;
}

#Course main .subtit {
    text-align: center;
}

#Course main .subtit h2 {
    font-size: 40px;
}

#Course main .subtit p {
    font-size: 14.5px;
    font-weight: 500;
    padding-top: 40px;
    line-height: 1.7;
    letter-spacing: 0.025em;
}

#Course main .about_sec {
    text-align: center;
    padding-top: 130px;
}

#Course main .about_sec h3 {
    font-size: 52px;
}

#Course main .about_sec .target {
    min-height: 110px;
    margin-top: 90px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    background-color: white;
    margin-bottom: 70px;
    border: 1px solid #7353dc;
    position: relative;
    padding-top: 10px;
}

#Course main .about_sec .target .square {
    position: absolute;
    top: -15px;
    width: 200px;
    height: 40px;
    background: linear-gradient(28deg, #391478, #7352db);
    transform: skew(-25deg, 0deg) rotate(0deg);
}

#Course main .about_sec .target .square p {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.7;
    color: white;
    transform: skew(25deg, 0deg) rotate(0deg);
    position: absolute;
    left: 0px;
    right: 0px;
}

#Course main .about_sec .target .rpw_p {
    padding-right: 22px;
}

#Course main .about_sec .target .row {
    width: 600px;
    justify-content: space-between;
    align-items: center;
    text-align: left;
}

#Course main .about_sec .target .row p {
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    position: relative;
    width: 850px;
}

#Course main .about_sec .target .row p span {
    font-size: 16px;
    display: flex;
    text-indent: 2vw;
}

#Course main .about_sec .target .row p.two {
    bottom: -10px;
}

#Course main .about_sec .target .row p::before {
    content: "";
    background-image: url(../images/course/mark.svg);
    background-size: 21px 19px;
    width: 21px;
    height: 19px;
    display: inline-block;
    margin-right: 15px;
}

#Course main .about_sec .img_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#Course main .about_sec .img_box figure {
    width: calc(50% - 10px);
    margin-bottom: 20px;
}

#Course main .about_sec .testing_items {
    justify-content: space-between;
    padding-top: 50px;
}

#Course main .about_sec .testing_items h3 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.3;
    color: white;
}

#Course main .about_sec .testing_items .img_wrap {
    width: 47%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: relative;
}

#Course main .about_sec .testing_items .img_wrap .date {
    color: #fff;
    text-align: left;
    position: absolute;
    bottom: -25px;
}

#Course main .about_sec .testing_items table {
    width: 500px;
}

#Course main .about_sec .testing_items table tr {
    width: 100%;
}

#Course main .about_sec .testing_items table tr td {
    padding: 8px 0px;
    width: 70px;
    border-left: 1px solid #280ca2;
}

#Course main .about_sec .testing_items table tr td:nth-of-type(1) {
    color: #000;
    width: 145px;
    font-size: 14px;
    padding: 0px 5px;
    letter-spacing: 0em;
}

#Course main .about_sec .testing_items table tr:nth-of-type(1) th {
    color: white;
    font-size: 14px;
    font-weight: 400;
    padding: 7.5px 0px;
    width: 65px;
}

#Course main .about_sec .testing_items table tr:nth-of-type(1) th:nth-of-type(2n) {
    background-color: #6529af;
}

#Course main .about_sec .testing_items table tr:nth-of-type(1) th:nth-of-type(2n+1) {
    background-color: #280ca2;
}

#Course main .about_sec .testing_items table tr:nth-of-type(1) th:first-of-type {
    width: 155px;
    background-color: #090045;
}

#Course main .about_sec .testing_items table tr:nth-of-type(2n) {
    background-color: #e6ddf5;
}

#Course main .about_sec .testing_items table tr:nth-of-type(2n+1) {
    background-color: white;
}

#Course main .about_sec .testing_items table tr:nth-of-type(2n+1) td:nth-of-type(1) {
    color: #000;
}

#Course main .about_sec .testing_items table tr td:nth-of-type(n+2) {
    font-size: 16px;
    font-weight: 700;
    color: #703195;
}

#Course main .feedback_sec {
    padding-top: 455px;
}

#Course main .feedback_sec h2 {
    font-size: 40px;
}

#Course main .feedback_sec figure {
    max-width: 400px;
    width: 50%;
}

#Course main .feedback_sec .img_wrap {
    padding-top: 60px;
    justify-content: space-between;
    width: 930px;
    margin: auto;
}

#Course main .feedback_sec p {
    max-width: 450px;
    width: 50%;
    padding-top: 70px;
}

#Course main .inspection_sec {
    padding-top: 110px;
}

#Course main .inspection_sec h2 {
    color: #fff;
}

#Course main .inspection_sec .inspection {
    padding-top: 30px;
}

#Course main .inspection_sec .inspection .img_wrap {
    display: flex;
    background-color: white;
    opacity: 0.9;
    margin-bottom: 20px;
    padding: 50px 60px 30px 40px;
    justify-content: space-between;
    align-items: center;
}

#Course main .inspection_sec .inspection .img_wrap .text {
    width: 630px;
}

#Course main .inspection_sec .inspection .img_wrap .text.one {
    width: 100%;
}

#Course main .inspection_sec .inspection .img_wrap .text h3 {
    font-size: 30px;
    display: flex;
    align-items: center;
    padding-bottom: 15px;
    padding-left: 15px;
    position: relative;
    flex-direction: row;
    font-weight: 700;
}

#Course main .inspection_sec .inspection .img_wrap .text h3 span {
    font-size: 50px;
    color: #8979ff;
    font-weight: 500;
    padding-right: 20px;
}

#Course main .inspection_sec .inspection .img_wrap .text h3::before {
    width: 660px;
    background-image: url(../images/common/line_pw.png);
    bottom: 0;
    background-position-x: -620px;
    left: -20px;
    transform: translateX(0%);
}

#Course main .inspection_sec .inspection .img_wrap .text h3.move::before {
    background-position-x: 0;
}

#Course main .inspection_sec .inspection .img_wrap .text p {
    line-height: 1.7;
    padding: 20px 20px 0px 15px;
    font-weight: 500;
    font-size: 15px;
}

#Course main .inspection_sec .inspection .img_wrap .text p span {
    font-size: 13px;
}

#Course main .inspection_sec .inspection .img_wrap figure {
    max-width: 220px;
}

#Course main .performance_sec {
    padding-top: 180px;
}

#Course main .performance_sec .performance_wrap {
    padding-top: 80px;
}

#Course main .performance_sec .performance_wrap h3 {
    font-size: 30px;
    font-weight: 700;
    padding-bottom: 10px;
    margin-bottom: 30px;
}

#Course main .performance_sec .performance_wrap h3::before {
    width: 100%;
    background-image: url(../images/common/line_pw.png);
    bottom: 0;
    background-position-x: -620px;
    left: 0px;
    transform: translateX(0%);
}

#Course main .performance_sec .performance_wrap h3.move::before {
    background-position-x: 0;
}

#Course main .performance_sec .performance_wrap .img_wrap {
    display: flex;
    justify-content: space-between;
    padding-top: 40px;
}

#Course main .performance_sec .performance_wrap .img_wrap .catch {
    padding-top: 40px;
}

#Course main .performance_sec .table_wrap h3 {
    padding-top: 40px;
    padding-bottom: 30px;
    font-size: 20px;
    text-align: center;
    line-height: 1.5;
}

#Course main .performance_sec .table_wrap table {
    background-color: #fff;
    width: 100%;
}

#Course main .performance_sec .table_wrap table tr {
    min-height: 78px;
}

#Course main .performance_sec .table_wrap table tr th {
    color: #fff;
    background-color: #6529af;
    vertical-align: middle;
    text-align: center;
    border: 1px solid #4b0199;
    font-weight: 500;
}

#Course main .performance_sec .table_wrap table tr td {
    vertical-align: middle;
    text-align: center;
    border: 1px solid #4b0199;
}

#Course main .performance_sec .table_wrap table tr:nth-of-type(2n) td {
    background-color: #e6ddf5;
}

#Course main .day_sec {
    padding-top: 300px;
}

#Course main .day_sec h2 {
    text-align: right;
    color: #fff;
    margin: 0 0 0 auto;
    max-width: 520px;
    align-items: flex-end;
    padding-bottom: 15px;
}

#Course main .day_sec h2.center {
    text-align: center;
    margin: 0 auto;
    align-items: center;
}

#Course main .day_sec h2::before {
    width: 520px;
    background-image: url(../images/common/line_wh.png);
    bottom: 0;
    background-position-x: -620px;
    left: 0px;
    transform: translateX(0%);
}

#Course main .day_sec h2.move::before {
    background-position-x: 0;
}

#Course main .day_sec .step_wrap {
    display: flex;
    justify-content: space-between;
    padding-top: 60px;
}

#Course main .day_sec .step_wrap .step {
    max-width: 200px;
    color: #570f80;
    background: white;
    text-align: center;
    position: relative;
    min-height: 230px;
    padding: 20px 15px;
}

#Course main .day_sec .step_wrap .step::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 230px 230px 0 0;
    border-color: #f0e5fd transparent transparent transparent;
    top: 0px;
    left: 0px;
    z-index: 0;
}

#Course main .day_sec .step_wrap .step dl {
    z-index: 1;
    position: relative;
}

#Course main .day_sec .step_wrap .step dl dt dl dt {
    font-size: 30px;
    padding-bottom: 35px;
    flex-direction: row;
    margin: auto;
    align-items: flex-end;
    font-weight: 300;
    line-height: 1;
}

#Course main .day_sec .step_wrap .step dl dt dl dt::before {
    background-image: url(../images/common/line_pw.png);
    background-position-x: 0;
    width: 210px;
    bottom: 22px;
}

#Course main .day_sec .step_wrap .step dl dt dl dt span {
    font-size: 50px;
    padding-left: 10px;
}

#Course main .day_sec .step_wrap .step dl dd {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.1;
}

#Course main .day_sec .step_wrap .step dl dd dt {
    padding-bottom: 15px;
    padding-top: 15px;
    font-weight: 700;
    font-size: 26px;
}

#Course main .day_sec .step_wrap .step dl dd dd {
    font-size: 15px;
    font-weight: 500;
    color: #000;
    text-align: left;
    line-height: 1.7;
    padding-top: 15px;
    padding-left: 1vw;
}

#Course main .day_sec .step_wrap .step:not(:last-of-type)::after {
    content: "";
    width: 25px;
    height: 21px;
    background-size: 25px 21px;
    background-image: url(../images/course/arow.svg);
    display: inline-block;
    right: -33px;
    top: calc(50% - 21px);
    position: absolute;
}

#Course main .day_sec .money {
    padding-top: 100px;
}

#Course main .day_sec .money dl {
    transform: skew(-15deg, 0deg) rotate(0deg);
    display: flex;
    text-align: center;
    width: 100%;
    height: 70px;
}

#Course main .day_sec .money dl dt {
    background: linear-gradient(28deg, #511ad4, #7d64f3);
    color: white;
    width: 270px;
    position: relative;
}

#Course main .day_sec .money dl dt p {
    font-size: 26px;
    font-weight: 700;
    position: absolute;
    transform: skew(15deg, 0deg) rotate(0deg);
    left: 0px;
    right: 0px;
    line-height: 2.5;
}

#Course main .day_sec .money dl dd {
    width: calc(100% - 270px);
    background-color: #fff;
    color: #570f80;
    display: flex;
    align-items: center;
    position: relative;
}

#Course main .day_sec .money dl dd p {
    font-size: 38px;
    font-weight: 700;
    position: absolute;
    transform: skew(15deg, 0deg) rotate(0deg);
    height: 70px;
    left: 0px;
    right: 0px;
    letter-spacing: 0.05em;
    line-height: 1.8;
}

#Course main .day_sec .money dl dd p span {
    font-size: 26px;
}

@media (max-width: 1300px) {
    #Course main#Vision {
        height: 622.62vw;
    }

    #Course main#Vision .about_sec .container .target .row {
        width: 47.15vw;
    }

    #Course main#Vision .seeability_sec {
        padding-top: 6.15vw;
    }

    #Course main#Vision .seeability_sec h2 {
        font-size: 3.08vw;
    }

    #Course main#Vision .seeability_sec .movie_list {
        gap: 0.77vw 1.54vw;
        margin-top: 5.38vw;
    }

    #Course main#Vision .seeability_sec .movie_list li p {
        margin-top: 0.38vw;
    }

    #Course main#Vision .inspection_sec .container .inspection .img_wrap {
        padding: 3.85vw 4.62vw 6.15vw 3.08vw;
    }

    #Course main#Vision .feedback_sec {
        padding-top: 9.23vw;
    }

    #Course main#Vision .feedback_sec .double_img .row {
        margin-top: 3.08vw;
        gap: 3.85vw;
    }

    #Course main#Vision .feedback_sec .double_img .row figure {
        max-width: 28.46vw;
    }

    #Course main#Vision .performance_sec {
        padding-top: 12.31vw;
    }

    #Course main#Vision .performance_sec .performance_wrap:nth-of-type(1) .img_wrap figure {
        max-width: 32.31vw;
    }

    #Course main#Vision .performance_sec .performance_wrap:nth-of-type(1) .img_wrap p {
        max-width: 43.85vw;
        font-size: 1.15vw;
    }

    #Course main#Vision .performance_sec .performance_wrap:nth-of-type(2) {
        padding-top: 10vw;
    }

    #Course main#Vision .performance_sec .performance_wrap:nth-of-type(2) .img_wrap figure {
        max-width: 29vw;
    }

    #Course main#Vision .performance_sec .performance_wrap:nth-of-type(2) .img_wrap p {
        max-width: 49.62vw;
        font-size: 1.15vw;
    }

    #Course main#Vision .performance_sec .performance_wrap:nth-of-type(2) .img_wrap p span {
        font-size: 1vw;
    }

    #Course main#Vision .day_sec {
        padding-top: 28.77vw;
    }

    #Course main#Wellness {
        height: 768.38vw;
    }

    #Course main#Wellness .about_sec .container .strength {
        padding-top: 7.69vw;
        max-width: 66.15vw;
    }

    #Course main#Wellness .about_sec .container .target .row {
        width: 48.92vw;
    }

    #Course main#Wellness .performance_sec {
        padding-top: 11.54vw;
    }

    #Course main#Wellness .performance_sec .table_wrap h3 {
        font-size: 2vw;
        padding-top: 5.38vw;
    }

    #Course main#Wellness .performance_sec .table_wrap table tr {
        height: 3.08vw;
    }

    #Course main#Wellness .performance_sec .table_wrap table tr th:first-child {
        width: 18.46vw;
    }

    #Course main#Wellness .performance_sec .performance_wrap {
        padding-top: 7.62vw;
    }

    #Course main#Wellness .performance_sec .performance_wrap .img_wrap p {
        max-width: 45.77vw;
        padding-top: 2.31vw;
    }

    #Course main#Wellness .performance_sec .performance_wrap .tow .img_wrap:first-of-type {
        max-width: 38.62vw;
    }

    #Course main#Wellness .performance_sec .performance_wrap .tow .img_wrap:last-of-type {
        max-width: 37.62vw;
    }

    #Course main#Wellness .performance_sec .performance_wrap .tow .img_wrap:last-of-type p {
        padding-top: 1.92vw;
    }

    #Course main#Wellness .performance_sec .performance_wrap:nth-of-type(3) .img_wrap figure {
        max-width: 33.92vw;
    }

    #Course main#Wellness .performance_sec .performance_wrap:nth-of-type(5) .img_wrap figure {
        max-width: 36.92vw;
    }

    #Course main#Wellness .performance_sec .performance_wrap:nth-of-type(6) .img_wrap {
        padding-top: 1.54vw;
    }

    #Course main#Wellness .performance_sec .performance_wrap:nth-of-type(6) .img_wrap figure {
        max-width: 31.69vw;
    }

    #Course main#Wellness .inspection_sec .container .inspection {
        padding-top: 3.85vw;
    }

    #Course main#Wellness .inspection_sec .container .inspection .img_wrap {
        align-items: flex-start;
        padding: 2.62vw 5.38vw 2.31vw 3.08vw;
    }

    #Course main#Wellness .inspection_sec .container .inspection .img_wrap figure {
        max-width: 16.92vw;
    }

    #Course main#Wellness .inspection_sec .container .inspection .img_wrap .text {
        padding-top: 2.31vw;
    }

    #Course main#Wellness .day_sec {
        padding-top: 32.31vw;
    }

    #Course main#Talent {
        height: 553.15vw;
    }

    #Course main#Talent .inspection_sec .container .inspection .img_wrap {
        padding: 2.31vw 3.85vw 2.31vw 3.08vw;
    }

    #Course main#Talent .inspection_sec .container .inspection .img_wrap figure {
        max-width: 23.85vw;
    }

    #Course main#Talent .feedback_sec {
        padding-top: 7.69vw;
    }

    #Course main#Talent .feedback_sec .double_img .row {
        margin-top: 3.08vw;
        gap: 3.08vw;
    }

    #Course main#Talent .feedback_sec .double_img .row figure {
        max-width: 34.62vw;
    }

    #Course main#Talent .day_sec {
        padding-top: 6.92vw;
    }

    #Course main#Talent .day_sec .container .course {
        padding-top: 1.92vw;
    }

    #Course main#Talent .day_sec .container .money {
        padding-top: 6.15vw;
    }

    #Course main#Sport {
        height: 787.62vw;
    }

    #Course main#Sport .testing_items .img_wrap h3 {
        min-height: 5.77vw;
        padding-bottom: 3.46vw;
    }

    #Course main#Sport .testing_items .img_wrap:last-of-type {
        max-width: 34.92vw;
    }

    #Course main#Sport .testing_items .img_wrap:last-of-type figure:first-of-type {
        margin-bottom: 0.77vw;
    }

    #Course main#Sport .performance_sec .performance_wrap:nth-of-type(2) .img_wrap figure {
        max-width: 32vw;
    }

    #Course main#Sport .performance_sec .performance_wrap:nth-of-type(2) .img_wrap p {
        max-width: 45.77vw;
    }

    #Course main#Sport .performance_sec .performance_wrap:nth-of-type(3) .img_wrap picture {
        max-width: 47.38vw;
    }

    #Course main#Sport .performance_sec .performance_wrap:nth-of-type(3) .img_wrap p {
        max-width: 31.92vw;
    }

    #Course main#Sport .performance_sec .performance_wrap:nth-of-type(4) .img_wrap figure {
        max-width: 27.25vw;
    }

    #Course main#Sport .performance_sec .performance_wrap:nth-of-type(4) .img_wrap p {
        max-width: 46.15vw;
    }

    #Course main#Sport .performance_sec .performance_wrap:nth-of-type(5) .img_wrap picture {
        max-width: 45.46vw;
    }

    #Course main#Sport .performance_sec .performance_wrap:nth-of-type(5) .img_wrap p {
        max-width: 32.31vw;
    }

    #Course main#Sport .performance_sec .performance_wrap:nth-of-type(6) .img_wrap {
        justify-content: flex-start;
    }

    #Course main#Sport .performance_sec .performance_wrap:nth-of-type(6) .img_wrap figure {
        max-width: 28.54vw;
    }

    #Course main#Sport .performance_sec .performance_wrap:nth-of-type(6) .img_wrap p {
        max-width: 23.85vw;
        padding-left: 6.92vw;
    }

    #Course main#Sport .inspection_sec .inspection .img_wrap {
        padding-top: 3.08vw;
        padding-bottom: 3.08vw;
    }

    #Course main#Sport .day_sec {
        padding-top: 16vw;
    }

    #Course main .header_sec .tit {
        min-height: 34.62vw;
    }

    #Course main .header_sec .tit h1 {
        padding-bottom: 10.38vw;
    }

    #Course main .header_sec .tit h1 .jp {
        font-size: 3.85vw;
    }

    #Course main .header_sec .tit h1 .en {
        font-size: 2.69vw;
    }

    #Course main p {
        font-size: 1.15vw;
    }

    #Course main .subtit h2 {
        font-size: 3.08vw;
    }

    #Course main .subtit p {
        font-size: 1.15vw;
        padding-top: 3.08vw;
    }

    #Course main .about_sec {
        padding-top: 10vw;
    }

    #Course main .about_sec h3 {
        font-size: 4vw;
    }

    #Course main .about_sec p {
        font-size: 1.15vw;
    }

    #Course main .about_sec .target {
        min-height: 8.46vw;
        margin-top: 6.92vw;
        margin-bottom: 5.38vw;
        padding-top: 0.77vw;
    }

    #Course main .about_sec .target .square {
        top: -1.15vw;
        width: 15.38vw;
        height: 3.08vw;
    }

    #Course main .about_sec .target .square p {
        font-size: 1.69vw;
    }

    #Course main .about_sec .target .row {
        width: 47.38vw;
    }

    #Course main .about_sec .target .row p {
        font-size: 1.69vw;
    }

    #Course main .about_sec .target .row p.two {
        bottom: -0.77vw;
    }

    #Course main .about_sec .img_box figure {
        width: calc(50% - 0.77vw);
        margin-bottom: 1.54vw;
    }

    #Course main .about_sec .testing_items {
        padding-top: 3.85vw;
    }

    #Course main .about_sec .testing_items h3 {
        font-size: 2.31vw;
    }

    #Course main .about_sec .testing_items .img_wrap .date {
        bottom: -1.92vw;
    }

    #Course main .about_sec .testing_items table {
        width: 38.46vw;
    }

    #Course main .about_sec .testing_items table tr th {
        padding: 0.58vw 0px;
    }

    #Course main .about_sec .testing_items table tr td {
        padding: 0.58vw 0px;
        width: 5.38vw;
        font-size: 1.08vw;
    }

    #Course main .about_sec .testing_items table tr td:nth-of-type(1) {
        width: 11.15vw;
        font-size: 1.08vw;
    }

    #Course main .about_sec .testing_items table tr:nth-of-type(1) th {
        width: 5vw;
    }

    #Course main .about_sec .testing_items table tr:nth-of-type(1) th:first-of-type {
        width: 11.92vw;
        background-color: #090045;
    }

    #Course main .about_sec .testing_items table tr:nth-of-type(1) td {
        font-size: 1.08vw;
    }

    #Course main .about_sec .testing_items table tr:nth-of-type(2n) td:nth-of-type(n+2) {
        font-size: 1.23vw;
    }

    #Course main .about_sec .testing_items table tr td:nth-of-type(n+2) {
        font-size: 1.23vw;
    }

    #Course main .feedback_sec {
        padding-top: 35vw;
    }

    #Course main .feedback_sec h2 {
        font-size: 3.08vw;
    }

    #Course main .feedback_sec figure {
        max-width: 30.77vw;
    }

    #Course main .feedback_sec .img_wrap {
        padding-top: 4.62vw;
        width: 71.54vw;
    }

    #Course main .feedback_sec p {
        max-width: 34.62vw;
        padding-top: 5.38vw;
    }

    #Course main .inspection_sec {
        padding-top: 8.46vw;
    }

    #Course main .inspection_sec .inspection {
        padding-top: 2.31vw;
    }

    #Course main .inspection_sec .inspection .img_wrap {
        margin-bottom: 1.54vw;
        padding: 3.85vw 4.62vw 2.31vw 3.08vw;
    }

    #Course main .inspection_sec .inspection .img_wrap .text {
        width: 48.46vw;
    }

    #Course main .inspection_sec .inspection .img_wrap .text h3 {
        font-size: 2.31vw;
        padding-bottom: 1.15vw;
        padding-left: 1.15vw;
    }

    #Course main .inspection_sec .inspection .img_wrap .text h3 span {
        font-size: 3.85vw;
        padding-right: 1.54vw;
    }

    #Course main .inspection_sec .inspection .img_wrap .text h3::before {
        width: 50.77vw;
    }

    #Course main .inspection_sec .inspection .img_wrap .text p {
        padding: 1.54vw 1.54vw 0px 1.15vw;
        font-size: 1.15vw;
    }

    #Course main .inspection_sec .inspection .img_wrap .text p span {
        font-size: 1vw;
    }

    #Course main .inspection_sec .inspection .img_wrap figure {
        max-width: 16.92vw;
    }

    #Course main .performance_sec {
        padding-top: 13.85vw;
    }

    #Course main .performance_sec .performance_wrap {
        padding-top: 6.15vw;
    }

    #Course main .performance_sec .performance_wrap h3 {
        font-size: 2.31vw;
        padding-bottom: 0.77vw;
        margin-bottom: 2.31vw;
    }

    #Course main .performance_sec .performance_wrap .img_wrap {
        padding-top: 3.08vw;
    }

    #Course main .performance_sec .performance_wrap .img_wrap .catch {
        padding-top: 3.08vw;
    }

    #Course main .performance_sec .table_wrap h3 {
        padding-top: 3.08vw;
        padding-bottom: 2.31vw;
        font-size: 1.54vw;
    }

    #Course main .performance_sec .table_wrap table tr {
        min-height: 6vw;
    }

    #Course main .day_sec {
        padding-top: 23.08vw;
    }

    #Course main .day_sec h2 {
        max-width: 40vw;
        padding-bottom: 1.15vw;
    }

    #Course main .day_sec h2::before {
        width: 40vw;
    }

    #Course main .day_sec .step_wrap {
        padding-top: 4.62vw;
    }

    #Course main .day_sec .step_wrap .step {
        max-width: 15.38vw;
        min-height: 17.69vw;
        padding: 1.54vw 1.15vw;
    }

    #Course main .day_sec .step_wrap .step::before {
        border-width: 17.69vw 17.69vw 0 0;
    }

    #Course main .day_sec .step_wrap .step:not(:last-of-type)::after {
        width: 1.92vw;
        height: 1.62vw;
        background-size: 1.92vw 1.62vw;
        right: -2.54vw;
        top: calc(50% - 1.62vw);
    }

    #Course main .day_sec .step_wrap .step dl dt dl dt {
        font-size: 2.31vw;
        padding-bottom: 2.69vw;
    }

    #Course main .day_sec .step_wrap .step dl dt dl dt::before {
        width: 16.15vw;
        bottom: 1.69vw;
    }

    #Course main .day_sec .step_wrap .step dl dt dl dt span {
        font-size: 3.85vw;
        padding-left: 0.77vw;
    }

    #Course main .day_sec .step_wrap .step dl dd {
        font-size: 1.85vw;
    }

    #Course main .day_sec .step_wrap .step dl dd dt {
        padding-bottom: 1.15vw;
        padding-top: 1.15vw;
        font-size: 2vw;
    }

    #Course main .day_sec .step_wrap .step dl dd dd {
        font-size: 1.15vw;
        padding-top: 1.15vw;
    }

    #Course main .day_sec .money {
        padding-top: 7.69vw;
    }

    #Course main .day_sec .money dl {
        height: 5.38vw;
    }

    #Course main .day_sec .money dl dt {
        width: 20.77vw;
    }

    #Course main .day_sec .money dl dt p {
        font-size: 2vw;
    }

    #Course main .day_sec .money dl dd {
        width: calc(100% - 20.77vw);
    }

    #Course main .day_sec .money dl dd p {
        font-size: 2.69vw;
        height: 5.38vw;
    }

    #Course main .day_sec .money dl dd p span {
        font-size: 2vw;
    }
}

@media (hover: none) {
    #Personal main .menu_sec ul {
        top: 29.85vw;
        left: 26.1vw;
    }
}

/*==================================
  Course wellness 2023/12/14 更新
==================================*/
#Course main {
    /* 健康寿命を測る体力検診
  ==================================*/
    /* 体力検診のご案内
  ==================================*/
    /* 検診の流れ
  ==================================*/
    /* 診断結果から今の自分を知る
  ==================================*/
    /* 料金
  ==================================*/
}

#Course main#Wellness {
    height: 8270px;
}

#Course main .about_sec {
    padding-top: clamp(75px, 9.29vw, 130px);
}

#Course main .subtit .sub_ttl {
    font-size: clamp(12px, 1.71vw, 24px);
    font-weight: 800;
    line-height: 1.45;
    padding-top: clamp(15px, 2.14vw, 30px);
    letter-spacing: 0.01em;
}

#Course main .subtit p {
    font-size: clamp(7.5px, 1.2vw, 15px);
    font-weight: 500;
    padding-top: clamp(12.5px, 1.79vw, 25px);
    line-height: 1.73;
    letter-spacing: 0.01em;
}

#Course main .about_sec_image {
    margin-top: clamp(20px, 2.86vw, 40px);
    max-width: 860px;
    width: clamp(430px, 61.43vw, 100%);
    margin-left: auto;
    margin-right: auto;
}

#Course main .about_sec_flow {
    max-width: 830px;
    width: clamp(415px, 59.29vw, 100%);
    padding: 0 clamp(15px, 2.14vw, 30px);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: clamp(7.5px, 1.07vw, 15px);
    position: relative;
    padding-top: clamp(22.5px, 3.21vw, 45px);
}

#Course main .about_sec_flow::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2.5px;
    background: transparent url(../images/course/wellness/line_about.jpg) no-repeat center center/cover;
    max-width: 830px;
}

#Course main .about_sec_flow.move::after {
    width: clamp(0px, 59.29vw, 100%);
}

#Course main .about_sec_flow .flow {
    font-size: clamp(12px, 1.71vw, 24px);
    font-weight: 800;
    line-height: 1.45;
    color: #090045;
    letter-spacing: 0;
}

#Course main .about_sec_flow .flow:not(:last-child) {
    padding-right: clamp(21px, 3.04vw, 42.5px);
    position: relative;
}

#Course main .about_sec_flow .flow:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: clamp(12.5px, 1.79vw, 25px);
    height: clamp(10.5px, 1.5vw, 21px);
    background: transparent url(../images/course/wellness/arrow.svg) no-repeat center center/contain;
}

#Course main .about_sec_flow .flow:not(:first-child) {
    padding-left: clamp(12.5px, 1.79vw, 25px);
}

#Course main .about_sec_flow .flow .inline {
    font-size: clamp(17px, 2.43vw, 34px);
    color: #535adc;
    font-weight: 700;
    line-height: 1.02;
    position: relative;
    padding-right: clamp(7.5px, 0.93vw, 13px);
    display: inline-block;
}

#Course main .about_sec_flow .flow .inline .reg {
    position: absolute;
    top: 2px;
    right: 0;
    font-size: clamp(12px, 1.71vw, 24px);
    display: inline-block;
}

#Course main .about_sec_graph {
    margin-top: clamp(30px, 8vw, 60px);
    padding: clamp(32.5px, 4.64vw, 65px) clamp(45px, 6.43vw, 90px);
    background: #fff;
}

#Course main .about_sec_graph .about_sec_graph_ttl {
    text-align: center;
    font-weight: 800;
    color: #180535;
}

#Course main .about_sec_graph .about_sec_graph_ttl .top {
    font-size: clamp(12px, 1.71vw, 24px);
    line-height: 1.45;
    font-weight: 900;
}

#Course main .about_sec_graph .about_sec_graph_ttl .md {
    font-size: clamp(18px, 2.57vw, 36px);
    line-height: 1.44;
    margin-top: clamp(3.5px, 0.5vw, 7px);
    display: inline-block;
    font-weight: 800;
}

#Course main .about_sec_graph .about_sec_graph_ttl .bottom {
    font-size: clamp(18px, 2.57vw, 36px);
    line-height: 1.375;
    color: #535adc;
    display: inline-block;
}

#Course main .about_sec_graph .about_sec_graph_image {
    width: 100%;
    max-width: 870px;
    margin-top: clamp(15px, 2.14vw, 3px);
    margin-left: auto;
    margin-right: auto;
}

#Course main .about_sec_action {
    padding-top: clamp(60px, 8.57vw, 120px);
}

#Course main .sec_image_wrap {
    width: 100%;
    display: flex;
    justify-content: center;
}

#Course main .sec_image_wrap .text {
    text-align: left;
    width: clamp(290px, 55.99vw, 580px);
    margin-right: auto;
}

#Course main .sec_image_wrap .text .line_ttl {
    font-size: clamp(20px, 3.86vw, 40px);
    line-height: 1;
    font-weight: 800;
    padding-bottom: clamp(7.5px, 1.07vw, 15px);
}

#Course main .sec_image_wrap .text .line_ttl::before {
    width: clamp(250px, 35.71vw, 500px);
    max-width: 500px;
    background-image: url(../images/course/wellness/line_about.jpg);
    bottom: 0;
    background-position-x: -480px;
    left: clamp(-40px, -2.86vw, -20px);
    transform: translateX(0%);
    height: 2.5px;
    background-size: 100% 100%;
}

#Course main .sec_image_wrap .text .line_ttl.move::before {
    background-position-x: 0;
}

#Course main .sec_image_wrap .text .line_ttl .inline {
    display: inline-block;
    font-size: clamp(9px, 2.29vw, 18px);
    line-height: 1;
    font-weight: 900;
    margin-bottom: clamp(7.5px, 1.07vw, 15px);
    letter-spacing: 0.01em;
}

#Course main .sec_image_wrap .text p {
    margin-top: clamp(17.5px, 2.5vw, 35px);
    font-size: clamp(13px, 1.07vw, 15px);
    line-height: 1.73;
    font-weight: 500;
    letter-spacing: 0.01em;
}

#Course main .sec_image_wrap .sec_image {
    width: clamp(225px, 32.14vw, 450px);
}

#Course main .about_sec_answer {
    width: 100%;
    padding-top: clamp(60px, 8.57vw, 120px);
}

#Course main .about_sec_answer .about_sec_answer_inner {
    display: flex;
    flex-direction: row-reverse;
}

#Course main .about_sec_answer .about_sec_answer_text {
    width: clamp(307.5px, 58.89vw, 615px);
    margin-left: auto;
}

#Course main .about_sec_answer .about_sec_answer_text h3 {
    font-size: clamp(18px, 3.4vw, 36px);
    font-weight: 800;
    color: #010101;
    line-height: 1.44;
    text-align: left;
}

#Course main .about_sec_answer .about_sec_answer_text .about_sec_answer_image {
    width: 100%;
    margin-top: clamp(15px, 2.14vw, 30px);
}

#Course main .about_sec_answer .about_sec_answer_image {
    padding-top: clamp(0px, 0.71vw, 10px);
    width: clamp(185px, 26.43vw, 370px);
}

#Course main .guide_sec {
    padding-top: clamp(100px, 14.29vw, 200px);
}

#Course main .guide_sec .subtit p {
    padding-top: clamp(17.5px, 2.5vw, 35px);
}

#Course main .guide_sec_main {
    padding-top: clamp(35px, 5.36vw, 75px);
}

#Course main .guide_sec_main .sec_image_wrap {
    background-color: #fff;
    padding-top: clamp(10px, 1.43vw, 20px);
    padding-right: clamp(10px, 1.43vw, 20px);
    padding-bottom: clamp(10px, 1.43vw, 20px);
    padding-left: clamp(30px, 4.29vw, 60px);
    box-sizing: border-box;
}

#Course main .guide_sec_main .sec_image_wrap:not(:first-child) {
    margin-top: clamp(10px, 1.43vw, 20px);
}

#Course main .guide_sec_main .sec_image_wrap.eye .text .line_ttl::after {
    background: transparent url(../images/course/wellness/guide_icon_eye.svg) no-repeat center center/contain;
}

#Course main .guide_sec_main .sec_image_wrap.power .text .line_ttl::after {
    background: transparent url(../images/course/wellness/guide_icon_power.svg) no-repeat center center/contain;
}

#Course main .guide_sec_main .sec_image_wrap.run .text .line_ttl::after {
    background: transparent url(../images/course/wellness/guide_icon_run.svg) no-repeat center center/contain;
}

#Course main .guide_sec_main .sec_image_wrap .text {
    padding-top: clamp(15px, 2.14vw, 30px);
}

#Course main .guide_sec_main .sec_image_wrap .text .line_ttl {
    font-size: clamp(15px, 2.14vw, 30px);
    line-height: 1.43;
    padding-left: clamp(35px, 5vw, 70px);
    padding-bottom: clamp(2.5px, 0.36vw, 5px);
}

#Course main .guide_sec_main .sec_image_wrap .text .line_ttl::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: clamp(22.5px, 3.93vw, 55px);
    height: clamp(32.5px, 4.64vw, 65px);
    background: transparent url(../images/course/wellness/guide_icon.svg) no-repeat center center/contain;
}

#Course main .guide_sec_main .sec_image_wrap .text .line_ttl::before {
    width: clamp(310px, 44.29vw, 620px);
    max-width: 620px;
    background-position-x: -600px;
    left: 0;
}

#Course main .guide_sec_main .sec_image_wrap .text .line_ttl.move::before {
    background-position-x: 0;
}

#Course main .guide_sec_main .sec_image_wrap .text .line_ttl .inline {
    font-size: clamp(15px, 2.14vw, 30px);
    color: #535adc;
}

#Course main .guide_sec_main .sec_image_wrap .text .line_ttl .small {
    font-size: clamp(12px, 1.71vw, 24px);
}

#Course main .guide_sec_main .sec_image_wrap .text p {
    margin-top: clamp(10px, 1.43vw, 20px);
    width: clamp(280px, 54vw, 560px);
}

#Course main .guide_sec_main .sec_image_wrap .sec_image {
    width: clamp(190px, 27.14vw, 380px);
    position: relative;
    z-index: 1;
}

#Course main#Wellness .day_sec {
    padding-top: clamp(55px, 7.86vw, 110px);
}

#Course main .day_sec h2::before {
    background-image: url(../images/common/line_pw.png);
}

#Course main .day_sec .subtit .sec_ttl {
    margin-left: auto;
    margin-right: auto;
    color: #fff;
    text-align: center;
    align-items: center;
}

#Course main .day_sec .step_wrap .step::before {
    border-color: #f5f1ff transparent transparent transparent;
}

#Course main .day_sec .step_wrap .step dl dt dl dt {
    color: #535adc;
}

#Course main .day_sec .step_wrap .step dl dt dl dt span {
    color: #535adc;
}

#Course main .day_sec .step_wrap .step dl dt dl dd {
    color: #535adc;
}

#Course main .day_sec .step_wrap .step dl dd dl dd {
    font-weight: 600;
}

#Course main .day_sec .step_wrap .step dl dd dl dd .small {
    font-size: 12px;
    line-height: 1;
}

#Course main .result_sec {
    padding-top: clamp(60px, 8.57vw, 120px);
    position: relative;
    z-index: 1;
}

#Course main .result_sec .subtit p {
    padding-top: clamp(17.5px, 2.5vw, 35px);
}

#Course main .result_sec_graph {
    background-color: #fff;
    padding-top: clamp(32.5px, 4.64vw, 65px);
    padding-bottom: clamp(15px, 2.14vw, 30px);
    padding-left: clamp(17.5px, 2.5vw, 35px);
    padding-right: clamp(17.5px, 2.5vw, 35px);
    margin-top: clamp(17.5px, 2.5vw, 35px);
}

#Course main .result_sec_graph_ttl {
    text-align: center;
    font-size: clamp(17.5px, 2.5vw, 35px);
    font-family: "Antonio";
    font-weight: 200;
    line-height: 1;
    letter-spacing: 0.1em;
}

#Course main .result_sec_graph_wrap {
    margin-top: clamp(20px, 2.86vw, 40px);
    padding: 0 clamp(22.5px, 3.93vw, 55px);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

#Course main .result_sec_graph_wrap .result_sec_graph_image {
    width: 100%;
}

#Course main .result_sec_graph_wrap .result_sec_graph_image.graph {
    padding-right: clamp(35px, 5vw, 70px);
    box-sizing: border-box;
}

#Course main .result_sec_graph_wrap .result_sec_graph_image.data {
    margin-top: clamp(35px, 5vw, 70px);
}

#Course main .result_sec_pic_wrap {
    width: 100%;
    display: flex;
    align-items: center;
    gap: clamp(2.5px, 0.36vw, 5px);
    margin-top: clamp(25px, 3.57vw, 50px);
}

#Course main .money {
    padding-top: 100px;
}

#Course main .money dl {
    transform: skew(-15deg, 0deg) rotate(0deg);
    display: flex;
    text-align: center;
    width: 100%;
    height: 70px;
}

#Course main .money dl dt {
    background: linear-gradient(28deg, #511ad4, #7d64f3);
    color: white;
    width: 270px;
    position: relative;
}

#Course main .money dl dt p {
    font-size: 26px;
    font-weight: 700;
    position: absolute;
    -webkit-transform: skew(15deg, 0deg) rotate(0deg);
    transform: skew(15deg, 0deg) rotate(0deg);
    left: 0px;
    right: 0px;
    line-height: 2.5;
}

#Course main .money dl dd {
    width: calc(100% - 270px);
    background-color: #fff;
    color: #570f80;
    display: flex;
    align-items: center;
    position: relative;
}

#Course main .money dl dd p {
    font-size: 38px;
    font-weight: 700;
    position: absolute;
    transform: skew(15deg, 0deg) rotate(0deg);
    height: 70px;
    left: 0px;
    right: 0px;
    letter-spacing: 0.05em;
    line-height: 1.8;
}

#Course main .money dl dd p span {
    font-size: 26px;
}

/* 検診の流れ
==================================*/
#Course main .day_sec .step_wrap .step:not(:last-of-type)::after {
    background-image: url(../images/course/arrow_bk.svg);
}

#Course main .day_sec .step_wrap {
    justify-content: center;
    gap: clamp(20px, 2.86vw, 40px);
}

/* 高さの調整
==================================*/
#Course main#Wellness {
    height: 652.73vw;
    max-height: 8270px;
}

#Course footer::before {
    top: -680px;
}

/* 既存CSSの上書き
==================================*/
#Course main#Wellness .about_sec .subtit h2 {
    font-size: clamp(20px, 2.86vw, 40px);
    font-weight: 800;
}

#Course main#Wellness .guide_sec .subtit h2 {
    font-size: clamp(20px, 2.86vw, 40px);
    font-weight: 800;
}

#Course main#Wellness .day_sec h2::before {
    background-image: url(../images/course/wellness/line_guide.jpg);
    background-size: 100% 100%;
    max-width: 590px;
    width: clamp(295px, 42.14vw, 590px);
}

#Course main#Wellness .header_sec .tit h1 .jp {
    font-weight: 800;
}

#Course main#Wellness .header_sec .tit h1 .en {
    font-weight: 300;
}

/*==================================
  Facility
==================================*/
#Facility main {
    position: relative;
    background: url(../images/facility/back.jpg) no-repeat center top/auto 100%;
    background-size: 2000px 4916px;
}

#Facility main .header_sec {
    position: relative;
    background: url(../images/facility/head.jpg) no-repeat center top/auto 100% #fff;
}

#Facility main .header_sec .pan::after {
    left: -101px;
}

#Facility main .area1 {
    min-width: 1200px;
    min-height: 1600px;
}

#Facility main .area1 h1 {
    padding: 130px 0 45px 0;
    text-align: center;
    font-size: 40px;
    font-weight: bold;
}

#Facility .faci-single .p-kome {
    text-align: center;
    margin-bottom: 5%;
}

#Facility main .area1 .slide_wrap {
    max-width: 860px;
    margin: 0 auto 80px auto;
}

#Facility main .area1 .slide_wrap img {
    cursor: pointer;
}

#Facility main .area1 .slide_wrap .main_wrap {
    padding: 0 0 16px 0;
    position: relative;
}

#Facility main .area1 .slide_wrap .main_wrap .swiper-button-next {
    width: 60px;
    height: 60px;
    right: -90px;
    background-color: #8979ff;
    border-radius: 50%;
    transition: 0.3s;
}

#Facility main .area1 .slide_wrap .main_wrap .swiper-button-next::after {
    background: url(../images/common/arrow.svg) no-repeat 0/contain;
    width: 20px;
    height: 7px;
    transition: 0.3s;
    text-indent: -9999px;
}

@media (hover: hover) {
    #Facility main .area1 .slide_wrap .main_wrap .swiper-button-next:hover {
        background-color: #6c5bed;
    }

    #Facility main .area1 .slide_wrap .main_wrap .swiper-button-next:hover::after {
        transform: translateX(5px);
    }
}

#Facility main .area1 .slide_wrap .main_wrap .swiper-button-prev {
    width: 60px;
    height: 60px;
    left: -90px;
    transition: 0.3s;
    border-radius: 50%;
    background-color: #8979ff;
}

#Facility main .area1 .slide_wrap .main_wrap .swiper-button-prev::after {
    background: url(../images/common/arrow.svg) no-repeat 0/contain;
    transition: 0.3s;
    text-indent: -9999px;
    width: 20px;
    height: 7px;
    transform: scale(-1, 1);
}

@media (hover: hover) {
    #Facility main .area1 .slide_wrap .main_wrap .swiper-button-prev:hover {
        background-color: #6c5bed;
    }

    #Facility main .area1 .slide_wrap .main_wrap .swiper-button-prev:hover::after {
        transform: translateX(-5px) scale(-1, 1);
    }
}

#Facility main .area1 .sns_wrap {
    display: flex;
    justify-content: space-between;
    max-width: 1040px;
    margin: 0 auto;
}

#Facility main .area1 .sns_wrap h2 {
    font-family: "Antonio";
    font-weight: 100;
    color: #fff;
    font-size: 40px;
    padding: 0 0 20px 0;
    text-align: center;
}

#Facility main .area1 .sns_wrap .tw_wrap {
    width: 500px;
}

#Facility main .area1 .sns_wrap .is_wrap {
    width: 460px;
}

#Facility main .area1 .sns_wrap .is_wrap ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#Facility main .area1 .sns_wrap .is_wrap ul li {
    width: 140px;
    padding: 0 0 22px 0;
}

#Facility main .area1 .sns_wrap .is_wrap ul li img {
    width: 140px;
    height: 140px;
    object-fit: cover;
}

#Facility main .area1 .sns_wrap .is_wrap .btn_wrap .link_btn {
    width: 100%;
}

#Facility main .area1 .sns_wrap .is_wrap .btn_wrap .link_btn::before {
    right: 30px;
}

#Facility main .area1 .sns_wrap .is_wrap .btn_wrap .link_btn::after {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    z-index: 1;
    transition: 0.3s;
    width: 28px;
    height: 28px;
    background: url(../images/facility/inst.svg) no-repeat 0/contain;
    left: 145px;
}

#Facility main .area2 {
    min-width: 1200px;
    min-height: 1050px;
}

#Facility main .area2 .table_wrap {
    padding: 80px 0 0 0;
    max-width: 1040px;
    margin: 0 auto 65px auto;
}

#Facility main .area2 .table_wrap table {
    width: 100%;
}

#Facility main .area2 .table_wrap table th {
    width: 145px;
    background-color: #25187f;
    border-top: #8979ff 1px solid;
    padding: 15px 25px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    vertical-align: middle;
    box-sizing: border-box;
}

#Facility main .area2 .table_wrap table td {
    border-top: #fff 1px solid;
    padding: 15px 25px;
    font-size: 15px;
    color: #fff;
}

#Facility main .area2 .table_wrap table td a {
    color: #fff;
}

#Facility main .area2 .table_wrap table tr:last-child th {
    border-bottom: #8979ff 1px solid;
}

#Facility main .area2 .table_wrap table tr:last-child td {
    border-bottom: #fff 1px solid;
}

#Facility main .area2 .map_wrap {
    max-width: 1040px;
    margin: 0 auto 77px auto;
    z-index: 3;
    position: relative;
}

#Facility main .area2 .map_wrap iframe {
    width: 100%;
    height: 420px;
}

#Facility main footer {
    min-width: 1200px;
    background: url(../images/facility/footer.jpg) no-repeat center top;
}

@media (max-width: 1300px) {
    #Facility main {
        background-size: 153.86vw 389.4vw;
    }

    #Facility main .area1 {
        min-width: 92.31vw;
        min-height: 123.08vw;
    }

    #Facility main .area1 h1 {
        padding: 10vw 0 3.46vw 0;
        font-size: 3.08vw;
    }

    #Facility main .area1 .slide_wrap {
        max-width: 66.15vw;
        margin: 0 auto 6.15vw auto;
    }

    #Facility main .area1 .slide_wrap .main_wrap {
        padding: 0 0 1.23vw 0;
    }

    #Facility main .area1 .slide_wrap .main_wrap .swiper-button-next {
        width: 4.62vw;
        height: 4.62vw;
        right: -6.92vw;
        background-size: contain;
    }

    #Facility main .area1 .slide_wrap .main_wrap .swiper-button-prev {
        width: 4.62vw;
        height: 4.62vw;
        left: -6.92vw;
        background-size: contain;
    }

    #Facility main .area1 .sns_wrap {
        max-width: 80vw;
    }

    #Facility main .area1 .sns_wrap h2 {
        font-size: 3.08vw;
        padding: 0 0 1.54vw 0;
    }

    #Facility main .area1 .sns_wrap .tw_wrap {
        width: 38.69vw;
    }

    #Facility main .area1 .sns_wrap .tw_wrap .content_wrap iframe {
        max-height: 43.08vw;
    }

    #Facility main .area1 .sns_wrap .is_wrap {
        width: 35.38vw;
    }

    #Facility main .area1 .sns_wrap .is_wrap ul li {
        width: 10.77vw;
        padding: 0 0 1.69vw 0;
    }

    #Facility main .area1 .sns_wrap .is_wrap ul li img {
        width: 10.77vw;
        height: 10.77vw;
    }

    #Facility main .area1 .sns_wrap .is_wrap .btn_wrap .link_btn::before {
        right: 2.31vw;
    }

    #Facility main .area1 .sns_wrap .is_wrap .btn_wrap .link_btn::after {
        width: 2.15vw;
        height: 2.15vw;
        left: 11.15vw;
    }

    #Facility main .area2 {
        min-width: 92.31vw;
        min-height: 80.77vw;
    }

    #Facility main .area2 .table_wrap {
        padding: 6.15vw 0 0 0;
        max-width: 80vw;
        margin: 0 auto 5vw auto;
    }

    #Facility main .area2 .table_wrap table th {
        width: 11.45vw;
        padding: 1.15vw 1.92vw;
        font-size: 1.15vw;
    }

    #Facility main .area2 .table_wrap table td {
        padding: 1.15vw 1.92vw;
        font-size: 1.15vw;
    }

    #Facility main .area2 .map_wrap {
        max-width: 80vw;
        margin: 0 auto 5.92vw auto;
    }

    #Facility main .area2 .map_wrap iframe {
        height: 32.31vw;
    }
}

/*==================================
  News
==================================*/
#About main {
    height: 9484px;
    background: url(../images/about/back.jpg?2) no-repeat center top/auto 100%;
}

#About main .container {
    max-width: 1140px;
}

#About main p {
    font-size: 15px;
    font-weight: 500;
}

#About main .header_sec {
    position: relative;
}

#About main .header_sec .container {
    max-width: 1300px;
}

#About main .header_sec .tit {
    min-height: 450px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

#About main .header_sec .tit h1 {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-bottom: 135px;
    color: #fff;
}

#About main .header_sec .tit h1 .jp {
    font-size: 50px;
    font-weight: 700;
}

#About main .header_sec .tit h1 .en {
    font-size: 35px;
    padding-top: 20px;
}

#About main .header_sec .pan {
    position: absolute;
    bottom: 50px;
    display: flex;
}

#About main .header_sec .pan::after {
    left: -100px;
}

#About main .header_sec .pan li a {
    font-size: 13px;
    color: #fff;
}

#About main .header_sec .pan li:not(:last-of-type)::after {
    content: " > ";
    display: inline-block;
    width: 10px;
    height: 10px;
    color: #fff;
}

#About main .about_sec {
    text-align: center;
    padding-top: 130px;
}

#About main .about_sec h2 {
    font-size: 52px;
    padding-bottom: 40px;
}

#About main .about_sec p {
    line-height: 2;
}

#About main .description_sec {
    padding-top: 280px;
}

#About main .description_sec .img_wrap {
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#About main .description_sec .img_wrap h3 {
    font-size: 40px;
    font-weight: 700;
    padding-bottom: 30px;
}

#About main .description_sec .img_wrap figure {
    width: 50%;
    max-width: 503px;
}

#About main .description_sec .img_wrap p {
    line-height: 2;
}

#About main .inspection_sec {
    padding-top: 180px;
}

#About main .inspection_sec h2 {
    color: #fff;
    font-size: 40px;
    text-align: center;
    padding-bottom: 60px;
}

#About main .inspection_sec h2 span {
    color: #8979ff;
}

#About main .inspection_sec .inspection {
    padding-top: 0px;
}

#About main .inspection_sec .inspection .img_wrap {
    display: flex;
    background-color: white;
    opacity: 0.9;
    margin-bottom: 20px;
    justify-content: space-between;
    min-height: 330px;
    align-items: center;
    padding: 0px 35px 0px 45px;
}

#About main .inspection_sec .inspection .img_wrap .text {
    width: 600px;
}

#About main .inspection_sec .inspection .img_wrap .text h3 {
    font-size: 30px;
    display: flex;
    align-items: center;
    padding-bottom: 20px;
    position: relative;
    flex-direction: row;
    font-weight: 700;
    padding-left: 20px;
}

#About main .inspection_sec .inspection .img_wrap .text h3 span {
    font-size: 50px;
    color: #8979ff;
    font-weight: 500;
    padding-right: 20px;
}

#About main .inspection_sec .inspection .img_wrap .text h3::before {
    width: 600px;
    background-image: url(../images/common/line_pw.png);
    bottom: 0;
    background-position-x: -620px;
    left: 0px;
    transform: translateX(0%);
}

#About main .inspection_sec .inspection .img_wrap .text h3.move::before {
    background-position-x: 0;
}

#About main .inspection_sec .inspection .img_wrap .text p {
    line-height: 1.7;
    padding: 20px 0px;
    font-weight: 500;
    padding-left: 20px;
}

#About main .inspection_sec .inspection .img_wrap .text p span {
    font-size: 20px;
    color: #8979ff;
    font-weight: 700;
    display: block;
    line-height: 1;
    padding-bottom: 15px;
}

#About main .inspection_sec .inspection .img_wrap figure {
    max-width: 330px;
}

#About main .important_sec {
    padding-top: 100px;
}

#About main .important_sec h2 {
    color: #fff;
    font-size: 40px;
    text-align: center;
    padding-bottom: 60px;
}

#About main .important_sec h2 span {
    color: #8979ff;
}

#About main .important_sec .row {
    justify-content: space-between;
}

#About main .important_sec .img_wrap {
    background-color: #fff4ff;
    overflow: hidden;
    position: relative;
    z-index: 0;
    margin-bottom: 40px;
    width: calc(50% - 105px);
    padding: 45px 40px 35px 45px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#About main .important_sec .img_wrap figure {
    width: calc(100% - 100px);
    margin: 20px auto 0px;
}

#About main .important_sec .img_wrap .text {
    position: relative;
}

#About main .important_sec .img_wrap .text h3 {
    font-weight: 700;
    font-size: 30px;
    color: #570f80;
    display: flex;
    align-items: center;
    padding-bottom: 20px;
    margin-bottom: 30px;
    max-inline-size: none;
}

#About main .important_sec .img_wrap .text h3::before {
    width: calc(100% + 20px);
    background-image: url(../images/common/line_pw.png);
    bottom: 0;
}

#About main .important_sec .img_wrap .text h3 span {
    font-size: 50px;
    padding-right: 30px;
}

#About main .important_sec .img_wrap .text p {
    line-height: 1.7;
}

#About main .important_sec .img_wrap:last-of-type {
    width: 100%;
    display: flex;
    padding: 0px 55px 0px 40px;
    min-height: 330px;
    flex-direction: row;
    align-items: center;
}

#About main .important_sec .img_wrap:last-of-type .text {
    max-width: 600px;
}

#About main .important_sec .img_wrap:last-of-type .text h3::before {
    width: 440px;
    left: 210px;
}

#About main .important_sec .img_wrap:last-of-type figure {
    max-width: 315px;
    width: 100%;
    margin: 0px 0px 0px auto;
}

#About main .important_sec .img_wrap::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 164px 164px 0 0;
    border-color: #f0e5fd transparent transparent transparent;
    top: 0px;
    left: 0px;
    z-index: 0;
}

#About main .look_sec {
    padding-top: 420px;
}

#About main .look_sec h3 {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 20px;
    padding: 0 0px 10px;
}

#About main .look_sec h3::before {
    background-image: url(../images/common/line_pw.png);
    bottom: 0;
    width: calc(100% + 60px);
    max-inline-size: none;
}

#About main .look_sec h3:last-of-type {
    margin-bottom: 40px;
}

#About main .look_sec p {
    line-height: 1.7;
}

#About main .look_sec .table_wrap h4 {
    font-size: 30px;
    font-weight: 700;
    padding-top: 120px;
    padding-bottom: 30px;
}

#About main .look_sec .table_wrap table {
    background-color: #fff;
    width: 100%;
}

#About main .look_sec .table_wrap table tr {
    min-height: 78px;
}

#About main .look_sec .table_wrap table tr th {
    color: #fff;
    background-color: #6529af;
    vertical-align: middle;
    text-align: center;
    font-weight: 400;
    width: 160px;
    padding: 3.5px 0px;
    border-right: 1px solid #4b0199;
}

#About main .look_sec .table_wrap table tr th:nth-of-type(2n+1) {
    background-color: #280ca2;
}

#About main .look_sec .table_wrap table tr th:nth-of-type(1) {
    width: 240px;
    background-color: #fff;
}

#About main .look_sec .table_wrap table tr td {
    vertical-align: middle;
    text-align: center;
    border: 1px solid #4b0199;
    padding: 3.5px 0px;
}

#About main .look_sec .table_wrap table tr:nth-of-type(2n - 1) td {
    background-color: #e6ddf5;
}

#About main .look_sec .table_wrap table tr td:nth-of-type(n+2) {
    font-size: 18px;
    font-weight: 700;
    color: #703195;
    font-family: YakuHanJP_Noto, "Noto Sans JP";
    font-weight: 700;
}

#About main .look_sec .table_wrap .date {
    text-align: right;
    font-size: 12px;
}

#About main .specialist_sec {
    padding-top: 120px;
    position: relative;
}

#About main .specialist_sec h3 {
    font-size: 40px;
    font-weight: 700;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

#About main .specialist_sec h3::before {
    background-image: url(../images/common/line_pw.png);
    bottom: 0;
    width: calc(100% + 60px);
    max-inline-size: none;
}

#About main .specialist_sec h3:last-of-type {
    margin-bottom: 40px;
}

#About main .specialist_sec p {
    line-height: 1.7;
}

#About main .specialist_sec .img_wrap {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}

#About main .specialist_sec .img_wrap:first-of-type {
    padding-top: 40px;
}

#About main .specialist_sec .img_wrap:nth-of-type(n + 2) {
    padding-top: 40px;
}

#About main .specialist_sec .img_wrap:nth-of-type(2) {
    flex-direction: row-reverse;
}

#About main .specialist_sec .img_wrap:nth-of-type(2) .text {
    padding-top: 52px;
    z-index: 2;
}

#About main .specialist_sec .img_wrap:nth-of-type(2) .image {
    max-width: 300px;
    width: 30%;
}

#About main .specialist_sec .img_wrap:nth-of-type(3) .text {
    padding-top: 45px;
    z-index: 2;
}

#About main .specialist_sec .img_wrap:nth-of-type(3) .image {
    max-width: 300px;
    width: 30%;
}

#About main .specialist_sec .img_wrap .image {
    max-width: 280px;
    width: 27%;
}

#About main .specialist_sec .img_wrap .image p {
    font-size: 12px;
    font-weight: 400;
}

#About main .specialist_sec .img_wrap .image p.name {
    padding: 5px 0px 10px;
}

#About main .specialist_sec .img_wrap .image p span {
    font-size: 22px;
    font-weight: 500;
}

#About main .specialist_sec .img_wrap .text {
    max-width: 695px;
    width: 67%;
    padding-top: 55px;
}

#About main .specialist_sec .img_wrap .text dt {
    font-size: 26px;
    font-weight: 700;
    color: #570f80;
    text-align: center;
    background-color: #fff;
    padding: 5px 0px;
}

#About main .specialist_sec .img_wrap .text dd {
    font-size: 15px;
    line-height: 1.7;
    padding-top: 15px;
}

@media (max-width: 1300px) {
    #About main {
        height: 741.54vw;
    }

    #About main p {
        font-size: 1.15vw;
    }

    #About main .header_sec .tit {
        min-height: 34.62vw;
    }

    #About main .header_sec .tit h1 {
        padding-bottom: 10.38vw;
    }

    #About main .header_sec .tit h1 .jp {
        font-size: 3.85vw;
    }

    #About main .header_sec .tit h1 .en {
        font-size: 2.69vw;
    }

    #About main .about_sec {
        padding-top: 10vw;
    }

    #About main .about_sec h2 {
        font-size: 4vw;
        padding-bottom: 3.08vw;
    }

    #About main .description_sec {
        padding-top: 21.54vw;
    }

    #About main .description_sec .img_wrap h3 {
        font-size: 3.08vw;
        padding-bottom: 2.32vw;
    }

    #About main .description_sec .img_wrap figure {
        max-width: 38.69vw;
    }

    #About main .inspection_sec {
        padding-top: 13.85vw;
    }

    #About main .inspection_sec h2 {
        font-size: 3.08vw;
        padding-bottom: 4.62vw;
    }

    #About main .inspection_sec .inspection {
        margin-bottom: 1.54vw;
    }

    #About main .inspection_sec .inspection .img_wrap {
        margin-bottom: 1.54vw;
        min-height: 25.38vw;
        padding: 0vw 2.69vw 0vw 3.46vw;
    }

    #About main .inspection_sec .inspection .img_wrap .text {
        width: 46.15vw;
    }

    #About main .inspection_sec .inspection .img_wrap .text h3 {
        font-size: 2.31vw;
        padding-bottom: 1.54vw;
        padding-left: 1.54vw;
    }

    #About main .inspection_sec .inspection .img_wrap .text h3::before {
        width: 46.15vw;
    }

    #About main .inspection_sec .inspection .img_wrap .text p {
        padding: 1.54vw 0px;
        padding-left: 1.54vw;
    }

    #About main .inspection_sec .inspection .img_wrap .text p span {
        font-size: 1.54vw;
        padding-bottom: 1.15vw;
    }

    #About main .inspection_sec .inspection .img_wrap figure {
        max-width: 25.38vw;
    }

    #About main .important_sec {
        padding-top: 7.69vw;
    }

    #About main .important_sec h2 {
        font-size: 3.08vw;
        padding-bottom: 4.62vw;
    }

    #About main .important_sec .img_wrap {
        width: calc(50% - 8.08vw);
        margin-bottom: 3.08vw;
        padding: 3.46vw 3.08vw 2.69vw 3.46vw;
    }

    #About main .important_sec .img_wrap figure {
        width: calc(100% - 7.69vw);
        margin: 1.54vw auto 0px;
    }

    #About main .important_sec .img_wrap .text h3 {
        font-size: 2.32vw;
        padding-bottom: 1.54vw;
        margin-bottom: 2.32vw;
    }

    #About main .important_sec .img_wrap .text h3 span {
        font-size: 3.85vw;
    }

    #About main .important_sec .img_wrap:last-of-type {
        padding: 0vw 4.23vw 0vw 3.08vw;
        min-height: 25.38vw;
    }

    #About main .important_sec .img_wrap:last-of-type .text {
        max-width: 46.15vw;
    }

    #About main .important_sec .img_wrap:last-of-type .text h3::before {
        width: 33.85vw;
        left: 16.15vw;
    }

    #About main .important_sec .img_wrap:last-of-type figure {
        max-width: 24.23vw;
    }

    #About main .look_sec {
        padding-top: 32.31vw;
    }

    #About main .look_sec h3 {
        font-size: 3.03vw;
        margin-bottom: 1.54vw;
        padding: 0 vw 0.77vw;
    }

    #About main .look_sec h3:last-of-type {
        margin-bottom: 3.08vw;
    }

    #About main .look_sec .table_wrap h4 {
        font-size: 2.31vw;
        padding-top: 9.23vw;
        padding-bottom: 2.31vw;
    }

    #About main .look_sec .table_wrap table tr {
        min-height: 6vw;
    }

    #About main .look_sec .table_wrap table tr th {
        width: 12.31vw;
        padding: 0.58vw 0px;
    }

    #About main .look_sec .table_wrap table tr th:nth-of-type(1) {
        width: 18.46vw;
    }

    #About main .look_sec .table_wrap table tr td {
        padding: 0.27vw 0px;
    }

    #About main .look_sec .table_wrap table tr td:nth-of-type(n+2) {
        font-size: 1.38vw;
        color: #703195;
    }

    #About main .specialist_sec {
        padding-top: 9.23vw;
    }

    #About main .specialist_sec h3 {
        font-size: 3.08vw;
        padding-bottom: 0.77vw;
        margin-bottom: 1.15vw;
    }

    #About main .specialist_sec h3:last-of-type {
        margin-bottom: 3.08vw;
    }

    #About main .specialist_sec .img_wrap:first-of-type {
        padding-top: 3.08vw;
    }

    #About main .specialist_sec .img_wrap:nth-of-type(2) {
        padding-top: 3.08vw;
    }

    #About main .specialist_sec .img_wrap:nth-of-type(2) .text {
        padding-top: 3.46vw;
    }

    #About main .specialist_sec .img_wrap:nth-of-type(2) .image {
        max-width: 23.08vw;
    }

    #About main .specialist_sec .img_wrap:nth-of-type(3) {
        padding-top: 3.08vw;
    }

    #About main .specialist_sec .img_wrap:nth-of-type(3) .text {
        padding-top: 3.46vw;
    }

    #About main .specialist_sec .img_wrap:nth-of-type(3) .image {
        max-width: 23.08vw;
    }

    #About main .specialist_sec .img_wrap .image {
        max-width: 21.62vw;
    }

    #About main .specialist_sec .img_wrap .image p {
        font-size: 0.92vw;
    }

    #About main .specialist_sec .img_wrap .image p.name {
        padding: 0.38vw 0px 0.77vw;
    }

    #About main .specialist_sec .img_wrap .image p span {
        font-size: 1.69vw;
    }

    #About main .specialist_sec .img_wrap .text {
        padding-top: 4.23vw;
        max-width: 53.46vw;
    }

    #About main .specialist_sec .img_wrap .text dt {
        font-size: 2vw;
        padding: 0.38vw 0px;
    }

    #About main .specialist_sec .img_wrap .text dd {
        font-size: 1.15vw;
    }
}

/*==================================
  News
==================================*/
#Personal main {
    height: 4992px;
    background: url(../images/personal/back.jpg) no-repeat center top/auto 100%;
}

#Personal main .header_sec {
    position: relative;
}

#Personal main .header_sec .tit {
    min-height: 450px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

#Personal main .header_sec .tit h1 {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-bottom: 135px;
    color: #fff;
}

#Personal main .header_sec .tit h1 .jp {
    font-size: 50px;
    font-weight: 700;
}

#Personal main .header_sec .tit h1 .en {
    font-size: 35px;
    padding-top: 20px;
}

#Personal main .header_sec .pan::after {
    left: -100px;
    background: url(../images/personal/pan.png) no-repeat center top/auto 100%;
}

#Personal main .about_sec {
    text-align: center;
    padding-top: 130px;
}

#Personal main .about_sec h2 {
    font-size: 52px;
    padding-bottom: 40px;
    line-height: 1.3;
}

#Personal main .about_sec h3 {
    font-size: 30px;
    padding-bottom: 40px;
}

#Personal main .about_sec p {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.65;
}

#Personal main .worries_sec {
    padding-top: 820px;
}

#Personal main .worries_sec h4 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.65;
    color: #fff;
}

#Personal main .worries_sec .upperrow {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

#Personal main .worries_sec .upperrow h4 {
    width: calc(35% - 100px);
    padding-left: 100px;
    top: 80px;
    position: relative;
}

#Personal main .worries_sec .upperrow .worries_wrap {
    width: 74.6%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#Personal main .worries_sec .upperrow .worries_wrap .worries {
    background: url(../images/personal/worries.png) no-repeat center center/auto 100%;
    background-size: contain;
    min-height: 240px;
    max-width: 240px;
    width: 33.33%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%;
    margin: 0px 5px;
}

#Personal main .worries_sec .upperrow .worries_wrap .worries p {
    font-weight: 700;
    font-size: 22px;
    color: #06136e;
    line-height: 1.4;
}

#Personal main .worries_sec .upperrow .worries_wrap .worries:nth-of-type(4),
#Personal main .worries_sec .upperrow .worries_wrap .worries:nth-of-type(5) {
    position: relative;
    bottom: 15px;
}

#Personal main .worries_sec .lowerrow {
    padding-top: 100px;
}

#Personal main .merit_sec {
    padding-top: 540px;
}

#Personal main .merit_sec .subtit h2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #fff;
}

#Personal main .merit_sec .subtit h2 .jp {
    font-size: 40px;
    font-weight: 700;
    padding-bottom: 15px;
}

#Personal main .merit_sec .subtit h2 .en {
    font-size: 30px;
}

#Personal main .merit_sec .subtit h3 {
    font-size: 30px;
    font-weight: 700;
    padding-bottom: 14px;
    margin: 50px auto 28px;
    color: #fff;
}

#Personal main .merit_sec .subtit h3::before {
    width: 300px;
    background-image: url(../images/common/line_wh.png);
    bottom: 0;
    background-position-x: -620px;
    left: 0px;
    transform: translateX(0%);
}

#Personal main .merit_sec .subtit h3.move::before {
    background-position-x: 0;
}

#Personal main .merit_sec .merit_warp {
    display: flex;
    justify-content: space-between;
}

#Personal main .merit_sec .merit_warp .merit {
    max-width: 52%;
    color: #fff;
}

#Personal main .merit_sec .merit_warp .merit h3 {
    font-size: 30px;
    font-weight: 700;
    padding-bottom: 14px;
    margin-bottom: 28px;
}

#Personal main .merit_sec .merit_warp .merit h3::before {
    width: 300px;
    background-image: url(../images/common/line_pw.png);
    bottom: 0;
    background-position-x: -620px;
    left: 0px;
    transform: translateX(0%);
}

#Personal main .merit_sec .merit_warp .merit h3.move::before {
    background-position-x: 0;
}

#Personal main .merit_sec .merit_warp .merit p {
    font-size: 18px;
    font-weight: 500;
    padding-bottom: 10px;
}

#Personal main .merit_sec .merit_warp .merit p::before {
    content: "";
    background-image: url(../images/course/mark.svg);
    background-size: 21px 19px;
    width: 21px;
    height: 19px;
    display: inline-block;
    margin-right: 15px;
}

#Personal main .menu_sec {
    margin-top: 0px;
    position: relative;
    padding-top: 450px;
    z-index: 1;
}

#Personal main .menu_sec .text_wrap {
    max-width: 490px;
}

#Personal main .menu_sec .text_wrap h2::before {
    width: 240px;
    background-image: url(../images/common/line_pw.png);
}

#Personal main .menu_sec .text_wrap p {
    margin-top: 50px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
}

#Personal main .menu_sec ul {
    position: absolute;
    left: calc(50vw - 334px);
    top: 302px;
    width: 900px;
    height: 670px;
}

#Personal main .menu_sec ul li {
    position: absolute;
    width: 450px;
    height: 335px;
    margin: auto;
    pointer-events: none;
}

#Personal main .menu_sec ul li a {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    pointer-events: none;
}

#Personal main .menu_sec ul li a::before,
#Personal main .menu_sec ul li a::after {
    content: "";
    display: block;
    width: 410px;
    height: 185px;
    transform: skew(-41.5deg, 0deg) rotate(24.2deg);
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    pointer-events: auto;
    transition: 0.3s;
}

#Personal main .menu_sec ul li a figure,
#Personal main .menu_sec ul li a p,
#Personal main .menu_sec ul li a .arrow {
    pointer-events: none;
    z-index: 1;
}

#Personal main .menu_sec ul li a figure {
    width: 98px;
    height: 83px;
    position: relative;
}

#Personal main .menu_sec ul li a figure img {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transition: 0.3s;
}

#Personal main .menu_sec ul li a figure::before {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    transition: 0.3s;
    opacity: 0;
    background-repeat: no-repeat;
    background-position: 0;
}

#Personal main .menu_sec ul li a p {
    font-size: 22px;
    font-weight: 500;
    color: #fff;
    line-height: 1;
}

#Personal main .menu_sec ul li a .arrow {
    width: 47px;
    margin-top: 33px;
    transition: 0.3s;
}

@media (hover: hover) {
    #Personal main .menu_sec ul li a:hover::after {
        opacity: 0;
    }

    #Personal main .menu_sec ul li a:hover figure::before {
        opacity: 1;
    }

    #Personal main .menu_sec ul li a:hover .arrow {
        transform: translateX(5px);
    }
}

#Personal main .menu_sec ul li.sports {
    left: 0;
    right: 0;
    top: 0;
}

#Personal main .menu_sec ul li.sports a::before {
    background: linear-gradient(28deg, #0f0065, #4d09d9) no-repeat 0/cover;
}

#Personal main .menu_sec ul li.sports a::after {
    background: linear-gradient(28deg, #2c257d, #21009c) no-repeat 0/cover;
}

#Personal main .menu_sec ul li.sports figure img,
#Personal main .menu_sec ul li.sports figure::before {
    width: 84px;
}

#Personal main .menu_sec ul li.sports figure::before {
    background-size: 84px auto;
    background-image: url(../images/common/sports_h.png);
}

#Personal main .menu_sec ul li.vision {
    left: 0;
    top: 0;
    bottom: 0;
}

#Personal main .menu_sec ul li.vision a::before {
    background: linear-gradient(28deg, #662fdb, #a881ff) no-repeat 0/cover;
}

#Personal main .menu_sec ul li.vision a::after {
    background: linear-gradient(28deg, #32129c, #6046e3) no-repeat 0/cover;
}

#Personal main .menu_sec ul li.vision figure img,
#Personal main .menu_sec ul li.vision figure::before {
    width: 98px;
}

#Personal main .menu_sec ul li.vision figure::before {
    background-size: 98px auto;
    background-image: url(../images/common/vision_h.png);
}

#Personal main .menu_sec ul li.talent {
    right: 0;
    top: 0;
    bottom: 0;
}

#Personal main .menu_sec ul li.talent a::before {
    background: linear-gradient(28deg, #1251b4, #75d3ff) no-repeat 0/cover;
}

#Personal main .menu_sec ul li.talent a::after {
    background: linear-gradient(28deg, #032879, #3a8cdd) no-repeat 0/cover;
}

#Personal main .menu_sec ul li.talent figure img,
#Personal main .menu_sec ul li.talent figure::before {
    width: 60px;
}

#Personal main .menu_sec ul li.talent figure::before {
    background-size: 60px auto;
    background-image: url(../images/common/talent_h.png);
}

#Personal main .menu_sec ul li.wellness {
    left: 0;
    right: 0;
    bottom: 0;
}

#Personal main .menu_sec ul li.wellness a::before {
    background: linear-gradient(28deg, #5013a6, #a734f2) no-repeat 0/cover;
}

#Personal main .menu_sec ul li.wellness a::after {
    background: linear-gradient(28deg, #220169, #5e15bb) no-repeat 0/cover;
}

#Personal main .menu_sec ul li.wellness figure img,
#Personal main .menu_sec ul li.wellness figure::before {
    width: 83px;
}

#Personal main .menu_sec ul li.wellness figure::before {
    background-size: 83px auto;
    background-image: url(../images/common/wellness_h.png);
}

@media (max-width: 1300px) {
    #Personal main {
        height: 384vw;
    }

    #Personal main p {
        font-size: 1.15vw;
    }

    #Personal main .header_sec .tit {
        min-height: 34.62vw;
    }

    #Personal main .header_sec .tit h1 {
        padding-bottom: 10.38vw;
    }

    #Personal main .header_sec .tit h1 .jp {
        font-size: 3.85vw;
    }

    #Personal main .header_sec .tit h1 .en {
        font-size: 2.69vw;
    }

    #Personal main .about_sec {
        text-align: center;
        padding-top: 10vw;
    }

    #Personal main .about_sec h2 {
        font-size: 4vw;
        padding-bottom: 3.08vw;
    }

    #Personal main .about_sec h3 {
        font-size: 2.31vw;
        padding-bottom: 3.08vw;
    }

    #Personal main .about_sec p {
        font-size: 1.15vw;
    }

    #Personal main .worries_sec {
        padding-top: 63.08vw;
    }

    #Personal main .worries_sec h4 {
        font-size: 2.31vw;
    }

    #Personal main .worries_sec .upperrow h4 {
        top: 6.15vw;
        font-size: 2.31vw;
        width: calc(35% - 7.69vw);
        padding-left: 7.69vw;
    }

    #Personal main .worries_sec .upperrow .worries_wrap .worries {
        min-height: 18.46vw;
        max-width: 18.46vw;
        margin: 0px 0.38vw;
    }

    #Personal main .worries_sec .upperrow .worries_wrap .worries p {
        font-size: 1.69vw;
    }

    #Personal main .worries_sec .upperrow .worries_wrap .worries:nth-of-type(4),
    #Personal main .worries_sec .upperrow .worries_wrap .worries:nth-of-type(5) {
        bottom: 1.15vw;
    }

    #Personal main .worries_sec .lowerrow {
        padding-top: 7.69vw;
    }

    #Personal main .merit_sec {
        padding-top: 41.54vw;
    }

    #Personal main .merit_sec .subtit h2 .jp {
        font-size: 3.08vw;
        padding-bottom: 1.15vw;
    }

    #Personal main .merit_sec .subtit h2 .en {
        font-size: 2.31vw;
    }

    #Personal main .merit_sec .subtit h3 {
        font-size: 2.31vw;
        padding-bottom: 1.08vw;
        margin: 3.85vw auto 2.15vw;
    }

    #Personal main .merit_sec .subtit h3::before {
        width: 23.08vw;
    }

    #Personal main .merit_sec .merit_warp .merit h3 {
        font-size: 2.31vw;
        padding-bottom: 1.08vw;
        margin-bottom: 2.15vw;
    }

    #Personal main .merit_sec .merit_warp .merit p {
        font-size: 1.37vw;
        padding-bottom: 0.77vw;
    }

    #Personal main .merit_sec .merit_warp .merit p::before {
        margin-right: 0.97vw;
        width: 1.62vw;
        height: 1.46vw;
        background-size: 1.62vw 1.46vw;
    }

    #Personal main .menu_sec {
        padding-top: 36.42vw;
    }

    #Personal main .menu_sec .text_wrap {
        max-width: 37.69vw;
    }

    #Personal main .menu_sec .text_wrap h2::before {
        width: 18.46vw;
    }

    #Personal main .menu_sec .text_wrap p {
        margin-top: 3.85vw;
        font-size: 1.15vw;
    }

    #Personal main .menu_sec ul {
        left: 24.3vw;
        top: 23.3vw;
        width: 69.23vw;
        height: 51.54vw;
    }

    #Personal main .menu_sec ul li {
        width: 34.62vw;
        height: 25.77vw;
    }

    #Personal main .menu_sec ul li a::before,
    #Personal main .menu_sec ul li a::after {
        width: 31.54vw;
        height: 14.23vw;
    }

    #Personal main .menu_sec ul li a figure {
        width: 7.54vw;
        height: 6.38vw;
    }

    #Personal main .menu_sec ul li a p {
        font-size: 1.69vw;
    }

    #Personal main .menu_sec ul li a .arrow {
        width: 3.62vw;
        margin-top: 2.54vw;
    }
}

@media (max-width: 1300px) and (hover: hover) {
    #Personal main .menu_sec ul li a:hover .arrow {
        transform: translateX(0.38vw);
    }
}

@media (max-width: 1300px) {

    #Personal main .menu_sec ul li.sports figure img,
    #Personal main .menu_sec ul li.sports figure::before {
        width: 6.46vw;
    }

    #Personal main .menu_sec ul li.sports figure::before {
        background-size: 6.46vw auto;
    }

    #Personal main .menu_sec ul li.vision figure img,
    #Personal main .menu_sec ul li.vision figure::before {
        width: 7.54vw;
    }

    #Personal main .menu_sec ul li.vision figure::before {
        background-size: 7.54vw auto;
    }

    #Personal main .menu_sec ul li.talent figure img,
    #Personal main .menu_sec ul li.talent figure::before {
        width: 4.62vw;
    }

    #Personal main .menu_sec ul li.talent figure::before {
        background-size: 4.62vw auto;
    }

    #Personal main .menu_sec ul li.wellness figure img,
    #Personal main .menu_sec ul li.wellness figure::before {
        width: 6.38vw;
    }

    #Personal main .menu_sec ul li.wellness figure::before {
        background-size: 6.38vw auto;
    }
}

#Personal footer {
    margin-top: -751px;
}

@media (max-width: 1300px) {
    #Personal footer {
        margin-top: -58vw;
    }
}

#Personal footer::before {
    background-image: url(../images/team/footer_team.png);
}

_:lang(x)::-moz-placeholder,
#Personal main .menu_sec ul {
    left: calc(50vw - 311px);
}

@media (max-width: 1300px) {

    _:lang(x)::-moz-placeholder,
    #Personal main .menu_sec ul {
        left: 26.1vw;
    }
}

.mac _:lang(x)+_:-webkit-full-screen-document,
.mac #Personal main .menu_sec ul {
    left: calc(50vw - 324px);
    top: 309px;
}

@media (max-width: 1300px) {

    .mac _:lang(x)+_:-webkit-full-screen-document,
    .mac #Personal main .menu_sec ul {
        left: 25.1vw;
        top: 23.5vw;
    }
}

.mac _:lang(x)::-internal-media-controls-overlay-cast-button,
.mac #Personal main .menu_sec ul {
    left: calc(50vw - 326px);
}

@media (max-width: 1300px) {

    .mac _:lang(x)::-internal-media-controls-overlay-cast-button,
    .mac #Personal main .menu_sec ul {
        left: 25vw;
        top: 23.5vw;
    }
}

@media (hover: none) {
    #Personal main .menu_sec ul {
        top: 29.3vw;
        left: 25.4vw;
    }
}

/*==================================
  News
==================================*/
#Team main {
    height: 4992px;
    background: url(../images/team/back.jpg) no-repeat center top/auto 100%;
}

#Team main .header_sec {
    position: relative;
}

#Team main .header_sec .tit {
    min-height: 450px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

#Team main .header_sec .tit h1 {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-bottom: 135px;
    color: #fff;
}

#Team main .header_sec .tit h1 .jp {
    font-size: 50px;
    font-weight: 700;
}

#Team main .header_sec .tit h1 .en {
    font-size: 35px;
    padding-top: 20px;
}

#Team main .header_sec .pan::after {
    left: -101px;
    background: url(../images/team/pan.png) no-repeat center top/auto 100%;
}

#Team main .about_sec {
    text-align: center;
    padding-top: 130px;
}

#Team main .about_sec h2 {
    font-size: 52px;
    padding-bottom: 40px;
    line-height: 1.3;
}

#Team main .about_sec h3 {
    font-size: 30px;
    padding-bottom: 40px;
}

#Team main .about_sec p {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.65;
}

#Team main .worries_sec {
    padding-top: 820px;
}

#Team main .worries_sec h4 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.65;
    color: #fff;
}

#Team main .worries_sec .upperrow {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

#Team main .worries_sec .upperrow h4 {
    width: calc(35% - 100px);
    padding-left: 100px;
    top: 80px;
    position: relative;
}

#Team main .worries_sec .upperrow .worries_wrap {
    width: 74.6%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#Team main .worries_sec .upperrow .worries_wrap .worries {
    background: url(../images/team/worries.png) no-repeat center center/auto 100%;
    background-size: contain;
    min-height: 240px;
    max-width: 240px;
    width: 33.33%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%;
    margin: 0px 5px;
}

#Team main .worries_sec .upperrow .worries_wrap .worries p {
    font-weight: 700;
    font-size: 22px;
    color: #570f80;
    line-height: 1.35;
}

#Team main .worries_sec .upperrow .worries_wrap .worries:nth-of-type(4),
#Team main .worries_sec .upperrow .worries_wrap .worries:nth-of-type(5) {
    position: relative;
    bottom: 15px;
}

#Team main .worries_sec .lowerrow {
    padding-top: 100px;
}

#Team main .merit_sec {
    padding-top: 540px;
}

#Team main .merit_sec .subtit h2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #fff;
}

#Team main .merit_sec .subtit h2 .jp {
    font-size: 40px;
    font-weight: 700;
    padding-bottom: 15px;
}

#Team main .merit_sec .subtit h2 .en {
    font-size: 30px;
}

#Team main .merit_sec .merit_warp {
    display: flex;
    justify-content: space-between;
    padding-top: 50px;
}

#Team main .merit_sec .merit_warp .merit {
    max-width: 52%;
    color: #fff;
}

#Team main .merit_sec .merit_warp .merit h3 {
    font-size: 30px;
    font-weight: 700;
    padding-bottom: 14px;
    margin-bottom: 28px;
}

#Team main .merit_sec .merit_warp .merit h3::before {
    width: 300px;
    background-image: url(../images/common/line_wh.png);
    bottom: 0;
    background-position-x: -620px;
    left: 0px;
    transform: translateX(0%);
}

#Team main .merit_sec .merit_warp .merit h3.move::before {
    background-position-x: 0;
}

#Team main .merit_sec .merit_warp .merit p {
    font-size: 18px;
    font-weight: 500;
    padding-bottom: 15px;
}

#Team main .merit_sec .merit_warp .merit p::before {
    content: "";
    background-image: url(../images/course/mark.svg);
    background-size: 21px 19px;
    width: 21px;
    height: 19px;
    display: inline-block;
    margin-right: 15px;
}

#Team main .menu_sec {
    margin-top: 0px;
    position: relative;
    z-index: 3;
    padding-top: 360px;
}

#Team main .menu_sec .text_wrap {
    max-width: 490px;
}

#Team main .menu_sec .text_wrap h2::before {
    width: 240px;
    background-image: url(../images/common/line_pw.png);
}

#Team main .menu_sec .text_wrap p {
    margin-top: 50px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
}

#Team main .menu_sec ul {
    position: absolute;
    left: calc(50vw - 309px);
    top: 255px;
    width: 900px;
    height: 670px;
}

#Team main .menu_sec ul li {
    position: absolute;
    width: 450px;
    height: 335px;
    margin: auto;
    pointer-events: none;
}

#Team main .menu_sec ul li a {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    pointer-events: none;
}

#Team main .menu_sec ul li a::before,
#Team main .menu_sec ul li a::after {
    content: "";
    display: block;
    width: 410px;
    height: 185px;
    transform: skew(-41.5deg, 0deg) rotate(24.2deg);
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    pointer-events: auto;
    transition: 0.3s;
}

#Team main .menu_sec ul li a figure,
#Team main .menu_sec ul li a p,
#Team main .menu_sec ul li a .arrow {
    pointer-events: none;
    z-index: 1;
}

#Team main .menu_sec ul li a figure {
    width: 98px;
    height: 83px;
    position: relative;
}

#Team main .menu_sec ul li a figure img {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transition: 0.3s;
}

#Team main .menu_sec ul li a figure::before {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    transition: 0.3s;
    opacity: 0;
    background-repeat: no-repeat;
    background-position: 0;
}

#Team main .menu_sec ul li a p {
    font-size: 22px;
    font-weight: 500;
    color: #fff;
    line-height: 1;
}

#Team main .menu_sec ul li a .arrow {
    width: 47px;
    margin-top: 33px;
    transition: 0.3s;
}

@media (hover: hover) {
    #Team main .menu_sec ul li a:hover::after {
        opacity: 0;
    }

    #Team main .menu_sec ul li a:hover figure::before {
        opacity: 1;
    }

    #Team main .menu_sec ul li a:hover .arrow {
        transform: translateX(5px);
    }
}

#Team main .menu_sec ul li.sports {
    left: 0;
    top: 0;
    bottom: 0;
}

#Team main .menu_sec ul li.sports a::before {
    background: linear-gradient(28deg, #280e9c, #4d09d9) no-repeat 0/cover;
}

#Team main .menu_sec ul li.sports a::after {
    background: linear-gradient(28deg, #2c257d, #21009c) no-repeat 0/cover;
}

#Team main .menu_sec ul li.sports figure img,
#Team main .menu_sec ul li.sports figure::before {
    width: 84px;
}

#Team main .menu_sec ul li.sports figure::before {
    background-size: 84px auto;
    background-image: url(../images/common/sports_h.png);
}

#Team main .menu_sec ul li.vision {
    left: 0;
    right: 0;
    bottom: 0;
}

#Team main .menu_sec ul li.vision a::before {
    background: linear-gradient(28deg, #662fdb, #a881ff) no-repeat 0/cover;
}

#Team main .menu_sec ul li.vision a::after {
    background: linear-gradient(28deg, #32129c, #6046e3) no-repeat 0/cover;
}

#Team main .menu_sec ul li.vision figure img,
#Team main .menu_sec ul li.vision figure::before {
    width: 98px;
}

#Team main .menu_sec ul li.vision figure::before {
    background-size: 98px auto;
    background-image: url(../images/common/vision_h.png);
}

@media (max-width: 1300px) {
    #Team main {
        height: 384vw;
    }

    #Team main p {
        font-size: 1.15vw;
    }

    #Team main .header_sec .tit {
        min-height: 34.62vw;
    }

    #Team main .header_sec .tit h1 {
        padding-bottom: 10.38vw;
    }

    #Team main .header_sec .tit h1 .jp {
        font-size: 3.85vw;
    }

    #Team main .header_sec .tit h1 .en {
        font-size: 2.69vw;
    }

    #Team main .about_sec {
        text-align: center;
        padding-top: 10vw;
    }

    #Team main .about_sec h2 {
        font-size: 4vw;
        padding-bottom: 3.08vw;
    }

    #Team main .about_sec h3 {
        font-size: 2.31vw;
        padding-bottom: 3.08vw;
    }

    #Team main .about_sec p {
        font-size: 1.15vw;
    }

    #Team main .worries_sec {
        padding-top: 63.08vw;
    }

    #Team main .worries_sec h4 {
        font-size: 2.31vw;
    }

    #Team main .worries_sec .upperrow h4 {
        top: 6.15vw;
        font-size: 2.31vw;
        width: calc(35% - 7.69vw);
        padding-left: 7.69vw;
    }

    #Team main .worries_sec .upperrow .worries_wrap .worries {
        min-height: 18.46vw;
        max-width: 18.46vw;
        margin: 0px 0.38vw;
    }

    #Team main .worries_sec .upperrow .worries_wrap .worries p {
        font-size: 1.69vw;
    }

    #Team main .worries_sec .upperrow .worries_wrap .worries:nth-of-type(4),
    #Team main .worries_sec .upperrow .worries_wrap .worries:nth-of-type(5) {
        bottom: 1.15vw;
    }

    #Team main .worries_sec .lowerrow {
        padding-top: 7.69vw;
    }

    #Team main .merit_sec {
        padding-top: 41.54vw;
    }

    #Team main .merit_sec .subtit h2 .jp {
        font-size: 3.08vw;
        padding-bottom: 1.15vw;
    }

    #Team main .merit_sec .subtit h2 .en {
        font-size: 2.31vw;
    }

    #Team main .merit_sec .merit_warp {
        padding-top: 3.85vw;
    }

    #Team main .merit_sec .merit_warp .merit h3 {
        font-size: 2.31vw;
        padding-bottom: 1.08vw;
        margin-bottom: 2.15vw;
    }

    #Team main .merit_sec .merit_warp .merit p {
        font-size: 1.37vw;
        padding-bottom: 0.77vw;
    }

    #Team main .merit_sec .merit_warp .merit p::before {
        margin-right: 0.97vw;
        width: 1.62vw;
        height: 1.46vw;
        background-size: 1.62vw 1.46vw;
    }

    #Team main .menu_sec {
        padding-top: 27.69vw;
    }

    #Team main .menu_sec .text_wrap {
        max-width: 37.69vw;
    }

    #Team main .menu_sec .text_wrap h2::before {
        width: 18.46vw;
    }

    #Team main .menu_sec .text_wrap p {
        margin-top: 3.85vw;
        font-size: 1.15vw;
    }

    #Team main .menu_sec ul {
        width: 69.23vw;
        height: 51.54vw;
        left: 26.23vw;
        top: 21.62vw;
    }

    #Team main .menu_sec ul li {
        width: 34.62vw;
        height: 25.77vw;
    }

    #Team main .menu_sec ul li a::before,
    #Team main .menu_sec ul li a::after {
        width: 31.54vw;
        height: 14.23vw;
    }

    #Team main .menu_sec ul li a figure {
        width: 7.54vw;
        height: 6.38vw;
    }

    #Team main .menu_sec ul li a p {
        font-size: 1.69vw;
    }

    #Team main .menu_sec ul li a .arrow {
        width: 3.62vw;
        margin-top: 2.54vw;
    }
}

@media (max-width: 1300px) and (hover: hover) {
    #Team main .menu_sec ul li a:hover .arrow {
        transform: translateX(0.38vw);
    }
}

@media (max-width: 1300px) {

    #Team main .menu_sec ul li.sports figure img,
    #Team main .menu_sec ul li.sports figure::before {
        width: 6.46vw;
    }

    #Team main .menu_sec ul li.sports figure::before {
        background-size: 6.46vw auto;
    }

    #Team main .menu_sec ul li.vision figure img,
    #Team main .menu_sec ul li.vision figure::before {
        width: 7.54vw;
    }

    #Team main .menu_sec ul li.vision figure::before {
        background-size: 7.54vw auto;
    }

    #Team main .menu_sec ul li.talent figure img,
    #Team main .menu_sec ul li.talent figure::before {
        width: 4.62vw;
    }

    #Team main .menu_sec ul li.talent figure::before {
        background-size: 4.62vw auto;
    }

    #Team main .menu_sec ul li.wellness figure img,
    #Team main .menu_sec ul li.wellness figure::before {
        width: 6.38vw;
    }

    #Team main .menu_sec ul li.wellness figure::before {
        background-size: 6.38vw auto;
    }
}

#Team footer::before {
    background-image: url(../images/team/footer_team.png);
}

_:lang(x)::-moz-placeholder,
#Team main .menu_sec ul {
    left: calc(50vw - 300px);
}

@media (max-width: 1300px) {

    _:lang(x)::-moz-placeholder,
    #Team main .menu_sec ul {
        left: 26.83vw;
    }
}

.mac _:lang(x)+_:-webkit-full-screen-document,
.mac #Team main .menu_sec ul {
    left: calc(50vw - 300px);
    top: 260px;
}

@media (max-width: 1300px) {

    .mac _:lang(x)+_:-webkit-full-screen-document,
    .mac #Team main .menu_sec ul {
        left: 26.75vw;
        top: 21.7vw;
    }
}

@media (max-width: 1150px) {

    .mac _:lang(x)+_:-webkit-full-screen-document,
    .mac #Team main .menu_sec ul {
        top: 21.9vw;
    }
}

@media (max-width: 1090px) {

    .mac _:lang(x)+_:-webkit-full-screen-document,
    .mac #Team main .menu_sec ul {
        top: 22.9vw;
    }
}

@media (max-width: 970px) {

    .mac _:lang(x)+_:-webkit-full-screen-document,
    .mac #Team main .menu_sec ul {
        top: 21.5vw;
    }
}

@media (max-width: 940px) {

    .mac _:lang(x)+_:-webkit-full-screen-document,
    .mac #Team main .menu_sec ul {
        top: 21.5vw;
    }
}

@media (max-width: 915px) {

    .mac _:lang(x)+_:-webkit-full-screen-document,
    .mac #Team main .menu_sec ul {
        top: 23vw;
    }
}

.mac _:lang(x)::-internal-media-controls-overlay-cast-button,
.mac #Team main .menu_sec ul {
    left: calc(50vw - 301px);
}

@media (max-width: 1300px) {

    .mac _:lang(x)::-internal-media-controls-overlay-cast-button,
    .mac #Team main .menu_sec ul {
        left: 26.9vw;
        top: 21.5vw;
    }
}

.mac _:lang(x)::-moz-placeholder,
.mac #Team main .menu_sec ul {
    left: calc(50vw - 300px);
}

@media (max-width: 1300px) {

    .mac _:lang(x)::-moz-placeholder,
    .mac #Team main .menu_sec ul {
        left: 26.83vw;
        top: 21.7vw;
    }
}

@media (hover: none) {
    #Team main .menu_sec ul {
        top: 21.8vw;
        left: 26.83vw;
    }
}

/*==================================
  Contact_reset
==================================*/
main#Contact {
    /*------ Reset CSS ------*/
    /*------ Reset END ------*/
}

main#Contact input {
    -webkit-appearance: none;
}

main#Contact input[type=text] {
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
}

main#Contact input[type=radio] {
    opacity: 0;
    margin: 0;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 1;
}

main#Contact input[type=radio]:checked+label {
    background: #ff0000;
}

main#Contact input[type=checkbox] {
    opacity: 0;
    margin: 0;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 1;
}

main#Contact input[type=checkbox]:checked+label {
    background: #ff0000;
}

main#Contact input::placeholder {
    color: #b7b7b7;
}

main#Contact input:-ms-input-placeholder {
    color: #b7b7b7;
}

main#Contact input::-webkit-input-placeholder {
    color: #b7b7b7;
}

main#Contact button,
main#Contact input[type=button],
main#Contact input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
}

main#Contact textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: none;
    padding: 0;
    border: 0;
    outline: none;
    background: transparent;
    border-radius: 0;
}

main#Contact textarea::placeholder {
    color: #b7b7b7;
}

main#Contact textarea:-ms-input-placeholder {
    color: #b7b7b7;
}

main#Contact textarea::-webkit-input-placeholder {
    color: #b7b7b7;
}

main#Contact select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
    border-radius: 0;
}

/*==================================
  Contact_base
==================================*/
/* input, textarea
--------------------------------*/
/* radio_button
--------------------------------*/
main#Contact {
    /*------ Form Base END ------*/
}

main#Contact span.error {
    color: #cc0303;
    display: block;
    margin: 7px 0 0;
}

main#Contact input:-webkit-autofill {
    animation-name: onAutoFillStart;
    background: rgb(255, 255, 255) !important;
    transition: background-color 50000s ease-in-out 0s;
}

main#Contact input[type=text]:focus,
main#Contact input[type=email]:focus,
main#Contact input[type=tel]:focus,
main#Contact input[type=search]:focus,
main#Contact input[type=url]:focus,
main#Contact textarea:focus {
    color: #000;
    background-color: #f6f6f6;
}

main#Contact .ERR {
    color: #cc0303;
}

main#Contact input[type=text] {
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.03em;
    padding: 12px 21px;
    border: 1px solid #f6f6f6;
    background: #f6f6f6;
    box-sizing: border-box;
    color: #000;
    width: 100%;
}

main#Contact input[type=text].zip {
    max-width: 247px;
    width: 100%;
}

main#Contact .zip-wrap {
    background: #f6f6f6;
    display: inline-block;
    position: relative;
    max-width: 247px;
    width: 100%;
    margin-right: 3px;
}

main#Contact .zip-wrap::before {
    content: "〒";
    font-size: 18px;
    position: absolute;
    top: 0.8em;
    left: 24px;
    margin: auto;
}

main#Contact .zip-wrap input {
    padding: 12px 21px 12px 55px;
    width: 100%;
}

main#Contact input[type=button] {
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.03em;
    font-weight: 500;
    color: #fff;
    max-width: 140px;
    width: 100%;
    background: #f6f6f6;
    border: 3px solid #f6f6f6;
    padding: 10px 19px;
    box-sizing: border-box;
    transition: all 0.3s ease;
    cursor: pointer;
}

main#Contact input[type=button]:hover {
    background: none;
}

main#Contact .wpcf7-list-item-label {
    padding-left: 29px;
    position: relative;
    margin-right: 29px;
    white-space: nowrap;
    cursor: pointer;
}

main#Contact input[type=checkbox]+label a {
    background: linear-gradient(#000, #000) 0 100%/0 1px no-repeat;
    background-size: 100% 1px;
    padding-bottom: 2px;
    display: inline;
}

main#Contact .wpcf7-list-item-label::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #f6f6f6;
    background: #f6f6f6;
    box-sizing: border-box;
    border-radius: 3px;
}

@media (max-width: 899px) {
    main#Contact .wpcf7-list-item-label::before {
        width: 25px;
        height: 25px;
    }
}

main#Contact .wpcf7-list-item-label::after {
    content: "";
    opacity: 0;
    display: block;
    height: 14px;
    left: 4px;
    margin-top: -8px;
    opacity: 0;
    position: absolute;
    top: 63%;
    width: 13px;
    background-image: url(../images/common/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
}

@media (max-width: 899px) {
    main#Contact .wpcf7-list-item-label::after {
        top: 50%;
        left: 6px;
        height: 14px;
    }
}

main#Contact input[type=checkbox]:checked+.wpcf7-list-item-label {
    background: none;
}

main#Contact input[type=checkbox]:checked+.wpcf7-list-item-label::before {
    background: #8979ff;
}

main#Contact input[type=checkbox]:checked+.wpcf7-list-item-label::after {
    opacity: 1;
}

main#Contact input[type=radio] {
    display: none;
}

main#Contact .wpcf7-radio .wpcf7-list-item-label {
    padding-left: 27px;
    position: relative;
    margin-right: 27px;
    white-space: nowrap;
    cursor: pointer;
}

main#Contact .wpcf7-radio .wpcf7-list-item-label::before {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    width: 17px;
    height: 17px;
    border: 1px solid #f6f6f6;
    background: #f6f6f6;
    box-sizing: border-box;
    border-radius: 50%;
}

main#Contact .wpcf7-radio .wpcf7-list-item-label::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 4px;
    width: 9px;
    height: 9px;
    background: #8979ff;
    border-radius: 50%;
    opacity: 0;
}

main#Contact .wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label {
    background: none;
}

main#Contact .wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label::after {
    opacity: 1;
}

main#Contact .select-box {
    overflow: hidden;
    width: 370px;
    text-align: center;
    position: relative;
    border-radius: 2px;
    border: 1px solid #d3d3d3;
}

@media (max-width: 899px) {
    main#Contact .select-box {
        width: 100%;
    }
}

main#Contact .select-box select {
    font-size: 16px;
    color: #000;
    letter-spacing: 0.035em;
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 18px 73px 18px 21px;
    z-index: 1;
    position: relative;
}

main#Contact .select-box select::-ms-expand {
    display: none;
}

main#Contact .select-box::before {
    position: absolute;
    top: 1.35em;
    right: 23px;
    width: 9px;
    height: 9px;
    padding: 0;
    content: "";
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    pointer-events: none;
    transform: rotate(45deg);
    z-index: 1;
}

main#Contact .select-box::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 100%;
    padding: 0;
    content: "";
    pointer-events: all;
    z-index: -1;
    background-color: #d3d3d3;
    z-index: 0;
}

main#Contact textarea {
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.03em;
    border: 1px solid #f6f6f6;
    background: #f6f6f6;
    box-sizing: border-box;
    width: 100%;
    padding: 12px 21px;
    min-height: 250px;
}

main#Contact .overscroll {
    overflow-y: scroll;
    height: 237px;
    padding: 25px 21px;
    background: #f6f6f6;
}

main#Contact .overscroll ul>li {
    margin-bottom: 25px;
}

main#Contact .overscroll ul>li strong {
    font-size: 16px;
    line-height: 1.25;
    font-weight: 500;
    letter-spacing: 0.03em;
    display: block;
    margin-bottom: 5px;
    color: #fff;
}

main#Contact .overscroll ul>li p {
    font-size: 14px;
    line-height: 1.42;
}

main#Contact .overscroll ul>li>ol {
    margin-top: 5px;
}

main#Contact .overscroll ul>li>ol li {
    text-indent: -1.25em;
    padding-left: 1.25em;
}

main#Contact .overscroll ul>li:first-child strong {
    margin-bottom: 20px;
}

main#Contact .overscroll ul>li:last-child {
    margin-bottom: 0;
}

main#Contact .submit_area {
    margin-top: 22px;
    text-align: center;
}

main#Contact .submit_area span {
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0.13em;
    color: #fff;
    width: 310px;
    background-color: #773ed4;
    box-sizing: border-box;
    font-feature-settings: "palt";
    position: relative;
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
    border: 3px solid #773ed4;
    transition: all 0.3s ease;
}

main#Contact .submit_area span input[type=submit] {
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0.13em;
    color: #fff;
    cursor: pointer;
    width: 100%;
    height: 64px;
    box-sizing: border-box;
}

@media (max-width: 899px) {
    main#Contact .submit_area span {
        height: 55px;
        width: 66.67vw;
    }

    main#Contact .submit_area span input[type=submit] {
        height: 49px;
        font-size: 15px;
    }
}

main#Contact .submit_area span:hover {
    opacity: 0.7 !important;
}

main#Contact .submit_area ul.koumoku {
    max-width: 640px;
    margin: 20px auto 50px;
}

main#Contact .submit_area ul.koumoku li {
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0.13em;
    color: #fff;
    width: 310px;
    background: #773ed4;
    box-sizing: border-box;
    font-feature-settings: "palt";
    position: relative;
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
    border: 3px solid #773ed4;
    transition: all 0.3s ease;
}

main#Contact .submit_area ul.koumoku li input[type=submit] {
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0.13em;
    color: #fff;
    cursor: pointer;
    width: 100%;
    height: 64px;
    box-sizing: border-box;
}

main#Contact .submit_area ul.koumoku li:hover {
    opacity: 0.7 !important;
}

main#Contact .submit_area ul.koumoku li:hover svg path {
    fill: #fff;
}

@media (max-width: 899px) {
    main#Contact .submit_area ul.koumoku {
        display: flex;
        justify-content: center;
        flex-direction: column-reverse;
    }

    main#Contact .submit_area ul.koumoku li {
        margin: auto;
    }

    main#Contact .submit_area ul.koumoku li.btn_back {
        margin-top: 25px;
    }

    main#Contact .submit_area ul.koumoku li input[type=submit] {
        height: 50px;
    }
}

main#Contact .btn_back {
    text-align: center;
}

main#Contact .btn_back.btn_back::before,
main#Contact .wpcf7cp-btns button.wpcf7cp-cfm-edit-btn::before {
    left: 20px;
    right: auto;
    transform: scale(-1, 1);
}

@media (hover: hover) {
    main#Contact .btn_back.btn_back:hover::before {
        transform: scale(-1, 1) translateX(5px);
    }
}

main#Contact .btn_back input {
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0.13em;
    color: #fff;
    width: 262px;
    background: #773ed4;
    box-sizing: border-box;
    font-feature-settings: "palt";
    position: relative;
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
    transition: all 0.3s ease;
    height: 58px;
    padding: 15px 15px 14px;
}

main#Contact .btn_back:hover input {
    color: #773ed4;
    background: none;
}

main#Contact .contact_back {
    margin-top: 50px;
    text-align: center;
    margin-bottom: 50px;
}

main#Contact .contact_back a {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.13em;
    color: #fff;
    width: 310px;
    background: #773ed4;
    box-sizing: border-box;
    font-feature-settings: "palt";
    position: relative;
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
    border: 3px solid #773ed4;
    transition: all 0.3s ease;
    height: 70px;
    padding: 15px 15px 14px;
}

.wpcf7cp-btns {
    margin-top: 2em;
    text-align: center;
}

main#Contact .contact_back a:hover {
    opacity: 0.7 !important;
}

@media (max-width: 899px) {
    main#Contact .contact_back {
        margin-top: 32px;
        text-align: center;
        margin-bottom: 90px;
    }

    main#Contact .contact_back a {
        font-size: 15px;
        width: 250px;
        height: 55px;
    }
}

@media (max-width: 1300px) {
    main#Contact input[type=text] {
        font-size: 1.23vw;
        padding: 0.97vw 1.67vw;
    }

    main#Contact input[type=text].zip {
        max-width: 19vw;
    }

    main#Contact input[type=checkbox] {
        font-size: 1.23vw;
    }

    main#Contact .wpcf7-list-item-label {
        padding-left: 2.23vw;
        margin-right: 2.23vw;
    }

    main#Contact .wpcf7-list-item-label::before {
        width: 1.54vw;
        height: 1.54vw;
    }

    main#Contact .wpcf7-list-item-label::after {
        height: 1.08vw;
        left: 0.31vw;
        margin-top: -0.62vw;
        width: 1vw;
    }

    main#Contact .wpcf7-radio .wpcf7-list-item-label {
        padding-left: 2.08vw;
        margin-right: 2.08vw;
    }

    main#Contact .wpcf7-radio .wpcf7-list-item-label::before {
        top: 0.31vw;
        width: 1.31vw;
        height: 1.31vw;
    }

    main#Contact .wpcf7-radio .wpcf7-list-item-label::after {
        left: 0.31vw;
        width: 0.69vw;
        height: 0.69vw;
    }
}

@media (max-width: 1300px) and (max-width: 899px) {
    main#Contact .wpcf7-radio .wpcf7-list-item-label {
        padding-left: 6vw;
    }

    main#Contact .wpcf7-radio .wpcf7-list-item-label::before {
        top: 1vw;
        width: 4vw;
        height: 4vw;
    }

    main#Contact .wpcf7-radio .wpcf7-list-item-label::after {
        left: 1vw;
        width: 2vw;
        height: 2vw;
    }
}

@media (max-width: 1300px) {
    main#Contact .select-box {
        width: 28.46vw;
    }

    main#Contact .select-box select {
        font-size: 1.23vw;
        padding: 1.38vw 5.92vw 1.38vw 1.62vw;
    }

    main#Contact .select-box::before {
        top: 1.35em;
        right: 1.77vw;
        width: 0.69vw;
        height: 0.69vw;
    }

    main#Contact .select-box::after {
        width: 4.62vw;
    }

    main#Contact textarea {
        font-size: 1.23vw;
        padding: 0.92vw 1.62vw;
        min-height: 19.23vw;
    }

    main#Contact .submit_area {
        margin-top: 1.69vw;
    }

    main#Contact .submit_area span {
        width: 23.85vw;
    }

    main#Contact .submit_area span input[type=submit] {
        font-size: 1.23vw;
        height: 4.92vw;
    }

    main#Contact .submit_area ul.koumoku {
        max-width: 49.23vw;
        margin: 1.54vw auto 3.85vw;
    }

    main#Contact .submit_area ul.koumoku li {
        font-size: 1.38vw;
        width: 23.85vw;
    }

    main#Contact .submit_area ul.koumoku li input[type=submit] {
        height: 4.92vw;
        font-size: 1.38vw;
    }

    main#Contact .btn_back input {
        font-size: 1.38vw;
        width: 20.15vw;
        height: 4.46vw;
        padding: 1.15vw 1.15vw 1.08vw;
    }
}

@media (max-width: 899px) {
    main#Contact input[type=text] {
        font-size: 4.27vw;
        padding: 3.2vw 5.6vw;
    }

    main#Contact input[type=text].zip {
        max-width: 65.87vw;
    }

    main#Contact .wpcf7-list-item-label {
        padding-left: 8.73vw;
        margin-right: 7.73vw;
    }

    main#Contact .wpcf7-list-item-label::before {
        width: 6.67vw;
        height: 6.67vw;
        top: 0;
        bottom: auto;
    }

    main#Contact .wpcf7-list-item-label::after {
        left: 1.6vw;
        height: 3.73vw;
        margin-top: 0;
        width: 3.47vw;
        top: 25%;
    }

    main#Contact .select-box {
        width: 100%;
    }

    main#Contact .select-box select {
        font-size: 4.27vw;
        padding: 4.8vw 19.13vw 4.8vw 5.6vw;
        height: 16vw;
    }

    main#Contact .select-box::before {
        right: 6.13vw;
        width: 2.4vw;
        height: 2.4vw;
    }

    main#Contact .select-box::after {
        width: 16vw;
        height: 16vw;
    }

    main#Contact textarea {
        font-size: 4.27vw;
        min-height: 66.67vw;
    }

    main#Contact .submit_area {
        margin-top: 5.87vw;
    }

    main#Contact .submit_area span {
        font-size: 4.8vw;
        height: 14.67vw;
        width: 66.67vw;
    }

    main#Contact .submit_area span input[type=submit] {
        height: 13.07vw;
        font-size: 4vw;
    }

    main#Contact .submit_area ul.koumoku {
        max-width: 170.67vw;
        margin: 5.33vw auto 13.33vw;
        display: flex;
        flex-direction: column-reverse;
    }

    main#Contact .submit_area ul.koumoku li {
        font-size: 4.8vw;
        width: 82.67vw;
    }

    main#Contact .submit_area ul.koumoku li input[type=submit] {
        font-size: 4.8vw;
        height: 13.33vw;
    }

    main#Contact .submit_area ul.koumoku li.btn_back {
        margin-top: 6.67vw;
    }

    main#Contact .btn_back input {
        font-size: 4.8vw;
        width: 69.87vw;
        height: 15.47vw;
        padding: 4vw 4vw 3.73vw;
    }
}

/*==================================
  Contact
==================================*/
main#Contact {
    position: relative;
}

main#Contact .header_sec {
    position: relative;
    background: url(../images/contact/head.jpg) no-repeat center top/auto 100%;
}

main#Contact .header_sec .pan::after {
    content: "";
    z-index: 0;
    background: url(../images/common/pan.png) no-repeat center top/auto 100%;
    display: inline-block;
    z-index: -1;
    left: -99px;
}

main#Contact .area1 {
    min-width: 1200px;
    background: url(../images/contact/bg01.jpg) #fff no-repeat center top;
    background-size: cover;
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 684px;
}

main#Contact .form-sec {
    padding-top: 130px;
    padding-bottom: 330px;
}

main#Contact .form-sec .container {
    max-width: 1140px;
}

main#Contact .form-sec .send_comp p {
    text-align: center;
}

main#Contact .container p>a {
    background: linear-gradient(#000, #000) 0 100%/0 1px no-repeat;
    background-size: 100% 1px;
    padding-bottom: 2px;
    display: inline;
}

main#Contact .container p>a:hover {
    color: #704f00;
    background: linear-gradient(#704f00, #704f00) 0 100%/0 1px no-repeat;
    background-size: 100% 1px;
}

main#Contact .agree_area {
    margin: 30px 0 0;
    text-align: center;
    line-height: 45px;
}

main#Contact .need {
    color: #8979ff;
}

main#Contact table {
    display: block;
}

main#Contact table tbody {
    display: block;
}

main#Contact table tr {
    padding: 20px 0px;
    border-bottom: 1px solid #d3d3d3;
    display: flex;
    align-items: center;
}

main#Contact table tr th {
    letter-spacing: 0.03em;
    font-weight: 500;
    display: block;
    text-align: left;
    width: 300px;
}

main#Contact table tr td {
    display: flex;
    width: calc(100% - 175px);
}

main#Contact table tr td.col {
    display: flex;
}

main#Contact table tr td.row {
    flex-direction: column;
}

main#Contact table tr td.row .pt {
    padding-top: 14px;
    font-size: 14px;
}

main#Contact table tr td .col {
    margin-right: 10px;
    max-width: 320px;
    width: 100%;
}

main#Contact table tr td .text02 {
    margin-top: 8px;
}

main#Contact .check-list {
    padding-left: 0;
}

main#Contact .check-list li {
    display: inline-block;
}

main#Contact .form_wrap>p {
    margin-top: 0 !important;
    line-height: 1.5;
    letter-spacing: 0.03em;
    font-weight: 500;
    padding-bottom: 60px;
}

main#Contact.sfm2 td p {
    overflow-wrap: break-word;
}

main#Contact footer {
    min-width: 1200px;
    background: url(../images/contact/footer.jpg) no-repeat center top;
    background-size: cover;
}

main#Contact .wpcf7cp-btns button {
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0.13em;
    color: #fff;
    width: 310px;
    height: 5.38vw;
    background: #773ed4;
    box-sizing: border-box;
    font-feature-settings: "palt";
    position: relative;
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
    border: 3px solid #773ed4;
    transition: all 0.3s ease;
    font-weight: 500;
}

@media (max-width: 1300px) {
    main#Contact .form-sec {
        padding-top: 10vw;
        padding-bottom: 25.38vw;
    }

    main#Contact .agree_area {
        margin: 2.31vw 0 0;
        font-size: 1.23vw;
    }

    main#Contact table tr {
        padding: 1.54vw 0px;
    }

    main#Contact table tr th {
        width: 24vw;
    }

    main#Contact table tr td {
        width: calc(100% - 13.46vw);
    }

    main#Contact table tr td.row .pt {
        padding-top: 1.08vw;
        font-size: 1.08vw;
    }

    main#Contact table tr td .col {
        margin-right: 0.77vw;
        max-width: 24.62vw;
    }

    main#Contact table tr td .text02 {
        margin-top: 0.62vw;
    }

    main#Contact .form_wrap>p {
        padding-bottom: 4.62vw;
    }
}

/*==================================
  Privacy
==================================*/
#Privacy main .header_sec {
    position: relative;
    background: url(../images/contact/head.jpg) no-repeat center top/auto 100%;
}

#Privacy main .header_sec .pan::after {
    content: "";
    z-index: 0;
    background: url(../images/common/pan.png) no-repeat center top/auto 100%;
    display: inline-block;
    width: 351px;
    height: 477px;
    left: -99px;
    position: absolute;
    bottom: -220px;
    z-index: -1;
}

#Privacy main .area1 {
    min-width: 1200px;
    background-size: cover;
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 684px;
    top: 0px;
}

#Privacy main .area2 {
    min-width: 1200px;
    min-height: 439px;
    z-index: -1;
    position: absolute;
    height: 555px;
    width: 100%;
    bottom: 0px;
}

#Privacy main .content_sec {
    padding-top: 130px;
    padding-bottom: 230px;
    position: relative;
    z-index: 2;
}

#Privacy main .content_sec .container {
    padding-left: 80px;
    padding-right: 80px;
}

#Privacy main footer {
    min-width: 1200px;
    background: url(../images/contact/footer.jpg) no-repeat center top;
    background-size: cover;
}

#Privacy main .lead {
    padding: 0 0 40px 0;
}

#Privacy main dt {
    padding: 0 0 20px 0;
    font-size: 2vw;
    line-height: 1.6;
}

#Privacy main dd {
    line-height: 1.7;
    padding: 0 0 40px 0;
}

.top_logo {
    top: 3vw;
    left: 0;
    position: absolute;
}

.top_logo img {
    width: 14vw;
    max-width: 200px;
}

.select_caution {
    font-size: .85rem;
    margin: 10px 0 0;
}

.select_caution span {
    color: red;
}

.grecaptcha-badge {
	display:none !important;
}

.bl_recaptcha {
	text-align: center;
    padding: 10px 0 20px;
}

.bl_recaptcha a {
	    margin: 0 5px;
    border-bottom: 1px solid #00a1e9;
    color: #00a1e9;
}