@charset "utf-8";

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

@media(min-width:1000px){

/*-----STYLE-----*/
.sp {
    display:none;
}

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

.cts {
    width:1000px;
}

.titles {
    text-align:center;
}

.titles .title {
    font-size:250%;
    font-weight:500;
    line-height:135%;
}


.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:#e1e1e1 1px solid;
    background:#fff;
    padding:8px 15px;
}

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

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




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

header .logo {
    width:80px;
}

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%;
    height:680px;
    position:relative;
}

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


#mv .cts {
    width:1060px;
    height:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
}

#mv .copies {
    width:650px;
    margin-bottom:20px;
}

#mv .copies .copy1 {
    width:625px;
    margin-left:20px;
}

#mv .copies .copy2 {

}

#mv .copies .copy3 {
    width:625px;
    margin-left:20px;
}

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

#mv .photos .photo {
}

#mv .photos .names {
    position:absolute;
    bottom:30px;
    right:0;
}

#mv .photos .names .name {

}

#mv .photos .names .name p {
    font-size:150%;
    line-height:100%;
    color:#fff;
    background:#000;
    padding:6px 8px;
    display:inline-block;
}

#mv .photos .names .kana {
    margin-left:60px;
}

#mv .photos .names .kana p {
    font-size:90%;
    line-height:100%;
    color:#fff;
    background:#000;
    padding:7px 2px;
    display:inline-block;
}

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

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

#mv .recommend .recommend_cts .copy {
    width:500px;
    position:absolute;
    left:80px;
}

#mv .recommend .recommend_cts .kamogashira {
    width:135px;
    position:absolute;
    left:0;
    bottom:0;
}


/*BOOK*/
#book {
    padding:60px 0;
    background:#fdeaed;
}

#book .book_titles {
    text-align:center;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:25px;
}

#book .book_titles .book {
    font-size:200%;
    font-weight:500;
    line-height:100%;
    background:#e9314b;
    color:#fff;
    margin-right:15px;
    padding:5px 10px;
}

#book .book_titles .seminar {
    font-size:240%;
    font-weight:500;
    line-height:100%;
    color:#e9314b;
}

#book .book_titles .score {
    font-size:180%;
    font-weight:400;
    line-height:100%;
}

.logo-marquee.logo_top {
    margin-bottom:10px;
}

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

.logo-marquee__track {
  display: flex;
  align-items: center;
  gap: 10px;
  width: max-content;
  will-change: transform;
}

.logo-marquee__item {
  flex: 0 0 auto;
}

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

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



/*-----INTRO-----*/
#intro {
    padding:70px 0;
    background:#fff;
}

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

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

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



/*-----BENEFIT INTRO-----*/
#benefit_intro {
    padding:70px 0;
    background:#fdeaed;
}

#benefit_intro .benefits {
    position:relative;
    display:flex;
    justify-content:space-between;
    padding-top:20px;
}

#benefit_intro .benefits .benefit_title {
    width:350px;
    position:absolute;
    margin:0 auto;
    left:0;
    right:0;
    top:-20px;
}

#benefit_intro .benefits .benefit {
    width:48.5%;
    background:#fff;
    border:#e9314b 1px solid;
    padding:15px 30px 30px;
}

#benefit_intro .benefits .benefit .number {
    width:150px;
    margin:0 auto 10px;
}

#benefit_intro .benefits .benefit .subjects {
    text-align:center;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
}

#benefit_intro .benefits .benefit .subjects .subcopy {
    font-size:120%;
    font-weight:500;
}

#benefit_intro .benefits .benefit .subjects .subject {
    font-size:220%;
    font-weight:600;
    line-height:100%;
    color:#e9314b;
    padding-top:7px;
}

#benefit_intro .benefits .benefit:last-child .subjects .subject {
    font-size:170%;
    font-weight:600;
    line-height:135%;
    color:#e9314b;
    padding-top:5px;
    margin-bottom:5px;
}

#benefit_intro .benefits .benefit .subjects .maincopy {
    font-size:180%;
    font-weight:600;
    line-height:135%;
    color:#e9314b;
    padding:8px 0;
}

#benefit_intro .benefits .benefit .tx {
    font-size:110%;
}

#benefit_intro .benefits .benefit .photo {
    width:300px;
    margin:0 auto 20px;
}



/*-----INTERVIEW-----*/
#interview {
    padding:70px 0 70px;
    background:#fff;
}

#interview .subjects {
}

#interview .subjects .views {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:10px;
}

