@charset "utf-8";

/*
Theme Name: partners
Author: hironori hashimoto
Author URI: https://partners.mjeinc.co.jp/a
Description: パートナー事業部のオリジナルテンプレート
*/
/****************************
共通
****************************/

html {
    font-size: 55%;
    height: 100%;
    overflow: hidden;
}

@media screen and (min-width: 960px) {
    html {
        font-size: 62.5%;
    }
}

body {
    font-size: 1.5rem;
    background-color: #fff;
    -webkit-font-smoothing: antialiased;
    text-rendering: auto;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
    line-height: 1.9;
    letter-spacing: 0.05em;
    color: #2D2D2D;
    font-family: 'Noto Sans JP', "ヒラギノ角ゴシック Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", YuGothic, sans-serif;
    font-weight: 400;
    /* background-image: url("/wp-content/themes/MJE/images/haikei3.png");
    background-position: top center; */
}

@media screen and (min-width: 560px) {
    body {
        line-height: 2.15;
    }
}
html, body {
    overflow: visible!important;
    height: auto;       /* ページ全体の高さを auto に */
  }
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    border-radius: 5px;
    box-shadow: 0 0 4px #aaa inset;
}

::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: linear-gradient(#f67046 0%, #f5485c 100%);
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
dt,
dd {
    margin: 0;
    padding: 0;
}

body p,
body span,
body dl,
h2,
h3,
h4,
h5,
h6 {
    transform: rotate(0.03deg);
    -moz-transform: rotate(0.03deg);
    -ms-transform: rotate(0.03deg);
    -o-transform: rotate(0.03deg);
    -webkit-transform: rotate(0.03deg);
}

h1,
h2,
h3,
h4 {
    line-height: 1.5;
    font-weight: bold;
}
h1 a{
    display: inline-block;
}
h1 a:hover{
    opacity: 0.6;
}
ul {
    list-style-type: none;
}

a {
    color: inherit;
    text-decoration: none;
    transition: .5s;
    display: block;
}

/********テキスト********/
.en {
    font-family: 'Montserrat', sans-serif;
    font-display: swap;
    font-weight: 500;
    letter-spacing: 0px;
}

.jp {
    font-family: YakuHanJP, 'Noto Sans JP', "ヒラギノ角ゴシック Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", YuGothic, sans-serif;
    font-display: swap;
}
.p-caption__body{
    font-size: 1.2rem;
    margin-top:0.5rem;
}
hr {
    border-top: 1px solid #ACB1B9;
    margin: 0;
}

.sp-block {
    display: block;
}

@media screen and (min-width: 560px) {
    .pc-block {
        display: block !important;
    }

    .sp-block {
        display: none;
    }

    .sp-br {
        display: none !important;
    }
}

/* 画面幅が560px以下の時*/

@media screen and (max-width: 559px) {
    .pc-block {
        display: none !important;
    }

    .sp-br {
        display: block !important;
    }
}

/********background********/

main {
    position: relative;
    z-index: 2;
    overflow: hidden;
    min-block-size:100dvb;
    /* opacity: 0.5; */
    /* margin-bottom: 130vh; */
}

/********header********/

.site-header {
    background-color:transparent;
    z-index: 11;
    transition: .5s;
    width: 100%;
    position: fixed;
    padding: 0px;
    top: 0;
    left: 0;
    color:#fff;
    z-index: 100;
    /* height: 60px; */
}

@media screen and (min-width: 560px) {
    .site-header {
        /* height: 80px; */
		position: fixed;
    }
}
.site-header.show{
    background-color: #fff;
    color: #2D2D2D;
    height: 62px;
}
@media screen and (min-width: 560px) {
    .site-header.show{
        height: auto;
    }
}
/* 初期状態で表示されるロゴは header-logo、scroll-logoは非表示 */
.header-logo, .header-scroll-up {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.header-scroll-up {
    opacity: 0;
    visibility: hidden;
}
.header-scroll-up.show {
    opacity: 1; /* 表示状態 */
    visibility: visible; /* 表示状態 */
    max-width: 88%;
}
@media screen and (min-width: 560px) {
    .header-scroll-up.show {
        max-width: 100%;
    }
}
/* hide クラスを追加したときにフェードアウトさせる */
/* .header-logo.hide, .header-scroll-up.hide {
    opacity: 0;
    visibility: hidden;
} */

/* .header-logo.show, .header-scroll-up.show {
    opacity: 1;
    visibility: visible;
} */

/* ヘッダーのスライドアップとフェードアウト */
.site-header.hide {
    transform: translateY(-100px);
    opacity: 0;
    /* display: none; */
    visibility: hidden;
}

.site-header.show {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    transition: transform 0.5s ease, opacity 0.5s ease;
    animation-name: none;
    animation-fill-mode:forwards;
    animation-duration:.5s;
}
.site-header.transparent {
    background-color: transparent !important;
}
.fade-out {
    opacity: 0;
    transition: opacity 0.5s ease;
}
.site-header.hide #g-nav li a{
    color:#2D2D2D;
}
@media screen and (max-width: 559px) {
.site-header.hide {
	position:fixed;
    transform: translateY(-60px);
}
}

@keyframes none{
    0% {
      opacity: 0;
    }

    100% {
      opacity: 1;
    }
}

/* .header-scroll-up{
    display: none;
}
.site-header.hide .header-scroll-up{
    display: block;
}
.site-header.hide .header-logo{
    display: none;
} */
/* @media screen and (min-width: 560px) {
    .site-header.hide {
        transform: translateY(36px);
    }
} */
.c-contact__header{
    padding:20px;
}

@media screen and (min-width: 560px) {
.c-contact__header{
    padding:30px 50px;
}
}
.site-header__inner {
    padding: 0px 0px 0px;
    margin: 0 auto;
}
.show .site-header__inner{
    box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.16);

}
@media screen and (min-width: 560px) {

.site-header__inner {
    padding: 45px 50px 0px;
}
.show .site-header__inner{
    padding: 13px 50px 13px;
}
.site-header.transform .site-header__inner {
        padding: 20px 50px 20px;
    }
}
@media screen and (min-width: 560px) and (max-width: 1440px) {
	.site-header__inner {
		padding: 40px 25px 0px;
	}
}
.site-header__link {
    display: none;
}

@media screen and (min-width: 560px) {
    .site-header__link {
        display: flex;
        justify-content: flex-end;
        opacity: 1;
        transition: .5s;
    }
}

.site-header__link li {
    position: relative;
}

.site-header__link a {
    padding: 6px 15px;
    position: relative;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgba(241, 242, 243, 1) 50%);
    background-position: 0 0;
    background-size: 200% auto;
    margin: 0 15px;
    color: #2E3642;
}

.site-header__link li:last-child a {
    margin: 0 15px;
}

.site-header__link a:hover {
    background-position: -100% 0;
}

.site-header__nav h1 {
    position: fixed;
    top: 16px;
    left: 16px;
    z-index: 11;
    width: 260px;
}
@media screen and (min-width: 560px) {
    .site-header__nav h1 {
        width: 190px;
        left: 28px;
    }
}
@media screen and (min-width: 560px) {
    .site-header__nav {
        display: flex;
        justify-content: space-between;
        /* align-items: center; */
    }
	.show .site-header__nav{
		align-items: center;
	}
}
@media screen and (min-width: 960px) {
    .site-header__nav h1 {
        position: static;
        top: auto;
        left: auto;
        max-width: 396px;
        width: 100%;
    }
}
.site-header__nav h1 a:hover {
    opacity: 0.6;
}

.fixed {
    position: fixed;
    z-index: -1;
    width: 100%;
    top: 0;
    right: 0;
    height: 100%;
}
.u-contact__link{
    text-align: center;
    border-radius: 17.5px;
    background: #f5485c;
    width: 146px;
    height: 35px;
    color: #fff!important;
    line-height: 35px;
    margin:3rem auto 0px;
}
@media screen and (min-width: 560px) {
    .u-contact__link{
        margin:0px;
    }
    .u-contact__link:hover{
        transform: translate(0, -3px);
        box-shadow: 0px 8px 16px 0 rgba(0, 0, 0, .2);
    }
}
.header-logo {
    display: inline;
    max-width: 80%;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.header-logo.show {
    opacity: 1; /* 表示状態 */
    visibility: visible; /* 表示状態 */
}
.header-logo.hide {
    opacity: 0; /* 非表示状態 */
    visibility: hidden; /* 非表示状態 */
}
/* .header-logo {
        max-width: 100%;
    }
@media screen and (min-width: 560px) {
    .header-logo {
        max-width: 80%;
    }
}

@media screen and (min-width: 960px) {
    .header-logo {
        max-width: 100%;
    }
} */

.full-width .active .header-logo {
    display: none;
}

.site-header.show .header-logo.hide{
    display: none;
}

.site-header__wrap.open {
    opacity: 1;
    visibility: visible;
    height: 100%;
}

@media screen and (max-width: 559px) {
#g-nav {
    position: fixed;
    z-index: 999;
    top: 0;
}
}
@media screen and (max-width: 559px) {
    #g-nav {
        right: -120%;
    width: 100%;
    height: 100vh;
    background: #070F19;
    transition: all 0.3s;
    opacity: 0.9;
    }
}
@media screen and (max-width: 559px) {
#g-nav.panelactive {
    right: 0;
}

#g-nav.panelactive #g-nav-list {
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
}
/*ナビゲーション*/
@media screen and (max-width: 559px) {
#g-nav ul {
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
        padding: 0px 30px;
}
}
@media screen and (min-width: 560px) {
.l-gnav__inner ul{
    display: flex;
    gap:30px;
    align-items: center;
}
}
.g-nav__list{
    position: relative;
}
.g-nav__link{
    /* color: #fff; */
    text-decoration: none;
    padding: 20px 0px;
    display: block;
    font-size: 15px;
    border-bottom: 1px solid #fff;
    position: relative;
    transition: .1s;
}
@media screen and (min-width: 560px) {
    .g-nav__link{
        padding: 10px 0px;
        border-bottom: none;
        font-size: 1.5rem;
        /* padding: 0px 0px 10px; */
    }
}
@media screen and (max-width: 559px) {
    .g-nav__link{
        color:#fff;
    }
}
.g-nav__link::after{
    transition: all ease .3s;
    content: "";
    display: block;
    height: 1px;
    width: 0;
    display: block;
    position: absolute;
    bottom: 10px;
    left: 50%;
    background: #fff;
}
.g-nav__link .label{
    overflow: hidden;
    vertical-align: middle;
}
.g-nav__link .label span{
    display: inline-block;
}
@keyframes navHoverAnimation {
    0% {
        transform: translate(0, 0);
        opacity: 1;
    }
    40% {
        transform: translate(0, -10%);
        opacity: 0;
    }
    41% {
        opacity: 0;
        transform: translate(0, 100%);
    }
    42% {
        opacity: 1;
        transform: translate(0, 100%);
    }
    100% {
        transform: translate(0, 0);
        opacity: 1;
    }
}
@media screen and (min-width: 560px) {
#g-nav li a:hover .label span{
    animation-name: navHoverAnimation;
    animation-direction: normal;
    animation-duration: .7s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
    animation-iteration-count: alternate;
}
#g-nav li a:hover::after{
    width: 100%;
    left: 0;
}
}

/*========= ボタンのためのCSS ===============*/
.openbtn1 {
    display: none;
}
@media screen and (max-width: 559px) {
.openbtn1 {
    position: fixed;
    z-index: 9999;
    top: 5px;
    right: 10px;
    width: 50px;
    height: 50px;
    display: block;
}
}
.openbtn1 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 2px;
    background-color: #fff;
    width: 45%;
}
.site-header.show .openbtn1 span {
    background-color: #070F19;
}
.openbtn1.active span{
    background-color: #fff;
}
.openbtn1 span:nth-of-type(1) {
    top: 15px;
}

.openbtn1 span:nth-of-type(2) {
    top: 23px;
}

.openbtn1 span:nth-of-type(3) {
    top: 31px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
    opacity: 0;
}

.openbtn1.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

