/**
 * index.css
 * updatedAt: 2018.01.22
 */

/*========================================

  .header

========================================*/
.header {
  background: #000;
}
.header__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;

  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-align-items: center;
}
.header__logo {
  display: block;
  padding: 15px 0;
  width: 100px;
}
.header__txt {
  margin-left: auto;
  padding: 14px 0 18px;
  width: 351px;
  line-height: 0;
}

@media(max-width: 960px) {
  .header__txt {
    width: 300px;
  }
}
@media(max-width: 640px) {
  .header__logo {
    width: 80px;
  }
  .header__txt {
    width: 52%;
  }
}


/*========================================

  .mainvisual

========================================*/
.mainvisual {
  overflow: hidden;
  position: relative;
}
.mainvisual__img {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-height: 723px;
  height: 56.485vw;
  background-image: url(../img/mainvisual.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.mainvisual__inner {
  position: relative;
  z-index: 1;
  max-height: 723px;
  height: 56.485vw;
}
.mainvisual__title {
  margin: 0 0 0 2.5%;
  padding-top: 6.75%;
  width: 45.084%;
}
.mainvisual__vol {
  margin: 2.334% 0 0 10.334%;
  width: 28.834%;
}
.mainvisual__products {
  margin: 2.5% 0 0 10.25%;
  width: 29.75%;
}
.mainvisual__nav {
  position: absolute;
  z-index: 1;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
}

@media(max-width: 640px) {
  .mainvisual__title {
    margin: 0 0 0 1.0%;
    padding-top: 8%;
  }
  .mainvisual__vol {
    margin: 4% 0 0 1%;
    width: 45%;
  }
  .mainvisual__products {
    margin: 5% 0 0 1.5%;
    width: 44%;
  }
  .mainvisual__nav {
    position: static;
    margin: 20px 0;
  }
}


/*========================================

  .nav

========================================*/
.nav__ul {
  display: flex;
  flex-wrap: wrap;

  display: -webkit-flex;
  -webkit-flex-wrap: wrap;

  box-sizing: border-box;
  margin-bottom: 2.334%;
  padding: 2.417% 0 0;
  max-height: 141px;
  height: 11.016vw;
  background-image: url(../img/nav.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% 100%;
  list-style: none;
}
.nav__item {
  position: relative;
  margin-left: 0.25%;
  font-size: 1.125rem;
  line-height: 1.34;
}
.nav__item a {
  display: flex;
  justify-content: center;
  align-items: center;

  display: -webkit-flex;
  -webkit-justify-content: center;
  -webkit-align-items: center;

  position: absolute;
  box-sizing: border-box;
  text-align: center;
  padding-top: 10px;
  width: 100%;
  height: 100%;
  color: #fff;
  text-decoration: none;
}
.nav__item a:after {
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 12px;
  width: 100%;
  max-height: 9px;
  height: 0.704vw;
  background-image: url(../img/nav_arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  content: '';
}
.nav__item a span {
  display: none;
}

.nav__item:nth-child(1) {
  margin-left: 0;
  width: 19.417%;
}
.nav__item:nth-child(2) {
  width: 19.75%;
}
.nav__item:nth-child(3) {
  width: 20.334%;
}
.nav__item:nth-child(4) {
  width: 19.834%;
}
.nav__item:nth-child(5) {
  width: 19.667%;
}

@media(max-width: 1280px) {
  .nav__item {
    font-size: 1.407vw;
  }
}
@media(max-width: 960px) {
  .nav__item a {
    padding-top: 5px;
  }
  .nav__item a:after {
    bottom: 8px;
  }
}
@media(max-width: 640px) {
  .nav__ul {
    display: block;
    margin: 0;
    padding: 0;
    max-height: inherit;
    height: auto;
    background: #dc7a19;
    border-radius: 8px;
  }
  .nav__item {
    margin: 0 !important;
    width: auto !important;
    font-size: 1.0rem;
  }
  .nav__item a {
    justify-content: flex-start;
    -webkit-justify-content: flex-start;

    position: relative;
    text-align: left;
    margin: 1px 0 0;
    padding: 10px 5%;
  }
  .nav__item a:after {
    position: absolute;
    left: 5%;
    top: -2px;
    width: 90%;
    height: 1px;
    background: #eee;
    content: '';
  }
  .nav__item:first-child a {
    margin: 0;
  }
  .nav__item:first-child a:after {
    display: none;
  }
  .nav__item a span {
    display: inline;
    margin-right: 10px;
    font-size: 1.25rem;
    font-style: italic;
  }
}


/*========================================

  .intro

========================================*/
.intro {
  margin-top: 80px;
}
.intro__title {
  text-align: center;
  font-size: 2.063rem;
  line-height: 1.4;
}
.intro__txt {
  text-align: center;
  margin-top: 25px;
  font-size: 1.188rem;
  line-height: 2.0;
  letter-spacing: -0.02em;
}

@media(max-width: 640px) {
  .intro {
    margin-top: 40px;
  }
  .intro__txt {
    text-align: left;
  }
}


/*========================================

  .profile

========================================*/
.profile {
  position: relative;
  box-sizing: border-box;
  margin: 110px auto 0;
  padding: 30px 45px;
  max-width: 740px;
  background: #eeebe1;
  border-radius: 12px;
}
.profile__img {
  position: absolute;
  right: 2.973%;
  bottom: 0;
  width: 27.973%;
}
.profile__title {
  font-size: 1.313rem;
  font-weight: 400;
  line-height: 1.4;
}
.profile__txt {
  margin-top: 12px;
  width: 70%;
  font-size: 1.0rem;
  line-height: 1.5;
}

@media(max-width: 640px) {
  .profile {
    margin-top: 10%;
    padding: 6.897%;
  }
}


/*========================================

  .point

========================================*/
.point {
  margin: 40px auto 0;
  padding: 30px 45px;
  background: #fffaf4;
  border-radius: 12px;
}
.point__title {
  display: block;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.4;
  color: #6b6b6b;
}
.point__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.point__list li {
  position: relative;
  margin-top: 10px;
  padding-left: 25px;
  font-size: 1.0rem;
  font-weight: 700;
  line-height: 1.5;
}
.point__list li:before {
  display: inline-block;
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 19px;
  height: 14px;
  background-image: url(../img/point_check.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
  content: '';
}

@media(max-width: 640px) {
  .point {
    margin-top: 30px;
    padding: 6.897%;
  }
  .point__title {
    text-align: center;
  }
}


/*========================================

  .titleBox

========================================*/
.titleBox {
  text-align: center;
  background: #eeebe1;
}
.titleBox__txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  display: -webkit-flex;
  -webkit-flex-direction: column;
  -webkit-justify-content: center;
  -webkit-align-items: center;

  max-height: 234px;
  height: 234px;
}
.titleBox__txt em {
  display: block;
  width: 50px;
  line-height: 0;
}
.titleBox__txt span {
  display: block;
  margin-top: 20px;
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 1.3;
  color: #555;
}

@media(max-width: 960px) {
  .titleBox__txt {
    height: 180px;
  }
  .titleBox__txt em {
    width: 40px;
  }
}
@media(max-width: 640px) {
  .titleBox__txt {
    display: block;
    padding: 15px 0;
    height: auto;
  }
  .titleBox__txt em {
    margin: 0 auto;
    width: 30px;
  }
  .titleBox__txt span {
    margin-top: 10px;
  }
}


/*========================================

  .imgBox

========================================*/
.imgBox {
  margin: 0 auto;
  line-height: 0;
}
.imgBox img {
  width: 100%;
  height: auto;
}
.imgBox__caption {
  text-align: right;
  margin-top: 10px;
  font-size: 0.875rem;
  line-height: 1.4;
}
.imgBox__zoom {
  display: block;
  position: relative;
  margin: 0 auto;
  line-height: 0;
  transition: opacity 0.2s !important;
}
.imgBox__zoom:hover {
  opacity: 0.75;
}
.imgBox__zoom:after {
  display: block;
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 16px;
  height: 16px;
  background-image: url(../img/zoom.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  content: '';
}
.imgBox__frame {
  display: block;
  position: relative;
}
.imgBox__frame:before,
.imgBox__frame:after {
  position: absolute;
  display: block;
  box-sizing: border-box;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  content: '';
}
.imgBox__frame:before {
  z-index: 2;
  border: 1px solid #ececec;
  border-radius: 2px;
}
.imgBox__frame--dark:before {
  border-color: #dbdbdb;
}
.imgBox__frame:after {
  z-index: 1;
  border: 7px solid #fff;
}

@media(max-width: 640px) {
  .imgBox__caption {
    text-align: center;
  }
  .imgBox__frame:after {
    border-width: 5px;
  }
}


/*========================================

  .lensBox

========================================*/
.lensBox {
  position: relative;
  box-sizing: border-box;
  margin: 40px 0 0;
  padding: 35px 50px 30px;
  background: #eaeaea;
  border-radius: 12px;
}
.lensParentBox {
  display: flex;
  display: -webkit-flex;
}
.lensParentBox > .lensBox {
  padding: 20px 30px 20px;
  width: 47.408%;
}
.lensBox + .lensBox {
  margin-left: auto;
}
.lensBox__mount {
  display: inline-block;
  box-sizing: border-box;
  padding: 4px 5px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.0;
  border-width: 2px;
  border-style: solid;
}
.lensBox__mount--E {
  color: #00329a;
  border-color: #00329a;
}
.lensBox__mount--A {
  color: #e8380d;
  border-color: #e8380d;
}
.lensBox__ttl {
  margin-top: 20px;
  font-size: 1.313rem;
  font-weight: 400;
  line-height: 1.2;
}
.lensBox__txt {
  margin-top: 5px;
  font-size: 0.938rem;
  line-height: 1.2;
}
.lensBox__img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 50px;
  line-height: 0;
}
.lensParentBox .lensBox__img {
  right: 25px;
}
.lensBox__img img {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: auto;
}

/*864px*/
.lensBox__img--SEL85F14GM {
  max-width: 174px;
  width: 20.139vw;
}
.lensBox__img--SAL85F14Z {
  max-width: 147px;
  width: 17.014vw;
}
.lensBox__img--SEL85F14 {
  max-width: 142px;
  width: 16.436vw;
}
.lensBox__img--SEL50F18 {
  max-width: 192px;
  width: 22.223vw;
}
.lensBox__img--SEL70200GM {
  max-width: 248px;
  width: 28.704vw;
}
.lensBox__img--SEL55F18Z {
  max-width: 155px;
  width: 17.94vw;
}
.lensBox__img--SEL50F14Z {
  max-width: 170px;
  width: 19.676vw;
}
.lensBox__img--SAL50F14Z {
  max-width: 133px;
  width: 15.394vw;
}
.lensBox__img--SEL50F18F {
  max-width: 127px;
  width: 14.7vw;
}
.lensBox__img--SEL35F18 {
  max-width: 106px;
  width: 12.269vw;
}
.lensBox__img--SEL35F14Z {
  max-width: 179px;
  width: 20.718vw;
}

.lensBox__btnBox {
  margin-top: 15px;
  font-size: 0;
}
.lensBox__btn {
  font-size: 1.0rem;
  text-decoration: none;
  color: #5787e4;
}
.lensBox__btn:hover {
  text-decoration: underline;
}
.lensBox__btn:before {
  display: inline-block;
  position: relative;
  top: -0.1em;
  margin-right: 5px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 4px;
  border-color: transparent transparent transparent #5787e4;
  content: '';
}
.lensBox__btn + .lensBox__btn {
  margin-left: 20px;
}

@media(max-width: 640px) {
  .lensBox {
    margin-top: 30px !important;
    padding: 8.621% !important;
    width: auto !important;
  }
  .lensParentBox {
    display: block;
  }
  .lensBox + .lensBox {
    margin-top: 10px !important;
  }
  .lensBox__mount {
    text-align: center;
    padding: 6px 10px;
    width: 100%;
    font-size: 1.0rem;
  }
  .lensBox__ttl {
    margin-top: 15px;
    font-size: 1.438rem;
  }
  .lensBox__ttl br {
    display: none;
  }
  .lensBox__txt {
    font-size: 1.188rem;
  }
  .lensBox__img,
  .lensParentBox .lensBox__img {
    position: relative;
    right: auto;
    margin: 20px auto 0;
  }
  .lensBox__img img {
    position: static;
    margin-left: -60%;
    width: 220%;
  }
  .lensBox__btnBox br {
    display: none;
  }
  .lensBox__btn {
    font-size: 1.25rem;
  }
  .lensBox__btn + br + .lensBox__btn {
    margin-left: 20px;
  }
}


/*========================================

  article

========================================*/
.light,
.athome,
.choose {
  margin: 100px 0 0;
}
.inner-w800 {
  max-width: 800px;
}
.inner-w810 {
  max-width: 810px;
}
.inner-spt {
  position: relative;
  margin-top: 70px !important;
  padding-top: 70px;
}
.inner-spt:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 43px;
  width: 100%;
  height: 1px;
  background: #d2d2d2;
  /*border-radius: 20%;*/
  content: '';
}
.heading {
  text-align: center;
  margin-bottom: 25px;
  font-size: 1.688rem;
  font-weight: 400;
  line-height: 1.85;
  color: #000;
}
.heading__dist,
.heading__distTxt {
  display: inline-block;
  vertical-align: middle;
}
.heading__dist {
  font-size: 0;
  line-height: 0;
}

.titleBox + .inner-w800,
.titleBox + .inner-w810 {
  margin-top: 70px;
}
.inner-w800 + .inner-w800,
.inner-w810 + .inner-w810,
.inner-w800 + .inner-w810,
.inner-w810 + .inner-w800 {
  margin-top: 80px;
}

@media(max-width: 640px) {
  .light,
  .athome,
  .choose {
    margin-top: 60px;
  }
  .inner-spt {
    margin-top: 40px !important;
    padding-top: 40px;
  }
  .heading {
    margin-bottom: 15px;
    line-height: 1.5;
  }
  .heading__dist {
    margin-top: 30px;
    margin-bottom: 10px;
    max-width: 110px;
    width: 32%;
  }
  .heading__dist img {
    width: 100%;
    height: auto;
  }
  .heading__distTxt {
    display: block;
  }
  .titleBox + .inner-w800,
  .titleBox + .inner-w810 {
    margin-top: 40px;
  }
}


/*========================================

  #No1 .light

========================================*/
.light__img__01 {
  margin-bottom: 35px;
  max-width: 800px;
}
.light__line {
  display: flex;
  display: -webkit-flex;
  margin-top: 35px;
}
.light__img__02 {
  margin: 0;
  width: 43.951%;
}
.light__img__02 + .mod__txt {
  margin-left: auto;
  width: 49.383%;
}
.light__img__03 {
  margin-bottom: 35px;
  width: 56.25%;
}

@media(max-width: 640px) {
  .light__img__01 {
    margin-bottom: 25px;
  }
  .light__line {
    display: block;
    margin-top: 40px;
  }
  .light__img__02 {
    margin-bottom: 25px;
    width: auto;
  }
  .light__img__02 + .mod__txt {
    width: auto;
  }
  .light__img__03 {
    margin-bottom: 25px;
    width: auto;
  }
  .light__img__03 a {
    width: 70%;
  }
}


/*========================================

  #No2 .athome

========================================*/
.athome__img__01 {
  margin: 30px auto 35px;
  width: 56.25%;
}
.athome__studio {
  display: flex;
  display: -webkit-flex;
  padding: 30px 25px 30px 45px;
}
.athome__studio__title {
  margin: 0 0 25px -0.6em;
  font-size: 1.313rem;
  letter-spacing: -0.02em;
}
.athome__studio__txtbox {
  width: 410px;
}
.athome__studio__imgbox {
  margin-left: auto;
  width: 42.838%;
}

@media(max-width: 640px) {
  .athome__img__01 {
    margin: 30px auto 25px;
    width: auto;
  }
  .athome__img__01 a {
    width: 80%;
  }
  .athome__studio {
    display: block;
    padding: 6.897%;
  }
  .athome__studio__title {
    margin: 0 0 15px;
    letter-spacing: 0;
  }
  .athome__studio__txtbox {
    width: auto;
  }
  .athome__studio__imgbox {
    margin: 30px auto 0;
    max-width: 317px;
    width: auto;
  }
}


/*========================================

  #No3 .choose

========================================*/
/*----------------------------------------
  .dist__about
----------------------------------------*/
.dist__about {
  margin-top: 0;
  margin-bottom: 35px;
  padding: 30px;
}
.dist__about__title {
  margin-left: -0.6em;
  display: inline-block;
}
.dist__about__caption {
	display: inline-block;
}
.dist__about__imgbox {
  margin-top: 30px;
}

.dist__about__imgbox img.sp {
	display:none;
}

@media(max-width: 640px) {
  .dist__about {
    margin: 25px 0;
    padding: 6.897%;
  }
  .dist__about__title {
    margin-left: 0
  }
  .dist__about__caption {
	float: none;
    margin-top: 10px;
	text-align:center;
	}
  .dist__about__imgbox img.pc {
	display: none;
	}
  .dist__about__imgbox img.sp {
	display: block;
	}
}


/*----------------------------------------
  .dist__item
----------------------------------------*/
.dist__item {
  display: flex;
  align-items: center;
  display: -webkit-flex;
  margin-top: 40px;
}
.dist__item__title {
  order: 0;
  margin: auto 0;
  -webkit-order: 0;
  width: 12.717%;
}
.dist__item__imgbox {
  order: 2;
  -webkit-order: 2;
  margin: 0;
  width: 37.531%;
}
.dist__item__txt {
  order: 1;
  -webkit-order: 1;
  margin: auto;
  width: 42.593%;
}

@media(max-width: 640px) {
  .dist__item {
    display: block;
    position: relative;
    margin: 40px auto 0;
    width: 93.104%;
  }
  .dist__item__title {
    position: absolute;
    z-index: 5;
    top: 0;
    left: 0;
    max-width: 110px;
    width: 28%;
  }
  .dist__item__imgbox {
    margin: 0 auto;
    padding-top: 2%;
    width: 96%;
  }
  .dist__item__txt {
    margin: 10px auto 0;
    width: 96%;
  }
}


/*----------------------------------------
  .dist85
----------------------------------------*/
.dist85__img__01 {
  margin-bottom: 35px;
  max-width: 800px;
}
.dist85__line {
  display: flex;
  align-items: center;
  display: -webkit-flex;
  -webkit-align-items: center;
  margin-top: 40px;
}
.dist85__img__02 {
  margin: 0;
  width: 49.136%;
}
.dist85__img__02 + .mod__txt {
  margin-left: auto;
  width: 46.914%;
}
.dist85__img__03 {
  margin-top: 110px;
  margin-bottom: 35px;
  width: 56.25%;
}
.dist85__img__04,
.dist85__img__05,
.dist85__img__06 {
  margin-top: 80px;
  margin-bottom: 35px;
  max-width: 800px;
}

@media(max-width: 640px) {
  .dist85__img__01 {
    margin-bottom: 25px;
  }
  .dist85__line {
    display: block;
    margin-top: 80px;
  }
  .dist85__img__02 {
    margin-bottom: 25px;
    width: auto;
  }
  .dist85__img__02 + .mod__txt {
    width: auto;
  }
  .dist85__img__03,
  .dist85__img__04,
  .dist85__img__05,
  .dist85__img__06 {
    margin-top: 80px;
    margin-bottom: 25px;
    width: auto;
  }
  .dist85__img__03 a {
    width: 80%;
  }
}


/*----------------------------------------
  .dist50
----------------------------------------*/
.dist50__img__01,
.dist50__img__02,
.dist50__img__03 {
  margin-top: 80px;
  margin-bottom: 35px;
  max-width: 800px;
}
.dist50__img__01 {
  margin-top: 0;
  max-width: 530px;
}

@media(max-width: 640px) {
  .dist50__img__01,
  .dist50__img__02,
  .dist50__img__03 {
    margin-bottom: 25px;
  }
}


/*----------------------------------------
  .dist35
----------------------------------------*/
.dist35__img__01 {
  margin-bottom: 35px;
  max-width: 800px;
}
.dist35__line {
  display: flex;
  align-items: center;
  display: -webkit-flex;
  -webkit-align-items: center;
  margin-top: 40px;
}
.dist35__img__02 {
  margin: 0;
  width: 49.136%;
}
.dist35__img__02 + .mod__txt {
  margin-left: auto;
  width: 46.914%;
}

@media(max-width: 640px) {
  .dist35__img__01,
  .dist35__img__02 {
    margin-bottom: 25px;
  }
  .dist35__line {
    display: block;
  }
  .dist35__img__02,
  .dist35__img__02 + .mod__txt {
    width: auto;
  }
}


/*========================================

  .info

========================================*/
.info {
  margin-top: 100px;
  padding-top: 80px;
  border-top: 1px solid #ccc;
}
.info img.sp {
	display:none;
}
.info__chance {
  margin-top: 70px;
}
.info__heading {
  font-size: 1.25rem;
  line-height: 1.4;
}
.info__heading + .mod__txt {
  margin-top: 20px;
}
.info__heading + .mod__txt + .mod__img {
  margin-top: 20px;
}
.info__anshin {
  margin-top: 40px;
}
.info__anshin__inner {
  display: flex;
  display: -webkit-flex;
}
.info__anshin__txtbox {
  width: 46.316%;
}
.info__anshin__imgbox {
  margin-left: auto;
  width: 48.737%;
}
.info__btn {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  margin-top: 20px;
  padding: 13px 30px 12px 30px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.2;
  color: #fff !important;
  text-align: center;
  text-decoration: none;
  background-color: #3f3f3f;
  transition: background-color 0.25s !important;
}
.info__btn:hover {
  background-color: #000;
}
.info__btn:before {
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -3.5px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 4px;
  border-color: transparent transparent transparent #fff;
  content: '';
}

@media(max-width: 640px) {
  .info {
    margin-top: 40px;
    padding-top: 40px;
  }
  .info img.pc {
	display:none;
  }
  .info img.sp {
	display: block;
  }
  .info__chance {
    margin-top: 40px;
  }
  .info__anshin__inner {
    display: block;
  }
  .info__anshin__txtbox {
    width: auto;
  }
  .info__anshin__imgbox {
    margin-top: 20px;
    width: auto;
  }
}


/*========================================

  .acc

========================================*/
.acc__titleBox {
  margin-top: 100px;
  background: #666;
}
.acc__title {
  padding: 25px 0;
  font-size: 1.938rem;
  font-weight: 400;
  line-height: 1.4;
  color: #fff;
}
.acc__txt {
  margin-top: 30px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
.acc__lighting {
  margin-top: 70px;
}
.acc__lighting__bnr {
  margin-top: 15px;
}

@media(max-width: 640px) {
  .acc__titleBox {
    margin-top: 60px;
  }
}


/*----------------------------------------
  .acc__gnumber
----------------------------------------*/
.acc__gnumber {
  margin-top: 50px;
  padding: 30px;
  background: #eaeaea;
  border-radius: 12px;
}
.acc__gnumber__title {
  font-size: 1.125rem;
  font-weight: 700;
}
.acc__gnumber__txt {
  margin-top: 5px;
  font-size: 1.125rem;
}
.acc__gnumber__link {
  margin-top: 10px;
  font-size: 1.0rem;
}
.acc__gnumber__link a {
  text-decoration: none;
}

@media(max-width: 640px) {
  .acc__gnumber {
    margin-top: 30px;
    padding: 6.897%;
  }
}


/*----------------------------------------
  .acc__items
----------------------------------------*/
.acc__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: flex-start;
}
.acc__item {
  margin-top: 50px;
  margin-left: 2.316%;
  width: 31.79%;
}
.acc__item:nth-child(1),
.acc__item:nth-child(4),
.acc__item:nth-child(6) {
  margin-left: 0;
}
.acc__item:nth-child(5) {
  margin-right: 5%;
}
.acc__item__txt {
  font-size: 1.125rem;
  line-height: 1.6;
}
.acc__item__name {
  margin-top: 15px;
  font-size: 0.938rem;
  line-height: 1.2;
}
.acc__item__model {
  font-size: 1.438rem;
  line-height: 1.4;
}
.acc__item__img {
  margin: 10px auto;
  width: 83.444%;
  max-width: 252px;
}
.acc__item__btn {
  display: block;
  position: relative;
  box-sizing: border-box;
  padding: 13px 30px 12px 30px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.2;
  color: #fff !important;
  text-align: center;
  text-decoration: none;
  background-color: #5787e4;
  transition: background-color 0.25s !important;
}
.acc__item__btn:hover {
  background-color: #3161be;
}
.acc__item__btn:before {
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -3.5px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 4px;
  border-color: transparent transparent transparent #fff;
  content: '';
}

@media(max-width: 640px) {
  .acc__items {
    display: block;
  }
  .acc__item {
    margin: 50px auto 0 !important;
    width: 86.207%;
  }
  .acc__item__name {
    margin-top: 10px;
  }
  .acc__item__img {
    margin: 5px auto 10px;
  }
  .acc__item__btn {
    font-size: 14px;
  }
}


/*========================================

  #No4 .academy

========================================*/
.academy {
  margin-top: 100px;
}
.academy__note {
  margin-top: 20px;
  font-size: 0.875rem;
  line-height: 1.4;
}
.academy__title {
  padding: 15px 0;
  font-size: 0;
  background: #ea5504;
}
.academy__title em {
  display: inline-block;
  vertical-align: middle;
  max-width: 42px;
  background: #ea5504;
}
.academy__title span {
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px 0 20px;
  font-size: 1.938rem;
  font-weight: 400;
  line-height: 1.4;
  color: #fff;
}
.academy__title__logo {
  display: inline-block;
  vertical-align: middle;
  width: 23.685%;
  height: auto;
}


@media(max-width: 960px) {
  .academy__title {
    text-align: center;
    padding: 20px 0 25px;
  }
  .academy__title em {
    display: block;
    margin: 0 auto 20px;
    max-width: 30px;
  }
  .academy__title span {
    display: block;
    margin: 0 0 5px;
  }
}
@media(max-width: 640px) {
  .academy {
    margin-top: 60px;
  }
  .academy__title {
    padding: 15px 0;
  }
  .academy__title em {
    margin: 0 auto 10px;
    max-width: 20px;
  }
  .academy__title span {
    display: inline;
  }
  .academy__title__logo {
    position: relative;
    margin-left: 10px;
    width: 150px;
  }
}


/*========================================

  .mod-

========================================*/
.mod-img {
  line-height: 0;
}
.mod-img img {
  width: 100%;
  height: auto;
}
.mod-img__sample a {
  display: block;
  box-sizing: border-box;
  border: 6px solid #fff;
  box-shadow: 0 0 8px 1px rgba(0,0,0,0.2);
  transition: opacity 0.2s;
  -webkit-transition: opacity 0.2s;
}
.mod-img__sample a:hover {
  opacity: 0.7;
}
.mod-img__w786 {
  margin: 0 auto;
  width: 798px;
}
.mod-img__w519 {
  margin: 0 auto;
  width: 531px;
}
.mod-img__w384 {
  margin: 0 auto;
  width: 396px;
}
.mod-img__right {
  float: right;
  margin-right: 5px;
}
.mod-img__zoom {
  position: relative;
}
.mod-img__zoom:after {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 18px;
  height: 18px;
  background-image: url(../img/icn_zoom.svg);
  background-repeat: no-repeat;
  background-size: 18px 18px;
  content: '';
}
.mod-img__cap {
  display: block;
  margin-top: 15px;
  font-size: 14px;
  line-height: 1.1;
  text-align: right;
}
.mod-container {
  margin: 0 auto;
  max-width: 1720px;
}
.mod-wrapper {
  margin: 0 auto;
  max-width: 1200px;
  width: 93.75%;
}
/*.mod-wrapper:last-child {
  max-width: 1080px;
}*/
.mod-inner {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 950px;
  width: 93.75%;
}
.mod-wrapper:after,
.mod-inner:after,
.mod-clearfix:after {
  clear: both;
  display: block;
  content: '';
}
.mod-txt {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  letter-spacing: -0.03em;
}
.mod-txt + .mod-txt {
  margin-top: 30px;
}
.mod-btn {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  padding: 14px 30px 12px;
  font-size: 13px;
  line-height: 1.2;
  color: #fff !important;
  text-align: center;
  background-color: #3f3f3f;
  transition: opacity 0.2s;
  -webkit-transition: opacity 0.2s;
}
.mod-btn:before {
  position: absolute;
  top: 50%;
  left: 16px;
  margin-top: -3.5px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 4px;
  border-color: transparent transparent transparent #fff;
  content: '';
}
.mod-btn:hover {
  opacity: 0.7;
  text-decoration: none;
}
.mod-btn__example {
  background-color: #3f3f3f;
}
.mod-btn__detail {
  background-color: #1890fa;
}

@media(max-width:640px) {
  .mod-img__sample a {
    border-width: 4px;
  }
  .mod-img__w786,
  .mod-img__w519,
  .mod-img__w384 {
    width: auto;
  }
  .mod-img__cap {
    margin-top: 10px;
    font-size: 11px;
  }
  .mod-wrapper,
  .mod-inner {
    width: 90.625%;
  }
  .mod-txt {
    font-size: 0.938rem;
    line-height: 1.8;
  }
  .mod-btn {
    font-size: 14px;
  }
}
@media(max-width:480px) {
  .mod-btn {
    font-size: 13px;
  }
}
@media(max-width:359px) {
  .mod-txt {
    font-size: 0.875rem;
  }
  .mod-btn {
    font-size: 12px;
  }
}


/*========================================

  #Academy

========================================*/
#Academy {
  padding-bottom: 90px;
  background: #fff;
}
#Academy .article-heading {
  background: #ea5504;
}
#Academy section {
  margin-top: 60px;
}

