/*
Theme Name: MIGINANAMEUE Thema
Theme URI:
Description:
Author:
Author 
Version:2.0
*/

@charset "utf-8";

/*----------------------------------------------------------------------
base
----------------------------------------------------------------------*/

html {
    min-width: 280px;
    font-size: 100%;
    height: 100%;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
}

body,
input,
textarea {
    font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, sans-serif;
    /* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; */
    font-style: normal;
    font-weight: 400;
}

body {
    color: #000;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
}

.wf-loading body header {
    opacity: 0;
    transition: 0.5s;
}

.loading-delay body header,
.wf-active body header {
    opacity: 1;
}


/*safariの場合*/

::-webkit-full-page-media,
:future,
:root html {
    height: -webkit-fill-available;
}

::-webkit-full-page-media,
:future,
:root body {
    min-height: -webkit-fill-available;
}


/*safariの場合ここまで*/

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

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

a,
a img,
a svg,
a svg path {
    transition: 0.3s;
}

a:hover img,
a:hover {
    opacity: 0.7;
}

span.big {
    font-size: 1.5em;
}

span.red {
    color: #ff3333;
    font-weight: bold;
}

table {
    border-collapse: collapse;
}

h1 {
    font-size: 2em;
}

h2 {
    font-size: 1.5em;
}

h3 {
    font-size: 1.17em;
}

dh {
    color: #555;
    font-size: 20px;
    font-weight: bold;
}

strong {
    font-weight: bold;
}

input,
textarea,
button,
input[type="submit"] {
    -webkit-appearance: none;
    border-radius: 0;
}

input[type="checkbox"] {
    -webkit-appearance: auto;
}


/*------------------パンくずリスト------------*/

.breadcrumg-area {
    width: 100%;
}

.breadcrumg-area ul {
    padding-left: 0;
    margin-bottom: 30px;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
}

.breadcrumg-area ul li {
    display: inline;
    padding-left: 17px;
    position: relative;
    margin-left: 10px;
}

.breadcrumg-area ul li::before {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    color: #333;
    width: 7px;
    height: 12px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(./img/arrow_pan.png);
}

.breadcrumg-area ul li:first-child {
    padding-left: 0;
    margin-left: 0;
}

.breadcrumg-area ul li:first-child::before {
    display: none;
}


/*----------------------------------------------------------------------
all
----------------------------------------------------------------------*/

.inner {
    width: 1120px;
    max-width: 90%;
    margin: auto;
}

.w_max {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.fff {
    color: #fff;
}

.id_link_contents {
    height: 0;
    opacity: 0;
    pointer-events: none;
    z-index: -999999;
    /* 高さは要調整 */
    padding-top: 80px;
    margin-top: -80px;
}

.fade_up {
    opacity: 0;
}

.loading-delay .fade_up,
.wf-active .fade_up {
    animation: fade-up-item 0.5s ease-out forwards;
}

.is_fade_up {
    opacity: 0;
}

.is_fade_up.is_fade_up_start {
    animation: fade-up-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

@keyframes fade-up-item {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.is_fade_left {
    opacity: 0;
}

.is_fade_left.is_fade_left_start {
    animation: fade-left-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

@keyframes fade-left-item {
    0% {
        opacity: 0;
        transform: translateX(-50vw);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.is_fade_right {
    opacity: 0;
}

.is_fade_right.is_fade_right_start {
    animation: fade-right-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

@keyframes fade-right-item {
    0% {
        opacity: 0;
        transform: translateX(50vw);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.fade_in {
    opacity: 0;
}

.loading-delay .fade_in,
.wf-active .fade_in {
    animation: fade-in-item 0.8s ease-out forwards;
}

.is_fade_in {
    opacity: 0;
}

.is_fade_in.is_fade_in_start {
    animation: fade-in-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

@keyframes fade-in-item {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.fade_in_zoom {
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
}

.loading-delay .fade_in_zoom,
.wf-active .fade_in_zoom {
    animation: fade-in-zoom-item 0.5s ease-out forwards;
}

@keyframes fade-in-zoom-item {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}


p.no_post {
    padding: 80px 0;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
}

.FuB {
    font-family: futura-pt-bold, sans-serif;
    font-weight: 700;
    font-style: normal;
}

.Fu {
    font-family: futura-pt, 'Noto Sans JP', sans-serif;
    font-style: normal;
    font-weight: 700;
}

/*----------------------------------------------------------------------
header
----------------------------------------------------------------------*/

/*----- modal menu -----*/



.modal_btn_wrapper {
    /*調整が必要*/
    position: fixed;
    right: 20px;
    top: 32px;
    z-index: 999999;
}

body.page_id_21 .modal_btn_wrapper {
    animation: modal_btn 0.3s ease-out forwards;
    animation-delay: 5s;
    transform: scale(0, 0);
}

@keyframes modal_btn {
    0% {
        transform: scale(0, 0);
    }

    90% {
        transform: scale(1.2, 1.2);
    }

    100% {
        transform: scale(1, 1);
    }
}

button.menu-trigger,
button.menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}

button.menu-trigger {
    position: relative;
    width: 31px;
    height: 27px;
    background: none;
    border: none;
    appearance: none;
    cursor: pointer;
    opacity: 1;
    transition: 0.3s;
    padding: 0;
}

button.menu-trigger.active {
    opacity: 0;
    pointer-events: none;
}

button.menu-trigger svg path {
    transition: 0.3s;
}

.modal_btn_wrapper.fill_wh button.menu-trigger svg path {
    fill: #fff;
}

.modal.js-modal {
    height: 100%;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 99999;
    overflow: hidden;
    pointer-events: none;
}

.modal__bg.js-modal-close {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    background-color: #000;
    pointer-events: none;
    transition: 0.3s;
    opacity: 0;
}

.modal_inner {
    padding-top: 20vh;
    height: 100%;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    position: absolute;
    z-index: 1;
    width: 100%;
    margin-left: 0;
    bottom: 0;
    left: 110vw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    background-color: #fff;
    transition: 0.3s;
    pointer-events: all;
    transform: rotate(10deg);
    transform-origin: left bottom;
}

.modal_inner:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 210px;
    bottom: -200px;
    left: 0;
    background-color: #fff;
}


.modal.js-modal.active .modal__bg.js-modal-close {
    pointer-events: all;
    opacity: 0.2;
}

.modal.js-modal.active .modal_inner {
    left: 0;
}

.modal__content {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    margin-left: 35px;
}

.modal__content ul {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    max-height: 530px;
    padding-bottom: 30px;
    margin-top: 20px;
    /* margin-top: 20vh; */
}

li.modal_home {
    margin-bottom: 60px;
}

.modal__content ul li a {
    font-weight: 700;
    font-size: 27px;
    line-height: 32px;
    letter-spacing: 0.08em;
    color: #000;
    transform: rotate(-10deg);
    display: block;
    transform-origin: left bottom;
}

.modal_content_bottom {
    flex-shrink: 0;
    width: 100%;
}

.modal_content_bottom a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    background-color: #ffc107;
}

/*----- end modal menu -----*/


/*----------------------------------------------------------------------
main
----------------------------------------------------------------------*/

.is_fade_slide {
    opacity: 0;
}

@keyframes fade-up-slide {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fade-up-slide-out {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}


main.front_page {
    height: 100%;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
}

main.front_page li {
    list-style: none;
}

/* スライダー全体 */

.swiper-container.no_slide {
    pointer-events: none;
}

.vertical-slider {
    width: 100%;
    height: 100%;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
}

.main_slider .swiper-wrapper {
    transition-timing-function: ease-in-out;
    position: relative;
    z-index: 2;
}

/* スライド */
.vertical-slider__slide {
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    position: relative;
    z-index: 3;
}


.HomeScene-bg {
    width: 100vw;
    height: 100%;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    overflow: hidden;
    visibility: hidden;
}


.swiper-slide-prev .HomeScene-bg,
.swiper-slide-active .HomeScene-bg,
.swiper-slide-next .HomeScene-bg {
    visibility: inherit;
    z-index: 4;
}

.swiper-slide .inner {
    transition: 0.7s;
}

.swiper-slide-active .is_blur {
    animation: fade_in_inner 0.7s ease-out forwards;
    filter: blur(10px);
}

@keyframes fade_in_inner {
    0% {
        filter: blur(10px);
    }

    50% {
        filter: blur(10px);
    }

    100% {
        filter: blur(0px);
    }
}

.swiper-slide-next .is_blur,
.swiper-slide-prev .is_blur {
    animation: fade_out_inner 0.4s ease-out forwards;
}

@keyframes fade_out_inner {
    0% {
        filter: blur(0px);
    }

    100% {
        filter: blur(10px);
        opacity: 0.5;
    }
}

.fp_bg {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    pointer-events: none;
}

.bg_video {
    position: relative;
    z-index: -1;
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
}

.bg_video video {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
}

.bg_mask {
    position: absolute;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    opacity: 0.4;
    transition: 0.3s;
}

.bg_mask.bg_bk {
    background-color: #000;
}

.bg_mask.bg_wh {
    background-color: #fff;
    opacity: 1;
}

.s_contents {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.HomeScene-bg,
.main_slider .swiper-wrapper {
    /*transition-timing-function: linear !important;*/
    transition-timing-function: ease !important;
}

/*-------------------
fix menu
-------------------*/

.swiper-pagination.vertical-slider__pagination {
    pointer-events: none;
    opacity: 0;
    overflow: hidden;
    width: 0;
    height: 0;
    z-index: -1;
}

.fp_menu {
    position: fixed;
    z-index: 9;
    right: 56px;
    bottom: 56px;
    transition: 0.3s;
}

.fp_menu.bg_gra_menu {
    opacity: 0;
    pointer-events: none;
}

.fp_menu .slider_links ul {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
}

li.slider_link {
    height: auto !important;
    cursor: pointer;
    margin-bottom: 16px;
}

li.slider_link:last-child {
    margin-bottom: 0;
}


li.slider_link.no_link {
    height: 0 !important;
    width: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
}

.slider_links li.slider_link a {
    opacity: 1;
    color: #AAAAAA;
    position: relative;
    display: block;
}

.slider_links li.slider_link a:hover,
.slider_links li.slider_link a.active {
    opacity: 1;
    color: #666666;
}

.slider_links li.slider_link.slider_link_recruit a p svg path {
    fill: #AAAAAA;
}

.slider_links li.slider_link.slider_link_recruit a:hover p svg path,
.slider_links li.slider_link.slider_link_recruit a.active p svg path {
    fill: #666666;
}

.slider_links li.slider_link a img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -16px;
    transition: 0.3s;
    opacity: 0;
    height: 19px;
    width: auto;
    pointer-events: none;
}

.slider_links li.slider_link a:hover img,
.slider_links li.slider_link a.active img {
    opacity: 1;
}

li.slider_link p {
    font-weight: 700;
    font-size: 15.9px;
    line-height: 19px;
    letter-spacing: 0.08em;
}

.fp_menu.fp_menu_contact {
    opacity: 0;
    pointer-events: none;
}

.fp_menu.fp_menu_no .slider_links li.slider_link a,
.fp_menu.fp_menu_no .slider_links li.slider_link a {
    color: #C8C8C8;
}

.fp_menu.fp_menu_no .slider_links li.slider_link a:hover,
.fp_menu.fp_menu_no .slider_links li.slider_link a.active {
    color: #FFFFFF;
}

.fp_menu.fp_menu_no .slider_links li.slider_link.slider_link_recruit a p svg path,
.fp_menu.fp_menu_no .slider_links li.slider_link.slider_link_recruit a p svg path {
    fill: #C8C8C8;
}

.fp_menu.fp_menu_no .slider_links li.slider_link.slider_link_recruit a:hover p svg path,
.fp_menu.fp_menu_no .slider_links li.slider_link.slider_link_recruit a.active p svg path {
    fill: #FFFFFF;
}

/*-------------------
ロゴ部分
-------------------*/

.fp_logo_fix_wrapper {
    pointer-events: none;
}

.fp_logo_fix_wrapper.fp_logo_fix_wrapper_open {
    z-index: 9999999;
    position: fixed;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    top: 0;
    left: 0;
    height: 0;
    width: 100%;
    overflow: hidden;
    margin: auto;
    clip: rect(0, auto, auto, 0);
    background-color: #fff;
    animation: slindeBg2 2s ease-in-out 3s forwards;
}

.fp_logo_fix {
    position: fixed;
    top: 170px;
    right: 67px;
    z-index: 1;
}

.migi_logo_wrapper {
    width: 755px;
    /*width: 68.636vw;*/
    height: auto;
    margin: auto;
    max-width: 100%;
    position: relative;
}

.migi_logo_1 {
    position: absolute;
    left: 0;
    top: 6px;
}

.migi_logo_1 svg {
    width: 111px;
    height: auto;
}

.migi_logo_2 svg {
    width: 755px;
    height: auto;
}

.fp_logo_fix_wrapper.fp_logo_fix_wrapper_open .migi_logo_1 {
    z-index: 1;
}

.fp_logo_fix_wrapper.fp_logo_fix_wrapper_open .migi_logo_1 svg {
    animation: fade-in-item 1.5s ease-in-out 0s forwards;
    opacity: 0;
}

.fp_logo_fix_wrapper.fp_logo_fix_wrapper_open .migi_logo_1 svg path {
    fill: url(#gradient);
}

.fp_logo_fix_wrapper.fp_logo_fix_wrapper_open .migi_logo_2 {
    position: relative;
    overflow: hidden;
}

.fp_logo_fix_wrapper.fp_logo_fix_wrapper_open .migi_logo_2:after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    animation: logoSlide 1.5s ease-in-out 1.5s both;
}

#stop1 {
    animation: gra12 7s ease-in-out 0s infinite alternate;
}

#stop2 {
    animation: gra22 7s ease-in-out 0s infinite alternate;
}

@keyframes slindeBg {

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

    99% {
        top: -101vh;
        left: 101vw;
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes slindeBg2 {

    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes logoSlide {

    0% {
        left: 0;
    }

    100% {
        left: 100%;
    }
}


@keyframes gra00 {

    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes gra11 {

    0% {
        stop-color: transparent;
    }

    100% {
        stop-color: #EB00FF;
    }
}

@keyframes gra21 {

    0% {
        stop-color: transparent;
    }

    100% {
        stop-color: #EB00FF;
    }
}


@keyframes gra12 {

    0% {
        stop-color: #FF0000;
    }

    33.3% {
        stop-color: #EB00FF;
    }

    66.6% {
        stop-color: #00A3FF;
    }

    100% {
        stop-color: #EB00FF;
    }
}

@keyframes gra22 {

    0% {
        stop-color: #EB00FF;
    }

    33.3% {
        stop-color: #00A3FF;
    }

    66.6% {
        stop-color: #EB00FF;
    }

    100% {
        stop-color: #FF0000;
    }
}

.fp_logo_fix_wrapper.fp_logo_fix_wrapper_gray g,
.fp_logo_fix_wrapper.fp_logo_fix_wrapper_gray path,
.fp_logo_fix_wrapper.fp_logo_fix_wrapper_gray {
    transition: 0.3s;
}

.fp_logo_fix_wrapper.fp_logo_fix_wrapper_gray.bg_gra_logo {
    opacity: 0;
}

.fp_logo_fix_wrapper.fp_logo_fix_wrapper_gray.bg_bk_logo path {
    fill: #CCCCCC;
}

.logo_video_bg {
    clip-path: url(#fv1LogoClip);
    -webkit-clip-path: url(#fv1LogoClip);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.migi_logo_3 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
}

svg#fv1Logo {
    width: 100%;
    height: auto;
    pointer-events: none;
}

#FpVideo2 {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: fixed;
    left: 0;
    top: 0;
}

#Fv1 .HomeScene-bg {
    background-color: #fff;
    overflow: hidden;
}

#Fv1 .HomeScene-bg .s_contents {
    position: relative;
    z-index: 1;
}

/*-------------------
fp title
-------------------*/

.fp_title_fix {
    position: fixed;
    width: 100%;
    top: 48px;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    transition: 0.3s;
    opacity: 1;
    pointer-events: none;
}

.fp_title_wrapper {
    width: 1120px;
    max-width: 90%;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}

.ftw_home a {
    display: block;
    pointer-events: all;
    width: 26px;
}

.ftw_home a img {
    width: 100%;
    height: auto;
}

.ftw_title {
    margin-top: 24px;
    color: #000;
    transition: 0.3s;
}

.ftw_title h1,
.ftw_title h2 {
    font-weight: 700;
    font-size: 40px;
    letter-spacing: 0.12em;
    transition: 0.3s;
}

.ftw_title p {
    font-weight: 500;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0.12em;
    margin-top: 5px;
    transition: 0.3s;
}

.fp_title_fix.fp_title_fix_hide {
    opacity: 0;
}

.fp_title_fix.fp_title_fix_contact .ftw_title {
    color: #fff;
}

/*-------------------
fp scroll
-------------------*/

.fp_scroll_fix {
    z-index: 3;
    position: fixed;
    top: 0;
    right: 36px;
    bottom: 0;
    margin: auto;
    width: 2px;
    height: 1400px;
    max-height: 90vh;
    overflow: hidden;
    border-radius: 20px;
    transition: 0.3s;
    pointer-events: none;
}

.fp_scroll {
    width: 100%;
    height: 100%;
    position: relative;
}

.fp_scroll_line {
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0.4;
}

.fp_scroll_bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 20%;
    border-radius: 20px;
    background-color: #fff;
    transition: 0.3s;
}

.fp_scroll_fix.fp_scroll_fix_hide {
    opacity: 0;
}

.fp_scroll_fix.fp_scroll_fix_com_out .fp_scroll_line,
.fp_scroll_fix.fp_scroll_fix_com_his .fp_scroll_line,
.fp_scroll_fix.fp_scroll_fix_service .fp_scroll_line,
.fp_scroll_fix.fp_scroll_fix_news .fp_scroll_line {
    background-color: #DDDDDD;
}

.fp_scroll_fix.fp_scroll_fix_com_out .fp_scroll_bar,
.fp_scroll_fix.fp_scroll_fix_com_his .fp_scroll_bar,
.fp_scroll_fix.fp_scroll_fix_service .fp_scroll_bar,
.fp_scroll_fix.fp_scroll_fix_news .fp_scroll_bar {
    background-color: #DDDDDD;
}

.fp_scroll_fix.fp_scroll_fix_news .fp_scroll_bar {
    top: 20%;
}

.fp_scroll_fix.fp_scroll_fix_service .fp_scroll_bar {
    top: 40%;
}

.fp_scroll_fix.fp_scroll_fix_com_out .fp_scroll_bar,
.fp_scroll_fix.fp_scroll_fix_com_his .fp_scroll_bar {
    top: 60%;
}

.fp_scroll_fix.fp_scroll_fix_contact .fp_scroll_bar {
    top: 80%;
}


/*-------------------
fv1
-------------------*/

.s_contents.fv1_contents .inner {
    margin-bottom: 132px;
}

.fv1_content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}

.fv1c_title {
    position: absolute;
    right: 43px;
    top: 285px;
    max-width: 640px;
    margin-left: auto;
    overflow: hidden;
}

.fv1c_title img {
    position: relative;
    transform: translate(-80px, 80px);
    opacity: 0;
    animation: fv1cTitle 0.3s ease-in-out 3.7s forwards;
}

.fv1c_h h2 {
    font-weight: 900;
    font-size: 64px;
    line-height: 93px;
    letter-spacing: 0.12em;
    color: #000000;
    overflow: hidden;
}

.fv1c_h_span {
    position: relative;
    transform: translate(-80px, 80px);
    opacity: 0;
    display: block;
}

.fv1c_h_01 {
    animation: fv1cTitle 0.3s ease-in-out 4s forwards;
}

.fv1c_h_02 {
    animation: fv1cTitle 0.3s ease-in-out 4.3s forwards;
}

@keyframes fv1cTitle {

    0% {
        transform: translate(-80px, 80px);
        opacity: 0;
    }

    100% {
        transform: translate(0, 0);
        opacity: 1;
    }
}

.is_mask {
    position: absolute;
    left: 50vw;
    bottom: 20vh;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

.movie_btn {
    position: absolute;
    bottom: 56px;
    right: 208px;
    z-index: 2;
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
}

.movie_btn.active {
    opacity: 1;
    pointer-events: all;
}

button#start {
    padding: 0;
    border: 0;
    background-color: transparent;
    border-radius: 200px;
    width: 120px;
    height: 120px;
    cursor: pointer;
    transition: 0.3s;
}

button#start svg {
    width: 120px;
    height: 120px;
    transition: 0.3s;
}

button#start svg rect,
button#start svg path {
    transition: 0.3s;
}

button#start:hover path.play_arrow {
    fill: #E7E7E7;
}

button#start:hover rect {
    stroke: #6A6A6A;

}

/*-------------------
fv2
-------------------*/

.fv2c_title {
    max-width: 1098px;
    margin: auto;
    overflow: hidden;
}

.fv2c_title img {
    transform: translate(-80px, 80px);
    opacity: 0;
}

.s_contents.fv2_contents.is_active .fv2c_title img {
    animation: fv1cTitle 0.3s ease-in-out 0.3s forwards;
}

/*-------------------
fv3
-------------------*/

.s_contents.fv4_contents .inner,
.s_contents.fv3_contents .inner {
    margin-top: 136px;
}

.fv3_content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}

.fv3c_title {
    width: 700px;
    margin-left: auto;
    margin-bottom: 80px;
}

.fv3c_text p {
    font-weight: 900;
    font-size: 24px;
    line-height: 35px;
    letter-spacing: 0.08em;
}

.fv3c_text h3 {
    margin-top: 32px;
    font-weight: 900;
    font-size: 56px;
    line-height: 81px;
    letter-spacing: 0.08em;
}

/*-------------------
fv4
-------------------*/

.fv4_content .fv3c_title {
    opacity: 0;
    pointer-events: none;
    margin-bottom: 0;
}

/*-------------------
fv5
-------------------*/


p.fv_c_subtitle {
    margin-bottom: 16px;
    font-weight: 700;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0.12em;
}

h2.fv_c_h2 {
    font-weight: 700;
    font-size: 56px;
    line-height: 74px;
    letter-spacing: 0.08em;
}

.fv5_content h2.fv_c_h2 {
    white-space: nowrap;
}

.fv5_content h2 span {
    display: inline-block;
}

.fv5_content h2 span img {
    width: 120px;
}

/*-------------------
fv6
-------------------*/

.fv7_content h2.fv_c_h2 {
    font-weight: 900;
    font-size: 48px;
    line-height: 70px;
    letter-spacing: 0.12em;
    white-space: nowrap;
}



/*-------------------
fv7
-------------------*/

p.fv_c_p {
    font-weight: 900;
    font-size: 24px;
    line-height: 35px;
    letter-spacing: 0.08em;
    margin-top: 24px;
}

/*-------------------
NEWS
-------------------*/

.fp_fn_contents {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding-right: 20px;
}

.fp_fn_content {
    color: #000;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 847px;
    box-sizing: border-box;
    margin: auto;
    margin-bottom: 38px;
    transform: translate(-80px, 80px);
    opacity: 0;
}

.fp_fn_content.fp_fn_content1 {
    margin-right: 0;
}

.fp_fn_content.fp_fn_content3 {
    margin-left: 0;
    margin-bottom: 0;
}

.s_contents.fn_contents.is_active .fp_fn_content.fp_fn_content3 {
    animation: fv1cTitle 0.3s ease-in-out 0.3s forwards;
}

.s_contents.fn_contents.is_active .fp_fn_content.fp_fn_content2 {
    animation: fv1cTitle 0.3s ease-in-out 0.6s forwards;
}

.s_contents.fn_contents.is_active .fp_fn_content.fp_fn_content1 {
    animation: fv1cTitle 0.3s ease-in-out 0.9s forwards;
}

.fp_fn_content a {
    color: #000;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    padding: 16px;
    box-sizing: border-box;
    position: relative;
}

.fp_fn_content a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0.6;
    transition: 0.3s;
}

.fp_fn_content a:hover {
    opacity: 1;
}

.fpfne_c_img_wrapper {
    width: 180px;
    height: 126px;
    flex-shrink: 0;
    margin-right: 24px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.fpfne_c_img {
    width: 100%;
    height: 100%;
    transition: 0.3s;
}

.fpfne_c_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

a:hover .fpfne_c_img {
    transform: scale(1.1, 1.1);
    filter: blur(2px);
}

.fpfne_c_info {
    position: relative;
    z-index: 1;
}

.news_date_cat {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.news_text p {
    font-weight: 900;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.12em;
}

.news_date {
    margin-right: 12px;
}

.news_date time {
    font-weight: 500;
    font-size: 14px;
    line-height: 19px;
    letter-spacing: 0.12em;
    color: #888888;
}

.news_cat p {
    font-weight: 900;
    font-size: 12px;
    line-height: 17px;
    letter-spacing: 0.12em;
    color: #FFFFFF;
    padding: 8px 11px;
    background: linear-gradient(90.02deg, rgba(255, 0, 0, 0.48) 0.75%, rgba(235, 0, 255, 0.48) 54.96%, rgba(0, 87, 255, 0.48) 99.68%);
    border-radius: 50px;
}

.view_all {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    right: 180px;
    bottom: 56px;
}

.view_all_wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 24px;
    border-bottom: 1px solid #888888;
}


.view_all_wrapper p {
    font-weight: 700;
    font-size: 14px;
    line-height: 19px;
    letter-spacing: 0.12em;
    color: #888888;
    transition: 0.3s;
}

.view_all_wrapper svg {
    margin-left: 16px;
    position: relative;
}

.view_all_wrapper svg rect,
.view_all_wrapper svg path {
    transition: 0.3s;
}

.view_all_wrapper:hover {
    opacity: 1;
    border-bottom: 1px solid #353535;
}

.view_all_wrapper:hover p {
    color: #353535;
}

.view_all_wrapper svg rect,
.view_all_wrapper svg path {
    fill: #353535;
}

/*-------------------
SERVICE
-------------------*/

.s_contents.fs_contents .view_all {
    right: 255px;
}

.s_contents.fs_contents {
    color: #000;
}


.fp_page_content.fp_fs_contents {
    margin-bottom: 25px;
}

.fpfs_title {
    margin-bottom: 64px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.fpfs_title h2 {
    font-weight: 900;
    font-size: 48px;
    line-height: 70px;
    text-align: right;
    letter-spacing: 0.12em;
    overflow: hidden;
    white-space: nowrap;
}


.fpfs_title h2 span {
    transform: translate(-80px, 80px);
    opacity: 0;
    display: inline-block;
}

.s_contents.fs_contents.is_active .fpfs_title h2 span {
    animation: fv1cTitle 0.3s ease-in-out 0.3s forwards;
}

.fpfs_content_wrapper {
    display: flex;
    justify-content: space-between;
    width: 1025px;
}

.fpfs_content {
    width: 315px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    transform: translate(-80px, 80px);
    opacity: 0;
}


.s_contents.fs_contents.is_active .fpfs_content1 {
    animation: fv1cTitle 0.3s ease-in-out 0.6s forwards;
}

.s_contents.fs_contents.is_active .fpfs_content2 {
    animation: fv1cTitle 0.3s ease-in-out 0.9s forwards;
}

.s_contents.fs_contents.is_active .fpfs_content3 {
    animation: fv1cTitle 0.3s ease-in-out 1.2s forwards;
}

.fpfs_c_title {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    position: relative;
}

.fpfs_c_title p {
    padding-bottom: 14px;
    font-weight: 700;
    font-size: 16px;
    line-height: 21px;
    letter-spacing: 0.12em;
    padding-right: 12px;
}

.fpfs_line {
    position: absolute;
    bottom: 15px;
    left: 14px;
    width: 24px;
    height: 1px;
    background: linear-gradient(90.02deg, rgba(255, 0, 0, 0.8) 0.75%, rgba(235, 0, 255, 0.5) 54.96%, rgba(0, 163, 255, 0.8) 99.68%);
    transform: rotate(119.74deg);
}

.fpfs_c_title h3 {
    font-weight: 900;
    font-size: 18px;
    line-height: 26px;
    letter-spacing: 0.12em;
    white-space: nowrap;
}

.fpfs_c_text {
    margin-bottom: 24px;
}

.fpfs_c_text p {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.12em;
}

.fpfs_c_img {
    margin-top: auto;
    width: 100%;
    height: 160px;
}

.fpfs_c_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



/*-------------------
COMPANY
-------------------*/

/*--------
HISTORY
--------*/

.fp_page_content.fp_ch_contents {
    color: #000;
}

.fpch_info {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.fpch_info_wrapper {
    position: relative;
    transform: rotate(-4.75deg);
}

.fpch_box {
    transform: rotate(4.75deg) scale(0, 0);
    opacity: 0;
}

.s_contents.ch_contents.is_active .fpch_box.fpch_box1 {
    animation: fpchFadeZoomBox 0.3s ease-in-out 0.3s forwards;
}

.s_contents.ch_contents.is_active .fpch_box.fpch_box2 {
    animation: fpchFadeZoomBox 0.3s ease-in-out 0.7s forwards;
}

.s_contents.ch_contents.is_active .fpch_box.fpch_box3 {
    animation: fpchFadeZoomBox 0.3s ease-in-out 1.1s forwards;
}

.s_contents.ch_contents.is_active .fpch_box.fpch_box4 {
    animation: fpchFadeZoomBox 0.3s ease-in-out 1.5s forwards;
}

.s_contents.ch_contents.is_active .fpch_box.fpch_box5 {
    animation: fpchFadeZoomBox 0.3s ease-in-out 1.9s forwards;
}

.s_contents.ch_contents.is_active .fpch_box.fpch_box6 {
    animation: fpchFadeZoomBox 0.3s ease-in-out 2.3s forwards;
}

.s_contents.ch_contents.is_active .fpch_box.fpch_box7 {
    animation: fpchFadeZoomBox 0.3s ease-in-out 2.7s forwards;
}

@keyframes fpchFadeZoomBox {

    0% {
        transform: rotate(4.75deg) scale(0, 0);
        opacity: 0;
    }

    80% {
        transform: rotate(4.75deg) scale(1.2, 1.2);
    }

    100% {
        transform: rotate(4.75deg) scale(1, 1);
        opacity: 1;
    }
}

.fpch_date {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    position: relative;
    margin-bottom: 65px;
}

p.fpch_year {
    font-weight: 700;
    font-size: 32px;
    line-height: 43px;
    letter-spacing: 0.08em;
}

.fpch_d_line {
    width: 24px;
    height: 1px;
    background: linear-gradient(90.02deg, rgba(255, 0, 0, 0.8) 0.75%, rgba(235, 0, 255, 0.5) 54.96%, rgba(0, 163, 255, 0.8) 99.68%);
    transform: rotate(119.74deg);
    position: absolute;
    bottom: 18px;
    left: 74px;
}

.fpch_box.fpch_box4 .fpch_d_line,
.fpch_box.fpch_box5 .fpch_d_line,
.fpch_box.fpch_box7 .fpch_d_line {
    left: 80px;
}

.fpch_box.fpch_box6 .fpch_d_line {
    left: 76px;
}

p.fpch_month {
    font-weight: 500;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0.08em;
    margin-left: 0.5em;
}

.fpch_text ul li {
    font-weight: 500;
    font-size: 12px;
    line-height: 17px;
    letter-spacing: 0.12em;
    text-indent: -1em;
    padding-left: 1em;
    white-space: normal;
}

.fpch_line {
    width: 951.28px;
    height: 12px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fpch_line:before,
.fpch_line:after {
    position: absolute;
    content: "";
    width: 0;
    height: 1px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: linear-gradient(90.02deg, rgba(255, 0, 0, 0.8) 0.75%, rgba(235, 0, 255, 0.5) 54.96%, rgba(0, 163, 255, 0.8) 99.68%);
    opacity: 0.4;
}

.fpch_line:before {
    filter: blur(4px);
}

.s_contents.ch_contents.is_active .fpch_line:before,
.s_contents.ch_contents.is_active .fpch_line:after {
    animation: fpchLine 2.7s linear 0.3s forwards;
}



@keyframes fpchLine {

    0% {
        width: 0;
    }

    100% {
        width: 100%;
    }
}

.fpch_dot {
    width: 12px;
    height: 12px;
    border-radius: 50px;
    position: relative;
    z-index: 1;
    transform: scale(0, 0);
    opacity: 0;
    display: block;
}

#fpch_d_1 {
    background-color: #FF3333;
    box-shadow: 0 0 4px #FF3333;
}

#fpch_d_2 {
    background-color: #FB4B83;
    box-shadow: 0 0 4px #FB4B83;
}

#fpch_d_3 {
    background-color: #F860BD;
    box-shadow: 0 0 4px #F860BD;
}

#fpch_d_4 {
    background-color: #F577F0;
    box-shadow: 0 0 4px #F577F0;
}

#fpch_d_5 {
    background-color: #9D90FF;
    box-shadow: 0 0 4px #9D90FF;
}