/********footer上の実績********/
.page-id-63 .c-footer__result,
.page-id-63 .l-contact{
    display: none;
}
.c-footer__result{
    padding:10rem 0px 4rem;
    background-color: #fff;
    position: relative;
}
.c-footer__result-headline{
    font-weight: bold;
    font-size: 2.4rem;
    margin-bottom: 3.5rem;
}
.c-footer__result-caption{
    font-weight: normal;
    font-size:1.2rem;
    padding-left: 16px;
    display: block;
}
@media screen and (min-width: 560px) {
    .c-footer__result-caption{
        display: inline;
    }
}
.c-footer__result-list{
    display: flex;
    align-items: center;
    gap:12px;
    position: relative;
    margin-bottom: 20px;
    border-bottom: 1px solid #707070;
    padding-bottom: 20px;
}
.c-footer__result-list:last-child{
    border-bottom: none;
}
@media screen and (min-width: 560px) {
    .c-footer__result-list{
        border: none;
        padding-bottom: 0px;
        margin-bottom: 0px;
    }
}
.c-footer__result-math{
    font-size: 3.4rem;
    color: #F5485C;
    line-height: 1;
	vertical-align: middle;
    padding: 0px 3px;
    font-weight: 600;
}
@media screen and (min-width: 560px) {
    .c-footer__result-math{
    font-size: 3.8rem;
    padding: 0px 5px;
}
}
.c-footer__result-lead{
    color:#F5485C;
    font-size:3rem;
	vertical-align: sub;
    font-weight: bold;
}
.c-footer__result-list:nth-child(1)::before{
    content:'';
    width:1px;
    height: 50px;
    position: absolute;
    right: -40px;
    background-color: #707070;
    top: 50%;
    transform: translateY(-50%);
}
.c-footer__result-list:nth-child(2)::after{
    content:'';
    width:1px;
    height: 50px;
    position: absolute;
    right: -40px;
    background-color: #707070;
    top: 50%;
    transform: translateY(-50%);
}
@media screen and (min-width: 560px) {
.c-footer__result__block{
    line-height: 3;
}
}
.c-footer__result-list sup{
    font-size: 1.2rem;
}
/********footer上のお問い合わせ********/
#cta-stop{
    position: relative;
  z-index: 2;
  backface-visibility: hidden;
  contain: layout paint;
}
.l-contact{
    background-image:url("/wp-content/themes/MJE/images/footer-cta.webp");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    color:#fff;
    padding:12rem 0px 10rem;
    text-align: center;
    z-index: 1;
    position: relative;
    background-position: 80% 50%;
}
@media screen and (min-width: 560px) {
    .l-contact{
        background-position: 50% 50%;
        padding:20rem 0px 12.5rem;
    }
}
.l-contact__headline{
    font-size:6.8rem;
    font-weight: bold;
    line-height: 96px;
}
@media screen and (min-width: 560px) {
    .l-contact__headline{
        font-size:9.8rem;
    }
}
@media screen and (min-width: 960px) {
    .l-contact__headline{
        font-size:11.8rem;
    }
}
.l-contact__lead{
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 4.5rem;
    line-height: 30px;
    margin-top: 1rem;
}
@media screen and (min-width: 560px) {
    .l-contact__lead{
        font-size: 3rem;
        line-height: 42px;
        margin-bottom: 7.2rem;
        margin-top: 7rem;
    }
}
.l-contact__body{
    margin-bottom: 5.5rem;
}
.l-footer__contact-inner{
    max-width: 1000px;
    margin:0 auto;
}
.l-contact__tel{
    margin-top: 4.5rem;
}
.l-contact__button{
    color:#fff;
}
@media screen and (min-width: 560px) {
.l-contact__button,
.l-contact__tel{
    flex:0 0 49.39%;
    max-width: 49.39%;
}
.l-contact__tel{
    margin-top: 0rem;
}
.l-contact__tel.scroll{
    transition-delay: .2s;
}
}
.c-common__tel{
    line-height: 1;
    font-size: 4.4rem;
    font-weight: 600;
    position: relative;
    font-family: "azo-sans-web", sans-serif;
font-weight: 500;
font-style: normal;
}
@media screen and (min-width: 960px) {
    .c-common__tel{
        font-size: 6rem;
    }
    .c-common__tel:hover{
        opacity: 0.6;
    }
}
.c-common__tel .material-symbols-outlined{
    color: #fff;
    font-size: 5.5rem;
    font-variation-settings: 'FILL' 1;
    margin-right: -8px;
    vertical-align: bottom;
}
.c-common__button{
    max-width: 450px;
    text-align: center;
    border-radius: 16px;
    background: linear-gradient(#f67046 0%, #f5485c 100%);
    position: relative;
    padding: 3.1rem 15px;
    letter-spacing: 0px;
}
@media screen and (min-width: 560px) {
    .c-common__button{
        padding: 3.1rem 20px;
    }
    .c-common__button:hover{
        transform: translate(0, -3px);
        box-shadow: 0px 40px 30px 0 rgba(0,0,0,.2);
    }
}
@media screen and (min-width: 560px) and (max-width: 1440px) {
    .c-common__button{
        padding: 2.5rem 20px;
    }
}
.c-common__button-lead{
    height: 32px;
    position: absolute;
    border-radius: 16px;
    background: #fff;
    top: -47px;
    color: #2D2D2D;
    max-width: 191px;
    width: 100%;
    line-height: 32px;
    font-size: 1.4rem;
    margin: 0 auto;
    text-align: center;
    left: 0px;
    right: 0px;
}
.c-common__button-lead::after{
    position: absolute;
    content:'';
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 10px solid #FFF;
}
.c-common__button-inner{
    position: relative;
}
.c-common__button-inner::before{
    content:'\e158';
    font-family: "Material Symbols Outlined";
    position: absolute;
    font-variation-settings: 'FILL' 1;
    left:0px;
    font-size: 3rem;
    top: 50%;
    transform: translateY(-50%);
}
.c-common__button-inner::after{
    content:'\e5c8';
    font-family:"Material Symbols Outlined";
    position: absolute;
    right:0px;
    top: 50%;
    border-radius: 50%;
    background-color: #fff;
    max-width: 50px;
    width: 100%;
    height: 50px;
    line-height: 50px;
    color:#F5485C;
    transform: translateY(-50%);
    font-size: 2.4rem;
    font-weight: 200;
}
.c-common__button-lead span{
    color:#F5485C;
}
.c-common__button-headline{
    font-size: 2.2rem;
    line-height: 1.25;
    font-weight: bold;
}
.c-common__button__body{
    font-size: 1.4rem;
}
.l-contact__tel-headline{
    margin-bottom: 0rem;
    height: 32px;
    position:relative;
    border-radius: 16px;
    background: #2D2D2D;
    top: -13px;
    color: #fff;
    max-width: 191px;
    width: 100%;
    line-height: 32px;
    font-size: 1.4rem;
    margin: 0 auto;
    text-align: center;
    left: 0px;
    right: 0px;
}
.l-contact__tel-headline::before{
    position: absolute;
    content:'';
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 10px solid #2d2d2d;
}
/* @media screen and (min-width: 560px) {
    .l-contact__tel-headline{
        margin-bottom: 1rem;
    }
} */
.l-contact__tel-body{
    font-size: 1.4rem;
}
/********footer********/

footer {
    background-color: #070F19;
    color: #fff;
    position: relative;
    z-index: 1;
    /* padding-bottom: calc(100vh - 2.625rem); */
}
/* .p-footer__inner{
    bottom: 0;
    position: fixed;
    width: 100%;
    z-index: 0;
} */
/* @media screen and (min-width: 960px) {
    .p-footer__inner{
        height: 100vh;
        min-height: 100vh;
    }
} */
.l-footer__wrap{
    background-color: #070F19;
    color: #fff;
    /* position: fixed; */
    /* width: 100vw; */
    /* height: 100%; */
    /* bottom: 0px;
    z-index: -1; */
}

.footer-wrap{
    padding:70px 30px 100px;
}
@media screen and (min-width: 960px) {
    .footer-wrap{
        padding:150px 30px 100px;
        bottom: 0;
        position: sticky;
        inset: 0;
    width: 100%;
    }
}
@media screen and (min-width: 1441px) {
    .footer-wrap{
        padding:200px 50px 130px;
    }
}
@media screen and (min-width: 560px) {
.p-footer__block{
    flex:0 0 50%;
    max-width: 50%;
}
}
@media screen and (min-width: 560px) {

}
.footer-inner ul li a {
    color: #fff;
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.footer-inner ul li a:hover {
    opacity: 0.6;
}

.l-footer__link {
    margin-bottom: 12px;
    flex:0 0 auto;
		max-width:100%;
}
@media screen and (min-width: 960px) {
    .l-footer__link {
        font-size:1.5rem;
		/* flex:0 0 auto;
		max-width:100%; */
        margin-bottom: 0px;
    }

    .l-footer__link a:hover {
        color: #F5485C;
    }
}
.l-footer__address{
    margin-top: 4rem;
}
@media screen and (min-width: 560px) {
.l-footer__address{
    flex:0 0 45%;
    max-width: 45%;
    margin-top: 0px;
}
}
@media screen and (min-width: 1441px) {
	.l-footer__address{
    flex:0 0 38%;
    max-width: 38%;
}
}
.l-footer__address-headline{
    margin-bottom: 1.5rem;
    font-size: 1.4rem;
}
.l-footer__address p{
    color:#A0A0A0;
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
}
@media screen and (min-width: 560px) {
    .l-footer__address p{
        margin-bottom: 0px;
    }
}
.l-footer__address p a{
    text-decoration: underline;
}
.l-footer__address p a:hover{
    opacity: 0.6;
}
.l-footer__inner{
    max-width: 1380px;
    width: 100%;
}
.l-footer__inner .p-common__inner{
    align-items: self-end;
}
.footer-logo {
    max-width: 90%;
    margin-bottom: 3.2rem;
}
@media screen and (min-width: 560px) {
    .footer-logo {
    max-width:100%;
}
}
.footer-logo a{
    display: inline-block;
}
.footer-logo a:hover {
    opacity: 0.6;
}

.window-icon {
    content: 'open_in_new';
    font-family: "Material Symbols Outlined";
    right: 0rem;
    font-size: 1.4rem;
    position: absolute;
    transition: .5s;
}
.u-copyright__inner{
    border-top:1px solid #A0A0A0;
    padding:20px 0px;
    margin-top: 8rem;
    margin-bottom: 3rem;
}
.l-footer__page-link{
    display: flex;
    gap:12px;
    font-size: 10px;
}
@media screen and (min-width: 560px) {
    .l-footer__page-link{
        gap:30px;
        font-size: 1.2rem;
    }
    .footer-addres__block .p-sp__inner{
        justify-content: flex-start;
        gap:30px;
    }
}
.l-footer__page-link a{
    text-decoration: underline;
}
.l-footer__page-link a:hover{
    opacity: 0.6;
}
.l-footer__page-link a span{
    font-size:1.2rem;
}
copyright {
    font-size: 1.2rem;
}
/********横並び********/

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.wrap {
    max-width: 1230px;
    /* width: 100%; */
    margin: 0 auto;
    padding: 0 20px;
}
@media screen and (min-width: 560px) {
    .wrap {
        padding: 0 16px;
        width: 100%;
    }
}

.wrap-inner {
    max-width: 1032px;
    margin: 0 auto;
    padding: 0 16px;
}

.p-sp__inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

@media screen and (min-width: 560px) {
    .p-common__inner {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .u-reverse {
        flex-direction: row-reverse;
    }
}

@media screen and (min-width: 560px) {
    .reverse {
        flex-direction: row-reverse;
    }

    .u-center__inner {
        align-items: center;
    }
}

.col-3 {
    margin-top: 40px;
}

.col-4 {
    margin-top: 2.5rem;
    flex: 0 0 48.90%;
    max-width: 48.90%;
}

@media screen and (min-width: 560px) {

    .col-2 {
        flex: 0 0 48.41%;
        max-width: 48.41%;
    }

    .col-4 {
        flex: 0 0 23.03%;
        max-width: 23.03%;
        margin-top: 5rem;
    }
}

@media screen and (min-width: 560px) {
    .col-3 {
        flex: 0 0 31.5%;
        max-width: 31.5%;
    }
}

.fadein {
    opacity: 0;
    transition: opacity 1.4s, transform 0.8s;
    transform: translate(0, 0);
}

.fadein.scrollin {
    opacity: 1;
}

.fadein-up {
    opacity: 0;
    transform: translateY(20px);
    transition: transform 0.6s ease,
        opacity 0.6s ease;
    transition: transform 0.6s ease,
        opacity 0.6s ease,
        -webkit-transform 0.6s ease;
}

.fadein-up.active {
    opacity: 1;
    transform: translateY(0);
}
.text-animation{
  opacity: 0;
}

/* 発火で親を可視化 */
.text-animation.show{
  opacity: 1;
}

/* 1文字を覆うラッパ */
.text-animation .text-animation-span{
  display: inline-block;
  overflow: hidden;
}

/* ★初期状態を “常に” 指定（backwardsに頼らない） */
.text-animation .text-animation-span > span{
  display: inline-block;
  opacity: 0;
  transform: translateY(0.8em); /* 100% は距離が大きく負荷高 → 文字高相当で十分 */
}

/* 発火時のアニメ。最終状態を保持（forwards） */
.text-animation.show .text-animation-span > span{
  animation: showText .8s ease forwards;
}

/* キーフレームは transform + opacity のみ */
@keyframes showText{
  to{
    opacity: 1;
    transform: translateY(0);
  }
}
.js-scroll{
    opacity: 0;
transform: translateY(12px);         /* 20px → 12px で軽く */
  transition: opacity .55s ease-out,    /* 1s → .55s */
              transform .55s ease-out;
  will-change: opacity, transform;
}
.js-scroll.show.done{
    opacity: 1;
    transform: translate(0, 0);
    visibility: visible;
}
/* .active .js-scroll{
    opacity: 1;
    transform: translate(0, 0);
} */

/********下層ページ共通********/
/********タイトル********/

/* .c-main__head-block{
    position: absolute;
    left:0px;
    bottom:30px;
} */
.c-main__inner{
     padding: 29rem 0 12rem;
    position: relative;
    color: #fff;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    /* background-attachment: fixed; */
    margin-bottom: 12rem;
    overflow: hidden;       /* 縁をクリップ */
  background: none;       /* ← 重要：元の background を消す */
  --bg-scale: 0.90;       /* 視覚的縮小率（0.85〜0.95で調整） */
  --bg-overscan: 160px;   /* 縁の余裕。縮小しても白が出ないようにする */
  --bg-pos-x: 50%;        /* 焦点（X） */
  --bg-pos-y: 35%;        /* 焦点（Y）デザインに合わせて調整 */
}
.c-main__inner:before{
    content: "";
  position: absolute;
  left: calc(-1 * var(--bg-overscan));
  right: calc(-1 * var(--bg-overscan));
  top: calc(-1 * var(--bg-overscan));
  bottom: calc(-1 * var(--bg-overscan));
  background-image: url("/path/to/kv.jpg"); /* 実画像に差し替え */
  background-repeat: no-repeat;
  background-size: cover;                    /* cover のまま */
  background-position: var(--bg-pos-x) var(--bg-pos-y);
  transform: scale(var(--bg-scale));        /* 視覚的に“引く” */
  transform-origin: center;
  will-change: transform;
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width: 1440px) {
    .c-main__inner{
        padding: 20rem 0 12rem;
    }
}
@media screen and (max-width: 960px) {
    .c-main__inner{
        padding: 19rem 0 12rem;   /* 既存値 */
    }
}
@media screen and (max-width: 560px) {
.c-main__inner{
    padding: 17rem 0 12rem;   /* 既存値 */
    background-size:cover;
}
}
.u-lineup__mv{
    background-image: url("/wp-content/uploads/2025/09/lineup-mv-sp.webp");
}
.u-support__mv{
    background-image: url("/wp-content/uploads/2025/09/support-mv-sp.webp");
}
@media screen and (min-width: 960px) {
    .u-lineup__mv{
    background-image: url("/wp-content/themes/MJE/images/lineup-mv.webp");
}

.u-support__mv{
    background-image: url("/wp-content/themes/MJE/images/support-mv.webp");
}
}
/* .u-lineup__mv::after,
.u-support__mv::after{
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translate3d(0, 0, -1px);
    transform: translate3d(0, 0, -1px);
    width: 100%;
    min-height: 100%;
    background-size: cover;
    z-index: -1;
} */
.c-main__head-block{
    margin-bottom: 5.5rem;
}
.c-main__headline{
    font-size: 2.6rem;
}
@media screen and (min-width: 960px) {
    .c-main__headline{
    font-size: 2.8rem;
}
}
@media screen and (min-width: 1440px) {
    .c-main__headline{
    font-size: 3rem;
}
}
.c-main__headline .material-symbols-outlined{
    padding-right: 10px;
    color:#F5485C;
    vertical-align: inherit;
    font-weight: 900;
}
.material-icons,
.material-icons-outluned,
.material-symbols-outlined{
    color:#F5485C;
    transition: .5s;
}
.c-main__headline-en{
    font-size: 7.2rem;
    line-height: 1.1;
    font-weight: bold;
    letter-spacing: 0px;
}
@media screen and (min-width: 560px) {
    .c-main__headline-en{
        font-size: 9rem;
    }
}
@media screen and (min-width: 960px) {
    .c-main__headline-en{
        font-size: 10.8rem;
    }
}
@media screen and (min-width: 1440px) {
    .c-main__headline-en{
        font-size: 11.8rem;
    }
}
.p-common__headline{
    font-size: 2.4rem;
    line-height: 1.4;
}
@media screen and (min-width: 560px) {
    .p-common__headline{
        font-size: 3.6rem;
    }
}
@media screen and (min-width: 960px) {
    .p-common__headline{
        font-size: 4.2rem;
    }
}
@media screen and (min-width: 1440px) {
    .p-common__headline{
        font-size: 4.8rem;
    }
}

.c-common__lead{
    font-weight: 600;
    font-size: 1.6rem;
    margin-bottom: 2rem;
    letter-spacing: 0px;
}
.c-common__lead span{
    font-size:2rem;
    color:#F5485C;
    margin-left: 10px;
}
.c-common__name{
    font-size: 3.2rem;
    line-height: 1.4;
    text-align: center;
}
@media screen and (min-width: 560px) {
    .c-common__name{
        font-size: 3.8rem;
    }
}
.c-common__english-title{
    color:#F5485C;
    font-size: 2rem;
    letter-spacing: 0px;
    margin-bottom: 5rem;
    text-align: center;
}
/********link********/
.p-common__link,
.p-sample__link,
.form-content__button button {
    font-size: 1.5rem;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    height: 44px;
    line-height: 44px;
    background-size: 200% 100%;
    background-color: #0D223F;
    background-image: linear-gradient(to right, transparent 50%, rgba(13, 34, 63, 1) 50%);
    transition: .5s;
}

.p-sample__link,
.form-content__button button {
    cursor: pointer;
}
@media screen and (min-width: 560px) {

    .p-common__link,
    .p-sample__link,
    .form-content__button button {
        max-width: 250px;
    }
}

.p-common__link:hover,
.l-news__button:hover,
.p-sample__link:hover,
.form-content__button button:hover {
    background-position: -100% 100%;
}

.p-common__link span,
.l-news__button span,
.p-sample__link span,
.form-content__button button span {
    color: #FFF;
    position: relative;
    font-weight: 400;
    transition: .5s;
    z-index: 3;
}

.l-news__button::before,
.p-common__link::before,
.p-sample__link::before,
.form-content__button button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: #ffd800;
    width: 100%;
    height: 100%;
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
}

.l-news__button:hover span,
.p-common__link:hover span,
.p-sample__link:hover span,
.form-content__button button:hover span {
    color: #0d223f;
}

.l-news__button:hover::before,
.p-common__link:hover::before,
.p-sample__link:hover::before,
.form-content__button button:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}

.form-content__button {
    margin-top: 5rem;
    text-align: center;
    max-width: 250px;
    margin: 5rem auto 0px;
}

.form-content__button button {
    border: none;
}


/****************************
トップページ
****************************/
.top-hero {
    position: relative;
    overflow: hidden;
    margin-top: 60px;
}

@media screen and (min-width: 560px) {
    .top-hero {
        margin-top: 0px;
    }
}

.animation,
.img-wrap {
    overflow: hidden;
    position: relative;
}


.c-pickup__title {
    background-color: #FFD800;
    padding: 18px;
    line-height: 1.6;
    transition: .5s;
    opacity: 0;
    font-size: 1.8rem;
}

.c-pickup__title span {
    display: block;
    font-weight: bold;
    font-size: 2rem;
}

/****************************
TOP追従バナー
****************************/

.l-fixed__content{
    position: fixed;
    width:100%;
    bottom:0px;
    left: 0px;
    right: 0px;
    color:#fff;
    background: #070F19;
    padding: 14px 30px;
    z-index: 5;
    display: block;
    text-align: center;
}
@media screen and (min-width: 560px) {
    .l-fixed__content{
        text-align: left;
        padding: 14px 50px;
    }
}
.l-fixed__inner{
    gap:12px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
@media screen and (min-width: 560px) {
    .l-fixed__inner{
        margin-left: auto;
        align-items: center;
        text-align: right;
    display: inline-flex;
    justify-content: flex-end;
    }
}
.l-fixed__headline{
    font-size:2rem;
    font-weight: bold;
}
@media screen and (min-width: 560px) {
    .l-fixed__headline{
        margin-right: 14px;
        font-size:2.4rem;
    }
}
.l-fixed__body{
    font-size: 12px;
    font-weight: normal;
    display: none;
}
@media screen and (min-width: 560px) {
    .l-fixed__body{
        display: block;
        font-size: 1.5rem;
    }
}
.l-fixed__link{
    background:linear-gradient(to right bottom,#f67046 0%, #f5485c 100%);
    color:#fff;
    max-width: 192px;
    width: 100%;
    height: 35px;
    line-height: 35px;
    border-radius: 17.5px;
    text-align: center;
    margin: 0rem 0px 0px;
    letter-spacing: 0px;
}
@media screen and (min-width: 560px) {
    .l-fixed__link{
        margin:0px;
    }
    .l-fixed__link:hover{
        transform: translate(0, -3px);
    box-shadow: 0px 40px 30px 0 rgba(0,0,0,.2);
    }
}
/****************************
TOPメインビジュアル
****************************/
#fullpage{
    height:100%;
    /* overflow: hidden; */
}
.home main{
    background-color: #070F19;
}
.l-top__mv-wrap{
    overflow: auto;
	scroll-snap-type: y mandatory;
	height: 100vh;
}
.l-top__mv-wrap::-webkit-scrollbar{
    display: none;
}
.section{
    min-height: 0px;
    height: 100vh!important;
    width: 100%;
    overflow: hidden;
    position: relative;
}
/* .one {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 100vh;
} */
.content-wrap--bg {
    transition: all 0.5s ease 0s;
    /* z-index: -1; */
  display: flex!important;
  align-items: center;
  height: 100%;
  position: relative;
  }
  /* .show .content-wrap--bg {
    opacity: 1;
  } */

.content-wrap--bg._01::before,
.content-wrap--bg._02::before{
    content:'';
    opacity: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("/wp-content/themes/MJE/images/mv-sp.webp");
    position: absolute;
    left: 0px;
    top: 0px;
    bottom: 0px;
    transition: 1s;
    transition-delay: .5s;
}
.content-wrap--bg._02::before{
    background-image: url("/wp-content/themes/MJE/images/mv-sp02.webp");
}

@media screen and (min-width: 560px) {
    .content-wrap--bg._01::before,
    .content-wrap--bg._02::before{
    background-image: url("/wp-content/themes/MJE/images/mv.webp");
}
.content-wrap--bg._02::before{
    background-image: url("/wp-content/themes/MJE/images/contract-bg.webp");
}
}
.active .content-wrap--bg._01::before,
.active .content-wrap--bg._02::before{
    opacity: 1;
}
  /* .content-wrap--bg.active {
    opacity: 1;
  } */
  /* @media screen and (min-width: 560px) {
    .content-wrap--bg {
      height: 100vh;
    }
  } */

  /* .content-wrap--bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 1s ease;
    z-index: -1;
  } */
  /* .content-wrap--bg001.active::before {
    background-image: url("/wp-content/themes/MJE/images/mv.webp");
    opacity: 1;
  } */
  /* .content-wrap--bg001::before {
    background-image: url("/wp-content/themes/MJE/images/mv.webp");
    opacity: 1;
  } */
  .l-top__contract {
    padding: 16rem 0;
    color: #fff;
  }

  /* .content-wrap--bg002.active::before {
    background-image: url("/wp-content/themes/MJE/images/contract-bg.webp");
    opacity: 1;
  } */
  /* .content-wrap--bg002::before {
    background-image: url("/wp-content/themes/MJE/images/contract-bg.webp");
    opacity: 1;
  } */
  .content-wrap--bg.active::before {
    opacity: 1;
  }
  .fade-in {
    animation: fadeIn 1s ease-in-out;
  }

  @keyframes fadeIn {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .scroll {
  opacity: 0;
  transform: translateY(3rem); /* 12px → 3rem に（参考サイトと同等の持ち上げ） */
  will-change: opacity, transform;
}

/* 発火後（一発） */
.scroll.is-in {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity .6s cubic-bezier(.2,.8,.2,1),
    transform .6s cubic-bezier(.2,.8,.2,1);
}

@media (prefers-reduced-motion: reduce){
  .scroll, .scroll.is-in{ transition:none!important; transform:none!important; opacity:1!important; }
}
.swiper-wrapper{
    scroll-snap-type: y mandatory;
}
  .swiper-container {
    height: 100vh;
    width: 100%;
    overflow: hidden;
    /* overflow-y: scroll; */
}
.swiper-slide{
    height: 100vh;
    width: 100%;
}
/* スライダー全体 */
.vertical-slider {
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
  }

  .vertical-slider__slide {
    height: 100%;
    width: 100%;
    /* display: flex!important;
    align-items: center; */
    color:#fff;
  }
  .p-swiper__inner{
    height: 100vh;
    width: 100%;
  }

  /* 1枚目のスライド */
  .vertical-slider__slide:nth-child(1) {
    background-color: #000;
  }

  /* 2枚目のスライド */
  .vertical-slider__slide:nth-child(2) {
    background-color: #000;
  }

  /* 3枚目のスライド */
  .vertical-slider__slide:nth-child(3) {
    background-color: #000;
  }
.l-top__mv{
    position: relative;
    color:#fff;
    /* padding:15rem 0px 16.5rem; */
}
.l-top__mv.show::before{
    opacity: 1;
}
.l-top__mv-inner{
    max-width: 1232px;
    width: 100%;
    margin:240px auto 60px;
    padding:0px 30px;
    position: relative;
    /* opacity: 0;
    transition: 1s;
    transition-delay: .3s;
    visibility: hidden;
    transform: translate(0, 10px); */
}
@media screen and (min-width: 1441px) {
    .l-top__mv-inner{
        margin:0 auto 60px;
        padding:0px 16px;
    }
}
@media screen and (min-width: 560px) and (max-width: 1440px) {
	.l-top__mv-inner{
		margin:30px auto 0px;
    padding:0px 100px;
	}
}
/* .js-scroll.show.done .l-top__mv-inner{
    visibility: visible;
    transform: translate(0, 0);
    opacity: 1;
} */

.l-top__mv-lead{
  font-size: 2rem;
    font-weight: bold;
    /* margin-bottom: 20px; */
    /* opacity: 0;
    transition: 1s;
    transition-delay: .3s;
    transform: translate(0, 20px);
    visibility: hidden; */
}
/* .js-scroll.show.done.l-top__mv-lead{
    transform: translate(0, 0);
    opacity: 1;
    visibility: visible;
} */
@media screen and (min-width: 560px) and (max-width: 1440px) {
	.l-top__mv-lead{
		font-size: 2rem;
		margin-bottom:0px;
	}
}
@media screen and (min-width: 1441px) {
    .l-top__mv-lead{
      font-size: 2.4rem;
    }
}
.l-top__mv-headline{
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 2.5rem;
    /* opacity: 0;
    transition: 1s;
    transition-delay: .5s;
    transform: translate(0, 20px);
    visibility: hidden; */
}
/* .l-top__mv-catch {
    opacity: 0;
    transition: 1s;
    transform: translate(0, 40px);
    visibility: hidden;
    transition-delay: .4s;
} */
/* .l-top__mv-catch:nth-child(2){
    transition-delay: .5s;
} */
/* .js-scroll.show.done.l-top__mv-catch{
    transform: translate(0, 0);
    opacity: 1;
    visibility: visible;
} */
.u-sr-only {
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
[data-scroll-reveal="title-in"] .char {
  display: inline-block;
  transform: translateY(1em);
  opacity: 0;
  filter: blur(2px);
  transition:
    transform .72s cubic-bezier(.2,.8,.2,1),  /* 0.60s → 0.72s */
    opacity   .72s cubic-bezier(.2,.8,.2,1),
    filter    .72s cubic-bezier(.2,.8,.2,1);
  transition-delay: calc(min(var(--i, 0) * 0.038s, 0.36s) + (var(--extra-delay, 0) * 1ms));
  /* 0.03s → 0.038s / 0.30s → 0.36s */
  will-change: transform, opacity, filter;
}

[data-scroll-reveal="title-in"].is-in .char {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}

[data-reveal-group] > [data-reveal-target]{
  opacity: 0;
  transform: scale(.8);
  will-change: opacity, transform;
}

@media (prefers-reduced-motion: reduce){
  [data-reveal-group] > [data-reveal-target]{ opacity:1!important; transform:none!important; }
}

/* 動きの軽減設定を尊重 */
@media (prefers-reduced-motion: reduce) {
  [data-scroll-reveal="title-in"] .char,
  [data-scroll-reveal="title-in"].is-in .char {
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
    transition: none !important;
  }
}
@media screen and (min-width: 560px) and (max-width: 1440px) {
	.l-top__mv-headline{
		/* margin-bottom:5rem; */
    font-size:4rem;
    margin-bottom: 1.8rem;
	}
}
@media screen and (min-width: 1441px) {
    .l-top__mv-headline{
        font-size: 5.4rem;
    }
}
.l-top__mv-body{
    margin-bottom: 50px;
	line-height:28px;
    transition-delay: .6s!important;
    /* opacity: 0;
    transition: 1s;
    transition-delay: .5s;
    transform: translate(0, 20px);
    visibility: hidden; */
}
@media screen and (min-width: 560px) and (max-width: 1440px) {
    .l-top__mv-body{
        font-size:12px;
        margin-bottom: 45px;
        line-height:24px;
    }
}
/* .js-scroll.show.done.l-top__mv-body,
.js-scroll.show.done.l-top__mv-headline{
    transform: translate(0, 0);
    opacity: 1;
    visibility: visible;
} */
/* .content-wrap--bg .l-contact__button{
    transition: 1s;
    transition-delay: .6s;
    opacity: 0;
}
.js-scroll.show.done.content-wrap--bg .l-contact__button{
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0);
} */
/* @media screen and (min-width: 560px) and (max-width: 1440px) {
  .l-top__mv-body {
    display: none;
  }
} */
/****************************
TOPメインビジュアル下
****************************/
.p-top__contract-icon{
    background-color: #fff;
    border-radius: 50%;
    max-width: 45px;
    width: 100%;
    height:45px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.p-top__contract-icon img{
	max-width:60%;
}
@media screen and (min-width: 560px) {
	.p-top__contract-icon{
		height:65px;
		max-width: 65px;
	}
	.p-top__contract-icon img{
	max-width:100%;
}
}
.l-top__contract-list{
    margin-top: 3rem;
    /* opacity: 0;
    transition: 1s;
    transform: translate(0, 20px);
    visibility: hidden; */
}
/* .js-scroll.show.done.l-top__contract-list{
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0);
} */
@media screen and (min-width: 560px) {
    .l-top__contract-list{
        margin-top: 0rem;
    }
}
.l-top__contract-list li{
    border-top: 1px solid #fff;
    padding: 20px 0px 40px;
    display: flex;
    align-items: center;
    /* flex-flow: column; */
    gap:13px;
    color:#fff;
    position: relative;
    /* opacity: 0;
    transition: 1s;
    transition-delay: .3s;
    transform: translate(0, 10px);
    visibility: hidden; */
}
.u-service__block{
    position: relative;
    /* opacity: 0;
    transition:1s;
    transform: translate(0, 20px); */
}
/* .js-scroll.show.done.u-service__block{
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0);
} */
@media screen and (min-width: 560px) {
    .l-top__contract-list li{
        /* flex-flow: row; */
        gap:15px;
        padding: 40px 0px 79px;
    }
}
.l-top__contract-list li:nth-child(2){
    transition-delay: .4s;
}
.l-top__contract-list li:nth-child(3){
    transition-delay: .5s;
}
/* .l-top__contract-list li.js-scroll.show.done{
    transform: translate(0, 0);
    visibility: visible;
    opacity: 1;
} */
.p-contract__caption{
    position: absolute;
    right:0px;
    top:10px;
    font-size: 1.2rem;
}
.l-top__contract-list li:last-child{
    padding:35px 0px 0px;
}

.p-top__contract__math{
    font-weight: 600;
    font-size: 6rem;
    line-height: 1;
    color:#F5485C;
}
@media screen and (min-width: 560px) {
    .p-top__contract__math{
        font-size: 9.4rem;
    }
}
.red-text{
    color:#F5485C;
}
.bold-text{
    font-weight: bold;
}
.p-top__contract__jp{
    font-size: 3.2rem;
    color:#F5485C;
    line-height: 1;
    font-weight: bold;
}
@media screen and (min-width: 560px) {
    .p-top__contract__jp{
        font-size: 3.8rem;
    }
}

#fp-nav ul li a span, .fp-slidesNav ul li a span{
    background: #fff!important;
}
/* #normalScrollSection{
    overflow: visible;
    margin: 0;
    padding: 0;
} */
.l-top__intro{
    background-color: #070F19;
    padding:10rem 0px 10rem;
    color:#fff;
    position:relative;
}
@media screen and (min-width: 560px) {
    .l-top__intro{
        padding:15rem 0px 10rem;
    }
}
.l-top__needs-math{
    color: #f5485c;
    font-weight: 600;
    font-size: 16px;
    /* opacity: 0;
    transform: translate(0, 10px);
    transition-delay:.3s; */
}
/* .js-scroll.show.done.l-top__needs-math{
    opacity: 1;
    transform: translate(0, 0);
} */
.l-top__service-lead{
    font-size: 2.4rem;
    margin-bottom: 3.5rem;
    font-weight: bold;
    /* opacity: 0;
    transition: opacity ease 1s;
    transition-delay:.4s ;
    transform: translate(0, 10px); */
}
@media screen and (min-width: 560px) {
	.l-top__service-lead{
		font-size: 3rem;
	}
}
/* .js-scroll.show.done.l-top__service-lead{
    opacity: 1;
    transform: translate(0, 0);
} */

.l-top__consultant-list{
    font-size: 16px;
}
.l-top__consultant-list li{
    display: flex;
    margin-bottom: 28px;
    gap:10px;
    /* opacity: 0;
    transition: opacity ease 1s;
    transition-delay:.5s ;
    transform: translate(0, 10px); */
}
/* .js-scroll.show.done.l-top__consultant-list li{
    opacity: 1;
    transform: translate(0, 0);
} */
.l-top__consultant-list li p{
    line-height: 1.55;
}
.l-top__consultant-list li span{
    color:#fff;
    max-width: 28px;
    width:100%;
    height:28px;
    line-height: 28px;
    background-color: #f5485c;
    text-align: center;
    border-radius: 50%;
    font-size: 20px;
}
.p-top__consultant__body{
    text-align: center;
    border:1px solid #fff;
    padding:20px 10px;
    margin-top: 4rem;
    /* opacity: 0;
    transition: opacity ease 1s;
    transition-delay:.6s ;
    transform: translate(0, 10px); */
}
@media screen and (min-width: 560px) {
	.p-top__consultant__body{
		padding:33px 15px;
	}
}
/* .js-scroll.show.done.p-top__consultant__body{
    opacity: 1;
    transform: translate(0, 0);
} */
.p-top__content{
    padding-top:10rem;
}
@media screen and (min-width: 560px) {
.p-top__content{
    padding-top:14rem;
}
}

.scroll-section {
    position: relative;
}
.scroll-sticky {
    position: sticky;
    top: 0;
}
.scroll-sticky-bg {
    background-color: #000;
    padding: 20px;
}
.scroll-heading {
    color: #fff;
    font-size: 2rem;
}
.scroll-content {
    padding: 40px;
    background-color: #f0f0f0;
}
/****************************
TOPリンク枝分かれ
****************************/
.l-link{
    z-index: 1;
    position: relative;
}
/****************************
TOP取扱い商材
****************************/
.l-lineup{
    position: relative;
    background-color: #F0F1F3;
    padding:15rem 0px 6rem;
}
@media screen and (min-width: 560px) {
    .l-lineup{
        padding:20rem 0px 6rem;
    }
}
.l-lineup .p-common__inner{
    margin-top: 30px;
}
.l-lineup .p-sp__inner{
    position: relative;
}
@media screen and (min-width: 560px) {
.l-lineup .p-sp__inner::after{
    content:'';
    width: 32.5%;
    display: block;
}
}
.l-lineup__list{
    display: flex;
    align-items: center;
    gap:1px;
    flex:0 0 48.25%;
    border-radius: 8px;
    background: #fff;
    padding: 9px 8px 9px 9px;
    margin-bottom: 10px;
    font-weight: 500;
}

@media screen and (min-width: 560px) {
.l-lineup__list{
    gap:4px;
    flex:0 0 32.5%;
    padding: 9px 8px 9px 18px;
}
.p-lineup__list{
    margin-left: 30px;
}
}
.p-lineup__maker-inner{
    flex-wrap: wrap;
    display: inline-flex;
    gap:6px;
}
.p-lineup__name{
    background-color: #fff;
    border-radius: 8px;
    font-size:1.4rem;
    display: inline-block;
    padding:3px 14px 3px 9px;
    margin-top: 5px;
}
.p-lineup__name span{
    font-weight: normal;
    vertical-align: sub;
    font-size: 18px;
}
.l-lineup__list .material-symbols-outlined{
    color:#F5485C;
    font-weight: 900;
    font-size:1.5rem;
}
.u-lineup__other{
    border:1px solid #2D2D2D;
    color:#2D2D2D;
    margin-top: 6rem;
    margin-bottom: 10rem;
}
@media screen and (min-width: 560px) {
.p-lineup__inner02{
    display: flex;
    align-items: center;
    justify-content: center;
}
}
@media screen and (min-width: 1600px) {
    .p-lineup__inner02{
        margin-left: -190px;
    }
}
.c-lineup__name{
    font-size:2.8rem;
    margin-bottom: 20px;
}
@media screen and (min-width: 560px) {
    .c-lineup__name{
        font-size:3.2rem;
    }
}
@media screen and (min-width: 960px) {
    .c-lineup__name{
        font-size:3.8rem;
    }
}
.c-lineup__headline02{
    font-size: 3rem;
    line-height: 42px;
}
/****************************
TOP代理店様の声
****************************/
.l-voice{
    background-image:url("/wp-content/themes/MJE/images/voice-bg.webp");
    padding:10rem 0px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #fff;
    position: relative;
}
@media screen and (min-width: 560px) {
    .l-voice{
        padding:15rem 0px;
    }
}
.section-lineup{
    overflow: hidden;
    position: relative;
    padding: 7rem 0px 0px;
    margin-top: -5rem;
}
.inner{
    margin-left:auto;
    margin-right: auto;
    width: 100%;
    /* padding-left: 4rem; */
}
@media screen and (min-width: 560px) {
    .inner{
        /* width: 80%; */
        /* width: clamp(640px, 80%, 960px); */
    }
}
.lineup{
    position: relative;
}
.lineup .p-common__inner{
    max-width: 832px;
    margin:0 auto;
    width: 100%;
    padding:0px 16px;
}
.lineup-carousel__list{
    /* margin-right: 24px; */
    padding: 30px 0px;
    background-color: #fff;
    border-radius: 14px;
}
@media screen and (min-width: 560px) {
    .lineup-carousel__list{
        padding: 45px 0px;
		min-height:287px;
    }
}
.lineup-carousel__image{
    margin-bottom: 2.5rem;
    text-align: center;
    max-width: 70px;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (min-width: 560px) {
    .lineup-carousel__image{
        text-align: left;
        max-width: 100%;
    }
}
.slick-slide img{
    display: inline-block!important;
    max-width: 80px;
}
.slick-disabled{
    background: #4d4d4d;
}
@media screen and (min-width: 560px) {
.lineup-carousel__image{
    flex:0 0 12%;
    max-width: 12%;
    margin-bottom: 0px;
}
.lineup-carousel__block{
    flex:0 0 87%;
    max-width: 87%;
}
}
.lineup-carousel__title{
    font-size: 1.5rem;
    margin-bottom: 5px;
}
@media screen and (min-width: 560px) {
    .lineup-carousel__title{
    font-size: 1.6rem;
}
}
.lineup-carousel__title span{
    color:#2B90CC;
    margin-bottom: 1.5rem;
    position: relative;
    padding-right: 30px;
}
@media screen and (min-width: 560px) {
    .lineup-carousel__title span{
        padding-right: 40px;
    }
}
.lineup-carousel__title span::after{
    content:'';
    height: 13px;
    width: 1px;
    background-color: #2D2D2D;
    position: absolute;
    right: 15px;
    top: 5px;
}
@media screen and (min-width: 560px) {
    .lineup-carousel__title span::after{
        right: 20px;
        height: 18px;
    }
}
.lineup-carousel__block h3{
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 25px;
}
@media screen and (min-width: 560px) {
    .lineup-carousel__block h3{
        font-size: 2.4rem;
    }
}
.u-lineup__body{
    font-size: 14px;
}
/* .slick-slide>div{
    margin-right: 38px;
} */
 .lineup-carousel .slick-slide {
    padding: 0 10px;
    /* max-width: 340px; */
    width: 100%;
}
@media screen and (min-width: 560px) {
     .lineup-carousel .slick-slide {
        max-width: 992px;
        padding: 0 19px;
     }
}
.slick-list{
    overflow: visible!important;
}

.slick__prev,
.slick__next {
    position: absolute;
    top: -60px;
    z-index: 1;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border:none;
    /* border: 1px solid #2D2D2D; */
    background: #2D2D2D;
    transition: .5s;
    cursor: pointer;
}
.slick__prev:hover,
.slick__next:hover{
    opacity: 0.6;
}

.slick__prev {
    right: calc((100vw - 100%) + (70px + 10px + 15px));
}
.slick__next {
    right: calc((100vw - 100%) + (40px));
}
@media screen and (min-width: 560px) {
.slick__prev {
          right: calc(50% - 476px + 56px);  
  /* right: calc((103vw - 100%) + (30px + 60px + 15px)); */
}

.slick__next {
  right: calc(50% - 476px);
    /* right: calc((103vw - 100%) + (40px)); */
}
}

.slick__prev:before,
.slick__next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  opacity: 1;
  content: '';
}
.slick-next:before, .slick-prev:before{
    display: none;
}
.slick__prev:before {
  transform: translate(-25%, -50%) rotate(-135deg);
}

.slick__next:before {
  transform: translate(-75%, -50%) rotate(45deg);
}

.slick-dots li button:before,
.slick-dots li button:after{
    content:'';
    font-family: 'Material Icons';
}
.slide-dots {
    margin: 0;
    padding: 0;
    text-align: center;
  }
  .slide-dots li {
    display: inline-block;
    margin: 0 10px;
  }
  .slide-dots li button {
    position: relative;
    text-indent: -9999px;
  }

/****************************
TOPサポート体制
****************************/
.l-support{
    position: relative;
    padding:10.3rem 0px 15rem;
    background-color: #fff;
}
@media screen and (min-width: 560px) {
    .l-support{
        padding:16.3rem 0px 20rem;
    }
}
.l-support .p-common__inner{
    margin-top: 30px;
}
.l-top__headline{
    font-size: 3rem;
}
.l-top__headline .material-symbols-outlined{
    color:#F5485C;
    font-weight: 900;
    margin-right: 5px;
    font-size: 34px;
    vertical-align: sub;
}
.u-mv03__headline{
    padding-top:10rem;
}
.l-top__lead{
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 3rem;
    /* opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.5s ease, transform 0.5s ease; */
    letter-spacing: 0px;
}
@media screen and (min-width: 560px) {
    .l-top__lead{
        font-size: 4.8rem;
    }
}
[data-scroll-reveal-target]{
  opacity:0;
  transform: translateY(24px);
  will-change: opacity, transform;
}

/* 行分割用のラッパ（JSが自動生成。見出しセマンティクスは維持） */
.reveal-line{ display:block; }

/* 動きの軽減 */
@media (prefers-reduced-motion: reduce){
  [data-scroll-reveal-target]{ opacity:1!important; transform:none!important; }
}

.l-top__lineup-headline{
    font-size: 3.6rem;
    margin-bottom: 4rem;
    position: relative;
    line-height: 1.4;
    letter-spacing: 0px;
}
@media screen and (min-width: 560px) {
    .l-top__lineup-headline{
        font-size: 4.8rem;
    }
}
/****************************
TOP バックアップ
****************************/
.l-strength__animation{
    position: relative;
    /* padding:10rem 0px; */
}
.l-animation__inner{
    position: relative;
    width: 100%;
    height: 300vh;
}
/* .l-strength__animation{
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 100vh;
} */
.scroll-background.circle {
    position: sticky;
    top: 50%; /* 画面中央 */
    left: 50%;
    width: 200px;  /* 初期サイズは必要に応じて調整 */
    height: 200px;
    background: radial-gradient(circle, rgba(0,123,255,0.6) 0%, rgba(0,123,255,0) 80%);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(1);
    transition: transform 0.1s ease-out, opacity 0.1s ease-out;
    z-index: -1; /* 背景として */
  }
.scroll-background {
    width: 200px;
    height: 200px;
    background-color: #fff;
    border-radius: 50%;
    position: sticky;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    transition: transform 0.5s ease-out;
    z-index: -1;
}

@media screen and (min-width: 560px) {
    .scroll-background{
        width: 452px; /* 初期の横幅 */
        height: 452px; /* 初期の縦幅 */
        /* left: 30%;
        top: 71%; */
    }
}

.l-strength__animation .l-top__headline{
    color:#2D2D2D;
}
/* [data-scroll-container] {
    overflow: hidden;
} */
.l-backup{
    padding-top: 3.5rem;
    background-color: #fff;
    padding-bottom: 10rem;
    transition: .5s;
    position: relative;
}
.l-backup.is-active{
    background-color: #fff;
    color:#070F19;
}
@media screen and (min-width: 560px) {
    .l-backup{
/*         padding-top: 10rem; */
        padding-bottom: 30rem;
    }
}
.l-backup__title{
    /* position: sticky;
    top: 50%;
    transform: translateY(-50%); */
    transition: transform 0.1s ease-out, opacity 0.5s ease-out;
    z-index: 2; /* 円の上に表示 */
    text-align: center;
    opacity: 1;
}
/* @media screen and (min-width: 560px) {
    .l-backup__title{
        top: -120px;
    }
} */
.l-backup__list{
    border-bottom: 1px solid #A0A0A0;
    padding-bottom: 35px;
    margin-bottom: 35px;
    margin-top: 7rem;
}

@media screen and (min-width: 560px) {
.l-backup__list{
    flex:0 0 46.82%;
    max-width: 46.82%;
}
}
.l-backup__description{
    transform: translateY(50px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    padding-top: 5rem;
}
.l-top__service-headline{
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 2.5rem;
    position: relative;
    transition: opacity ease 1s;
    transition-delay:.3s ;
    transform: translate(0, 10px);
}
@media screen and (min-width: 560px) {
    .l-top__service-headline{
        font-size: 3.8rem;
    }
}
.active .l-top__service-headline{
    transform: translate(0, 0);
    opacity: 1;
}
.l-top__service-headline02{
    font-size: 3.8rem;
    margin-bottom: 5rem;
    position: relative;
    line-height: 1.4;
}
@media screen and (min-width: 560px) {
    .l-top__service-headline02{
        font-size: 4.8rem;
    }
}
.u-other__headline{
	margin-bottom:8rem;
}
.u-top__01::after,
.u-top__02::after,
.u-top__03::after,
.u-top__04::after,
.u-top__05::after,
.u-top__06::after,
.u-top__07::after{
    position:absolute;
    top:-40px;
    font-size: 10rem;
    font-family: 'Montserrat', sans-serif;
    line-height: 1;
    font-weight: 600;
    left:0px;
    z-index: -1;
    color:#FFE3E7;
}
@media screen and (min-width: 560px) {
    .u-top__01::after,
.u-top__02::after,
.u-top__03::after,
.u-top__04::after,
.u-top__05::after,
.u-top__06::after,
.u-top__07::after{
    font-size:13rem;
    top:-65px;
}
}
.u-top__01::after{
    content:'01';
}
.u-top__02::after{
    content:'02';
}
.u-top__03::after{
    content:'03';
}
.u-top__04::after{
    content:'04';
}
.u-top__05::after{
    content:'05';
}
.u-top__06::after{
    content:'06';
}
.u-top__07::after{
    content:'07';
}
#fullpage .l-top__block{
    color:#fff;
}
.l-top__block{
    margin-bottom: 3rem;
}
.l-top__block .p-common__body{
    max-width: 412px;
}
.l-top__backup-headline{
    font-size:3rem;
    margin-bottom: 3rem;
    position: relative;
    line-height: 42px;
}
.l-top__image03{
    position: relative;
}
.l-top__image03__element{
	max-width:250px;
	position: absolute;
	top: 0px;
    z-index: 0;
    right: -20px;
}
@media screen and (min-width: 560px) {
  .l-top__image03__element{
    z-index: 1;
  } 
}
/* .l-top__image03__element.scroll{
	transition-delay:.2s;
} */
.l-top__image03__element02.scroll{
	transition-delay:.2s;
}
.l-top__image03__element02{
	max-width: 750px;
    z-index: 2;
	right:0px;
	top:20px;
    position: relative;
}
@media screen and (min-width: 560px) {
	.l-top__image03__element{
		max-width:430px;
		right: 0px;
	}
	.l-top__image03__element02{
		right:-66px;
		top:75px;
	}
	.p-support03 .l-top__image03__element{
		top:65px;
    right: -20px;
    max-width: 530px;
	}
}
@media screen and (min-width: 960px) {
.p-support03 .l-top__image03__element{
  right: -130px;
}
}
@media screen and (min-width: 960px) {
.l-top__image03__element02{
max-width: 650px;
}
}
@media screen and (min-width: 1441px) {
.l-top__image03__element{
    right: -130px;
    max-width:530px;
}
.l-top__image03__element02{
    top:65px;
    max-width: 750px;
}
}
.p-support__0304-image{
	position:relative;
}
.p-support__0304-image ul{
	position:relative;
display: flex;
    width: 100%;
    height: 100%;
    right: 0px;
}
@media screen and (min-width: 1440px) {
	.p-support__0304-image ul{
		right: -65px;
	}
}
.p-support__0304-image ul li{
	max-width:263px;
	width:100%;
  position: relative;
}
@media screen and (min-width: 560px) {
.p-support__0304-image ul li{
  max-width:40%;
  position: absolute;
}
}
@media screen and (min-width: 960px) {
.p-support__0304-image ul li{
  max-width:263px;
}
}
.p-support__0304-image ul li img{
	box-shadow: 3px 20px 25px rgba(30, 30, 30, 0.6);
}
.p-support__0304-image ul li:first-child{
  z-index:3;
	transition-delay:.6s;
  top:50px;
  left: 10px;
}
.p-support__0304-image ul li:nth-child(2){
z-index:2;
	transition-delay:.4s;
  top:20px;
}
.p-support__0304-image ul li:nth-child(3){
	z-index:1;
	transition-delay:.2s;
  top:40px;
  right:0px;
}
@media screen and (min-width: 560px) {
.p-support__0304-image ul li:first-child{
  left:0%;
}
.p-support__0304-image ul li:nth-child(2){
  right: 30%;
}
}
@media screen and (min-width: 960px) {
.p-support__0304-image ul li:first-child{
left: 0px;
    top: 160px;
}
.p-support__0304-image ul li:nth-child(2){
	right:242px;
	top:88px;
}
.p-support__0304-image ul li:nth-child(3){
	top: 128px;
}
}
@media screen and (min-width: 1440px) {
.p-support__0304-image ul li:first-child{
    left: 67px;
}
}
/* .l-top__image03::after{
    content: "";
    display: block;
    background: url("/wp-content/themes/MJE/images/bg.webp") center / cover no-repeat;
    position: absolute;
    z-index: 1;
    top: -60px;
    right: -60px;
    z-index: -1;
    max-width: 530px;
    width: 100%;
    height: 530px;
    border-radius: 14px;
}
@media screen and (max-width: 960px) {
    .l-top__image03::after{
        height: calc(100% - 20px);
    }
}
@media screen and (max-width: 559px) {
.l-top__image03::after{
    top: -16px;
    right: -17px;
    z-index: -1;
    max-width: 230px;
    width: 100%;
    height: 230px;
    border-radius: 14px;
}
} */
@media screen and (min-width: 560px) {
.l-top__block{
    margin-bottom: 0px;
    flex:0 0 34.80%;
    max-width: 34.80%;
}
.l-top__image{
    flex:0 0 56.03%;
    max-width: 56.03%;
}
.l-top__image03{
    flex:0 0 62.60%;
    max-width:62.60%;
}
}
/* @media screen and (min-width: 1441px) {
.l-top__image03 img{
    margin-left: 80px;
}
} */
@media screen and (min-width: 560px) {
.l-top__list{
    flex: 0 0 57.01%;
    max-width: 57.01%;
    margin-top: 10px;
}
}
.l-top__head-en{
    font-size: 5.8rem;
    line-height: 1.35;
    font-weight: bold;
    color:#f5485c;
    margin-bottom: 10px;
}
@media screen and (min-width: 560px) {
    .l-top__head-en{
        line-height: 1;
        padding-top: 2rem;
        font-size: 7.8rem;
    }
}
@media screen and (min-width: 960px) {
    .l-top__head-en{
        font-size: 11.8rem;
    }
}
.l-top__link{
    position: relative;
    font-weight: bold;
    margin-top: 4rem;
    font-size:1.9rem;
    margin-bottom: 5rem;
    -webkit-tap-highlight-color: transparent;
}
.l-top__link * {
    -webkit-tap-highlight-color: transparent;
}
/* === Mobile Safe Mode: タップ直後の黒いフラッシュ抑止 === */
@media (hover: none) and (pointer: coarse) {
  /* ハイライト無効＋再合成の揺れを止める */
  .l-top__link,
  .l-top__link * {
    -webkit-tap-highlight-color: transparent;
    transition: none !important;
    animation: none !important;
    filter: none !important;
    will-change: auto !important;
    backface-visibility: hidden;
    transform: translateZ(0);
  }

  /* :activeで暗く見えるのを抑止 */
  .l-top__link:active,
  .l-top__link *:active {
    background: inherit !important;
    opacity: 1 !important;
  }
  .l-top__link .material-symbols-outlined {
    transition: none !important;
    transform: none !important;
  }
  .l-top__link { touch-action: manipulation; }
}
@media screen and (min-width: 560px) {
    .l-top__link{
        margin-bottom: 0px;
    }
}
/* .l-top__link,
.l-top__link .label {
  background-color: #fff;
} */
.l-top__link:hover .label::after{
    background: #2d2d2d;
}
.label {
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    display: inline-block;
}
.label span {
    display: inline-block;
}

.l-top__link .label::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: all ease .3s;
    background: #2d2d2d;
}
.label,
.label::after,
.l-top__link .material-symbols-outlined {
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform, opacity;
}
@media (hover: hover) and (pointer: fine) {
    .l-top__link:hover .label span{
        animation-name: btnHoverAnimation;
        animation-direction: normal;
        animation-duration: .5s;
        animation-timing-function: ease;
        animation-fill-mode: forwards;
        animation-iteration-count: alternate;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-top__link:hover .label::after{
    animation-name: btnHoverLineAnimation;
    animation-direction: normal;
    animation-duration: .5s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
    animation-iteration-count: alternate;
}
.l-top__link:hover .material-symbols-outlined{
    transform: scale(1.15);
}
}
@keyframes btnHoverLineAnimation {
    0% {
        width: 0
    }

    42% {
        width: 0
    }

    100% {
        width: 100%
    }
}

@keyframes btnHoverAnimation {
    0% {
        transform: translate(0, 0);
        opacity: 1
    }

    40% {
        transform: translate(0, -10%);
        opacity: 0
    }

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

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

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}
.l-top__link .material-symbols-outlined{
    text-align: center;
    max-width: 60px;
    width: 100%;
    height: 60px;
    line-height: 60px;
    color:#fff;
    background: #f5485c;
    border-radius: 50%;
    margin-left: 20px;
    font-weight: 100;
    transition: .5s;
}

@media screen and (min-width: 560px) {
    .l-top__link .material-symbols-outlined{
        max-width: 80px;
    height: 80px;
    line-height: 80px;
    }
}
/****************************
TOPご契約の流れ
****************************/
.l-agancy{
    position: relative;
    background-color: #F0F1F3;
    padding: 12rem 0px 10.5rem;
}
@media screen and (min-width: 560px) {
    .l-agancy{
        padding: 18rem 0px 12.5rem;
    }
}
.p-agancy__list{
    border-radius: 14px;
    background: #fff;
    margin-bottom: 3rem;
}
@media screen and (min-width: 560px) {
    .p-agancy__list{
        flex:0 0 48.41%;
        margin-bottom: 0px;
        max-width: 48.41%;
    }
}
.p-agancy__inner{
    max-width: 482px;
    margin:0 auto;
    padding:6rem 28px;
}
@media screen and (min-width: 560px) {
    .p-agancy__inner{
        padding:6rem 16px;
    }
}
.p-agancy__headline{
    border-radius: 8px;
    background: #2B90CC;
    color:#fff;
    font-size: 19px;
    font-weight: bold;
    text-align: center;
    padding:10px;
    margin-bottom: 3.2rem;
}
.p-agancy__list:nth-child(2) .p-agancy__headline{
    background: #7E61B8;
}
.p-agancy__lead{
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 1.6rem;
}
@media screen and (min-width: 560px) {
    .p-agancy__lead{
        font-size: 2.4rem;
    }
}
.p-agancy__image{
    margin-top: 3.5rem;
}

/****************************
TOPご契約の流れ
****************************/
.l-flow{
    position: relative;
    padding:12rem 0px 10rem;
    background-color: #fff;
}

@media screen and (min-width: 560px) {
.l-flow{
    padding:18rem 0px 12rem;
}
}
@media screen and (min-width: 560px) {
.p-flow__title{
    align-items: center;
    display: flex;
}
}
.p-flow__list{
    position: relative;
    border-bottom:1px solid #A0A0A0;
    padding:3rem 0rem;
}
@media screen and (min-width: 560px) {
    .p-flow__list{
        padding:4rem;
    }
}
.p-flow__list::before,
.p-flow__list::after{
    position: absolute;
    top: 100%;
    left: 50%;
    content: "";
    height: 0;
    width: 0;
}
.p-flow__list:last-child::before,
.p-flow__list:last-child::after{
    content:none;
}
.p-flow__list::before{
    border: 14px solid;
    border-color: transparent;
    border-top-color: #A0A0A0;
    margin-left: -14px;
}
.p-flow__list::after{
    border: 13px solid;
    border-color: transparent;
    border-top-color: #fff;
    margin-left: -13px;
}
.p-flow__list:first-child{
    border-top:1px solid #A0A0A0;
}
.p-flow__headline{
    font-size:2.4rem;
    font-weight: bold;
}
.p-flow__headline .en{
    color:#F5485C;
    font-size: 1.6rem;
    margin-right: 15px;
    vertical-align: middle;
}
.p-flow__body{
    margin: 10px 0px 0px 34px;
    line-height: 28px;
}
@media screen and (min-width: 560px) {
    .p-flow__body{
        margin: 0px;
        line-height: 28px;
    }
}
.p-flow__body a{
    display: inline-block;
}
@media screen and (min-width: 560px) {
.p-flow__headline{
    flex:0 0 30%;
    max-width: 30%;
}
.p-flow__body{
    flex:0 0 60%;
    max-width: 60%;
}
}
.p-common__body{
    line-height: 28px;
}
.p-common__text-link{
    color: #F5485C;
    display: block;
    text-decoration: underline;
}
@media screen and (min-width: 560px) {
    .p-common__text-link{
        display: inline-block;
    }
}


/****************************
TOPよくある質問
****************************/
.c-faq__list{
    background: #fff;
    border-radius: 8px;
    margin-bottom: 2rem;
    font-size: 1.6rem;
}
.c-faq__body{
    font-weight: bold;
    text-align: justify;
    position: relative;
    padding-left: 38px;
    text-indent: -15px;
    line-height: 1.5;
    padding-top: 32px;
    padding-bottom: 16px;
    border-radius: 8px;
    padding-right: 15px;
    font-size: 1.6rem;
}
@media screen and (min-width: 560px) {
.c-faq__body{
    padding-left: 60px;
    padding-right: 20px;
    text-indent: -12px;
    }
}
.c-faq__answer{
    padding-left: 15px;
    text-indent: -12px;
    line-height: 1.95;
    padding-right: 15px;
    /* text-align: justify; */
    line-height: 28px;
  }
  @media screen and (min-width: 560px) {
    .c-faq__answer{
      padding-left: 34px;
      padding-right: 50px;
      text-indent: -14px;
    }
    .c-faq__answer .p-common__text-link{
        margin-left: 20px;
    }
  }

  .c-faq__block{
    padding-bottom: 32px;
    padding-left: 20px;
    text-indent: -12px;
    border-radius: 8px;
    /* display: none; */
  }
  @media screen and (min-width: 560px) {
    .c-faq__block{
      padding-left: 30px;
    }
  }
  .c-faq__body span,
  .c-faq__answer span{
    line-height: 1;
    color:#2B90CC;
    display: inline-block;
    margin-right: 10px;
    font-size: 16px;
    font-weight: bold;
  }
  .c-faq__answer span{
    color:#E54462;
  }

.top-faq{
    position: relative;
    background-color: #F0F1F3;
    padding:12rem 0px 15rem;
}
@media screen and (min-width: 560px) {
    .top-faq{
        padding:18rem 0px 28rem;
    }
}
.p-top__faq-list{
    margin-bottom: 18px;
    background-color: #fff;
    border-radius: 14px;
    padding:0px 20px;
}
@media screen and (min-width: 560px) {
.p-top__faq-list{
    padding:0px;
    flex:49.24%;
    max-width: 49.24%;
}
}
@media screen and (min-width: 560px) {
.l-top__footer-link{
    flex:0 0 50%;
    max-width: 50%;
}
}
.p-lineup__inner{
    color: #fff;
    position: relative;
}
.p-lineup__inner a::after {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    background-image: url("/wp-content/themes/MJE/images/mfp-bg-sp.webp");
    background-size: cover;
    z-index: -1;
    transition: .5s;
}
.l-link .p-support__body{
        padding:0px 20px;
    }
@media screen and (min-width: 560px) {
    .l-link .p-support__body{
        padding:0px;
    }
    .p-lineup__inner a::after {
        background-image: url("/wp-content/themes/MJE/images/mfp-bg.webp");
    }
}
.p-support__inner a:hover::after, .p-lineup__inner a:hover::after{
    transform: scale(1.1);
    /* opacity: .8; */
}

/****************************
SUPPORT サポート体制
****************************/

.p-support__name{
    font-weight: bold;
    font-size: 2.4rem;
    margin-bottom: 2rem;
    line-height: 1;
}
@media screen and (min-width: 560px) {
    .p-support__name{
        font-size: 2.8rem;
        margin-bottom: 3rem;
    }
}
@media screen and (min-width: 960px) {
    .p-support__name{
        font-size: 3rem;
    }
}
.p-support__name .material-symbols-outlined{
    color: #F5485C;
    font-size:2.8rem;
    margin-right: 3px;
    vertical-align: middle;
    font-weight: 200;
}
@media screen and (min-width: 560px) {
    .p-support__name .material-symbols-outlined{
        vertical-align: sub;
        margin-right: 5px;
        font-size:3.4rem;
    }
}
.p-support__list{
    border-bottom: 1px solid #A0A0A0;
    padding-bottom: 34px;
    margin-bottom: 40px;
    margin-top: 30px;
}
@media screen and (min-width: 560px) {
    .p-support__list{
        margin-bottom: 60px;
        margin-top:50px;
    }
}
@media screen and (min-width: 560px) {
.u-other__lineup-list::after,
.u-other__lineup-list::before{
    content:'';
            flex: 0 0 23.03%;
        max-width: 23.03%;
}
.u-other__lineup-list::before{
    order:1;
}
}
.u-other__list{
    margin-top: 90px;
}
/* .p-support__0304-block{
    margin-top: 3rem;
} */
.c-lineup__content{
    margin-bottom: 10rem;
}
.c-lineup__block{
    margin-bottom: 2.5rem;
}
@media screen and (min-width: 560px) {
.p-support__0304-block{
    flex:0 0 37.21%;
    max-width: 37.21%;
    margin-top: 0rem;
}
.c-lineup__block{
    margin-bottom: 0rem;
    flex:0 0 35.5%;
    max-width: 35.5%;
}
.c-lineup__content{
    margin-bottom: 0rem;
    flex:0 0 31.5%;
    max-width: 31.5%;
}
.p-support__0304-image{
    flex:0 0 62%;
    max-width: 62%;
    position: relative;
    top: -60px;
}
.p-maintenance__image{
    flex:0 0 53%;
    max-width: 53%;
    position: relative;
    /* top: -60px; */
}
}
.p-maintenance__image img{
	border-radius:14px;
}
@media screen and (min-width: 960px) {
.p-support__0304-block{
    flex:0 0 31.21%;
    max-width: 31.21%;
}
.p-support__0304-image{
  flex:0 0 60%;
    max-width: 60%;
}
}
@media screen and (min-width: 1441px) {
  .p-support__0304-image{
    flex:0 0 68%;
    max-width: 68%;
  }
.p-maintenance__image{
    flex:0 0 63%;
    max-width: 63%;
  }
}
@media screen and (min-width: 1441px) {
  .p-maintenance__image{
    left: 100px;
  }
}
.page-id-4799{
    position: relative;
}
.page-id-4799::before{
    content:'';
    background-image:url("/wp-content/themes/MJE/images/support-bg-logo.webp");
    position: fixed;
    transition: .5s;
    top: 50%;
    transform: translateY(-50%);
    right:0px;
    text-align: center;
    margin:0 auto;
    background-position: center;
    background-repeat: no-repeat;
    height: 718px;
    width: 100%;
    z-index: -1;
    background-position: 50% 50%;
    max-width: 100%;
    background-size:100%;
}
@media screen and (min-width: 560px) {
    .page-id-4799::before{
        background-size:auto;
        max-width: 1353px;
    }
}
/* .page-id-4799.scrolled::before {
    position: fixed;
  top: 50%;
  transform: translateY(-50%);
} */
.support01,
.p-support02{
    padding-bottom:8.6rem;
}
@media screen and (min-width: 560px) {
    .support01,
.p-support02{
    padding-bottom:11.6rem;
}
}
.p-support03{
    padding-bottom: 8rem;
}
@media screen and (min-width: 560px) {
 .p-support03{
    padding-bottom: 4rem;
} 
}
.p-support04{
    background-color: #F0F1F3;
    padding:10rem 0px 8rem;
}
@media screen and (min-width: 560px) {
    .p-support04{
        padding:16rem 0px 12rem;
    }
}
.p-support04 .p-common__body{
    max-width: 480px;
    padding-top: 1rem;
}
@media screen and (min-width: 1441px) {
.p-support04 .p-common__body{
    max-width: 412px;
  }
}
/************************************
# billage セクション 背景＆フェード
************************************/
#billage.p-support05 {
  position: relative;
  color: #fff;
  padding: 15rem 0 12rem;
  min-height: 1052px;
  background: none;
   overflow: hidden;
  --parallax-overscan: 120px;
}

#billage .billage-bg {
position: absolute;
  inset: 0;
  background: url("/wp-content/themes/MJE/images/billage-bg.webp") center / cover no-repeat;
  z-index: -1;
  top: calc(-1 * var(--parallax-overscan));
  bottom: calc(-1 * var(--parallax-overscan));
  pointer-events: none;
 background-position: center calc(50% + var(--bg-pos, 0px));
  z-index: -1;
  pointer-events: none;
  will-change: background-position;
}

#billage .wrap {
  position: relative;
  z-index: 1;
}

/* 旧構造は使わない場合は無効化（任意） */
#billage .l-billage__bg,
#billage .l-billage__bg-inner {
  display: none !important;
}

