/* CSS Remedy */
*,::after,::before{box-sizing:border-box}html{line-sizing:normal}body{margin:0}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.17rem}h4{font-size:1rem}h5{font-size:.83rem}h6{font-size:.67rem}h1{margin:.67em 0}pre{white-space:pre-wrap}hr{border-style:solid;border-width:1px 0 0;color:inherit;height:0;overflow:visible}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle;max-width:100%}canvas,img,svg,video{height:auto}audio{width:100%}img{border-style:none}svg{overflow:hidden}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}
h1,h2,h3,h4,p {margin:0;}
img {width:100%;height:auto;}
ul,li {list-style: none;padding:0;margin:0;}
dl,dt,dl {margin:0;pading:0;}

body {
    font-family: 'Noto Sans', 'Noto Sans JP', sans-serif, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

.wrap-width {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.main-content {
    color: #333333;
    background: #FEF9EF;
    /* font-size: clamp(14px, 3.83vw, 19.2px); */
    font-size: clamp(14px, 4.27vw, 19.2px);
    line-height: 1.7;
}

section a {
    color: #333333;
}

.txt-center {text-align: center;}
.clr-gy {color: #7c7c7c;}
.clr-bl {color: #3ac9c9;}
.clr-pk {color: #FF80CE;}
.font-small {font-size: clamp(11px, 3.3vw, 17px);}

.anchor-txt {
    display: flex;
    margin: 5% 5% 3%;
    font-weight: 700;
    color: #FE7A04;
    text-align: center;
    text-decoration: underline;
    justify-content: center;
    align-items: center;
}
.anchor-txt-arrow {
    margin: 2%;
    width: clamp(6px, 2vw, 9px);
    height: auto;
    aspect-ratio: 0.6;
    background: #fe7a04;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    transform: rotate(90deg);
}
a.anchor-button {
    display: block;
    margin: 0 5% 5%;
}

/* section */
.introduction-section, .step-section, .pontapass-section, .faq-section, .inquiry-section, .faq-section, .introduce-section, .beintroduced-section {
    margin: 5% 0 10%;
}
section h2 {
    position: relative;
    margin: 0 5%;
    padding: 2.5% 0;
    font-weight: 700;
    text-align: center;
    border-top: solid 2px #3AC9C9;
    border-bottom: solid 2px #3AC9C9;
    font-size: clamp(17px, 5.5vw, 23px);
    line-height: 1.4;
}
section h2::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: -2px;
    width: 50%;
    height: 2px;
    background: #FF80CE;/*左：ピンク*/
}
section h2::after {
    content: '';
    position: absolute;
    right: 0;
    top: -2px;
    width: 50%;
    height: 2px;
    background: #FF80CE;/*左：ピンク*/
}
section p.attention {
    margin: 5% 0;
    color: #FF0034;
    font-weight: 700;
}

/* 紹介ボタン */
.input-button {
    background-color: #FE7A04;
    color: #ffffff;
}
a.input-button {
    display: block;
    position: relative;
    margin: 0 5% 6%;
    padding: 5% 4%;
    border: solid 4px #fff;
    border-radius: 50px;
    font-weight: 700;
    text-align: center;
    font-size: clamp(17px, 5.36vw, 26.8px);
    text-decoration: none;
    line-height: 1em;
    box-shadow: 0 3px 6px 0 rgb(0 0 0 / 16%);
}
.input-button-arrow {
    width: 6.5%;
    aspect-ratio: 1;
    position: absolute;
    top: 32%;
    right: 4%;
    border-radius: 30px;
    background-color: #ffffff;
}
.input-button-arrow::after {
    content: '';
    display: block;
    position: absolute;
    /* width: 30%;
    height: 30%;
    top: 0;
    bottom: 0;
    left: 40%;
    right: 0;
    margin: auto;
    border: solid 0.3em;
    border-color: transparent transparent transparent #fe7a04; */
    top: 0;
    bottom: 0;
    left: 15%;
    right: 0;
    margin: auto;
    width: clamp(6px, 2vw, 9px);
    aspect-ratio: 0.6;
    background: #fe7a04;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
a.input-button.off {
    background-color: #A7A7A7;
    color: #ffffff;
    pointer-events: none;
}
a.input-button.off .input-button-arrow {
    display: none;
}
/* ボタン白 */
.input-button-wt {
    display: block;
    position: relative;
    width: 100%;
    margin: 3% 0 3%;
    padding: 5% 4%;
    color: #FE7A04;
    background: #ffffff;
    border: solid 2px #FE7A04;
    border-radius: 50px;
    font-weight: 700;
    text-align: center;
    font-size: clamp(14px, 4.1vw, 21px);
    text-decoration: none;
    line-height: 1em;
}
.input-button-wt-arrow {
    width: 5%;
    aspect-ratio: 1;
    position: absolute;
    top: 32%;
    right: 4%;
    border-radius: 30px;
    background-color: #F07900;
}
.input-button-wt-arrow::after {
    content: '';
    display: block;
    position: absolute;
    /* width: 30%;
    height: 30%;
    top: 0;
    bottom: 0;
    left: 35%;
    right: 0;
    margin: auto;
    border: solid 0.3em;
    border-color: transparent transparent transparent #ffffff; */
    top: 0;
    bottom: 0;
    left: 15%;
    right: 0;
    margin: auto;
    width: clamp(5px, 1.4vw, 6px);
    aspect-ratio: 0.6;
    background: #ffffff;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
/* ボタン白黒 */
a.back-button {
    display: block;
    position: relative;
    /* width: 100%; */
    margin: 5% 5% 9%;
    padding: 5% 4%;
    color: #333333;
    background: #ffffff;
    border: solid 2px #333333;
    border-radius: 50px;
    font-weight: 700;
    text-align: center;
    font-size: clamp(14px, 4.1vw, 21px);
    text-decoration: none;
    line-height: 1em;
}
.back-button-arrow {
    width: 5%;
    aspect-ratio: 1;
    position: absolute;
    top: 32%;
    right: 4%;
    border-radius: 30px;
    background-color: #333333;
}
.back-button-arrow::after {
    content: '';
    display: block;
    position: absolute;
    /* width: 30%;
    height: 30%;
    top: 0;
    bottom: 0;
    left: 35%;
    right: 0;
    margin: auto;
    border: solid 0.3em;
    border-color: transparent transparent transparent #ffffff; */
    top: 0;
    bottom: 0;
    left: 15%;
    right: 0;
    margin: auto;
    width: clamp(5px, 1.4vw, 6px);
    aspect-ratio: 0.6;
    background: #ffffff;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.back-button.list {
    margin-bottom: 5%;
}

/* ナビゲーション */
nav {
    margin: 0 5% 10%;
}
nav ul {
    display: flex;
    justify-content: space-between;
}
nav ul li {
    width: 48.6%;
}

/* 特典内容 */
.introduction-text-block {
    margin: 5% 5% 8%;
}
.introduction-list {
    position: relative;
    margin: 3% 0 3%;
    padding-left: 1.5em;
    font-weight: 700;
}
/* .introduction-list::before {
    content: '●';
    display: block;
    position: absolute;
    left: 0;
    color: #ff80cf;
} */
.introduction-list .mark {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    color: #333333;
}
.introduction-img {
    margin: 5% 0;
}
.introduction-text-block img {
    margin: 5% 0;
}
.introduction-sub-title {
    margin: 5% 0;
    font-size: clamp(14px, 4.6vw, 21px);
    font-weight: 800;
    text-align: center;
    border-bottom: solid 1px #3ac9c9;
}

/* ステップ */
.step-wrap {
    margin: 5% 5% 8%;
}
.step-title {
    display: flex;
    height: 3.8em;
    color: #fff;
    font-size: clamp(17px, 5.5vw, 23px);
    text-align: center;
    background-color: #3ac9c9;
    border: solid 4px #3ac9c9;
    /* border-bottom: none; */
    border-radius: 10px 10px 0 0;
    justify-content: center;
    align-items: center;
}
.step-title-icon {
    display: block;
    width: 17%;
    margin: 1% 3% 1% 0;
}
.step-detail {
    padding: 4% 3%;
    background: #fff;
    border: solid 4px #3ac9c9;
    border-top: none;
    border-radius: 0 0 10px 10px;
}
.step-detail p {
    margin-bottom: 3%;
}
.step-sub-title {
    margin: 8% 0 5%;
    font-size: clamp(14px, 4.6vw, 21px);
    font-weight: 800;
    text-align: center;
    border-bottom: solid 1px #3ac9c9;
}
.beintroduced-block .step-title {
    background-color: #FF80CE;
    border-color: #FF80CE;
}
.beintroduced-block .step-detail {
    border-color: #FF80CE;
}
.step-img {
    margin: 3% auto;
}
.step-img.arrow {
    width: 17%;
    margin: 7% auto;
}
.section-link {
    position: relative;
    margin: 3% 7%;
    text-align: right;
}
.section-link-arrow {
    width: 5.8%;
    aspect-ratio: 1;
    position: absolute;
    top: 19%;
    right: -7%;
    border-radius: 30px;
    background-color: #F07900;
}
.section-link-arrow::after {
    content: '';
    display: block;
    position: absolute;
    /* width: 30%;
    height: 30%;
    top: 0;
    bottom: 0;
    left: 35%;
    right: 0;
    margin: auto;
    border: solid 0.3em;
    border-color: transparent transparent transparent #ffffff; */
    top: 0;
    bottom: 0;
    left: 15%;
    right: 0;
    margin: auto;
    width: clamp(5px, 1.4vw, 6px);
    aspect-ratio: 0.6;
    background: #ffffff;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.step-list {
    margin-bottom: 3%;
    font-weight: 700;
}
.step-list li {
    position: relative;
    padding-left: 1em;
    /* text-indent: 1em; */
}
.step-list li::before {
    content: '・';
    display: block;
    position: absolute;
    left: 0;
    color: #333333;
}
.step-section .input-button-wt {
    font-size: clamp(17px, 5.36vw, 26.8px);
}
.step-section .input-button-wt-arrow {
    width: 6.5%;
    top: 28%;
    right: 4%;
}
.step-section .input-button-wt-arrow::after {
    width: clamp(6px, 2vw, 9px);
}

/* アコーディオン */
.accordion-block {
    margin: 6% 0;
    padding: 0 4%;
    background-color: #F6F6F6;
    /* color: #000000; */
}
.accordion-head {
    position: relative;
    padding: 6% 0;
    font-size: clamp(14px, 4.1vw, 21px);
    font-weight: 700;
    text-align: center;
}
.attention-index {
    position: absolute;
    right: 5%;
    width: 20px;
    top: 0px;
    display: inline-block;
    margin-left: 0.6em;
    margin-top: auto;
    margin-bottom: auto;
    bottom: 0;
}
.attention-index::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 13px;
    right: 0;
    margin: auto;
    background-color: #333333;
    width: 20px;
    height: 2px;
}
.attention-index::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 22px;
    right: 0;
    margin: auto;
    background-color: #333333;
    width: 2px;
    height: 20px;
    transition: height 100ms linear;
}
.accordion-active .attention-index::after {
    height: 0;
}
.accordion-text-block {
    padding-bottom: 3%;
}

/* 紹介者ページ（qr） */
.introduce-section {
    margin: 8% 0 8%;
}
.introduce-section h2::before, .introduce-section h2::after {
    background: none;
}
.invite-wrap {
    margin: 4% 0;
    padding: 3%;
    background: #fff;
    border: solid 2px #E5E5E5;
    border-radius: 10px;
}
.invite-title {
    padding: 4% 0 0;
    font-size: clamp(14px, 4.27vw, 21px);
    font-weight: 700;
    text-align: center;
}
.invite-code {
    padding: 3%;
    color: #3AC9C9;
    font-size: clamp(17px, 5.5vw, 23px);
    font-weight: 700;
    text-align: center;
    background: #F5FFFF;
    border: solid 2px #E5E5E5;
    border-radius: 10px;
    overflow-wrap: break-word;
}
.invite-qr {
    width: 40%;
    margin: 8% auto;
}
/* 個別シェアボタン */
#sns-block {
    display: none;
}
.sns-block {
    display: flex;
    justify-content: space-between;
    width: 60%;
    margin: 8% auto 4%;
}
.sns-block a {
    width: 27%;
    height: 27%;
}

/* 被紹介者ページ（invite） */
.beintroduced-section {
    margin-top: 8%;
}
.beintroduced-section h2, .beintroduced-section h2::before, .beintroduced-section h2::after {
    padding: 0;
    border: none;
    background: none;
}
.beintroduced-wrap {
    margin: 5% 5% 8%;
}
.beintroduced-detail {
    padding: 4% 3%;
    background: #fff;
    border: solid 4px #FF80CE;
    border-radius: 10px;
}
.beintroduced-block p {
    margin-bottom: 3%;
}
.beintroduced-block .accordion-text-block p {
    margin-bottom: 1.7em;
}
.beintroduced-section .invite-code {
    color: #ff80ce;
    background: #FFF6FB;
}
.invite-wrap .note-wrap {
    margin: 10% 0 3%;
    padding: 3%;
    border: solid 1px #E5E5E5;
}
.beintroduced-section .invite-wrap {
    border: none;
    margin: 0;
    padding: 0;
}

.accordion-table table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
}
.accordion-table-left {
    width: 30%;
}
.accordion-table table td {
    border: 1px solid #E5E5E5;
    padding: 3%;
}
.accordion-table {
    margin: 5% 0;
}

.nyukai-section {
    position: fixed;
    max-width: 500px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    /* padding-top: 3%; */
    border: 5px solid transparent;
    /* background: #ffffff; */
    /* box-shadow: #0000002b 0 -15px 15px; */
    z-index: 100;
}
.nyukai-block {
    padding: 4% 0 1px;
    border-radius: 10px;
    background: #ffffff;
    /* box-shadow: #0000002b 0 -15px 15px; */
    box-shadow: 0 0 10px 1px rgb(0 0 0 / 16%);
}
.nyukai-detail-button {
    margin: 0 5% 3%;
    padding: 2% 4%;
    width: auto;
    font-size: clamp(13px, 3.5vw, 18px);
}
.nyukai-detail-button .input-button-wt-arrow {
    top: 22%;
}
.nyukai-detail-button .input-button-wt-arrow::after {
    transform: rotate(90deg) translate(0, 0);
    left: 0;
    top: 15%;
}

/* modal */
.scrollLocked {
    touch-action: none;
    -webkit-overflow-scrolling: none;
    overflow: hidden;
}
.modal {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: rgba(0,0,0,0.7); */
    box-sizing: border-box;
    z-index: 999;
    overflow: auto;
    transition: opacity 300ms;/* モーダルのフェードアウト時間を変更する場合はjsの修正も必要です */
}
.modal-bg {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    pointer-events: none;
}
.fadeout{
    opacity: 0;
}
.fadein{
    opacity: 1;
}
.modal .inner {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -51%);
    transform: translate(-50%, -51%);
    display: block;
    margin: auto;
    width: 85%;
    max-width: 510px;
    color: #333333;
    background: #fff;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 15px 0 10px;
    text-align: center;
    line-height: 1.7;
    z-index: 1;
}
.checkDoui-block {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3% 0;
    font-size: clamp(11px, 3.3vw, 13px);
    font-weight: 700;
}
.checkDoui-block input[type=checkbox] {
    display: none;
}
.checkDoui {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 5px 5px 30px;
    position: relative;
    width: auto;
}
.checkDoui::before {
    background: #fff;
    border: 1px solid #231815;
    border-radius: 2px;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
}
.checkDoui::after {
    border-right: 3px solid #00c710;
    border-bottom: 3px solid #00c710;
    content: '';
    display: block;
    height: 12px;
    width: 6px;
    left: 10px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
}
.checkDoui-block input[type=checkbox]:checked + .checkDoui-label .checkDoui::after {
    opacity: 1;
}
a.checkDoui-button-off {
    /* pointer-events: none!important; */
    background-color: #acacac!important;
    /* box-shadow: #888 0px 3px!important; */
}
a.checkDoui-button-off .input-button-arrow::after {
    border-color: transparent transparent transparent #acacac;
}
a.checkDoui-button-off .input-button-arrow {
    display: none;
}
.checkDoui-label {
    position: relative;
    box-sizing: content-box;
}
.checkDoui-alert::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -2%;
    right: 0;
    margin: auto;
    width: 102%;
    height: 100%;
    pointer-events: none;
    border: 2px solid #FF0034;
    border-radius: 5px;
    animation: pop 200ms linear;
    animation-fill-mode: forwards;
}
@keyframes pop {
    0% {
        transform: scale(1);
        animation-timing-function: cubic-bezier(0.11, 0.43, 0.65, 0.95);
    }
    30% {
        transform: scale(1.1);
        animation-timing-function: cubic-bezier(0.42, 0.12, 0.88, 0.58);
    }
    100% {
        transform: scale(1);
    }
}
.popup>.inner>dl>dd.btns {
    display: block;
    width: 100%;
    margin: 0;
    font-size: 0.8rem;
}
/* a.btn-get {
    display: block;
    text-decoration: none;
    border-radius: 10px;
    background-color: #fb7d02;
    box-shadow: #9a001e 0px 3px;
    padding: 12px 0;
    margin: 0 15px 5px;
    color: #FFFFFF;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
} */
.no_member a.btn-get, .smapass a.btn-get {
    background-color: #00C710;
    box-shadow: #008b0b 0px 3px;
}
.no_member a.btn-get-red, .smapass a.btn-get-red {
    background-color: #E6002D;
    box-shadow: #9a001e 0px 3px;
}
.popup-button-text-small {
    font-size: 11px;
    font-weight: 400;
    line-height: 1.8;
}
.popup-button-text-smallbold {
    font-weight: 700;
}
.popup .btn-close {
    font-size: clamp(11px, 3.3vw, 13px);
    text-decoration: none;
    line-height: 1.6;
    /* border-top: 1px solid #F0F2F2; */
    /* padding-top: 10px; */
    color: #333333;
    /* font-weight: bold; */
    margin: 3%;
    display: block;
    text-align: center;
}
.popup .btn-close span {
    display: block;
    font-size: 10px;
    font-weight: normal;
}