#fpch_d_6 {
    background-color: #34B1FC;
    box-shadow: 0 0 4px #34B1FC;
}

#fpch_d_7 {
    background-color: #34B1FC;
    box-shadow: 0 0 4px #34B1FC;
}

.s_contents.ch_contents.is_active #fpch_d_1 {
    animation: fpchFadeZoom 0.3s ease-in-out 0.3s forwards;
}

.s_contents.ch_contents.is_active #fpch_d_2 {
    animation: fpchFadeZoom 0.3s ease-in-out 0.7s forwards;
}

.s_contents.ch_contents.is_active #fpch_d_3 {
    animation: fpchFadeZoom 0.3s ease-in-out 1.1s forwards;
}

.s_contents.ch_contents.is_active #fpch_d_4 {
    animation: fpchFadeZoom 0.3s ease-in-out 1.5s forwards;
}

.s_contents.ch_contents.is_active #fpch_d_5 {
    animation: fpchFadeZoom 0.3s ease-in-out 1.9s forwards;
}

.s_contents.ch_contents.is_active #fpch_d_6 {
    animation: fpchFadeZoom 0.3s ease-in-out 2.3s forwards;
}

.s_contents.ch_contents.is_active #fpch_d_7 {
    animation: fpchFadeZoom 0.3s ease-in-out 2.7s forwards;
}

@keyframes fpchFadeZoom {

    0% {
        transform: scale(0, 0);
        opacity: 0;
    }

    80% {
        transform: scale(1.2, 1.2);
    }

    100% {
        transform: scale(1, 1);
        opacity: 1;
    }
}

.fpch_imgs {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 990px;
    margin: auto;
    margin-top: 33px;
    transform: rotate(-4.75deg);
}

.fpch_img {
    width: 197px;
    height: 122px;
    transform: rotate(4.75deg) scale(0, 0);
    opacity: 0;
}

.fpch_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.s_contents.co_contents {
    color: #000;
}

.s_contents.ch_contents.is_active .fpch_img.fpch_img1 {
    animation: fpchFadeZoomBox 0.3s ease-in-out 0.3s forwards;
}

.s_contents.ch_contents.is_active .fpch_img.fpch_img2 {
    animation: fpchFadeZoomBox 0.3s ease-in-out 1.5s forwards;
}

.s_contents.ch_contents.is_active .fpch_img.fpch_img3 {
    animation: fpchFadeZoomBox 0.3s ease-in-out 2.7s forwards;
}



/*--------
OUTLINE
--------*/

table.fpco_table {
    margin-left: auto;
    width: 660px;
    height: 551px;
    max-height: 80vh;
}

table.fpco_table tbody {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    height: 100%;
}

table.fpco_table tr {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    overflow: hidden;
}


table.fpco_table .t_anime {
    transform: translate(-80px, 80px);
    opacity: 0;
}

table.fpco_table th {
    width: 110px;
    text-align: left;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.12em;
}

table.fpco_table td {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.12em;
    font-weight: 500;
}

.s_contents.co_contents.is_active table.fpco_table .t_anime {
    animation: fv1cTitle 0.4s ease-in-out 0.4s forwards;
}

table.fpco_table tr:last-child td,
table.fpco_table tr:last-child th {
    padding-bottom: 0;
}

table.fpco_table table.fpco_t_table tbody {
    height: auto;
}

table.fpco_table table.fpco_t_table td,
table.fpco_table table.fpco_t_table th {
    padding-bottom: 8px;
}

table.fpco_table table.fpco_t_table th {
    width: initial;
    font-weight: 500;
    padding-right: 12px;
    white-space: nowrap;
    width: 130px;
}

table.fpco_table td span.Fu {
    font-size: 16px;
}

table.fpco_table td span {
    font-size: 14px;
}

/*-------------------
CONTACT
-------------------*/

.s_contents.fc_contents .is_mask {
    left: 5px;
    bottom: 5px;
}

.s_contents.fc_contents {
    flex-direction: column;
}

.bg_mask.bg_gra {
    background: linear-gradient(45deg, #FA8182, #F3A0E0, #81CDFA);
    background-size: 200% 200%;
    /*サイズを大きくひきのばす*/
    animation: bggradient 5s ease infinite;
}


@keyframes bggradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

.fp_page_content.fc_contents {
    width: 567px;
    margin-left: auto;
    padding-top: 56px;
}

.s_contents.fc_contents .contact-contents {
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
}

.s_contents.fc_contents.is_active .contact-contents {
    animation: fade-in-zoom-item 0.5s ease-in-out 0.3s forwards;
}

.contact-contents table {
    width: 100%;
}

.contact-contents table th {
    width: 192px;
    font-weight: 700;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.12em;
    text-align: left;
    white-space: nowrap;
    vertical-align: top;
    padding: 5px 0;
}

.contact-contents table th p {
    font-weight: 700;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.12em;
}

.contact-contents table th p span.ct-red {
    color: #FF0000;
}

.contact-contents table td {
    padding-bottom: 16px;
}

.contact-contents table td input,
.contact-contents table td textarea {
    width: 100%;
    box-sizing: border-box;
    border: 0;
    padding: 5px;
    font-weight: 700;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.12em;
    border-radius: 3px;
    outline-color: #e8e8e8;
}

.contact-contents table tr:last-child td {
    padding-bottom: 0;
}

.contact-contents table td input {
    height: 32px;
}

.contact-contents table td textarea {
    height: 122px;
    resize: none;
}

.contact-submit-btn {
    width: 216px;
    height: 57px;
    margin: auto;
    margin-top: 40px;
}

.c_s_b_wrapper {
    position: relative;
    cursor: pointer;
    width: 100%;
    height: 100%;
    transition: 0.3s;
}

.c_s_b_wrapper:hover {
    opacity: 0.7;
}

.c_s_b_wrapper input {
    width: 100%;
    height: 100%;
    position: absolute;
    box-sizing: border-box;
    opacity: 0;
    cursor: pointer;
}

// 20221129 GIRI kaneko 
// フォームのボタンが効いていないのでコメントアウト
.c_s_b_wrapper p {
/*     display: none; */
}

.c_s_b_inner {
    width: 100%;
    height: 100%;
    background: linear-gradient(90.02deg, rgba(255, 0, 0, 0.8) 0.75%, rgba(235, 0, 255, 0.5) 54.96%, rgba(0, 163, 255, 0.8) 99.68%);
    padding: 1px;
    box-sizing: border-box;
    pointer-events: none;
}

.c_s_b_btn {
    background-color: #fff;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.c_s_b_wrapper .c_s_b_btn p {
    display: block;
    font-weight: 700;
    font-size: 14px;
    line-height: 19px;
    letter-spacing: 0.12em;
    background: linear-gradient(88.58deg, rgba(255, 0, 122, 0.8) -62.96%, rgba(235, 0, 255, 0.5) 79.62%, rgba(0, 163, 255, 0.8) 197.25%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    font-family: futura-pt, 'Noto Sans JP', sans-serif;
    font-style: normal;
    font-weight: 700;
}


.c_s_b_svg {
    margin-left: 8px;
    width: 24px;
    height: 5px;
    position: relative;
}

.c_s_b_svg svg {
    position: absolute;
    top: 0;
    left: 0;
}


.fc_footer {
    width: 100%;
    position: relative;
    padding: 48px 0 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
}

.s_contents.fc_contents.is_active .fc_footer {
    animation: fade-in-zoom-item 0.5s ease-in-out 0.3s forwards;
}

.fc_footer:after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000000;
    opacity: 0.2;
}

.fc_f_menu {
    margin-bottom: 40px;
    position: relative;
    z-index: 1;
}

.fc_f_menu ul {
    width: 843px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fc_f_menu ul li a {
    font-weight: 700;
    font-size: 14px;
    line-height: 19px;
    letter-spacing: 0.08em;
    color: #fff;
    position: relative;
    cursor: pointer;
}

.fc_f_menu ul li a:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -3px;
    left: 0;
    margin: auto;
    transition: 0.1s;
    height: 1px;
    width: 0;
    background-color: #fff;
}

.fc_f_menu ul li a:hover:after {
    width: 100%;
}

svg.icon_link {
    position: relative;
    margin-left: 8px;
    top: 2px;
}

.copyright {
    position: relative;
    z-index: 1;
    font-weight: 500;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.12em;
}

/*----------------------------------------------------------------------
footer
----------------------------------------------------------------------*/

footer#footer {
    width: 100%;
}