/* フェード（あなたのIO JSに対応） */
#billage .scroll {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}

#billage .scroll.show.done {
  opacity: 1;
  transform: translateY(0);
}

/* 見出しの装飾（既存流用） */
#billage .p-billage__headline {
  position: relative;
  margin: 5rem 0 2rem;
  font-size: 2.4rem;
}

#billage .p-billage__headline span {
  position: relative;
  padding-right: 10px;
}

#billage .p-billage__headline::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  max-width: 70%;
  height: 1px;
  background: #fff;
}

@media (min-width:960px) {
  #billage .p-billage__headline::after {
    max-width: 295px;
  }
}

/* コンテンツ幅調整 */
#billage .p-common__body {
  max-width: 412px;
}

#billage .p-billage__block {
  margin-bottom: 3rem;
}

@media (min-width:560px) {
  #billage .p-billage__block {
    flex: 0 0 35.72%;
    max-width: 35.72%;
    margin-bottom: 0;
  }

  #billage .p-billage__image {
    flex: 0 0 57.17%;
    max-width: 57.17%;
  }
}

/* フェードアニメーション */
#billage .scroll{
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
  will-change: opacity, transform;
}
#billage .scroll.show.done{
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

/* 画像が背景に沈まないように */
#billage .p-billage__image{ position: relative; z-index: 1; }
#billage .p-billage__image img{ display: block; max-width: 100%; height: auto; }