.modal-title {
    display: inline-block;
    margin-bottom: 2%;
    padding-left: 25px;
    font-weight: 700;
    text-align: center;
    font-size: clamp(14px, 3.83vw, 16px);
    color: #FF0034;
    background: url(/images/frd/intro_ponta/alert-triangle.svg) left center no-repeat;
    background-size: 20px;
}
.modal-text-block {
    margin: 0 5%;
}
.modal-text-block p {
    font-size: clamp(13px, 3.83vw, 14px);
    text-align: left;
    margin-bottom: 3%;
}
.modal-img {
    margin-bottom: 5%;
}
.modal .note-text-block {
    text-align: left;
    border: 1px solid #FF0034;
    color: #FF0034;
    font-size: clamp(11px, 3vw, 13px);
    padding: 3%;
    margin: 0;
}

/* 被紹介者ページ（success） */


/* Pontaパスとは？ */
.pontapass-wrap {
    margin: 0 0 8%;
}
.pontapass-section {
    margin-bottom: 0;
    padding: 10% 0 1px;
    background: #FFFDDF;
}
.pontapass-section img {
    margin: 0 auto;
}
.pontapass-block {
    margin: 5% 5% 8%;
}
.pontapass-block .input-button-wt {
    display: block;
    position: relative;
    width: 100%;
    margin: 3% 0 3%;
    padding: 5% 4%;
    color: #FE7A04;
    background: #ffffff;
    border: solid 2px #FE7A04;
    border-radius: 50px;
    font-weight: 700;
    text-align: center;
    /* font-size: clamp(17px, 5.36vw, 26.8px); */
    font-size: clamp(14px, 4.1vw, 21px);
    text-decoration: none;
    line-height: 1em;
}
.pontapass-block .input-button-wt-arrow {
    width: 6.5%;
    aspect-ratio: 1;
    position: absolute;
    top: 28%;
    right: 4%;
    border-radius: 30px;
    background-color: #F07900;
}
.pontapass-block .input-button-wt-arrow::after {
    content: '';
    display: block;
    position: absolute;
    /* width: 30%;
    height: 30%;
    top: 0;
    bottom: 0;
    left: 40%;
    right: 0;
    margin: auto;
    border: solid 0.3em;
    border-color: transparent transparent transparent #ffffff; */
    top: 0;
    bottom: 0;
    left: 15%;
    right: 0;
    margin: auto;
    width: clamp(6px, 2vw, 9px);
    aspect-ratio: 0.6;
    background: #ffffff;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.pontapass-slide-title {
    display: flex;
    color: #fff;
    height: 3em;
    text-align: center;
    background-color: #F07900;
    border: solid 4px #F07900;
    /* border-bottom: none; */
    border-radius: 10px 10px 0 0;
    justify-content: center;
    align-items: center;
}
.pontapass-slide-title img {
    width: auto;
    height: 100%;
}
.pontapass-slide-detail {
    display: flex;
    justify-content: space-between;
    padding: 5% 4%;
    background: #fff;
    border-radius: 0 0 10px 10px;
}
.pontapass-slide-img {
    width: 48.6%;
}
.anshin .pontapass-slide-title {
    background-color: #00A65B;
    border-color: #00A65B;
}
.entame .pontapass-slide-title {
    background-color: #8D3EE5;
    border-color: #8D3EE5;
}