/*----------------------------------------------------------------------
view_all 動きの解除
----------------------------------------------------------------------*/

body.no_move,
body.no_move section,
body.no_move section .HomeScene-bg {
    pointer-events: none !important;
}

body.no_move .view_all {
    pointer-events: all !important;
}


/*----------------------------------------------------------------------

media query

----------------------------------------------------------------------*/

.pc-only {
    display: block;
}

.sp-only {
    display: none;
}


@media screen and (min-width: 1370px) and (max-height: 725px) {

    .s_contents.fs_contents .view_all {
        bottom: 2vw;
    }

}

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


    .fp_menu {
        right: 3.889vw;
        bottom: 3.889vw;
    }

    li.slider_link {
        margin-bottom: 1.111vw;
    }

    .slider_links li.slider_link a img {
        left: -1.111vw;
        height: 1.319vw;
    }

    li.slider_link p {
        font-size: 1.104vw;
        line-height: 1.319vw;
    }

    li.slider_link.slider_link_recruit p svg {
        width: 1.111vw;
        height: auto;
    }

    .fp_logo_fix {
        top: 11.806vw;
        right: 4.653vw;
    }

    .migi_logo_wrapper {
        width: 52.431vw;
    }

    .migi_logo_1 {
        top: 0.417vw;
    }

    .migi_logo_1 svg {
        width: 7.708vw;
    }

    .migi_logo_2 svg {
        width: 52.431vw;
    }

    .fp_title_fix {
        top: 3.333vw;
    }

    .fp_title_wrapper {
        width: 77.778vw;
    }

    .ftw_home a {
        width: 1.806vw;
    }

    .ftw_title {
        margin-top: 1.667vw;
    }

    .ftw_title h1,
    .ftw_title h2 {
        font-size: 2.778vw;
    }

    .ftw_title p {
        font-size: 1.667vw;
        line-height: 2.222vw;
        margin-top: 0.347vw;
    }

    .fp_scroll_fix {
        right: 2.5vw;
        height: 97.222vw;
    }

    .s_contents.fv1_contents .inner {
        margin-bottom: 9.167vw;
    }

    .fv1c_title {
        right: 2.986vw;
        top: 19.792vw;
        max-width: 44.444vw;
    }

    .fv1c_title img {
        transform: translate(-5.556vw, 5.556vw);
    }

    .fv1c_h h2 {
        font-size: 4.444vw;
        line-height: 6.458vw;
    }

    .fv1c_h_span {
        transform: translate(-5.556vw, 5.556vw);
    }

    @keyframes fv1cTitle {

        0% {
            transform: translate(-5.556vw, 5.556vw);
            opacity: 0;
        }

        100% {
            transform: translate(0, 0);
            opacity: 1;
        }
    }

    .movie_btn {
        bottom: 3.889vw;
        right: 14.444vw;
    }

    button#start {
        width: 8.333vw;
        height: 8.333vw;
    }

    button#start svg {
        width: 8.333vw;
        height: 8.333vw;
    }

    .is_mask {
        left: 50vw;
        bottom: 20vh;
    }

    .fv2c_title {
        max-width: 76.25vw;
    }

    .fv2c_title img {
        transform: translate(-5.556vw, 5.556vw);
    }

    .s_contents.fv4_contents .inner,
    .s_contents.fv3_contents .inner {
        margin-top: 9.444vw;
    }

    .fv3c_title {
        width: 48.611vw;
        margin-bottom: 5.556vw;
    }

    .fv3c_text p {
        font-size: 1.667vw;
        line-height: 2.431vw;
    }

    .fv3c_text h3 {
        margin-top: 2.222vw;
        font-size: 3.889vw;
        line-height: 5.625vw;
    }

    p.fv_c_subtitle {
        margin-bottom: 1.111vw;
        font-size: 1.667vw;
        line-height: 2.222vw;
    }

    h2.fv_c_h2 {
        font-size: 3.889vw;
        line-height: 5.139vw;
    }

    .fv5_content h2 span img {
        width: 8.333vw;
    }

    .fv7_content h2.fv_c_h2 {
        font-size: 3.333vw;
        line-height: 4.861vw;
    }

    p.fv_c_p {
        font-size: 1.667vw;
        line-height: 2.431vw;
        margin-top: 1.667vw;
    }

    .fp_fn_contents {
        padding-right: 1.389vw;
    }

    .fp_fn_content {
        width: 58.819vw;
        margin-bottom: 2.639vw;
        transform: translate(-5.556vw, 5.556vw);
    }

    .fp_fn_content a {
        padding: 1.111vw;
    }

    .fpfne_c_img_wrapper {
        width: 12.5vw;
        height: 8.75vw;
        margin-right: 1.667vw;
    }

    .news_date_cat {
        margin-bottom: 1.111vw;
    }

    .news_text p {
        font-size: 1.111vw;
        line-height: 1.597vw;
    }

    .news_date {
        margin-right: 0.833vw;
    }

    .news_date time {
        font-size: 0.972vw;
        line-height: 1.319vw;
    }

    .news_cat p {
        font-size: 0.833vw;
        line-height: 1.181vw;
        padding: 0.556vw 0.764vw;
    }

    .view_all {
        bottom: 3.889vw;
    }

    .s_contents.fs_contents .view_all {
        right: 255px;
    }

    .view_all_wrapper {
        padding: 1.111vw 1.667vw;
    }

    .view_all_wrapper p {
        font-size: 0.972vw;
        line-height: 1.319vw;
    }

    .view_all_wrapper svg {
        margin-left: 1.111vw;
    }

    .fp_page_content.fp_fs_contents {
        margin-bottom: 1.736vw;
    }

    .fpfs_title {
        margin-bottom: 4.444vw;
    }

    .fpfs_title h2 {
        font-size: 3.333vw;
        line-height: 4.861vw;
    }

    .fpfs_title h2 span {
        transform: translate(-5.556vw, 5.556vw);
    }

    .fpfs_content_wrapper {
        width: 71.181vw;
    }

    .fpfs_content {
        width: 21.875vw;
        transform: translate(-5.556vw, 5.556vw);
    }

    .fpfs_c_title {
        margin-bottom: 1.667vw;
    }

    .fpfs_c_title p {
        padding-bottom: 0.972vw;
        font-size: 1.111vw;
        line-height: 1.458vw;
        padding-right: 0.833vw;
    }

    .fpfs_line {
        bottom: 1.042vw;
        left: 0.972vw;
        width: 1.667vw;
    }

    .fpfs_c_title h3 {
        font-size: 1.25vw;
        line-height: 1.806vw;
    }

    .fpfs_c_text {
        margin-bottom: 1.667vw;
    }

    .fpfs_c_text p {
        font-size: 0.972vw;
        line-height: 1.389vw;
    }

    .fpfs_c_img {
        height: 11.111vw;
    }

    .fpch_date {
        margin-bottom: 4.514vw;
    }

    p.fpch_year {
        font-size: 2.222vw;
        line-height: 2.986vw;
    }

    .fpch_d_line {
        width: 1.667vw;
        bottom: 1.142vw;
        left: 5.186vw;
    }

    .fpch_box.fpch_box1 .fpch_d_line {
        left: 5.2vw;
    }

    .fpch_box.fpch_box4 .fpch_d_line,
    .fpch_box.fpch_box5 .fpch_d_line,
    .fpch_box.fpch_box7 .fpch_d_line {
        left: 5.6vw;
    }

    .fpch_box.fpch_box6 .fpch_d_line {
        left: 5.386vw;
    }

    p.fpch_month {
        font-size: 1.667vw;
        line-height: 2.222vw;
    }

    .fpch_text ul li {
        font-size: 0.833vw;
        line-height: 1.181vw;
    }

    .fpch_line {
        width: 66.061vw;
        height: 0.833vw;
        top: 4.722vw;
    }

    .fpch_dot {
        width: 0.833vw;
        height: 0.833vw;
    }

    .fpch_imgs {
        width: 68.75vw;
        margin-top: 2.292vw;
    }

    .fpch_img {
        width: 13.681vw;
        height: 8.472vw;
    }

    table.fpco_table {
        width: 45.833vw;
        height: 38.264vw;
    }

    table.fpco_table .t_anime {
        transform: translate(-5.556vw, 5.556vw);
    }

    table.fpco_table th {
        width: 7.639vw;
        font-size: 1.111vw;
    }

    table.fpco_table td {
        font-size: 1.111vw;
    }

    table.fpco_table table.fpco_t_table td,
    table.fpco_table table.fpco_t_table th {
        padding-bottom: 0.556vw;
    }

    table.fpco_table table.fpco_t_table th {
        padding-right: 0.833vw;
    }

    table.fpco_table td span.Fu {
        font-size: 1.111vw;
    }

    table.fpco_table td span {
        font-size: 0.972vw;
    }

    .s_contents.fc_contents .is_mask {
        left: 0.347vw;
        bottom: 0.347vw;
    }

    .fp_page_content.fc_contents {
        width: 39.375vw;
        padding-top: 3.889vw;
    }

    .contact-contents table th {
        width: 13.333vw;
        font-size: 1.111vw;
        line-height: 1.597vw;
        padding: 0.347vw 0;
    }

    .contact-contents table th p {
        font-size: 1.111vw;
        line-height: 1.597vw;
    }

    .contact-contents table td {
        padding-bottom: 1.111vw;
    }

    .contact-contents table td input,
    .contact-contents table td textarea {
        padding: 0.347vw;
        font-size: 1.111vw;
        line-height: 1.597vw;
    }

    .contact-contents table td input {
        height: 2.222vw;
    }

    .contact-contents table td textarea {
        height: 8.472vw;
    }

    .contact-submit-btn {
        width: 15vw;
        height: 3.958vw;
    }

    .c_s_b_wrapper .c_s_b_btn p {
        font-size: 0.972vw;
        line-height: 1.319vw;
    }

    .c_s_b_svg {
        margin-left: 0.556vw;
        width: 1.667vw;
        height: 0.347vw;
    }

    .fc_footer {
        padding: 3.333vw 0 1.528vw;
    }

    .fc_f_menu {
        margin-bottom: 2.778vw;
    }

    .fc_f_menu ul {
        width: 58.542vw;
    }

    .fc_f_menu ul li a {
        font-size: 0.972vw;
        line-height: 1.319vw;
    }

    svg.icon_link {
        margin-left: 0.556vw;
        top: 0.139vw;
    }

    .copyright {
        font-size: 0.833vw;
        line-height: 1.111vw;
    }

}