.p-billage__link a{
    position: relative;
    padding:5rem 0px 0px;
    color:#fff;
    overflow: hidden;
}
@media screen and (min-width: 560px) {
    .p-billage__link a{
        padding:8rem 0px;
    }
}
.p-billage__link a::before{
    content:'';
    background-image:url("/wp-content/themes/MJE/images/billage_button.webp");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left:0px;
    top:0px;
    width: 100%;
    height: 100%;
    z-index: -1;
    transition: .5s;
}

.p-billage__link a:hover::before{
        transform: scale(1.1);
}
.p-billage__logo{
    margin-bottom: 25px;
    position: relative;
}
.p-billage__link-block{
    color:#fff;
}
@media screen and (min-width: 560px) {
.p-billage__logo{
    flex:0 0 35%;
    max-width: 35%;
    margin-bottom: 0px;
}
.p-billage__link-block{
    flex:0 0 25%;
    max-width: 25%;
}
}
.p-billage__link-block .l-top__link .material-symbols-outlined,
.p-billage__link-block .l-top__link .label::after{
    background:#fff;
}
.p-billage__link-block .l-top__link .material-symbols-outlined{
    color:#2D2D2D;
}
@media screen and (min-width: 960px) {
.p-billage__link a:hover .p-billage__link-block .l-top__link .material-symbols-outlined{
            transform: scale(1.15);
}
.p-billage__link a:hover .p-billage__link-block .l-top__link .label::after{
            animation-name: btnHoverLineAnimation;
        animation-direction: normal;
        animation-duration: .5s;
        animation-timing-function: ease;
        animation-fill-mode: forwards;
        animation-iteration-count: alternate;
}
.p-billage__link a:hover .l-top__link .label span{
animation-name: btnHoverAnimation;
        animation-direction: normal;
        animation-duration: .5s;
        animation-timing-function: ease;
        animation-fill-mode: forwards;
        animation-iteration-count: alternate;
        }
  }

