@charset "UTF-8";

* {
  box-sizing: border-box;

  -webkit-box-sizing: border-box;

  -moz-box-sizing: border-box;

  -ms-box-sizing: border-box;

  -o-box-sizing: border-box;
}

body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",
    "MS UI Gothic", sans-serif;
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

/*-------------------------------

 

	パンくず

 

-------------------------------*/

.breadClumbs {
  margin: 0 auto 50px;

  display: block;
}

.breadClumbs ul {
  display: flex;
}

.breadClumbs ul li {
  font-size: 1.6rem;

  line-height: 1.5;
}

.breadClumbs ul li + li::before {
  content: ">";

  display: inline-block;

  margin: 0 17px;
}

@media only screen and (max-width: 767px) {
  .breadClumbs {
    margin: 0 calc(-40 / 750 * 100vw) 25px;

    background: #e5e3e3;
  }

  .breadClumbs ul {
    line-height: 0;

    padding: 2px 0;
  }

  .breadClumbs ul li {
    font-size: 1rem;

    display: flex;

    align-items: center;

    padding: 3px 0.8em 0px 2.1em;

    height: 30px;

    line-height: 1.1;
  }

  .breadClumbs ul li + li::before {
    content: none;

    margin: 0 0.8em;
  }

  .breadClumbs ul li a {
    display: block;

    padding: 12px 0;
  }

  .breadClumbs ul li.active {
    background: #f5f4f4;

    position: relative;

    margin-right: 15px;
  }

  .breadClumbs ul li.active::before,
  .breadClumbs ul li.active::after {
    position: absolute;

    content: "";
  }

  .breadClumbs ul li.active::before {
    left: -1px;

    box-sizing: border-box;

    border: 16px solid transparent;

    border-left: 12px solid #e5e3e3;

    position: absolute;

    top: 0;

    height: 30px;

    bottom: 0;

    margin: auto;
  }

  .breadClumbs ul li.active::after {
    right: -28px;

    box-sizing: border-box;

    border: 16px solid transparent;

    border-left: 12px solid #f5f4f4;

    position: absolute;

    top: 0;

    height: 30px;

    bottom: 0;

    margin: auto;
  }

  .breadClumbs ul li:nth-last-of-type(n + 3) {
    position: relative;
  }

  .breadClumbs ul li:nth-last-of-type(n + 3)::after {
    content: "・";

    position: absolute;

    right: -1.5em;
  }
}

.textBox {
  margin: 70px 0 68px;
}

.textBox p {
  font-size: 1.8rem;

  font-weight: normal;

  line-height: 1.94;
}

.textBox p + p {
  margin-top: 33px;
}

.textBox .bold {
  font-weight: bold;
}

.textBox .image {
  /*margin: 90px 0 95px;*/

  text-align: center;
}

.btnBlock .contactBtn {
  background-color: #1db400;

  color: #fff;

  display: block;

  font-size: 2.1rem;

  font-weight: bold;

  letter-spacing: 0.05em;

  line-height: 1.2;

  border-radius: 10px;

  padding: 19px 23px;

  width: 350px;

  margin: 0 auto 45px;
}

.btnBlock .contactBtn .text {
  display: flex;

  align-items: center;
}

.btnBlock .contactBtn .text::before {
  content: "";

  display: block;

  width: 43px;

  height: 30px;

  background: url(../images/icon_mail.png) no-repeat center center;

  background-size: 100%;

  margin-right: 1em;
}

.btnBlock .contactBtn:hover {
  opacity: 0.5;
}

@media only screen and (max-width: 767px) {
  .textBox {
    margin: 38px 0 60px;
  }

  .textBox p {
    font-size: 1.6rem;
  }

  .textBox p + p {
    margin-top: 32px;
  }

  .btnBlock .contactBtn {
    font-size: 1.8rem;

    padding: 15px calc(25 / 750 * 100vw) 14px;

    width: auto;

    margin: 0 auto 100px;
  }

  .btnBlock .contactBtn .text {
    justify-content: center;
  }

  .btnBlock .contactBtn .text::before {
    width: 41px;

    height: 29px;

    margin-right: 1em;
  }

  .btnBlock .contactBtn:hover {
    opacity: 0.1;
  }
}

