@charset "UTF-8";

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

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

.pc {
    display: none !important;
}

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

a:visited {
    color: #000;
}

a:active {
    color: #000;
}

/* main
==================================*/
main {
    margin-top: 14.67vw;
    padding-bottom: 50.67vw;
    position: relative;
}

.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
}

/* header
==================================*/
header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #fff;
    transition: 0.3s;
    padding-left: 3.33vw;
    box-sizing: border-box;
}

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

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

header .header_inner .menu_btn {
    display: grid;
    place-items: center;
    width: 14.67vw;
    height: 14.67vw;
    background-color: #d9e60b;
    z-index: 1;
}

header .header_inner .menu_btn .btn_wrap {
    position: relative;
    width: 8vw;
    height: 4.27vw;
}

header .header_inner .menu_btn .btn_wrap span {
    display: inline-block;
    position: absolute;
    width: 8vw;
    height: 1px;
    background: #000;
    left: 0;
    transition: 0.3s;
}

header .header_inner .menu_btn .btn_wrap span:nth-of-type(1) {
    top: 0;
    transform-origin: left top;
}

header .header_inner .menu_btn .btn_wrap span:nth-of-type(2) {
    top: 0;
    bottom: 0;
    margin: auto;
}

header .header_inner .menu_btn .btn_wrap span:nth-of-type(3) {
    bottom: 0;
    transform-origin: left bottom;
}

header .header_inner .menu_btn.open .btn_wrap span:nth-of-type(1) {
    width: 9vw;
    transform: rotate(27deg);
}

header .header_inner .menu_btn.open .btn_wrap span:nth-of-type(2) {
    opacity: 0;
}

header .header_inner .menu_btn.open .btn_wrap span:nth-of-type(3) {
    width: 9vw;
    transform: rotate(-27deg);
}

header .header_inner .menu_wrap {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    padding: 23vw 4vw 15vw;
    box-sizing: border-box;
    background-color: #000;
}

header .header_inner .menu_wrap .inner {
    height: 100%;
    overflow: scroll;
}

header .header_inner .menu_wrap nav>ul:not(.other_link)>li {
    position: relative;
    border-bottom: 1px solid #232b41;
}

header .header_inner .menu_wrap nav>ul:not(.other_link)>li>a {
    display: block;
    line-height: 9.33vw;
    color: #fff;
    font-size: 4vw;
}

header .header_inner .menu_wrap nav .other_link {
    display: flex;
    margin-top: 7.3vw;
}

header .header_inner .menu_wrap nav .other_link li {
    line-height: 1;
}

header .header_inner .menu_wrap nav .other_link li:first-of-type::after {
    content: "";
    display: inline-block;
    margin: 0 2.7vw;
    width: 1px;
    height: 2.7vw;
    background-color: #fff;
}

header .header_inner .menu_wrap nav .other_link li a {
    color: #fff;
    font-size: 3.7vw;
}

header .header_inner .menu_wrap nav .slide_trigger {
    position: relative;
}

header .header_inner .menu_wrap nav .slide_trigger::before,
header .header_inner .menu_wrap nav .slide_trigger::after {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    width: 4vw;
    height: 1px;
    background-color: #fff;
    top: 0;
    bottom: 0;
    right: 3px;
}

header .header_inner .menu_wrap nav .slide_trigger::after {
    transform: rotate(-90deg);
    transition: 0.3s;
}

header .header_inner .menu_wrap nav .slide_trigger.open::after {
    transform: rotate(0);
}

header .header_inner .menu_wrap nav .slide_wrap {
    display: none;
}

header .header_inner .menu_wrap nav .sub_list {
    margin: 0.5vw 1.3vw 4.5vw;
}

header .header_inner .menu_wrap nav .sub_list li {
    font-size: 4vw;
    line-height: 1;
    display: flex;
}

header .header_inner .menu_wrap nav .sub_list li:not(:last-of-type) {
    margin-bottom: 3vw;
}

header .header_inner .menu_wrap nav .sub_list li::before {
    content: "-";
    color: #fff;
}

header .header_inner .menu_wrap nav .sub_list li a {
    display: inline-block;
    color: #fff;
}

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

header .header_inner .menu_wrap nav .sub_list li a small {
    font-size: 3vw;
}

header .header_inner .menu_wrap nav .contact_wrap {
    margin-top: 6vw;
}

header .header_inner .menu_wrap nav .contact_wrap a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 14.67vw;
    background-color: #773ed4;
    color: #fff;
    font-weight: 500;
}

header .header_inner .menu_wrap nav .contact_wrap a::before {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    height: 1.6vw;
    background: url(../images/common/arrow.svg) no-repeat 0/contain;
    top: 0;
    bottom: 0;
    right: 5.07vw;
}

header .header_inner .menu_wrap nav .contact_wrap a::after {
    content: "フォーム";
}

header .header_inner .menu_wrap .logo_wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-top: 9.33vw;
}

header .header_inner .menu_wrap .logo_wrap li {
    text-align: center;
    width: 35vw;
    margin: 0 3vw;
}

/* footer
==================================*/
footer {
    position: relative;
    z-index: 1;
    margin-top: -21.33vw;
    margin-bottom: 14.4vw;
}

footer::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 504.67vw;
    background: url(../images/common/sp/footer.png) no-repeat 0/contain;
    left: 0;
    top: -29.33vw;
    z-index: -1;
    pointer-events: none;
}

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 {
    margin: auto;
    padding: 0 4vw 6.67vw;
    box-sizing: border-box;
}

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

footer .contact_area>.line_ttl .jp {
    margin-left: 0;
}

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

footer .contact_area .row .col {
    text-align: center;
}

footer .contact_area .row .col.mail_wrap {
    margin-top: 6.67vw;
}

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

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

footer .contact_area .row .col .line_ttl .jp {
    padding: 2.67vw 0 2vw;
    margin-top: 0;
}

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

footer .contact_area .row .col .text {
    margin-top: 3.33vw;
}

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

footer .contact_area .row .col .btn_wrap a {
    margin: auto;
}

footer .bn_wrap {
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    margin-top: 6.67vw;
    padding-bottom: 8vw;
}

footer .bottom_area {
    padding-top: 5.33vw;
    position: relative;
}

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

footer .bottom_area nav>ul:not(.other_list)>li {
    position: relative;
    border-bottom: 1px solid #232b41;
}

footer .bottom_area nav>ul:not(.other_list)>li>a {
    display: block;
    line-height: 9.33vw;
    color: #fff;
    font-size: 4vw;
}

footer .bottom_area nav .other_list {
    display: flex;
    margin-top: 7.3vw;
}

footer .bottom_area nav .other_list li {
    line-height: 1;
}

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

footer .bottom_area nav .other_list li a {
    color: #fff;
    font-size: 3.7vw;
}

footer .bottom_area nav .slide_trigger {
    position: relative;
}

footer .bottom_area nav .slide_trigger::before,
footer .bottom_area nav .slide_trigger::after {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    width: 4vw;
    height: 1px;
    background-color: #fff;
    top: 0;
    bottom: 0;
    right: 3px;
}

footer .bottom_area nav .slide_trigger::after {
    transform: rotate(-90deg);
    transition: 0.3s;
}

footer .bottom_area nav .slide_trigger.open::after {
    transform: rotate(0);
}

footer .bottom_area nav .slide_wrap {
    display: none;
}

footer .bottom_area nav .sub_list {
    margin: 0.5vw 1.3vw 4.5vw;
}

footer .bottom_area nav .sub_list li {
    font-size: 4vw;
    line-height: 1;
    display: flex;
}

footer .bottom_area nav .sub_list li:not(:last-of-type) {
    margin-bottom: 3vw;
}

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

footer .bottom_area nav .sub_list li a {
    display: inline-block;
    color: #fff;
}

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

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

footer .bottom_area .logo_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 25vw;
}

footer .bottom_area .logo_wrap li {
    text-align: center;
    width: 35vw;
    margin: 0 3vw;
}

footer .bottom_area .logo_wrap2 {
    display: block;
}

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

footer .bottom_area .logo_wrap2 li:last-child {
    width: 90%;
    margin: 0 auto;
    margin-top: 2%;
}



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

.header_sec {
    position: relative;
}

.header_sec .tit {
    min-height: 53.33vw;
    align-items: center;
    display: flex;
    justify-content: center;
}

.header_sec .tit h1 {
    align-items: center;
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    z-index: 3;
}

.header_sec .tit h1 .jp {
    font-size: 8vw;
    font-weight: 700;
    color: #fff;
}

.header_sec .tit h1 .en {
    font-size: 5.33vw;
    text-align: center;
    color: #fff;
    font-weight: 500;
}

.header_sec .pan {
    position: absolute;
    bottom: 5.33vw;
    display: flex;
    align-items: center;
    z-index: 2;
    max-width: calc(100% - 8vw);
}

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

.header_sec .pan li a {
    font-size: 2.67vw;
    color: #fff;
}

.header_sec .pan li:not(:last-of-type)::after {
    content: "?";
    color: white;
    display: inline-block;
    position: relative;
    font-size: 2.67vw;
    margin: 0 0.38vw;
}

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

