@charset "UTF-8";

/*===================================================
  RESET
====================================================*/
.wrap:not(.page--home) {
    padding: 0;
}
footer.footer {
    display: none;
}
img{pointer-events: none;}


/*===================================================
  OP:LOADER
====================================================*/
.loader {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #f2d9d7;
    z-index: 99999;
}
/*===================================================
  .delighter
====================================================*/
.delighter {
    transition: 1s ease 0.3s;
    transform: translate(0, 30px);
    opacity: 0;
}
.delighter.started{
    transform: translate(0, 0);
    opacity: 1;
}
    

/*===================================================
  
====================================================*/
.contentList {
    width: 50%;
}
.contentList li {
    font-size: 18px;
    position: relative;
    line-height: 1.6;
}
.contentList li:has(.point) {
    padding-left: 15px;
}
.contentList li .point{
    position: absolute;
    left: -8px;
}
.contentList li .attention {
    display: block;
    font-size: 13px;
    padding-top: 3px;
    text-indent: -0.5em;
}

@media screen and (max-width: 960px){
.loader {
    height: 150vh;
}

.contentList {
    width: 100%;
}
.contentList li {
    font-size: 14px;
}
.contentList li:has(.point) {
    padding-left: 16px;
}

.contentList li .point {
    left: 0px;
}
.contentList li .attention {
    font-size: 10px;
}
}

/*===================================================
  BG
====================================================*/
.bgBox{
}

.bgBox .lattice {
    position: absolute;
    width: 57%;
    right: 0;
    top: -25px;
    transition: 0.5s ease;
    max-width: 1000px;
}

.headerFix .bgBox .lattice{
}

@media screen and (max-width: 960px){
.bgBox .lattice {
    width: 90%;
    top: -1px;
    right: -18%;
}

}

/*===================================================
  visual
====================================================*/
.nav li a {
    color: #404040;
}

