* {margin:0;padding:0;list-style: none; text-decoration: none;}
img { max-width: 100%;}
::-webkit-scrollbar { width: 8px;}

::-webkit-scrollbar-track { background: transparent;}
::-webkit-scrollbar-thumb { background: #d9d9d9; border-radius: 999px;}
html { scrollbar-width: thin; scrollbar-color: #d9d9d9 transparent;}
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: min(2.5vw, 20px);}
header .logo a {
    display: flex;
    gap: 10px;
    align-items: center;}
header .logo img { width: 40px;}
header .logo div {
    font-weight: bold;
    font-size: 26px;
    text-align: center;
    text-box: trim-both cap alphabetic;}
header .logo div span {
    display: block;
    font-size: 8px;
    text-align: center;
    width: max-content;
    margin: 0 0 0 10px;}
header nav {
    display: flex;
    align-items: center;
    gap: min(2.5vw, 20px);}
header nav ul {
    display: flex;
    align-items: center;
    gap: min(2.5vw, 20px);
    font-size: 14px;}
header nav ul li {
    display: flex;
    padding: 0 0 0 20px;
    margin: 0 0 0 20px;
    position: relative;
    z-index: 1;}
header nav ul li:before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: calc(100% - 20px);
    transform: translate(-50%, -50%);
    z-index: 2;}
header nav ul .survey:before { background-image: url(../img/survey.svg);}
header nav ul .monitor:before { background-image: url(../img/monitor.svg);}
header nav ul .ranking:before { background-image: url(../img/ranking.svg);}
header nav ul .firsttime:before { background-image: url(../img/firsttime.svg);}
header .btn {
    display: flex;
    gap: min(2.5vw, 20px);
    align-items: center;}
header .btn a {
    width: max-content;
    display: block;
    padding: min(1.5vw, 10px) min(3.5vw, 30px) min(1.5vw, 10px) min(5.5vw, 50px);
    border-radius: 50px;
    font-size: 15px;}
header .btn .mypage {
    background-image: linear-gradient(90deg, rgba(34, 151, 163, 1), rgba(109, 166, 68, 1));
    position: relative;
    color: #fff;}
header .btn .line {
    background-image: linear-gradient(90deg, rgba(34, 151, 163, 1), rgba(109, 166, 68, 1));
    position: relative;
    color: #fff;}
header .btn .logout {
    background: #fff;
    position: relative;
    border: solid 1px #8791a5;
    color: #263456;}
header .btn a:before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: calc(100% - 50px);
    transform: translate(-50%, -50%);
    z-index: 2;
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(2deg) brightness(105%) contrast(102%);}
header .btn .mypage:before { background-image: url(../img/mypage.svg);}
header .btn .line:before { background-image: url(../img/line.svg);}
header .btn .logout:before {
    background-image: url(../img/logout_.svg);
    filter: brightness(0) saturate(100%) invert(16%) sepia(10%) saturate(3352%) hue-rotate(185deg) brightness(96%) contrast(87%);
    width: 15px;
    aspect-ratio: 139 / 150;
    height: auto;}
.head { position: relative;}
.head .image {
    width: 100%;
    height: min(25vw, 240px);
    position: relative;
    display: block;
    overflow: hidden;}
.head .image:before {
    content: "";
    position: absolute;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 1) 30%, rgba(255, 255, 255, 0) 50%);
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;}
.head .image img {
    max-width: initial;
    width: 100%;}
.head .message {
    display: flex;
    position: absolute;
    top: 50%;
    left: 2vw;
    transform: translate(0%, -50%);
    z-index: 2;}
.head .message .text {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 0 0 20px;}
.head .message .text .ttl {
    width: 100%;
    font-size: 24px;
    font-weight: bold;}
.head .message .text .txt {
    font-size: 14px;
    font-weight: 500;}