/* よくある質問 */
.faq-wrap .accordion-block {
    margin: 0 5%;
    padding: 0;
    background-color: #ffffff;
    /* color: #000000; */
    border-bottom: solid 1px #E5E5E5;
}
.faq-wrap .accordion-head {
    position: relative;
    padding: 20px 35px 20px 2.2em;
    font-size: clamp(14px, 4.27vw, 21px);
    font-weight: 700;
    text-align: left;
    /* border-bottom: solid 1px #E5E5E5; */
}
.faq-wrap .accordion-head span,.faq-wrap .accordion-body span {
    position: absolute;
    top: 18px;
    left: 0;
    width: 25px;
    font-size: 2em;
    font-weight: 800;
    color: #FE7A04;
    line-height: 1;
    display: flex;
    justify-content: center;
}
.faq-wrap .accordion-body span {
    top: 0;
}
.faq-wrap .attention-index {
    position: absolute;
    right: 5%;
    width: 20px;
    top: 35px;
    display: inline-block;
    margin-left: 0.6em;
    margin-top: auto;
    margin-bottom: auto;
    bottom: auto;
}
.faq-section {
    margin-top: 0;
    padding: 10% 0;
    background: #ffffff;
}
.faq-wrap .accordion-body {
    margin: 0;
}
.faq-wrap .accordion-text-block {
    position: relative;
    margin: 0;
    padding: 0 35px 20px 2.2em;
}