@media screen and (max-width: 768px) {
    .pc-only {
        display: none;
    }

    .br-pc {
        display: none;
    }

    .br-sp {
        display: block;
    }

    .sp-only {
        display: block;
    }

    .mmb-10 {
        margin-bottom: 10px;
    }

    .mmb-20 {
        margin-bottom: 20px;
    }

    .mmb-30 {
        margin-bottom: 30px;
    }

    .mmb-40 {
        margin-bottom: 40px;
    }

    a,
    a img,
    a svg,
    a svg path {
        transition: 0.1s;
    }

    .movie_btn {
        bottom: 86px;
        right: 16px;
    }

    button#start {
        width: 96px;
        height: 96px;
    }

    button#start svg {
        width: 96px;
        height: 96px;
    }

}

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

    .s_contents.fs_contents .view_all {
        right: 180px;
    }

}

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

    .inner {
        width: 80vw;
    }

    .fp_title_fix {
        top: 32px;
    }

    .fp_title_wrapper {
        width: 90vw;
    }

    .ftw_home a {
        width: 1.833vw;
    }

    .ftw_title {
        margin-top: 6.667vw;
    }

    .ftw_title h1,
    .ftw_title h2 {
        font-size: 2.95vw;
    }

    .ftw_title p {
        font-size: 2.167vw;
        line-height: 1;
        margin-top: 1.333vw;
    }

    .fp_menu {
        display: none !important;
    }

    .fp_scroll_fix {
        right: 1.167vw;
        height: 100vw;
    }

    .fp_logo_fix {
        top: 40.833vw;
        right: 5.167vw;
    }

    .migi_logo_wrapper {
        width: 47vw;
    }

    .migi_logo_1 {
        top: 0.5vw;
    }

    .migi_logo_1 svg {
        width: 6.833vw;
    }

    .migi_logo_2 svg {
        width: 47vw;
    }

    .fv1c_title {
        right: 2.667vw;
        top: 47.167vw;
        max-width: 41vw;
    }

    .s_contents.fv1_contents .inner {
        margin-bottom: auto;
        margin-top: 66.667vw;
    }

    .fv1c_title img {
        transform: translate(-76px, 76px);
    }

    @keyframes fv1cTitle {

        0% {
            transform: translate(-76px, 76px);
            opacity: 0;
        }

        100% {
            transform: translate(0, 0);
            opacity: 1;
        }
    }

    .fv1c_h h2 {
        font-size: 4.667vw;
        line-height: 6.833vw;
    }

    .fv2c_title {
        max-width: 80vw;
    }

    .s_contents.fv4_contents .inner,
    .s_contents.fv3_contents .inner {
        margin-top: auto;
    }

    .fv3c_title {
        width: 44.333vw;
        margin-bottom: 13.333vw;
    }

    .fv3c_text p {
        font-size: 2.333vw;
        line-height: 3.333vw;
    }

    .fv3c_text h3 {
        margin-top: 5.333vw;
        font-size: 4vw;
        line-height: 5.833vw;
    }

    p.fv_c_subtitle {
        margin-bottom: 4vw;
        font-size: 2.333vw;
        line-height: 3.167vw;
    }

    h2.fv_c_h2 {
        font-size: 4vw;
        line-height: 7.5vw;
        font-weight: 900;
    }

    .fv5_content h2 span img {
        width: 8.5vw;
        position: relative;
        top: 0.333vw;
    }

    .fv7_content h2.fv_c_h2 {
        font-size: 4vw;
        line-height: 7.5vw;
        font-weight: 900;
    }

    p.fv_c_p {
        margin-top: 4vw;
        font-size: 2.333vw;
        line-height: 4vw;
    }

    .fp_fn_contents {
        padding-right: 0;
    }

    .fp_fn_content {
        width: 47.333vw;
        margin-bottom: 4vw;
        transform: translate(-74px, 74px);
    }

    .fp_fn_content a {
        padding: 1.333vw;
    }

    .fpfne_c_img_wrapper {
        width: 15.333vw;
        height: 13.667vw;
        margin-right: 2.667vw;
    }

    .news_date_cat {
        margin-bottom: 1.333vw;
    }

    .news_date {
        margin-right: 1.333vw;
    }

    .news_date time {
        font-size: 1.833vw;
        line-height: 2.5vw;
    }

    .news_cat p {
        font-size: 1.833vw;
        line-height: 2.667vw;
        padding: 0.833vw 2.167vw;
    }

    .news_text p {
        font-size: 2vw;
        line-height: 2.833vw;
    }

    .s_contents.fs_contents .view_all,
    .view_all {
        right: 2.667vw;
        bottom: 13.333vw;
    }

    .view_all_wrapper {
        padding: 2.667vw 0;
    }

    .view_all_wrapper p {
        font-size: 2vw;
        line-height: 2.667vw;
    }

    .view_all_wrapper svg {
        margin-left: 2.667vw;
        width: 2.667vw;
        height: auto;
    }

    .s_contents.fs_contents .inner {
        margin-top: 26.667vw;
        width: 100%;
        max-width: 100%;
    }

    .fp_page_content.fp_fs_contents {
        margin-bottom: 0;
        position: relative;
    }

    .fpfs_title {
        margin-bottom: 8vw;
        /*margin-right: 75px;*/
        margin-right: 9.766vw;
    }

    .fpfs_content_wrapper {
        width: 100%;
    }

    .fpfs_content_wrapper {
        width: 100%;
        overflow: scroll;
        justify-content: flex-start;
        padding-bottom: 3.333vw;
        -ms-overflow-style: none;
        scrollbar-width: none;
        box-sizing: border-box;
        padding-left: 9.766vw;
        padding-right: 37.76vw;
    }

    .fpfs_content_wrapper::-webkit-scrollbar {
        display: none;
    }

    .fpfs_content {
        width: 46.667vw;
        transform: none;
        margin-right: 5vw;
        flex-shrink: 0;
    }

    .fpfs_c_title {
        margin-bottom: 2.667vw;
    }

    .fpfs_c_title p {
        padding-bottom: 2.167vw;
        font-size: 2vw;
        line-height: 1;
        padding-right: 1.5vw;
    }

    .fpfs_c_title h3 {
        font-size: 2.667vw;
        line-height: 3.833vw;
    }

    .fpfs_line {
        bottom: 2.5vw;
        left: 2.7vw;
        width: 3.5vw;
    }

    .fpfs_c_text {
        margin-bottom: 2.667vw;
    }

    .fpfs_c_text p {
        font-size: 2vw;
        line-height: 2.833vw;
    }

    .fpfs_c_img {
        height: 21.333vw;
        width: 41.833vw;
        margin-right: auto;
    }

    .fpfs_content.fpfs_content3 {
        margin-right: 10vw;
    }

    .fpch_info {
        flex-direction: column-reverse;
        width: max-content;
        margin: auto;
        justify-content: space-between;
    }

    .fpch_info_wrapper {
        transform: rotate(10deg);
    }

    .fpch_box {
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        transform: rotate(0deg) scale(0, 0);
        opacity: 0;
    }

    .fpch_box.fpch_box1 {
        margin-bottom: 0;
    }

    .fpch_box.fpch_box2 {
        margin-bottom: 3.333vw;
    }

    .fpch_box.fpch_box3 {
        margin-bottom: 3.833vw;
    }

    .fpch_box.fpch_box4 {
        margin-bottom: 5.333vw;
    }

    .fpch_box.fpch_box5 {
        margin-bottom: 3.167vw;
    }

    .fpch_box.fpch_box6 {
        margin-bottom: 6.75vw;
    }

    .fpch_box.fpch_box7 {
        margin-bottom: 7.833vw;
    }

    .s_contents.ch_contents .inner {
        margin-bottom: auto;
    }

    .fpch_imgs {
        display: none;
    }

    .fpch_date {
        margin-bottom: 0;
        margin-right: 2.667vw;
        padding-right: 0.5em;
    }

    .fpch_box.fpch_box6 .fpch_date,
    .fpch_box.fpch_box3 .fpch_date {
        padding-right: 0;
    }

    p.fpch_year {
        font-size: 2.667vw;
        line-height: 3.5vw;
    }

    p.fpch_month {
        font-size: 2vw;
        line-height: 2.667vw;
        margin-left: 1em;
        padding-bottom: 0.167vw;
    }

    .fpch_d_line {
        width: 2.333vw;
        bottom: 1.667vw;
        left: 7vw;
    }

    .fpch_box.fpch_box1 .fpch_d_line {
        left: 6.6vw;
    }

    .fpch_box.fpch_box4 .fpch_d_line,
    .fpch_box.fpch_box5 .fpch_d_line,
    .fpch_box.fpch_box7 .fpch_d_line {
        left: 7.1vw;
    }

    .fpch_box.fpch_box6 .fpch_d_line {
        left: 6.9vw;
    }

    .fpch_text ul li {
        font-size: 2vw;
        line-height: 2.833vw;
    }

    @keyframes fpchFadeZoomBox {

        0% {
            transform: rotate(-10deg) scale(0, 0);
            opacity: 0;
        }

        80% {
            transform: rotate(-10deg) scale(1.2, 1.2);
        }

        100% {
            transform: rotate(-10deg) scale(1, 1);
            opacity: 1;
        }
    }

    .fpch_line:before,
    .fpch_line:after {
        width: 0.167vw;
        height: 0;
        left: 0;
        right: 0;
        top: initial;
        background: linear-gradient(11deg, rgba(255, 0, 0, 0.8) 0.75%, rgba(235, 0, 255, 0.5) 54.96%, rgba(0, 163, 255, 0.8) 99.68%);
    }

    .fpch_line {
        width: 1vw;
        height: 76.333vw;
        top: initial;
        bottom: 5.167vw;
        left: 29.6vw;
        right: initial;
        flex-direction: column-reverse;
    }

    .fpch_line:before,
    .fpch_line:after {
        width: 0.167vw;
        height: 0;
        left: 0;
        right: 0;
    }

    .fpch_dot {
        width: 1vw;
        height: 1vw;
    }

    @keyframes fpchLine {

        0% {
            height: 0;
        }

        100% {
            height: 100%;
        }
    }

    .s_contents.co_contents .inner {
        margin-bottom: auto;
        margin-right: 0;
        padding-top: 10vw;
    }

    table.fpco_table {
        width: 100%;
        height: 77.667vw;
    }

    table.fpco_table .t_anime {
        transform: translate(-76px, 76px);
    }

    table.fpco_table th {
        width: 10.333vw;
        font-size: 2.333vw;
    }

    table.fpco_table td {
        font-size: 2.333vw;
    }

    table.fpco_table td span.Fu {
        font-size: 2.333vw;
    }

    table.fpco_table td span {
        font-size: 1.833vw;
        line-height: 2.667vw;
        display: inline-block;
    }

    table.fpco_table table.fpco_t_table th {
        padding-right: 1.333vw;
        width: 19vw;
        flex-shrink: 0;
    }

    .s_contents.fc_contents .inner {
        margin-top: 26.667vw;
    }

    .fp_page_content.fc_contents {
        width: 100%;
        padding-top: 0;
    }

    .contact-contents table th {
        width: 23.5vw;
        padding: 0;
        font-size: 2.333vw;
        line-height: 3.333vw;
    }

    .contact-contents table th p {
        font-size: 2.333vw;
        line-height: 5.333vw;
    }

    .contact-contents table td {
        padding-bottom: 2.667vw;
    }

    .contact-contents table td input {
        height: 5.333vw;
    }

    .contact-contents table td input,
    .contact-contents table td textarea {
        padding: 0.833vw;
        font-size: 2.333vw;
        line-height: 1.3;
    }

    .contact-contents table td textarea {
        height: 16.667vw;
    }

    .contact-submit-btn {
        width: 21.667vw;
        height: 7.333vw;
        margin-top: 6.667vw;
    }


    .c_s_b_wrapper .c_s_b_btn p {
        font-size: 2vw;
        line-height: 2.667vw;
    }

    .c_s_b_svg {
        margin-left: 1.333vw;
        width: 2.667vw;
        height: 0.667vw;
    }

    .c_s_b_svg svg {
        width: 2.667vw;
        height: auto;
    }

    .fc_footer {
        padding: 2.833vw 0 1.333vw;
    }

    .fc_f_menu {
        margin-bottom: 2.417vw;
    }

    .fc_f_menu ul {
        flex-wrap: wrap;
        width: 50vw;
        justify-content: center;
    }

    .fc_f_menu ul li {
        margin: 1.333vw;
        margin-top: 0;
    }

    .fc_f_menu ul li a {
        font-size: 1.833vw;
        line-height: 2.5vw;
    }

    svg.icon_link {
        margin-left: 0.5vw;
        top: 0.167vw;
        width: 1.333vw;
        height: auto;
    }

    .copyright {
        font-size: 1.5vw;
        line-height: 2vw;
    }

}

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


    .fp_title_wrapper {
        width: 91.467vw;
    }

    .ftw_home a {
        width: auto;
        height: 27px;
    }

    .ftw_home a img {
        width: auto;
        height: 27px;
    }

    .ftw_title {
        margin-top: 40px;
    }

    .ftw_title h1,
    .ftw_title h2 {
        font-size: 17.7px;
    }

    .ftw_title p {
        font-size: 13px;
        line-height: 1;
        margin-top: 8px;
    }

    .fp_menu {
        display: none !important;
    }

    .fp_scroll_fix {
        right: 7px;
        height: 600px;
    }

    .inner {
        width: 343px;
    }

    .fp_logo_fix {
        top: 245px;
        right: 31px;
    }

    .migi_logo_wrapper {
        width: 282px;
    }

    .migi_logo_1 {
        top: 3px;
    }

    .migi_logo_1 svg {
        width: 41px;
    }

    .migi_logo_2 svg {
        width: 282px;
    }

    .fv1c_title {
        right: 16px;
        top: 283px;
        max-width: 246px;
    }

    .s_contents.fv1_contents .inner {
        margin-bottom: auto;
        margin-top: 400px;
    }

    .fv1c_title img {
        transform: translate(-76px, 76px);
    }

    @keyframes fv1cTitle {

        0% {
            transform: translate(-76px, 76px);
            opacity: 0;
        }

        100% {
            transform: translate(0, 0);
            opacity: 1;
        }
    }

    .fv1c_h h2 {
        font-size: 28px;
        line-height: 41px;
    }

    .fv2c_title {
        max-width: 130px;
    }

    .s_contents.fv4_contents .inner,
    .s_contents.fv3_contents .inner {
        margin-top: 139px;
    }

    .fv3c_title {
        width: 266px;
        margin-bottom: 80px;
    }

    .fv3c_text p {
        font-size: 14px;
        line-height: 20px;
    }

    .fv3c_text h3 {
        margin-top: 32px;
        font-size: 24px;
        line-height: 35px;
    }

    .s_contents.fv5_contents .inner,
    .s_contents.fv6_contents .inner,
    .s_contents.fv7_contents .inner,
    .s_contents.fv8_contents .inner {
        margin-top: 208px;
    }

    p.fv_c_subtitle {
        margin-bottom: 24px;
        font-size: 14px;
        line-height: 19px;
    }

    h2.fv_c_h2 {
        font-size: 24px;
        line-height: 45px;
        font-weight: 900;
    }

    .fv5_content h2 span img {
        width: 51px;
        position: relative;
        top: 2px;
    }

    .fv7_content h2.fv_c_h2 {
        font-size: 24px;
        line-height: 45px;
        font-weight: 900;
    }

    p.fv_c_p {
        margin-top: 24px;
        font-size: 14px;
        line-height: 24px;
    }

    .s_contents.fn_contents .inner {
        padding-bottom: 27px;
    }

    .fp_fn_contents {
        padding-right: 0;
    }

    .fp_fn_content {
        width: 284px;
        margin-bottom: 24px;
        transform: translate(-74px, 74px);
    }

    .fp_fn_content a {
        padding: 8px;
    }

    .fpfne_c_img_wrapper {
        width: 92px;
        height: 82px;
        margin-right: 16px;
    }

    .news_date_cat {
        margin-bottom: 8px;
    }

    .news_date {
        margin-right: 8px;
    }

    .news_date time {
        font-size: 11px;
        line-height: 15px;
    }

    .news_cat p {
        font-size: 11px;
        line-height: 16px;
        padding: 5px 13px;
    }

    .news_text p {
        font-size: 12px;
        line-height: 17px;
    }

    .s_contents.fs_contents .view_all,
    .view_all {
        right: 16px;
        bottom: 80px;
    }

    .view_all_wrapper {
        padding: 16px 0;
    }

    .view_all_wrapper p {
        font-size: 12px;
        line-height: 16px;
    }

    .view_all_wrapper svg {
        margin-left: 16px;
        width: 16px;
        height: auto;
    }

    .s_contents.fs_contents .inner {
        margin-top: auto;
        width: 100%;
        max-width: 100%;
    }

    .fp_page_content.fp_fs_contents {
        margin-bottom: 0;
    }

    .fpfs_title {
        margin-bottom: 48px;
        margin-right: 16px;
    }

    .fpfs_title h2 {
        font-size: 24px;
        line-height: 35px;
    }

    .fpfs_title h2 span {
        white-space: nowrap;
    }

    .fpfs_content_wrapper {
        width: 100%;
        height: auto;
        overflow-x: scroll;
        overflow-y: hidden;
        justify-content: flex-start;
        padding-bottom: 20px;
        -ms-overflow-style: none;
        scrollbar-width: none;
        padding-left: 16px;
        padding-right: 82px;
        box-sizing: border-box;
    }

    .fpfs_content_wrapper:before,
    .fpfs_content_wrapper:after {
        content: "";
        position: absolute;
        width: 115px;
        height: calc(100% - 102px);
        right: -24px;
        bottom: 0;
        pointer-events: none;
        z-index: 1;
    }

    .fpfs_content_wrapper:before {
        background: #F9F9F9;
        opacity: 0.5;
        filter: blur(10px);
        z-index: 2;
    }

    .fpfs_content_wrapper:after {
        backdrop-filter: blur(1px);
        right: -34px;
    }

    .fpfs_content_wrapper::-webkit-scrollbar {
        display: none;
    }


    .fpfs_content {
        width: 280px;
        transform: none;
        margin-right: 24px;
        flex-shrink: 0;
    }

    .fpfs_content {
        width: max-content;
        max-width: 90vw;
        transform: none;
        margin-right: 24px;
        flex-shrink: 0;
    }

    .fpfs_c_text_wrapper {
        width: 100%;
    }

    .fpfs_c_title {
        margin-bottom: 16px;
    }

    .fpfs_c_title p {
        padding-bottom: 13px;
        font-size: 12px;
        line-height: 1;
        padding-right: 9px;
    }

    .fpfs_c_title h3 {
        font-size: 16px;
        line-height: 23px;
    }

    .fpfs_line {
        bottom: 15px;
        left: 2.7vw;
        width: 21px;
    }

    .fpfs_c_text {
        margin-bottom: 16px;
        max-width: 271px;
    }

    .fpfs_c_text p {
        font-size: 12px;
        line-height: 17px;
    }

    .fpfs_c_img {
        height: 128px;
        width: 251px;
        margin-right: auto;
    }

    .fpfs_content.fpfs_content3 {
        margin-right: 60px;
    }

    .fpch_info {
        flex-direction: column-reverse;
        width: max-content;
        margin: auto;
        justify-content: space-between;
    }

    .fpch_info_wrapper {
        transform: rotate(10deg);
    }

    .fpch_box {
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        transform: rotate(0deg) scale(0, 0);
        opacity: 0;
    }

    .fpch_box.fpch_box1 {
        margin-bottom: 0;
    }

    .fpch_box.fpch_box2 {
        margin-bottom: 20px;
    }

    .fpch_box.fpch_box3 {
        margin-bottom: 23px;
    }

    .fpch_box.fpch_box4 {
        margin-bottom: 32px;
    }

    .fpch_box.fpch_box5 {
        margin-bottom: 19px;
    }

    .fpch_box.fpch_box6 {
        margin-bottom: 40.5px;
    }

    .fpch_box.fpch_box7 {
        margin-bottom: 47px;
    }

    .s_contents.ch_contents .inner {
        margin-bottom: auto;
        margin-top: auto;
        padding-top: 142px;
    }

    .fpch_imgs {
        display: none;
    }

    .fpch_date {
        margin-bottom: 0;
        margin-right: 16px;
        padding-right: 0.5em;
    }

    .fpch_box.fpch_box6 .fpch_date,
    .fpch_box.fpch_box3 .fpch_date {
        padding-right: 0;
    }

    p.fpch_year {
        font-size: 16px;
        line-height: 21px;
    }

    p.fpch_month {
        font-size: 12px;
        line-height: 16px;
        margin-left: 1em;
        padding-bottom: 1px;
    }

    .fpch_d_line {
        width: 14px;
        bottom: 10px;
        left: 42px;
    }

    .fpch_box.fpch_box1 .fpch_d_line {
        left: 39.75px;
    }

    .fpch_box.fpch_box4 .fpch_d_line,
    .fpch_box.fpch_box5 .fpch_d_line,
    .fpch_box.fpch_box7 .fpch_d_line {
        left: 42.75px;
    }

    .fpch_box.fpch_box6 .fpch_d_line {
        left: 42px;
    }

    .fpch_text ul li {
        font-size: 12px;
        line-height: 17px;
    }

    @keyframes fpchFadeZoomBox {

        0% {
            transform: rotate(-10deg) scale(0, 0);
            opacity: 0;
        }

        80% {
            transform: rotate(-10deg) scale(1.2, 1.2);
        }

        100% {
            transform: rotate(-10deg) scale(1, 1);
            opacity: 1;
        }
    }

    .fpch_line {
        width: 6px;
        height: 458px;
        top: initial;
        bottom: 31px;
        left: 109px;
        right: initial;
        flex-direction: column-reverse;
    }

    .iphone .fpch_line {
        height: 446.25px;
    }

    .fpch_line:before,
    .fpch_line:after {
        width: 1px;
        height: 0;
        left: 0;
        right: 0;
        top: initial;
        background: linear-gradient(11deg, rgba(255, 0, 0, 0.8) 0.75%, rgba(235, 0, 255, 0.5) 54.96%, rgba(0, 163, 255, 0.8) 99.68%);
    }

    .fpch_dot {
        width: 6px;
        height: 6px;
    }

    @keyframes fpchLine {

        0% {
            height: 0;
        }

        100% {
            height: 100%;
        }
    }

    .s_contents.co_contents .inner {
        margin-bottom: auto;
        margin-right: auto;
        margin-top: auto;
        padding-top: 136px;
    }


    table.fpco_table {
        width: 100%;
        height: 466px;
        overflow: hidden;
    }

    table.fpco_table tr {
        overflow: initial;
    }

    table.fpco_table .t_anime {
        transform: translate(-76px, 76px);
    }

    table.fpco_table th {
        width: 62px;
        font-size: 14px;
    }

    table.fpco_table td {
        font-size: 14px;
    }

    table.fpco_table td span.Fu {
        font-size: 14px;
    }

    table.fpco_table td span {
        font-size: 11px;
        line-height: 16px;
        display: inline-block;
    }

    table.fpco_table table.fpco_t_table th {
        padding-right: 8px;
        width: 114px;
        flex-shrink: 0;
    }

    .s_contents.fc_contents .inner {
        margin-top: auto;
        padding-top: 117px;
        padding-bottom: 5px;
    }

    .fp_page_content.fc_contents {
        width: 100%;
        padding-top: 0;
    }

    .contact-contents table th {
        width: 141px;
        padding: 0;
        font-size: 14px;
        line-height: 20px;
    }

    .contact-contents table th p {
        font-size: 14px;
        line-height: 32px;
    }

    .contact-contents table td {
        padding-bottom: 16px;
    }

    .contact-contents table td input {
        height: 32px;
    }

    .contact-contents table td input,
    .contact-contents table td textarea {
        padding: 5px;
        font-size: 14px;
        line-height: 1.3;
    }

    .contact-contents table td textarea {
        height: 100px;
    }

    .contact-submit-btn {
        width: 130px;
        height: 44px;
        margin-top: 40px;
    }

    .c_s_b_wrapper .c_s_b_btn p {
        font-size: 12px;
        line-height: 16px;
    }

    .c_s_b_svg {
        margin-left: 8px;
        width: 16px;
        height: 4px;
    }

    .c_s_b_svg svg {
        width: 16px;
        height: auto;
    }

    .fc_footer {
        padding: 17px 0 8px;
    }

    .fc_f_menu {
        margin-bottom: 14.5px;
    }

    .fc_f_menu ul {
        flex-wrap: wrap;
        width: 300px;
        justify-content: center;
    }

    .fc_f_menu ul li {
        margin: 8px;
        margin-top: 0;
    }

    .fc_f_menu ul li a {
        font-size: 11px;
        line-height: 15px;
    }

    svg.icon_link {
        margin-left: 3px;
        top: 1px;
        width: 8px;
        height: auto;
    }

    .copyright {
        font-size: 9px;
        line-height: 12px;
    }

}