.visual {
    position: relative;
    height: 100vh;
    height: 100svh;
    min-height: 650px;
    max-height: 900px;
    background: linear-gradient(00deg, #f2d9d7, #f5c7c3);
}

.visual .heroView {
    height: 100%;
    position: relative;
    padding: 50px 3%;
}

.visual .heroView::before {
    content: '';
    display: block;
    width: min(600px, 40vw);
    height: min(600px, 40vw);
    position: absolute;
    border-radius: 50%;
    background: #f8eceb;
    left: 0;
    bottom: 0;
    transform: translate(-50%, 62%);
}

.heroviewInner {
    display: flex;
    max-width: 1360px;
    height: 100%;
    margin: 0 auto;
    justify-content: space-between;
    align-items: flex-end;
}

.visual .visualDetail {
    width: 32%;
    display: flex;
    justify-content: center;
    padding: 0 3% 60px;
}

.visual .visualDetail .inner {
    max-width: 330px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.visual .logoBubble{
    width: 100%;
}
.visual .logoMikami {
    width: 100%;
    margin-bottom: 40px;
}
.visual .cross{
    width: 64px;
    height: 32px;
    position: relative;
}
.visual .cross:before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #af4a64;
    transform: translate(-50%, -50%) rotate(20deg);
}
.visual .cross:after{
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #af4a64;
    transform: translate(-50%, -50%) rotate(-20deg);
}


.visual .keyvisual {
    width: 64%;
    height: calc(100% - 75px);
    position: relative;
}
.visual .keyvisual .ph {
    position: relative;
    height: 100%;
    border-radius: 100px 10px 100px 10px;
    overflow: hidden;
    box-shadow: -14px 14px 0 #f8eceb;
}

.visual .keyvisual .ph img {
    object-fit: cover;
    height: 100%;
}

.visual .keyvisual .lead {
    font-size: 19px;
    font-weight: 500;
    line-height: 1.6em;
    letter-spacing: 0.18em;
    color: #f8eceb;
    width: fit-content;
    position: relative;
    margin-top: 8px;
    z-index: 1;
    padding: 1px 4px;
}

.visual .keyvisual .lead::before {
    content: '';
    display: block;
    width: 0;
    height: 100%;
    background: #af4a64;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    transition: 0.3s 3.1s;
}

.loaded .visual .keyvisual .lead::before {
    width: 100%;
}

.visual .keyvisual .lead .large {
    font-size: 1.15em;
}

.visual .keyvisual .inner {
    position: absolute;
    bottom: 50px;
    left: -40px;
    line-height: 2.4;
}

.btnStart {
    width: 100%;
}

.btnStart a {
    background: #af4a64;
    color: #ffffff;
    display: block;
    width: 100%;
    text-align: center;
    padding: 30px;
    border-radius: 100px;
    letter-spacing: 0.15em;
    box-shadow: 4px 4px 0 #4715152b;
}

.btnStart a:hover {
    color: #af4a64;
    background: #fff;
    opacity: 1;
}

.bgScroll {
    position: absolute;
    height: 100vh;
    width: 100%;
    background: url(/lp/mikamiyua_vJ497NZy/images/bg_top_bubble.png);
    top: 0;
    left: 0;
    background-size: 1300px;
    background-repeat: repeat-x;
    background-position: 0% 27%;
    animation: bgscroll 20s linear infinite;
}

@keyframes bgscroll {
 0% {background-position: 0 27%;}
 100% {background-position: -1300px 27%;}
}




/* .loaded */
.heroviewInner {
    filter: blur(30px) opacity(0);
    transition: 1s ease 2.1s;
}
.loaded .heroviewInner {
    filter: blur(0) opacity(1);

}




/* SP */
@media screen and (max-width: 960px){
.visual {
    max-height: none;
    min-height: 125vw;
}
.heroviewInner {
    align-items: center;
    flex-flow: column-reverse;
    justify-content: center;
}
.visual .heroView {
    padding: 65px 6% 50px;
}
.visual .visualDetail {
    width: 100%;
    padding: 0;
}
.visual .visualDetail .inner {
    width: 55%;
    gap: 4px;
}
.visual .logoBubble {
    width: 92%;
}
.visual .cross {
    width: 40px;
}
.visual .cross:before,
.visual .cross:after {
    height: 1px;
}

.visual .keyvisual .ph {
    border-radius: 60px 6px;
    box-shadow: -8px 8px 0 #f8eceb;
}

.visual .keyvisual .inner {
    left: -10px;
    bottom: 14px;
}
.visual .keyvisual .lead {
    font-size: 2.6vw;
    margin-top: 0.8em;
}

.visual .logoMikami {
    width: 92%;
    margin-bottom: 30px;
}

.visual .keyvisual {
    width: 100%;
    height: 63vw;
    margin-bottom: 50px;
}

.bgScroll {
    background-size: 450px;
    background-position: 0% 51%;
    animation: bgscroll 12s linear infinite;
}

@keyframes bgscroll {
 0% {background-position: 0 51%;}
 100% {background-position: -450px 51%;}
}


.btnStart a {
    padding: 1.6em;
    font-size: min(27px, 3.5vw);
}

.visual .heroView::before {
    width: min(600px, 58vw);
    height: min(600px, 58vw);
    transform: translate(-62%, 4%);
}

}

/*===================================================
  visual animation
====================================================*/

.scrolled .visual .action{
    transition-delay: 0s;
}

/* act1 */
.action{
    opacity: 0;
    transition: 1s ease 2s;
}
.loaded .action{
    opacity: 1;
}
.headerFix .action{

}

/* act1 */
.act1{}
.loaded .act1{}
.headerFix .act1{}

/* act2 */
.act2{}
.loaded .act2{}
.headerFix .act2{}

/* act3 */
.act3{}
.loaded .act3{}
.headerFix .act3{}

/* act4 */
.act4{}
.loaded .act4{}
.headerFix .act4{}




/*===================================================
  INTRO
====================================================*/
.introBox{

}
.introBox .contentBox {
    padding-top: 140px;
    position: relative;
    gap: 0;
}
.introBox .contentBox::before {
    content: '';
    display: block;
    width: 100%;
    background: #f8eceb;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    aspect-ratio: 1/1;
    border-radius: 50%;
    transition: 0.9s 0.6s;
    transform: scale(0);
}
.introBox.started .contentBox::before {
    transform: scale(1);
}

.heartWrap .heart {
    position: absolute;
    width: 200px;
    right: -30px;
    top: -30px;
}
.heartWrap .heart:last-child {
    left: 0;
    bottom: -620px;
    top: auto;
    width: 150px;
}

.introBox h3 {
    font-size: 40px;
    text-align: center;
    margin: 0;
    font-family: "Libre Baskerville", serif;
    font-weight: 400;
    letter-spacing: 0.15em;
    margin-bottom: 35px;
}
.introBox .about_logo {
    width: 46%;
    margin: 0 auto 50px;
    line-height: 0;
}

.introBox .leadList {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.introBox .leadList li{
}
.introBox .leadList li .txt {
    font-size: min(23px, 1.8vw);
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.8;
}

@media screen and (max-width: 960px){
.introBox {
    padding-bottom: 0;
}

.introBox .contentBox {
    padding-top: 10vw;
    width: 95%;
}

.introBox .contentInner {
}

.introBox h3 {
    font-size: 15px;
    margin-bottom: 12px;
}

.introBox .about_logo {
    margin-bottom: 20px;
    max-width: 300px;
}
.introBox .leadList {
    gap: 12px;
}
.introBox .leadList li .txt {
    font-size: min(20px, 2.85vw);
    letter-spacing: 0;
}

.heartWrap .heart {
    width: 24%;
    right: -10%;
    top: -18vw;
}

.heartWrap .heart:last-child {
    bottom: -310px;
    width: 18%;
}

}

/*===================================================
  MEMBER
====================================================*/
.memberBox {
    padding: 0 0 140px;
}
.memberBox .contentBox {
    max-width: 100%;
    width: 100%;
}
.memberBox .contentInner {
    position: relative;
    height: 385px;
}
.memberBox .memberList{
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    width: 5320px;
    animation: slideMem 36s linear infinite;
}
.memberBox .memberList li {
    width: 380px;
    padding: 0 25px;
}

.memberBox .memberList li .ph {
    border-radius: 70px 0 70px 0;
    overflow: hidden;
    box-shadow: 10px 10px 0 #4715152b;
}

.memberBox .memberList li img{
    transition: 0.3s ease;
}

@keyframes slideMem {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-2660px);
  }
}