#Academy .lesson.mod-btn {
  margin-top: 20px;
  background-color:#1890fa;
  font-size: 16px;
  font-weight: 600;
}

@media(max-width:640px) {
  #Academy {
    padding-bottom: 50px;
  }
}

.article-heading__txt {
    position: relative;
    display: block;
    box-sizing: border-box;
    margin: 0 auto;
    padding-left: 32px;
    font-size: 175%;
    line-height: 1.2;
    color: #fff;
    max-width: 950px;
    width: 94.0594059%;
}
.article-heading {
    padding: 17px 0;
}
.article-heading__txt:before {
    content: '';
    position: absolute;
    display: inline-block;
    top: 50%;
    left: 0;
    margin-top: -16px;
    width: 24px;
    height: 32px;
    background-image: url(../img/arrow_ttl.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
}
.mod-img img {
    width: 100%;
    height: auto;
}
.mod-txt {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.5;
    color: #000;
    letter-spacing: -0.03em;
}

.mod-btn {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    padding: 14px 30px 12px;
    font-size: 13px;
    line-height: 1.2;
    color: #fff !important;
    text-align: center;
    background-color: #3f3f3f;
    transition: opacity 0.2s;
    -webkit-transition: opacity 0.2s;
}
.mod-btn:before {
    position: absolute;
    top: 50%;
    left: 16px;
    margin-top: -3.5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.5px 0 3.5px 4px;
    border-color: transparent transparent transparent #fff;
    content: '';
}

/*----------------------------------------
  #Academy .intro
----------------------------------------*/
#Academy .intro h4 {
  margin-bottom: 25px;
  font-size: 2.438rem;
  line-height: 1.23;
  color: #333;
}
#Academy .intro .txt-box {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 450px;
}
#Academy .intro .mod-img {
  position: relative;
  display: inline-block;
  vertical-align: top;
  left: 37px;
  width: 463px;
}