@media only screen and (max-device-height: 450px) and (orientation: landscape) {

    .pc-only {
        display: block;
    }

    .sp-only {
        display: none;
    }

    .swiper-pagination.vertical-slider__pagination {
        pointer-events: none;
        opacity: 0;
        overflow: hidden;
        width: 0;
        height: 0;
        z-index: -1;
    }

    .fp_menu {
        position: fixed;
        z-index: 9;
        right: 3.5vw;
        bottom: 3.5vw;
        transition: 0.3s;
    }

    .fp_menu.bg_gra_menu {
        opacity: 0;
        pointer-events: none;
    }

    li.slider_link {
        height: auto !important;
        cursor: pointer;
        margin-bottom: 1vw;
    }

    li.slider_link:last-child {
        margin-bottom: 0;
    }

    li.slider_link.no_link {
        height: 0 !important;
        width: 0;
        pointer-events: none;
        overflow: hidden;
        opacity: 0;
    }

    .slider_links li.slider_link a {
        opacity: 1;
        color: #AAAAAA;
        position: relative;
    }

    .slider_links li.slider_link a:hover,
    .slider_links li.slider_link a.active {
        opacity: 1;
        color: #666666;
    }

    .slider_links li.slider_link a img {
        position: absolute;
        top: 0;
        bottom: 0;
        left: -1vw;
        transition: 0.3s;
        opacity: 0;
        height: 1.188vw;
        width: auto;
        pointer-events: none;
    }

    .slider_links li.slider_link a.active img {
        opacity: 1;
    }

    li.slider_link p {
        font-weight: 700;
        font-size: 0.875vw;
        line-height: 1.188vw;
        letter-spacing: 0.08em;
    }

    .fp_menu.fp_menu_contact,
    .fp_menu.fp_menu_hide {
        opacity: 0;
        pointer-events: none;
    }

    .fp_menu.fp_menu_no .slider_links li.slider_link a,
    .fp_menu.fp_menu_no .slider_links li.slider_link a {
        color: #C8C8C8;
    }

    .fp_menu.fp_menu_no .slider_links li.slider_link a:hover,
    .fp_menu.fp_menu_no .slider_links li.slider_link a.active {
        color: #FFFFFF;
    }

    .fp_logo_fix_wrapper {
        pointer-events: none;
    }

    .fp_logo_fix_wrapper.fp_logo_fix_wrapper_open {
        z-index: 9999;
        position: fixed;
        min-height: 100vh;
        min-height: calc(var(--vh, 1vh) * 100);
        top: 0;
        height: 0;
        width: 100%;
        overflow: hidden;
    }

    .fp_logo_fix_wrapper.fp_logo_fix_wrapper_open {
        z-index: 9999999;
        position: fixed;
        min-height: 100vh;
        min-height: calc(var(--vh, 1vh) * 100);
        top: 0;
        left: 0;
        height: 0;
        width: 100%;
        overflow: hidden;
        margin: auto;
        clip: rect(0, auto, auto, 0);
        background-color: #fff;
        animation: slindeBg 0.5s ease-in-out 3s forwards;
    }

    .fp_logo_fix {
        position: fixed;
        top: 10.625vw;
        right: 4.188vw;
        z-index: 1;
    }

    .migi_logo_wrapper {
        width: 47.188vw;
        height: auto;
        margin: auto;
        max-width: 100%;
        position: relative;
    }

    .migi_logo_1 {
        position: absolute;
        left: 0;
        top: 0.375vw;
    }

    .migi_logo_1 svg {
        width: 6.938vw;
        height: auto;
    }

    .migi_logo_2 svg {
        width: 47.188vw;
        height: auto;
    }

    .fp_logo_fix_wrapper.fp_logo_fix_wrapper_open .migi_logo_1 {
        z-index: 1;
    }

    .fp_logo_fix_wrapper.fp_logo_fix_wrapper_open .migi_logo_1 svg path {
        fill: url(#gradient);
    }

    .fp_logo_fix_wrapper.fp_logo_fix_wrapper_open .migi_logo_1 .migi_logo_1 svg {
        animation: gra00 2s ease-in-out 0s infinite;
        opacity: 0;
    }

    .fp_logo_fix_wrapper.fp_logo_fix_wrapper_open .migi_logo_2 {
        position: relative;
        overflow: hidden;
    }

    .fp_logo_fix_wrapper.fp_logo_fix_wrapper_open .migi_logo_2:after {
        position: absolute;
        content: "";
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: #fff;
        animation: logoSlide 1.5s ease-in-out 1.5s both;
    }

    #stop1 {
        animation: gra11 1.5s ease-in-out 0s both, gra12 7s ease-in-out 1.5s infinite alternate;
    }

    #stop2 {
        animation: gra21 1.5s ease-in-out 0s both, gra22 7s ease-in-out 1.5s infinite alternate;
    }

    .fp_logo_fix_wrapper.fp_logo_fix_wrapper_gray {
        transition: 0.3s;
    }

    .fp_logo_fix_wrapper.fp_logo_fix_wrapper_gray.bg_gra_logo {
        opacity: 0;
    }

    .fp_title_fix {
        position: fixed;
        width: 100%;
        top: 3vw;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 3;
        transition: 0.3s;
        opacity: 1;
        pointer-events: none;
    }

    .fp_title_wrapper {
        width: 70vw;
        max-width: 90%;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .ftw_home a {
        display: block;
        pointer-events: all;
        width: 1.625vw;
    }

    .ftw_home a img {
        width: 100%;
        height: auto;
    }

    .ftw_title {
        margin-top: 1.5vw;
        color: #000;
        transition: 0.3s;
    }

    .ftw_title h1,
    .ftw_title h2 {
        font-weight: 700;
        font-size: 2.5vw;
        letter-spacing: 0.12em;
        transition: 0.3s;
    }

    .ftw_title p {
        font-weight: 500;
        font-size: 1.5vw;
        line-height: 2vw;
        letter-spacing: 0.12em;
        margin-top: 0.313vw;
        transition: 0.3s;
    }

    .fp_title_fix.fp_title_fix_hide {
        opacity: 0;
    }

    .fp_title_fix.fp_title_fix_contact .ftw_title {
        color: #fff;
    }

    /*-------------------
    fp scroll
    -------------------*/

    .fp_scroll_fix {
        z-index: 3;
        position: fixed;
        top: 0;
        right: 2.25vw;
        bottom: 0;
        margin: auto;
        width: 0.125vw;
        height: 87.5vw;
        max-height: 90vh;
        overflow: hidden;
        border-radius: 1.25vw;
        transition: 0.3s;
        pointer-events: none;
    }

    .fp_scroll {
        width: 100%;
        height: 100%;
        position: relative;
    }

    .fp_scroll_line {
        width: 100%;
        height: 100%;
        background-color: #fff;
        opacity: 0.4;
    }

    .fp_scroll_bar {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 20%;
        border-radius: 1.25vw;
        background-color: #fff;
        transition: 0.3s;
    }

    .fp_scroll_fix.fp_scroll_fix_hide {
        opacity: 0;
    }

    .fp_scroll_fix.fp_scroll_fix_com_out .fp_scroll_line,
    .fp_scroll_fix.fp_scroll_fix_com_his .fp_scroll_line,
    .fp_scroll_fix.fp_scroll_fix_service .fp_scroll_line,
    .fp_scroll_fix.fp_scroll_fix_news .fp_scroll_line {
        background-color: #DDDDDD;
    }

    .fp_scroll_fix.fp_scroll_fix_com_out .fp_scroll_bar,
    .fp_scroll_fix.fp_scroll_fix_com_his .fp_scroll_bar,
    .fp_scroll_fix.fp_scroll_fix_service .fp_scroll_bar,
    .fp_scroll_fix.fp_scroll_fix_news .fp_scroll_bar {
        background-color: #DDDDDD;
    }

    .fp_scroll_fix.fp_scroll_fix_news .fp_scroll_bar {
        top: 20%;
    }

    .fp_scroll_fix.fp_scroll_fix_service .fp_scroll_bar {
        top: 40%;
    }

    .fp_scroll_fix.fp_scroll_fix_com_out .fp_scroll_bar,
    .fp_scroll_fix.fp_scroll_fix_com_his .fp_scroll_bar {
        top: 60%;
    }

    .fp_scroll_fix.fp_scroll_fix_contact .fp_scroll_bar {
        top: 80%;
    }


    /*-------------------
    fv1
    -------------------*/

    .s_contents.fv1_contents .inner {
        margin-bottom: 8.25vw;
        margin-top: auto;
    }

    .fv1_content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .fv1c_title {
        position: absolute;
        right: 2.688vw;
        top: 17.813vw;
        max-width: 40vw;
        margin-left: auto;
        overflow: hidden;
    }

    .fv1c_title img {
        position: relative;
        transform: translate(-80px, 80px);
        opacity: 0;
        animation: fv1cTitle 0.3s ease-in-out 3.7s forwards;
    }

    .fv1c_h h2 {
        font-weight: 900;
        font-size: 4vw;
        line-height: 5.813vw;
        letter-spacing: 0.12em;
        color: #000000;
        overflow: hidden;
    }

    .fv1c_h_span {
        position: relative;
        transform: translate(-80px, 80px);
        opacity: 0;
        display: block;
    }

    .fv1c_h_01 {
        animation: fv1cTitle 0.3s ease-in-out 4s forwards;
    }

    .fv1c_h_02 {
        animation: fv1cTitle 0.3s ease-in-out 4.3s forwards;
    }

    @keyframes fv1cTitle {

        0% {
            transform: translate(-80px, 80px);
            opacity: 0;
        }

        100% {
            transform: translate(0, 0);
            opacity: 1;
        }
    }

    .is_mask {
        position: absolute;
        left: 50vw;
        bottom: 20vh;
        width: 0.063vw;
        height: 0.063vw;
        pointer-events: none;
    }

    /*-------------------
    fv2
    -------------------*/

    .fv2c_title {
        max-width: 68.625vw;
        margin: auto;
        overflow: hidden;
    }

    .fv2c_title img {
        transform: translate(-80px, 80px);
        opacity: 0;
    }

    .s_contents.fv2_contents.is_active .fv2c_title img {
        animation: fv1cTitle 0.3s ease-in-out 0.3s forwards;
    }

    /*-------------------
    fv3
    -------------------*/

    .s_contents.fv4_contents .inner,
    .s_contents.fv3_contents .inner {
        margin-top: 8.5vw;
    }

    .fv3_content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .fv3c_title {
        width: 43.75vw;
        margin-left: auto;
        margin-bottom: 2.5vw;
    }

    .fv3c_text p {
        font-weight: 900;
        font-size: 1.5vw;
        line-height: 2.188vw;
        letter-spacing: 0.08em;
    }

    .fv3c_text h3 {
        margin-top: 2vw;
        font-weight: 900;
        font-size: 3.5vw;
        line-height: 5.063vw;
        letter-spacing: 0.08em;
    }


    /*-------------------
    fv5
    -------------------*/


    p.fv_c_subtitle {
        margin-bottom: 1vw;
        font-weight: 700;
        font-size: 1.5vw;
        line-height: 2vw;
        letter-spacing: 0.12em;
    }

    h2.fv_c_h2 {
        font-weight: 700;
        font-size: 3.5vw;
        line-height: 4.625vw;
        letter-spacing: 0.08em;
    }

    .fv5_content h2.fv_c_h2 {
        white-space: nowrap;
    }

    .fv5_content h2 span {
        display: inline-block;
    }

    .fv5_content h2 span img {
        width: 7.5vw;
    }

    /*-------------------
    fv6
    -------------------*/

    .fv7_content h2.fv_c_h2 {
        font-weight: 900;
        font-size: 3vw;
        line-height: 4.375vw;
        letter-spacing: 0.12em;
        white-space: nowrap;
    }



    /*-------------------
    fv7
    -------------------*/

    p.fv_c_p {
        font-weight: 900;
        font-size: 1.5vw;
        line-height: 2.188vw;
        letter-spacing: 0.08em;
        margin-top: 1.5vw;
    }

    /*-------------------
    NEWS
    -------------------*/

    .fp_fn_contents {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        padding-right: 1.25vw;
    }

    .fp_fn_content {
        color: #000;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 52.938vw;
        box-sizing: border-box;
        margin: auto;
        margin-bottom: 2.375vw;
        transform: translate(-80px, 80px);
        opacity: 0;
    }

    .fp_fn_content.fp_fn_content1 {
        margin-right: 0;
    }

    .fp_fn_content.fp_fn_content3 {
        margin-left: 0;
        margin-bottom: 0;
    }

    .s_contents.fn_contents.is_active .fp_fn_content.fp_fn_content3 {
        animation: fv1cTitle 0.3s ease-in-out 0.3s forwards;
    }

    .s_contents.fn_contents.is_active .fp_fn_content.fp_fn_content2 {
        animation: fv1cTitle 0.3s ease-in-out 0.6s forwards;
    }

    .s_contents.fn_contents.is_active .fp_fn_content.fp_fn_content1 {
        animation: fv1cTitle 0.3s ease-in-out 0.9s forwards;
    }

    .fp_fn_content a {
        color: #000;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        padding: 1vw;
        box-sizing: border-box;
        position: relative;
    }

    .fp_fn_content a:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #fff;
        opacity: 0.6;
        transition: 0.3s;
    }

    .fpfne_c_img_wrapper {
        width: 11.25vw;
        height: 7.875vw;
        flex-shrink: 0;
        margin-right: 1.5vw;
        overflow: hidden;
        position: relative;
        z-index: 1;
    }

    .fpfne_c_img {
        width: 100%;
        height: 100%;
        transition: 0.3s;
    }

    .fpfne_c_img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    a:hover .fpfne_c_img {
        transform: scale(1.2, 1.2);
    }

    .fpfne_c_info {
        position: relative;
        z-index: 1;
    }

    .news_date_cat {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        margin-bottom: 1vw;
    }

    .news_text p {
        font-weight: 900;
        font-size: 1vw;
        line-height: 1.438vw;
        letter-spacing: 0.12em;
    }

    .news_date {
        margin-right: 0.75vw;
    }

    .news_date time {
        font-weight: 500;
        font-size: 0.875vw;
        line-height: 1.188vw;
        letter-spacing: 0.12em;
        color: #888888;
    }

    .news_cat p {
        font-weight: 900;
        font-size: 0.75vw;
        line-height: 1.063vw;
        letter-spacing: 0.12em;
        color: #FFFFFF;
        padding: 0.5vw 0.688vw;
        background: linear-gradient(90.02deg, rgba(255, 0, 0, 0.48) 0.75%, rgba(235, 0, 255, 0.48) 54.96%, rgba(0, 87, 255, 0.48) 99.68%);
        border-radius: 3.125vw;
    }

    .view_all {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        position: absolute;
        right: 11.25vw;
        bottom: 3.5vw;
    }

    .view_all_wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1vw 1.5vw;
        border-bottom: 1px solid #888888;
    }


    .view_all_wrapper p {
        font-weight: 700;
        font-size: 0.875vw;
        line-height: 1.188vw;
        letter-spacing: 0.12em;
        color: #888888;
    }

    .view_all_wrapper svg {
        margin-left: 1vw;
        position: relative;
    }

    /*-------------------
    SERVICE
    -------------------*/

    .s_contents.fs_contents {
        color: #000;
    }


    .fp_page_content.fp_fs_contents {
        margin-bottom: 1.563vw;
    }

    .s_contents.fs_contents .inner {
        margin-top: auto;
    }

    .fpfs_title {
        margin-bottom: 4vw;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .fpfs_title h2 {
        font-weight: 900;
        font-size: 3vw;
        line-height: 4.375vw;
        text-align: right;
        letter-spacing: 0.12em;
        overflow: hidden;
    }


    .fpfs_title h2 span {
        transform: translate(-80px, 80px);
        opacity: 0;
        display: inline-block;
    }

    .s_contents.fs_contents.is_active .fpfs_title h2 span {
        animation: fv1cTitle 0.3s ease-in-out 0.3s forwards;
    }

    .fpfs_content_wrapper {
        display: flex;
        justify-content: space-between;
        width: 67vw;
        overflow: initial;
        padding-bottom: 0;
    }

    .fpfs_content {
        width: 19.688vw;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        transform: translate(-80px, 80px);
        opacity: 0;
        margin-right: 0;
    }

    .s_contents.fs_contents.is_active .fpfs_content1 {
        animation: fv1cTitle 0.3s ease-in-out 0.6s forwards;
    }

    .s_contents.fs_contents.is_active .fpfs_content2 {
        animation: fv1cTitle 0.3s ease-in-out 0.9s forwards;
    }

    .s_contents.fs_contents.is_active .fpfs_content3 {
        animation: fv1cTitle 0.3s ease-in-out 1.2s forwards;
    }

    .fpfs_c_title {
        margin-bottom: 1.5vw;
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
        position: relative;
    }

    .fpfs_c_title p {
        padding-bottom: 0.875vw;
        font-weight: 700;
        font-size: 1vw;
        line-height: 1.313vw;
        letter-spacing: 0.12em;
        padding-right: 0.75vw;
    }

    .fpfs_line {
        position: absolute;
        bottom: 0.938vw;
        left: 0.875vw;
        width: 1.5vw;
        height: 0.063vw;
        background: linear-gradient(90.02deg, rgba(255, 0, 0, 0.8) 0.75%, rgba(235, 0, 255, 0.5) 54.96%, rgba(0, 163, 255, 0.8) 99.68%);
        transform: rotate(119.74deg);
    }

    .fpfs_c_title h3 {
        font-weight: 900;
        font-size: 1.125vw;
        line-height: 1.625vw;
        letter-spacing: 0.12em;
        white-space: nowrap;
    }

    .fpfs_c_text {
        margin-bottom: 1.5vw;
    }

    .fpfs_c_text p {
        font-weight: 400;
        font-size: 0.875vw;
        line-height: 1.25vw;
        letter-spacing: 0.12em;
    }

    .fpfs_c_img {
        margin-top: auto;
        width: 100%;
        height: 10vw;
    }

    .fpfs_c_img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /*-------------------
    COMPANY
    -------------------*/

    /*--------
    HISTORY
    --------*/

    .fp_page_content.fp_ch_contents {
        color: #000;
    }

    .fpch_info {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        flex-direction: row;
    }

    .fpch_info_wrapper {
        position: relative;
        transform: rotate(-4.75deg);
    }

    .fpch_box {
        transform: rotate(4.75deg) scale(0, 0);
        opacity: 0;
        display: block;
    }

    .s_contents.ch_contents.is_active .fpch_box.fpch_box1 {
        animation: fpchFadeZoomBox 0.3s ease-in-out 0.3s forwards;
    }

    .s_contents.ch_contents.is_active .fpch_box.fpch_box2 {
        animation: fpchFadeZoomBox 0.3s ease-in-out 0.7s forwards;
    }

    .s_contents.ch_contents.is_active .fpch_box.fpch_box3 {
        animation: fpchFadeZoomBox 0.3s ease-in-out 1.1s forwards;
    }

    .s_contents.ch_contents.is_active .fpch_box.fpch_box4 {
        animation: fpchFadeZoomBox 0.3s ease-in-out 1.5s forwards;
    }

    .s_contents.ch_contents.is_active .fpch_box.fpch_box5 {
        animation: fpchFadeZoomBox 0.3s ease-in-out 1.9s forwards;
    }

    .s_contents.ch_contents.is_active .fpch_box.fpch_box6 {
        animation: fpchFadeZoomBox 0.3s ease-in-out 2.3s forwards;
    }

    .s_contents.ch_contents.is_active .fpch_box.fpch_box7 {
        animation: fpchFadeZoomBox 0.3s ease-in-out 2.7s forwards;
    }

    @keyframes fpchFadeZoomBox {

        0% {
            transform: rotate(4.75deg) scale(0, 0);
            opacity: 0;
        }

        80% {
            transform: rotate(4.75deg) scale(1.2, 1.2);
        }

        100% {
            transform: rotate(4.75deg) scale(1, 1);
            opacity: 1;
        }
    }

    .fpch_date {
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
        position: relative;
        margin-bottom: 4.063vw;
        margin-right: 0;
    }

    p.fpch_year {
        font-weight: 700;
        font-size: 2vw;
        line-height: 2.688vw;
        letter-spacing: 0.08em;
    }

    .fpch_d_line {
        width: 1.5vw;
        height: 0.063vw;
        background: linear-gradient(90.02deg, rgba(255, 0, 0, 0.8) 0.75%, rgba(235, 0, 255, 0.5) 54.96%, rgba(0, 163, 255, 0.8) 99.68%);
        transform: rotate(119.74deg);
        position: absolute;
        bottom: 0.938vw;
        left: 4.938vw;
    }

    p.fpch_month {
        font-weight: 500;
        font-size: 1.5vw;
        line-height: 2vw;
        letter-spacing: 0.08em;
        margin-left: 0.5em;
    }

    .fpch_text ul li {
        font-weight: 500;
        font-size: 0.75vw;
        line-height: 1.063vw;
        letter-spacing: 0.12em;
        text-indent: -1em;
        padding-left: 1em;
        white-space: normal;
    }

    .fpch_line {
        width: 77vw;
        height: 0.75vw;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        top: 4.25vw;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .fpch_line:before,
    .fpch_line:after {
        position: absolute;
        content: "";
        width: 0;
        height: 0.063vw;
        top: 0;
        bottom: 0;
        margin: auto;
        background: linear-gradient(90.02deg, rgba(255, 0, 0, 0.8) 0.75%, rgba(235, 0, 255, 0.5) 54.96%, rgba(0, 163, 255, 0.8) 99.68%);
        opacity: 0.4;
    }

    .fpch_line:before {
        filter: blur(4px);
    }

    .s_contents.ch_contents.is_active .fpch_line:before,
    .s_contents.ch_contents.is_active .fpch_line:after {
        animation: fpchLine 2.7s linear 0.3s forwards;
    }

    @keyframes fpchLine {

        0% {
            width: 0;
        }

        100% {
            width: 100%;
        }
    }

    .fpch_dot {
        width: 0.75vw;
        height: 0.75vw;
        border-radius: 3.125vw;
        position: relative;
        z-index: 1;
        transform: scale(0, 0);
        opacity: 0;
        display: block;
    }

    #fpch_d_1 {
        background-color: #FF3333;
        box-shadow: 0 0 4px #FF3333;
    }

    #fpch_d_2 {
        background-color: #FB4B83;
        box-shadow: 0 0 4px #FB4B83;
    }

    #fpch_d_3 {
        background-color: #F860BD;
        box-shadow: 0 0 4px #F860BD;
    }

    #fpch_d_4 {
        background-color: #F577F0;
        box-shadow: 0 0 4px #F577F0;
    }

    #fpch_d_5 {
        background-color: #9D90FF;
        box-shadow: 0 0 4px #9D90FF;
    }

    #fpch_d_6 {
        background-color: #34B1FC;
        box-shadow: 0 0 4px #34B1FC;
    }

    #fpch_d_7 {
        background-color: #34B1FC;
        box-shadow: 0 0 4px #34B1FC;
    }

    .s_contents.ch_contents.is_active #fpch_d_1 {
        animation: fpchFadeZoom 0.3s ease-in-out 0.3s forwards;
    }

    .s_contents.ch_contents.is_active #fpch_d_2 {
        animation: fpchFadeZoom 0.3s ease-in-out 0.7s forwards;
    }

    .s_contents.ch_contents.is_active #fpch_d_3 {
        animation: fpchFadeZoom 0.3s ease-in-out 1.1s forwards;
    }

    .s_contents.ch_contents.is_active #fpch_d_4 {
        animation: fpchFadeZoom 0.3s ease-in-out 1.5s forwards;
    }

    .s_contents.ch_contents.is_active #fpch_d_5 {
        animation: fpchFadeZoom 0.3s ease-in-out 1.9s forwards;
    }

    .s_contents.ch_contents.is_active #fpch_d_6 {
        animation: fpchFadeZoom 0.3s ease-in-out 2.3s forwards;
    }

    .s_contents.ch_contents.is_active #fpch_d_7 {
        animation: fpchFadeZoom 0.3s ease-in-out 2.7s forwards;
    }

    @keyframes fpchFadeZoom {

        0% {
            transform: scale(0, 0);
            opacity: 0;
        }

        80% {
            transform: scale(1.2, 1.2);
        }

        100% {
            transform: scale(1, 1);
            opacity: 1;
        }
    }

    .fpch_imgs {
        display: none;
    }

    .fpch_img {
        width: 12.313vw;
        height: 7.625vw;
        transform: rotate(4.75deg) scale(0, 0);
        opacity: 0;
    }

    .fpch_img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


    .s_contents.co_contents {
        color: #000;
    }

    .s_contents.ch_contents.is_active .fpch_img.fpch_img1 {
        animation: fpchFadeZoomBox 0.3s ease-in-out 0.3s forwards;
    }

    .s_contents.ch_contents.is_active .fpch_img.fpch_img2 {
        animation: fpchFadeZoomBox 0.3s ease-in-out 1.5s forwards;
    }

    .s_contents.ch_contents.is_active .fpch_img.fpch_img3 {
        animation: fpchFadeZoomBox 0.3s ease-in-out 2.7s forwards;
    }

    /*--------
    OUTLINE
    --------*/

    .s_contents.co_contents .inner {
        margin-bottom: auto;
    }

    table.fpco_table {
        margin-left: auto;
        width: 41.25vw;
        height: 34.438vw;
        max-height: 80vh;
    }

    table.fpco_table tbody {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
        height: 100%;
    }

    table.fpco_table tr {
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        overflow: hidden;
    }

    table.fpco_table th {
        width: 6.875vw;
        text-align: left;
        font-weight: 700;
        font-size: 1vw;
        /*line-height: 1.438vw;*/
        line-height: 1.8;
        letter-spacing: 0.12em;
        /*padding-bottom: 2.5vw;*/
        transform: translate(-80px, 80px);
        opacity: 0;
    }

    table.fpco_table td {
        font-size: 1vw;
        line-height: 1.8;
        letter-spacing: 0.12em;
        /*padding-bottom: 2.5vw;*/
        font-weight: 500;
        transform: translate(-80px, 80px);
        opacity: 0;
    }

    .s_contents.co_contents.is_active table.fpco_table th,
    .s_contents.co_contents.is_active table.fpco_table td {
        animation: fv1cTitle 0.4s ease-in-out 0.4s forwards;
    }

    table.fpco_table tr:last-child td,
    table.fpco_table tr:last-child th {
        padding-bottom: 0;
    }

    table.fpco_table table.fpco_t_table tbody {
        height: auto;
    }

    table.fpco_table table.fpco_t_table td,
    table.fpco_table table.fpco_t_table th {
        padding-bottom: 0.5vw;
    }

    table.fpco_table table.fpco_t_table th {
        width: initial;
        font-weight: 500;
        padding-right: 0.75vw;
        white-space: nowrap;
        width: 8.125vw;
    }

    table.fpco_table td span.Fu {
        font-size: 1vw;
    }

    table.fpco_table td span {
        font-size: 0.875vw;
    }

    /*-------------------
    CONTACT
    -------------------*/

    .s_contents.fc_contents .inner {
        margin-top: auto;
    }

    .s_contents.fc_contents .is_mask {
        left: 0.313vw;
        bottom: 0.313vw;
    }

    .s_contents.fc_contents {
        flex-direction: column;
    }

    .bg_mask.bg_gra {
        background: linear-gradient(45deg, #FA8182, #F3A0E0, #81CDFA);
        background-size: 200% 200%;
        /*サイズを大きくひきのばす*/
        animation: bggradient 5s ease infinite;
    }

    @keyframes bggradient {
        0% {
            background-position: 0% 50%;
        }

        50% {
            background-position: 100% 50%;
        }

        100% {
            background-position: 0% 50%;
        }
    }

    .fp_page_content.fc_contents {
        width: 35.438vw;
        margin-left: auto;
        padding-top: 4.375vw;
    }

    .s_contents.fc_contents .contact-contents {
        opacity: 0;
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
    }

    .s_contents.fc_contents.is_active .contact-contents {
        animation: fade-in-zoom-item 0.5s ease-in-out 0.3s forwards;
    }

    .contact-contents table {
        width: 100%;
    }

    .contact-contents table th {
        width: 12vw;
        font-weight: 700;
        font-size: 1vw;
        line-height: 1.438vw;
        letter-spacing: 0.12em;
        text-align: left;
        white-space: nowrap;
        vertical-align: top;
        padding: 0.313vw 0;
    }

    .contact-contents table th p {
        font-weight: 700;
        font-size: 1vw;
        line-height: 1.438vw;
        letter-spacing: 0.12em;
    }

    .contact-contents table th p span.ct-red {
        color: #FF0000;
    }

    .contact-contents table td {
        /* width: 23.438vw; */
        padding-bottom: 1vw;
    }

    .contact-contents table td input,
    .contact-contents table td textarea {
        width: 100%;
        box-sizing: border-box;
        border: 0;
        padding: 0.313vw;
        font-weight: 700;
        font-size: 1vw;
        line-height: 1.438vw;
        letter-spacing: 0.12em;
        border-radius: 0.188vw;
        outline-color: #e8e8e8;
    }

    .contact-contents table tr:last-child td {
        padding-bottom: 0;
    }

    .contact-contents table td input {
        height: 2vw;
    }

    .contact-contents table td textarea {
        height: 7.625vw;
        resize: none;
    }

    .contact-submit-btn {
        width: 13.5vw;
        height: 3.562vw;
        margin: auto;
        margin-top: 2.5vw;
    }

    .c_s_b_wrapper {
        position: relative;
        cursor: pointer;
        width: 100%;
        height: 100%;
        transition: 0.3s;
    }

    .c_s_b_wrapper:hover {
        opacity: 0.7;
    }

    .c_s_b_wrapper input {
        width: 100%;
        height: 100%;
        position: absolute;
        box-sizing: border-box;
        opacity: 0;
    }

    .c_s_b_wrapper p {
        display: none;
    }

    .c_s_b_inner {
        width: 100%;
        height: 100%;
        background: linear-gradient(90.02deg, rgba(255, 0, 0, 0.8) 0.75%, rgba(235, 0, 255, 0.5) 54.96%, rgba(0, 163, 255, 0.8) 99.68%);
        padding: 0.063vw;
        box-sizing: border-box;
    }

    .c_s_b_btn {
        background-color: #fff;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .c_s_b_wrapper .c_s_b_btn p {
        display: block;
        font-weight: 700;
        font-size: 0.875vw;
        line-height: 1.188vw;
        letter-spacing: 0.12em;
        background: linear-gradient(88.58deg, rgba(255, 0, 122, 0.8) -62.96%, rgba(235, 0, 255, 0.5) 79.62%, rgba(0, 163, 255, 0.8) 197.25%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        text-fill-color: transparent;
        font-family: futura-pt, 'Noto Sans JP', sans-serif;
        font-style: normal;
        font-weight: 700;
    }


    .c_s_b_svg {
        margin-left: 0.5vw;
        width: 1.5vw;
        height: 0.313vw;
        position: relative;
    }

    .c_s_b_svg svg {
        position: absolute;
        top: 0;
        left: 0;
    }


    .fc_footer {
        width: 100%;
        position: relative;
        padding: 3vw 0 1.375vw;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        opacity: 0;
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
    }

    .s_contents.fc_contents.is_active .fc_footer {
        animation: fade-in-zoom-item 0.5s ease-in-out 0.3s forwards;
    }

    .fc_footer:after {
        position: absolute;
        content: "";
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: #000000;
        opacity: 0.2;
    }

    .fc_f_menu {
        margin-bottom: 2.5vw;
        position: relative;
        z-index: 1;
    }

    .fc_f_menu ul {
        width: 52.688vw;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .fc_f_menu ul li a {
        font-weight: 700;
        font-size: 0.875vw;
        line-height: 1.188vw;
        letter-spacing: 0.08em;
        color: #fff;
    }

    svg.icon_link {
        position: relative;
        margin-left: 0.5vw;
        top: 0.125vw;
    }

    .copyright {
        position: relative;
        z-index: 1;
        font-weight: 500;
        font-size: 0.75vw;
        line-height: 1vw;
        letter-spacing: 0.12em;
    }

}

@media only screen and (max-device-height: 380px) and (orientation: landscape) {

    .fpch_info_wrapper {
        transform: none;
    }

    .fpch_info {
        flex-direction: column;
        margin-right: 0;
    }

    .s_contents.ch_contents.is_active .fpch_box {
        animation: none !important;
    }

    .fpch_box {
        transform: none;
        opacity: 1;
        display: flex;
        margin-bottom: 1vw !important;
    }

    .fpch_date {
        margin-bottom: 1vw;
    }

    .fpch_box.fpch_box1 {
        margin-bottom: 1vw;
    }

    .fpch_text ul li {
        font-size: 1vw;
        line-height: 1.3;
    }

    .fpch_line {
        display: none;
    }

}


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

    .s_contents.fc_contents .inner {
        margin-top: auto;
        /* padding-top: 112px; */
        padding-top: 30vw;
    }

    .news_date_cat {
        margin-bottom: 2.133vw;
    }

    .news_date {
        margin-right: 2.133vw;
    }

    .news_date time {
        font-size: 2.933vw;
        line-height: 4vw;
    }

    .news_cat p {
        font-size: 2.933vw;
        line-height: 4.267vw;
        padding: 1.333vw 3.467vw;
    }

    /*px*/

    .movie_btn {
        bottom: 22.933vw;
        right: 4.267vw;
    }

    button#start {
        width: 25.6vw;
        height: 25.6vw;
    }

    button#start svg {
        width: 25.6vw;
        height: 25.6vw;
    }


    .fp_title_wrapper {
        width: 91.467vw;
    }

    .ftw_home a {
        width: auto;
        height: 27px;
    }

    .ftw_home a img {
        width: auto;
        height: 27px;
    }

    .ftw_title {
        margin-top: 10.667vw;
    }

    .ftw_title h1,
    .ftw_title h2 {
        font-size: 4.72vw;
    }

    .ftw_title p {
        font-size: 3.467vw;
        line-height: 1;
        margin-top: 2.133vw;
    }

    .fp_menu {
        display: none !important;
    }

    .fp_scroll_fix {
        right: 1.867vw;
        height: 160vw;
    }

    .inner {
        width: 91.467vw;
        max-width: 91.467vw;
    }

    .fp_logo_fix {
        top: 65.333vw;
        right: 8.267vw;
    }

    .migi_logo_wrapper {
        width: 75.2vw;
    }

    .migi_logo_1 {
        top: 0.8vw;
    }

    .migi_logo_1 svg {
        width: 10.933vw;
    }

    .migi_logo_2 svg {
        width: 75.2vw;
    }

    .fv1c_title {
        right: 4.267vw;
        top: 75.467vw;
        max-width: 65.6vw;
    }

    .s_contents.fv1_contents .inner {
        margin-bottom: auto;
        margin-top: 106.667vw;
    }

    .fv1c_title img {
        transform: translate(-20.267vw, 20.267vw);
    }

    @keyframes fv1cTitle {

        0% {
            transform: translate(-20.267vw, 20.267vw);
            opacity: 0;
        }

        100% {
            transform: translate(0, 0);
            opacity: 1;
        }
    }

    .fv1c_h h2 {
        font-size: 7.467vw;
        line-height: 10.933vw;
    }

    .fv2c_title {
        max-width: 34.667vw;
        overflow: initial;
    }

    .s_contents.fv4_contents .inner,
    .s_contents.fv3_contents .inner {
        margin-top: 37.067vw;
    }

    .fv3c_title {
        width: 70.933vw;
        margin-bottom: 21.333vw;
    }

    .fv3c_text p {
        font-size: 3.733vw;
        line-height: 5.333vw;
    }

    .fv3c_text h3 {
        margin-top: 8.533vw;
        font-size: 6.4vw;
        line-height: 9.333vw;
    }

    .s_contents.fv5_contents .inner,
    .s_contents.fv6_contents .inner,
    .s_contents.fv7_contents .inner,
    .s_contents.fv8_contents .inner {
        margin-top: 55vw;
    }

    p.fv_c_subtitle {
        margin-bottom: 6.4vw;
        font-size: 3.733vw;
        line-height: 5.067vw;
    }

    h2.fv_c_h2 {
        font-size: 6.4vw;
        line-height: 12vw;
        font-weight: 900;
    }

    .fv5_content h2 span img {
        width: 13.6vw;
        position: relative;
        top: 0.533vw;
    }

    .fv7_content h2.fv_c_h2 {
        font-size: 6.4vw;
        line-height: 12vw;
        font-weight: 900;
    }

    p.fv_c_p {
        margin-top: 6.4vw;
        font-size: 3.733vw;
        line-height: 6.4vw;
    }

    .s_contents.fn_contents .inner {
        padding-bottom: 7.2vw;
    }

    .fp_fn_contents {
        padding-right: 0;
    }

    .fp_fn_content {
        width: 75.733vw;
        margin-bottom: 6.4vw;
        transform: translate(-20.267vw, 20.267vw);
    }

    .fp_fn_content a {
        padding: 2.133vw;
    }

    .fpfne_c_img_wrapper {
        width: 24.533vw;
        height: 21.867vw;
        margin-right: 4.267vw;
    }

    .news_date_cat {
        margin-bottom: 8px;
    }

    .news_date {
        margin-right: 8px;
    }

    .news_date time {
        font-size: 11px;
        line-height: 15px;
    }

    .news_cat p {
        font-size: 11px;
        line-height: 16px;
        padding: 5px 13px;
    }

    .news_text p {
        font-size: 3.2vw;
        line-height: 4.533vw;
    }

    .view_all {
        right: 4.267vw;
        bottom: 21.333vw;
    }

    .view_all_wrapper {
        padding: 4.267vw 0;
    }

    .view_all_wrapper p {
        font-size: 3.2vw;
        line-height: 4.267vw;
    }

    .view_all_wrapper svg {
        margin-left: 4.267vw;
        width: 4.267vw;
        height: auto;
    }

    .s_contents.fs_contents .inner {
        margin-top: auto;
        /*padding-bottom: 13.333vw;*/
        width: 100%;
        max-width: 100%;
    }

    .fp_page_content.fp_fs_contents {
        margin-bottom: 0;
    }

    .fpfs_title {
        margin-bottom: 12.8vw;
        margin-right: 4.267vw;
    }

    .fpfs_title h2 {
        font-size: 6.4vw;
        line-height: 9.333vw;
    }

    .fpfs_title h2 span {
        white-space: nowrap;
    }

    .fpfs_content_wrapper {
        width: 100%;
        height: auto;
        overflow-x: scroll;
        overflow-y: hidden;
        justify-content: flex-start;
        padding-bottom: 5.333vw;
        -ms-overflow-style: none;
        scrollbar-width: none;
        padding-left: 4.267vw;
        padding-right: 22vw;
        box-sizing: border-box;
    }

    .fpfs_content_wrapper:before,
    .fpfs_content_wrapper:after {
        content: "";
        position: absolute;
        width: 30.667vw;
        height: calc(100% - 27.2vw);
        right: -6.4vw;
        bottom: 0;
        pointer-events: none;
        z-index: 1;
    }

    .fpfs_content_wrapper:before {
        background: #F9F9F9;
        opacity: 0.5;
        filter: blur(10px);
        z-index: 2;
    }

    .fpfs_content_wrapper:after {
        backdrop-filter: blur(1px);
        right: -9.067vw;
    }

    .fpfs_content_wrapper::-webkit-scrollbar {
        display: none;
    }

    .fpfs_content {
        width: 66.933vw;
        transform: none;
        margin-right: 6.4vw;
        flex-shrink: 0;
    }

    .fpfs_content {
        width: max-content;
        max-width: 90vw;
        transform: none;
        margin-right: 6.4vw;
        flex-shrink: 0;
    }

    .fpfs_c_text_wrapper {
        width: 100%;
    }

    .fpfs_c_title {
        margin-bottom: 4.267vw;
    }

    .fpfs_c_title p {
        padding-bottom: 3.467vw;
        font-size: 3.2vw;
        line-height: 1;
        padding-right: 2.4vw;
    }

    .fpfs_c_title h3 {
        font-size: 4.267vw;
        line-height: 6.133vw;
    }

    .fpfs_line {
        bottom: 4vw;
        left: 2.7vw;
        width: 5.6vw;
    }

    .fpfs_c_text {
        margin-bottom: 4.267vw;
        max-width: 73vw;
    }

    .fpfs_c_text p {
        font-size: 3.2vw;
        line-height: 4.533vw;
    }

    .fpfs_c_img {
        height: 34.133vw;
        width: 66.933vw;
        margin-right: auto;
    }

    .fpfs_content.fpfs_content3 {
        margin-right: 0;
    }

    .fpch_info {
        flex-direction: column-reverse;
        width: max-content;
        margin: auto;
        justify-content: space-between;
    }

    .fpch_info_wrapper {
        transform: rotate(10deg);
    }

    .fpch_box {
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        transform: rotate(0deg) scale(0, 0);
        opacity: 0;
    }

    .fpch_box.fpch_box1 {
        margin-bottom: 0;
    }

    .fpch_box.fpch_box2 {
        margin-bottom: 5.333vw;
    }

    .fpch_box.fpch_box3 {
        margin-bottom: 6.133vw;
    }

    .fpch_box.fpch_box4 {
        margin-bottom: 8.533vw;
    }

    .fpch_box.fpch_box5 {
        margin-bottom: 5.067vw;
    }

    .fpch_box.fpch_box6 {
        margin-bottom: 10.8vw;
    }

    .fpch_box.fpch_box7 {
        margin-bottom: 12.533vw;
    }

    .s_contents.ch_contents .inner {
        margin-bottom: auto;
        margin-top: auto;
        margin-right: auto;
        padding-top: 37.867vw;
    }

    .fpch_imgs {
        display: none;
    }

    .fpch_date {
        margin-bottom: 0;
        margin-right: 4.267vw;
        padding-right: 0.5em;
    }

    .fpch_box.fpch_box6 .fpch_date,
    .fpch_box.fpch_box3 .fpch_date {
        padding-right: 0;
    }

    p.fpch_year {
        font-size: 4.267vw;
        line-height: 5.6vw;
    }

    p.fpch_month {
        font-size: 3.2vw;
        line-height: 4.267vw;
        margin-left: 1em;
        padding-bottom: 0.267vw;
    }

    .fpch_d_line {
        width: 3.733vw;
        bottom: 2.667vw;
        left: 11.2vw;
    }

    .fpch_box.fpch_box1 .fpch_d_line {
        left: 10.6vw;
    }

    .fpch_box.fpch_box4 .fpch_d_line,
    .fpch_box.fpch_box5 .fpch_d_line,
    .fpch_box.fpch_box7 .fpch_d_line {
        left: 11.4vw;
    }

    .fpch_box.fpch_box6 .fpch_d_line {
        left: 11.2vw;
    }

    .fpch_text ul li {
        font-size: 3.2vw;
        line-height: 4.533vw;
    }

    @keyframes fpchFadeZoomBox {

        0% {
            transform: rotate(-10deg) scale(0, 0);
            opacity: 0;
        }

        80% {
            transform: rotate(-10deg) scale(1.2, 1.2);
        }

        100% {
            transform: rotate(-10deg) scale(1, 1);
            opacity: 1;
        }
    }

    .fpch_line {
        width: 1.6vw;
        height: 122.133vw;
        top: initial;
        bottom: 8.267vw;
        left: 29.067vw;
        right: initial;
        flex-direction: column-reverse;
    }

    .iphone .fpch_line {
        height: 119vw;
    }

    .fpch_line:before,
    .fpch_line:after {
        width: 0.267vw;
        height: 0;
        left: 0;
        right: 0;
        top: initial;
        background: linear-gradient(11deg, rgba(255, 0, 0, 0.8) 0.75%, rgba(235, 0, 255, 0.5) 54.96%, rgba(0, 163, 255, 0.8) 99.68%);
    }

    .fpch_dot {
        width: 1.6vw;
        height: 1.6vw;
    }

    @keyframes fpchLine {

        0% {
            height: 0;
        }

        100% {
            height: 100%;
        }
    }

    .s_contents.co_contents .inner {
        margin-bottom: auto;
        margin-right: auto;
        margin-top: auto;
        padding-top: 36vw;
    }

    table.fpco_table {
        width: 100%;
        height: 124.267vw;
        overflow: hidden;
    }

    table.fpco_table tr {
        overflow: initial;
    }


    table.fpco_table .t_anime {
        transform: translate(-20.267vw, 20.267vw);
    }

    table.fpco_table th {
        width: 16.533vw;
        font-size: 3.733vw;
    }

    table.fpco_table td {
        font-size: 3.733vw;
    }

    table.fpco_table td span.Fu {
        font-size: 3.733vw;
    }

    table.fpco_table td span {
        font-size: 2.933vw;
        line-height: 4.267vw;
        display: inline-block;
    }

    table.fpco_table table.fpco_t_table th {
        padding-right: 2.133vw;
        width: 30.4vw;
        flex-shrink: 0;
    }

    .s_contents.fc_contents .inner {
        margin-top: auto;
        padding-top: 31.2vw;
        padding-bottom: 1.333vw;
    }

    .fp_page_content.fc_contents {
        width: 100%;
        padding-top: 0;
    }

    .contact-contents table th {
        width: 37.6vw;
        padding: 0;
        font-size: 3.733vw;
        line-height: 5.333vw;
    }

    .contact-contents table th p {
        font-size: 3.733vw;
        line-height: 8.533vw;
    }

    .contact-contents table td {
        padding-bottom: 4.267vw;
    }

    .contact-contents table td input {
        height: 8.533vw;
    }

    .contact-contents table td input,
    .contact-contents table td textarea {
        padding: 1.333vw;
        font-size: 3.733vw;
        line-height: 1.3;
    }

    .contact-contents table td textarea {
        height: 26.667vw;
    }

    .contact-submit-btn {
        width: 34.667vw;
        height: 11.733vw;
        margin-top: 10.667vw;
    }

    .c_s_b_wrapper .c_s_b_btn p {
        font-size: 3.2vw;
        line-height: 4.267vw;
    }

    .c_s_b_svg {
        margin-left: 2.133vw;
        width: 4.267vw;
        height: 1.067vw;
    }

    .c_s_b_svg svg {
        width: 4.267vw;
        height: auto;
    }

    .fc_footer {
        padding: 4.533vw 0 2.133vw;
    }

    .fc_f_menu {
        margin-bottom: 3.867vw;
    }

    .fc_f_menu ul {
        flex-wrap: wrap;
        width: 80vw;
        justify-content: center;
    }

    .fc_f_menu ul li {
        margin: 2.133vw;
        margin-top: 0;
    }

    .fc_f_menu ul li a {
        font-size: 2.933vw;
        line-height: 4vw;
    }

    svg.icon_link {
        margin-left: 0.8vw;
        top: 0.267vw;
        width: 2.133vw;
        height: auto;
    }

    .copyright {
        font-size: 2.4vw;
        line-height: 3.2vw;
    }

}

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

    main.front_page .contact-contents table td {
        padding-bottom: 1vw;
    }

    main.front_page .contact-contents table td input {
        height: 6vw;
    }

    main.front_page .contact-contents table td input,
    .contact-contents table td textarea {
        padding: 3px;
        font-size: 11px;
        line-height: 1.3;
    }

    main.front_page .contact-contents table th p {
        font-size: 11px;
        line-height: 1;
    }

    main.front_page .contact-contents table td textarea {
        height: 19vw;
    }

    main.front_page .contact-submit-btn {
        width: 34.667vw;
        height: 8vw;
        margin-top: 5vw;
    }

    main.front_page .ftw_title {
        display: none;
    }

    main.front_page .s_contents.fc_contents footer#footer {
        display: none;
    }

    main.front_page .s_contents.fc_contents .inner {
        margin-top: auto;
        padding: 0;
    }

}

