@charset "utf-8";

/* ==================================================
Common CSS
================================================== */

@media(max-width:999px){

/*STYLE*/
.pc {
display:none;
}

.bg {
    width:100%;
    height:100%;
    background:url(../img/mv_bg.jpg) center / cover;
    position:fixed;
    z-index:-1;
}

.cts {
    width:90%;
}

.titles {
    text-align:center;
}

.titles .obj {
    width:100px;
    margin:0 auto 10px;
}

.titles .title {
    font-size:180%;
    font-weight:bold;
    line-height:135%;
}

.curve_top {
    width:100%;
    height:36px;
    overflow-x:hidden;
    background:url(../img/curve_top.svg) center;
    background-size:500px 36px;
}

.curve_bottom {
    width:100%;
    height:36px;
    overflow-x:hidden;
    background:url(../img/curve_bottom.svg) center;
    background-size:500px 36px;
}

.back_btn {
    margin-top:30px;
    text-align:center;
}

.back_btn .btn {
    display:inline-block;
}

.back_btn .btn a {
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
    border:#e9314b 1px solid;
    background:#fff;
    padding:8px 15px;
}

.back_btn .btn a:before {
    content:"";
    width:10px;
    height:10px;
    border-top:#e9314b 1px solid;
    border-left:#e9314b 1px solid;
    transform:rotate(-45deg);
    margin-right:10px;
}

.back_btn .btn p {
    font-size:90%;
    color:#e9314b;
}



/*-----HEADER-----*/
header {
    position:fixed;
    top:0x;
    left:0;
    z-index:99999;
    display:none;
}

header .logo {
    width:60px;
}

header h1 {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}



/*-----MV-----*/
#mv {
    width:100%;
    position:relative;
    z-index:9999;
    overflow:hidden;
}

#mv .mv {
    width:100%;
    position:relative;
}

#mv .cts {
    width:94%;
    display:flex;
    align-items:center;
    position:relative;
    padding:30px 0 60px;
}

#mv .copies {
    width:87%;
}

#mv .photos {
    width:165px;
    position:absolute;
    right:-85px;
    bottom:0;
    z-index:1;
}

#mv .photos .photo {
}

#mv .photos .names {
    position:absolute;
    bottom:15px;
    right:85px;
    display:flex;
    align-items:center;
    background:#000;
    padding:8px 3px 8px 8px;
}

#mv .photos .names .name {
}

#mv .photos .names .name p {
    font-size:100%;
    line-height:100%;
    color:#fff;
    white-space:nowrap;
    display:block;
}

#mv .photos .names .kana {
}

#mv .photos .names .kana p {
    font-size:80%;
    line-height:100%;
    color:#fff;
    white-space:nowrap;
    display:block;
}

#mv .recommend {
    width:100%;
    height:80px;
    background:#e9314b;
    position:relative;
}

#mv .recommend .recommend_cts {
    width:360px;
    height:80px;
    position:relative;
    top:0;
    left:0;
    margin:auto;
    display:flex;
    align-items:center;
}

#mv .recommend .recommend_cts .copy {
    width:190px;
    position:absolute;
    left:-5px;
    z-index:2;
}

#mv .recommend .recommend_cts .kamogashira {
    width:120px;
    position:absolute;
    left:20px;
    bottom:80px;
    margin:auto;
}



/*-----INTRO-----*/
#intro {
    padding:35px 0 0;
    background:#e9314b;
    position:relative;
}

#intro .cts {
    width:100%;
}

#intro .ivy_tl {
    position:absolute;
    top:0;
    left:0;
    width:50vw;
}

#intro .ivy_br {
    position:absolute;
    bottom:0;
    right:0;
    width:50vw;
}

#intro .titles {
    margin-bottom:15px;
}

#intro .titles .title {
    font-size:135%;
    color:#fff;
}

#intro .movie {
    width:100%;
    padding-top: 56.25%;
    position:relative;
}

