html {
    height: 100%;
    font-size: 62.5%;
}
@media only screen and (max-width: 768px) {
    html {
        font-size: 56.3%;
    }
}

body {
    width: 100%;
    min-width: 319px;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    color: #263033;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-weight: 600;
    font-size: 1.5em;
    line-height: 1;
    letter-spacing: .06em;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

*,*:before,*:after {
    box-sizing: inherit
}

* {
    margin: 0;
    padding: 0
}

p,ol,ul,li,dl,dt,dd,table,tr,th,td,h1,h2,h3,h4,h5,h6 {
    margin: 0;
    padding: 0;
    line-height: 1.5;
    overflow-wrap: anywhere; /* 収まらない場合に折り返す */
    word-break: normal; /* 単語の分割はデフォルトに依存 */
}

ul>li,ul>li {
    list-style: none
}

ol>li {
    overflow-wrap: break-word
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

select,option {
    color: #000
}

a {
    cursor: pointer
}

h1, h2, h3, h4 {
    font-weight: 600;
}

button {
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
    color: #000;
    line-height: 1.5;
    cursor: pointer;
    outline: none;
    appearance: none
}

button:disabled {
    cursor: default;
    pointer-events: none
}

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

ul {
    margin: 0;
    padding: 0
}

ul li {
    list-style: none
}

fieldset,legend {
    padding: 0;
    border: none
}

input[type=number] {
    -moz-appearance: textfield
}

input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none
}
/* ユーティリティ */
.pc_non {
    display: none;
}
@media only screen and (max-width: 768px) {
    .pc_non {
        display: block;
    }
    .sp_non {
        display: none;
    }
}

.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.box-center {
    margin-left: auto;
    margin-right: auto;
}

.margin-bottom-lg {
    margin-bottom: 3.2rem;
}
.margin-bottom-zero {
    margin-bottom: 0 !important
}

.list-disk>li {
    padding-left: 16px;
    position: relative;
    font-size: 1.6rem;
}
.list-disk>li::before {
    content: '';
    position: absolute;
    top: .5em;
    left: 0;
    display: inline-block;
    background: #002554;
    border-radius: 8px;
    width: 8px;
    height: 8px
}

.list-note>li {
    padding-left: 16px;
    position: relative;
    font-size: 1.3rem;
    font-weight: normal;
}
.list-note>li::before {
    content: "\203B";
    position: absolute;
    top: 0;
    left: 0;
    font-weight: normal;
}
.note {
    position: relative;
    padding-left: 20px;
    font-size: 1.4rem;
}

.note::before {
    content: "\203B";
    position: absolute;
    top: -2px;
    left: 0
}

.text-upper {
    text-align: center;
    margin-bottom: 12px;
}
.text-upper span:not(.sp_non) {
    position: relative;
    display: inline-block;
    padding: 0 16px;
    font-size: 2.4rem;
    font-weight: bold;
    color: #004C97;
}
.text-upper span:not(.sp_non)::before, .text-upper span:not(.sp_non)::after {
    position: absolute;
    top: 0px;
    bottom: 0;
    content: "";
    display: inline-block;
    width: 0px;
    height: 24px;
    border-left: 2px solid #004C97;
    margin: auto;
}
.text-upper span:not(.sp_non)::after {
    right: 4px;
    transform: rotate(35deg);
}
.text-upper span:not(.sp_non)::before {
    left: 4px;
    transform: rotate(-35deg);
}
@media only screen and (max-width: 768px) {
    .text-upper {
        padding-top: 0;
    }
    .text-upper span:not(.sp_non) {
        font-size: 1.8rem;
    }
    .text-upper span:not(.sp_non)::before, .text-upper span:not(.sp_non)::after {
        height: 17px;
    }
}
/* 各カラー設定 */
:root {
    --check-01: #002554;
    --check-01__text: #002554;
    --check-01__faq: #F2F7FD;
    --check-02: #004C97;
    --check-02__text: #002141;
    --check-02__faq: #F4F9FF;
    --check-03: #0072CE;
    --check-03__faq: #F2F9FF;
    --check-04: #00A3E4;
    --check-04__text: #003C53;
    --check-04__faq: #EDFAFF;
    --check-05: #009CA6;
    --check-05__text: #004448;
    --check-05__faq: #ECF8F8;
    --check-06__faq: #ECF4F8;
    --check-07__text: #002D4A;
}

/* ヘッダー */
/* .welcome-header {
    position: relative;
    top: 0;
    width: 100%;
    background: #F7F7F7;
    box-shadow: 0 4px 16px #00000014;
    z-index: 100;
}
.welcome-header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1340px;
    height: 92px;
    margin: 0 auto;
    padding: 29px 30px 28px;
}
.welcome-header__logo {
    display: inline-block;
    line-height: 0;
    transition: opacity .4s;
}
.simple-header__logo img {
    width: 395px;
}
@media screen and (max-width: 768px) {
    .welcome-header__inner {
        position: relative;
        height: 56px;
        padding: 17px 16px;
        z-index: 99;
    }
    .welcome-header__logo img {
        width: 255px;
    }
} */

/* KV */
.welcome-kv {
    background-image: url(/content/dam/diners/img/usage/welcome/welcome-kv_pc.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    display: flex;
    align-items: center;
    height: 31rem;
}
.welcome-nokv {
    background-color: transparent;
    display: flex;
    justify-content: center;
    padding: 6rem 0;
    margin-bottom: 4rem;
}
.welcome-nokv__blue {
    background-color: #E7EDF2;
}
.welcome-nokv__head {
    margin: 0;
}
.welcome-kv__inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 60px;
}
.welcome-kv__head {
    padding: 3rem 0;
}
.welcome-kv__head p {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
    color: #041E42;
}
.welcome-nokv__head p {
    margin-bottom: 5px;
    text-align: center;
    line-height: 1.3;
}
.welcome-title__h1 {
    font-size: 3.2rem;
    color: #041E42;
}
.welcome-nokv__head .welcome-title__h1 {
    font-size: 3.5rem;
    line-height: 1.3;
    text-align: center;
}
@media screen and (max-width: 750px) and (min-width: 450px) {
    .welcome-kv {
      background-image: url(/content/dam/diners/img/usage/welcome/welcome-kv_sp.png);
      height: 65vh;
      max-height: 650px;
      display: block;
      background-position: center 85%;
      align-items: center; /* 必要に応じて調整 */
    }
}
@media screen and (max-width: 449px) {
    .welcome-kv {
      height: 55vh;
      max-height: none;
      min-height: 450px;
      display: block;
      background-position: center bottom;
      background-image: url(/content/dam/diners/img/usage/welcome/welcome-kv_sp.png);
    }
}
@media only screen and (max-width: 768px) {
    
    .welcome-kv__head {
        padding: 6rem 0;
    }
    .welcome-kv__inner {
        padding: 0 3rem;
    }
    .welcome-kv__head p {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .welcome-title__h1 {
        font-size: 24px;
    }
    .welcome-nokv {
        padding: 4rem 0;
        margin-bottom: 3rem;
    }
    .welcome-nokv__head .welcome-title__h1 {
        font-size: 2.8rem;
    }
}

/* できること */
.welcome-ancer {
    background: #fff;
    padding: 10rem 2rem;
}
.welcome-ancer__inner {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
}
.welcome-title__h2 {
    font-size: 3.2rem;
    margin-bottom: 6rem;
    text-align: center;
    color: #041E42;
}
.welcome-title__h2__border {
    font-size:2.5rem;
    border-bottom: 2px solid #263033;
    padding-bottom: 2rem;
    margin-bottom: 3rem;
    text-align: center;
}
.welcome-ancer .welcome-title__h2 img {
    width: 50px;
    vertical-align: bottom;
    margin-right: 16px;
}
.welcome-title__h3 {
    font-size: 2rem;
    margin-bottom: 2rem;
    font-weight: bold;
}
.welcome-ancer__3boxwrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -32px -15px 0px;
}

.welcome-ancer__box {
    width: calc(20% - 30px);
    margin: 32px 15px 0;
    padding-bottom: 60px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0px 10px 20px rgba(151, 153, 155, 0.2);
    background: #fff;
    border-radius: 10px;
    text-align: center;
    text-decoration: none;
}
.welcome-ancer__box-header {
    background-color: #295A95;
    width: 100%;
    padding: 10px;
    text-align: center;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.welcome-ancer__box-header span {
    font-size: 18px;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    position: relative;
    padding-left: 24px;
}
.welcome-ancer__box-header span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0px; /* チェックマークの位置調整 */
    width: 14px; 
    height: 14px;
    background-color: white; /* 背景色 */
    transform: translateY(-50%)
}
.welcome-ancer__box-header span::before {
    position: absolute;
    top: 45%;
    left: 3px;
    content: "";
    display: inline-block;
    width: 8px;
    height: 6px;
    border-left: 2px solid #295A95;
    border-bottom: 2px solid #295A95;
    transform: translateY(-45%) rotate(-45deg);
    z-index: 1; /* チェックマークがテキストより上に表示されるように */
}
.welcome-ancer__box .welcome-ancer__box-text {
    text-align: center;
    color: #000;
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0px;
}
.welcome-ancer__box img {
    width: 128px;
    margin: 1rem auto;
}
.welcome-ancer__box::after {
    content: "";
    width: 16px;
    height: 16px;
    border-right: solid 2px #295A95;
    border-bottom: solid 2px #295A95;
    transform: rotate(45deg);
    position: absolute;
    left: calc(50% - 8px);
    bottom: 24px;
}

.welcome-ancer__box.box01 .welcome-ancer__box-header {
    background-color: var(--check-01);
}
.welcome-ancer__box.box01 .welcome-ancer__box-header span::before {
    border-left: 2px solid var(--check-01);
    border-bottom: 2px solid var(--check-01);
}
.welcome-ancer__box.box01::after {
    border-right: solid 2px var(--check-01);
    border-bottom: solid 2px var(--check-01);
}

.welcome-ancer__box.box02 .welcome-ancer__box-header {
    background-color: var(--check-02);
}
.welcome-ancer__box.box02 .welcome-ancer__box-header span::before {
    border-left: 2px solid var(--check-02);
    border-bottom: 2px solid var(--check-02);
}
.welcome-ancer__box.box02::after {
    border-right: solid 2px var(--check-02);
    border-bottom: solid 2px var(--check-02);
}

.welcome-ancer__box.box03 .welcome-ancer__box-header {
    background-color: var(--check-03);
}
.welcome-ancer__box.box03 .welcome-ancer__box-header span::before {
    border-left: 2px solid var(--check-03);
    border-bottom: 2px solid var(--check-03);
}
.welcome-ancer__box.box03::after {
    border-right: solid 2px var(--check-03);
    border-bottom: solid 2px var(--check-03);
}

.welcome-ancer__box.box04 .welcome-ancer__box-header {
    background-color: var(--check-04);
}
.welcome-ancer__box.box04 .welcome-ancer__box-header span::before {
    border-left: 2px solid var(--check-04);
    border-bottom: 2px solid var(--check-04);
}
.welcome-ancer__box.box04::after {
    border-right: solid 2px var(--check-04);
    border-bottom: solid 2px var(--check-04);
}

.welcome-ancer__box.box05 .welcome-ancer__box-header {
    background-color: var(--check-05);
}
.welcome-ancer__box.box05 .welcome-ancer__box-header span::before {
    border-left: 2px solid var(--check-05);
    border-bottom: 2px solid var(--check-05);
}
.welcome-ancer__box.box05::after {
    border-right: solid 2px var(--check-05);
    border-bottom: solid 2px var(--check-05);
}

@media only screen and (max-width: 768px) {
    .welcome-ancer {
        padding: 40px 16px 80px;
    }
    .welcome-title__h2 {
        font-size: 24px;
        margin-bottom: 32px;
    }
    .welcome-title__h2.margin-bottom-adjust {
        margin-bottom: 18px;
    }
    .welcome-ancer .welcome-title__h2 img {
        margin-bottom: 20px;
    }
    .welcome-title__h2__border {
        font-size: 18px;
    }
    .welcome-title__h3 {
        font-size: 16px;
    }
    .welcome-ancer__3boxwrap {
        display: block;
        margin: 0;
        padding-top: 0;
    }
    .welcome-ancer__box {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 10px;
        padding: 22px;
        flex-direction: row;
        max-width: 343px;
        box-shadow: 0px 0px 20px rgba(151, 153, 155, 0.2);
    }
    .welcome-ancer__box img {
        width: 50px;
        margin: 0;
    }
    .welcome-ancer__box .welcome-ancer__box-text {
        font-size: 18px;
        text-align: left;
        margin-left: 13px;
    }
    .welcome-ancer__box::after {
        content: "";
        width: 14px;
        height: 14px;
        border-right: solid 2px #295A95;
        border-bottom: solid 2px #295A95;
        transform: rotate(45deg);
        position: absolute;
        left: calc(100% - 40px);
        bottom: calc(50% - 8px);
    }
}


/* できること */
.welcome-step {
    background: #F7F7F7;
    padding: 10rem 16px 12rem;
}
.welcome-step__inner {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
}
.welcome-step .welcome-title__h2 img {
    width: 54px;
    margin-right: 16px;
    vertical-align: bottom;
}
.welcome-step__anc {
    padding-bottom: 6rem;
}
.welcome-step__anc:last-child {
    padding-bottom: 0;
}
.welcome-step__box {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    background: #FFFFFF;
    padding-top: 3.6rem;
    margin-bottom: 6rem;
    border-radius: 10px;
    box-shadow: 0px 10px 20px rgba(151, 153, 155, 0.2);
}
.welcome-step__anc .welcome-step__box {
    margin-bottom: 0;
}
.welcome-step__box.faq_non {
    padding-bottom: 80px;
}
.welcome-step__name {
    display: flex;
    align-items: center;
    max-width: 1000px;
    margin: 0 auto;
}
.welcome-step__name .num {
    width: 100px;
    height: 100px;
    line-height: 100px;
    margin-right: 24px;
}
#box06 .welcome-step__name .num,#box07 .welcome-step__name .num {
    width: 135px;
    height: 100px;
    line-height: 100px;
    margin-right: 24px;
}