/*-------------------------------

 

スキルアップ

 

-------------------------------*/

.skillUpArea {
  height: 589px;

  margin: 0 -30px;
}

.skillUpArea .ttl {
  width: calc(96 / 820 * 100%);

  margin: auto;

  line-height: 0;
}

.skillUpArea .read {
  font-size: 1.8rem;

  text-align: center;

  margin-top: 16px;
}

.skillUpArea p {
  font-size: 2.6rem;

  text-align: center;

  line-height: 1.8;
}

.skillUpArea .skillList {
  display: flex;

  justify-content: space-between;

  text-align: center;

  margin: 42px 0 0;
}

.skillUpArea .skillList li {
  width: calc((100% - 12px) / 4);

  font-size: 1.6rem;

  color: #fff;

  font-weight: bold;

  /*&.skillUp03{

      p{

          &::before{

              content: none;

          }

      }

  }*/

  /*&.skillUp01{

      p{

          background: #F285A2;

      }

      li{

          background: #D91A73;

      }

  }

  &.skillUp02{

      p{

          background: #2DCEF2;

      }

      li{

          background: #009FE3;

      }

  }

  

  &.skillUp04{

      p{

          background: #51DD9B;

      }

      li{

          background: #29BA73;

      }

  }*/
}

.skillUpArea .skillList li:hover {
  cursor: pointer;
}

.skillUpArea .skillList li p {
  font-size: 1.6rem;

  padding: 0.5em 0;

  min-height: 45px;

  background: #2dcef2;

  position: relative;
}

.skillUpArea .skillList li p::before {
  position: absolute;

  content: "";

  top: 18px;

  right: 15px;

  width: 7px;

  height: 7px;

  border-top: 1px solid #fff;

  border-right: 1px solid #fff;

  -webkit-transform: rotate(135deg);

  transform: rotate(135deg);
}

.skillUpArea .skillList li a {
  display: block;

  color: #fff;

  width: 100%;

  /*&:hover{

      color: #FFF100;

  }*/
}

.skillUpArea .skillList li ul {
  display: none;
}

.skillUpArea .skillList li ul li {
  margin-top: 4px;

  width: 100%;

  line-height: 1.26;

  background: #067cf2;
}

.skillUpArea .skillList li ul li a {
  /*min-height: 62px;*/

  height: 62px;

  display: flex;

  align-items: center;

  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .skillUpArea {
    height: 740px;

    margin: auto;
  }

  .skillUpArea .ttl {
    width: calc(184 / 670 * 100%);
  }

  .skillUpArea .read {
    font-size: 1.6rem;

    text-align: left;

    margin-top: 12px;
  }

  .skillUpArea p {
    font-size: 2.5rem;

    text-align: left;
  }

  .skillUpArea .skillList {
    display: block;

    margin: 20px 0 0;
  }

  .skillUpArea .skillList > li {
    margin-top: 2px;
  }

  .skillUpArea .skillList > li a {
    padding: 0.6em 0;
  }

  .skillUpArea .skillList li {
    width: 100%;

    font-size: 1.4rem;
  }

  .skillUpArea .skillList li > * {
    border-radius: 2px;
  }

  .skillUpArea .skillList li p {
    font-size: 1.4rem;

    /*padding: 0.6em 0;*/

    min-height: 37px;
  }

  .skillUpArea .skillList li p::before {
    top: 10px;

    right: 20px;

    width: 12px;

    height: 12px;
  }

  .skillUpArea .skillList li p.open::before {
    top: 16px;

    -webkit-transform: rotate(-45deg);

    transform: rotate(-45deg);
  }

  .skillUpArea .skillList li.skillUp03.open::before {
    top: 10px;

    transform: rotate(135deg);
  }

  .skillUpArea .skillList li a {
    padding: 0 20px;
  }

  .skillUpArea .skillList li a:hover {
    color: #fff;
  }

  .skillUpArea .skillList li ul li {
    border-radius: 2px;

    position: relative;

    margin-top: 2px;
  }

  .skillUpArea .skillList li ul li::before,
  .skillUpArea .skillList li ul li::after {
    position: absolute;

    content: "";

    margin: auto;

    background-color: #fff;

    top: 0;

    bottom: 0;
  }

  .skillUpArea .skillList li ul li::before {
    width: 15px;

    height: 1px;

    right: 18px;
  }

  .skillUpArea .skillList li ul li::after {
    width: 1px;

    height: 15px;

    right: 25px;
  }

  .skillUpArea .skillList li ul li a {
    height: 40px;

    justify-content: flex-start;
  }
}