.fixed_bn {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    box-shadow: 0 -5px 5px rgba(32, 181, 246, 0.3);
    z-index: 99;
}

.fixed_bn a {
    display: block;
    position: relative;
}

.fixed_bn p {
    font-size: 4.8vw;
    font-weight: 700;
    color: #85cee3;
    text-shadow: 0 0 10px rgb(46, 189, 255);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: grid;
    place-content: center;
}

.fixed_bn .arrow {
    position: absolute;
    right: 7vw;
    top: 50%;
    transform: translateY(-50%);
    width: 9vw;
}

.fixed_bn svg {
    background-color: #000;
    margin-bottom: -2px;
}

.fixed_bn svg rect {
    fill: none;
    stroke: #20b5f6;
    stroke-miterlimit: 10;
    stroke-width: 12;
    stroke-linecap: round;
    stroke-dasharray: 1670, 46;
    stroke-dashoffset: 0;
    animation: fixed_roll 5s infinite linear;
}

@keyframes fixed_roll {
    0% {
        stroke-dashoffset: 1716;
    }

    100% {
        stroke-dashoffset: 0;
    }
}

/* 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;
}

@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,
    main#Contact .wpcf7cp-btns button::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 {
    margin-top: 0;
    z-index: 1;
}

#Top main::before,
#Top main::after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    left: 0;
    z-index: -1;
}

#Top main::before {
    background: url(../images/top/sp/bg01.jpg) no-repeat 0/contain;
    top: -2vw;
    height: 1016vw;
}

#Top main::after {
    background: url(../images/top/sp/bg02.webp) no-repeat 0/contain;
    bottom: -2vw;
    height: 720.4vw;
}

#Top main .mv_sec {
    height: 126.67vw;
    padding-top: 76.53vw;
    box-sizing: border-box;
}

#Top main .mv_sec .catch {
    width: 87.92%;
    margin: 0 4.4vw;
    transform: translateX(20px);
    opacity: 0;
    filter: drop-shadow(0px 0px 15px rgb(0, 0, 0));
}

#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: 141.6vw;
}

#Top main .news_area .container {
    padding: 0 4vw;
}

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

#Top main .news_area h2 .en {
    font-size: 13.33vw;
}

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

#Top main .news_area .news_list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 7.6vw;
}

#Top main .news_area .news_list li {
    max-width: calc(100% - 7.33vw);
}

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

#Top main .news_area .news_list li:nth-of-type(2).move {
    transition-delay: 0.1s;
}

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

#Top main .news_area .news_list li:nth-of-type(3).move {
    transition-delay: 0.2s;
}

#Top main .news_area .news_list li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#Top main .news_area .news_list li a figure {
    width: 30.67vw;
}

#Top main .news_area .news_list li a .text_wrap {
    width: 51.07vw;
}

#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 span {
    font-size: 3.73vw;
}

#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: 5px;
}

#Top main .news_area .news_list li a .text_wrap .ttl {
    margin-top: 2vw;
    line-height: 1.2;
    max-height: 10vw;
    overflow: hidden;
}

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

#Top main .news_area .btn_wrap {
    margin-top: 8vw;
}

#Top main .news_area .btn_wrap .link_btn {
    width: 46.67vw;
    height: 10.67vw;
    margin: auto;
}

#Top main .about_sec {
    position: relative;
    margin-top: 4vw;
}

#Top main .about_sec h2 {
    align-items: flex-start;
}

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

#Top main .about_sec h3 {
    margin-top: 6.27vw;
    line-height: 1.2;
    font-size: 7.5vw;
    letter-spacing: 0;
}

#Top main .about_sec p {
    font-size: 4vw;
    font-weight: 500;
    line-height: 1.6;
    margin-top: 3.6vw;
}

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

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

#Top main .about_sec .video_wrap {
    margin-top: 110.4vw;
    position: relative;
}

#Top main .about_sec .video_wrap h2 {
    align-items: center;
    margin: 0 0 8.53vw auto;
}

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

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

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

#Top main .about_sec .video_wrap a figure::before {
    width: 39px;
    height: 39px;
    background: url(../images/top/icon_video.svg) no-repeat 0/contain;
    left: calc(50% - 20px);
    top: calc(50% - 20px);
    margin: auto;
    z-index: 1;
}

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

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

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

#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: 6.67vw;
}

#Top main .num_sec .row .col a h2 .en {
    display: block;
    margin-top: 2vw;
    font-size: 4.27vw;
}

#Top main .num_sec .row .col a p {
    line-height: 1.6;
    font-size: 4.27vw;
    font-weight: 500;
    margin: 5.6vw auto 0;
}

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

#Top main .num_sec .row .col a p::after {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    left: 50%;
    transform: translateX(-50%);
    width: 38.67vw;
    height: 1px;
    background: url(../images/common/line_wh.png) no-repeat 0/100% auto;
    transition: 0.3s 0.3s;
    bottom: 0;
    background-position-x: -38.67vw;
    z-index: 1;
}

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

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

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

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

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

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

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

#Top main .menu_sec {
    margin-top: 28.13vw;
    position: relative;
}

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

#Top main .menu_sec .text_wrap .menu_wrap {
    position: absolute;
    right: 0;
    top: 7.2vw;
    width: 97.07vw;
}

#Top main .menu_sec .text_wrap p {
    margin-top: 124.87vw;
    font-size: 4vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: -0.02em;
}

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

#Top main .yt_sec h2 {
    font-size: 6.67vw;
    color: #fff;
    line-height: 1.4;
}

#Top main .yt_sec h2::before {
    width: 61.33vw;
    background-image: url(../images/common/line_wh.png);
    bottom: 9vw;
    background-position-x: -61.33vw;
    left: -3vw;
    transform: none;
}

#Top main .yt_sec h2::after {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    left: -3vw;
    width: 53.33vw;
    height: 1px;
    background: url(../images/common/line_wh.png) no-repeat 0/100% auto;
    transition: 0.3s 0.3s;
    bottom: 0;
    background-position-x: -53.33vw;
    z-index: 1;
}

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

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

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

#Top main .yt_sec ul li {
    width: 58.13vw;
}

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

#Top main .yt_sec ul li a p {
    line-height: 9.87vw;
    text-align: center;
    color: #fff;
    font-size: 4vw;
}

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

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

#Top main .support_sec {
    margin-top: 65.6vw;
    margin-bottom: 8vw;
}

#Top main .support_sec h2 {
    margin: auto;
}

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

#Top main .support_sec h2 .en {
    font-size: 13.33vw;
}

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

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

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

#Top main .support_sec .row ul li {
    color: #fff;
    font-size: 3.73vw;
    text-indent: -1.47vw;
    margin-left: 1.47vw;
    line-height: 1.75;
    letter-spacing: -0.04em;
}

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

#Top header {
    background-color: transparent;
}

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

#Top footer::before {
    background-image: url(../images/common/sp/footer_top.png);
}

/*==================================
  Top_20231214　更新
==================================*/
#Top main .mv_sec {
    padding-top: 58.4vw;
}

@media (max-width: 750px) {
    #Top main .mv_sec {
        padding-top: clamp(205px, 54.67vw, 410px);
    }
}

#Top main .mv_sec .container {
    height: 100%;
}

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

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

#Top main .mv_contents {
    width: 100%;
    position: relative;
    height: 100%;
}

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

#Top main .mv_contents .mv_content .mv_content_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    max-width: 330px;
    width: clamp(175px, 44vw, 100%);
}

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

#Top main .mv_contents .mv_content .mv_content_txt {
    text-align: center;
    width: 100%;
    margin-top: -2.67vw;
}

#Top main .mv_contents .mv_content .btn_wrap {
    margin-top: -0.67vw;
}

#Top main .mv_contents .mv_content .btn_wrap .link_btn {
    height: clamp(40px, 10.67vw, 80px);
    font-size: clamp(14px, 3.73vw, 28px);
    max-width: 330px;
    width: 44vw;
    font-weight: 500;
}

#Top main .mv_contents .mv_content .btn_wrap .link_btn::before {
    width: clamp(13.5px, 3.6vw, 27px);
    height: clamp(6px, 1.6vw, 12px);
    right: 1.7vw;
}

#Top main .mv_contents .mv_content.sports {
    left: calc(50% - 46.67vw);
}

#Top main .mv_contents .mv_content.sports .mv_content_image {
    margin-left: auto;
    margin-right: auto;
}

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

#Top main .mv_contents .mv_content.dock {
    right: calc(50% - 46.67vw);
}

#Top main .mv_contents .mv_content.dock .mv_content_image {
    margin-left: auto;
    margin-right: auto;
}

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

/*==================================
  News
==================================*/
#News main {
    padding-bottom: 46.67vw;
}

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

#News main .header_sec .pan::after {
    content: "";
    z-index: 0;
    background: url(../images/common/sp/pan.png) no-repeat center top/auto 100%;
    display: inline-block;
    width: 22.13vw;
    height: 40vw;
    left: -4.27vw;
    position: absolute;
    bottom: -15.47vw;
    z-index: -1;
}

#News main .area1 {
    padding-top: 10.67vw;
}

#News main .area1 h1 {
    display: none;
}

#News main .area1 article {
    padding: 0 3.73vw;
}

