@import url('https://fonts.googleapis.com/css2?family=Alfa+Slab+One&family=Sawarabi+Gothic&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Sawarabi Gothic', sans-serif;
    line-height: 1.4;
}

a {
    color: #fff;
    text-decoration: none;
    display: block;
}

a:visited {
    color: inherit;
}

.container {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
    background-color: #f7f7f7;
}

.heroBack {
    position: absolute;
    z-index: 1;
}

.heroBack img, .heroBackSecond img {
    width: 100%;
}

.heroBackSecond {
    position: absolute;
    top: 176px;
}

.heroBox {
    position: relative;
    display: grid;
    grid-template-columns: 260px 1fr;
    row-gap: 100px;
    z-index: 1;
}

.heroTitle {
    display: flex;
    padding-left: 16px;
}

.heroTitle img {
    width: 100%;
    z-index: 1;
}

.heroText {
    grid-area: 2 / 1 / 3 / 3;
    width: 100%;
    height: 100%;
}

.heroText img {
    width: 300px;
}

.heroIcon img {
    margin: 32px auto 32px;
    width: 112px;
    border-radius: 71px;
    display: block;
    transform: scale(1.3);
}

.lineButton {
    position: relative;
    height: 44px;
    width: 100%;
    max-width: 260px;
    line-height: 44px;
    background: #00b900;
    border-radius: 22px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    margin-top: 64px;
    margin-right: auto;
    margin-left: auto;
    box-shadow: 0 2px 8px rgb(0 0 0 / 16%);
}

.inner {
    padding: 32px 5%;
}

.hero {
    text-align: center;
    height: 680px;
    position: relative;
    overflow: hidden;
}

.hero h1 {
    font-size: 23px;
    background-image: radial-gradient( circle farthest-corner at -3.1% -4.3%, #661499 0%, #ff7600 90% );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero p {
    font-size: 20px;
    font-weight: 600;
}

.officialLine {
    width: 100%;
    background-color: #00B900;
    /* border: 1px solid rgba(0,0,0,.1); */
    color: #fff;
    margin-top: 24px;
    /* overflow: hidden;
    position: relative;
    z-index: 1; */
}

/* .officialLine:after {
    position: absolute;
    top: -25px;
    right: calc(-150% + 50px);
    width: 150%;
    height: 500%;
    content: '';
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -webkit-transform: rotate(45deg) translateX(0) translateY(0);
    transform: rotate(45deg) translateX(0) translateY(0);
    background: #00B900;
  } */

.officialLine h2, .officialLine p {
    text-align: center;
}

.officialLine h2 {
    font-size: 24px;
    padding: 8px 0;
    position: relative;
    z-index: 1;
}

.officialLine p {
    padding: 0 5% 8px;
    font-size: 14px;
    position: relative;
    z-index: 1;
}

.listA {
    position: relative;
    overflow: hidden;
    display: grid;
    align-items: flex-end;
    border: 1px solid rgba(0,0,0,.1);
    background-color: #fff;
    padding-right: 5%;
    padding-left: 3%;
    margin-top: 24px;
}

.services div p {
    font-size: 14px;
    font-weight: 600;
    margin-left: auto;
    color: #000;
    z-index: 1;
    position: relative;
}

footer {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
    text-align: center;
    padding: 16px 5%;
}

/* footer p span {
    font-style: italic;
    font-family:  Times New Roman;
} */

@media (min-width:440px) {
    .container {
        border-left: 1px solid #e0e0e0;
        border-right: 1px solid #e0e0e0;
    }
    footer {
        border-left: 1px solid #e0e0e0;
        border-right: 1px solid #e0e0e0;
    }
}

@media (max-width:375px) {
    .heroBox {
        grid-template-columns: 220px 1fr;
    }
}

@media (max-width:320px) {
    .hero h1 {
        font-size: 32px;
    }

    h2 {
        font-size: 16px;
    }

    .heroBox {
        grid-template-columns: 200px 1fr;
    }

    .heroIcon img {
        transform: scale(1);
    }

    .services div p {
        font-size: 11px;
    }

}

/* tester */


#sidebar {
    background: #fff;
    border: 1px solid rgba(0,0,0,.1);
    font-weight: 600;
    text-align: center;
    margin-top: 16px;
}