.mvArea {
  position: relative;
}

.mvArea h1 {
  position: absolute;

  background: #fff;

  font-size: 2.7rem;

  top: 0;

  bottom: 0;

  left: 0;

  right: 0;

  margin: 10.3% auto 10.2%;

  padding: 20px 20px;

  text-align: center;

  font-weight: normal;
}

@media only screen and (max-width: 767px) {
  .mvArea h1 {
    font-size: 1.6rem;

    margin: 9.4% auto 8.5%;

    padding: 10px;

    display: flex;

    align-items: center;

    justify-content: center;

    line-height: 1;
  }
}

.dpower-letterset .mvArea h1,
.dpower-layout .mvArea h1 {
  width: 453px;
}

/*-------------------------------

 

デザイナー育成について

 

-------------------------------*/

.upbringing .mvArea .col {
  width: 728px;

  height: 102px;

  margin: auto;

  position: absolute;

  top: 0;

  bottom: 0;

  left: 0;

  right: 0;

  margin: auto;

  display: flex;
}

.upbringing .mvArea .col h1,
.upbringing .mvArea .col p {
  display: flex;

  justify-content: center;

  align-items: center;
}

.upbringing .mvArea .col h1 {
  position: static;

  margin: 0;

  background: #067cf2;

  color: #fff;

  width: 55%;

  font-size: 2.8rem;

  font-weight: normal;

  padding: 0;
}

.upbringing .mvArea .col p {
  background: #fff;

  color: #067cf2;

  width: 45%;

  font-size: 1.8rem;

  border: 4px solid #067cf2;

  line-height: 1.44;
}

.upbringing .textBox {
  margin: 50px 0 90px;
}

@media only screen and (max-width: 767px) {
  .upbringing .mvArea .col {
    width: 78%;

    height: auto;

    flex-direction: column;

    justify-content: center;
  }

  .upbringing .mvArea .col h1 {
    width: 100%;

    font-size: 1.6rem;

    padding: 13px 0 5px;
  }

  .upbringing .mvArea .col p {
    width: 100%;

    font-size: 1.2rem;

    border: 2px solid #067cf2;

    padding: 13px 8px;
  }

  .upbringing .textBox {
    margin: 45px 0 60px;
  }
}

/*-------------------------------

 

アイデアの出し方

 

-------------------------------*/

.planning-idea .mvArea h1 {
  width: 365px;
}

.planning-idea .textBox {
  margin-bottom: 145px;
}

@media only screen and (max-width: 767px) {
  .planning-idea .mvArea h1 {
    width: calc(453 / 670 * 100%);
  }

  .planning-idea .textBox {
    margin-bottom: 85px;
  }
}

/*-------------------------------

 

レイアウトに必要な力

 

-------------------------------*/

.dpower-layout .mvArea h1 {
  width: calc(453 / 670 * 100%);
}

.dpower-layout .textBox {
  margin-bottom: 140px;
}

.dpower-layout .textBox .image {
  margin: 90px 0;
}

@media only screen and (max-width: 767px) {
  .dpower-layout .mvArea h1 {
    width: calc(453 / 670 * 100%);
  }

  .dpower-layout .textBox {
    margin-bottom: 73px;
  }

  .dpower-layout .textBox .image {
    margin: calc(125 / 670 * 100%) 0 calc(95 / 670 * 100%);
  }
}

/*-------------------------------

 

文字を組むということ

 

-------------------------------*/

.dpower-letterset .textBox {
  margin-bottom: 145px;
}

.dpower-letterset .textBox .img01 {
  margin: 95px 0 105px;
}

.dpower-letterset .textBox .img02 {
  margin: 100px 0 65px;
}

.dpower-letterset .textBox .img03 {
  margin: 90px 0 65px;
}

.dpower-letterset .textBox .img04 {
  margin: 95px 0 78px;
}