#interview .subjects .views .kamikai {
    background:#f5e100;
    color:#e9314b;
    font-size:180%;
    font-weight:400;
    line-height:100%;
    padding:10px;
}

#interview .subjects .views .view {
    background:#e9314b;
    color:#fff;
    font-size:180%;
    font-weight:400;
    line-height:100%;
    padding:10px;
}

#interview .subjects .item {
    display:flex;
    justify-content:center;
    align-items:center;
}

#interview .subjects .item p {
    font-size:200%;
    font-weight:500;
    display:flex;
    align-items:center;
    margin-bottom:5px;
}

#interview .subjects .item p:before {
    content:"";
    width:50px;
    height:1px;
    background:#000;
    display:block;
    margin-right:10px;
}

#interview .subjects .item p:after {
    content:"";
    width:50px;
    height:1px;
    background:#000;
    display:block;
    margin-left:10px;
}

#interview .subjects .subject {
    font-size:300%;
    font-weight:500;
    line-height:100%;
    color:#e9314b;
    margin-bottom:10px;
    text-align:center;
}

#interview .subjects .attention {
    display:flex;
    justify-content:center;
    font-size:80%;
    color:#464646;
    margin-bottom:20px;
}

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

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

#interview .digest {
    width:1000px;
    margin:auto;
    position:relative;
}

#interview .digest .comments {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
}

#interview .digest .comments .comment {
    width:350px;
    background:#fdeaed;
    border-radius:10px;
    position:relative;
    margin-bottom:20px;
    padding:15px 20px;
    display:flex;
    align-items:center;
    font-size:90%;
}

#interview .digest .comments .comment:nth-child(odd):before {
    content:"";
    width:15px;
    height:10px;
    border-top:transparent 10px solid;
    border-right:transparent 15px solid;
    border-bottom:transparent 10px solid;
    border-left:#fdeaed 15px solid;
    position:absolute;
    right:-30px;
}

#interview .digest .comments .comment:nth-child(even):before {
    content:"";
    width:15px;
    height:10px;
    border-top:transparent 10px solid;
    border-right:#fdeaed 15px solid;
    border-bottom:transparent 10px solid;
    border-left:transparent 15px solid;
    position:absolute;
    left:-30px;
}

#interview .digest .comments .comment:nth-child(n+3) {
    margin-bottom:0;
}

#interview .digest .comments .comment p {
    font-weight:500;
}

#interview .digest .comments .comment p {

}

#interview .digest .photo {
    width:250px;
    margin:auto;
    position:absolute;
    bottom:0;
    left:0;
    right:0;
}



/*-----KAMOGASHIRA-----*/
#kamogashira {
    padding:70px 0;
    background:#fdeaed;
}

#kamogashira .titles {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:30px;
}

#kamogashira .titles .balloon_l {
    width:1px;
    height:50px;
    background:#e9314b;
    transform:rotate(-30deg);
}

#kamogashira .titles .balloon_r {
    width:1px;
    height:50px;
    background:#e9314b;
    transform:rotate(30deg);
}

#kamogashira .titles .copy {
    font-size:180%;
    font-weight:500;
    color:#e9314b;
    padding:0 15px 0 25px;
}

#kamogashira .details {
    display:flex;
    justify-content:space-between;
}

#kamogashira .details .photos {
    width:300px;
}

#kamogashira .details .photos .main_photo {
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
}

#kamogashira .details .photos .main_photo .obj {
    width:360px;
    position:absolute;
}

#kamogashira .details .photos .main_photo .photo {
    width:210px;
    margin:auto;
    position:relative;
}

#kamogashira .details .photos .sub_photo {
    border:#fff 10px solid;
}

#kamogashira .details .detail {
    width:calc(100% - 350px);
    position:relative;
}

#kamogashira .details .detail .names {
    margin-bottom:15px;
}

#kamogashira .details .detail .names .name {
    font-size:200%;
    font-weight:500;
    line-height:100%;
    margin-bottom:3px;
}

#kamogashira .details .detail .names .name:first-letter {
    color:#e9314b;
}

#kamogashira .details .detail .names .name .san {
    font-size:80%;
}

#kamogashira .details .detail .names .kana {
    font-size:80%;
    letter-spacing:1px;
    color:#969696;
}

#kamogashira .details .detail .ex {

}

#kamogashira .details .detail .ex p {
    line-height:170%;
    padding-bottom:15px;
}

#kamogashira .details .detail .biography {
    margin-top:25px;
    background:#fff;
    padding:20px 25px;
}