#News main .area1 article .topic_title {
    padding: 0 0 6.67vw 0;
}

#News main .area1 article .topic_title .date {
    font-size: 4.27vw;
    font-family: "Oswald";
    font-weight: 400;
    line-height: 1;
    padding: 0 0 4vw 0;
}

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

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

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

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

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

#News main footer {
    background: url(../sp/images/news/footer.jpg) #000 no-repeat center top;
    background-size: 100% auto;
}

/*==================================
  Facility
==================================*/
#Facility main {
    background-color: #090045;
}

#Facility main .header_sec {
    position: relative;
    background: url(../images/facility/sp/head.jpg) no-repeat center top/cover;
}

#Facility main .header_sec .pan::after {
    content: "";
    z-index: 0;
    background: url(../images/common/sp/pan.png) no-repeat center top/auto 100%;
    display: inline-block;
    width: 22.13vw;
    height: 40vw;
    left: -4.27vw;
    position: absolute;
    bottom: -15.47vw;
    z-index: -1;
}

#Facility main .area1 {
    background: url(../images/facility/sp/back.jpg) no-repeat center top;
    background-size: 100vw;
    padding-top: 10.67vw;
}

#Facility main .area1 .container {
    padding: 0 3.73vw;
}

#Facility main .area1 h1 {
    padding: 0 0 6.67vw 0;
    text-align: center;
    font-size: 6.67vw;
    font-weight: bold;
}

#Facility main .area1 .slide_wrap {
    margin: 0 auto 12vw auto;
}

#Facility main .area1 .slide_wrap img {
    cursor: pointer;
}

#Facility main .area1 .slide_wrap .main_wrap {
    padding: 0 0 4vw 0;
}

#Facility main .area1 .slide_wrap .main_wrap .swiper-button-next {
    display: none;
}

#Facility main .area1 .slide_wrap .main_wrap .swiper-button-prev {
    display: none;
}

#Facility main .area1 .slide_wrap .thum_wrap .swiper-slide {
    width: 33.3% !important;
}

#Facility main .area1 .sns_wrap h2 {
    font-family: "Antonio";
    font-weight: 100;
    color: #fff;
    font-size: 10.67vw;
    padding: 0 0 5.33vw 0;
    text-align: center;
}

#Facility main .area1 .sns_wrap .tw_wrap {
    width: 100%;
    margin: 0 0 12vw 0;
}

#Facility main .area1 .sns_wrap .is_wrap {
    width: 100%;
    padding: 0 0 12vw 0;
}

#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 {
    padding: 0 0 5.87vw 0;
}

#Facility main .area1 .sns_wrap .is_wrap ul li img {
    width: 29.33vw;
    height: 29.33vw;
    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::after {
    content: "";
    display: inline-block;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    z-index: 1;
    transition: 0.3s;
    width: 5.6vw;
    height: 5.6vw;
    background: url(../images/facility/inst.svg) no-repeat 0/contain;
    left: 29.33vw;
}

#Facility main .area1 .sns_wrap .is_wrap p.btn {
    padding: 2.67vw 0 0 0;
}

#Facility main .area2 {
    padding: 0 3.73vw;
    background-color: #090045;
}

#Facility main .area2 .map_wrap {
    padding: 0 0 12vw 0;
    margin: 0 auto 0 auto;
}

#Facility main .area2 .map_wrap iframe {
    width: 100%;
    height: 69.33vw;
}

#Facility main .area2 .table_wrap {
    padding: 0 0 12vw 0;
}

#Facility main .area2 .table_wrap table {
    width: 100%;
}

#Facility main .area2 .table_wrap table th {
    width: 24vw;
    background-color: rgba(137, 121, 255, 0.25);
    border-top: #8979ff 1px solid;
    padding: 3.2vw 1.33vw;
    text-align: center;
    font-size: 4vw;
    color: #fff;
    vertical-align: middle;
    box-sizing: border-box;
}

#Facility main .area2 .table_wrap table td {
    border-top: #fff 1px solid;
    padding: 3.2vw 4.8vw;
    font-size: 4vw;
    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 footer {
    background: url(../images/facility/footer.jpg) no-repeat center top;
}

/*==================================
  About
==================================*/
#About main {
    margin-top: 0;
}

#About main::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    left: 0;
    z-index: -1;
    background: url(../images/about/sp/back.jpg) no-repeat top/contain;
    top: 0;
    height: 3789vw;
}

#About main .header_sec {
    position: relative;
}

#About main .header_sec .tit {
    padding-top: 14.67vw;
}

#About main .about_sec {
    text-align: center;
    padding-top: 8.1vw;
}

#About main .about_sec h2 {
    font-size: 8vw;
    padding-bottom: 5.1vw;
    line-height: 1.3;
}

#About main .about_sec p {
    text-align: left;
    font-weight: 500;
    line-height: 1.7;
}

#About main .description_sec {
    padding-top: 32vw;
}

#About main .description_sec .img_wrap {
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}

#About main .description_sec .img_wrap h3 {
    font-size: 6.4vw;
    padding-bottom: 7.69vw;
    font-weight: 700;
    text-align: center;
}

#About main .description_sec .img_wrap figure {
    padding-top: 5.12vw;
}

#About main .description_sec .img_wrap p {
    line-height: 1.7;
}

#About main .inspection_sec {
    padding-top: 7.69vw;
}

#About main .inspection_sec h2 {
    color: #fff;
    font-size: 6.4vw;
    padding-bottom: 7.69vw;
    text-align: center;
    line-height: 1.3;
}

#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;
    padding: 7.33vw 4.67vw 0px 4.67vw;
    margin-bottom: 6.67vw;
    justify-content: space-between;
    flex-direction: column-reverse;
}

#About main .inspection_sec .inspection .img_wrap h3 {
    font-size: 5.18vw;
    display: flex;
    align-items: center;
    padding-bottom: 2.56vw;
    margin-bottom: 5.12vw;
    position: relative;
    flex-direction: row;
    font-weight: 700;
    max-inline-size: none;
}

#About main .inspection_sec .inspection .img_wrap h3 span {
    color: #8979ff;
    font-weight: 500;
    font-size: 6.92vw;
    padding-right: 2.56vw;
}

#About main .inspection_sec .inspection .img_wrap h3::before {
    width: 100%;
    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 h3.move::before {
    background-position-x: 0;
}

#About main .inspection_sec .inspection .img_wrap .text p {
    line-height: 1.7;
    font-weight: 500;
    padding: 5.12vw 0px;
}

#About main .inspection_sec .inspection .img_wrap .text p span {
    font-size: 4.35vw;
    font-weight: 700;
    padding-bottom: 2.56vw;
    display: block;
    color: #8979ff;
    line-height: 1.3;
}

#About main .inspection_sec .inspection .img_wrap figure {
    max-width: 330px;
}

#About main .important_sec {
    padding-top: 4.5vw;
}

#About main .important_sec h2 {
    color: #fff;
    font-size: 6.41vw;
    text-align: center;
    padding-bottom: 6.41vw;
    line-height: 1.4;
}

#About main .important_sec h2 span {
    color: #8979ff;
    line-height: 1.3;
}

#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: 6.41vw;
    padding: 6.93vw 4.67vw 6.93vw;
    display: flex;
    flex-direction: column-reverse;
}

#About main .important_sec .img_wrap figure {
    width: 100%;
    margin: 0 auto 4vw;
}

#About main .important_sec .img_wrap .text {
    position: relative;
}

#About main .important_sec .img_wrap .text p {
    font-size: 3.85vw;
    line-height: 1.7;
    font-weight: 500;
}

#About main .important_sec .img_wrap h3 {
    font-weight: 700;
    font-size: 5.13vw;
    color: #570f80;
    display: flex;
    align-items: center;
    padding-bottom: 2.96vw;
    margin-bottom: 5.13vw;
    max-inline-size: none;
}

#About main .important_sec .img_wrap h3::before {
    width: 100%;
    background-image: url(../images/common/line_pw.png);
    bottom: 0;
}

#About main .important_sec .img_wrap h3 span {
    font-size: 7.3vw;
    padding-right: 3.85vw;
    letter-spacing: 0em;
}

#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: -1;
}

#About main .look_sec {
    padding-top: 17vw;
}

#About main .look_sec h3 {
    font-size: 6.41vw;
    font-weight: 700;
    padding-bottom: 2.96vw;
    margin: 0px auto 1.54vw;
}

#About main .look_sec h3::before {
    background-image: url(../images/common/line_pw.png);
    bottom: 0;
    width: 100%;
    max-inline-size: none;
}

#About main .look_sec p {
    line-height: 1.6;
    padding-bottom: 4vw;
    padding-top: 5.33vw;
    font-weight: 500;
}

#About main .look_sec .table_wrap h4 {
    font-size: 6.41vw;
    font-weight: 700;
    padding-top: 12.82vw;
    padding-bottom: 5.13vw;
    text-align: center;
}

#About main .look_sec .table_wrap .sptable {
    overflow-x: scroll;
}

#About main .look_sec .table_wrap .sptable p {
    text-align: center;
    font-weight: 500;
    margin-bottom: 4vw;
}

#About main .look_sec .table_wrap .sptable table {
    background-color: #fff;
    width: 700px;
}