/* PC */
@media screen and (min-width: 960px){
.memberBox .memberList li a:hover{
    filter: brightness(1.1);
}
.memberBox .memberList li a:hover img{
    transform: scale(1.1);
}
}

/* SP */
@media screen and (max-width: 960px){
.memberBox {
    padding: 35px 0;
}
.memberBox .contentInner {
    height: 200px;
}
.memberBox .memberList{
    width: 2700px;
}
.memberBox .memberList li {
    width: 150px;
    padding: 0 10px;
}
.memberBox .memberList li .ph {
    border-radius: 40px 0;
    box-shadow: 5px 5px 0 #4715152b;
}

@keyframes slideMem {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-1350px);
  }
}
.memberBox .memberList li a .name {
    left: 14px;
    top: 14px;
    font-size: 18px;
}

}



/*===================================================
  Featurelead
====================================================*/


.featurelead .featureleadTit {
    color: #af4a64;
    font-weight: bold;
    text-align: center;
    font-size: 36px;
    border-bottom: 3px solid;
    width: fit-content;
    margin: 0 auto;
    letter-spacing: 0.12em;
}

.featurelead .featureleadList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 75%;
    margin: 0 auto;
    gap: 8%;
}
.featurelead .featureleadList > li {
    width: 46%;
    margin-top: 100px;
    position: relative;
}

.featurelead .featureleadList > li a {
    display: block;
}