#sidebar img {
    width: 100%;
}

#sidebar .inner {
    padding: 8px 5%;
}

#sidebar h4 {
    padding: 8px 5%;
    font-size: 22px;
    color: #fff;
    background: linear-gradient(90deg,#661499,#FF7600);
}

#sidebar h4 span {
    font-size: 20px;
}

span.sidebarBold {
    font-size: 20px;
    line-height: 20px;
}

.testers {
    padding-top: 20px;
    font-size: 28px;
    line-height: 35px;
}

span.purple {
    color: #661499;
    font-size: 42px;
    padding: 4px;
}

span.orange {
    color: #FF7600;
    font-size: 42px;
    padding: 4px;
}

.sidebarPr {
    margin-top: -10px;
    position: relative;
}

.sidebarPr:before, .sidebarPr:after {
    content: "";
    display: block;
    height: 8px;
    background: linear-gradient(90deg,#661499,#FF7600);
}

.campaignPurpose {
    background: linear-gradient(90deg,#661499,#FF7600);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    font-size: 18px;
}

.sidebarTable {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    background: linear-gradient(90deg,#661499,#FF7600);
    color: #fff;
}

.sidebarTable div {
    text-align: center;
    height: 96px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid rgba(0,0,0,.1);
}

.sidebarTable span {
    display: block;
    font-size: 22px;
    line-height: 1.4;
}

.sidebarTable span.small {
    font-size: 12px;
    line-height: normal;
}

#sidebar .lineButton {
    height: 44px;
    line-height: 44px;
    background: #00B900;
    border-radius: 0;
    color: #fff;
    text-align: center;
    box-shadow: 0px 3px 6px rgb(0 0 0 / 16%);
    margin-top: 16px;
}

.appDeadline {
    text-align: center;
    color: #8f8f8f;
}

.listLink img {
    height: 44px;
    /* line-height: 63px;
    background-image: radial-gradient( circle farthest-corner at -3.1% -4.3%, #661499 0%, #ff7600 90% ); */
}

.listLink a {
    text-align: center;
    font-size: 22px;
    margin: auto;
    display: block;
    color: #fff;
    text-decoration: none;
}

.textImg img {
    width: 80%;
    height: 100%;
    margin: 4px auto 0;
    display: block;
}

.innerMb {
    margin-bottom: 16px;
}

/* 10月5日　変更 */

.salon {
    margin-top: 24px;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.1);
    background-image: url(images/salon.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.salonText {
    /* text-align: center;
    padding: 8px 5%;
    color: #fff; */
    text-align: center;
    padding: 30px 5%;
    color: #fff;
    height: 114px;
}

.listLink {
    height: 44px;
}

.salonText .listLink {
margin: 8px 0;
}

.listText {
    position: relative;
    display: grid;
    grid-template-columns: 54px 120px 1fr;
    height: 62px;
    align-items: center;
    justify-items: center;
    align-content: center;
}

.listText h2 {
    color: #fff;
    font-size: 26px;
}

h2.twitterTitle {
    font-family: 'Alfa Slab One', cursive;
}

.listText p {
    font-size: 16px;
}

.listA:before {
    position: absolute;
    top: -150%;
    left: 0;
    width: 200px;
    height: 333%;
    content: '';
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
}

.instagram:before {
    background: #ffde5a;
}

.tiktok:before {
    background: #30e7e2;
}

.twitter:before {
    background: #1da1f2;
}

.blog:before {
    background-color: #008001;
}

.grammar:before {
    background-color: #fa8186;
}

.officialLine, #sidebar, .salon, .listA, iframe {
    border-radius: 10px;
    overflow: hidden;
}

.toyaChallenge {
    width: 100%;
    border-radius: 10px;
    margin-bottom: 24px;
    border: 1px solid rgba(0,0,0,.1);
    margin-top: 32px;
}

/* 1月20日 youtube追加 */
iframe {
    width: 100%;
    overflow: hidden;
    padding: 0;
    margin: 0;
}

.youtebeBanner {
    padding-top: 32px;
}

.youtebeBanner img {
    width: 100%;
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,.1);
}