#About main .look_sec .table_wrap .sptable table tr {
    min-height: 15.91vw;
}

#About main .look_sec .table_wrap .sptable table tr th {
    color: #fff;
    background-color: #6529af;
    vertical-align: middle;
    text-align: center;
    border: 1px solid #4b0199;
    font-weight: 500;
    width: 100px;
    padding: 3.08vw 0px;
}

#About main .look_sec .table_wrap .sptable table tr th:nth-of-type(1) {
    background-color: #fff;
    color: #000;
    font-size: 3.59vw;
    text-align: left;
    padding: 3.08vw 5px;
    width: 190px;
}

#About main .look_sec .table_wrap .sptable table tr td {
    vertical-align: middle;
    text-align: center;
    border: 1px solid #4b0199;
    padding: 2vw 0px;
}

#About main .look_sec .table_wrap .sptable table tr td:nth-of-type(n+2) {
    color: #703195;
}

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

#About main .look_sec .table_wrap .date {
    text-align: right;
    font-size: 3.08vw;
}

#About main .specialist_sec {
    padding-top: 12.82vw;
    position: relative;
}

#About main .specialist_sec h3 {
    font-size: 6.41vw;
    font-weight: 700;
    padding-bottom: 2.56vw;
    margin: 0px auto 10px;
    text-align: center;
}

#About main .specialist_sec h3::before {
    background-image: url(../images/common/line_pw.png);
    bottom: 0;
    width: 100%;
    max-inline-size: none;
}

#About main .specialist_sec p {
    line-height: 1.7;
}

#About main .specialist_sec .img_wrap {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding-top: 7.69vw;
}

#About main .specialist_sec .img_wrap .image figure {
    width: calc(100% - 100px);
    margin: auto;
}

#About main .specialist_sec .img_wrap .image p {
    font-size: 3.33vw;
    padding: 0px 6.41vw;
}

#About main .specialist_sec .img_wrap .image p.name {
    padding: 5px 0px 5px;
    text-align: center;
}

#About main .specialist_sec .img_wrap .image p span {
    font-size: 4.53vw;
    font-weight: 500;
}

#About main .specialist_sec .img_wrap .text {
    padding-top: 7.69vw;
}

#About main .specialist_sec .img_wrap .text dt {
    font-size: 5.13vw;
    font-weight: 700;
    color: #570f80;
    text-align: center;
    background-color: #fff;
    padding: 5px 0px;
}

#About main .specialist_sec .img_wrap .text dd {
    font-size: 3.85vw;
    line-height: 1.7;
    padding-top: 3.85vw;
    font-weight: 500;
}

/*==================================
  Course
==================================*/
#Course main#Vision,
#Course main#Wellness,
#Course main#Talent,
#Course main#Sport {
    margin-top: 0;
    z-index: 1;
}

#Course main#Vision::before,
#Course main#Vision::after,
#Course main#Wellness::before,
#Course main#Wellness::after,
#Course main#Talent::before,
#Course main#Talent::after,
#Course main#Sport::before,
#Course main#Sport::after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    left: 0;
    z-index: -1;
}

#Course main#Vision::after,
#Course main#Wellness::after,
#Course main#Talent::after,
#Course main#Sport::after {
    background: url(../images/course/sportdog/sp/bg02.jpg) no-repeat bottom/contain;
    bottom: -24vw;
    height: 386.1vw;
}

#Course main#Vision p,
#Course main#Wellness p,
#Course main#Talent p,
#Course main#Sport p {
    line-height: 1.6;
}

#Course main#Vision::before {
    background: url(../images/course/vision/sp/bg01.jpg) no-repeat top/contain;
    top: 0;
    height: 1678vw;
}

#Course main#Vision .about_sec .target {
    margin-bottom: 9vw;
}

#Course main#Vision .about_sec .target .row P {
    text-align: left;
    text-indent: -8.33vw;
    padding-left: 15.33vw;
}

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

#Course main#Vision .performance_sec .container .performance_wrap {
    padding-top: 9.33vw;
}

#Course main#Vision .performance_sec .container .performance_wrap .img_wrap {
    flex-direction: column-reverse;
    padding-top: 0px;
}

#Course main#Vision .performance_sec .container .performance_wrap .img_wrap p {
    padding-top: 0px;
}

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

#Course main#Vision .feedback_sec .container .subtit h2 {
    color: #010101;
}

#Course main#Vision .feedback_sec .container .img_wrap p {
    color: #010101;
}

#Course main#Vision .feedback_sec .double_img p {
    color: #000;
}

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

#Course main#Vision .feedback_sec .double_img .row figure:last-of-type {
    margin-top: 6vw;
}

#Course main#Vision .seeability_sec {
    color: #fff;
    padding-top: 4vw;
}

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

#Course main#Vision .seeability_sec .movie_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3vw 4vw;
    align-items: flex-end;
    margin-top: 7vw;
}

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

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

#Course main#Wellness::before {
    background: url(../images/course/wellness/sp/bg01.jpg) no-repeat top/contain;
    top: 0;
    height: 2726.91vw;
}

#Course main#Wellness .about_sec .target .row p {
    text-align: left;
    position: relative;
    text-indent: -8.33vw;
    padding-left: 15.33vw;
}

#Course main#Wellness .about_sec .target .row p span {
    font-size: 4vw;
    left: 12vw;
    text-align: left;
}

#Course main#Wellness .about_sec .target .row p.two {
    bottom: -1.33vw;
    position: relative;
    line-height: 1;
}

#Course main#Wellness .strength {
    padding-top: 40px;
}

#Course main#Wellness .inspection_sec h2 {
    color: white;
}

#Course main#Wellness .performance_sec .table_wrap h3 {
    padding-top: 10.67vw;
    padding-bottom: 8vw;
    font-size: 5.33vw;
    text-align: center;
    line-height: 1.5;
}

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

#Course main#Wellness .performance_sec .table_wrap table tr {
    min-height: 20.8vw;
}

#Course main#Wellness .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#Wellness .performance_sec .table_wrap table tr td {
    vertical-align: middle;
    text-align: center;
    border: 1px solid #4b0199;
    line-height: 1.3;
    padding: 2vw 1vw;
}

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

#Course main#Wellness .performance_sec .table_wrap table tr:nth-of-type(4) td {
    padding: 4vw 1vw;
}

#Course main#Talent {
    background-color: #0a0045;
}

#Course main#Talent::before {
    background: url(../images/course/talent/sp/bg01.jpg) no-repeat top/contain;
    top: 0;
    height: 2010.93vw;
}

#Course main#Talent::after {
    background: url(../images/course/talent/sp/bg02.jpg) no-repeat bottom/contain;
}

#Course main#Talent .about_sec .target .row P {
    text-indent: -8.33vw;
    padding-left: 15.33vw;
    line-height: 1.3;
}

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

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

#Course main#Talent .feedback_sec .double_img .row figure:last-of-type {
    margin-top: 6vw;
}

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

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

#Course main#Sport::before {
    background: url(../images/course/sportdog/sp/bg01.jpg) no-repeat top/contain;
    top: 0;
    height: 3999vw;
}

#Course main#Sport .inspection_sec {
    padding-top: 13.33vw;
}

#Course main#Sport .inspection_sec .container .subtit h2 {
    color: #010101;
}

#Course main .header_sec {
    position: relative;
}

#Course main .header_sec .tit {
    padding-top: 14.67vw;
}

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

#Course main .header_sec .pan {
    position: absolute;
    bottom: 20px;
    display: flex;
    align-items: center;
}

#Course main .header_sec .pan li a {
    color: #fff;
}

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

#Course main .subtit h2 {
    font-size: 6.67vw;
    line-height: 1.3;
}

#Course main .subtit p {
    font-size: 4vw;
    font-weight: 500;
    padding-top: 5.33vw;
    line-height: 1.6;
    text-align: left;
    text-align: justify;
}

#Course main .about_sec {
    text-align: center;
    padding-top: 8vw;
}

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

#Course main .about_sec p {
    font-size: 4vw;
    font-weight: 500;
}

#Course main .about_sec .target {
    margin-top: 11vw;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    background-color: white;
    padding: 7vw 0;
    margin-bottom: 12vw;
    border: 1px solid #7353dc;
    position: relative;
}

#Course main .about_sec .target .square {
    position: absolute;
    top: -4vw;
    width: 36.53vw;
    height: 7.2vw;
    background: linear-gradient(28deg, #290890, #684fee);
    transform: skew(-25deg, 0deg) rotate(0deg);
}

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

#Course main .about_sec .target .row {
    width: 100%;
}

#Course main .about_sec .target .row p {
    font-size: 4.53vw;
    font-weight: 700;
    text-align: left;
    line-height: 1.3;
    text-indent: -8.33vw;
    padding-left: 15.33vw;
}

#Course main .about_sec .target .row p:not(:last-of-type) {
    margin-bottom: 2vw;
}

#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: 2.67vw;
    position: relative;
    top: 0.6vw;
}

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

#Course main .about_sec .img_box figure {
    width: 100%;
    margin-bottom: 5vw;
}

#Course main .about_sec .testing_items {
    justify-content: space-between;
}

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