#kamogashira .details .detail .biography .item {
    font-size:90%;
    font-weight:600;
    color:#e9314b;
    margin-bottom:3px;
}

#kamogashira .details .detail .biography .tx {
    font-size:90%;
}




/*-----RESULT-----*/
#result {
    padding:70px 0;
    background:#e9314b;
}

#result .cts {
    width:900px;
}

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

#result .titles .icon {
    width:50px;
    margin:0 auto 5px;
}

#result .titles .title {
    color:#fff;
}

#result .results {
    display:flex;
    justify-content:space-between;
    margin-bottom:30px;
}

#result .results .result {
    width:49%;
    background:#fff;
    text-align:center;
}

#result .results .result .item {
    font-size:150%;
    font-weight:500;
    line-height:100%;
    background:#fdeaed;
    color:#e9314b;
    padding:15px;
}

#result .results .result .total {
    font-size:150%;
    font-weight:500;
    line-height:100%;
    color:#e9314b;
    padding:15px;
}

#result .results .result .total .score {
    font-size:150%;
    margin:0 5px;
}

#result .summary {
    text-align:center;
    font-size:180%;
    line-height:150%;
    color:#fff;
}



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

#worry .cts {
    width:800px;
}

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

#worry .illust {
    width:400px;
    margin:0 auto 30px;
}

#worry ul {
    margin-bottom:30px;
}

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

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

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

#worry ul li p {
    font-size:110%;
    font-weight:500;
    width:calc(100% - 30px);
}

#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;
}



/*-----CTA-----*/
.cta {
    padding:0 0 60px;
    position:relative;
}

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

.cta .cts {
    padding-top:70px;
}

.cta .event_title {
    width:700px;
    margin:0 auto 20px;
}

.cta .event_logo {
    width:700px;
    margin:auto;
    background:rgba(255,255,255,0.5);
    padding:35px 25px;
}

.cta .cta_btn {
    margin-top:30px;
}



/*-----PROGRAM-----*/
#program {
    padding:70px 0 30px;
    background:#fff;
}

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

#program .cts {
    width:800px;
}

#program .programs {
    margin-bottom:50px;
}

#program .programs .program {
    margin-bottom:30px;
}

#program .programs .program:last-child {
    margin-bottom:0;
}

#program .programs .program .target {
    display:flex;
    justify-content:flex-end;
    align-items:center;
}

#program .programs .program .target img {
    width:45px;
    margin-right:10px;
}

#program .programs .program .target .tx {
    width:calc(100% - 65px);
    font-size:120%;
    font-weight:500;
    color:#e9314b;
}

#program .programs .program ul {
    border:#e9314b 1px solid;
    padding:20px 30px;
}

#program .programs .program ul li {
    display:flex;
    justify-content:space-between;
    border-bottom:#fdeaed 1px solid;
    padding-bottom:15px;
    margin-bottom:15px;
}

#program .programs .program ul li:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

#program .programs .program ul li img {
    width:20px;
}

#program .programs .program ul li p {
    width:calc(100% - 30px);
    font-weight:400;
}

#program .summary {
    font-size:200%;
    font-weight:500;
    line-height:150%;
    text-align:center;
}






/*-----CTA BTN-----*/
.cta_btn {
    text-align:center;
}

.cta_btn .btn {
    width:600px;
    margin:auto;
    animation:cta 1s infinite alternate;
}

.cta_btn .btn a {
    width:600px;
    background:#00b900;
    padding:10px 50px;
    display:block;
}




/*-----LEARN-----*/
#learn {
    padding:0 0 30px;
    background:#fdeaed;
}

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

#learn .cts {
    padding-top:70px;
}

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

#learn .titles .subcopy {
    font-size:180%;
    font-weight:500;
    line-height:150%;
    margin-bottom:3px;
}

#learn .titles .title {
    line-height:150%;
}

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

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




/*-----BENEFIT NEXT-----*/
#benefit_next {
    padding:70px 0;
    background:#fff url(../img/stripe_bg.png) center;
    background-size:30px 30px;
}

#benefit_next .cts {
    width:900px;
}

#benefit_next .benefit_title {
    width:350px;
    margin:0 auto 50px;
}

#benefit_next .benefits {
}

#benefit_next .benefits .benefit {
    background:#fff;
    border:#e9314b 1px solid;
    padding:60px 40px 35px;
    position:relative;
    margin-bottom:80px;
}

#benefit_next .benefits .benefit:last-child {
    margin-bottom:0;
}

