@use "../../foundation/import" as f; /* charm ----------------------------------- */ .p-charm { margin: 120px 0 0; &__sec { margin: 120px 0 0; &--02 { margin-top: 105px; padding: 40px 0 60px; } &--03 { margin-top: 110px; } } &__ttl { margin: 0 auto; max-width: 1000px; display: flex; justify-content: flex-start; align-items: center; .icon { margin: 0 0.8em 0 0; } .text { position: relative; display: inline-block; padding: 0 0.2em; font-size: 3.375em; &::after { content: ""; position: absolute; top: auto; bottom: -0.2em; left: 0; right: 0; display: block; height: 1px; background-image: linear-gradient(to right, #000000, #000000 1px, rgba(0, 0, 0, 0) 1px, rgba(0, 0, 0, 0) 7px); background-size: 7px 1px; background-repeat: repeat-x; } } } &__graph { margin-top: 50px; .cap { text-align: center; font-size: 36px; font-weight: bold; color: #fd5f00; } .img { margin: 40px auto 0; display: block; max-width: 1200px; width: 100%; } .note { margin: 1em 0 0 2em; display: block; font-size: 1.25em; } } &__rakuten { margin: 36px auto 0; display: flex; justify-content: center; align-items: center; .logo { margin-right: 2em; } .text { font-size: 1.125em; font-weight: bold; letter-spacing: 0.015em; line-height: 2; } } &__notes { margin: 60px 0 0; padding: 1em; font-size: 0.93em; line-height: 1.4; background-color: #FFF; border: 6px solid #EBEBEB; p { @include f.justify; &:nth-of-type(n+2) { margin-top: 0.4em; } } } &__benefits { margin: 8px auto 0; display: flex; justify-content: center; align-items: center; .icon { margin-right: 2em; } .text { font-size: 1.125em; letter-spacing: 0.015em; line-height: 2; font-weight: bold; } } @media screen and (min-width: 768px) and (max-width: 1000px) { &__ttl { font-size: 1.4vw; .icon { width: 10em; } } &__rakuten { .text { font-size: 2vw; } } &__notes { font-size: 1.5vw; } &__benefits { .text { font-size: 2vw; } } } @include f.mq(sp) { margin-top: 60px; &__sec { margin-top: 40px; &--02 { padding: 20px 0 0; } &--03 { margin-top: 40px; } } &__ttl { padding: 0 5px; .icon { width: 16vw; } .text { font-size: 5.2vw; &::after { background-image: linear-gradient(to right, #000000, #000000 1px, rgba(0, 0, 0, 0) 1px, rgba(0, 0, 0, 0) 5px); background-size: 5px 1px; } } } &__graph { margin: 20px auto 0; width: calc(100% - 20px); .cap { font-size: 16px; } .img { margin: 3vw 0 0; width: 100%; } .note { margin: 3vw 0 0 3vw; font-size: 1.0em; } } &__rakuten { margin: 5vw auto 0; width: calc(100% - 20px); display: block; .logo { margin: 0; text-align: center; } .text { margin: 3vw auto 0; width: calc(100% - 20px); max-width: max-content; font-size: 4.3vw; } } &__notes { margin: 5vw auto 0; width: calc(100% - 20px); font-size: 3vw; p { @include f.justify; &:nth-of-type(n+2) { margin-top: 0.4em; } } } &__benefits { margin: 5vw auto 0; width: calc(100% - 20px); display: block; .icon { margin: 0 auto; display: block; } .text { margin: 3vw auto 0; width: calc(100% - 20px); max-width: max-content; font-size: 4.3vw; } } } }