#Course main .about_sec .testing_items .img_wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

#Course main .about_sec .testing_items .img_wrap:last-of-type {
    margin-top: 13.33vw;
}

#Course main .about_sec .testing_items .img_wrap figure {
    margin-top: 8vw;
}

#Course main .about_sec .testing_items .img_wrap .exposition {
    color: #fff;
    padding-bottom: 4vw;
    padding-top: 5.33vw;
}

#Course main .about_sec .testing_items .sptable {
    overflow-x: scroll;
}

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

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

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

#Course main .about_sec .testing_items .sptable table tr td:nth-of-type(1) {
    color: #000 !important;
    width: 49.33vw !important;
    font-size: 2.86vw;
    padding: 0px 1.33vw;
}

#Course main .about_sec .testing_items .sptable table tr:nth-of-type(1) th {
    color: white !important;
    font-size: 3.73vw;
    font-weight: 400;
    padding: 1.33vw 0px;
}

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

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

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

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

#Course main .about_sec .testing_items .sptable table tr:nth-of-type(2n) td:nth-of-type(n+2) {
    font-size: 3.27vw;
    color: #703195;
}

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

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

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

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

#Course main .feedback_sec h2 {
    font-size: 6.67vw;
    color: #fff;
}

#Course main .feedback_sec .img_wrap {
    padding-top: 8vw;
}

#Course main .feedback_sec p {
    color: #fff;
    padding-top: 2.67vw;
}

#Course main .inspection_sec {
    padding-top: 7.5vw;
}

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

#Course main .inspection_sec .inspection {
    padding-top: 7.33vw;
}

#Course main .inspection_sec .inspection .img_wrap {
    display: flex;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 6vw 4.53vw 6vw 4.53vw;
    justify-content: space-between;
    flex-direction: column-reverse;
}

#Course main .inspection_sec .inspection .img_wrap:not(:last-of-type) {
    margin-bottom: 6.77vw;
}

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

#Course main .inspection_sec .inspection .img_wrap .text p span {
    font-size: 3.47vw;
    line-height: 1.5;
    display: block;
}

#Course main .inspection_sec .inspection .img_wrap figure {
    width: calc(100% - 16vw);
    margin: 0 auto 6.67vw;
}

#Course main .inspection_sec .inspection .img_wrap h3 {
    font-size: 5.33vw;
    display: flex;
    align-items: center;
    padding-bottom: 2.67vw;
    position: relative;
    flex-direction: row;
    font-weight: 700;
    margin-bottom: 6.77vw;
    white-space: nowrap;
}

#Course main .inspection_sec .inspection .img_wrap h3 span {
    font-size: 7.2vw;
    color: #8979ff;
    font-weight: 500;
    padding-right: 2.67vw;
}

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

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

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

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

#Course main .performance_sec .performance_wrap h3 {
    font-size: 5.33vw;
    font-weight: 700;
    padding: 0 2.67vw 8vw;
    width: 100%;
    align-items: flex-start;
}

#Course main .performance_sec .performance_wrap h3::before {
    width: 100%;
    background-image: url(../images/common/line_pw.png);
}

#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: 5.33vw;
    flex-direction: column;
}

#Course main .performance_sec .performance_wrap .img_wrap .catch {
    padding-top: 10.67vw;
}

#Course main .performance_sec .performance_wrap .img_wrap p {
    padding-top: 4.8vw;
}

#Course main .day_sec {
    z-index: 1;
    position: relative;
    height: 314.53vw;
}

#Course main .day_sec .container {
    padding-top: 40vw;
}

#Course main .day_sec h2 {
    align-items: flex-end;
    margin: auto;
    color: #fff;
    max-inline-size: none;
}

#Course main .day_sec h2::before {
    width: 100%;
    background-image: url(../images/common/line_wh.png);
    bottom: -5px;
}

#Course main .day_sec .step_wrap {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: 8vw;
}

#Course main .day_sec .step_wrap .step {
    color: #570f80;
    background: white;
    text-align: center;
    position: relative;
    padding: 3.33vw 4.67vw;
}

#Course main .day_sec .step_wrap .step::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30vw 88vw 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 {
    display: flex;
}

#Course main .day_sec .step_wrap .step dl dt dl dt {
    font-size: 5.33vw;
    padding-bottom: 6.67vw;
    flex-direction: row;
    align-items: flex-end;
    font-weight: 300;
    line-height: 1;
    margin-right: 4vw;
}

#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: 20vw;
    bottom: 4vw;
}

#Course main .day_sec .step_wrap .step dl dt dl dt span {
    font-size: 7.2vw;
    padding-left: 2.67vw;
}

#Course main .day_sec .step_wrap .step dl dt dl dd {
    font-size: 5.33vw;
    font-weight: 700;
    line-height: 1.1;
    position: relative;
    top: 1.33vw;
}

#Course main .day_sec .step_wrap .step dl dd dt {
    padding-bottom: 4vw;
    padding-top: 4vw;
    font-weight: 700;
    font-size: 6.93vw;
    display: none;
}

#Course main .day_sec .step_wrap .step dl dd dd {
    font-size: 4vw;
    font-weight: 500;
    color: #000;
    text-align: left;
}

#Course main .day_sec .step_wrap .step:not(:last-of-type) {
    margin-bottom: 12vw;
}

#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: block;
    transform: translate(0px, 0%) rotate(90deg);
    bottom: calc(0% - 33px);
    position: absolute;
    left: calc(50% - 13px);
}

#Course main .day_sec .course {
    padding-top: 6.67vw;
    color: #fff;
}

#Course main .day_sec .money {
    padding-top: 10.67vw;
}

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

#Course main .day_sec .money dl dt {
    background: linear-gradient(28deg, #511ad4, #7d64f3);
    color: white;
    width: 22.67vw;
    position: relative;
    display: flex;
    align-items: center;
}

#Course main .day_sec .money dl dt p {
    font-size: 5.33vw;
    font-weight: 700;
    position: absolute;
    transform: skew(25deg, 0deg) rotate(0deg);
    left: 0px;
    right: 0px;
    line-height: 2.5;
    height: 12vw;
    justify-content: center;
    display: flex;
    align-items: center;
    line-height: 1 !important;
}

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

#Course main .day_sec .money dl dd p {
    font-size: 6.67vw;
    font-weight: 700;
    position: absolute;
    transform: skew(25deg, 0deg) rotate(0deg);
    left: 0px;
    right: 0px;
    line-height: 1 !important;
    align-items: flex-end;
    display: flex;
    justify-content: center;
    bottom: 3.2vw;
}

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

/*==================================
  Course wellness 2023/12/14 更新
==================================*/
#Course main {
    padding-bottom: 53.67vw;
    /* 体力検診のご案内
  ==================================*/
    /* 検診の流れ
  ==================================*/
    /* 診断結果から今の自分を知る
  ==================================*/
}

#Course main .subtit .sub_ttl {
    font-size: clamp(16px, 5.33vw, 40px);
    font-weight: 700;
    line-height: 1.37;
    text-align: center;
}

#Course main .subtit p {
    font-size: clamp(15px, 4vw, 30px);
    font-weight: 500;
    padding-top: clamp(10.5px, 3.79vw, 45px);
    line-height: 1.16;
    letter-spacing: 0.02em;
}

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

#Course main .about_sec p {
    line-height: 1.375;
}

#Course main .about_sec_image {
    margin-top: clamp(22.5px, 6vw, 45px);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

#Course main .about_sec_flow_wrap {
    max-width: 690px;
    width: clamp(0px, 92vw, 100%);
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

#Course main .about_sec_flow_wrap .about_sec_flow {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-bottom: clamp(1.5px, 0.4vw, 3px);
    position: relative;
    padding-top: clamp(12.5px, 3.33vw, 25px);
}

#Course main .about_sec_flow_wrap .about_sec_flow:nth-child(2) {
    width: auto;
    max-width: 100%;
    display: inline-block;
    padding-top: clamp(2.5px, 0.67vw, 5px);
}

#Course main .about_sec_flow_wrap .about_sec_flow:nth-child(2)::after {
    background: transparent url(../images/course/wellness/sp/line_about.jpg) no-repeat center center/contain;
}

#Course main .about_sec_flow_wrap .about_sec_flow:nth-child(2) .flow {
    padding-right: 0;
    padding-left: 0;
}

#Course main .about_sec_flow_wrap .about_sec_flow:nth-child(2) .flow::after {
    display: none;
}

#Course main .about_sec_flow_wrap .about_sec_flow::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: clamp(2px, 0.53vw, 4px);
    background: transparent url(../images/course/wellness/sp/line_about_L.jpg) no-repeat center center/contain;
    height: 4px;
    background-position: 100% 100%;
}

#Course main .about_sec_flow_wrap .about_sec_flow .flow {
    font-size: clamp(12px, 3.99vw, 30px);
    font-weight: 700;
    line-height: 1.9;
    color: #180535;
    position: relative;
    padding-right: clamp(17.5px, 4.67vw, 35px);
    letter-spacing: 0.02em;
}

