.content {
    margin: 0 auto;
}
.content-card {
    margin: 0;
}
header {
    position: relative;
}
.disp-pc {
    display: block;
}
.disp-sp {
    display: none;
}

/* ログイン ヘッダー */
header.h-login img {
    display: block;
    margin: 0 auto;
}
header.h-login img.icon {
    width: 120px;
    margin-top: 150px;
    margin-bottom: 30px;
}
header.h-login img.title {
    width: 140px;
    margin-bottom: 85px;
}
header.h-login img.title.min-merge {
    margin-bottom: 35px;
}
header.h-login .cloud-1 {
    position: absolute;
    left: 13%;
    top: -35%;
    width: 60px;
}
header.h-login .cloud-2 {
    position: absolute;
    bottom: -18%;
    left: 34%;
    width: 35px;
}
header.h-login .cloud-3 {
    position: absolute;
    top: 25%;
    right: 19%;
    width: 45px;
}
.cloud-4 {
    position: absolute;
    bottom: 12%;
    left: 10%;
    width: 30px;
}
.cloud-5 {
    position: absolute;
    top: 14%;
    right: -45%;
    width: 35px;
}

/* アカウント登録 ヘッダー */
header.h-register div {
    width: max-content;
    margin: 100px auto auto;
}
header.h-register img {
    display: block;
    margin: 0 auto;
    float: left;
}
header.h-register img.icon {
    width: 30px;
}
header.h-register img.title {
    height: 30px;
    margin-left: 10px;
}
header.h-register img.title.min-merge {
    margin-bottom: 35px;
}
header.h-register .cloud-1 {
    position: absolute;
    right: 22%;
    left: unset;
    top: -5%;
    width: 30px;
}
header.h-register .cloud-2 {
    position: absolute;
    bottom: 38%;
    left: 25%;
    width: 20px;
}
header.h-register p {
    text-align: center;
    margin-top: 25px;
    margin-bottom: 30px;
    font-size: var(--font_size_20);
    color: var(--base_blue_light);
}

.register h2 {
    /* width: max-content; */
    margin: 0 auto 60px auto;
    font-size: var(--font_size_16);
    color: var(--base_blue_light);
    text-align: center;
}
.register h2 span {
    color: var(--base_red);
}

/* フォーム関連 */
.login div.i-text {
    margin-bottom: 60px;
}
.register div.i-text,
.register .i-select {
    margin-bottom: 40px;
}
div.i-text.none-marge {
    margin-bottom: 0;
}
.register input[name=password]::placeholder,
.reset input[name=password]::placeholder {
    font-size: var(--font_size_14);
}
input[type=date].i-text,
input[name=birthday].i-text {
    padding-left: 70px;
}
input[type=date].i-text ~ .inner-label,
input[name=birthday].i-text ~ .inner-label {
    position: absolute;
    top: 0;
    font-size: var(--font_size_16);
    color: var(--base_blue);
    height: 100%;
    margin: 0;
    line-height: 44px;
}
input[data-opt=accountName],
input[name=snsTwitterUrl],
input[name=snsInstagramUrl],
input[name=snsTiktokUrl],
input[name=snsPinterestUrl] {
    padding-left: 24px;
}

.link-text {
    display: flex;
    justify-content: center;
    margin-bottom: 60px;
    font-size: var(--font_size_16);
    color: black;
    text-decoration: underline;
}
.link-text:hover {
    color: black !important;
    text-decoration: none;
}