.featurelead .featureleadList > li a .ph {
    display: block;
    position: relative;
    background: #f8eceb;
    border-radius: 50%;
    overflow: hidden;
}

.featurelead .featureleadList > li a .txt {
    position: absolute;
    z-index: 1;
    background: #af4a64;
    color: #f8eceb;
    text-align: center;
    letter-spacing: 0.13em;
    bottom: -50px;
    left: 50%;
    padding: 14px;
    line-height: 1.5;
    width: 230px;
    border-radius: 0 12px 12px 12px;
    transform: translateX(-50%);
    font-weight: 600;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 6px 6px 0 #4715152b;
}

.featurelead .featureleadList > li::after {
    border: 2px solid #f8eceb;
    border-radius: 50%;
    width: calc(100% + 14px);
    height: calc(100% + 14px);
    left: -7px;
    top: -7px;
    position: absolute;
    display: block;
    content: '';
    z-index: -1;
}

.featurelead .featureleadList > li a:hover {
    opacity: 1;
}

.featurelead .featureleadList > li a .ph img {
    pointer-events: all;
    display: block;
    transition: 0.3s;
}
.featurelead .featureleadList > li a:hover .ph img {
    transform: scale(1.1);
}

/* SP */
@media screen and (max-width: 960px){

.featurelead .featureleadTit {
    font-size: min(22px, 3.9vw);
    border-width: 2px;
}

.featurelead .featureleadList {
    width: 100%;
    max-width: 400px;
}

.featurelead .featureleadList > li {
    margin-top: 50px;
}

.featurelead .featureleadList > li a .txt {
    width: 88%;
    font-size: min(11px, 3vw);
    padding: 10px;
    height: 50px;
    bottom: -30px;
    box-shadow: 4px 4px 0 #4715152b;
}

.featurelead .featureleadList > li::after {
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    left: -5px;
    top: -5px;
}

}


/*===================================================
  Feature
====================================================*/

.feature {
    background: #f8eceb;
}

.feature::before, .feature::after {
    content: '';
    display: block;
    width: 100%;
    height: 200px;
    background: linear-gradient(0deg, #f8eceb, #f2d9d7);
    position: absolute;
    top: -1px;
    left: 0;
}
.feature::after {
    top: auto;
    bottom: -199px;
    background: linear-gradient(180deg, #f8eceb, #f2d9d7);
}

.feature .contentInner {
    width: 90%;
    margin: 0 auto;
    max-width: 1360px;
}

.feature .featureWrap {
    margin-bottom: 100px;
}
.feature .featureWrap:last-child {
    margin-bottom: 0;
}

.feature .featureFlex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6%;
}

.feature .featureFlex .featureInfo {
    width: 43%;
    max-width: 450px;
    position: relative;
}

.feature .featureWrap .featureImg {
    width: 50%;
    aspect-ratio: 1/1;
    height: 100%;
    position: relative;
    border-radius: 0 0 50% 50%;
    overflow: hidden;
}

.feature .featureWrap .featureImg .imgDesc {
    position: absolute;
    bottom: 11%;
    right: 21%;
    font-size: 11px;
    opacity: 0.7;
    letter-spacing: 0;
    z-index: 2;
}

.feature .featureWrap .featureImg::before {
    content: '';
    width: 100%;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    z-index: -1;
}

.feature .featureWrap .featureImg .img {
    position: absolute;
    width: 46%;
    bottom: 0;
    left: 10%;
    filter: drop-shadow(0px 5px 8px #8a4b6120);
    transition: 0.6s 1s;
    transform: translateY(60px);
    opacity: 0;
}
.feature .featureWrap.started .featureImg .img {
    transform: translateY(0px);
    opacity: 1;
}

.feature .featureWrap .featureImg .img02 {
    left: auto;
    right: 10%;
    z-index: -1;
    transform: translateY(100px);
}
.feature .featureWrap.started .featureImg .img02 {
    transform: translateY(40px) rotate(11deg);
}


.feature .featureWrap .featureNum {
    font-family: "Poppins";
    color: #af4a64;
    font-weight: 600;
    letter-spacing: 0.35em;
    font-size: 18px;
    width: fit-content;
    margin-bottom: 30px;
    line-height: 1;
    padding: 0 5px;
    position: relative;
}

.feature .featureWrap .featureFlex .featureNum::after {
    content: '';
    display: block;
    width: 250%;
    height: 0;
    border-top: 1px solid;
    position: absolute;
    right: -255%;
    top: 48%;
    z-index: -1;
}

.feature .featureWrap .featureTit {
    color: #af4a64;
    font-weight: bold;
    letter-spacing: 0.15em;
    font-size: 29px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.feature .featureWrap .featureTxt {
    font-size: 15px;
    margin-bottom: 12px;
}

.feature .featureWrap .featureNote {
    font-size: 12px;
}


.feature #feature02 .featureFlex {
    flex-flow: row-reverse;
}
.feature #feature02.featureWrap .featureNum::after {
    left: -257%;
}
.feature #feature02.featureWrap .featureImg .img {
    left: 27%;
    bottom: -6%;
}