#Course main .about_sec_flow_wrap .about_sec_flow .flow::after {
    content: "";
    position: absolute;
    top: 53%;
    right: 0;
    transform: translateY(-50%);
    width: clamp(12.5px, 3.33vw, 25px);
    height: clamp(10.5px, 2.8vw, 21px);
    background: transparent url(../images/course/wellness/arrow.svg) no-repeat center center/contain;
}

#Course main .about_sec_flow_wrap .about_sec_flow .flow:not(:first-child) {
    padding-left: clamp(7.5px, 2vw, 15px);
}

#Course main .about_sec_flow_wrap .about_sec_flow .flow .inline {
    font-size: clamp(20px, 5.33vw, 40px);
    color: #535adc;
    font-weight: 700;
    line-height: 1.42;
    position: relative;
    padding-right: clamp(9px, 2.4vw, 18px);
}

#Course main .about_sec_flow_wrap .about_sec_flow .flow .inline .reg {
    position: absolute;
    top: clamp(2px, 0.53vw, 4px);
    right: 0;
    font-size: clamp(17px, 4.53vw, 34px);
    display: inline-block;
}

#Course main .about_sec_graph {
    padding-top: clamp(25px, 8vw, 50px);
    padding-bottom: clamp(35px, 9.33vw, 70px);
    background: #fff;
    margin-top: clamp(35px, 9.33vw, 70px);
}

#Course main .about_sec_graph .about_sec_graph_ttl {
    text-align: center;
    font-weight: 700;
    color: #180535;
}

#Course main .about_sec_graph .about_sec_graph_ttl .top {
    font-size: clamp(15px, 4vw, 30px);
    line-height: 1.16;
}

#Course main .about_sec_graph .about_sec_graph_ttl .md {
    font-size: clamp(20px, 5.33vw, 40px);
    line-height: 1.375;
    padding-top: clamp(3px, 0.6vw, 6px);
    display: inline-block;
}

#Course main .about_sec_graph .about_sec_graph_ttl .bottom {
    font-size: clamp(20px, 5.33vw, 40px);
    line-height: 1.44;
    color: #535adc;
}

#Course main .about_sec_graph .about_sec_graph_image_wrap {
    width: clamp(0px, 93.33vw, 100%);
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

#Course main .about_sec_graph .about_sec_graph_image_wrap .about_sec_graph_image {
    width: 100%;
}

#Course main .about_sec_graph .about_sec_graph_image_wrap .about_sec_graph_image.graph_top {
    margin-top: clamp(22.5px, 6vw, 45px);
    width: clamp(0px, 84vw, 100%);
    max-width: 700px;
    margin-right: auto;
    margin-left: auto;
}

#Course main .about_sec_graph .about_sec_graph_image_wrap .about_sec_graph_image.graph_md {
    width: clamp(0px, 84vw, 100%);
    max-width: 615px;
    margin-top: clamp(15px, 4vw, 30px);
    margin-left: auto;
    margin-right: auto;
}

#Course main .about_sec_graph .about_sec_graph_image_wrap .about_sec_graph_image.graph_bottom {
    width: clamp(0px, 88vw, 660px);
    padding: 0 clamp(5px, 1.33vw, 10px);
    margin-left: auto;
    margin-right: auto;
}

#Course main .about_sec_graph .about_sec_graph_image_wrap .about_sec_graph_image img {
    width: 100%;
}

#Course main .about_sec_action {
    padding-top: clamp(45px, 12vw, 90px);
}

#Course main .about_sec_action .sec_image_wrap .text p {
    line-height: 1.66;
}

#Course main .sec_image_wrap {
    display: flex;
    flex-direction: column-reverse;
}

#Course main .sec_image_wrap .text {
    width: 100%;
    text-align: left;
}

#Course main .sec_image_wrap .text p {
    margin-top: clamp(7.5px, 2vw, 15px);
    font-size: clamp(15px, 4vw, 30px);
    line-height: 1.66;
    letter-spacing: 0.02em;
}

#Course main .sec_image_wrap .line_ttl {
    width: 100%;
    text-align: center;
    font-weight: 700;
    font-size: clamp(30px, 8vw, 60px);
    color: #090045;
    line-height: 1;
    margin-left: auto;
    margin-right: auto;
}

#Course main .sec_image_wrap .line_ttl .inline {
    display: inline-block;
    font-size: clamp(15px, 4vw, 30px);
    line-height: 1;
    margin-bottom: clamp(10px, 2.67vw, 20px);
}

#Course main .sec_image_wrap .sec_image {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: clamp(25px, 6.67vw, 50px);
}

#Course main .about_sec_answer {
    padding-top: clamp(45px, 12vw, 90px);
}

#Course main .about_sec_answer .about_sec_answer_text h3 {
    font-size: clamp(16px, 5.33vw, 40px);
    font-weight: 700;
    line-height: 1.375;
    color: #090045;
}

#Course main .about_sec_answer .about_sec_answer_image {
    margin-top: clamp(25px, 6.67vw, 50px);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

#Course main .about_sec_answer .about_sec_answer_image img {
    width: 100%;
}

#Course main .guide_sec {
    padding-top: clamp(60px, 16vw, 120px);
}

#Course main .guide_sec .subtit p {
    line-height: 1.66;
}

#Course main .guide_sec_main {
    padding-top: clamp(20px, 5.33vw, 40px);
}

#Course main .guide_sec_main .sec_image_wrap {
    background-color: #fff;
    padding: clamp(25px, 6.67vw, 50px) clamp(17.5px, 4vw, 35px);
}

#Course main .guide_sec_main .sec_image_wrap:not(:first-child) {
    margin-top: clamp(10px, 2.67vw, 20px);
}

#Course main .guide_sec_main .sec_image_wrap.eye .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 .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 .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 p {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    font-weight: 500;
    line-height: 1.66 !important;
}

#Course main .guide_sec_main .sec_image_wrap .sec_image {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: clamp(15px, 4vw, 30px);
}

#Course main .guide_sec_main .sec_image_wrap .line_ttl {
    font-size: clamp(16px, 5.33vw, 40px);
    line-height: 1.375;
    letter-spacing: 0.02em;
    text-align: left;
    margin: 0;
    padding-left: clamp(43px, 11.47vw, 86px);
    padding-bottom: clamp(15px, 4vw, 30px);
    max-inline-size: none;
    width: auto;
}

#Course main .guide_sec_main .sec_image_wrap .line_ttl::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: clamp(42.5px, 11.33vw, 85px);
    height: clamp(47.5px, 12.67vw, 95px);
    background: transparent url(../images/course/wellness/guide_icon.svg) no-repeat center center/contain;
    margin-left: clamp(-20px, 2.67vw, -10px);
}

#Course main .guide_sec_main .sec_image_wrap .line_ttl::before {
    width: clamp(0px, 88vw, 660px);
    background-position-x: -600px;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background-image: url(../images/common/line_pw.png);
    height: 2px;
}

#Course main .guide_sec_main .sec_image_wrap .line_ttl.move::before {
    background-position-x: 0;
}

#Course main .guide_sec_main .sec_image_wrap .line_ttl .inline {
    color: #5f5cc7;
    font-size: clamp(20px, 5.33vw, 40px);
    margin-bottom: 0;
}

#Course main#Wellness .day_sec {
    padding-top: clamp(55px, 14.67vw, 110px);
}

#Course main .day_sec {
    height: auto;
}

#Course main .day_sec .container {
    padding-top: 0;
}

#Course main .day_sec h2 {
    font-size: clamp(25px, 6.67vw, 50px) !important;
}

#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: #010101;
    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: #5f5cc7;
}

#Course main .day_sec .step_wrap .step dl dt dl dt span {
    color: #5f5cc7;
}

#Course main .day_sec .step_wrap .step dl dt dl dd {
    color: #5f5cc7;
}

#Course main .day_sec .step_wrap .step dl dd dl dd {
    line-height: 1.66;
}

#Course main .day_sec .step_wrap .step dl dd dl dd .small {
    font-size: 4vw;
    line-height: 1;
}

#Course main .result_sec {
    padding-top: clamp(70px, 18.67vw, 140px);
    position: relative;
    z-index: 1;
}

#Course main .result_sec .subtit h2 {
    font-weight: 800;
}

#Course main .result_sec_graph {
    background-color: #fff;
    margin-top: clamp(20px, 5.33vw, 40px);
    padding-top: clamp(17.5px, 4vw, 35px);
    padding-left: clamp(17.5px, 4vw, 35px);
    padding-right: clamp(17.5px, 4vw, 35px);
    padding-bottom: clamp(21.5px, 5.73vw, 43px);
}

#Course main .result_sec_graph_ttl {
    font-size: clamp(25px, 7.33vw, 50px);
    font-family: "Antonio";
    font-weight: 100;
    line-height: 1;
    text-align: center;
    color: #090045;
}

#Course main .result_sec_graph_wrap {
    margin-top: clamp(20px, 5.33vw, 40px);
    margin-left: auto;
    margin-right: auto;
}

#Course main .result_sec_graph_wrap .result_sec_graph_image {
    width: 100%;
}

#Course main .result_sec_graph_wrap .result_sec_graph_image.data {
    margin-top: clamp(17.5px, 4.67vw, 35px);
}

#Course main .result_sec_pic_wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: clamp(7.5px, 2vw, 15px);
    margin-top: clamp(25px, 7.33vw, 50px);
}