@media only screen and (max-width: 767px) {
  .dpower-letterset .mvArea h1 {
    width: calc(453 / 670 * 100%);
  }

  .dpower-letterset .textBox {
    margin-bottom: 50px;
  }

  .dpower-letterset .textBox .image {
    width: calc(560 / 670 * 100%);
  }

  .dpower-letterset .textBox .image.anotherSize {
    width: calc(623 / 670 * 100%);
  }

  .dpower-letterset .textBox .img01 {
    margin: calc(120 / 670 * 100%) auto calc(150 / 670 * 100%);
  }

  .dpower-letterset .textBox .img02 {
    width: calc(500 / 670 * 100%);

    margin: calc(124 / 670 * 100%) auto calc(85 / 670 * 100%);
  }

  .dpower-letterset .textBox .img03 {
    margin: calc(190 / 670 * 100%) auto calc(120 / 670 * 100%);
  }

  .dpower-letterset .textBox .img04 {
    margin: calc(160 / 670 * 100%) auto calc(122 / 670 * 100%);
  }
}

/*-------------------------------

 

ディレクターとデザイナーの関係

 

-------------------------------*/

.comm-rel-dandgd .mvArea h1 {
  width: 502px;
}

.comm-rel-dandgd .textBox {
  margin-bottom: 116px;
}

.comm-rel-dandgd .textBox .image {
  margin: 60px 0 70px;
}

@media only screen and (max-width: 767px) {
  .comm-rel-dandgd .mvArea h1 {
    width: calc(526 / 670 * 100%);
  }

  .comm-rel-dandgd .textBox {
    margin-bottom: 55px;
  }

  .comm-rel-dandgd .textBox .image {
    margin: 50px 0 45px;
  }
}

/*-------------------------------

 

ロゴつくりに学ぶ

 

-------------------------------*/

.designpower-logomaking .mvArea h1 {
  width: 362px;
}

.designpower-logomaking .textBox .image02 {
  margin: 61px 0 67px;
}

@media only screen and (max-width: 767px) {
  .designpower-logomaking .mvArea h1 {
    width: calc(362 / 670 * 100%);
  }

  .designpower-logomaking .textBox .image01 {
    width: 80%;

    margin: 34px auto;
  }

  .designpower-logomaking .textBox .image02 {
    margin: 30px 0 50px;
  }
}

/*-------------------------------

 

データつくりも作品

 

-------------------------------*/

.basictechnology-dataproduction .mvArea h1 {
  width: 362px;
}

.basictechnology-dataproduction .textBox .clr-red {
  color: #ff000a;
}

.basictechnology-dataproduction .textBox .data-ttl {
  margin-top: 60px;
}

.basictechnology-dataproduction .textBox .data {
  display: block;

  background-color: rgba(136, 223, 242, 0.59);

  margin: 9px 0 64px;

  padding: 40px 12px 47px 50px;

  border-radius: 8px;
}

.basictechnology-dataproduction .textBox .data .detail-01 {
  padding-bottom: 40px;

  font-size: 1.8rem;
}

.basictechnology-dataproduction .textBox .data .detail-01 li {
  padding-bottom: 15px;
}

.basictechnology-dataproduction .textBox .data .detail-01 li:last-child {
  padding-bottom: 0;
}

.basictechnology-dataproduction .textBox .data .detail-01 li:before {
  content: "■";

  margin-right: 3px;
}

.basictechnology-dataproduction .textBox .data .detail-02 li {
  display: flex;

  align-items: center;

  flex-grow: 1;

  padding-bottom: 20px;
}

.basictechnology-dataproduction .textBox .data .detail-02 li:last-child {
  padding-bottom: 0;
}

.basictechnology-dataproduction .textBox .data .detail-02 li:before {
  content: "●";

  margin-right: 5px;
}

.basictechnology-dataproduction .textBox .data .detail-02 li .pc {
  padding: 0 10px;

  top: 10%;
}

.basictechnology-dataproduction .textBox .data .detail-02 li .bd {
  flex: 1;

  margin: 0 6px;

  border-bottom: 2px dotted #000;
}

.basictechnology-dataproduction .textBox .data .detail-02 li .Ltext {
  width: 378px;

  display: flex;

  align-items: center;

  font-size: 1.6rem;
}