@media(max-width:640px) {
  #Academy .intro {
    margin-top: 30px;
  }
  #Academy .intro h4 {
    margin-bottom: 15px;
  }
  #Academy .intro .txt-box {
    position: static;
    display: block;
    width: auto;
  }
  #Academy .intro .mod-img {
    position: static;
    display: block;
    margin-top: 15px;
    width: auto;
  }
}
@media(max-width:480px) {
  #Academy .intro h4 {
    font-size: 8.5vw;
  }
}

/*----------------------------------------
  #Academy .course
----------------------------------------*/
#Academy .course .txt-box {
  position: relative;
  display: inline-block;
  vertical-align: top;
  left: 430px;
  width: 520px;
}
#Academy .course .mod-img {
  position: relative;
  display: inline-block;
  vertical-align: top;
  left: -520px;
  width: 400px;
}
#Academy .course .txt-box h4,
#Academy .course .txt-box strong {
  display: block;
  margin-bottom: 15px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}
#Academy .course .txt-box h4 {
  display: inline-block;
  margin: 0;
  padding: 2px 20px;
  color: #fff;
  background: #ea5504;
}
#Academy .course .tags {
  margin: 30px 0 20px;
  padding: 0;
  list-style: none;
}
#Academy .course .tags li {
  display: inline-block;
  margin-right: 8px;
  margin-bottom: 5px;
  padding: 2px 5px 1px;
  font-size: 0.875rem;
  color: #111;
  line-height: 1.2;
  border-style: solid;
  border-width: 1px;
}
#Academy .course .tags li:last-child {
  margin-right: 0;
}
#Academy .course .tags .intermediate {
  background-color: #39dbcf;
  border-color: #39dbcf;
}
#Academy .course .tags .content {
  border-color: #a2bbea;
}
#Academy .course .tags .lecturer {
  color: #6b4650;
  border-color: #ec9717;
  letter-spacing: -0.02em;
}
#Academy .course .note {
  display: block;
  margin-top: 15px;
  font-size: 14px;
  line-height: 1.4;
}

