@charset "utf-8";

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    line-height: 2.2rem;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
    font-size: 16px;
}



li {
    list-style: none;
}

a {
    text-decoration: none;
    color: black;
}

img {
    width: 100%;
}

h2 {
    font-weight: normal;
}

p {
    font-size: 20px;
}

.fea-head {
    background-color: #022a7c;
    display: inline;
    padding: 10px 100px;
    color: white;
    font-weight: bold;
    border-radius: 50px;
}

.container {
    width: 1170px;
    margin: 0 auto;
}

@media(max-width:1000px) {

    .container {
        width: 90%;
    }
    
    }

/* ヘッダー 
--------------------------------------------------------------------*/

header {
    width: 100%;
    border-bottom: 1px solid rgb(225, 225, 225);
}

@media(max-width:1000px) {

    header {
    height: 85px;    
}
    
    }

.header-container {
    padding: 0 2%;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.header-logo img{
    width: 200px;
    padding-top: 10px;
    padding-bottom: 8px;
    margin-left: 40px;
}

.header-right {
    display: flex;
}

.header-right li {
    margin-left: 40px;
    line-height: 80px;
}

.btn {
    background-color: #153465;
    color: white;
    display: block;
    padding: 0 30px;
    line-height: 85px;
}

.btn:hover {
    opacity: 0.7;
    transition: 0.6s all;
}

.hamburger-menu {
    display: none;
}

@media(max-width:1000px){
    .header-right {
        display: none;
    }
    
    
}

/* トップ
--------------------------------------------------------------------*/

.top-wrapper img{
    width: 100%;
}

.sp-top {
    display: none;
}

@media(max-width:670px) {

    .pc-top {
    display: none;    
}
    .sp-top {
        display: block;
    }

}
/* ボタン
--------------------------------------------------------------------*/

.btn-wrapper {
    background-color: #022a7c;
    padding: 20px 0;
    margin-top: -10px;
}
.btn-1 img {
    width: 60%;
}

.btn-1 {
    margin: 0 auto;
    animation: fuwafuwa 1s ease 0s infinite alternate;
    transform-origin:center;
    cursor: pointer;
    }

    @keyframes fuwafuwa {
    from {transform: scale(0.9,0.9);}
    to {transform: scale(1,1);}
    } 


@media(max-width: 670px) {
    .btn-1 img {
        padding-top: 10px;
        width: 100%;
    }

}

/* CMOアカデミーとは
--------------------------------------------------------------------*/

 .about-wrapper {
    padding: 30px 0 30px 0;
 }

.about1{
    width: 60%;
}

 .about {
    font-size: 22px;
    line-height: 2.5rem;
    padding: 50px 0;
 }

 .about-color {
    background-color: #fff4d6; 

 }

.about-sp {
    display: none;
}

.pink {
    font-size: 30px;
    font-weight: bold;
    color: #022a7c;
}

@media(max-width: 670px) {

    .about-wrapper {
        padding-top: 40px;
    }

    .about1 {
        width: 80%;
    }

    .about-pc {
        display: none;
    }

    .about-sp {
        display: block;
        width: 80%;
        margin: 0 auto;
    }

    .about {
        font-size: 16px;
        line-height:2rem;
    }

    .pink {
        font-size: 22px;
    }
    
 }

 /* こんな方におすすめです
--------------------------------------------------------------------*/

.problem-wrapper{
	position: relative;
	background: #dff3fe;
	margin-bottom:80px;
    padding-top: 80px;
}

.problem-wrapper::after {
	content: "";
	position: absolute;
	bottom: -100px;
	width: 0;
	height: 0;
	box-sizing: border-box;
	border-right: 50vw solid transparent;
	border-left: 50vw solid transparent;
	border-top: 100px solid #dff3fe;
	left: 0%;
}

 .heading2 {
    color: black;
    padding-bottom:80px;
    margin: 0 auto;
    font-size: 20px;
 }

 .heading2 h2{
    font-weight: bold;
 }

 .head-color {
    color: #022a7c;
 }

.sp1 {
    color: black;
}

.problem-sp {
    display: none;
}

@media(max-width:670px) {
    .problem-sp {
        display: block;
    }

    .problem-pc {
        display: none;
    }

    .problem-wrapper {
        padding-top: 40px;
    }

    .heading2 {
        font-size: 18px;
        padding-bottom: 20px;
    }
}

  /* カリキュラム
--------------------------------------------------------------------*/

.heading3 {
    padding: 80px 0;
    font-size: 26px;
    line-height:2.5rem;
}

.sp1 {
    font-size: 24px;
    font-weight: 400;
}

.feature-h2 {
    padding: 40px 0;
}

.heading4 {
    background-color: black;
    color: white;
    padding: 10px 30px;
}

@media(max-width:670px) {
    .heading3 {
        font-size: 20px;
        padding:40px 0;

    }

    .sp1 {
        font-size: 18px;

    }
}

  /* 特徴
--------------------------------------------------------------------*/

.feature-wrapper {
    background-color: #dff3fe;
}


.heading5 {
    margin-bottom: -30px;
}

.heading5 p {
    color: black;
    padding-bottom: 20px;
}

.span3 {
    font-size: 30px;
}

.features-list {
    padding: 80px 0;
    display: flex;
}

@media(max-width:670px) {
    .features-list {
        display: block;
    }
}


/* 学べる内容 
--------------------------------------------------------------------*/

.lesson-wrapper {
    padding-top: 60px;
}

.lesson-list {
    padding: 80px 0;
}

.lesson img {
    width: 120px;
    height: 120px;
}

.lessons {
    display: flex;
    flex-wrap: wrap;
}

.lesson {
    display: flex;
    font-size: 16px;
    width: 50%;
}

@media(max-width:1000px){
    .lesson {
        width: 100%;
    }

    .feature-wrapper  {
        padding-top: 0px;
    }

    .heading5 {
        margin-top: 40px;
    }

    .lesson-list {
        padding: 20px;
    }
}

.lesson-head {
    color:#022a7c;
    font-weight: 700;
}

.lesson-txt {
    font-size: 16px;
    line-height: 1.4rem;
}

.lesson-content {
    margin: 0 40px 60px 40px;
    text-align: left;
}

@media(max-width:1000px) {
    .lesson-content {
        margin: 10px 0 20px 20px;
        text-align: left;
    }

    .lesson img {
        width: 80px;
        height: 80px;
        margin-top: 20px;
    }
}

/* 講師紹介
--------------------------------------------------------------------*/

.teacher-wrapper {
    background-color: #dff3fe;
    margin-bottom: 60px;
    padding-bottom: 80px;
}

.teacher {
    background-color: white;
    margin-top: 60px;
    padding: 60px 40px;
    border-radius: 50px 0 50px 0;
    display: flex;
    text-align: left;
}

.teacher img {
    width: 250px;
    height: 250px;
    margin-right: 40px;
}

.tea-contents p{
    font-size: 16px;
}

.tea-contents h4 {
    font-size: 22px;
    margin-bottom: 20px;
}

.blue {
    font-size: 18px;
    color: #022a7c;
}

.tea-image {
    margin-top: 40px;
}



@media(max-width:670px) {
    .teacher {
        display: block;
    }

    .tea-contents p {
        line-height: 1.4rem;
    }

}





/* 学習の流れ 
--------------------------------------------------------------------*/

.flow-list {
    display: flex;
    flex-wrap: wrap;
    padding: 40px 100px ;
}

.flows {
    width: 50%;
    margin: 0 auto;
}

@media(max-width:1000px){
    .flows {
        width: 100%;
    }
    .flow-list {
        padding: 10px

    }
}


/* よくある質問 
--------------------------------------------------------------------*/
.fea-head2 {
    width: 100%;
    background-color: #022a7c;
    display: inline;
    padding: 10px 100px;
    color: white;
    font-weight: bold;
    border-radius: 50px;

}
.qa-wrapper {
    padding-top: 80px;
}
.qa-008 {
    padding-top: 60px;
    text-align: left;
}

.qa-008 dt {
    margin-bottom: 1em;
    color: #022a7c;
    font-size: 20px;
    font-weight: 600;
}

.qa-008 dt::before,
.qa-008 dd::before {
    margin-right: .4em;
}

.qa-008 dt::before {
    content: "Q.";
}

.qa-008 dd {
    margin: 0 0 2.5em;
    padding: 1em 1.5em;
    background-color: #dff3fe;
    font-size: 18px;
    color: #333333;
}

.qa-008 dd::before {
    content: "A.";
}

footer {
    background-color: #022a7c;
}

.footer-left {
    padding-top: 10px;
}

.footer-left a{
    padding-top: 10px;
    color: white;
}

.footer-left p{
    color: white;
    font-size: 14px;
}

@media(max-width:1000px){
    .footer-left p {
        font-size: 10px;
    }
}


.slide-container {
    max-width: 1200px;
    margin: 50px auto;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.slide-wrapper {
  display: flex;
  animation: slide-flow 20s infinite linear 1s both;
}
.slide{
  width: 300px;
  object-fit:cover;
  border: 1px solid #ddd;
}
@keyframes slide-flow {
     0% {transform: translateX(0);}
 100% {transform: translateX(-100%);}
}