#intro .movie iframe {
    position: absolute;
    top:0;
    right:0;
    width:100% !important;
    height:100% !important;
}



/*-----WORRY-----*/
#worry {
    background:#fff;
    padding:50px 0 0;
}

#worry .cts {
    margin-bottom:50px;
}

#worry .titles {
    margin-bottom:30px;
}

#worry .illust {
    width:80%;
    margin:0 auto;
}

#worry ul {
    width:100%;
    margin:auto;
}

#worry ul li {
    background:#fdeaed;
    padding:15px 15px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
}

#worry ul li:last-child {
    margin-bottom:0;
}

#worry ul li img {
    width:20px;
}

#worry ul li p {
    font-size:90%;
    font-weight:bold;
    line-height:160%;
    width:calc(100% - 20px);
}

#worry .summaries {
    text-align:center;
}

#worry .summaries .tx {
    font-size:150%;
    font-weight:400;
    margin-bottom:5px;
}

#worry .summaries .summary {
    font-size:200%;
    font-weight:500;
}

#worry .summaries .summary .underline {
    border-bottom:#e9314b 4px solid;
}



/*-----ADVANTAGE-----*/
#advantage {
    background:#fdeaed;
    padding:50px 0;
}

#advantage .titles {
    margin-bottom:30px;
}

#advantage .titles .suptitles {
    margin-bottom:12px;
}

#advantage .titles .suptitles .suptitle {
    font-size:100%;
    font-weight:bold;
    line-height:135%;
    margin-bottom:8px;
    border-bottom:#000 1px solid;
    display:inline-block;
}

#advantage .titles .subtitle {
    font-size:100%;
    font-weight:bold;
    margin-bottom:5px;
}

#advantage .anchor_links {
    display:flex;
    justify-content:center;
    align-items:flex-start;
    gap:10px;
    margin-bottom:30px;
}

#advantage .anchor_links .anchor_link {
    position:relative;
}

#advantage .anchor_links .anchor_link .number {
    width:20px;
    height:20px;
    border-radius:100vw;
    background:#e9314b;
    display:flex;
    justify-content:center;
    align-items:center;
    position:absolute;
    top:-10px;
    left:0;
    right:0;
    margin:auto;
}

#advantage .anchor_links .anchor_link .number p {
    font-size:70%;
    line-height:100%;
    color:#fff;
}

#advantage .anchor_links .anchor_link .illust {
    margin-bottom:7px;
}

#advantage .anchor_links .anchor_link .illust img {
    border-radius:100vw;
}

#advantage .anchor_links .anchor_link .item {
    font-size:60%;
    font-weight:bold;
    color:#e9314b;
    text-align:center;
}

#advantage .advantages {
    margin-bottom:30px;
}

#advantage .advantages .advantage {
    margin-bottom:20px;
}

#advantage .advantages .advantage .number {
    width:120px;
    margin:auto;
}

#advantage .advantages .advantage .ad_cts {
    background:#fff;
    padding:5px;
}

#advantage .advantages .advantage .ad_cts .cts_area {
    border:#e9314b 1px solid;
    padding:30px 25px 25px;
}

#advantage .advantages .advantage .ad_cts .cts_area .skill_titles {
    text-align:center;
    margin-bottom:20px;
}

#advantage .advantages .advantage .ad_cts .cts_area .skill_titles .title {
    font-size:150%;
    font-weight:bold;
    line-height:100%;
    color:#e9314b;
}

#advantage .advantages .advantage .ad_cts .cts_area .skill_titles .line {
    width:50px;
    height:1px;
    background:#e9314b;
    margin:10px auto;
}

#advantage .advantages .advantage .ad_cts .cts_area .skill_titles .kana {
    font-size:70%;
    font-weight:500;
    line-height:100%;
    color:#e9314b;
}

#advantage .advantages .advantage .ad_cts .cts_area .subject {
    font-size:135%;
    font-weight:bold;
    color:#e9314b;
    text-align:center;
    margin-bottom:15px;
}