@media screen and (max-width: 450px) and (max-height: 700px) {

    .contact-contents table td {
        padding-bottom: 12px;
    }

    .contact-contents table td textarea {
        height: 80px;
    }

    .contact-submit-btn {
        height: 38px;
        margin-top: 25px;
    }

}

@media screen and (max-width: 450px) and (max-height: 650px) {

    .ftw_title {
        margin-top: 20px;
    }

    main.pages .ftw_title {
        margin-top: 40px;
    }

    .s_contents.fs_contents .view_all,
    .view_all {
        bottom: 20px;
    }

    .s_contents.fs_contents .inner {
        padding-bottom: 0;
        padding-top: 50px;
    }

    .s_contents.ch_contents .inner {
        padding-top: 80px;
        margin-right: 10px;
    }

    .s_contents.ch_contents .inner {
        padding-top: 80px;
        margin-right: 10px;
    }

    table.fpco_table {
        height: 400px;
    }

    .HomeScene-bg .fc_f_menu {
        margin-bottom: 0;
    }

}

@media screen and (max-width: 450px) and (max-height: 600px) {


    .contact-contents table td {
        padding-bottom: 12px;
    }

    .contact-contents table td input {
        height: 24px;
    }

    .contact-contents table td textarea {
        height: 65px;
    }

    .contact-contents table td input,
    .contact-contents table td textarea {
        font-size: 12px;
    }

    .contact-submit-btn {
        height: 30px;
        margin-top: 25px;
    }

}