#Course main .result_sec_pic_wrap .result_sec_pic {
    width: 100%;
}

#Course main .result_sec_pic_wrap .result_sec_pic img {
    width: 100%;
}

#Course main .money {
    padding-top: 10.67vw;
}

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

#Course main .money dl dt {
    background: linear-gradient(28deg, #511ad4, #7d64f3);
    color: white;
    width: 22.67vw;
    position: relative;
    display: flex;
    align-items: center;
}

#Course main .money dl dt p {
    font-size: 5.33vw;
    font-weight: 700;
    position: absolute;
    transform: skew(25deg, 0deg) rotate(0deg);
    left: 0px;
    right: 0px;
    line-height: 2.5;
    height: 12vw;
    justify-content: center;
    display: flex;
    align-items: center;
    line-height: 1 !important;
}

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

#Course main .money dl dd p {
    font-size: 6.67vw;
    font-weight: 700;
    position: absolute;
    transform: skew(25deg, 0deg) rotate(0deg);
    left: 0px;
    right: 0px;
    line-height: 1 !important;
    align-items: flex-end;
    display: flex;
    justify-content: center;
    bottom: 3.2vw;
}

#Course main .money dl dd p span {
    font-size: 4vw;
}

/* 検診の流れ
==================================*/
#Course main .day_sec .step_wrap .step:not(:last-of-type)::after {
    background: transparent url(../images/course/arrow_bk.svg) no-repeat center center/contain;
    width: clamp(20px, 5.33vw, 40px);
    height: clamp(25px, 6.67vw, 50px);
    bottom: calc(0% - 8.93vw);
}

/* 背景の設定
==================================*/
#Course main#Wellness::before {
    background: url(../images/course/wellness/sp/bg01.jpg) no-repeat top/contain;
    top: 0;
    height: 1002.13vw;
}

#Course main#Wellness::after {
    background: url(../images/course/wellness/sp/bg02.png) no-repeat bottom/contain;
    bottom: -15vw;
    height: 816.4vw;
}

#Course main {
    background: #efeaff;
}

#Course footer {
    margin-top: -23.33vw;
}

/* 既存CSSの上書き
==================================*/
#Course main .day_sec .step_wrap .step:not(:last-of-type) {
    margin-bottom: 10vw;
}

#Course main .day_sec .step_wrap .step:not(:last-of-type)::after {
    bottom: calc(0% - 7.93vw);
}

#Course main .subtit h2 {
    font-size: clamp(16px, 7.9vw, 60px);
}

#Course main#Wellness .header_sec .tit h1 .en {
    letter-spacing: 0.1em;
}

#Course main .day_sec .step_wrap .step:not(:last-of-type)::after {
    width: clamp(22px, 5.6vw, 42px);
}

#Course main .day_sec .step_wrap .step::before {
    border-width: 31vw 92vw 0 0;
}

/* 2023/12/19_アローズラボではスポーツ科学の専門家が?の文字の位置調整
==================================*/
#Top main .menu_sec .text_wrap {
    padding-bottom: 143.87vw;
}

#Top main .menu_sec .text_wrap p {
    margin-top: 0;
    position: absolute;
    bottom: 13.49%;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    padding-left: 4vw;
    padding-right: 4vw;
    box-sizing: border-box;
}

/*==================================
  Course
==================================*/
#Personal main {
    margin-top: 0;
    padding-bottom: 40.67vw;
}

#Personal main::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    left: 0;
    z-index: -1;
    background: url(../images/personal/sp/back.jpg) no-repeat top/100% auto;
    top: 14.67vw;
    height: 1604.27vw;
}

#Personal main .header_sec {
    position: relative;
}

#Personal main .header_sec .tit {
    min-height: 53.33vw;
    align-items: center;
    padding-top: 14.67vw;
    display: flex;
    justify-content: center;
}

#Personal main .header_sec .tit h1 {
    align-items: center;
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

#Personal main .header_sec .tit h1 .jp {
    font-size: 8vw;
    font-weight: 700;
    color: #fff;
}

#Personal main .header_sec .tit h1 .en {
    font-size: 5.33vw;
    text-align: center;
    color: #fff;
}

#Personal main .about_sec {
    text-align: center;
    padding-top: 10.67vw;
}

#Personal main .about_sec h2 {
    font-size: 8vw;
    padding-bottom: 5.33vw;
    line-height: 1.3;
}

#Personal main .about_sec h3 {
    font-size: 5.33vw;
    padding-bottom: 5.33vw;
    line-height: 1.5;
}

#Personal main .about_sec p {
    font-size: 4vw;
    font-weight: 500;
    line-height: 1.7;
    text-align: left;
}

#Personal main .worries_sec {
    padding-top: 88.33vw;
}

#Personal main .worries_sec h4 {
    font-size: 6.67vw;
    font-weight: 700;
    line-height: 1.7;
    color: #fff;
    text-align: center;
}

#Personal main .worries_sec .upperrow {
    display: flex;
    width: 100%;
    justify-content: space-between;
    flex-direction: column;
    padding-top: 8vw;
}

#Personal main .worries_sec .upperrow h4 {
    width: 100%;
    top: 0px;
    position: relative;
    text-align: center;
    padding-bottom: 5.33vw;
}

#Personal main .worries_sec .upperrow .worries_wrap {
    width: 100%;
    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;
    width: 31.5%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%;
    margin: 0px 2px;
    min-width: 28.53vw;
    min-height: 28.53vw;
}

#Personal main .worries_sec .upperrow .worries_wrap .worries p {
    font-weight: 700;
    font-size: 3.47vw;
    color: #06136e;
    line-height: 1.4;
    letter-spacing: -0.05em;
}

#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: 1.33vw;
}

#Personal main .worries_sec .lowerrow {
    padding-top: 8vw;
}

#Personal main .merit_sec {
    padding-top: 85.67vw;
}

#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: 6.67vw;
    font-weight: 700;
    padding-bottom: 2.67vw;
}

#Personal main .merit_sec .subtit h2 .en {
    font-size: 5.07vw;
}

#Personal main .merit_sec .subtit h3 {
    font-size: 5.33vw;
    font-weight: 700;
    padding-bottom: 1.87vw;
    margin: 8vw auto 5.33vw;
    padding-left: 10.67vw;
    padding-right: 10.67vw;
    color: #fff;
}

#Personal main .merit_sec .subtit h3::before {
    width: 100%;
    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;
    flex-direction: column;
}

#Personal main .merit_sec .merit_warp .merit {
    color: #fff;
}

#Personal main .merit_sec .merit_warp .merit:last-of-type {
    margin-top: 20px;
}

#Personal main .merit_sec .merit_warp .merit h3 {
    font-size: 5.33vw;
    font-weight: 700;
    padding-bottom: 1.87vw;
    margin: 0 auto 5.33vw;
    padding-left: 10.67vw;
    padding-right: 10.67vw;
}

#Personal main .merit_sec .merit_warp .merit h3::before {
    width: 100%;
    background-image: url(../images/common/line_wh.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: 4.35vw;
    font-weight: 500;
    padding-bottom: 1.33vw;
    text-indent: -8vw;
    padding-left: 13.33vw;
    line-height: 1.3;
}

#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: 10px;
}

#Personal main .menu_sec {
    margin-top: 56.13vw;
    position: relative;
    margin-bottom: 56.13vw;
}

#Personal main .menu_sec .text_wrap h2::before {
    width: 36vw;
    background-image: url(../images/common/line_pw.png);
}

#Personal main .menu_sec .text_wrap .menu_wrap {
    position: absolute;
    right: 0;
    top: 17.67vw;
    width: 97.07vw;
}

#Personal main .menu_sec .text_wrap p {
    margin-top: 124.87vw;
    font-size: 4vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: -0.02em;
}

/*==================================
  Course
==================================*/
#Team main {
    margin-top: 0;
    padding-bottom: 38vw;
}

#Team main::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    left: 0;
    z-index: -1;
    background: url(../images/team/sp/back.jpg) no-repeat top/contain;
    top: 0;
    height: 1256vw;
}

#Team main .header_sec {
    position: relative;
}

#Team main .header_sec .tit {
    min-height: 53.33vw;
    align-items: center;
    padding-top: 14.67vw;
    display: flex;
    justify-content: center;
}

#Team main .header_sec .tit h1 {
    align-items: center;
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

#Team main .header_sec .tit h1 .jp {
    font-size: 8vw;
    font-weight: 700;
    color: #fff;
}

#Team main .header_sec .tit h1 .en {
    font-size: 5.33vw;
    text-align: center;
    color: #fff;
}

#Team main .about_sec {
    text-align: center;
    padding-top: 10.67vw;
}

#Team main .about_sec h2 {
    font-size: 8vw;
    padding-bottom: 5.33vw;
    line-height: 1.3;
}

#Team main .about_sec h3 {
    font-size: 5.33vw;
    padding-bottom: 5.33vw;
    line-height: 1.5;
}

#Team main .about_sec p {
    font-size: 4vw;
    font-weight: 500;
    line-height: 1.7;
    text-align: left;
}

#Team main .worries_sec {
    padding-top: 88.33vw;
}