#advantage .advantages .advantage .ad_cts .cts_area .details {
}

#advantage .advantages .advantage:nth-child(even) .ad_cts .cts_area .details {
    flex-direction:row-reverse;
}

#advantage .advantages .advantage .ad_cts .cts_area .details .illust {
    width:70%;
    margin:0 auto 15px;
}

#advantage .advantages .advantage .ad_cts .cts_area .details .detail {
    width:100%;
    background:url(../img/letter_sp.svg) top left;
    background-size:10px 45px;
}

#advantage .advantages .advantage .ad_cts .cts_area .details .detail p {
    font-size:100%;
    line-height:45px;
}

#advantage .summary {
    text-align:center;
}

#advantage .summary .obj {
    width:50px;
    margin:0 auto 15px;
    animation:advantage_obj 4s linear infinite forwards;
}

#advantage .summary .subcopy {
    font-size:120%;
    font-weight:bold;
}

#advantage .summary .maincopy {
    font-size:180%;
    font-weight:bold;
}



/*-----FEATURE-----*/
#feature {
    background:#fff;
}

#feature .cts {
    padding:50px 0;
}

#feature .titles {
    margin-bottom:20px;
}

#feature .features {
}

#feature .features .feature {
    border:#e9314b 1px solid;
    padding:5px;
    margin-bottom:30px;
}

#feature .features .feature:last-child {
    margin-bottom:0;
}

#feature .features .feature .feature_cts {
    border:#e9314b 1px dashed;
    padding:25px;
}

#feature .features .feature .subjects {
    text-align:center;
    margin-bottom:15px;
}

#feature .features .feature .subjects .items {
    margin-bottom:15px;
    display:inline-block;
}

#feature .features .feature .subjects .items .item {
    font-size:100%;
    font-weight:bold;
    line-height:100%;
    color:#e9314b;
    margin-bottom:5px;
}

#feature .features .feature .subjects .items .line {
    width:100%;
    height:1px;
    background:#e9314b;
}

#feature .features .feature .subjects .subject {
    font-size:150%;
    font-weight:bold;
    line-height:150%;
    color:#e9314b;
    text-align:center;
    margin-bottom:20px;
}

#feature .features .feature .illust {
    width:100%;
    margin:0 auto 20px;
}

#feature .features .feature .detail {
    width:100%;
    background:url(../img/letter_sp.svg) top left;
    background-size:10px 45px;
}

#feature .features .feature .detail p {
    font-size:110%;
    line-height:45px;
}



/*-----ABOUT-----*/
#about {
    background:#fdeaed;
    padding:50px 0;
}

#about .lecture_titles {
    text-align:center;
    margin-bottom:20px;
}

#about .lecture_titles .title {
    width:80%;
    margin:0 auto 15px;
}

#about .lecture_titles .subtitle {
    font-size:120%;
    font-weight:bold;
}

#about .details {
}

#about .details .detail {
    border:#e9314b 1px solid;
    background:#fff;
    padding:25px 25px;
}

#about .details .detail .item {
    font-size:150%;
    font-weight:bold;
    color:#e9314b;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
    margin-bottom:10px;
}

#about .details .detail .item:before {
    content:"";
    width:35px;
    height:1px;
    background:#e9314b;
    display:block;
}

#about .details .detail .item:after {
    content:"";
    width:35px;
    height:1px;
    background:#e9314b;
    display:block;
}

#about .details .about_period {
    margin-bottom:20px;
}

#about .details .about_period ul {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:2%;
    margin-bottom:15px;
}

#about .details .about_period ul li {
    width:48.5%;
    background:#faf0e6;
    margin-bottom:3%;
    padding:15px 15px;
    font-size:100%;
    font-weight:bold;
}

#about .details .about_period ul li:nth-child(n+5) {
    margin-bottom:0;
}

#about .details .about_period .time {
    font-size:110%;
    font-weight:500;
    text-align:center;
}

#about .details .about_place {
    margin-bottom:20px;
}