.basictechnology-dataproduction .textBox .data .detail-02 li .Rtext {
  font-size: 1.6rem;
}

@media only screen and (max-width: 767px) {
  .basictechnology-dataproduction .mvArea h1 {
    width: calc(370 / 670 * 100%);

    margin: 10.3% auto 10%;
  }

  .basictechnology-dataproduction .textBox .data-ttl {
    display: block;

    border-left: 8px solid #68df99;

    padding-left: 10px;

    line-height: 1.5;

    font-size: 1.4rem;
  }

  .basictechnology-dataproduction .textBox .data-ttl span {
    font-size: 1.2rem;
  }

  .basictechnology-dataproduction .textBox .data {
    display: block;

    margin: 19px 0 31px;

    background-color: #fff;

    padding: 0;
  }

  .basictechnology-dataproduction .textBox .data .detail-01 {
    border: 1px solid #707070;

    padding: 18px 16px;
  }

  .basictechnology-dataproduction .textBox .data .detail-01 li {
    padding-bottom: 9px;

    font-size: 1.3rem;

    text-indent: -1.2em;

    padding-left: 1.2em;
  }

  .basictechnology-dataproduction .textBox .data .detail-01 li:last-child {
    padding-bottom: 0;
  }

  .basictechnology-dataproduction .textBox .data .detail-01 li:before {
    content: "■";

    margin-right: 3px;

    color: #68df99;
  }

  .basictechnology-dataproduction .textBox .data .detail-02 {
    border-bottom: 1px solid #707070;

    border-left: 1px solid #707070;

    border-right: 1px solid #707070;

    padding: 18px 16px;
  }

  .basictechnology-dataproduction .textBox .data .detail-02 li {
    padding-bottom: 20px;

    padding-left: 1.4em;

    line-height: 1.6;

    font-size: 1.2rem;

    display: block;

    position: relative;
  }

  .basictechnology-dataproduction .textBox .data .detail-02 li:last-child {
    padding-bottom: 0;
  }

  .basictechnology-dataproduction .textBox .data .detail-02 li:before {
    content: "●";

    margin-right: 5px;

    color: #68df99;

    position: absolute;

    left: 0;
  }

  .basictechnology-dataproduction .textBox .data .detail-02 li .pc {
    display: none;
  }

  .basictechnology-dataproduction .textBox .data .detail-02 li .sp {
    display: block;
  }

  .basictechnology-dataproduction .textBox .data .detail-02 li .Ltext {
    width: 100%;

    display: inline-block;
  }
}

/*-------------------------------

 

得意なことを伸ばす

 

-------------------------------*/

.designpower-specialskill .mvArea h1 {
  width: 373px;
}

.designpower-specialskill .textBox .image {
  margin: 70px 0;
}

.designpower-specialskill .textBox .bold-txt {
  margin-bottom: 70px;
}

@media only screen and (max-width: 767px) {
  .designpower-specialskill .mvArea h1 {
    width: calc(368 / 670 * 100%);
  }

  .designpower-specialskill .textBox .image {
    margin: 30px 0 40px;
  }

  .designpower-specialskill .textBox .bold-txt {
    margin-bottom: 50px;
  }
}

/*-------------------------------

 

世のデザインに学ぶ

 

-------------------------------*/

.basictechnology-learndesign .mvArea h1 {
  width: 364px;
}

.basictechnology-learndesign .textBox .concept {
  margin: 52px 0 50px;
}

.basictechnology-learndesign .textBox .concept .pc {
  display: block;
}

.basictechnology-learndesign .textBox .concept li {
  background-color: #f1ffc1;

  padding: 23px 0 23px 80px;

  position: relative;
}

.basictechnology-learndesign .textBox .concept li .logoBox {
  position: absolute;

  top: 0;

  left: 0;

  width: 45px;

  height: 45px;

  color: #fff;

  background-color: #71c034;

  font-weight: 600;

  font-size: 2.4rem;

  display: flex;

  justify-content: center;

  align-items: center;
}

.basictechnology-learndesign .textBox .concept .conceptBox {
  margin-bottom: 40px;
}