.welcome-step__name .lead {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.welcome-step__name .lead p {
    font-size: 3.2rem;
    margin-bottom: 0.5rem;
}
.welcome-step__name .lead img {
    width: 100px;
}
.welcome-step__hr {
    max-width: 1000px;
    width: 90%;
    margin: 36px auto 48px;
    color: #CCCCCC;
}
.welcome-step-article {
    display: flex;
    max-width: 1000px;
    margin: 0 auto;
}
.welcome-step-article .img {
    width: 31%;
    text-align: center;
}
.welcome-step-article__text {
    width: 69%;
    padding-left: 36px;
}
.welcome-step-article__text p {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 12px;
}
.welcome-step__3box {
    display: flex;
    justify-content: center;
    max-width: 1060px;
    padding: 0 2rem;
    margin: 7.2rem auto;
}
.welcome-step__3box .item {
    width: calc(33.33333% - 30px);
    margin: 0 16px;
    text-align: center;
}
.welcome-step__3box .item h4 {
    font-size: 2rem;
    color: #004C97;
    margin-bottom: 1.5rem;
}
.welcome-step__3box .item img {
    width: 214px;
    margin-bottom: 20px;
}
.welcome-step__3box .item img:last-child {
    margin-bottom: 0px;
}
/* ダウンロード */
.welcome-step__3box.welcome-step__3box__dl {
    margin: 3.6rem auto;
}
.welcome-step__3box.welcome-step__3box__dl .item {
    width: calc(33.33333% - 24px);
    margin: 0 12px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 26px 16px;
    background-color: #F7F7F7;
}
.welcome-step__3box.welcome-step__3box__dl p {
    margin-bottom: 1.5rem;
    font-size: 18px;
    font-weight: 600;
}
.welcome-step__3box.welcome-step__3box__dl .item.iphone img {
    width: 220px;
}
.welcome-step__3box.welcome-step__3box__dl .item.Android img {
    width: 250px;
}
.welcome-step__3box.welcome-step__3box__dl .item.pc img {
    width: 150px;
}

.welcome-step__note {
    max-width: 1040px;
    padding: 0 2rem;
    margin: 3.6rem auto 0;
}

.welcome-step__bottom {
    background: #F2F7FD;
    padding: 3.4rem 3rem;
    margin-top: 72px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
.welcome-step__bottom .inner {
    max-width: 1000px;
    margin: 0 auto;
}
.welcome-step__bottom h4 {
    text-align: center;
    font-size: 20px;
    margin-bottom: 20px;
}
.welcome-step__bottom .list-disk {
    margin-bottom: 0.5rem;
}
@media only screen and (max-width: 1160px) {
.welcome-step__box__inner {
    padding: 0 16px;
    margin: 0 auto;
}
}
@media only screen and (max-width: 768px) {
    .welcome-step {
        padding: 60px 16px 80px;
    }
    .welcome-step__anc {
        padding-bottom: 0;
        padding-top: 24px;
    }
    .welcome-step__box {
    margin-bottom: 24px;
    }
    .welcome-step__name {
        justify-content: center;
        flex-direction: column;
    }
    .welcome-step__name .num {
        width: 74px;
        height: 74px;
        line-height: 74px;
        margin-right: 12px;
    }
    #box06 .welcome-step__name .num,#box07 .welcome-step__name .num {
        width: 100px;
        height: 74px;
        line-height: 74px;
        margin-right: 12px;
    }
    .welcome-step__hr {
        display: none;
    }
    .welcome-step .welcome-title__h2 img {
        width: 74px;
        margin-right: 0;
        margin-bottom: 24px;
    }
    .welcome-step__name .lead p {
        font-size: 20px;
        text-align: center;
    }
    .welcome-step__name .lead img {
        display: none;
    }
    .welcome-step-article {
        padding-top: 0;
        margin-top: 25px;
        flex-direction: column;
    }
    .welcome-step-article .img {
        width: 100%;
        margin-bottom: 30px;
    }
    .welcome-step-article__text {
        width: 100%;
        padding: 0;
    }
    .welcome-step-article__text p {
        font-size: 14px;
    }

    .welcome-step__3box {
        flex-wrap: wrap;
        padding: 0;
        margin: 4rem auto 0;
    }
    .welcome-step__3box .item {
        width: 100%;
        margin: 0 auto 60px;
        min-height: 200px;
    }
    .welcome-step__3box.welcome-step__3box__dl {
        margin: 3.6rem auto 0;
    }
    .welcome-step__3box.welcome-step__3box__dl .item {
        width: 100%;
        margin: 0 auto 24px;
        min-height: 200px;
    }
    .welcome-step__3box .item:last-child {
        margin-bottom: 30px;
    }

    .welcome-step__3box.welcome-step__3box__dl .item.pc {
        display: none;
    }
    .welcome-step__3box.welcome-step__3box__dl .item:last-child .Android {
        margin-bottom: 0;
    }
    .welcome-step__bottom {
        margin-top: 40px;
        padding: 24px 16px 30px;
    }
}

/* そのほか */
.welcome-register {
    padding: 10rem 2rem;
}
.welcome-register__inner {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.welcome-btn {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity .4s;
    cursor: pointer;
    box-sizing: border-box;
    background: #fff;
    width: 500px;
    max-width: 626px;
    min-height: 84px;
    padding: 11px 40px;
    border-radius: 43px;
    line-height: 1.5;
    text-decoration: none !important;
    font-size: 2.4rem;
    font-weight: bold;
    color: #004C97;
    border: 1px solid #004C97;
    text-align: center;
}
.welcome-btn__primary {
    background: linear-gradient(to left bottom, #004c97 0%, #278bcc 100%);
    color: #FFFFFF;
    border: 1px solid transparent;
}
.welcome-btn__large {
   width: 626px;
}
.welcome-btn__small {
    width: 311px;
    max-width: 100%;
    min-height: 53px;
    padding: 10px;
    font-size: 16px;
}
a.welcome-btn__small[target="_blank"] img {
   height: 18px;
   width: auto;
   vertical-align: middle;
}
.welcome-btn.welcome-btn__black {
    color: #263033;
    border: 1px solid #263033;
}

.welcome-btn__2row {
    font-size: 2.0rem;
}
.welcome-link {
    display: inline-block;
    color: #295a95;
    text-align: left;
    font-size: 1.6rem;
    transition: opacity .4s;
    font-weight: normal;
}
.welcome-link:hover {
    text-decoration: none;
}

.welcome-link__icon {
    display: inline-block;
    color: #295a95;
    font-size: 1.6rem;
    transition: opacity .4s;
    text-decoration: none;
    margin-top: 2rem;
    font-weight: normal;
}
.welcome-link__icon .icon-arrow,.welcome-btn .icon-arrow {
    padding-right: 8px;
    line-height: 1.5;
    vertical-align: middle;
}
.welcome-link__icon .icon-arrow img {
    max-width: 20px;
}
.welcome-link__icon .icon-under {
    padding-right: 8px;
    line-height: 1.3;
    vertical-align: top;
}
@media only screen and (max-width: 768px) {
    .welcome-link__icon .icon-under {
        padding-right: 6px;
    }
}
.welcome-link__icon span {
    pointer-events: none;
}
.welcome-register .welcome-link__icon {
    margin: 2.4rem 0 3.2rem;
}
.welcome-register .btn-group {
    margin-bottom: 7.6rem;
}
.welcome-register__inquiry {
    border: 1px solid #CCCCCC;
    padding: 3rem 6.8rem;
    margin-top: 2rem;
}
.welcome-register__inquiry .inquiry {
    max-width: 864px;
}
.welcome-register__inquiry .inquiry .name {
    font-size: 1.8rem;
    margin-bottom: 1.2rem;
}
.welcome-register__inquiry .inquiry ul>li {
    margin-bottom: 1.2rem;
}
@media only screen and (max-width: 768px) {
    .welcome-register {
        padding: 60px 16px;
    }
    .welcome-register .welcome-title__h2 {
        font-size: 20px;
    }
    .welcome-register .text-upper {
        padding-top: 0;
    }
    .welcome-register .text-upper span {
        font-size: 1.8rem;
    }
    .welcome-register .text-upper span::before, .welcome-register .text-upper span::after {
        height: 17px;
    }
    .welcome-btn {
        transition: opacity .4s;
        cursor: pointer;
        width: 100%;
        max-width: 311px;
        min-width: 100%;
        min-height: 48px;
        padding: 10px 20px;
        border-radius: 35px;
        font-size: 16px;
    }
    .welcome-btn .icon-arrow img {
        max-width: 22px;
    }
    .welcome-btn__2row {
        font-size: 1.8rem;
    }
    .welcome-register .welcome-link__icon {
        margin: 16px 0 24px;
    }
    .welcome-register .btn-group {
        margin-bottom: 4.4rem;
    }
    .welcome-register__inquiry {
        padding: 2rem;
        margin-top: 2.2rem;
    }
    .welcome-register__inquiry .inquiry {
        max-width: 864px;
    }
    .welcome-register__inquiry .inquiry .name {
        font-size: 1.8rem;
        margin-bottom: 1.5rem;
    }
    .welcome-register__inquiry .inquiry ul>li {
        margin-bottom: 1.5rem;
    }
}

@media screen and (min-width: 769px) {
    .welcome-btn:hover {
        opacity: .8;
        text-decoration: none;
    }
    .welcome-link__icon:hover {
        opacity: .5;
        text-decoration: none;
    }
}


/* よくある質問 */
.welcome-faq {
    padding: 7.4rem 2rem 9.6rem;
    background: #ECF4FC;
}
.welcome-faq__inner {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    background: #FFFFFF;
    border-radius: 10px;
    padding: 4rem 6rem;
}
.welcome-faq__list {
    border-top: 1px solid #CCCCCC;
}
.welcome-faq__list p {
    font-size: 1.8rem;
    padding-left: 30px;
    position: relative;
    margin: 28px auto;
}
.welcome-faq__list p::before {
    content: "Q";
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 24px;
    font-size: 1.8rem;
    color: #004C97;
    font-weight: bold;
}

@media only screen and (max-width: 768px) {
    .welcome-step__bottom h4 {
        font-size: 16px;
        margin-bottom: 14px;
    }
    .welcome-faq {
        padding: 56px 16px;
    }
    .welcome-faq__inner {
        padding: 30px 16px;
    }
    .welcome-faq__list p {
        font-size: 14px;
        padding-left: 30px;
        position: relative;
        margin: 20px auto;
    }
}

/* タブの外観と基本的なスタイル */
.welcome-step__tab {
    width: 100%;
    max-width: 1000px;
    margin: 72px auto;
}
.welcome-step__tab-menu {
    display: flex;
    border-bottom: 2px solid #004C97; 
}
.welcome-step__tab-button {
    background-color: #D9D9D6;
    padding: 10px 20px;
    cursor: pointer;
    flex: 1;
    text-align: center;
    font-size: 18px;
    color: #263033;
    font-weight: 600;
    transition: background-color 0.3s;
    margin: 0 15px;
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
    /* border-bottom-left-radius: 3px; */
    /* border-bottom-right-radius: 3px; */
    /* z-index: 10; */
}
.welcome-step__tab-button span {
    font-size: 24px;
}
.welcome-step__tab-button.active {
    background-color: #fff;
    border: 2px solid #004C97;
    border-bottom: none;
    position: relative;
    color: #004C97;
}
.welcome-step__tab-button.active::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    background-color: #fff;
    width: 100%;
    height: 4px;
    /* background-image: url(/content/dam/diners/img/usage/welcome/tab_line.svg); */
    /* z-index: 1; */
}
/* タブの内容 */
.welcome-step__tab-content {
    padding-top: 45px;
}
.welcome-step__tab-pane {
    display: none;
    border-top: 2px solid #ccc;
}

.welcome-step__tab-pane.active {
    display: block;
    border-top: none;
}
.welcome-step__tab-pane .welcome-step__3box {
    margin: 0 auto;
}
.welcome-step__tab-pane .welcome-step__3box .item {
    width: 340px;
    text-align: center;
    position: relative;
    padding: 0 15px;
}
.welcome-step__3box__flex {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    min-height: 430px;
}
.welcome-step__tab-pane .step-badge {
    position: relative;
    text-align: center;
    margin-bottom: 24px;
}
.welcome-step__tab-pane .step-badge span {
    background: #004C97;
    color: #fff;
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    padding: 8px 10px;
    border-radius: 32px;
    width: 132px;
}
.welcome-step__tab-pane .lead {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 24px;
}
.welcome-step__tab-pane .sppay_box {
    padding: 32px 8px;
    border: 2px solid #D9D9D6;
    border-radius: 5px;
    max-width: 290px;
}
.welcome-step__tab-pane .sppay_box .title {
    font-size: 24px; 
    font-weight: 600;
    margin-bottom: 12px;
}
.welcome-step__tab-pane .sppay_box .text {
    font-size: 14px;
    margin-bottom: 18px;
}
.welcome-step__tab-pane .sppay_box img {
    width: 150px;
}
.welcome-step__tab-pane .sppay_box .welcome-link__icon {
    font-size: 14px;
    margin-top: 0;
}
.welcome-step__tab-pane .sppay_box .welcome-link__icon img {
    height: 14px;
    width: auto;
}
@media only screen and (max-width: 768px) {
    .welcome-step__tab {
        margin: 42px auto;
    }
    .welcome-step__tab-button {
        background-color: #D9D9D6;
        font-size: 12px;
        color: #263033;
        font-weight: 600;
        transition: none;
        margin: 0 6px;
        padding: 10px;
    }
    .welcome-step__tab-button span {
        font-size: 20x;
    }
    /* タブの内容 */
    .welcome-step__tab-content {
        padding-top: 40px;
    }    
    
    .welcome-step__tab-pane .welcome-step__3box .item {
        width: 100%;
        text-align: center;
        position: relative;
        padding: 0;
        margin-bottom: 48px;
    }
    .welcome-step__tab-pane .welcome-step__3box .item:last-child {
        margin-bottom: 0;
    }
    .welcome-step__tab-pane .sppay_box {
        width: 100%;
        max-width: 100%;
    }
    .welcome-step__tab-pane .sppay_box img {
        width: 200px;
        margin: 0 auto 20px;
    }
    .welcome-step__tab-pane .welcome-step__3box .item .welcome-btn {
        margin-top: 12px;
    }
    .welcome-step__3box__flex {
        justify-content: flex-start;
        min-height: 350px;
    }
    .welcome-step__tab-pane .sppay_box .welcome-link__icon {
        margin-top: 24px;
    }
}

.welcome-step.welcome__02 {
    position: relative;
}
.welcome-step.welcome__02 .welcome-step__inner:not(.welcome-note) {
    margin-bottom: 3rem;
}
.welcome-step.welcome__02::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    width: 1120px;
    height: 1px;
    transform: translateX(-50%);
    margin: 0 auto;
    background-color: #97999B;
}
.welcome-step.welcome__02 .welcome-step__hr {
    margin: 20px auto 48px;
}
@media only screen and (max-width: 768px) {
    .welcome-step.welcome__02::before {
        width: 90%;
    }
    .welcome-step.welcome__02 .welcome-step__hr {
       display: none;
    }
}


/* 各カラー設定 */
#col .welcome-step__3box .item h4 {
    color: var(--check-01__text);
}
#app_dl .welcome-step__3box .item h4 {
    color: var(--check-02__text)
}
#est .welcome-step__3box .item h4 {
    color: var(--check-04__text)
}
#threed_secure .welcome-step__3box .item h4 {
    color: var(--check-05__text)
}
#box07 .welcome-step__3box .item h4 {
    color: var(--check-07__text)
}

