@media only screen and (max-width: 750px) {
    html {
        font-size: 2.58vw;
    }

    body {
        font-size: 1.8rem;
    }

    .sp-only {
        display: block;
    }

    .pc-only {
        display: none;
    }

    h1 {
        font-size: 4rem;
        line-height: 1.2;
    }

    .input-text {
        height: 4.5rem;
        border-radius: 2.25rem;
        padding: 0 1rem;
    }

    .input-text:disabled {
        background-color: #E9E9E9;
        border-color: #E9E9E9;
    }

    .btn {
        min-width: 20.5rem;
        height: 4.5rem;
    }

    .container {
        width: 35rem;
    }

    /* ヘッダー */

    header .head-wrap {
        width: 35.8rem;
        padding: 0.6rem 0;
        height: 5.4rem;
    }

    header .logo img {
        width: 10.7rem;
    }

    #gnav .nav-head {
        width: 35.8rem;
        padding: 0.6rem 0;
        height: 5.4rem;
    }

    header .menu-btn {
        width: 2.4rem;
    }

    #gnav nav {
        width: auto;
        padding: 3rem 5.2rem;
    }

    #gnav .menu-btn {
        width: 2.4rem;
    }

    #gnav nav ul li a {
        font-size: 2rem;
    }

    /* フッター */

    footer {
        padding: 1.2rem 0 0.6rem 0;
    }

    footer .logo img {
        width: 4.4rem;
    }

    /* ログイン */

    #login {
        padding-top: 2rem;
        padding-bottom: 3.2rem;
    }

    #login .contents-wrap {
        width: 31.8rem;
    }

    #login h1 {
        margin-bottom: 4rem;
        font-size: 4rem;
    }

    #login .input-form dl {
        margin-bottom: 4rem;
    }

    #login .input-form dt {
        margin-bottom: 1rem;
    }

    #login .input-form dd .supplement {
        font-size: 1rem;
        margin-top: 1rem;
        line-height: 1.2;
        margin-right: 0;
    }

    #login .btn-area {
        margin-top: 7.2rem;
    }

    /* 株主優待申込み一覧 */

    #app-list {
        padding-top: 8rem;
        padding-bottom: 5.5rem;
    }

    #app-list .contents-area {
        width: 33.7rem;
        margin: 4rem auto 0;
        margin-top: 4rem;
        padding: 2rem 1.6rem 2.6rem;
    }

    #app-list .list-area {
        margin-bottom: 5.4rem;
    }

    #app-list .list-area dl {
        display: block;
    }

    #app-list .list-area dl dt {
        display: block;
        width: auto;
        text-align: left;
        padding: 1rem 1.2rem;
    }

    #app-list .list-area dl dd {
        display: block;
        text-align: left;
        padding: 1rem 1.2rem;
        font-size: 1em;
    }

    #app-list .btn {
        width: 20.5rem;
        height: 4.5rem;
        font-weight: bold;
    }

    #app-list .btn-area .btn {
        margin: 10px 0;
    }

    #app-list .no-app {
        font-size: 2rem;
        margin-top: 8rem;
    }

    /* 株主優待申込 */

    .shareholder-benefits {
        padding-top: 2rem;
        padding-bottom: 3.2rem;
    }

    .shareholder-benefits h1 {
        font-size: 3rem;
        margin-bottom: 1rem;
    }

    .shareholder-benefits h2 {
        font-size: 2rem;
        padding: 0.8rem 1.4rem;
    }

    .shareholder-benefits .input-text {
        border-radius: 0.5rem;
        font-size: 1.5rem;
    }

    .shareholder-benefits .input-text[name="address"] {
        font-size: 1.2rem;
    }

    .shareholder-benefits .btn {
        width: 100%;
    }

    .app-lead {
        font-size: 1.5rem;
    }

    .app-flow {
        margin-top: 2rem;
        margin-bottom: 7.2rem;
    }

    #app-complete .app-flow {
        margin-top: 4.8rem;
    }

    .app-flow ol {
        gap: 3.8rem;
    }

    .app-flow ol li:not(:first-child):before {
        width: 4rem;
    }

    .app-flow ol li .icon {
        width: 4rem;
        height: 4rem;
    }

    .app-flow ol li.input .icon img {
        width: 1.5rem;
    }

    .app-flow ol li.gift .icon img {
        width: 2.2rem;
    }

    .app-flow ol li.confirm .icon img {
        width: 1.9rem;
    }

    .app-flow ol li.complete .icon img {
        width: 1.8rem;
    }

    .app-flow ol li .text {
        font-size: 1rem;
        margin-top: 1.2rem;
    }

    .num-shares {
        border-width: 3px;
        font-size: 1.5rem;
        padding: 0.8rem;
        margin-bottom: 0.8rem;
        border-radius: 1rem;
    }

    .shareholder-benefits .input-area {
        margin-top: 3.2rem;
    }

    .shareholder-benefits .select-wrap select {
        height: 4rem;
        border-radius: 0.5rem;
        font-size: 1.5rem;
        padding: 0 1rem;
    }

    .shareholder-benefits .select-wrap::after {
        font-size: 1.2rem;
        right: 2.4rem;
    }

    .shareholder-benefits .input-area dl {
        margin-bottom: 2rem;
    }

    .shareholder-benefits .input-area dl.quest {
        margin-bottom: 4rem;
    }

    .shareholder-benefits .input-area dt {
        font-size: 1.5rem;
        margin-bottom: 1.2rem;
    }

    .shareholder-benefits .input-area dl.quest dt {
        white-space: normal;
    }

    .shareholder-benefits .input-area .notes {
        font-size: 1.5rem;
        margin-bottom: 3.2rem;
    }

    .shareholder-benefits .input-area .check-list {
        margin-top: 2rem;
    }

    .shareholder-benefits .input-area .check-list li {
        margin-bottom: 1.2rem;
    }

    .shareholder-benefits .input-area .check-list li label {
        font-size: 1.5rem;
    }

    .shareholder-benefits .input-area .check-list li input[type="checkbox"] {
        margin-right: 1.6rem;
    }

    input[type="checkbox"] {
        width: 1.8rem;
        height: 1.8rem;
        border-radius: 0;
        margin-top: 0.3rem;
    }

    input[type="checkbox"]:checked:before {
        bottom: 0.2rem;
        width: 0.3rem;
        height: 0.7rem;
    }

    .shareholder-benefits .input-area .check-list li .input-text {
        margin-top: 1rem;
    }

    .shareholder-benefits .btn-area {
        margin-top: 3.2rem;
    }

    .shareholder-benefits .back {
        margin-right: 0;
        margin-bottom: 1.6rem;
    }

    .shareholder-benefits .lead {
        margin-top: 1.6rem;
        margin-bottom: 2rem;
        font-size: 1.5rem;
    }

    .questionnaire .lead {
        font-size: 1.6rem;
        margin-top: 2.8rem;
        margin-bottom: 5.2rem;
    }

    .shareholder-benefits .gift-area {
        margin-top: 1.4rem;
        margin-bottom: 0;
    }

    .shareholder-benefits .gift-notes {
        font-size: 1.4rem;
        border-width: 2px;
        padding: 1rem 0.4rem;
        border-radius: 1rem;
        margin: 0.8rem 0;
    }

    .shareholder-benefits .gift-list {
        display: block;
    }

    .shareholder-benefits .gift-list li {
        margin-bottom: 3rem;
        min-height: auto;
    }

    .shareholder-benefits .gift-list li .gift-img {
        height: auto;
    }

    .shareholder-benefits .gift-list li .gift-detail {
        padding: 1.2rem 1.6rem;
        font-size: 1.5rem;
    }

    .shareholder-benefits .gift-list li .gift-detail .type {
        margin-top: 0.8rem;
        font-size: 1.5rem;
    }

    .shareholder-benefits .confirm-area>div:not(:last-child) {
        margin-bottom: 0;
    }

    .shareholder-benefits .confirm-area h2 {
        margin-bottom: 3rem;
    }

    .shareholder-benefits .confirm-area dl {
        margin-bottom: 3.2rem;
        font-size: 1.5rem;
    }

    .shareholder-benefits .confirm-area dt {
        margin-bottom: 2.2rem;
    }

    .shareholder-benefits .confirm-area dd {
        margin-left: 2rem;
    }

    .shareholder-benefits .confirm-area .notes {
        font-size: 1.4rem;
        margin-top: 6.4rem;
    }

    #app-input .input-area .notes {
        font-size: 1.4rem;
    }

    #app-confirm .btn-area {
        margin-top: 6.4rem;
    }

    #app-complete .contact-title {
        margin-bottom: 2rem;
        font-size: 2.5rem;
    }

    #app-complete .complete-text {
        font-size: 1.6rem;
        margin-bottom: 2.2rem;
        margin-top: 5.2rem;
        margin-right: -1.85rem;
        margin-left: -1.85rem;
    }

    #app-complete .contact-box {
        padding: 2.4rem 2.2rem;
        font-size: 1.5rem;
    }

    #app-complete .btn-area {
        margin-top: 6.4rem;
    }

    #app-complete .btn-area>div:not(:last-child) {
        margin-bottom: 3.4rem;
    }

    #app-send {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }

    #app-send .send-text {
        margin-top: 1.2rem;
        font-size: 1.5rem;
        margin-bottom: 10.4rem;
    }

    #app-send .btn-area {
        position: absolute;
        bottom: 6.6rem;
        left: 0;
        width: 100%;
        margin-top: 0;
    }

    #app-send .close {
        width: 20.5rem;
    }

    /* 利用規約 */

    #terms {
        padding-top: 2rem;
        padding-bottom: 6rem;
    }

    #terms h1 {
        font-size: 3rem;
        margin-bottom: 2.8rem;
    }

    .terms-box {
        padding: 1.8rem 2rem;
    }

    #terms .terms-box p {
        font-size: 1.4rem;
    }

    #terms .btn-area {
        margin-top: 4rem;
    }

    #terms .btn {
        width: 100%;
    }

    /* 注意事項 */

    #notes {
        padding-top: 2rem;
        padding-bottom: 6rem;
    }

    #notes h1 {
        font-size: 3rem;
        margin-bottom: 2.8rem;
    }

    .notes-box {
        width: 100%;
        padding: 1.8rem 2rem;
    }

    #notes .notes-box p {
        font-size: 1.4rem;
    }

    #notes .agree-box {
        font-size: 1.4rem;
        margin-top: 2.5rem;
        margin-left: 0;
    }

    #notes .agree-box label {
        align-items: flex-start;
    }

    #notes .agree-box label input {
        margin-right: 1.4rem;
        border-radius: 0.4rem;
    }

    #notes .btn-area {
        margin-top: 2.5rem;
    }

    #notes .btn {
        width: 100%;
    }

    #notes .back {
        margin-right: 0;
        margin-bottom: 1.5rem;
    }

    /* メール関連共通 */

    .email-page {
        padding-top: 9.8rem;
        padding-bottom: 9.8rem;
    }

    .email-page .send-box {
        padding: 0 3rem;
    }

    .email-title {
        font-size: 4rem;
        margin-bottom: 8rem;
    }

    .email-page .input-form dt {
        margin-bottom: 1rem;
    }

    .email-page .input-form dd .supplement {
        margin-top: 1rem;
        font-size: 1rem;
    }

    /* メールアドレス確認 */

    #email-input .input-area {
        width: 30.2rem
    }

    #email-input .btn-area {
        margin-top: 12.8rem;
    }

    #email-send h1 {
        margin-bottom: 3.2rem;
    }

    #email-send .btn-area {
        margin-top: 4.4rem;
    }

    #email-expired h1 {
        margin-bottom: 5.8rem;
    }

    #email-expired .error-box {
        padding: 0 3rem;
    }

    #email-expired .btn-area {
        margin-top: 11.2rem;
    }

    /* メールアドレス変更 */

    #email-change-input .input-area {
        width: 30.2rem;
    }

    #email-change-input .input-form dl {
        margin-bottom: 8.2rem;
    }

    #email-change-input .btn-area {
        margin-top: 13.8rem;
    }

    #email-change-send h1 {
        margin-bottom: 9.8rem;
    }

    #email-change-send .btn-area {
        margin-top: 16.5rem;
    }

    #email-change-comp h1 {
        margin-bottom: 9.8rem;
    }

    /* マイページ */

    #mypage {
        padding-top: 9.2rem;
        padding-bottom: 6.2rem;
    }

    #mypage h1 {
        margin-bottom: 6.4rem;
    }

    #mypage h2 {
        padding: 0.7rem 1.4rem;
        margin-bottom: 2.2rem;
    }

    #mypage .contents-area:last-child {
        margin-bottom: 0;
    }

    #mypage .app-detail .title {
        margin-bottom: 1.8rem;
        font-size: 2rem;
        padding-left: 3.4rem;
    }

    #mypage .app-detail dl {
        display: block;
        margin-bottom: 2rem;
    }

    #mypage .app-detail dl dt {
        width: 100%;
        padding: 1rem 3.4rem;
        text-align: left;
    }

    #mypage .app-detail dl dd {
        padding: 1rem 3.4rem;
        font-size: 1em;
    }

    #mypage .gift-item {
        margin-top: 0;
    }

    #mypage .gift-item dl dt {
        margin-bottom: 2rem;
    }

    #mypage .gift-item dl dd {
        padding: 0;
    }

    #mypage .gift-item dl dd .result {
        position: static;
        width: 9rem;
        height: 3.8rem;
        font-size: 2rem;
        border-radius: 2rem;
    }

    #mypage .gift-box {
        width: 100%;
        margin-top: 2rem;
    }

    #mypage .gift-item>div:not(:last-child) {
        margin-bottom: 2rem;
    }

    #mypage .gift-item h3 {
        padding-left: 0;
        margin-bottom: 2rem;
    }

    #mypage .gift-box .gift-detail {
        padding: 1rem 1.6rem;
    }

    #mypage .gift-box .gift-detail .name {
        font-size: 1.5rem;
    }

    #mypage .gift-box .gift-detail .type {
        font-size: 1.5rem;
        margin-top: 0.8rem;
    }

    /* エラー */

    #error {
        padding-top: 9.8rem;
        padding-bottom: 9.8rem;
    }

    #error h1 {
        font-size: 3rem;
        margin-bottom: 4rem;
    }

    #error .error-cts {
        font-size: 1.4rem;
    }

    #error .btn {
        width: auto;
        min-width: 20.5rem;
        height: 4.5rem;
    }

    #error .btn-area {
        margin-top: 6rem;
    }
}