@media(max-width:640px) {
  #Academy .course .txt-box {
    position: static;
    display: block;
    width: auto;
  }
  #Academy .course .txt-box h4 {
    display: block;
    text-align: center;
    padding: 4px 20px;
  }
  #Academy .course .txt-box strong {
    font-size: 1.188rem;
  }
  #Academy .course .tags {
    margin: 15px 0;
  }
  #Academy .course .mod-img {
    position: static;
    margin-top: 15px;
    display: block;
    width: auto;
  }
}

/*----------------------------------------
  #Academy .search
----------------------------------------*/
#Academy .search h4 {
  text-align: center;
  margin-bottom: 25px;
  font-size: 1.75rem;
  line-height: 1.3;
}
#Academy .search .item {
  display: inline-block;
  vertical-align: top;
  margin-left: 10px;
  width: 182px;
  background: #3f3f3f;
}
#Academy .search h4 + .item {
  margin-left: 0;
}
#Academy .search .item strong {
  display: block;
  text-align: center;
  padding: 22px 5px 20px;
    font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  background: #1890fa;
}
#Academy .search .item strong:before {
  display: inline-block;
  margin-right: 4px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #fff;
  content: '';
}

#Academy .search p{
	text-align:center;
	font-size:14px;
	margin-top:20px;
}