#col .welcome-step__bottom {
    background-color: var(--check-01__faq);
}
#app_dl .welcome-step__bottom {
    background-color: var(--check-02__faq)
}
#sp_pay .welcome-step__bottom {
    background-color: var(--check-03__faq)
}
#est .welcome-step__bottom {
    background-color: var(--check-04__faq)
}
#threed_secure .welcome-step__bottom {
    background-color: var(--check-05__faq)
}
#box06 .welcome-step__bottom {
    background-color: var(--check-06__faq)
}

/* フッター */
.simple-footer {
    position: relative
}

.simple-footer__pagetop {
    position: absolute;
    top: -88px;
    right: 40px;
    z-index: 100;
}

@media screen and (max-width: 1023px) {
    .simple-footer__pagetop.is-show {
        position:fixed;
        top: auto;
        right: 16px;
        bottom: 80px;
    }
}

@media screen and (min-width: 1024px) {
    .simple-footer__pagetop.is-show {
        position:fixed;
        top: auto;
        bottom: 40px;
    }
}
.simple-footer__pagetop>button {
    opacity: 0;
    position: relative;
    width: 48px;
    height: 48px;
    font-size: 0;
    border-radius: 4px;
    background: #002554;
    transition: all .4s
}

.simple-footer__pagetop>button:after {
    content: "";
    position: absolute;
    top: 16px;
    left: 20px;
    width: 10px;
    height: 17px;
    background: url(/content/dam/diners/img/usage/welcome/icon_arrow_w.svg) no-repeat;
    background-size: 100% auto;
    transform: rotate(-90deg)
}