.feature .feature3_4 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 80px;
}

.feature .feature3_4 .featureWrap {
    width: 49%;
    text-align: center;
    margin-bottom: 0;
}

.feature .feature3_4 .featureWrap .featureNum {
    width: 100%;
}

.feature .feature3_4 .featureWrap .featureImg {
    width: 84%;
    height: auto;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature .feature3_4 .featureWrap .featureInfo {
    margin-bottom: 30px;
    min-height: 240px;
}

.feature .feature3_4 .featureWrap .img_card {
    position: relative;
    width: 73%;
    transition: 0.6s 1s;
}

.feature .feature3_4 .featureWrap .img_card img:not(:first-child) {
    position: absolute;
    left: 0;
    top: 0;
}
.feature .feature3_4 .featureWrap .img_card .letter2 {
    z-index: 3;
}
.feature .feature3_4 .featureWrap .img_card .letter3 {
    z-index: 2;
    transition: 0.6s 1s;
}

.feature .feature3_4 .featureWrap .img_card .letter3 {
    transform: translateY(-38px) rotate(5deg);
}

.feature .feature3_4 .featureWrap .img_card .ticket2 {
    z-index: 2;
    transition: 0.6s 1s;
}
.feature .feature3_4 .featureWrap .img_card .ticket2 {
    transform: rotate(15deg);
}

.feature .featureMore {
    font-family: "Poppins";
    color: #af4a64;
    font-weight: bold;
    letter-spacing: 0.35em;
    text-align: center;
    font-size: 32px;
}


/* SP */
@media screen and (max-width: 960px){

.feature::before, .feature::after {
    height: 60px;
}

.feature {
    background: #f8eceb;
    padding: 100px 0 60px;
}
.feature::after {
    bottom: -59px;
}


.feature .featureFlex .featureInfo {
    width: 100%;
    margin-bottom: 30px;
    text-align: center;
}

.feature .featureWrap .featureNum {
    text-align: center;
    width: 100%;
    margin-bottom: 15px;
    font-size: 14px;
}

.feature .featureFlex {
    justify-content: center;
}

.feature .featureWrap .featureFlex .featureNum::after {
    display: none;
}

.feature .featureWrap .featureTit {
    font-size: 23px;
    margin-bottom: 15px;
}

.feature .featureWrap .featureTxt {
    font-size: 11px;
    margin-bottom: 8px;
}
.feature .featureWrap .featureNote {
    font-size: 9px;
}

.feature .featureWrap .featureImg {
    width: 94%;
    height: auto;
    margin: 0 auto;
    max-width: 450px;
}

.feature .featureWrap .featureImg .imgDesc {
    font-size: 9px;
    bottom: 10%;
    right: 18%;
}

.feature .featureWrap {
    margin-bottom: 60px;
}

.feature #feature02 .featureFlex {
    flex-flow: column;
}

.feature .feature3_4 {
    margin-bottom: 0;
}

.feature .feature3_4 .featureWrap {
    width: 100%;
    margin-bottom: 60px;
}

.feature .feature3_4 .featureWrap .featureInfo {
    min-height: auto;
}

.feature .feature3_4 .featureWrap .featureImg {
    width: 94%;
}

.feature .featureMore {
    font-size: 15px;
}

}