@media(max-width:640px) {
  #Academy .search h4 {
    margin-bottom: 10px;
  }
  #Academy .search .item {
    margin-top: 2%;
    margin-left: 2%;
    width: 49%;
  }
  #Academy .search .item:nth-child(even) {
    margin-left: 0;
  }
  #Academy .search .item strong {
    padding: 14px 4px 12px;
  }
  #Academy .search .item strong:before {
    margin-right: 3px;
    border-width: 4px 0 4px 6px;
  }
}
@media(max-width:480px) {
  #Academy .search h4 {
    font-size: 6vw;
  }
  #Academy .search .item strong {
    font-size: 3.6vw;
  }
}

/*========================================

  .academy-recommend

========================================*/
.academy-recommend {
  margin-top: 70px;
}
.academy-recommend.cr-inner {
  max-width: 1000px;
}
.academy-heading + .academy-recommend {
  margin-top: 50px;
}
.academy-recommend__heading {
  margin: 0;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1.5;
  text-align: left;
}

.academy-recommend .academy-heading{
	margin-top: 70px;
    text-align: center;
    font-size: 187.5%;
    font-weight: normal;
    line-height: 1.2;
    display: block;
	color:#2d2d2d;
}

.academy-recommend02 .academy-recommend02__item .button {
  padding: 2.3% 15px 2.3%;
  width: 100%;
  font-size: 87.5%;
  margin-top:6%;
}