#about .details .about_place .subject {
    font-size:135%;
    font-weight:bold;
    text-align:center;
    margin-bottom:10px;
}

#about .details .about_place .tx {
}

#about .details .about_price {
    margin-bottom:50px;
    position:relative;
}

#about .details .about_price:after {
    content:"";
    width:80px;
    height:40px;
    border-top:#e9314b 40px solid;
    border-right:transparent 80px solid;
    border-bottom:none;
    border-left:transparent 80px solid;
    position:absolute;
    bottom:-40px;
    left:0;
    right:0;
    margin:auto;
}

#about .details .detail .prices {
}

#about .details .detail .prices table {
    width:100%;
    border-collapse:collapse;
    border:#e9314b 1px solid;
    margin-bottom:15px;
}

#about .details .detail .prices table:last-child {
    margin-bottom:0;
}

#about .details .detail .prices table th {
    background:#e9314b;
    color:#fff;
    text-align:center;
    padding:12px;
    font-size:110%;
    font-weight:bold;
}

#about .details .detail .prices table th .sup {
    font-size:70%;
}

#about .details .detail .prices table td {
    border:#e9314b 1px solid;
    text-align:center;
    padding:18px 12px;
    line-height:100%;
    background:#fff;
}

#about .details .detail .prices table td:first-child {
    font-size:100%;
    font-weight:bold;
}

#about .details .detail .prices table td:last-child {
    font-size:100%;
    font-weight:bold;
    color:#e9314b;
}

#about .details .detail .prices table td .yen {
    font-size:180%;
    font-weight:500;
    margin-right:5px;
}

#about .details .detail .prices table td .tax {
    font-size:70%;
    color:#000;
}

#about .details .limited {
    text-align:center;
    margin-bottom:20px;
}

#about .details .limited .limited_period {
    display:flex;
    justify-content:center;
    align-items:flex-end;
    gap:30px;
    margin-bottom:15px;
}

#about .details .limited .limited_period .tooltip_l {
    width:1px;
    height:40px;
    background:#e9314b;
    transform:rotate(-30deg);
}
#about .details .limited .limited_period .tooltip_r {
    width:1px;
    height:40px;
    background:#e9314b;
    transform:rotate(30deg);
}

#about .details .limited .limited_period p {
    font-size:150%;
    font-weight:bold;
    line-height:100%;
    color:#e9314b;
}

#about .details .limited .limited_item {
    font-size:250%;
    font-weight:bold;
    line-height:100%;
    color:#e9314b;
}

#about .details .about_special_price {
    margin-bottom:20px;
}

#about .details .about_special_price {
    border:#e9314b 5px solid;
    background:#fff5eb;
}

#about .details .about_special_price .prices table th {
    color:#f5e100;
} 

#about .details .about_special_price .attention {
    margin-top:20px;
}

#about .details .about_special_price .attention p {
    display:flex;
}

#about .details .about_pay {
}

#about .details .about_pay .prices {
    align-items:flex-start;
}

#about .details .about_pay .prices table th {
    font-size:100%;
}

#about .details .about_pay .prices table td:last-child {
    font-size:100%;
    font-weight:500;
    line-height:150%;
    color:#000;
}



/*-----TSL-----*/
#tsl {
    background:#fff;
}

#tsl .cts {
    padding:50px 0 30px;
}

#tsl .titles {
    margin-bottom:30px;
}

#tsl .details {
}

#tsl .details .gallery {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    margin-bottom:30px;
    display:none;
}

#tsl .details .gallery .tsl_logo {
    width:100%;
    border:#ff7c7c 1px solid;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px 0;
    margin-bottom:15px;
}

#tsl .details .gallery .tsl_logo img {
    width:70%;
}

#tsl .details .gallery .photos {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
}

#tsl .details .gallery .photos .photo {
    width:48.5%;
}

#tsl .details .gallery .photos .photo:first-child {
    width:100%;
    margin-bottom:3%;
}