.head .message .text .txt span {
    display: block;
    font-size: 16px;
    color: #43b167;}
.head .message .points-held { display: none;}
.sp-login-area { display: none;}
header .menu { display: none;}
.break {
    padding: 12px min(2.5vw, 20px);
    background: #f6fafb;
    border-bottom: solid 1px #e6edf0;}
.break ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    max-width: 1200px;
    margin: 0 auto;
    font-size: 13px;}
.break ul li {
    display: flex;
    align-items: center;
    color: #657384;}
.break ul li:before {
    content: ">";
    margin: 0 8px 0 2px;
    color: #a9b4bf;
    font-size: 11px;}
.break ul li:first-child:before { content: ""; margin: 0;}
.break ul li:last-child { color: #1f2d3d; font-weight: 600;}
.break ul li a {
    color: #657384;
    transition: color .2s ease;}
.break ul li a:hover { color: #2297a3;}
main {
    display: flex;
    justify-content: space-between;
    width: 100%;}
.left-column,
.right-column {
    width: calc(100% - min(2vw, 20px));
    max-width: 220px;
    margin: min(2vw, 20px);}
.left-column .points-held {
    box-shadow: 0 0 3px #ccc;
    background: #fffefe;
    padding: min(1.4vw, 14px);
    overflow: hidden;}
.left-column .points-held p {
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 14px;}
.left-column .points-held div {
    display: flex;
    position: relative;
    gap: 10px;
    flex-wrap: wrap;
    align-items: end;
    color: #42a261;
    font-weight: bold;}
.left-column .points-held div:before {
    content: "";
    background-image: url(../img/point_coin.svg);
    width: 30px;
    aspect-ratio: 1 / 1;
    background-size: 100%;
    background-repeat: no-repeat;}
.left-column .points-held div span {}
.left-column .points-held div span:first-child {
    font-size: 28px;
    line-height: 1.1;}
.left-column .points-held div span:last-child {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 14px;
    line-height: 1;
    color: #254d45;}
.left-column .points-held a {
    background-color: #3ea562;
    font-size: 12px;
    display: block;
    line-height: 1;
    font-weight: 500;
    color: #fff;
    text-align: center;
    margin-top: 14px;
    padding: 12px;
    border-radius: 50px;
    position: relative;}
.left-column .points-held a:hover {
    color: #fff;
    opacity: .7;}
.left-column .points-held a:after {
    content: "";
    background-image: url(../img/prev.svg);
    background-size: 100%;
    width: 8px;
    display: block;
    position: absolute;
    aspect-ratio: 47 / 75;
    z-index: 4;
    top: 50%;
    right: 14px;
    transform: translate(-50%, -50%);
    filter: brightness(0) saturate(100%) invert(84%) sepia(100%) saturate(0%) hue-rotate(243deg) brightness(104%) contrast(105%);}
.left-column .title {
    margin: -14px;
    background: #f4f5f5;
    padding: 5px 0 5px 14px;
    margin-bottom: 14px;
    font-size: 14px;
    text-align: left;
    font-weight: 600;}
.left-column .info {
    box-shadow: 0 0 3px #ccc;
    background: #fffefe;
    padding: min(1.4vw, 14px);
    margin-top: 20px;
    overflow: hidden;}
.left-column .info dl {
    width: 90%;
    margin: 0 auto;
}
.left-column .info dl dt {
    display: flex;
    align-items: center;
    font-size: 13px;}
.left-column .info dl dt:before {
    content: "";
    display: block;
    width: 17px;
    margin-right: 7px;
    aspect-ratio: 1;
    background-size: 100%;
    background-repeat: no-repeat;
    align-items: center;
    filter: brightness(0) saturate(100%) invert(20%) sepia(5%) saturate(5591%) hue-rotate(188deg) brightness(101%) contrast(83%);}
.left-column .info dl .userid:before { background-image: url(../img/mypage.svg);}
.left-column .info dl .username:before { background-image: url(../img/star.svg);}
.left-column .info dl .mailaddress:before { background-image: url(../img/mail.svg);}
.left-column .info dl .password:before { background-image: url(../img/key.svg);}
.left-column .info .changed a {
    display: block;
    color: #3ea562;
    font-weight: 500;
    font-size: 11px;
    line-height: 1;
    margin: auto -14px -14px -14px;
    border-top: solid 1px #f4f5f5;
    text-align: center;
    padding: 14px 0;
    position: relative;}
.left-column .info dl .changed:before { background-image: url(../img/mypage.svg);}
.left-column .info .changed a:after {
    content: "";
    background-image: url(../img/prev.svg);
    background-size: 100%;
    width: 8px;
    display: block;
    position: absolute;
    aspect-ratio: 47 / 75;
    z-index: 4;
    top: 50%;
    right: 14px;
    transform: translate(-50%, -50%);
    filter: brightness(0) saturate(100%) invert(56%) sepia(34%) saturate(701%) hue-rotate(88deg) brightness(91%) contrast(91%);}
.left-column .info dd {
    font-size: 13px;
    margin: 7px 0 10px 24px;
    display: flex;
    align-items: center;}
.left-column .info dl a {
    margin: 0 0 0 auto;
    display: block;
    color: #3ea562;
    font-weight: 500;
    border: solid 1px;
    font-size: 12px;
    line-height: 1;
    padding: 3px 10px;
    border-radius: 5px;}
.left-column .menu {
    box-shadow: 0 0 3px #ccc;
    background: #fffefe;
    padding: min(1.4vw, 14px);
    margin-top: 20px;
    overflow: hidden;}
.left-column .menu li {
    font-size: 13px;
    margin: 14px 0;}
.left-column .menu a {
    display: flex;
    align-items: center;
    color: #263456;
    font-weight: 500;}
.left-column .menu li a:before {
    content: "";
    display: block;
    margin-right: 7px;
    width: 17px;
    aspect-ratio: 1;
    background-size: 100%;
    background-repeat: no-repeat;
    align-items: center;
    filter: brightness(0) saturate(100%) invert(20%) sepia(5%) saturate(5591%) hue-rotate(188deg) brightness(101%) contrast(83%);}
.left-column .menu .mypage a:before { background-image: url(../img/mypage.svg);}
.left-column .menu .survey a:before { background-image: url(../img/survey.svg)}
.left-column .menu .survey-history a:before { background-image: url(../img/time.svg)}
.left-column .menu .change a:before { background-image: url(../img/change.svg)}
.left-column .menu .history a:before { background-image: url(../img/time.svg)}
.left-column .menu .favo a:before { background-image: url(../img/star.svg)}
.left-column .menu .referral a:before { background-image: url(../img/friend.svg)}
.left-column .menu .settings a:before { background-image: url(../img/gear.svg)}
.left-column .menu .contact a:before { background-image: url(../img/contact.svg)}
.left-column .menu .logout a:before { background-image: url(../img/logout_.svg)}
.left-column .tips-trouble,
.left-column .tips-faq,
.left-column .tips-menu,
.left-column .tips-friends {
    box-shadow: 0 0 3px #ccc;
    background: #fffefe;
    padding: min(1.4vw, 14px);
    margin-top: 20px;
    overflow: hidden;
    background-color: #f4f8f6;}
.left-column .tips-trouble .title,
.left-column .tips-faq .title {
    text-align: center;
    color: #354164;}
.left-column .tips-trouble .icon,
.left-column .tips-faq .icon,
.left-column .tips-menu .icon {
    width: 40px;
    height: 40px;
    background: #fff;
    border-radius: 50%;
    margin: 0 auto;
    padding: 10px;
    display: flex;}
.left-column .tips-trouble img,
.left-column .tips-faq img,
.left-column .tips-menu img { filter: brightness(0) saturate(100%) invert(56%) sepia(34%) saturate(701%) hue-rotate(88deg) brightness(91%) contrast(91%);}
.left-column .tips-trouble p,
.left-column .tips-faq p,
.left-column .tips-menu p {
    font-size: 11px;
    text-align: center;
    margin: 10px auto;}
.left-column .tips-trouble a,
.left-column .tips-faq a {
    font-size: 12px;
    display: block;
    line-height: 1;
    font-weight: 500;
    color: #3ea562;
    text-align: center;
    margin-top: 14px;
    padding: 12px;
    border-radius: 50px;
    position: relative;
    border: solid 1px;}
.left-column .tips-trouble a:after,
.left-column .tips-faq a:after {
    content: "";
    background-image: url(../img/prev.svg);
    background-size: 100%;
    width: 8px;
    display: block;
    position: absolute;
    aspect-ratio: 47 / 75;
    z-index: 4;
    top: 50%;
    right: 14px;
    transform: translate(-50%, -50%);
    filter: brightness(0) saturate(100%) invert(56%) sepia(34%) saturate(701%) hue-rotate(88deg) brightness(91%) contrast(91%);}
.left-column .tips-menu li {
    font-size: 13px;
    margin: 14px 0;}
.left-column .tips-menu a {
    display: flex;
    align-items: center;
    color: #263456;
    font-weight: 500;}
.left-column .tips-menu li a:before {
    content: "";
    display: block;
    margin-right: 7px;
    width: 17px;
    aspect-ratio: 1;
    background-size: 100%;
    background-repeat: no-repeat;
    align-items: center;
    filter: brightness(0) saturate(100%) invert(20%) sepia(5%) saturate(5591%) hue-rotate(188deg) brightness(101%) contrast(83%);}
.left-column .tips-menu .survey a:before { background-image: url(../img/survey.svg);}
.left-column .tips-menu .point a:before { background-image: url(../img/point.svg);}
.left-column .tips-menu .bfaq a:before { background-image: url(../img/comments.svg);}
.left-column .tips-menu .contact a:before { background-image: url(../img/mail.svg);}
.left-column .tips-friends .friend {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    width: fit-content;}
.left-column .tips-friends .friend div {
    width: 40px;
    height: 40px;
    background: #fff;
    border-radius: 50%;
    margin: 0 auto;
    padding: 10px;
    display: flex;}
.left-column .tips-friends .friend img { filter: brightness(0) saturate(100%) invert(56%) sepia(34%) saturate(701%) hue-rotate(88deg) brightness(91%) contrast(91%);}
.left-column .tips-friends .friend p {
    font-size: 13px;
    font-weight: 500;
    color: #3ea562;
    width: calc(100% - 60px);}
.left-column .tips-friends a {
    font-size: 12px;
    display: block;
    line-height: 1;
    font-weight: 500;
    color: #3ea562;
    text-align: center;
    margin-top: 14px;
    padding: 12px;
    border-radius: 50px;
    position: relative;
    border: solid 1px;
    background: #fff;}
.left-column .tips-friends a:after {
    content: "";
    background-image: url(../img/prev.svg);
    background-size: 100%;
    width: 8px;
    display: block;
    position: absolute;
    aspect-ratio: 47 / 75;
    z-index: 4;
    top: 50%;
    right: 14px;
    transform: translate(-50%, -50%);
    filter: brightness(0) saturate(100%) invert(56%) sepia(34%) saturate(701%) hue-rotate(88deg) brightness(91%) contrast(91%);}
.left-column a:hover,
.right-column a:hover {
    color: #3ea562;
    font-weight: bold;}
.right-column {}
.right-column .box {
    box-shadow: 0 0 3px #ccc;
    background: #fffefe;
    padding: min(1.4vw, 14px);
    margin-top: 20px;
    overflow: hidden;
    background-color: #f4f8f6;}
.right-column .box:first-child { margin-top: 0;}
.right-column .title {
    text-align: center;
    font-size: 13px;
    font-weight: 500;}
.right-column .image {
    max-width: 80px;
    width: 40px;
    height: 40px;
    background: #fff;
    border-radius: 50%;
    margin: 0 auto;
    padding: 20px;
    display: flex;}
.right-column .image img{ filter: brightness(0) saturate(100%) invert(56%) sepia(34%) saturate(701%) hue-rotate(88deg) brightness(91%) contrast(91%);}
.right-column .text {
    font-size: 12px;
    margin: 14px 0;
    text-align: center;
    padding: 0 min(2vw, 20px);}
.right-column a {
    font-size: 12px;
    display: block;
    line-height: 1;
    font-weight: 500;
    color: #3ea562;
    text-align: center;
    margin-top: 14px;
    padding: 12px;
    border-radius: 50px;
    position: relative;
    border: solid 1px;}
.ssp {
    background: #fffefe;
    padding: min(1.4vw, 14px);
    margin-top: 20px;
    overflow: hidden;
    background-color: #f4f8f6;
    width: calc(100% - (min(4vw, 40px) + (min(2.8vw, 24px))));
    margin: min(2vw, 20px);
    display: flex;
    align-items: center;
    justify-content: space-around;}
.ssp .ssp-left,
.ssp .ssp-right {
    width: 50%;
    max-width: 400px;
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;}
.ssp .ssp-left img {
    width: 50px;
    height: auto;
    flex: 0 0 50px;
    filter: brightness(0) saturate(100%) invert(56%) sepia(34%) saturate(701%) hue-rotate(88deg) brightness(91%) contrast(91%)
}
.ssp .ssp-left p {
    font-size: 13px;
    width: calc(100% - (50px + 20px));}
.ssp .ssp-left p span {
    display: block;
    font-size: 15px;
    color: #3ea562;
    font-weight: bold;}
.ssp .ssp-right img {
    width: 70px;
    height: auto;
    flex: 0 0 70px;
}
.ssp .ssp-right p {
    font-size: 13px;
    width: calc(100% - (70px + 20px));
    line-height: 2;
}
footer { background: #f7f8fa;}
footer ul {
    font-size: 14px;
    padding: min(2vw, 20px) min(2vw, 20px) 0;
    display: flex;
    gap: 20px;
    text-align: center;
    justify-content: space-around;
    align-items: center;}
footer ul a { color: #263456;}
footer ul a:hover {
    color: #3ea562;
    font-weight: bold;}
footer .copyright {
    color: #263456;
    font-size: 12px;
    text-align: center;
    padding: min(1vw, 10px) min(2vw, 20px) min(2vw, 20px);}
.content {
    width: calc(100% - (min(2vw, 20px) + min(2vw, 20px)));
    margin: min(2vw, 20px) auto;
    padding: 0px;}
.contents {
    display: grid;
    gap: 18px;}

@media screen and (max-width: 1280px) {
main {
    display: flex;
    justify-content: space-between;
    width: 100%;
    flex-wrap: wrap;}
.content {
    width: calc(100% - (min(6vw, 60px) + 220px));
    margin: min(2vw, 20px) min(2vw, 20px) auto auto;
    padding: 0px;}
.right-column {
    display: flex;
    width: 100%;
    max-width: 100%;
    gap: 20px;
    align-items: stretch;}
.right-column .box {
    width: calc(100% / 4);
    margin-top: 0;
    display: grid;}
.right-column { flex-wrap: wrap;}
.right-column .box {
    width: calc((100% / 2) - 40px);
    margin: 0 auto;}
}
@media screen and (max-width: 1024px) {
	header {
        padding: 10px;
        position: fixed;
        z-index: 5;
        background: #fff;
        width: calc(100% - 15px);
        height: 30px;}
	header .logo { gap: 0px;}
	header .logo a { width: 30px;}
	header .logo div { font-size: 22px;}
	header .logo div span { font-size: 6.5px;}
	header nav ul li:before {
	    width: 15px;
	    height: 15px;}
	header nav ul {
	    gap: 1px;
	    font-size: 12px;}
	header .btn { gap: 10px;}
	header .btn a {
	    padding: min(1.5vw, 7px) min(3.5vw, 20px) min(1.5vw, 7px) min(5.5vw, 40px);
	    font-size: 10px;}
	header .btn a:before { right: calc(100% - 40px);}
	.head {
	    position: relative;
	    margin-top: 20px;}
	.head .message .points-held { display:none;}
}
@media screen and (max-width: 900px) {
	header .btn a {
	    width: 30px;
	    height: 30px;
	    padding: 0;}
	header .btn a span { display: none;}
	header .btn a:before {
	    right: initial;
	    left: 50%;}
}
@media screen and (max-width: 768px) {
	body.is-menu-open { overflow: hidden;}
	.break { padding: 6px min(2.5vw, 20px);}
	.break ul { font-size: 10px;}
	header nav {
	    display: none;
	    position: absolute;
	    top: 100%;
	    right: 10px;
	    left: 10px;
	    z-index: 20;
	    flex-direction: column;
	    align-items: stretch;
	    gap: 16px;
	    padding: 18px;
	    background: #fff;
	    border: solid 1px #e2e5ea;
	    border-radius: 14px;
	    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);}
	header nav ul {
	    flex-direction: column;
	    align-items: stretch;
	    gap: 14px;
	    font-size: 14px;}
	header nav ul li {
	    margin: 0;
	    padding: 0 0 0 28px;}
	header nav ul li:before {
	    right: initial;
	    left: 8px;
	    width: 18px;
	    height: 18px;}
	header .btn {
	    justify-content: center;
	    gap: 12px;}
	header .btn a {
	    width: auto;
	    height: auto;
	    padding: 8px 18px 8px 42px;
	    font-size: 12px;}
	header .btn a span { display: inline;}
	header .btn a:before {
	    left: 24px;
	    right: initial;}
	header .menu {
	    display: flex;
	    width: 42px;
	    height: 42px;
	    border: 0;
	    border-radius: 50%;
	    background: #2297a3;
	    align-items: center;
	    justify-content: center;
	    position: relative;
	    cursor: pointer;}
	header .menu span,
	header .menu:before,
	header .menu:after {
	    content: "";
	    width: 20px;
	    height: 2px;
	    display: block;
	    background: #fff;
	    border-radius: 999px;
	    position: absolute;
	    transition: transform .2s ease, opacity .2s ease;}
	header .menu span { transform: translateY(0);}
	header .menu:before { transform: translateY(-7px);}
	header .menu:after { transform: translateY(7px);}
	header .menu.is-open span { opacity: 0;}
	header .menu.is-open:before { transform: rotate(45deg);}
	header .menu.is-open:after { transform: rotate(-45deg);}
	.left-column {
	    display: block;
	    position: fixed;
	    top: 62px;
	    right: 10px;
	    left: 10px;
	    z-index: 30;
	    width: auto;
	    max-width: none;
	    max-height: calc(100vh - 82px);
	    margin: 0;
	    padding: 16px;
	    border: solid 1px #e2e5ea;
	    border-radius: 14px;
	    background: #fff;
	    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
	    overflow-y: auto;
	    opacity: 0;
	    visibility: hidden;
	    pointer-events: none;
	    transform: translateY(-14px);
	    transition: opacity .28s ease, transform .32s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .32s;}
	.left-column.is-open {
	    opacity: 1;
	    visibility: visible;
	    pointer-events: auto;
	    transform: translateY(0);
	    transition-delay: 0s;}
	.head .image {
	    width: 100%;
	    height: auto;
	    position: relative;
	    display: flex;
	    overflow: hidden;
	    justify-content: flex-end;}
	.head .image img {
	    width: auto;
	    height: 100%;
	    right: -30%;
	    position: relative;}
	.head .image:before { background-image: linear-gradient(90deg, rgba(255, 255, 255, 1) 30%, rgba(255, 255, 255, 0) 100%);}
	.head .message {
	    flex-wrap: wrap;
	    width: calc(100% - 2vw);
	    display: flex;
	    position: absolute;
	    top: inherit;
	    bottom: 20px;
	    left: 2vw;
	    transform: translate(0%, 0);
	    z-index: 2;}
	.head .message .img { width: 50px;}
	.head .message .text {
	    margin: 0 0 0 10px;
	    width: calc(100% - 70px);}
	.head .message .text .ttl { font-size: 18px;}
	.head .message .text .txt { font-size: 10px;}
	.head .message .text .txt span { font-size: 12px;}
	.head .message .points-held {
	    box-shadow: 0 0 3px #ccc;
	    background: #fffefe;
	    padding: min(1.4vw, 14px);
	    overflow: hidden;
	    width: calc(100% - min(6.8vw) - 6px);
	    margin-top: 2vw;
	    margin: 2vw auto 0;
	    display: flex;
	    flex-wrap: wrap;}
	.head .message .points-held p {
	    font-size: 13px;
	    font-weight: 500;
	    margin-bottom: 5px;
	    width: 100%;}
	.head .message .points-held div {
	    display: flex;
	    position: relative;
	    gap: 10px;
	    flex-wrap: wrap;
	    align-items: end;
	    color: #42a261;
	    font-weight: bold;}
	.head .message .points-held div:before {
	    content: "";
	    background-image: url(../img/point_coin.svg);
	    width: 30px;
	    aspect-ratio: 1 / 1;
	    background-size: 100%;
	    background-repeat: no-repeat;}
	.head .message .points-held div span:first-child {
	    font-size: 28px;
	    line-height: 1.1;}
	.head .message .points-held div span:last-child {
	    display: block;
	    width: max-content;
	    text-align: center;
	    font-size: 13px;
	    line-height: 1;
	    color: #254d45;
	    margin-top: 15px;
	    margin-bottom: auto;
	    margin-left: auto;}
	.head .message .points-held a {
	    background-color: #3ea562;
	    font-size: 12px;
	    display: block;
	    line-height: 1;
	    font-weight: 500;
	    color: #fff;
	    text-align: center;
	    margin-top: 14px;
	    padding: 12px;
	    border-radius: 50px;
	    position: relative;
	    width: 100%;}
	.head .message .points-held a:after {
	    content: "";
	    background-image: url(../img/prev.svg);
	    background-size: 100%;
	    width: 8px;
	    display: block;
	    position: absolute;
	    aspect-ratio: 47 / 75;
	    z-index: 4;
	    top: 50%;
	    right: 14px;
	    transform: translate(-50%, -50%);
	    filter: brightness(0) saturate(100%) invert(84%) sepia(100%) saturate(0%) hue-rotate(243deg) brightness(104%) contrast(105%);}
	.content { width: calc(100% - (min(4vw, 40px)));}
        .sp-login-area { display: block;}
	.right-column {
	    flex-wrap: wrap;
	    gap: 10px;}
	.right-column .box {
	    margin: 0 auto;
	    padding: 10px;
	    width: calc((100% / 2) - 25px);}
	.left-column .title { width: 100%;}
	.left-column .menu li {
	    padding: 0 5px 0 14px;
	    margin: 0;}
	.left-column .menu a { padding: 14px 0;}
	.left-column .title {
	    margin: -16px -5px 8px;
	    background: #f4f5f5;
	    padding: 16px 0 5px 14px;
	    text-align: center;}
	.left-column .info .changed a { margin: auto -5px -5px -5px;}
	.left-column .tips-trouble, .left-column .tips-faq, .left-column .tips-menu, .left-column .tips-friends {
	    display: flex;
	    flex-wrap: wrap;}
	.left-column .tips-trouble .title, .left-column .tips-faq .title {
	    text-align: center;
	    color: #354164;
	    width: 100%;}
	.left-column .tips-friends { margin-bottom: 20px;}
	.left-column .tips-trouble a, .left-column .tips-faq a {
	    font-size: 12px;
	    display: block;
	    line-height: 1;
	    font-weight: 500;
	    color: #3ea562;
	    text-align: center;
	    margin-top: 14px;
	    padding: 12px;
	    border-radius: 50px;
	    position: relative;
	    border: solid 1px;
	    width: 80%;
	    margin: 10px auto;}
	.left-column .tips-trouble p, .left-column .tips-faq p, .left-column .tips-menu p { width: 70%;}
	.left-column .tips-friends .friend { flex-wrap: wrap;}
	.left-column .tips-friends a {
	    width: 80%;
	    margin: 14px auto;}
	.ssp .ssp-left p span { font-size: 13px;}
	.ssp .ssp-left p {
	    font-size: 12px;
	    padding: 0 10% 0 0;}
	.ssp {
	    padding: min(3vw, 14px);
	    margin-top: 20px;
	    width: calc(100% - (min(6vw, 40px) + (min(2.8vw, 24px))));
	    margin: min(2vw, 20px);
	    display: grid;
	    gap: 20px;
	    position: relative;}
	/*.ssp:before {*/
	/*    content: "";*/
	/*    width: 80%;*/
	/*    height: 0.1vw;*/
	/*    background: #dfe1df;*/
	/*    position: absolute;*/
	/*    top: 50%;*/
	/*    left: 50%;*/
	/*    transform: translate(-50%, -50%);}*/
	.ssp .ssp-left, .ssp .ssp-right {
	    width: 100%;
	    padding: 10px 0;}
	.ssp .ssp-left img { margin: 0 10px;}

	footer ul {
	    font-size: 12px;
	    padding: min(2vw, 20px) min(2vw, 20px) 0;
	    display: flex;
	    gap: 20px;
	    text-align: center;
	    justify-content: space-around;
	    align-items: center;
	    flex-wrap: wrap;}
	footer ul li { width: calc((100% / 2) - 10px);}
}
//add sp login
.left-column .points-held.sp-login-area {
            background: transparent;
            box-shadow: none;
            padding: 0;
        }

        .left-column .points-held.sp-login-area a {
            min-height: 44px;
            margin-top: 0;
            padding: 0 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50px;
            font-size: 13px;
            font-weight: 700;
        }

        .left-column .points-held.sp-login-area a + a {
            margin-top: 10px;
        }

        .left-column .points-held.sp-login-area a:first-child {
            color: #fff;
            background: #3ea562;
            border: 1px solid #3ea562;
        }

        .left-column .points-held.sp-login-area a:last-child {
            color: #06c755;
            background: #fff;
            border: 1px solid #06c755;
        }

        .left-column .points-held.sp-login-area a:last-child::before {
            content: "";
            width: 20px;
            height: 20px;
            margin-right: 8px;
            background: url("../img/line.svg") center / contain no-repeat;
        }

        .left-column .points-held.sp-login-area a::after {
            display: none;
        }
             @media screen and (min-width: 1025px) {
            .left-column .tips-menu {
                display: none;
            }
        }
        header .logo img {
            width: 280px;
            height: auto;
        }

        @media screen and (max-width: 1024px) {
            header .logo a {
                width: auto;
            }

            header .logo img {
                width: 180px;
            }
        }