#benefit_next .benefits .benefit .number {
    width:150px;
    margin:0 auto 10px;
    position:absolute;
    top:-62px;
    left:0;
    right:0;
}

#benefit_next .benefits .benefit .details {
}

#benefit_next .benefits .benefit .details .detail {
}

#benefit_next .benefits .benefit .details .detail .subjects {
    text-align:center;
    margin-bottom:15px;
}

#benefit_next .benefits .benefit .details .detail .subjects .subcopy {
    font-size:120%;
    font-weight:500;
}

#benefit_next .benefits .benefit .details .detail .subjects .subject {
    font-size:220%;
    font-weight:600;
    line-height:100%;
    color:#e9314b;
    padding-top:7px;
}

#benefit_next .benefits .benefit:last-child .details .detail .subjects .subject {
    font-size:200%;
    font-weight:600;
    line-height:135%;
    color:#e9314b;
    padding-top:5px;
    margin-bottom:5px;
}

#benefit_next .benefits .benefit .details .detail .subjects .maincopy {
    font-size:150%;
    font-weight:500;
    line-height:100%;
    color:#e9314b;
    padding:8px 0;
}

#benefit_next .benefits .benefit .details .detail .tx {
    font-size:110%;
    margin-top:10px;
    text-align:center;
}

#benefit_next .benefits .benefit .details .detail .targets {
    margin-top:20px;
    display:flex;
    justify-content:space-between;
}

#benefit_next .benefits .benefit .details .detail .targets .target {
    width:32%;
    border:#e9314b 1px solid;
}

#benefit_next .benefits .benefit .details .detail .targets .target:last-child {
    margin-bottom:0;
}

#benefit_next .benefits .benefit .details .detail .targets .target .when {
    background:#fdeaed;
    font-weight:400;
    color:#e9314b;
    padding:5px 10px;
    text-align:center;
}

#benefit_next .benefits .benefit .details .detail .targets .target .result {
    font-size:90%;
    font-weight:400;
    padding:5px 10px;
    text-align:center;
}

#benefit_next .benefits .benefit .details .photo {
    width:320px;
}

#benefit_next .benefits .benefit:last-child .details .detail {
}

#benefit_next .benefits .benefit:last-child .details .photo {
    width:250px;
}



/*-----PROFILE-----*/
#profile {
    background:#e9314b;
    padding:70px 0;
}

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

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

#profile .titles .item p {
    font-size:150%;
    font-weight:500;
    line-height:100%;
    border-top:#fff 1px solid;
    border-bottom:#fff 1px solid;
    color:#fff;
    display:inline-block;
    padding:7px 10px 5px;
}

#profile .titles .title {
    color:#fff;
}

#profile .cts {
    background:#fff;
    padding-top:50px;
}

#profile .copies {
    text-align:center;
    margin-bottom:30px;
}

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

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

#profile .copies .result {
    font-size:200%;
    font-weight:500;
}

#profile .copies .maincopy {
    font-size:250%;
    font-weight:500;
    line-height:135%;
}

#profile .copies .names {
    margin-top:50px;
    position:relative;
}

#profile .copies .names .kana {
    width:800px;
    margin:auto;
    position:absolute;
    bottom:0;
    left:0;
    right:0;
}

#profile .copies .names .name {
    font-size:200%;
    font-weight:600;
    line-height:100%;
    position:relative;
}

#profile .details {
    display:flex;
    justify-content:space-between;
    flex-direction:row-reverse;
    width:calc(100% - 120px);
    margin:0 auto 50px;
}

#profile .details .photo {
    width:300px;
}

#profile .details .detail {
    width:calc(100% - 340px);
}

#profile .details .detail .ex {

}

#profile .details .detail .ex p {

}

#profile .books {
    padding-bottom:20px;
}



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

#privacy .cts {
}

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

#privacy .titles .main_title {
    font-size:250%;
    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:90%;
}

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

#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;
}



/*-----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:35px 0;
}

footer .privacy {
    font-size:85%;
    text-align:center;
    margin-bottom:20px;
}

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

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









/*----- SWIPER -----*/
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
    content: "";
    height: 0;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
}
/* 前への矢印カスタマイズ */
.swiper-button-prev::after {
    width:30px;
    height:30px;
    border-left:2px #000 solid;
    border-bottom:2px #000 solid;
    transform:rotate(45deg);
    left:30px;
}
/* 次への矢印カスタマイズ */
.swiper-button-next::after {
    width:30px;
    height:30px;
    border-top:2px #000 solid;
    border-right:2px #000 solid;
    transform:rotate(45deg);
    right:30px;
}





}