/* お問い合わせ */
.inquiry-wrap {
    margin: 5% 5% 5%;
}
.inquiry-block {
    padding: 3% 3% 6%;
    color: #333333;
    /* font-size: clamp(11px, 3.3vw, 17px); */
    /* font-size: clamp(14px, 3.83vw, 19.2px); */
    font-size: clamp(14px, 4.27vw, 19.2px);
    background-color: #ffffff;
    border: solid 4px #FC6E01;
    border-radius: 10px;
}
.inquiry-title {
    padding: 4% 0;
    font-size: clamp(14px, 4.5vw, 21px);
    font-weight: 700;
    text-align: center;
}
a.inquiry-button {
    display: block;
    position: relative;
    margin: 3% 0 3%;
    padding: 4%;
    border: solid 2px #F07900;
    border-radius: 50px;
    font-weight: 700;
    text-align: center;
    font-size: clamp(11px, 3.3vw, 17px);
    text-decoration: none;
    line-height: 1em;
}
.inquiry-wrap .input-button-wt {
    font-size: clamp(12px, 3.3vw, 17px);
}
.inquiry-wrap .input-button-wt-arrow::after {
    border-width: 0.33em;
}
.note-wrap {
    margin: 0 5%;
}
.note-text-block {
    margin-bottom: 3%;
    font-size: clamp(11px, 3.3vw, 15px);
    font-weight: normal;
    text-indent: 0;
}
.note-title {
    padding: 4% 0;
    font-size: clamp(14px, 4.1vw, 21px);
    font-weight: 700;
    text-align: center;
}