#tsl .details .ex {
    width:100%;
    background:url(../img/letter_sp.svg) top center;
    background-size:10px 45px;
}

#tsl .details .ex p {
    font-size:100%;
    line-height:45px;
    padding-bottom:45px;
}

#tsl .details .ex p:last-child {
    padding-bottom:0;
}



/*-----MESSAGE-----*/
#message {
    padding:35px 0 30px;
    background:#e9314b;
    position:relative;
}

#message .cts {
    width:100%;
}

#message .titles .subtitle {
    font-size:100%;
    font-weight:bold;
    line-height:100%;
    color:#fff;
    padding:10px 12px 8px;
    border:#fff 1px solid;
    display:inline-block;
    margin-bottom:15px;
}

#message .ivy_tl {
    position:absolute;
    top:0;
    left:0;
    width:50vw;
}

#message .ivy_br {
    position:absolute;
    bottom:0;
    right:0;
    width:50vw;
}

#message .titles {
    margin-bottom:15px;
}

#message .titles .title {
    font-size:135%;
    color:#fff;
}

#message .movie {
    width:100%;
    padding-top: 56.25%;
    position:relative;
    margin-bottom:15px;
}

#message .movie iframe {
    position: absolute;
    top:0;
    right:0;
    width:100% !important;
    height:100% !important;
}

#message .message {
    width:90%;
    margin:auto;
    background:#fff;
    padding:25px 25px 25px;
}

#message .message .letter {
    background:url(../img/letter.svg) center top;
    background-size:10px 45px;
}

#message .message .letter p {
    line-height:45px;
    margin-bottom:45px;
}

#message .message .letter p:last-child {
    margin-bottom:0;
}

#message .message .sign {
    margin-top:30px;
    text-align:right;
}

#message .message .sign p {
    font-size:135%;
    font-weight:600;
}



/*-----PROFILE-----*/
#profile {
    background:#fff;
    padding:50px 0 0;
}

#profile .titles {
    margin-bottom:30px;
}

#profile .cts {
    width:100%;
}

#profile .copies {
    text-align:center;
    margin-bottom:0;
    position:relative;
}

#profile .copies .cases {
    display:flex;
    justify-content:center;
    margin-bottom:10px;
    position:relative;
}

#profile .copies .case {
    font-size:120%;
    font-weight:bold;
    line-height:100%;
    border:#e9314b 1px solid;
    color:#e9314b;
    padding:7px 10px 6px;
    margin:0 5px;
}

#profile .copies .result {
    font-size:120%;
    font-weight:bold;
    position:relative;
    margin-bottom:5px;
}

#profile .copies .maincopy {
    font-size:135%;
    font-weight:bold;
    line-height:135%;
    position:relative;
    z-index:1;
}

#profile .copies .names {
    margin-top:15px;
    position:relative;
    display:flex;
    justify-content:flex-start;
    align-items:center;
    height:320px;
}

#profile .copies .names .kana {
    width:90%;
    margin:auto;
    position:absolute;
    left:0;
    right:0;
}

#profile .copies .names .name {
    font-size:180%;
    font-weight:bold;
    line-height:100%;
    position:absolute;
    left:10%;
}

#profile .details {
    width:90%;
    margin:0 auto;
    position:relative;
}

#profile .details .photo {
    width:200px;
    height:300px;
    overflow:hidden;
    position:absolute;
    margin:0 0 15px auto;
    top:-320px;
    right:-7%;
}

#profile .details .detail {
    width:100%;
    margin-bottom:30px;
}

#profile .details .detail .ex {
}

#profile .details .detail .ex p {
}

#profile .books {
    background:#fdeaed;
    padding:30px 0;
}

#profile .logo-marquee__item img {
  display: block;
  width: 80px;
  height: auto;
}

.logo-marquee {
    overflow: hidden;
    width: 100%;
}

.logo-marquee__track {
    display: flex;
    width: max-content;
    will-change: transform;
}

.logo-marquee__item {
    flex: 0 0 auto;
    margin-right: 10px;
}