@media screen and (max-width: 768px) and (max-height: 700px) {

    .movie_btn {
        bottom: 16px;
        right: 16px;
    }

}

@media screen and (max-width: 400px) and (max-height: 700px) {

    .movie_btn {
        bottom: 4.267vw;
        right: 4.267vw;
    }

}

/*--------------------------------------------------------------------
下層ページ
--------------------------------------------------------------------*/


/*----------------------------------------------------------------------
NEWS ニュース一覧
----------------------------------------------------------------------*/

main.pages.news_page {
    width: 100vw;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    overflow: hidden;
    opacity: 0;
}

.wf-active main.pages.news_page,
.loading-delay main.pages.news_page {
    opacity: 1;
    transition: 0.3s;
}

/*1031+24=1055*/
.inner.news_inner {
    width: 1055px;
    position: relative;
    z-index: 1;
}


.news_contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}

.news_content {
    width: 281px;
    margin: 0 12px 24px;
    transform: translate(-50vw, 50vw);
    opacity: 0;
}

.news_content.news_content_1 {
    margin-left: auto;
}

@keyframes fade-news-slide {
    0% {
        opacity: 0;
        transform: translate(-50vw, 50vw);
    }

    60% {
        opacity: 0;
    }

    100% {
        opacity: 1;
        transform: translate(0, 0);
    }
}

.news_content.news_content_1,
.news_content.news_content_2,
.news_content.news_content_3 {
    animation: fade-news-slide 0.5s ease-out forwards;
    animation-delay: 0.7s;
}

.news_content.news_content_4,
.news_content.news_content_5,
.news_content.news_content_6 {
    animation: fade-news-slide 0.5s ease-out forwards;
    animation-delay: 0.2s;
}



.news_content a {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 16px;
    box-sizing: border-box;
}

.news_content a:hover {
    opacity: 1;
}

.news_img_wrapper {
    margin-bottom: 24px;
}

.news_img {
    width: 100%;
    height: 155px;
    overflow: hidden;
    background-color: #fff;
}

.news_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s;
}

a:hover .news_img img {
    transform: scale(1.1, 1.1);
    filter: blur(2px);
}

.news_content .news_date_cat {
    margin-bottom: 12px;
}

.news_content .news_text p {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.12em;
}

.pagination_wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 10px;
}

.pagination_wrapper .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagination_wrapper .nav-links .page-numbers {
    font-weight: 700;
    font-size: 15.5px;
    line-height: 19px;
    letter-spacing: 0.12em;
    color: #888888;
}

.pagination_wrapper .nav-links .page-numbers {
    margin: 0 12px;
}

.pagination_wrapper .nav-links span.page-numbers.current {
    background: linear-gradient(180deg, rgba(255, 0, 0, 0.8) 0%, rgba(235, 0, 255, 0.5) 54.79%, rgba(0, 163, 255, 0.8) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

.pagination_wrapper .nav-links a.page-numbers:hover {
    color: #000;
}

a.prev.page-numbers,
a.next.page-numbers {
    display: flex;
    align-items: center;
    position: relative;
}

.pagination_wrapper .nav-links a.prev.page-numbers {
    margin-left: 0;
    margin-right: 28px;
}

.pagination_wrapper .nav-links a.next.page-numbers {
    margin-right: 0;
    margin-left: 28px;
}

a.prev.page-numbers:after,
a.next.page-numbers:after {
    content: "";
    position: absolute;
    bottom: -16px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #888888;
    transition: 0.3s;
}

a.prev.page-numbers:hover:after,
a.next.page-numbers:hover:after {
    background-color: #000;
}

a.prev.page-numbers svg {
    margin-right: 16px;
}

a.next.page-numbers svg {
    margin-left: 16px;
}

a.page-numbers svg rect,
a.page-numbers svg path {
    transition: 0.3s;
}

a.page-numbers:hover svg rect,
a.page-numbers:hover svg path {
    fill: #000;
}

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

    .inner.news_inner {
        width: 75.357vw;
    }

    .news_content {
        width: 20.071vw;
        margin: 0 0.857vw 1.714vw;
    }

    .news_content a {
        padding: 1.143vw;
    }

    .news_img_wrapper {
        margin-bottom: 1.714vw;
    }

    .news_img {
        height: 11.071vw;
    }

    .news_content .news_date_cat {
        margin-bottom: 0.857vw;
    }

    .news_content .news_text p {
        font-size: 1vw;
        line-height: 1.429vw;
    }

    .pagination_wrapper {
        padding-bottom: 0.714vw;
    }

    .pagination_wrapper .nav-links .page-numbers {
        font-size: 1.107vw;
        line-height: 1.357vw;
    }

    .pagination_wrapper .nav-links .page-numbers {
        margin: 0 0.857vw;
    }

    .pagination_wrapper .nav-links a.prev.page-numbers {
        margin-left: 0;
        margin-right: 2vw;
    }

    .pagination_wrapper .nav-links a.next.page-numbers {
        margin-right: 0;
        margin-left: 2vw;
    }

    a.prev.page-numbers:after,
    a.next.page-numbers:after {
        bottom: -1.143vw;
    }

    a.prev.page-numbers svg {
        margin-right: 1.143vw;
    }

    a.next.page-numbers svg {
        margin-left: 1.143vw;
    }

}

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


    main.pages.news_page .fp_title_wrapper {
        width: 85vw;
    }

    .inner.news_inner {
        width: 58vw;
        margin-top: auto;
    }

    .news_contents {
        justify-content: space-between;
    }

    .news_content.news_content_1 {
        margin-left: 0;
    }

    .news_content {
        width: 28vw;
        margin: 0 0 2.462vw;
    }

    .news_content a {
        padding: 0;
    }

    .news_img_wrapper {
        margin-bottom: 1.231vw;
    }

    .news_img {
        height: 15.385vw;
    }

    .news_content .news_date_cat {
        margin-bottom: 1.231vw;
    }

    .news_content .news_cat {
        margin-left: auto;
    }

    .news_content .news_text p {
        font-size: 1.846vw;
        line-height: 2.615vw;
        min-height: 7.846vw;
    }

    .pagination_wrapper {
        padding-bottom: 0;
        margin-top: 3.692vw;
    }

    .pagination_wrapper .nav-links .page-numbers {
        font-size: 2vw;
        line-height: 2.462vw;
        margin: 0 1.231vw;
    }

    .pagination_wrapper .nav-links span.page-numbers.dots {
        font-size: 1.785vw;
    }

    .pagination_wrapper .nav-links a.next.page-numbers {
        margin-left: 2.462vw;
    }

    .pagination_wrapper .nav-links a.prev.page-numbers {
        margin-right: 2.462vw;
    }

    .news_content.news_content_1,
    .news_content.news_content_2 {
        animation: fade-news-slide 0.5s ease-out forwards;
        animation-delay: 0.8s;
    }

    .news_content.news_content_3,
    .news_content.news_content_4 {
        animation: fade-news-slide 0.5s ease-out forwards;
        animation-delay: 0.5s;
    }

    .news_content.news_content_5,
    .news_content.news_content_6 {
        animation: fade-news-slide 0.5s ease-out forwards;
        animation-delay: 0.2s;
    }


}

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

    .inner.news_inner {
        width: 340px;
        margin-top: 160px;
    }

    .news_contents {
        justify-content: space-between;
    }

    .news_content.news_content_1 {
        margin-left: 0;
    }

    .news_content {
        width: 162px;
        margin: 0 0 16px;
    }

    .news_content a {
        padding: 0;
    }

    .news_img_wrapper {
        margin-bottom: 8px;
    }

    .news_img {
        height: 100px;
    }

    .news_content .news_date_cat {
        margin-bottom: 8px;

    }

    .news_content .news_text p {
        font-size: 12px;
        line-height: 17px;
        min-height: 51px;
    }

    .pagination_wrapper {
        padding-bottom: 0;
        margin-top: 24px;
    }

    .pagination_wrapper .nav-links .page-numbers {
        font-size: 13px;
        line-height: 16px;
        margin: 0 8px;
    }

    .pagination_wrapper .nav-links span.page-numbers.dots {
        font-size: 11.6px;
    }

    .pagination_wrapper .nav-links a.next.page-numbers {
        margin-left: 16px;
    }

    .pagination_wrapper .nav-links a.prev.page-numbers {
        margin-right: 16px;
    }

    .news_content.news_content_1,
    .news_content.news_content_2 {
        animation: fade-news-slide 0.5s ease-out forwards;
        animation-delay: 0.6s;
    }

    .news_content.news_content_3,
    .news_content.news_content_4 {
        animation: fade-news-slide 0.5s ease-out forwards;
        animation-delay: 0.2s;
    }

}

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

    .inner.news_inner {
        width: 88.533vw;
        margin-top: 42.667vw;
    }

    .news_contents {
        justify-content: space-between;
    }

    .news_content.news_content_1 {
        margin-left: 0;
    }

    .news_content {
        width: 43.2vw;
        margin: 0 0 4.267vw;
    }

    .news_content a {
        padding: 0;
    }

    .news_img_wrapper {
        margin-bottom: 2.133vw;
    }

    .news_img {
        height: 26.667vw;
    }

    .news_content .news_date_cat {
        margin-bottom: 2.133vw;
    }

    .news_content .news_text p {
        font-size: 3.2vw;
        line-height: 4.533vw;
        min-height: 13.6vw;
    }

    .pagination_wrapper {
        padding-bottom: 0;
        margin-top: 6.4vw;
    }

    .pagination_wrapper .nav-links .page-numbers {
        font-size: 3.467vw;
        line-height: 4.267vw;
        margin: 0 2.133vw;
    }

    .pagination_wrapper .nav-links span.page-numbers.dots {
        font-size: 3.093vw;
    }

    .pagination_wrapper .nav-links a.next.page-numbers {
        margin-left: 4.267vw;
    }

    .pagination_wrapper .nav-links a.prev.page-numbers {
        margin-right: 4.267vw;
    }

    .news_content.news_content_1,
    .news_content.news_content_2 {
        animation: fade-news-slide 0.5s ease-out forwards;
        animation-delay: 0.6s;
    }

    .news_content.news_content_3,
    .news_content.news_content_4 {
        animation: fade-news-slide 0.5s ease-out forwards;
        animation-delay: 0.2s;
    }

}

@media screen and (max-width: 450px) and (max-height: 650px) {

    main.pages.news_page .pagination_wrapper {
        position: fixed;
        margin: auto;
        left: 0;
        bottom: 20px;
        width: 100%;
    }

    .news_contents {
        align-items: flex-start;
    }

    .news_content .news_text p {
        min-height: auto;
    }

    .inner.news_inner {
        margin-top: auto;
        padding-top: 50px;
    }

}

@media screen and (max-width: 450px) and (max-height: 600px) {

    .inner.news_inner {
        margin-top: auto;
        padding-top: 100px;
    }

    main.pages.news_page .ftw_title {
        margin-top: 20px;
    }

}

/*----------------------------------------------------------------------
sigle page news 記事詳細
----------------------------------------------------------------------*/

body.page_id_110 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}

main.pages.sigle_page {
    width: 100%;
}

body.page_id_110 footer#footer {
    margin-top: auto;
}

.pages_space {
    height: 136px;
}

h2.s_news_label {
    width: max-content;
    margin: auto;
    margin-bottom: 24px;
    font-weight: 700;
    font-size: 40px;
    line-height: 53px;
    letter-spacing: 0.12em;
}

.inner.s_news_inner {
    width: 728px;
}

.s_news_wrapper {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-bottom: 24px;
}

h1.s_news_title {
    font-weight: 900;
    font-size: 24px;
    line-height: 35px;
    letter-spacing: 0.12em;
}

.news_date_cat.single_date_cat {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
}

.s_news_img {
    width: 421px;
    max-width: 100%;
    margin: auto;
    margin-top: 40px;
    margin-bottom: 40px;
}

.sigle_page .page_contents {
    font-weight: 500;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.12em;
}

footer.pages_footer .fc_footer {
    opacity: 1;
    transform: none;
}

footer.pages_footer .copyright {
    color: #fff;
}

.fp_menu.pages_fp_menu.pagesMenuFade {
    opacity: 0;
    pointer-events: none;
}

/*投稿ページ*/

.sigle_page .page_contents img {
    height: auto;
}

.sigle_page .page_contents p {
    margin-block-start: 1em;
    margin-block-end: 1em;
    line-height: 1.7;
}

.sigle_page .page_contents h1,
.sigle_page .page_contents h2 {
    font-size: 24px;
    line-height: 35px;
    letter-spacing: 0.1em;
    margin-block-start: 75px;
    margin-block-end: 0.83em;
    font-weight: bold;
}

.sigle_page .page_contents h6,
.sigle_page .page_contents h5,
.sigle_page .page_contents h4,
.sigle_page .page_contents h3 {
    font-size: 1.17em;
    margin-block-start: 37px;
    margin-block-end: 1em;
    font-weight: bold;
}

.sigle_page .page_contents ul {
    display: block;
    list-style-type: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
}

.sigle_page .page_contents ol {
    display: block;
    list-style-type: decimal;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
}

.sigle_page .page_contents table {
    display: table;
    border-collapse: collapse;
    box-sizing: border-box;
    text-indent: initial;
    border-spacing: 2px;
    border-color: grey;
}

.sigle_page .page_contents tbody {
    display: table-row-group;
    vertical-align: middle;
    border-color: inherit;
}

.sigle_page .page_contents thead {
    border-bottom: 3px solid;
}

.sigle_page .page_contents tfoot {
    border-top: 3px solid;
}

.wp-block-table td,
.wp-block-table th {
    border: 1px solid;
    padding: .5em;
    word-break: normal;
}

.sigle_page .page_contents th {
    display: table-cell;
    vertical-align: inherit;
    font-weight: bold;
    text-align: -internal-center;
}

.sigle_page .page_contents td {
    border-collapse: separate;
    text-indent: initial;
    border-spacing: 2px;
}

.sigle_page .page_contents figcaption {
    color: #555;
    font-size: 13px;
    text-align: center;
}

.sigle_page .page_contents a {
    color: #666666;
    text-decoration: underline;
}

.sigle_page .page_contents em {
    font-style: italic;
}

.sigle_page .page_contents figure {
    margin-block-start: 2em;
    margin-block-end: 2em;
}

.sigle_page .page_contents strong {
    font-weight: 900;
}

.s_news_bottom {
    width: 100%;
    margin-block-start: 150px;
    padding-top: 40px;
    border-top: 1px solid #AAAAAA;
}

.s_news_bottom .s_news_wrapper {
    width: 485px;
    max-width: 100%;
    margin: auto;
    margin-bottom: 24px;
}

p.s_news_title {
    font-weight: 900;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.12em;
}

.other_news_link_wrapper {
    margin-top: 40px;
    margin-bottom: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.other_news_link {
    display: flex;
    align-items: center;
    justify-content: center;
}

.other_news_link .next,
.other_news_link .prev {
    width: 84px;
    height: 51px;
}

.other_news_link .news_view_all {
    width: max-content;
    height: 51px;
    margin: 0 40px;
}

.other_news_link a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    font-weight: 700;
    font-size: 15.8px;
    line-height: 19px;
    letter-spacing: 0.12em;
    color: #888888;
    border-bottom: 1px solid;
}