/* footer */
footer {
    padding: 4%;
    font-size: clamp(11px, 3.1vw, 16px);
    text-align: center;
    background: #fff;
}

/* pagetop */
.pagetop {
    position: fixed;
    width: 15%;
    max-width: 70px;
    bottom: 0;
    /* left: 0; */
    right: 0;
    margin: 3%;
    border-radius: 50px;
    box-shadow: 0 3px 6px 0 rgb(0 0 0 / 16%);
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: .5s;
}
.pagetop.show {
    opacity: 1;
    visibility: visible;
}

/* fade */
.fade {
    opacity: 0;
    transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade.is-show {
    opacity: 1;
    transform: translate(0, 0);
}
.fade-up {
    transform: translateY(40px); /* 下から */
}
.fade-down {
    transform: translateY(-40px); /* 上から */
}
.fade-left {
    transform: translateX(-40px); /* 左から */
}
.fade-right {
    transform: translateX(40px); /* 右から */
}

/* zoom */
.zoom {
    opacity: 0;
    transform: scale(0.5);
    transition:
        transform 0.7s cubic-bezier(.22,1.5,.5,1),
        opacity 0.7s ease;
}
.zoom.is-show {
    opacity: 1;
    transform: scale(1);
}

/* fade & zoom */
.zoom-up {
    opacity: 0;
    transform: translateY(20px) scale(0.7);
    transition:
        transform 0.8s cubic-bezier(.22,1.5,.5,1),
        opacity 0.8s ease;
}
.zoom-up.is-show {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* キラキラ装飾 */
.deco-pos {
    position: relative;
}
.deco-sparkle-left {
    position: absolute;
    top: 0;
    left: 22%;
    width: 9%;
}
.deco-sparkle-right {
    position: absolute;
    top: 24%;
    right: 26%;
    width: 9%;
}
.sparkle1 {
    animation: sparkleBreath 2s ease-in-out infinite;
    /* filter: drop-shadow(0 0 0 transparent); */
}
.sparkle2 {
    animation: sparkleBreath 2s ease-in-out infinite;
    /* filter: drop-shadow(0 0 0 transparent); */
    animation-delay:0.8s;
}
@keyframes sparkleBreath {
    0%, 100% {
        transform: scale(1);
        /* filter: drop-shadow(0 0 0 rgba(255,255,255,0)); */
    }
    50% {
        transform: scale(1.4);
        /* filter: drop-shadow(0 0 12px rgba(255,255,255,.8)); */
    }
}

.header-announce {
    background-color: #f3f3f3;
}