#profile .books .logo_top {
    margin-bottom:10px;
}



/*-----FAQ-----*/
#faq {
    background:#fff;
}

#faq .cts {
    padding:50px 0 30px;
}

#faq .titles {
    margin-bottom:20px;
}

#faq .faqs {
}

#faq .faqs .faq {
    padding-bottom:20px;
    margin-bottom:20px;
    border-bottom:#e1e1e1 1px solid;
}

#faq .faqs .faq:first-child {
    border-top:#e1e1e1 1px solid;
    padding-top:20px;
}

#faq .faqs .faq:last-child {
    margin-bottom:0;
}

#faq .faqs .faq .question {
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    position:relative;
    cursor:pointer;
}

#faq .faqs .faq .question .item {
    width:50px;
    height:50px;
    border-radius:30px;
    background:#e9314b;
    font-size:120%;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
}

#faq .faqs .faq .question .subject {
    width:calc(100% - 50px);
    font-size:100%;
    font-weight:bold;
    color:#e9314b;
    padding-right:15px;
}

#faq .faqs .faq .question .arrow {
    width:10px;
    height:10px;
    border-top:#e9314b 2px solid;
    border-right:#e9314b 2px solid;
    transform:rotate(45deg);
    display:block;
    position:absolute;
    right:0;
}

#faq .faqs .faq .question.open .arrow {
    transform:rotate(135deg);
    margin-bottom:15px;
}

#faq .faqs .faq .answer {
    margin-top:10px;
    display:none;
}

#faq .faqs .faq .answer .answer_cts {
    display:flex;
    gap:10px;
}

#faq .faqs .faq .answer .answer_cts .item {
    width:50px;
    height:50px;
    border-radius:30px;
    border:#e9314b 1px solid;
    font-size:120%;
    color:#e9314b;
    display:flex;
    justify-content:center;
    align-items:center;
}

#faq .faqs .faq .answer .answer_cts .tx {
    width:calc(100% - 60px);
}



/*-----CTA-----*/
.cta {
    background:#fff;
}

.cta .arrow_top {
    position:relative;
    top:-5px;
}

.cta .event_name {
    font-size:180%;
    font-weight:bold;
    line-height:100%;
    color:#e9314b;
    text-align:center;
    background:#fdeaed;
    padding:10px 0 8px;
    margin-bottom:15px;
}

.cta .applications {
}

.cta .applications .application {
    margin-bottom:30px;
}

.cta .applications .application:last-child {
    margin-bottom:0;
}

.cta .applications .application .item {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:15px;
    position:relative;
}

.cta .applications .application .item:before {
    content:"";
    width:100%;
    height:1px;
    background:#ddd;
    position:absolute;
}

.cta .applications .application .item p {
    font-size:135%;
    font-weight:bold;
    line-height:100%;
    position:relative;
    background:#fff;
    padding:0 20px;
}

.cta .applications .application .btns {
}

.cta .applications .application .btns .btn {
    width:90%;
    margin:0 auto 15px;
    animation:cta 1s infinite alternate;
}

.cta .applications .application .btns .btn:last-child {
    margin-bottom:0;
}

.cta .applications .application .attention {
    font-weight:bold;
    margin-top:15px;
    text-align:center;
    color:#e9314b;
}



/*-----BENEFIT-----*/
#benefit {
    background:#fff;
    padding:35px 0 35px;
}

#benefit .cts {
    background:#fdeaed;
    padding:25px;
}

#benefit .titles {
    text-align:center;
    margin-bottom:20px;
}

#benefit .titles .icon {
    width:50px;
    margin:0 auto 10px;
}

#benefit .titles .title {
    font-size:150%;
    font-weight:bold;
    line-height:100%;
    color:#e9314b;
    border-bottom:#e9314b 2px solid;
    display:inline-block;
}

#benefit .copy {
    font-size:110%;
    font-weight:bold;
    text-align:center;
    margin-bottom:60px;
}