/*===================================================
  REGIST
====================================================*/

section.registBox {
    transform: translate(0, 100px);
    background: #FFF;
    border-radius: 80px;
    box-shadow: 0 0 20px #47151530;
}
.registBox .contentBox {
    gap: 0;
    max-width: 1000px;
    width: 85%;
}
.registBox h2 {
}
.registBox .registLead {
    text-align: center;
    margin-bottom: 70px;
    font-size: 26px;
    letter-spacing: 0.1em;
}

.registBox .contentInner{
    gap:0;
}
.registBox .contentInner:not(:has(.space)) {
    margin-bottom: 100px;
}

.registBox .stepTit {
    text-align: center;
    margin-bottom: 40px;
}
.registBox .stepTit .tit {
    margin-bottom: 32px;
    font-family: "Poppins";
    width: 120px;
    margin: 0 auto 35px;
    background: #f8eceb;
    font-weight: 600;
    color: #af4a64;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    border-radius: 50%;
}

.registBox .stepTit .tit .stepnum {
    font-size: 52px;
    line-height: 1;
    letter-spacing: 0.08em;
    width: 100%;
}
.registBox .stepTit .tit .step {
    letter-spacing: 0.2em;
    line-height: 1.3;
    font-size: 18px;
}

.registBox .stepTit .tit span{
    font-size: 160%;
    padding-left: 16px;
}

.registBox .stepTit .txt {
    font-size: 25px;
    letter-spacing: 0.16em;
    margin-bottom: 8px;
}
.registBox .stepTit .txt:last-child {
    margin-bottom: 0;
}

.registBox .stepTit .cap {
    font-size: 18px;
    letter-spacing: 0.12em;
}
.registBox .stepDetail {
    width: 100%;
    border: 1px solid #af4a64;
    border-radius: 32px 0 32px 0;
    overflow: hidden;
}
.registBox .stepDetail .detailInner {
    padding: 30px;
}
.registBox .stepDetail .detailInner.detailPay {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 55px;
}

.registBox .stepDetail .detailTit {
    text-align: center;
    font-size: 23px;
    padding: 25px;
    background: #af4a64;
    color: #fff;
}
.registBox .inBox{
    display: flex;
    flex-direction: row;
    gap: 40px;
}
.registBox .inBox .stepDetail{
    width: calc(50% - 20px);
}
.registBox .inBox .stepDetail .detailTit {
    font-size: 21px;
}
.registBox .inBox .stepDetail .detailTxt {
    text-align: center;
    font-size: 16px;
    line-height: 1.7em;
    margin-bottom: 25px;
}
.registBox .inBox .stepDetail .btnEntry{

}
.registBox .inBox .stepDetail .btnEntry a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #974EF8;
    font-size: 18px;
    font-weight: 500;
    color: #FFF;
    border-radius: 100px;
    text-align: center;
    line-height: 1.3em;
    padding: 26px;
    max-width: 340px;
    margin: 0 auto;
    border: 2px solid #974EF8;
}
.registBox .inBox .stepDetail .btnEntry a:hover {
    color: #974EF8;
    background: #fff;
    opacity: 1;
}

.registBox .inBox .stepDetail .btnEntry.memberEntry a {
    color: #af4a64;
    background: none;
    border: 2px solid #af4a64;
}
.registBox .inBox .stepDetail .btnEntry.memberEntry a:hover {
    background: #af4a64;
    color: #fff;
}