.support-lineup {
  padding: 0rem 0px 0px;
  text-align: center;
  background-color: #fff;
}

.p-type__headline {
  font-size: 6rem;
  font-weight: bold;
  margin-bottom: 3.25rem;
  padding-top: 12rem;
  letter-spacing: 0px;
}

@media screen and (min-width: 560px) {
  .p-type__headline {
    padding-top: 18rem;
  }
}

.p-support__lineup-list {
  flex: 0 0 100%;
  max-width: 100%;
  position: relative;
  color: #fff;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

@media screen and (min-width: 560px) {
  .p-support__lineup-list {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media screen and (min-width: 960px) {
  .p-support__lineup-list {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

.p-support__lineup-list a {
  padding: 5rem 0px;
  background-size: cover;
  background-color: #000;
  background-position: center;
  overflow: hidden;
}

@media screen and (min-width: 560px) {
 .p-support__lineup-list a{
 padding:12rem 0px;
 position: relative;
 overflow: hidden;
 
 }
 .p-support__lineup-list a:hover::after{
 opacity: .8;
 transform: scale(1.1);
 }
 }

 @media screen and (min-width: 960px) {
 .p-support__lineup-list a{
 padding:13rem 0px;
 max-height: 500px;
 }
 }
 @media screen and (min-width: 1441px) {
 .p-support__lineup-list a{
 padding:17.3rem 0px;
 max-height: 580px;
 }
 }
 
.p-support__lineup-list a div {
  position: relative;
  z-index: 1;
}

.p-support__lineup-list a::after {
  transition: .5s;
  content: '';
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  background-size: cover;
}

.p-support__lineup-headline {
  font-weight: bold;
  font-size: 3rem;
  margin-bottom: 2rem;
}

@media screen and (min-width: 560px) {
    .p-support__lineup-headline{
        margin-bottom: 4rem;
    }
}
.p-support__lineup-body{
    padding:0px 15px;
    line-height: 28px;
}
.p-support__lineup-list .material-symbols-outlined{
    background-color: #fff;
    border-radius: 50%;
    max-width: 60px;
    width: 100%;
    height: 60px;
    line-height: 60px;
    color:#4F4F4F;
    margin:0 auto;
    text-align: center;
    margin-top: 4.5rem;
    background-size:cover;
    background-repeat: no-repeat;
    background-position: center;
    font-weight: 200;
    transition:.5s;
}
.p-support__lineup-list a:hover .material-symbols-outlined{
    transform: scale(1.15);
}
.u-suppot__mfp a::after{
    background-image:url("/wp-content/themes/MJE/images/lineup-mfp.webp");
}
.u-suppot__phone a::after{
    background-image:url("/wp-content/themes/MJE/images/lineup-phone.webp");
}
.u-suppot__utm a::after{
    background-image:url("/wp-content/themes/MJE/images/lineup-utm.webp");
}
.u-suppot__server a::after{
    background-image:url("/wp-content/themes/MJE/images/lineup-server.webp");
}

/****************************
LINEUP 取扱い商材
****************************/
.lineup-intro{
    padding:0rem 0px 3rem;
}
@media screen and (min-width: 560px) {
    .lineup-intro{
        padding:0rem 0px 9rem;
    }
}
.lineup01{
    padding-bottom: 10rem;
    
}
@media screen and (min-width: 560px) {
    .lineup01{
    padding-bottom: 18rem;
}
}
#mfp,
#phone,
#server,
#utm{
    scroll-margin-top: 5rem;
}
/* #mfp::before,
#phone::before,
#server::before,
#utm::before{
    display: block;
    height: 10rem;
    margin-top: -10rem;
    content: "";
} */
.lineup02{
    padding-bottom:0px;
}
.lineup03,
.lineup04{
    padding-bottom: 10rem;
}
@media screen and (min-width: 560px) {
    .lineup02{
        padding-bottom: 16rem;
    }
.lineup03,.lineup04{
    padding-bottom: 16rem;
}
}
.page-id-1896{
    background-color: #F0F1F3;
}
.c-intro__headline{
    padding:3rem 0px 5rem;
}

.p-lineup__maker{
    background-color: #fff;
    text-align: center;
    padding-bottom: 4rem;
    margin-top:5rem;
}
.p-lineup__image{
    margin-bottom: 1.8rem;
}
.p-lineup__wrap{
    margin-top: 60px;
    margin-bottom: 60px;
}
@media screen and (min-width: 560px) {
    .p-lineup__wrap{
    margin-top: 80px;
    margin-bottom: 80px;
}
}
@media screen and (min-width: 960px) {
.p-lineup__wrap{
    margin-top: 100px;
    margin-bottom: 100px;
}
}
.p-lineup__head-block{
    position: relative;
}
.p-lineup__head-block .p-support__name{
    display: inline-block;
    background: #F0F1F3;
    z-index: 2;
    position: relative;
    padding-right: 10px;
    margin-bottom: 1rem;
}
@media screen and (min-width: 560px) {
.p-lineup__head-block .p-support__name{
    padding-right: 15px;
}
}
.p-lineup__head-block::after{
    content:'';
    max-width: 100%;
    width: 100%;
    position: absolute;
    right: 0px;
    top:30%;
    background-color: #A0A0A0;
    height: 1px;
}
.p-lineup__headline{
    font-size:1.6rem;
}
.p-lineup__headline .material-symbols-outlined{
    margin-left: 0.5rem;
    font-size: 1.4rem;
}
.p-lineup__headline a{
    text-decoration: underline;
}
.p-lineup__headline a:hover{
    color:#F5485C;
}
.p-lineup__series{
    font-size: 1.4rem;
    margin-top: .5rem;
    margin-bottom: 2rem;
}
.c-lineup__body{
    line-height: 28px;
    margin-bottom: 3.5rem;
    margin-top: 3rem;
}
.u-lineup__body{
    margin-bottom: 5rem;
}
.p-support__inner{
    position: relative;
}
.p-support__inner a,
.p-lineup__inner a{
    position: relative;
    overflow: hidden;
    padding:12.4rem 0px;
    text-align: center;
    color:#fff;
    /* background-color: #000; */
    display: flex;
    justify-content: center;
    align-items: center;
}
.p-support__inner a div,
.p-lineup__inner a div{
    position: relative;
    z-index: 2;
}
.p-support__inner a::after{
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    background-image:url("/wp-content/themes/MJE/images/support-bg-sp.webp");
    background-size:cover;
    z-index: -1;
    background-position: center;
    transition: .5s;
	background-repeat:no-repeat;
}
@media screen and (min-width: 560px) {
    .p-support__inner a::after{
        background-image:url("/wp-content/themes/MJE/images/top-support.webp");
    }
}
.p-support__1column::after{
	background-image:url("/wp-content/themes/MJE/images/support-link.webp")!important;
}
.p-support__headline{
    font-size: 3rem;
    margin-bottom: 2rem;
}
.p-support__body{
    margin-bottom: 3rem;
    line-height: 28px;
}
.p-support__icon{
    background-color: #fff;
    max-width: 60px;
    width: 100%;
    margin:0 auto;
    height: 60px;
    line-height: 60px;
    color:#4F4F4F;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 200;
    transition: .5s;
}
.p-support__inner a:hover .p-support__icon,
.p-lineup__inner a:hover .p-support__icon{
    transform: scale(1.15);
}
.p-support__icon .material-symbols-outlined{
    color:#4F4F4F;
    font-weight: 200;
}
.p-headline__caption{
    font-size: 1.5rem;
	font-weight: normal;
	line-height: 1;
}
.p-lineup__mfp{
    max-width: 70%;
    margin: 0 auto;
}
@media screen and (min-width: 560px) {
    .p-lineup__mfp{
        max-width: 100%;
        margin: 0px;
    }
}
.p-copy__block{
    margin-bottom: 40px;
}
@media screen and (min-width: 560px) {
.p-copy__block{
    margin-bottom: 0px;
    flex:0 0 46.75%;
    max-width: 46.75%;
}
.p-copy__image{
    flex:0 0 50.5%;
    max-width: 50.5%;
}
}
/****************************
お問い合わせ
****************************/
.p-contact__title{
    margin-bottom:2rem;
    text-align: center;
    margin-top: 2.5rem;
}
.p-contact__block{
    margin-bottom: 4rem;
}
@media screen and (min-width: 560px) {
    .p-contact__title{
        margin-top: 0px;
    }
.p-contact__block{
    flex:0 0 45.24%;
    max-width: 45.24%;
    margin-bottom: 0px;
}
.p-contact__form{
    flex:0 0 48.414%;
    max-width: 48.414%;
}
}
.p-sp__inner02{
    display: flex;
	align-items: baseline;
    gap:5px;
}
@media screen and (min-width: 560px) {
    .p-sp__inner02{
        gap:11px;
    }
}
.p-sp__inner02 .col-2{
    margin-bottom: 3rem;
}
.p-number__headline{
    color: #F5485C;
    font-size: 1.6rem;
    font-weight: 600;
}
.p-contact__point-lead{
    line-height: 1.6;
}
.p-contact__lead{
    font-size: 1.9rem;
    font-weight: bold;
    margin-bottom: 3rem;
}
.p-contact__headline{
    font-size: 1.9rem;
    font-weight: bold;
    margin-bottom: 2rem;
}
.p-contact__body{
    font-size: 1.4rem;
    margin-bottom: 2.5rem;
}
.p-contact__block-inner{
    border: 1px solid #A0A0A0;
    margin-bottom: 4rem;
    border-radius: 14px;
    padding:15px;
}
@media screen and (min-width: 560px) {
    .p-contact__block-inner{
        padding:0px;
    }
}
@media screen and (min-width: 560px) {
.p-contact__point{
    max-width: 492px;
    margin:0 auto;
    padding:40px 16px;
}
}
@media screen and (min-width: 1440px) {
    .p-contact__point{
        padding:40px 0px 25px;
    }
}
.p-contact__point .col-2{
    background-color: #F0F1F3;
    padding: 10px 8px;
    margin-bottom: 10px;
    border-radius: 6px;
        flex: 0 0 48.5%;
    max-width: 48.5%;
}
@media screen and (min-width: 560px) {
    .p-contact__point .col-2{
        padding: 12px 15px;
    margin-bottom: 15px;
    }
}
.p-contact__tel__body{
    font-weight: bold;
    font-size:1.9rem
}
.p-contact__tel-link{
    font-family: "azo-sans-web", sans-serif;
    font-size:4.8rem;
    line-height: 1;
}
.p-contact__tel-link .material-symbols-outlined{
    font-size: 4rem;
    font-variation-settings: 'FILL' 1;
    color:#2D2D2D;
    vertical-align: inherit;
    margin-right: 5px;
}
@media screen and (min-width: 560px) {
.p-contact__tel-link{
    font-size:6rem;
}
.p-contact__tel-link .material-symbols-outlined{
    font-size: 4.5rem;
}
}
.p-contact__tel-captipn{
    font-size: 1.4rem;
}
.p-common__title{
    font-size: 3.8rem;
}
.c-title__english{
    color: #f5485c;
    font-size: 2rem;
}
.p-contact__select {
    margin-bottom: 8px;
}

.c-contact__body {
    max-width: 420px;
    margin: 4rem auto 0px;
}

.contact-entrance__link {
    background: #fff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.4rem 0 3rem;
    border-radius: 10px;
}

.contact-content{
    padding:3rem 0px 15rem;
}
@media screen and (min-width: 560px) {
    .contact-content{
        padding:3rem 0px 30rem;
    }
}


.contact-entrance__link>div {
    width: 100%;
    padding: 0 16px;
}

.contact-entrance__link h3 {
    font-size: 1.8rem;
    padding: 1.7rem 0;
    font-weight: bold;
}

.contact-entrance__link .p-common__link {
    max-width: 230px;
    margin: 2rem auto 0px;
    line-height: 54px;
    height: 54px;
}

.contact-ttl {
    font-size: 3rem;
    color: #2E3642;
    text-align: center;
    margin-bottom: 3.5rem;
    font-weight: bold;
}

.contact-inner .common-link,
.contact-done .common-link {
    height: 60px;
    line-height: 60px;
    margin-top: 60px;
}

.contact-table {
    width: 100%;
}

.contact-form__inner {
    margin-bottom: 3rem;
    border-bottom: 1px solid #a8acba;
}

.contact-form__01,
.contact-form__02 {
    display: block;
}

.contact-form__name {
    margin-right: 1rem;
    width: 100%;
    font-weight: normal;
    font-size: 1.6rem;
    text-align: left;
    display: flex;
    align-items: center;
}
.contact-form__required {
    display: inline-block;
    background-color: #F5485C;
    padding: 0 0.35em;
    font-size: 1.2rem;
    line-height: 1.6;
    margin-left: 6px;
    border-radius: 2px;
    color: #fff;
}

.contact-table td {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    width: 100%;
    display: block;
    padding: 0px 0 20px;
}

.contact-table input,
.contact-table textarea,
.contact-table select {
    width: 100%;
    background-color: #F8F8FB;
    border: none;
    padding: 14px 10px;
    border-radius: 4px;
    border: 1px solid #A0A0A0;
}

.contact-common__body {
    text-align: center;
    margin-bottom: 30px;
}

.contact-form__headline {
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    line-height: 1;
    padding: 20px 0;
    margin-bottom: 20px;
    position: relative;
}

.contact-form__headline::before {
    content: '';
    background-color: #fff;
    height: 2px;
    max-width: 320px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.contact-form__headline::after {
    content: '';
    background-color: #fff;
    height: 2px;
    max-width: 320px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.form-content__block {
    border-bottom: 1px solid #a8acba;
}

.form-content__block:last-child {
    border-bottom: none;
}

@media screen and (min-width: 560px) {
    .form-content__block {
        display: flex;
        justify-content: space-between;
    }
}

.form-content__headline {
    font-weight: bold;
    position: relative;
    margin-right: 1rem;
    max-width: 244px;
    width: 100%;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    font-weight: normal;
    font-size: 1.4rem;
    text-align: left;
    padding: 16px 0;
    display: block;
}

.form-content__body {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 816px;
    width: 100%;
    display: block;
    padding: 0px 0 32px;
}

@media screen and (min-width: 560px) {
    .form-content__headline {
        display: inline;
        padding: 32px 0;
        flex: 0 0 22.4%;
    }

    .form-content__body {
        padding: 32px 0;
        flex: 0 0 75%;
    }
}

.require {
    background-color: #ffd800;
    padding: 0.5em;
    font-size: 12px;
    margin-left: 10px;
    vertical-align: text-top;
}

.form-content__body input,
.form-content__body select,
.form-content__body option,
.form-content__body textarea {
    width: 100%;
    background-color: #f2f4fa;
    border: none;
    padding: 14px 10px;
    border-radius: 4px;
    border: 1px solid #a8acba;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.form-content__body textarea {
    min-height: 205px;
}

.form-content__body input placeholder {
    opacity: 0.5;
}

.form-content__body select placeholder {
    opacity: 0.8;
}
::placeholder {
  color: rgba(0, 0, 0, 0.3); /* 黒を30%の透過で指定 → 薄めのグレー */
}
.form-inner {
    max-width: 800px;
    padding: 0 15px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.form-content__button {
    position: relative;
}

.form-content__button::before {
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    right: 15px;
    transform: rotate(35deg);
    width: 10px;
    height: 1px;
    background-color: #fff;
    z-index: 3;
    transition: .5s;
}

.form-content__button::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 30px;
    height: 1px;
    background-color: #fff;
    z-index: 3;
    transition: .5s;
}

.u-back__button .u-back__link::before {
    background: #fff;
}

.u-back__button .u-back__link:hover::before {
    transform-origin: right top;
}
.u-back__button .u-back__link:hover span{
	color:#A8ABBA;
}
.form-content__button.u-back__button::before {
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    left: 15px;
    transform: rotate(-35deg);
    width: 10px;
    height: 1px;
    background-color: #fff;
    z-index: 3;
    transition: .5s;
}

.form-content__button.u-back__button::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    width: 30px;
    height: 1px;
    background-color: #fff;
    z-index: 3;
    transition: .5s;
}

.form-content__button.u-back__button:hover::before,
.form-content__button.u-back__button:hover::after {
    background-color: #A8ABBA;
}

.form-content__body input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    height: 20px;
    width: 20px;
    vertical-align: -0.8rem;
    transition: all .15s ease-out 0s;
    color: #3C3D3C;
    cursor: pointer;
    display: inline-block;
    margin: .4rem;
    outline: none;
    background-color: #ECECEC;
    border: 1px solid #D8DDE4;
    padding: 0 9px;
}

.form-content__body>div {
    display: flex;
}

@media screen and (max-width:559px) {
    .form-content__body .c-contact__radio {
        display: block;
    }
}

.form-content__body>div .checkbox-parts {
    position: relative;
    margin-left: 10px;
}

.contact-pp {
    margin-left: auto;
    margin-right: auto;
    max-width: 670px;
    padding: 0 15px;
    color: #3e3a39;
}

.form-content__ttl {
    font-size: 18px;
    margin-bottom: 10px;
    color: #fff;
}

.contact-pp__inner {
    height: 185px;
    overflow: auto;
    border: 1px solid #c3c3c3;
    background-color: #ffffff;
    padding: 0.5em 1em;
    font-size: 0.75rem;
}

.contact-pp__body:not(:last-child) {
    margin-bottom: 1.5em;
}



.contact-agree__body a {
    text-decoration: underline;
    color: #CB001A;
    display: inline;
}

.contact-table textarea {
    min-height: 140px;
}

/* IE */
input:-ms-input-placeholder {
    color: #ACB1B9;
}

/* Edge */
input::-ms-input-placeholder {
    color: #ACB1B9;
}

.contact-agreement h3 {
    font-size: 1.6rem;
    font-weight: normal;
}

.contact-agreement__inner {
    padding: 14px 0 32px;
}

@media screen and (min-width: 560px) {
    .contact-agreement__inner {
        padding: 14px 0 60px;
        display: flex;
    }
}

.contact-privacy {
    text-decoration: underline;
    color: #F5485C;
    display: inline;
}
.mw_wp_form .error{
    color: #F5485C!important;
}
@media screen and (min-width: 560px) {
    .contact-privacy:hover {
        opacity: 0.6;
    }
}

.mw_wp_form .vertical-item {
    margin-bottom: 10px;
}

.mwform-checkbox-field input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    height: 20px;
    width: 20px;
    vertical-align: -0.8rem;
    transition: all .15s ease-out 0s;
    color: #3C3D3C;
    cursor: pointer;
    display: inline-block;
    margin: .4rem;
    outline: none;
    background-color: #ECECEC;
    border: 1px solid #D8DDE4;
    padding: 0 9px;
}

input[type=checkbox]::before,
input[type=checkbox]::after {
    position: absolute;
    content: "";
    background: #fff;
    transition: all .2s ease-in-out;
}

input[type=checkbox]::before {
    left: 2px;
    top: 6px;
    width: 0;
    height: 2px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}

input[type=checkbox]::after {
    right: 9px;
    bottom: 3px;
    width: 2px;
    height: 0;
    transform: rotate(40deg);
    -webkit-transform: rotate(40deg);
    -moz-transform: rotate(40deg);
    -ms-transform: rotate(40deg);
    -o-transform: rotate(40deg);
}

input[type=checkbox]:checked {
    background-color: #0d223f;
}

input[type=checkbox]:checked::before {
    left: 2px;
    top: 11px;
    width: 6px;
    height: 2px;
}

input[type=checkbox]:checked::after {
    right: 6px;
    bottom: 2px;
    width: 2px;
    height: 14px;
}

input[type=checkbox]:indeterminate:before,
input[type=checkbox]:indeterminate:after {
    width: 7px;
    height: 2px;
    transform: rotate(0);
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
}

input[type=checkbox]:indeterminate:before {
    left: 1px;
    top: 7px;
}

input[type=checkbox]:indeterminate:after {
    right: 6px;
    bottom: 2px;
}

input[type=submit] {
    cursor: pointer;
    outline: none;
}

.mw_wp_form .p-common__link {
    pointer-events: auto;
    margin: 0 auto;
    height: 68px;
    line-height: 68px;
    display: block;
    border: none;
    color: #fff;
    border-radius: 8px;
    background: linear-gradient(#f67046 0%, #f5485c 100%);
    font-weight: bold;
    font-size: 19px;
    max-width: 168px;
}
.mw_wp_form .p-common__link:hover{
    transform: translate(0, -3px);
    box-shadow: 0px 40px 30px 0 rgba(0,0,0,.2);
}
.contact-conversion__btn {
    position: relative;
    max-width: 630px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}

.mw_wp_form_input .contact-back__link {
    display: none;
}

.contact-submit__link,
.contact-back__link {
    width: 100%;
    max-width: 250px;
    margin: 4rem auto 0px;
    position: relative;
}


@media screen and (min-width: 560px) {
    .c-contact__radio {
        display: flex !important;
        justify-content: space-between;
        flex-wrap: wrap;
    }
}

@media screen and (min-width: 560px) {
    .mwform-radio-field {
        flex: 0 0 48%;
        max-width: 48%;
    }
}

.mwform-radio-field label {
    display: flex;
    align-items: center;
    padding: 5px 0px;
}

@media screen and (min-width: 560px) {
    .mwform-radio-field label {
        padding: 0px 0px;
    }
}

.mwform-radio-field label .content {
    max-width: 10%;
}

.mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0px !important;
}

.check-content table th {
    background-color: #f2f4fa;
    padding: 15px;
    border: none;
}

.check-content .contact-table td {
    padding: 15px;
    font-size: 1.5rem;
}

.check-content .contact-agreement {
    display: none;
}

.mw_wp_form_confirm .contact-form__02 {
    display: none;
}

.check-content {
    margin-top: 3.2rem;
}

.check-content .common-link {
    background-image: linear-gradient(to right, rgba(203, 0, 26, 1) 50%, transparent 50%);
    color: #fff;
}

.check-content .common-link:hover {
    color: #CB001A;
    background-position: -100% 100%;
}

.check-content .contact-form__02 {
    border-bottom: 1px solid #D8DDE4;
}

.check-content tr:first-child {
    border-top: 1px solid #D8DDE4;
}

.check-content tr:nth-child(5) {
    display: none;
}

.p-contact__list {
    background-color: #F1F4F9;
    padding: 15px;
    border-radius: 10px;
}

@media screen and (min-width: 560px) {
    .p-contact__list {
        padding: 20px;
    }
}

@media screen and (min-width: 960px) {
    .p-contact__list {
        padding: 30px;
    }
}

.contact_attention{
	border: 1px #0d223f solid;
    padding: 20px;
	margin: 0 0 30px 0;
    width: 100%;
    max-width: 700px;
}


.contact_attention_ttl{
	font-weight:bold;
}
/****************************
thanks
****************************/
.contact-thanks{
    border:1px solid #A0A0A0;
    border-radius:10px;
    padding:5rem 15px;
    margin-bottom: 10rem;
    margin-top: 10rem;
    margin-left: 16px;
    margin-right: 16px;
    max-width: 1056px;
    margin-top: 1rem;
}
@media screen and (min-width: 560px) {
    .contact-thanks{
        padding:9rem 15px;
        margin-bottom: 28rem;
        margin-left: auto;
        margin-right: auto;
    }
}
.p-contact__thanks-inner{
    text-align: center;
    margin:0 auto;
}
.p-thanks__headline{
    font-weight: bold;
    font-size: 2.8rem;
    margin-bottom: 1.5rem;
}
@media screen and (min-width: 560px) {
    .p-thanks__headline{
        font-size: 3.8rem;
    }
}
.p-thanks__tel-inner{
    margin-top: 2.5rem;
}
.p-thanks__tel-inner a{
    font-weight: bold;
    line-height: 1.75;
    font-family: "azo-sans-web", sans-serif;
font-weight: 500;
font-style: normal;
}
.p-thanks__tel{
    font-size: 3.8rem;
}
.p-thanks__tel .material-icons{
    color:#2D2D2D;
    margin-right: 3px;
    font-size:38px;
    vertical-align: middle;
}
.contents-image {
    text-align: center;
}
.c-top-services {
    --c-top-services__sticky-bg-width: 80%;
    --c-top-services__sticky-bg-aspect: 1.8333;
    --c-top-services__sticky-bg-border-radius: 352px;
    position: relative;
    transition: background-color 0.5s ease;
}

@media (min-width: 64em) {
    .c-top-services {
        --c-top-services__sticky-bg-width: 48%;
    }
}

.c-top-services__body {
    overflow: visible;
}

.c-top-services__sticky {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    position: sticky;
    top: 0;
}

.c-top-services__sticky-bg {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    border-radius: var(--c-top-services__sticky-bg-border-radius);
    width: var(--c-top-services__sticky-bg-width);
    transition: width 0.1s, height 0.1s, border-radius 0.1s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.c-top-services__heading {
    color: black;
    font-size: 2rem;
    text-align: center;
    white-space: nowrap;
}

.l-backup__description {
    padding: 2rem;
    transition: opacity 0.8s ease;
    opacity: 0;
    position: relative;
    z-index: 2;
}

.l-backup__description.visible {
    opacity: 1;
}

.l-backup__title {
    width: 100%;
}

.l-top__headline, .l-top__head-en {
    margin: 0;
}
.mv-wrapper {
  scroll-snap-type: y mandatory;
  background-color: #071019;
  overflow-x: hidden;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) and (max-width: 1536px) {
.mv-wrapper {
     scroll-snap-type: none;
}
}
@media (max-width: 768px) {
	.mv-wrapper {
		overflow-x: visible;
	}
}
.mv-slide {
  height: 100svh;
  scroll-snap-align: start;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .mv-slide {
	  min-height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
  }
	.mv-slide:last-child {
    height: auto !important;
    min-height: calc(var(--vh, 1vh) * 100);
    padding-bottom: 180px; /* 内容量によって調整。40〜100pxで様子見 */
  }
}
.mv-slide > div{
    width: 100%;
    color:#fff;
}
.mv-slide .txtArea{
    opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
.txtArea{
  width: 100%;
  color: #fff;
  /* ここは消す（親に透明化を掛けない） */
  /* opacity: 0; */
  /* transform: translateY(50px); */
  /* transition: opacity 0.6s ease, transform 0.6s ease; */
}

/* 子要素だけを初期非表示（CTAは除外） */
/* .mv-slide .txtArea > *:not(.l-contact__button){
  opacity: 0;
  transform: translateY(50px);
  transition: opacity .55s ease, transform .55s ease;
} */

/* 表示状態：子要素だけを出す */
/* .mv-slide .txtArea.is-visible > *:not(.l-contact__button){
  opacity: 1;
  transform: translateY(0);
} */
/* .mv-slide .txtArea > .l-contact__button{
    opacity: 1 !important;
  transform: none !important;
  transition: none !important;
      max-width: 1230px;
    width: 100%;
} */

@media screen and (min-width: 560px) and (max-width: 1440px) {
    .mv-slide .txtArea > .l-contact__button{
                margin: 0px auto;
        padding: 0px 100px;
    }
    .mv-slide{
        min-height: 100svh;
        max-height: 100svh;
        overflow: clip;
    }
}
@supports not (overflow: clip){
  .mv-slide:nth-of-type(2),
  .mv-slide:nth-of-type(3){
    overflow: hidden;
  }
}
@media screen and (min-width: 1441px) {
    .mv-slide .txtArea > .l-contact__button{
         margin: 0 auto;
        padding: 0px 16px;
    }
}
@media (max-width: 767px) {
  .txtArea {
/* 	  padding: 0px; */
    opacity: 1 !important;
    transform: none !important;
  }
  .mv-slide:nth-of-type(3) .txtArea {
    padding-top: 60px;
  }
}
.p-firstview__button{
    max-width: 1230px;
    width: 100%;
    margin:0 auto;
    padding:0px 30px;
}
@media screen and (min-width: 560px) and (max-width: 1440px) {
    .p-firstview__button{
        padding:0px 100px;
    }
}
@media screen and (min-width: 1441px) {
.p-firstview__button{
    padding:0px 16px;
}
}
.mv-background {
  position: fixed;
  top: 0;
  left: 0;
   inset: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}
.mv-background > *{
    position: absolute;
  inset: 0;
}
.mv-slide:first-of-type{
  min-height: calc(100svh + 1px);
}
.bg-slide {
  position: absolute;
  top: 0;
  left: 0;
  inset:0;
  width: 100%;
  height: 100%;
  object-fit: cover;
opacity: 0;
  visibility: hidden;   /* ← autoAlpha対応のため追加 */
  transition: none;     /* ← CSS側のtransitionは完全に消す */
}

/* .bg-slide.is-visible {
  opacity: 1;
} */
.p-circle-expand {
  position: relative;
  /* height: 100vh; */
  background-color: #071019;
  overflow: hidden;
}

.p-circle-expand__inner {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
}

.p-circle-expand__circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 452px;
  height: 452px;
  min-width: 452px;
  min-height: 452px;
  background-color: #fff;
  border-radius: 50%;
  z-index: 1;
}

.p-circle-expand__text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
	width:100%;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .p-circle-expand__circle {
    width: 160px;
    height: 160px;
    min-width: 160px;
    min-height: 160px;
  }
	.p-circle-expand__text {
		width:100%;
	}
/*   .l-top__headline {
    font-size: 1.5rem;
  }

  .l-top__head-en {
    font-size: 1rem;
  } */
}
.l-top__sp-list02{
	display:flex;
	align-items:center;
	gap:5px;
}