#Team main .worries_sec h4 {
    font-size: 6.67vw;
    font-weight: 700;
    line-height: 1.7;
    color: #fff;
    text-align: center;
}

#Team main .worries_sec .upperrow {
    display: flex;
    width: 100%;
    justify-content: space-between;
    flex-direction: column;
    padding-top: 8vw;
}

#Team main .worries_sec .upperrow h4 {
    width: 100%;
    top: 0px;
    position: relative;
    text-align: center;
    padding-bottom: 5.33vw;
}

#Team main .worries_sec .upperrow .worries_wrap {
    width: 100%;
    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;
    width: 30%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%;
    margin: 0px 2px;
    min-width: 28.53vw;
    min-height: 28.53vw;
}

#Team main .worries_sec .upperrow .worries_wrap .worries p {
    font-weight: 700;
    font-size: 3.47vw;
    color: #570f80;
    line-height: 1.4;
    letter-spacing: -0.05em;
}

#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: 1.33vw;
}

#Team main .worries_sec .lowerrow {
    padding-top: 8vw;
}

#Team main .merit_sec {
    padding-top: 85.67vw;
}

#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: 6.67vw;
    font-weight: 700;
    padding-bottom: 2.67vw;
}

#Team main .merit_sec .subtit h2 .en {
    font-size: 5.07vw;
}

#Team main .merit_sec .merit_warp {
    display: flex;
    justify-content: space-between;
    padding-top: 8vw;
    flex-direction: column;
}

#Team main .merit_sec .merit_warp .merit {
    color: #fff;
}

#Team main .merit_sec .merit_warp .merit:last-of-type {
    margin-top: 20px;
}

#Team main .merit_sec .merit_warp .merit h3 {
    font-size: 5.33vw;
    font-weight: 700;
    padding-bottom: 1.87vw;
    margin: 0 auto 5.33vw;
    padding-left: 10.67vw;
    padding-right: 10.67vw;
}

#Team main .merit_sec .merit_warp .merit h3::before {
    width: 100%;
    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: 4.35vw;
    font-weight: 500;
    padding-bottom: 1.33vw;
    text-indent: -8vw;
    padding-left: 13.33vw;
    line-height: 1.3;
}

#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: 10px;
}

#Team main .menu_sec {
    margin-top: 62.13vw;
    position: relative;
    margin-bottom: 24.13vw;
}

#Team main .menu_sec .text_wrap h2::before {
    width: 36vw;
    background-image: url(../images/common/line_pw.png);
}

#Team main .menu_sec .text_wrap .menu_wrap {
    position: absolute;
    right: 15px;
    top: 17.67vw;
    width: 73.07vw;
}

#Team main .menu_sec .text_wrap p {
    margin-top: 124.87vw;
    font-size: 4vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: -0.02em;
}

/*==================================
  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;
}

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;
    margin: 0 auto 20px;
}

.wpcf7cp-btns {
    text-align: center;
}

@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;
}

main#Contact .contact_back a:hover {
    opacity: 0.7 !important;
}

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

@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 .wpcf7cp-btns button {
        font-size: 4.8vw;
        width: 82.67vw;
    }

    main#Contact .wpcf7cp-btns button {
        font-size: 4.8vw;
        height: 13.33vw;
    }

    main#Contact .wpcf7cp-btns button.wpcf7cp-cfm-edit-btn {
        margin-top: 6.67vw;
    }

    main#Contact .wpcf7cp-btns button {
        font-size: 4.8vw;
        width: 69.87vw;
        height: 15.47vw;
        padding: 4vw 4vw 3.73vw;
    }
}

/*==================================
  Contact
==================================*/
main#Contact .header_sec {
    position: relative;
    background: url(../images/contact/sp/head.jpg) no-repeat center top/cover;
}

main#Contact .header_sec .pan::after {
    content: "";
    z-index: 0;
    background: url(../images/common/sp/pan.png) no-repeat center top/auto 100%;
    display: inline-block;
    width: 83px;
    height: 150px;
    left: -4vw;
    position: absolute;
    bottom: -60px;
    z-index: -1;
}

main#Contact .container {
    padding-left: 15px;
    padding-right: 15px;
}

main#Contact .container p {
    font-size: 16px;
}

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 .agree_area {
    margin: 30px 0 0;
    text-align: center;
}

main#Contact .need {
    color: #8979ff;
}

main#Contact table {
    display: block;
}

main#Contact table tbody {
    display: block;
}

main#Contact table tr {
    display: block;
    padding-bottom: 20px;
    padding-top: 20px;
    border-top: 1px solid #d3d3d3;
}

main#Contact table tr:last-of-type {
    border-bottom: 1px solid #d3d3d3;
}

main#Contact table tr th {
    font-size: 16px;
    letter-spacing: 0.03em;
    font-weight: 500;
    display: block;
    text-align: left;
    margin-bottom: 5px;
}

main#Contact table tr th .caution {
    display: block;
    text-indent: -1em;
    padding-left: 1em;
    margin-top: 8px;
}

main#Contact table tr td {
    display: block;
}

main#Contact table tr td .col:nth-of-type(n+2) input {
    margin-top: 10px;
}

main#Contact table tr td .text02 {
    margin-top: 8px;
}

main#Contact table tr td.row .pt {
    font-size: 12px;
}

main#Contact .check-list {
    padding-left: 0;
    padding-top: 5px;
    display: flex;
    flex-direction: column;
}

main#Contact .check-list li {
    display: inline-block;
    margin-bottom: 15px;
}

main#Contact .check-list.type>li {
    display: block;
    margin-bottom: 18px;
}

main#Contact .check-list.type>li:last-child {
    margin-bottom: 0;
}

main#Contact .check-list.pedal>li {
    margin-right: 50px;
}

main#Contact .check-list.pedal>li:last-child {
    margin-right: 0;
}

main#Contact .check-list.play {
    margin-bottom: -18px;
}

main#Contact .check-list.play>li {
    padding-bottom: 18px;
    margin-right: 20px;
}

main#Contact .form_wrap {
    padding-left: 15px;
    padding-right: 15px;
}

main#Contact .form_wrap>p {
    margin-top: 0 !important;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.03em;
    font-weight: 500;
    padding-bottom: 40px;
}

main#Contact.sfm2 td p {
    overflow-wrap: break-word;
}

main#Contact .form-sec {
    padding-top: 40px;
}

main#Contact footer {
    background: url(../images/contact/sp/footer.jpg) #000 no-repeat center top;
    background-size: 100% auto;
}

main#Contact .check-list span.wpcf7-list-item {
    display: block;
    margin: 0 0 10px;
}

@media (max-width: 1300px) {
    main#Contact .container {
        padding-left: 4vw;
        padding-right: 4vw;
    }

    main#Contact .container p {
        font-size: 4.27vw;
    }

    main#Contact .agree_area {
        margin: 8vw 0 0;
    }

    main#Contact table tr {
        padding-bottom: 5.33vw;
        padding-top: 5.33vw;
    }

    main#Contact table tr th {
        font-size: 4.27vw;
        margin-bottom: 1.33vw;
    }

    main#Contact table tr th .caution {
        margin-top: 2.13vw;
    }

    main#Contact table tr td .col:nth-of-type(n+2) input {
        margin-top: 2.67vw;
    }

    main#Contact table tr td .text02 {
        margin-top: 2.13vw;
    }

    main#Contact table tr td.row .pt {
        font-size: 3.2vw;
    }
}

/*==================================
  Privacy
==================================*/
#Privacy main .header_sec {
    position: relative;
    background: url(../images/contact/sp/head.jpg) no-repeat center top/cover;
}

#Privacy main .header_sec .pan::after {
    content: "";
    z-index: 0;
    background: url(../images/common/sp/pan.png) no-repeat center top/auto 100%;
    display: inline-block;
    width: 83px;
    height: 150px;
    left: -15px;
    position: absolute;
    bottom: -60px;
    z-index: -1;
}

#Privacy main .content_sec {
    padding-top: 40px;
}

#Privacy main footer {
    background: url(../images/contact/sp/footer.jpg) #000 no-repeat center top;
    background-size: 100% auto;
}

#Privacy main .container {
    padding-left: 15px;
    padding-right: 15px;
}

#Privacy main .lead {
    padding: 0 0 20px 0;
    font-size: 16px;
}

#Privacy main dl dt {
    padding: 0 0 20px 0;
    font-size: 22px;
    line-height: 1.6;
}

#Privacy main dl dd {
    font-size: 16px;
    line-height: 1.7;
    padding: 0 0 40px 0;
}

#Privacy main dl:last-of-type dd {
    padding: 0 0 0px 0;
}

.top_logo {
    position: absolute;
    top: 85vw;
    width: 100%;
}

.top_logo img {
    width: 32vw;
    margin: 0 auto;
    display: block;
}

.select_caution {
    font-size: .85rem;
    margin: 10px 0 0;
}

.select_caution span {
    color: red;
}

.grecaptcha-badge {
    display: none !important;
}

.bl_recaptcha {
    padding: 10px 0 20px;
    font-size: 3.2vw !important;
}

.bl_recaptcha a {
    margin: 0 2px;
    border-bottom: 1px solid #00a1e9;
    color: #00a1e9;
}