.other_news_link a:hover {
    opacity: 1;
    color: #000;
}

.other_news_link a svg path {
    transition: 0.3s;
}

.other_news_link a:hover svg path {
    fill: #000;
}


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

    main.pages.sigle_page .fp_title_wrapper {
        width: 90vw;
    }

    .pages_space {
        height: 12.364vw;
    }

    h2.s_news_label {
        margin-bottom: 2.182vw;
        font-size: 3.636vw;
        line-height: 4.818vw;
    }

    .inner.s_news_inner {
        width: 66.182vw;
    }

    .s_news_wrapper {
        margin-bottom: 2.182vw;
    }

    h1.s_news_title {
        font-size: 2.182vw;
        line-height: 3.182vw;
    }

    .s_news_img {
        margin-top: 3.636vw;
        margin-bottom: 3.636vw;
    }

    .sigle_page .page_contents {
        font-size: 1.455vw;
        line-height: 2.091vw;
    }

    .sigle_page .page_contents h1,
    .sigle_page .page_contents h2 {
        font-size: 2.182vw;
        line-height: 3.182vw;
        margin-block-start: 6.818vw;
    }

    .sigle_page .page_contents h6,
    .sigle_page .page_contents h5,
    .sigle_page .page_contents h4,
    .sigle_page .page_contents h3 {
        margin-block-start: 3.364vw;
    }

    .sigle_page .page_contents ul {
        padding-inline-start: 3.636vw;
    }

    .sigle_page .page_contents ol {
        padding-inline-start: 3.636vw;
    }

    .sigle_page .page_contents figcaption {
        font-size: 1.182vw;
    }

    .s_news_bottom {
        margin-block-start: 13.636vw;
        padding-top: 3.636vw;
    }

    .s_news_bottom .s_news_wrapper {
        width: 44.091vw;
        margin-bottom: 2.182vw;
    }

    p.s_news_title {
        font-size: 1.455vw;
        line-height: 2.091vw;
    }

    .other_news_link_wrapper {
        margin-top: 3.636vw;
        margin-bottom: 7.273vw;
    }

    .other_news_link .next,
    .other_news_link .prev {
        width: 7.636vw;
        height: 4.636vw;
    }

    .other_news_link .news_view_all {
        height: 4.636vw;
        margin: 0 3.636vw;
    }

    .other_news_link a {
        font-size: 1.436vw;
        line-height: 1.727vw;
    }

}

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

    .inner.s_news_inner {
        width: 91.467vw;
    }

    .pages_space {
        height: 90px;
    }

    h2.s_news_label {
        margin-bottom: 40px;
        font-size: 17.5px;
        line-height: 21px;
    }

    .s_news_wrapper {
        width: 244px;
        margin: auto;
        margin-bottom: 8px;
    }

    h1.s_news_title {
        font-size: 12px;
        line-height: 17px;
        text-align: center;
    }

    .s_news_img {
        margin-top: 40px;
        margin-bottom: 40px;
        width: 188px;
    }

    .sigle_page .page_contents {
        font-weight: 500;
        font-size: 14px;
        line-height: 18px;
        letter-spacing: 0.05em;
    }

    .sigle_page .page_contents h1,
    .sigle_page .page_contents h2 {
        margin-block-start: 40px;
        font-size: 16px;
        line-height: 23px;
        letter-spacing: 0.13em;
    }

    .sigle_page .page_contents h6,
    .sigle_page .page_contents h5,
    .sigle_page .page_contents h4,
    .sigle_page .page_contents h3 {
        margin-block-start: 1em;
        font-size: 1.1em;
    }

    .sigle_page .page_contents strong {
        font-weight: 700;
    }

    .s_news_bottom {
        margin: auto;
        margin-block-start: 80px;
        padding-top: 40px;
        width: 244px;
    }

    .s_news_bottom .s_news_wrapper {
        width: 100%;
        margin-bottom: 8px;
    }

    p.s_news_title {
        font-size: 12px;
        line-height: 17px;
        text-align: center;
    }

    .other_news_link_wrapper {
        margin-top: 40px;
        margin-bottom: 40px;
    }

    .other_news_link .next,
    .other_news_link .prev {
        width: 62px;
        height: 48px;
    }

    .other_news_link a {
        font-size: 13.6px;
        line-height: 16px;
    }

    .other_news_link .news_view_all {
        height: 48px;
        margin: 0 24px;
    }

    .sigle_page .page_contents p {
        line-height: 1.7;
    }

    .sigle_page .news_text p {
        font-weight: 900;
        font-size: 16px;
        line-height: 23px;
        letter-spacing: 0.12em;
    }

    .sigle_page .news_date {
        margin-right: 8px;
    }

    .sigle_page .news_date time {
        font-size: 11px;
        line-height: 15px;
    }

    .sigle_page .news_cat p {
        font-size: 11px;
        line-height: 16px;
        padding: 5px 13.5px;
        border-radius: 50px;
    }

}

/*----------------------------------------------------------------------
SERVICE サービス
----------------------------------------------------------------------*/

main.pages.service_page {
    width: 100vw;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    overflow: hidden;
    opacity: 0;
}

.wf-active main.pages.service_page,
.loading-delay main.pages.service_page {
    opacity: 1;
    transition: 0.3s;
}

.inner.service_inner {
    width: 1091px;
    position: relative;
    z-index: 1;
}


.inner.service_inner:before,
.inner.service_inner:after {
    content: "";
    position: absolute;
    right: -100px;
    width: 800px;
    height: 88px;
    background-color: #fff;
    opacity: 0.5;
    filter: blur(25px);
    z-index: 2;
    pointer-events: none;
}

.inner.service_inner:before {
    top: -32px;
}

.inner.service_inner:after {
    bottom: -32px;
}

.inner.service_inner .blur_top,
.inner.service_inner .blur_bottom {
    position: absolute;
    right: 0;
    width: 600px;
    height: 88px;
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
    z-index: 1;
    pointer-events: none;
}

.inner.service_inner .blur_top {
    top: -42px;
}

.inner.service_inner .blur_bottom {
    bottom: -42px;
}

.ftw_title .service_subtitle h2 {
    font-weight: 700;
    font-size: 24px;
    line-height: 40px;
    letter-spacing: 0.12em;
}

.service_subtitle {
    margin-top: 37px;
}

.page_contents.service_contents_wrapper {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.page_contents.service_contents_wrapper::-webkit-scrollbar {
    display: none;
}

.service_contents_scroll_wrapper {
    width: 600px;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    position: relative;
}

.service_contents_scroll {
    width: 100%;
}

.service_contents {
    padding: 136px 0 96px;
    width: 100%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
}

.service_content {
    width: 288px;
    margin-bottom: 40px;
}

.service_img {
    width: 100%;
    height: 145px;
    margin-bottom: 8px;
    overflow: hidden;
    background-color: #fff;
}

.service_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s;
}

.service_content a:hover {
    opacity: 1;
}

.service_content a.s_c_link:hover .service_img img {
    transform: scale(1.1, 1.1);
    filter: blur(2px);
}

.service_info {
    padding: 0 12px;
    width: 100%;
    box-sizing: border-box;
}

.service_c_title {
    margin-bottom: 8px;
}

.service_c_title h2 {
    font-weight: 700;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.12em;
}

.service_c_title h2 svg {
    margin-bottom: -1px;
    display: inline-block;
}

.service_text p {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.12em;
}


footer#footer .fc_footer.no_anime {
    transform: none;
    opacity: 1;
    color: #fff;
}


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


    .inner.service_inner {
        width: 75.764vw;
    }

    .inner.service_inner:before,
    .inner.service_inner:after {
        content: "";
        position: absolute;
        right: -6.944vw;
        width: 55.556vw;
        height: 6.111vw;
    }

    .inner.service_inner:before {
        top: -2.222vw;
    }

    .inner.service_inner:after {
        bottom: -2.222vw;
    }

    .inner.service_inner .blur_top,
    .inner.service_inner .blur_bottom {
        width: 41.667vw;
        height: 6.111vw;
    }

    .inner.service_inner .blur_top {
        top: -2.917vw;
    }

    .inner.service_inner .blur_bottom {
        bottom: -2.917vw;
    }

    .ftw_title .service_subtitle h2 {
        font-size: 1.667vw;
        line-height: 2.778vw;
    }

    .service_subtitle {
        margin-top: 2.569vw;
    }

    .service_contents_scroll_wrapper {
        width: 41.667vw;
    }

    .service_contents {
        padding: 9.444vw 0 6.667vw;
    }

    .service_content {
        width: 20vw;
        margin-bottom: 2.778vw;
    }

    .service_img {
        height: 10.069vw;
        margin-bottom: 0.556vw;
    }

    .service_info {
        padding: 0 0.833vw;
    }

    .service_c_title {
        margin-bottom: 0.556vw;
    }

    .service_c_title h2 {
        font-size: 1.111vw;
        line-height: 1.597vw;
    }

    .service_text p {
        font-size: 0.972vw;
        line-height: 1.389vw;
    }

    .service_c_title h2 svg {
        width: 1.042vw;
        height: 1.25vw;
    }

}

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

    main.pages.service_page .ftw_title {
        position: relative;
        width: 100%;
    }

    .service_subtitle {
        position: absolute;
        right: 0;
        bottom: 0;
        margin: 0;
    }

    .ftw_title .service_subtitle h2 {
        font-size: 2vw;
        line-height: 3vw;
        text-align: right;
    }

    main.pages.service_page {
        height: auto;
        overflow: initial;
    }


    .inner.service_inner:before,
    .inner.service_inner:after {
        content: "";
        position: fixed;
        left: 0;
        width: 100%;
    }

    .inner.service_inner:before {
        height: 200px;
        top: -30px;
    }

    .inner.service_inner:after {
        height: 90px;
        bottom: -30px;
    }

    .inner.service_inner .blur_top,
    .inner.service_inner .blur_bottom {
        position: fixed;
        left: 0;
        width: 100%;
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
    }

    .inner.service_inner .blur_top {
        height: 200px;
        top: -40px;
    }

    .inner.service_inner .blur_bottom {
        height: 90px;
        bottom: -40px;
    }

    .page_contents.service_contents_wrapper {
        height: auto;
        overflow: initial;
        justify-content: center;
    }

    .service_contents_scroll_wrapper {
        width: 600px;
        height: auto;
    }

    .service_contents {
        padding: 160px 0 96px;
    }

    .service_content {
        width: 288px;
        margin-bottom: 40px;
    }

    .service_img {
        height: 145px;
        margin-bottom: 8px;
    }

    .service_info {
        padding: 0 12px;
    }

    .service_c_title {
        margin-bottom: 8px;
    }

    .service_c_title h2 {
        font-size: 16px;
        line-height: 23px;
    }

    .service_text p {
        font-size: 14px;
        line-height: 20px;
    }

    .service_c_title h2 svg {
        width: 15px;
        height: 18px;
    }

}

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

    /*px*/

    .service_contents {
        padding: 250px 0 80px;
    }

    .inner.service_inner .blur_top {
        height: 270px;
        top: -50px;
    }

    .inner.service_inner:before {
        height: 270px;
        top: -30px;
        opacity: 0.8;
    }

    .inner.service_inner .blur_bottom {
        display: none;
    }

    .inner.service_inner:after {
        display: none;
    }

    .service_contents_scroll_wrapper {
        width: 100%;
        height: auto;
    }

    main.pages.service_page .ftw_title {
        position: relative;
        width: auto;
    }

    .service_subtitle {
        position: relative;
        right: initial;
        bottom: initial;
        margin-top: 18px;
    }

    .ftw_title .service_subtitle h2 {
        text-align: left;
        font-size: 14px;
        line-height: 24px;
    }

    /*vw*/

    .inner.service_inner {
        width: 91.2vw;
    }

    .service_content {
        width: 43.467vw;
        margin-bottom: 6.4vw;
    }

    .service_img {
        height: 22.133vw;
        margin-bottom: 2.133vw;
    }

    .service_info {
        padding: 0;
    }

    .service_c_title {
        margin-bottom: 2.133vw;
    }

    .service_c_title h2 {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        font-weight: 900;
        font-size: 3.2vw;
        line-height: 4.533vw;
    }

    .service_text p {
        font-size: 3.2vw;
        line-height: 4.533vw;
    }

    .service_c_title h2 svg {
        width: 3.2vw;
        height: 3.2vw;
        margin-left: 2.133vw;
    }

}

/*----------------------------------------------------------------------
privacy policy プライバシーポリシー
----------------------------------------------------------------------*/

.inner.pages_inner.pp_inner {
    width: 1000px;
    max-width: 70vw;
    margin-bottom: 80px;
}

.pp_title_wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 80px;
}

h1.pp_title {
    font-weight: 700;
    font-size: 44.2px;
    line-height: 53px;
    letter-spacing: 0.12em;
}

.page_contents.pp_contents p {
    margin-block-start: 17px;
    margin-block-end: 17px;
    font-weight: 400;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.1em;
}

.page_contents.pp_contents h2 {
    margin-block-start: 75px;
    margin-block-end: 17px;
    font-weight: 700;
    font-size: 24px;
    line-height: 35px;
    letter-spacing: 0.1em;
}

.page_contents.pp_contents ul {
    display: block;
    /*list-style-type: disc;*/
    margin-block-start: 17px;
    margin-block-end: 17px;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    /*padding-inline-start: 1.5em;*/
}

.page_contents.pp_contents ol {
    display: block;
    list-style-type: decimal;
    margin-block-start: 17px;
    margin-block-end: 17px;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 1.5em;
}

.page_contents.pp_contents li {
    font-weight: 400;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.1em;
}

.page_contents.pp_contents ul.pp_ul {
    margin-block-end: 70px;
}

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

    .inner.pages_inner.pp_inner {
        width: 95.2vw;
        max-width: 95.2vw;
    }

    .inner.pages_inner.pp_inner {
        width: 95.2vw;
        max-width: 95.2vw;
        margin-bottom: 14.133vw;
    }

    .pp_title_wrapper {
        margin-bottom: 10.667vw;
    }

    h1.pp_title {
        font-size: 4.72vw;
        line-height: 5.6vw;
    }

    .page_contents.pp_contents p {
        font-weight: 500;
        font-size: 3.733vw;
        line-height: 4.8vw;
        letter-spacing: 0.05em;
        margin-block-start: 1.067vw;
        margin-block-end: 4.267vw;
    }

    .page_contents.pp_contents h2 {
        font-size: 4.8vw;
        line-height: 6.933vw;
        letter-spacing: 0.04em;
        margin-block-start: 10.667vw;
        margin-block-end: 1.067vw;
    }

    .page_contents.pp_contents li {
        font-weight: 500;
        font-size: 3.733vw;
        line-height: 5.6vw;
        letter-spacing: 0.05em;
    }

    .page_contents.pp_contents ol {
        margin-block-start: 1.067vw;
        margin-block-end: 4.533vw;
    }

    .page_contents.pp_contents ol ol {
        margin-block-start: 4.533vw;
    }

    li.pp_add {
        text-indent: -3em;
        padding-left: 3em;
    }

}


/*----------------------------------------------------------------------
contact お問い合わせ
----------------------------------------------------------------------*/

main.pages.pages_contact {
    width: 100%;
    height: auto;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
}

main.pages.pages_contact .fp_bg {
    padding: initial;
    top: 0;
    left: 0;
    position: fixed;
}

section#FpContact.pages_contact_section {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    z-index: 2;
}


main.pages.pages_contact .s_contents {
    justify-content: flex-start;
    height: auto;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
}


main.pages.pages_contact .s_contents.fc_contents .contact-contents {
    opacity: 1;
    transform: none;
    color: #fff;
}

main.pages.pages_contact .fc_footer {
    opacity: 1;
    transform: none;
    color: #fff;
}

section#FpContact.pages_contact_section .mw_wp_form .error {
    color: #eb3746;
    text-shadow: 0 0 2px #fff;
    font-weight: bold;
}

section#FpContact.pages_contact_section .fp_page_content.fc_contents {
    padding-top: 0;
    padding: 50px 0;
}

body.page_id_199 button.menu-trigger svg path {
    fill: #fff;
}

section#FpContact.pages_contact_section footer#footer {
    margin-top: auto;
}

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

    section#FpContact.pages_contact_section .s_contents.fc_contents .inner {
        margin-bottom: 80px;
    }

}


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

    section#FpContact.pages_contact_section {
        min-height: 100vh;
    }

    section#FpContact.pages_contact_section .s_contents.fc_contents .inner {
        margin-top: 160px;
        margin-bottom: 80px;
        padding-top: 0;
        padding-bottom: 0;
    }

    section#FpContact.pages_contact_section .fp_page_content.fc_contents {
        padding: 0;
    }

}

/*----------------------------------------------------------------------
contact お問い合わせ complete
----------------------------------------------------------------------*/

.mw_wp_form_complete h2 {
    font-size: 40px;
    text-align: center;
    margin-bottom: 40px;
    font-weight: bold;
    text-shadow: 0 0 1px #000;
}

.mw_wp_form_complete h2 {
    font-size: 40px;
    text-align: center;
    margin-bottom: 40px;
    font-weight: bold;
    text-shadow: 0 0 1px #323232;
    letter-spacing: 0.12em;
}

.mw_wp_form_complete h3 {
    font-weight: 900;
    font-size: 24px;
    line-height: 35px;
    letter-spacing: 0.08em;
    text-align: center;
    text-shadow: 0 0 1px #323232;
    margin-bottom: 20px;
}

p.comp_p {
    text-shadow: 0 0 1px #323232;
    margin-bottom: 40px;
    font-weight: 700;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.12em;
    width: 100%;
}

.comp_a_wrapper {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mw_wp_form_complete a {
    color: #fff;
    height: 51px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    line-height: 19px;
    letter-spacing: 0.12em;
    border-bottom: 1px solid #fff;
    transition: 0.3s;
}

.mw_wp_form_complete a:hover {
    color: #000;
    border-bottom: 1px solid #000;
}

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

    .mw_wp_form_complete h2 {
        font-size: 35px;
    }

    .mw_wp_form_complete h3 {
        font-size: 20px;
        line-height: 30px;
        margin-bottom: 20px;
    }

    p.comp_p {
        text-align: center;
        line-height: 27px;
    }
}

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

    .mw_wp_form_complete h3 {
        font-size: 5vw;
        line-height: 1.5;
    }

    p.comp_p {
        line-height: 1.7;
        font-size: 3.5vw;
    }
}


/*----------------------------------------------------------------------
about アバウト
----------------------------------------------------------------------*/

main.front_page.pages_about .HomeScene-bg {
    color: #000;
}

.front_page.pages_about {
    opacity: 0;
}

html.loading-delay .front_page.pages_about,
html.wf-active .front_page.pages_about {
    transition: 1s;
    opacity: 1;
}

main.front_page.pages_about .fp_menu.fp_menu_no .slider_links li.slider_link a:hover,
main.front_page.pages_about .fp_menu.fp_menu_no .slider_links li.slider_link a.active {
    color: #666666;
}

main.front_page.pages_about .s_contents.co_contents .is_mask {
    left: 5px;
    bottom: 5px;
}

main.front_page.pages_about .fp_menu.pages_fp_menu.fp_menu_com_out {
    opacity: 0;
    pointer-events: none;
}

main.front_page.pages_about .s_contents.co_contents {
    flex-direction: column;
}

main.front_page.pages_about .s_contents.co_contents footer#footer .fc_footer {
    transform: none;
    opacity: 1;
    color: #fff;
}

main.front_page.pages_about table.fpco_table {
    max-height: calc(90vh - 150px);
}

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

    main.front_page.pages_about .s_contents.co_contents .is_mask {
        left: 0.347vw;
        bottom: 0.347vw;
    }

    main.front_page.pages_about table.fpco_table {
        max-height: calc(90vh - 10.5vw);
    }

}

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

    main.front_page.pages_about table.fpco_table {
        max-height: 80vh;
        height: 77.667vw;
    }

    main.front_page.pages_about .s_contents.co_contents footer#footer {
        display: none;
    }

}

.grecaptcha-badge {
/* 	display: none; */
}