.registBox .inBox .stepDetail .btnCap{
    text-align: center;
    line-height: 1em;
}
.registBox .inBox .stepDetail .btnCap a{
    font-size: 14px;
    color: #000;
    display: inline-block;
}
.registBox .appBlock{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}
.registBox .appBlock .appIcon {
    width: 160px;
}
.registBox .appBlock .appdown {
    display: flex;
    gap: 22px;
}
.registBox .appBlock .appdown li{
        line-height: 0;
}
.registBox .appBlock .appdown li a{
    display: block;
}
.registBox .appBlock .appdown li a img {
    height: 52px;
    width: auto;
}

.registBox .stepEnd {
    border: 1px solid;
    padding: 55px;
    text-align: center;
    border-radius: 50px;
    color: #af4a64;
    background: linear-gradient(131deg, #f8eceb, #fbdde4);
}

.registBox .stepEnd dt {
    font-size: 32px;
    letter-spacing: 0.2em;
    font-weight: bold;
}
.registBox .stepEnd dd {
    font-size: 21px;
    line-height: 1.6em;
    letter-spacing: 0.12em;
}
.registBox .priceList {
    display: flex;
    justify-content: center;
    gap: 30px;
    padding: 25px;
    text-align: center;
    border-radius: 24px;
    width: 46%;
    box-sizing: border-box;
    background: #af4a64;
    color: #fff;
}

.registBox .priceList .priceTit{
    font-size: 24px;
}
.registBox .priceList  .price {
    font-size: 40px;
    line-height: 1em;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
}
.registBox .priceList .price .small {
    font-size: 58%;
    line-height: 1em;
    padding-right: 1em;
}
.registBox .priceList .price .small:last-child {
    padding: 0;
}
.registBox .priceList .price .small .tax{
    font-size: 50%;
}

.registBox .priceList .price .pricenum {
    font-family: "Poppins";
    font-weight: bold;
    top: 3px;
    position: relative;
}



/* tab */
@media screen and (max-width:1100px) and (min-width:961px ) {
}

/* SP */
@media screen and (max-width: 960px){
section.registBox {
    padding: 70px 0;
    border-radius: 40px;
}

.registBox .contentBox {
    width: 88%;
}

.registBox .registLead {
    font-size: 15px;
    margin-bottom: 35px;
}

.registBox .contentInner:not(:has(.space)) {
    margin-bottom: 40px;
}

.registBox .stepTit {
    margin-bottom: 30px;
}

.registBox .stepTit .tit {
    margin-bottom: 16px;
    width: 90px;
}

.registBox .stepTit .tit .stepnum {
    font-size: 40px;
}
.registBox .stepTit .tit .step {
    font-size: 14px;
}


.registBox .stepTit .txt {
    margin-bottom: 10px;
    font-size: 16px;
}

.registBox .stepTit .cap {
    font-size: 11px;
}

.registBox .stepDetail {
}
.registBox .stepDetail .detailTit {
    font-size: 15px;
    padding: 20px;
}
.registBox .inBox .stepDetail .detailTit {
    font-size: 15px;
}
.registBox .stepDetail .detailInner {
    padding: 22px 15px;
}

.registBox .inBox {
    flex-direction: column;
    padding: 0;
    gap: 24px;
}
.registBox .inBox .stepDetail {
    width: 100%;
    border-radius: 28px 0;
}

.registBox .inBox .stepDetail .detailTxt {
    font-size: 12px;
    margin-bottom: 16px;
    letter-spacing: 0.01em;
}
.registBox .inBox .stepDetail .btnEntry a {
    font-size: 14px;
    padding: 20px;
    max-width: 280px;
}
.registBox .priceList {
    width: 100%;
    border-radius: 20px;
    padding: 16px 16px 19px;
    max-width: 330px;
    margin: 18px auto 0;
}
.registBox .priceList .price {
    font-size: 31px;
}

.registBox .priceList li {
    padding: 24px 16px;
    width: 100%;
    gap: 8px;
}
.registBox .priceList li .priceTit {
    font-size: 18px;
}
.registBox .priceList li .price {
    font-size: 40px;
}

.registBox .stepDetail .detailInner.detailPay {
    padding: 22px 15px;
    flex-wrap: wrap;
}

.registBox .appBlock {
    gap: 24px;
}
.registBox .appBlock .appIcon {
    width: 130px;
}
.registBox .appBlock .appdown {
    gap: 16px;
}
.registBox .appBlock .appdown li a img {
    height: 32px;
}

.registBox .appBlock .appdown li.ua{
        text-align: center;
        line-height: 0;
}
.registBox .appBlock .appdown li.ua a {
    display: inline-block;
    width: 48%;
    max-width: 240px;
}
.registBox .appBlock .appdown li.ua a img {
    height: auto;
    width: 100%;
}

.registBox .stepEnd {
    padding: 25px;
    border-radius: 20px;
}

.registBox .stepEnd dt {
    font-size: 19px;
}
.registBox .stepEnd dd {
    font-size: 12px;
}

}


/*===================================================
  SERVICE
====================================================*/
.serviceBox{
}
.serviceBox .contentBox {
    max-width: 1000px;
    gap: 0;
    width: 85%;
}
.serviceBox h2{

}
.serviceBox .contentInner {
    width: 100%;
    padding: 45px 60px;
    border-radius: 50px 0;
    gap: 0;
    margin-bottom: 70px;
    background: #f8eceb;
}
.serviceBox .contentInner:last-child{
    margin-bottom: 0;
}

.serviceBox .contentInner >*{
    margin-bottom: 16px;
}
.serviceBox .contentInner >*:last-child{
    margin-bottom: 0;
}
.serviceBox .contentInner .serviceTit {
    text-align: center;
    font-size: 22px;
    padding-bottom: 25px;
    border-bottom: 1px solid #cca29e;
    margin-bottom: 40px;
    letter-spacing: 0.2em;
}

.serviceBox .contentInner .txt {
    font-size: 21px;
    line-height: 1.7;
}
.serviceBox .contentInner .txt span{
    display: block;
    font-size: 14px;
}
@media screen and (max-width: 960px){
.serviceBox {
}
.serviceBox .contentBox {
    width: 88%;
}

.serviceBox .contentInner {
    padding: 20px;
    margin-bottom: 25px;
    border-radius: 22px 0;
}

.serviceBox .contentInner >*{
    margin-bottom: 8px;
}
.serviceBox .contentInner .serviceTit {
    font-size: 16px;
    padding-bottom: 15px;
    margin-bottom: 20px;
}
.serviceBox .contentInner .txt {
    font-size: 14px;
}
.serviceBox .contentInner >* {
    margin-bottom: 12px;
}
.serviceBox .contentInner .txt span {
    font-size: 11px;
}

}
/*===================================================
  FOOTER
====================================================*/
.footerBox {
    position: relative;
    padding: 0px 10% 100px;
}
.linkHome{
    display: flex;
    justify-content: center;
    gap: 80px;
    margin-bottom: 80px;
}
.linkHome li{

}
.linkHome li a {
    display: flex;
    justify-content: center;
    gap: 22px;
    align-items: center;
    background: #974EF8;
    font-size: 15px;
    font-weight: 500;
    color: #FFF;
    border-radius: 100px;
    text-align: center;
    line-height: 1.3em;
    padding: 26px 40px;
    max-width: 600px;
    margin: 0 auto;
    border: 2px solid #974EF8;
    font-family: "Libre Baskerville", serif;
}

.linkHome li a img {
    width: 100px;
}
.footerBox .credit {
    font-size: 14px;
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 960px){
.footerBox {
    padding: 0 16px 0;
}
.linkHome {
    margin-bottom: 60px;
}
.linkHome li {
    margin: 0 auto;
    width: 90%;
    max-width: 300px;
}
.linkHome li:nth-child(2){
    width: 70%;
}
.linkHome li a {
    font-size: 10px;
    padding: 18px 10px;
    gap: 13px;
}
.linkHome li a img {
    width: 75px;
}
.footerBox .credit {
    font-size: 12px;
}
}