/* カード関連 */
.image-card-checkbox,
.text-card-checkbox {
    display: none;
}
.image-card {
    display: block;
    margin-bottom: 40px;
    padding: 6px;
    border-radius: 10px;
    border: solid 4px var(--base_gray);
    background-color: var(--base_gray);
    cursor: pointer;
    overflow: hidden;
}
.image-card:hover,
.text-card:hover {
    box-shadow: 0 3px 6px var(--shadow);
    transition: all .3s;
}
.image-card .image-card-name {
    height: 45px;
    line-height: 35px;
    margin: 0;
    text-align: center;
    user-select: none;
    transition: all .3s;
}
.image-card.attrib .image-card-name {
    height: 85px;
    line-height: unset;
    padding: 0 65px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.image-card img {
    display: block;
    width: 100%;
    border-radius: 17px;
    background-color: white;
    z-index: 1;
}
.image-card .image-card-check {
    height: 0;
    line-height: 40px;
    margin: 0;
    border-radius: 50px;
    background-color: var(--base_green);
    text-align: center;
    color: white;
    visibility: hidden;
    transition: all .3s;
    background-image: url(../../img/commons/check_black.png);
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: 10px;
}
.image-card.attrib .image-card-check {
    border-radius: 20px;
    padding: 0 65px;
}
.image-card .image-card-name span,
.image-card .image-card-check span {
    font-size: var(--font_size_12);
    display: contents;
}
.image-card-checkbox:checked + .image-card {
    border: solid 4px var(--base_red);
    background-color: white;
    box-shadow: 0 3px 6px var(--shadow);
    transition: all .3s;
}
.image-card-checkbox:checked + .image-card .image-card-name {
    display: block;
    height: 0;
    color: white;
    transition: all .3s;
}
.image-card-checkbox:checked + .image-card .image-card-check {
    height: 40px;
    margin-top: 5px;
    visibility: visible;
    transition: all .3s;
}
.image-card-checkbox:checked + .image-card.attrib .image-card-check {
    height: 80px;
    line-height: unset;
    margin-top: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: visible;
    transition: all .3s;
    padding: 0 65px;
}
.text-card {
    height: 80px;
    line-height: 80px;
    margin: 0 0 20px 20px;
    padding: 0 40px 0 50px;
    border-radius: 10px;
    background-color: var(--base_gray);
    text-align: center;
    color: var(--base_black);
    transition: all .3s;
    background-image: url(../../img/commons/check_white.png);
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: 20px;
    cursor: pointer;
}
.text-card-checkbox:checked + .text-card {
    background-color: var(--base_green);
    color: white;
    background-image: url(../../img/commons/check_black.png);
    box-shadow: 0 3px 6px var(--shadow);
    transition: all .3s;
}

/* 入力フォーム2関連 */
.i-text-2 {
    margin-bottom: 40px;
}
.i-text-2 label {
    color: var(--base_black);
    margin-bottom: 10px;
}
.i-text-2 label img {
    width: 20px;
    margin-bottom: 3px;
}
.i-text-2 textarea,
.i-text-2 input {
    height: 60px;
    padding: 12px 20px;
    border-radius: 10px;
    border: solid 1px var(--base_gray);
    font-weight: normal;
}
.i-text-2 textarea:focus,
.i-text-2 input:focus {
    /* 必要であれば */
    /* border: solid 1px var(--base_black);
    transition: all .3s; */
}

.publish-mes {
    margin: 0;
}
.publish.toggle-button {
    height: 60px;
    line-height: 60px;
    border-radius: 14px;
    color: white;
    text-align: center;
    cursor: pointer;
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: 20px;
    margin-bottom: 60px;
}
.publish.toggle-button > p,
.publish.toggle-button:hover > p {
    color: white !important;
}
.publish.toggle-button.on {
    background-color: var(--base_black);
    background-image: url(../../img/auth/open_icon.png);
}
.publish.toggle-button.off {
    background-color: var(--base_red);
    background-image: url(../../img/auth/close_icon.png);
}

.switch {
    height: 60px;
    border-radius: 14px;
    background-color: var(--base_gray);
    padding: 0;
    position: relative;
    display: flex;
    cursor: pointer;
}
.switch img {
    position: absolute;
    top: 20px;
    width: 20px;
    height: 20px;
}
.switch img.on {
    left: calc(25% - 10px);
}
.switch img.off {
    right: calc(25% - 10px);
}
.switch .publish.toggle-switch {
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    margin: 0;
    background-color: var(--base_green);
    border-radius: 14px;
}
.switch.on .publish.toggle-switch {
    right: 50%;
    transition: all .3s;
}
.switch.off .publish.toggle-switch {
    right: 0;
    transition: all .3s;
}

.register .choice-main {
    display: flex;
    justify-content: center;
    margin-bottom: 60px;
}
.register .choice-main img {
    width: 190px;
    height: 190px;
    margin: 0 -10px;
}
.register .choice-main img.foreground {
    z-index: 1;
}

.error-block {
    margin-bottom: 60px;
    margin-top: -35px;
}
.error {
    font-size: var(--font_size_12);
    text-align: center;
    color: var(--base_red);
    margin: -20px auto 20px auto;
}
.error-block .error {
    text-align: left;
}
.pw-error {
    font-size: var(--font_size_12);
    text-align: center;
    color: var(--base_red);
    margin-bottom: 20px;
}

.separate {
    position: relative;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 60px;
}
.separate .line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 90%;
    height: 1px;
    background-color: var(--base_gray);
}
.separate .txt {
    position: relative;
    width: max-content;
    margin: auto;
    padding: 0 5%;
    background-color: white;
    font-size: var(--font_size_18);
    color: var(--base_gray);
    text-align: center;
    z-index: 2;
}

.confirmation-mes {
    font-size: var(--font_size_12);
    color: var(--base_blue_light);
    margin-top: 10px;
    margin-bottom: 60px;
}
.confirmation-mes img {
    width: 20px;
    display: none;
    float: right;
    cursor: pointer;
}
.confirmation-mes img:hover,
.confirmation-mes img:active {
    opacity: 0.5;
}
.confirmation-mes img.enable {
    display: inline-flex;
}
.fogot-pw-mes {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 60px;
    padding: 20px;
    border: solid 2px var(--base_gray);
    border-radius: 15px;
    font-size: var(--font_size_16);
    color: black;
}
.fogot-pw-mes.tc-red {
    color: var(--base_red) !important;
}
.fogot-pw-mes.send {
    background-image: url(../../img/commons/check_black.png);
    background-size: 20px;
    background-position: 20px;
    background-repeat: no-repeat;
}
.fogot-pw-mes span {
    font-size: var(--font_size_20);
    margin-top: 5px;
}
.fogot-pw-s-mes {
    text-align: center;
    margin-bottom: 235px;
    margin-top: -30px;
    font-size: var(--font_size_16);
    color: black;
}