.basictechnology-learndesign .textBox .concept .conceptBox:after {
  content: "";

  position: absolute;

  top: 100%;

  left: 50%;

  margin-left: -25px;

  border: 20px solid transparent;

  border-top: 33px solid #f1ffc1;
}

.basictechnology-learndesign .textBox .concept .content {
  padding-left: 20px;

  border-left: 10px solid #fff;

  margin-top: 22px;
}

.basictechnology-learndesign .textBox .concept .content .content-ttl {
  font-size: 1.6rem;
}

.basictechnology-learndesign .textBox .concept .content .content-list p {
  margin-top: 10px;

  line-height: 1.2;

  margin-top: 12px;

  font-size: 1.6rem;
}

.basictechnology-learndesign
  .textBox
  .concept
  .content
  .content-list
  p:first-child {
  margin-top: 5px;
}

.basictechnology-learndesign .textBox .concept .content .content-list .even {
  text-indent: 1em;

  font-size: 1.4rem;
}

@media only screen and (max-width: 767px) {
  .basictechnology-learndesign .mvArea h1 {
    width: calc(368 / 670 * 100%);
  }

  .basictechnology-learndesign .textBox p {
    font-size: 1.6rem;
  }

  .basictechnology-learndesign .textBox .concept {
    margin: 33px 0 40px;
  }

  .basictechnology-learndesign .textBox .concept .pc {
    display: none;
  }

  .basictechnology-learndesign .textBox .concept li {
    padding: 15px 10px 15px 19px;
  }

  .basictechnology-learndesign .textBox .concept li .logoBox {
    top: -12px;

    width: 23px;

    height: 23px;

    font-size: 1.4rem;
  }

  .basictechnology-learndesign .textBox .concept .conceptBox {
    margin-bottom: 33px;
  }

  .basictechnology-learndesign .textBox .concept .conceptBox:after {
    border: 15px solid transparent;

    border-top: 26px solid #f1ffc1;
  }

  .basictechnology-learndesign .textBox .concept .conceptBox p {
    font-size: 1.6rem;
  }

  .basictechnology-learndesign .textBox .concept .content {
    border-left: none;

    padding-left: 0;

    padding-top: 15px;

    border-top: 1px solid #707070;

    margin-top: 13px;
  }

  .basictechnology-learndesign .textBox .concept .content .content-ttl {
    font-size: 1.4rem;
  }

  .basictechnology-learndesign .textBox .concept .content .content-list p {
    margin-top: 0;

    font-size: 1.4rem;

    line-height: 1.8;
  }

  .basictechnology-learndesign
    .textBox
    .concept
    .content
    .content-list
    p:first-child {
    margin-top: 0;
  }

  .basictechnology-learndesign .textBox .concept .content .content-list .even {
    text-indent: 0;

    font-size: 1.2em;
  }
}


.pc_only {
  display: block;
}

.sp_only {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }

  .sp_only {
    display: block;
  }
}

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

@import url("https://use.typekit.net/yto6kzt.css");

/* content

---------------------------------------------------------------------- */

#content {
  padding-top: 85px;
}

@media only screen and (max-width: 768px) {
  #content {
    padding-top: 11.73333333vw;
  }
}

/* pageTop

---------------------------------------------------------------------- */

#pageTop {
  display: none;

  position: fixed;

  right: 0;

  bottom: 15%;

  z-index: 2;
  width: 60px;
}

#pageTop a {
  display: block;

  width: 60px;

  height: 60px;

  background: rgba(255, 241, 0, 0.75);

  position: relative;
}

#pageTop a::before {
  content: "";

  margin: auto;

  height: 20px;

  width: 20px;

  vertical-align: middle;

  border-top: 2px solid #000000;

  border-right: 2px solid #000000;

  position: absolute;

  top: 0;

  right: 0;

  bottom: 0;

  left: 0;

  transform: translate(0, 25%) rotate(315deg);
}

@media only screen and (max-width: 768px) {
  #pageTop {
    bottom: 10%;
    width: 8vw;
  }

  #pageTop a {
    width: 8vw;
    height: 8vw;
  }

  #pageTop a::before {
    height: 3vw;
    width: 3vw;
    border-top-width: 1px;
    border-right-width: 1px;
  }
}