#benefit .presents {
}

#benefit .presents .present {
    background:#fff;
    padding:7px;
    position:relative;
    margin-bottom:45px;
}

#benefit .presents .present:last-child {
    margin-bottom:0;
}

#benefit .presents .present .present_cts {
    border:#e9314b 1px solid;
    padding:55px 10px 20px;
}

#benefit .presents .present .present_cts .number {
    width:60px;
    position:absolute;
    top:-30px;
    left:0;
    right:0;
    margin:auto;
}

#benefit .presents .present .present_cts .subject {
    font-size:125%;
    font-weight:bold;
    color:#e9314b;
    text-align:center;
}

#benefit .presents .present .present_cts .tx {
    font-size:90%;
}



/*-----PRIVACY-----*/
#privacy {
    background:#fff url(../img/stripe_bg.png) center;
    background-size:30px 30px;
    padding:50px 0;
}

#privacy .cts {
}

#privacy .titles {
    margin-bottom:20px;
}

#privacy .titles .main_title {
    font-size:150%;
    font-weight:600;
    line-height:100%;
    color:#e9314b;
}

#privacy .titles .line {
    width:30px;
    height:1px;
    background:#aaa;
    margin:10px auto 10px;
}

#privacy .titles .kana {
    font-size:70%;
}

#privacy .privacies {
    background:#fff;
    border:#f0f0f0 1px solid;
    padding:25px 25px;
}

#privacy .privacies .privacy {
    border-bottom:#f0f0f0 1px solid;
    padding-bottom:20px;
    margin-bottom:20px;
}

#privacy .privacies .privacy:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

#privacy .privacies .privacy .subject {
    display:flex;
    font-weight:600;
    color:#e9314b;
    margin-bottom:3px;
}

#privacy .privacies .privacy .tx {
}

#privacy .privacies .privacy ul {
    margin-top:10px;
    background:#f6f6f6;
    padding:15px 20px;
}

#privacy .privacies .privacy ul li {
    display:flex;
}

#privacy .privacies .privacy ul li p {
}

#privacy .privacies .privacy .data {
    margin-top:10px;
    background:#f6f6f6;
    padding:15px 20px;
}

#privacy .privacies .privacy .b {
    font-weight:500;
}



/*-----LEGAL-----*/
#legal {
    background:#fff url(../img/stripe_bg.png) center;
    background-size:30px 30px;
    padding:50px 0;
}

#legal .cts {
}

#legal .titles {
    margin-bottom:20px;
}

#legal .titles .main_title {
    font-size:150%;
    font-weight:600;
    line-height:100%;
    color:#e9314b;
}

#legal .titles .line {
    width:30px;
    height:1px;
    background:#aaa;
    margin:10px auto 10px;
}

#legal .titles .kana {
    font-size:70%;
}

#legal .legals {
    background:#fff;
    border:#f0f0f0 1px solid;
    padding:25px 25px;
}

#legal .legals .legal {
    border-bottom:#f0f0f0 1px solid;
    padding-bottom:20px;
    margin-bottom:20px;
}

#legal .legals .legal:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

#legal .legals .legal .item {
    width:100%;
    font-weight:bold;
}

#legal .legals .legal .detail {
    width:100%;
}










/*-----BACK TO TOP-----*/
.BackToTop {
position:fixed;
width:50px;
height:50px;
right:15px;
bottom:15px;
z-index:100;
display:none;
}



/*-----END CTA-----*/
.end_cta {
    padding:50px 0;
    background:#fdeaed;
}



/*-----FOOTER-----*/
footer {
    background:#fff;
    padding:50px 0 35px;
}

footer .privacy {
    font-size:100%;
    text-align:center;
    margin-bottom:30px;
    display:flex;
    justify-content:center;
    flex-direction:column;
}

footer .privacy a {
    font-weight:500;
}

footer .copyright {
    font-size:70%;
    letter-spacing:1px;
    text-align:center;
    color:#aaa;
}






}