/* アカウントアイコン関連 */
.a-icon {
    width: 100%;
    padding-bottom: 33.333333%;
    border-radius: 30px;
}

/* アカウント登録-詳細 */
.register .row {
    margin-bottom: 20px;
}
.register .names {
    text-align: center;
    margin: 30px 0 60px 0;
}
.register .names h3 {
    font-size: 28px;
}
.register .row.sns .icon {
    display: flex;
    height: 44px;
    padding-right: 0;
    align-items: center;
}
.register .row.sns .icon img {
    height: 34px;
    opacity: 0.3;
    transition: all .3s;
}
.register .row.sns .icon.focus img,
.register .row.sns .icon.is-valid img {
    opacity: 1;
}

/* col-lg */
@media (min-width: 992px) and (max-width: 1199px) {
    header.h-login .cloud-1 {
        left: 26%;
    }
    header.h-login .cloud-2 {
        left: 33%;
    }
    header.h-login .cloud-3 {
        right: 25%;
    }
    header.h-register .cloud-1 {
        right: 26%;
    }
    header.h-register .cloud-2 {
        left: 26%;
    }
    .cloud-4 {
        left: 13%;
    }
    .cloud-5 {
        right: -45%;
    }
    .disp-pc {
        display: block;
    }
    .disp-sp {
        display: none;
    }
    .register .choice-main img {
        width: 160px;
        height: 160px;
    }
    .a-icon {
        padding-bottom: 33.333333%;
    }
}
/* col-md */
@media (min-width: 768px) and (max-width: 991px) {
    header.h-login .cloud-1 {
        left: 17%;
    }
    header .h-login.cloud-2 {
        left: 32%;
    }
    header.h-login .cloud-3 {
        right: 15%;
    }
    header.h-register .cloud-1 {
        right: 20%;
    }
    header.h-register .cloud-2 {
        left: 25%;
    }
    .cloud-4 {
        left: 10%;
    }
    .cloud-5 {
        right: -30%;
    }
    .disp-pc {
        display: none;
    }
    .disp-sp {
        display: block;
    }
    .register .choice-main img {
        width: 120px;
        height: 120px;
    }
    .a-icon {
        padding-bottom: 50%;
    }
}
/* col-* and col-sm */
@media (min-width: 0px) and (max-width: 767px) {
    header.h-login .cloud-1 {
        left: 13%;
    }
    header.h-login .cloud-2 {
        left: 24%;
    }
    header.h-login .cloud-3 {
        right: 10%;
    }
    header.h-register .cloud-1 {
        right: 15%;
    }
    header.h-register .cloud-2 {
        left: 15%;
        bottom: 60%;
    }
    .cloud-4 {
        left: 10%;
    }
    .cloud-5 {
        right: -30%;
    }
    .disp-pc {
        display: none;
    }
    .disp-sp {
        display: block;
    }
    .image-card p {
        font-size: 0.8em;
    }
    .register .choice-main img {
        width: 90px;
        height: 90px;
    }
    .a-icon {
        padding-bottom: 50%;
    }
    input[data-opt=accountName],
    input[name=snsTwitterUrl],
    input[name=snsInstagramUrl],
    input[name=snsTiktokUrl],
    input[name=snsPinterestUrl] {
        padding-left: 29px;
    }
    input[type=date].i-text,
    input[name=birthday].i-text {
        padding-left: 90px;
        background-color: white;
    }
    .i-select select {
        background-color: white;
    }
    .register h2 {
        text-align: center;
    }
    .image-card .image-card-name span,
    .image-card .image-card-check span {
        font-size: var(--font_size_10);
    }
    .image-card.attrib .image-card-name {
        padding: 0 25px;
    }
    .image-card-checkbox:checked + .image-card.attrib .image-card-check {
        padding: 0 25px;
        font-size: var(--font_size_12);
    }
    .foget input[name=email]::placeholder {
        font-size: var(--font_size_16);
    }
    .iphone .login input[name=password]::placeholder {
        font-size: var(--font_size_18);
    }
    .iphone input[name=password],
    .iphone input[name=password_confirmation] {
        font-size: var(--font_size_14);
    }
    .iphone div.i-text {
        height: 40px;
    }
    .iphone input[name=birthday] {
        float: right;
        margin-right: 24px;
    }
    .iphone div.i-text input[name=birthday] ~ .under-line {
        top: 40px;
    }
}