.academy-recommend02 .academy-recommend02__item .button span{
	font-size: 1.25rem !important;
    font-weight: 700 !important;
    line-height: 1.2;
    text-align: left;
}
.academy-recommend p.txt{
	text-align:center;
	margin-top: 15px;
    font-size: 100%;
    line-height: 1.875;
    letter-spacing: 0;
    color: #333;
}

.academy-recommend__heading span {
  font-size: 0.8em;
}
.academy-recommend__heading + .cr-text {
  margin-top: 20px;
}
.academy-recommend .cr-heading + .cr-text {
  margin-top: 25px;
}

/*----------------------------------------
  .report
----------------------------------------*/
.academy-recommend .report {
    text-align: center;
}

.academy-recommend .report img,
.academy-recommend .mod-img img {
	box-sizing: border-box;
    margin: 30px auto 0;
    max-width: 1000px;
    width: 100%;
}

@media (max-width: 640px){
.academy-recommend .report img {
    max-width: 760px;
    width: 100%;
}
}

/*========================================

  #PrevIssue .issue

========================================*/
.issue {
  margin-top: 50px;
  padding-top: 60px;
  padding-bottom: 120px;
  border-top: 1px solid #ccc;
}
.issue__txt {
  text-align: center;
  margin-bottom: 25px;
  font-size: 2.0rem;
  line-height: 1.2;
}

@media(max-width: 640px) {
  .issue {
    margin-top: 40px;
    padding-top: 40px;
    padding-bottom: 80px;
  }
  .issue__txt {
    margin-bottom: 15px;
  }
}