@media screen and (min-width: 1024px) {
    .simple-footer__pagetop>button:hover {
        background-color:#295a95
    }
}
.simple-footer__pagetop.is-show>button {
    opacity: 1;
}

.simple-footer_bottom {
    background: #f7f7f7
}

.simple-footer_bottomInner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1340px;
    margin: 0 auto;
    padding: 20px 30px
}

@media screen and (max-width: 1023px) {
    .simple-footer_bottomInner {
        display:block;
        padding: 16px
    }
}

.simple-footer__logo {
    display: block;
    transition: opacity .4s;
    line-height: 0
}

@media screen and (min-width: 1024px) {
    .simple-footer__logo:hover {
        opacity:.7
    }
}

@media screen and (max-width: 1023px) {
    .simple-footer__logo {
        width:187px;
        margin: 0 auto
    }
}

.simple-footer_copyright {
    display: block;
    color: #263033;
    font-size: 1.0rem;
    line-height: 1.2
}

@media screen and (max-width: 1023px) {
    .simple-footer_copyright {
        margin-top:7px;
        text-align: center
    }
}

.simple-footer--before .simple-footer_bottomInner {
    align-items: flex-start;
    padding: 20px 16px
}

.simple-footer--before .simple-footer_bottomR {
    display: flex;
    gap: 20px
}

@media screen and (max-width: 1023px) {
    .simple-footer--before .simple-footer_bottomR {
        flex-direction:column;
        gap: 10px;
        margin-top: 20px
    }
}

.simple-footer--before .simple-footer_diners,.simple-footer--before .simple-footer_trust {
    display: flex;
    align-items: center;
    gap: 14px
}

@media screen and (max-width: 1023px) {
    .simple-footer--before .simple-footer_diners,.simple-footer--before .simple-footer_trust {
        justify-content:center
    }
}

.simple-footer--before .simple-footer_icon {
    line-height: 0
}

.simple-footer--before .simple-footer_diners .simple-footer_icon {
    width: 90px
}

.simple-footer--before .simple-footer_trust .simple-footer_icon {
    width: 158px
}

@media screen and (max-width: 1023px) {
    .simple-footer--before .simple-footer_trust .simple-footer_icon {
        width:127px
    }
}