@charset "Shift_JIS";

/**
 * default.css
 * modified : 2017.09.06
 */

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

  Reset

========================================*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;vertical-align:top;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ul{zoom:1}ul:after{clear:both;display:block;content:"";height:0;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#333;}del,ins{text-decoration:none;}a{outline:none;}a,a:link,a:active,a:visited,a:hover {color: #333;text-decoration: none;}header,footer,nav,article,section{display:block}


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

  body

========================================*/
body {
  position: relative;
  margin: 0;
  padding: 0;
  min-width: inherit;
  min-height: 100%;
  font-family: '\30E1\30A4\30EA\30AA',Meiryo,
  '\FF2D\FF33\20\FF30\30B4\30B7\30C3\30AF',
  Verdana,sans-serif;
  background: #fff;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
}
.sans-serif {
  font-family: '\30E1\30A4\30EA\30AA',Meiryo,
  '\FF2D\FF33\20\FF30\30B4\30B7\30C3\30AF',
  Verdana,sans-serif;
}
.serif {
  font-family: 'Noto Serif JP', serif;
}

.hover,
.fade {
  transition: opacity 0.2s;
  -webkit-transition: opacity 0.2s;
}
a.hover,
a.fade {
  display: inline-block;
}
.hover:hover,
.fade:hover {
  opacity: 0.7;
}
.clearfix {
  *zoom: 1;
}
.clearfix:after {
  clear: both;
  display: block;
  content: "";
}

.sp {
	display:none;
}

@media(max-width:640px) {
  body {
    min-width: 320px;
  }
  .pc {
	display:none;
  }
  .sp {
	display: block;
  }
}





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

  break

========================================*/
.b64 { display: none; }
.b48 { display: none; }
.b37 { display: none; }
.b32 { display: none; }

@media(max-width:1199px) {
  .b1200 { display: inline-block; }
  .nb1200 { display: none; }
}
@media(max-width:640px) {
  .b64 { display: inline-block; }
  .nb64 { display: none; }
}
@media(max-width:479px) {
  .b48 { display: inline-block; }
  .nb48 { display: none; }
}
@media(max-width:374px) {
  .b37 {display: inline-block; }
  .nb37 {display: none; }
}
@media(max-width:319px) {
  .b32 { display: inline-block; }
  .nb32 { display: none; }
}


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

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

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

  .btn

========================================*/
.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-image: url(../img/arrow_btn.svg);
  background-repeat: no-repeat;
  background-position: 16px 50%;
  background-color: #3f3f3f;
  transition: opacity 0.2s;
  -webkit-transition: opacity 0.2s;
}
.btn:hover {
  opacity: 0.7;
}
.btn.example {
  background-color: #3f3f3f;
}
.btn.detail {
  background-color: #1890fa;
}

@media(max-width:640px) {
  .btn {
    font-size: 14px;
  }
}
@media(max-width:480px) {
  .btn {
    font-size: 13px;
  }
}
@media(max-width:359px) {
  .btn {
    font-size: 12px;
  }
}



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

  header

========================================*/
header {
  background: #1a1a1a;
}
header img {
  width: 100%;
  height: auto;
}
header .mod-wrapper {
  display: table;
}
header .logo {
  display: table-cell;
  padding: 26px 0;
  line-height: 0;
}
header .logo a {
  display: block;
  width: 100px;
}
header h1 {
  display: table-cell;
  vertical-align: top;
  padding: 14px 0 0;
  width: 353px;
  line-height: 0;
}

@media(max-width:960px) {
  header h1 {
    vertical-align: middle;
    padding: 0;
    width: 300px;
  }
}
@media(max-width:640px) {
  header .logo {
    padding: 25px 0;
  }
  header .logo a {
    min-width: 80px;
    width: 17%;
  }
  header h1 {
    vertical-align: middle;
    padding: 0;
    width: 50%;
  }
}


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

  .mainvisual

========================================*/
.mainvisual {
  overflow: hidden;
  margin: 0 auto;
  /*max-width: 1720px;*/
}
.mainvisual h1 {
  margin: 0 auto;
  max-width: 1200px;
  line-height: 0;
}
.mainvisual h1 img {
  margin: 0 0 0 -21.667%;
  /*max-width: 1720px;*/
  width: 143.3334%;
  height: auto;
}

@media(max-width:640px) {
  .mainvisual h1 img {
    margin: 0 0 0 -47%;
    width: 190%;
  }
}

@media(min-width:1720px) {
.mainvisual h1 {
  max-width: none;
}
.mainvisual h1 img {
  margin: 0;
  width: 100%;
  height: auto;
}
}

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

  nav

========================================*/
nav {
  margin: 0 auto;
  max-width: 1720px;
  line-height: 0;
  text-align: center;
  background: #000;
}
nav ul {
  display: block;
  margin: 0 auto;
  padding: 0;
  max-width: 1200px;
  font-size: 0;
}
nav li {
  position: relative;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  margin-top: -11.667%;
  padding-bottom: 9.41667%;
  width: 20%;
  border-left: 1px solid #141d13;
}
nav li:nth-child(1) {
  border-left: none;
}
nav li a {
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  text-indent: -9999em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  transition: opacity 0.2s;
  -webkit-transition: opacity 0.2s;
}
nav li a[href]:hover {
  opacity: 0.75;
}

nav li:nth-child(1) a {
  background-image: url(../img/nav_01@2x.jpg);
}
nav li:nth-child(2) a {
  background-image: url(../img/nav_02@2x.jpg);
}
nav li:nth-child(3) a {
  background-image: url(../img/nav_03@2x.jpg);
}
nav li a .s5-icon-window {
  display: none !important;
}

@media(max-width:640px) {
  nav {
    margin-top: -10%;
    padding-bottom: 0;
  }
  nav li {
    display: block;
    margin-top: 0;
    padding-bottom: 0;
    width: auto;
    background: #111;
    border-top: 1px solid #444;
    border-left: none;
  }
  nav li:last-child {
    border-bottom: 1px solid #444;
  }
  nav li a {
    position: static;
    text-align: left;
    padding: 3.333vw 4.6875%;
    font-size: 16px;
    line-height: 1.2;
    text-indent: 0;
    color: #fff !important;
    background-image: none !important;
  }
  nav li a:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 7px;
    width: 24px;
    height: 24px;
  }
  nav li a[href^="#"]:after {
    content: '';
    position: absolute;
    left: 0;
    display: inline-block;
    vertical-align: middle;
    margin-left: 4.6875%;
    width: 24px;
    height: 24px;
    background-image: url(../img/nav_arrow.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
  }
  nav li a:hover {
    opacity: 1.0;
  }
  nav li a span {
    display: inline-block;
    margin-left: 10px;
    font-size: 112.5%;
    color: #be0000;
  }
  nav li a .s5-icon-window {
    display: inline-block !important;
  }
}

@media(max-width:480px) {
  nav li a {
    padding: 3.75vw 4.6875%;
    font-size: 15px;
  }
}
@media(max-width:359px) {
  nav li a {
    font-size: 13px;
  }
}


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

  article

========================================*/
article {
  margin: 0 auto;
    /*max-width: 1720px;*/
}

.article-heading {
  padding: 17px 0;
}
.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__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;
}
.article-heading__txt span {
  position: relative;
  top: 2px;
}

article .inner,
.wrapper .inner {
  box-sizing: border-box;
  position: relative;
  margin: 0 auto;
  max-width: 950px;
  width: 94.0594059%;
}

@media(max-width:640px) {
  .article-heading__txt {
    padding-left: 22px;
    font-size: 4.375vw;
    width: 90.625%;
  }
  .article-heading__txt:before {
    margin-top: -10px;
    width: 15px;
    height: 20px;
  }
}
@media(max-width:480px) {
  .article-heading__txt {
    font-size: 5.4vw;
  }
}




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

  #Intro

========================================*/
#Intro {
  padding-bottom: 50px;
  background-image: url("../img/intro_bg.jpg");
  background-position: center 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.intro-ttl {
  margin: 0px;
  padding-top: 70px;
  font-size: 200%;
  text-shadow: 0px 0px 16px #000,
    0px 0px 8px #000,
    0px 0px 8px #000;
  color: #fff;
  text-align: center;
}
.intro-ttl br {
  display: none;
}
.intro-txt {
  margin-top: 35px;
  font-size: 131.3%;
  line-height: 1.9;
  text-shadow: 0px 0px 16px #000,
    0px 0px 8px #000,
    0px 0px 8px #000;
  color: #fff;
  text-align: center;
}

@media(max-width:640px) {
  #Intro {
    padding-bottom: 9.375vw;
    background-size: auto 100%;
  }
  .intro-ttl {
    margin: 0px;
    padding-top: 9.375vw;
    margin-left: -5.1724137%;
    width: 110.345%;
    font-size: 6vw;
    line-height: 1.4;
  }
  .intro-ttl:first-letter {
    margin-left: 1.6rem;
  }
  .intro-ttl br {
    display: block;
  }
  .intro-txt {
    margin-top: 3.125vw;
    font-size: calc(37.5% + 2.18vw);
    font-size: -webkit-calc(37.5% + 2.18vw);
    text-align: left;
  }
  .intro-txt br {
    display: none;
  }
}
@media(max-width:480px) {
  .intro-heading {
    font-size: 6.6vw;
  }
  .intro-txt {
    font-size: calc(37.5% + 2.91vw);
    font-size: -webkit-calc(37.5% + 2.91vw);
  }
}


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

  .one-point

========================================*/
.one-point {
  position: relative;
  box-sizing: border-box;
  padding: 30px 30px;
  background: #ececec;
}

#Lens .one-point {
  padding: 0px;
}

.one-point:after {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  width: 18px;
  height: 18px;
  background-image: url(../img/onepoint_end.png);
  background-repeat: no-repeat;
  content: '';
}
.one-point__strong {
  display: inline-block;
  text-align: center;
  margin-bottom: 25px;
  padding: 4px 0 4px;
  min-width: 162px;
  font-size: 1.125rem;
  line-height: 1.0;
  color: #fff;
  background: #b45151;
}
.one-point__heading {
  margin-bottom: 10px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  color: #b45151;
}
#Lens .one-point__heading {
  padding: 0px 30px;
}
#Lens aside.one-point p.mod-txt {
  padding: 0px 30px 30px;
}

.manual-onepoint {
  padding: 45px 30px 30px;
}
.manual-onepoint__strong {
  position: absolute;
  top: 0;
  left: 0;
  margin-bottom: 0;
  padding: 4px 10px;
  min-width: auto;
}
.manual-onepoint__heading {
  color: #000;
}
.manual-onepoint__strong--01 {
  background: #ba4b4b;
}
.manual-onepoint__strong--02 {
  background: #aab200;
}
.manual-onepoint__strong--03 {
  background: #3466c7;
}
.manual-onepoint__strong--04 {
  background: #d08d18;
}
.manual-onepoint__strong--05 {
  background: #45894f;
}

@media(max-width:640px) {
  .manual-onepoint {
    padding: 35px 4.6875vw 4.6875vw;
  }
}



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

  #Manual

========================================*/
#Manual {
  padding-top: 80px;
  background-image: url(../img/manual_bg.jpg);
  background-position: center 0;
  background-repeat: no-repeat;
  background-color: #f0ead9;
  background-size:100%;
}
.manual-wrap {
  padding-bottom: 60px;
  background-image: url(../img/manual_bg2.jpg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size:100%;
}
.manual-intro {
  text-align: center;
  margin-top: 60px;
}
.manual-txt__marker--01 {
  background-color: #eecdcd;
}
.manual-txt__marker--02 {
  background-color: #e8ecae;
}
.manual-txt__marker--03 {
  background-color: #cbd2ee;
}
.manual-txt__marker--04 {
  background-color: #f4e0b8;
}
.manual-txt__marker--05 {
  background-color: #c6e2cb;
}

@media(max-width:640px) {
  #Manual {
    padding-top: 9.375vw;
  }
  .manual-wrap {
    padding-bottom: 18.75vw;
  }
  .manual-intro {
    text-align: left;
    margin: 4.6875vw auto 0;
    width: 95%;
  }
}

/*----------------------------------------
  .manual-ttl
----------------------------------------*/
.manual-ttl {
  position: relative;
  text-align: center;
  margin: 0 auto;
  padding: 16px 0 18px;
  background: #761313;
}
.manual-ttl:after {
  position: absolute;
  top: 5px;
  right: 5px;
  bottom: 5px;
  left: 5px;
  border: 2px solid #c3a26d;
  content: '';
}
img.manual-ttl__01 {
  max-width: 230px;
}
img.manual-ttl__02 {
  max-width: 310px;
}
img.manual-ttl__03 {
  display: block;
  margin: 4px auto 0;
  max-width: 363px;
}

@media(max-width:640px) {
  .manual-ttl {
    padding: 4.375vw 0;
  }
  .manual-ttl:after {
    top: 3px;
    right: 3px;
    bottom: 3px;
    left: 3px;
  }
  img.manual-ttl__01 {
    width: 32.8125vw;
  }
  img.manual-ttl__02 {
    width: 45.3125vw;
  }
  img.manual-ttl__03 {
    margin: 6px auto 0;
    width: 56.71875vw;
  }
}

/*----------------------------------------
  .manual-section
----------------------------------------*/
.manual-section {
  margin-top: 80px;
}
.manual-heading {
  margin: 0 auto 40px;
  max-width: 810px;
  font-size: 0;
}
.manual-heading__img {
  display: inline-block;
  vertical-align: middle;
  width: 310px;
}
.manual-heading__txt {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 20px;
  width: 480px;
}
.manual-heading__txt p {
  text-align: right;
  letter-spacing: -0.06em;
}

@media(max-width:640px) {
  .manual-section {
    margin-top: 15.625vw;
  }
  .manual-heading {
    margin: 0 auto 20px;
  }
  .manual-heading__img {
    display: block;
    margin: 0 auto;
    padding-right: 5.625vw;
    width: 48.4375vw;
  }
  .manual-heading__txt {
    display: block;
    margin: 3.125vw auto 0;
    width: 90%;
  }
  .manual-heading__txt p {
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.6;
  }
}
@media(max-width:359px) {
  .manual-heading__txt p {
    font-size: 0.813rem;
    line-height: 1.5;
  }
}



/*----------------------------------------
  .manual-exp
----------------------------------------*/
h3.manual-ttl.mod-img.serif {
  color: #fff;
  font-size: 2em;
  display: block;
  padding: 30px 0 30px 0;
  background: #C9680D;
  font-weight:bold;
}
h3.manual-ttl.mod-img.serif span.sub {
  display: block;
  padding-top: 30px;
  font-size: 0.7em;
}
h3.manual-ttl.mod-img.serif:after {
  border: 2px solid #E1D0AD;
}

.manual-exp {
  position: relative;
  box-sizing: border-box;
  margin: 60px auto 0;
  padding: 65px 65px 75px;
  max-width: 1080px;
  background: #fff;
}
.manual-exp.acafe {
  margin: 60px auto 0;
  padding: 0;
  max-width: 950px;
  background: none;
}
.manual-exp__strong {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 60px;
  font-weight: 400;
  line-height: 60px;
  color: #c0bcbc;
}
.manual-exp__line {
  margin-top: 60px;
}
.manual-exp__line:after {
  clear: both;
  display: block;
  content: '';
}
.manual-exp__leftbox {
  float: left;
  width: 500px;
  width: 52.6315789%;
}
.manual-exp__rightbox {
  float: right;
  width: 404px;
  width: 42.5263157%;
}
.manual-exp__heading {
  position: relative;
  margin-bottom: 15px;
  padding-left: 45px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.02em;
}
.manual-exp__heading:before {
  position: absolute;
  display: inline-block;
  top: 5px;
  left: 0;
  margin-right: 15px;
  padding-bottom: 22px;
  width: 29px;
  background-repeat: no-repeat;
  background-position: left top;
  content: '';
}
.manual-exp__check--01:before {
  background-image: url(../img/manual_check_01.svg);
}
.manual-exp__check--02:before {
  background-image: url(../img/manual_check_02.svg);
}
.manual-exp__check--03:before {
  background-image: url(../img/manual_check_03.svg);
}
.manual-exp__check--04:before {
  background-image: url(../img/manual_check_04.svg);
}
.manual-exp__check--05:before {
  background-image: url(../img/manual_check_05.svg);
}


@media(max-width:640px) {
	h3.manual-ttl.mod-img.serif span {
  display: block;
  padding-top:30px;
}
  .manual-exp {
    margin-top: 9.375vw;
    margin-left: -1.5625vw;
    padding: 4.6875vw 6.25vw 7.8125vw;
    width: 93.75vw;
  }
  .manual-exp__strong {
    position: static;
    display: block;
    text-align: center;
    margin-bottom: 10px;
    font-size: 2rem;
    line-height: 1.0;
  }
  .manual-exp__line {
    margin-top: 50px;
  }
  .manual-exp__leftbox {
    float: none;
    width: auto;
  }
  .manual-exp__rightbox {
    float: none;
    margin-top: 20px;
    width: auto;
  }
  .manual-exp__heading {
    text-align: center;
    margin-bottom: 15px;
    padding-left: 0;
  }
  .manual-exp__heading:before {
    position: static;
    display: block;
    margin: 0 auto 10px;
  }
}

/*----------------------------------------
  .manual-exp
----------------------------------------*/
.manual-useful {
  position: relative;
  box-sizing: border-box;
  margin-top: 50px;
  padding: 40px 30px 20px;
  font-size: 0;
  background: #ececec;
}
.manual-useful__strong {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  padding: 4px 5px;
  font-size: 1.0rem;
  line-height: 1.0;
  color: #fff;
}
.manual-useful__strong--01 {
  background: #ba4b4b;
}
.manual-useful__strong--02 {
  background: #aab200;
}
.manual-useful__strong--03 {
  background: #3466c7;
}
.manual-useful__strong--04 {
  background: #d08d18;
}
.manual-useful__strong--05 {
  background: #45894f;
}

.manual-useful__link {
  margin-top: 4px;
  font-size: 1.063rem;
  line-height: 1.4;
  letter-spacing: -0.04em;
}
.manual-useful__link a + a {
  margin-left: 30px;
}
.manual-useful__link a:hover {
  text-decoration: underline;
}
.manual-useful__link a:before {
  position: relative;
  display: inline-block;
  top: -1px;
  margin-right: 5px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 6px;
  border-color: transparent transparent transparent #000;
  content: '';
}
.manual-useful__link img {
  vertical-align: middle;
  margin-left: 10px;
  width: 100%;
  height: auto;
}
.manual-useful__left,
.manual-useful__right {
  display: inline-block;
  vertical-align: top;
  width: 49.5%;
}
.manual-useful__right {
  margin-left: 1%;
}
.manual-useful__emount {
  text-indent: -10px;
  color: #00329a;
}
.manual-useful__amount {
  text-indent: -10px;
  color: #e8380d;
}

@media(max-width:640px) {
  .manual-useful {
    padding: 35px 4.6875vw 4.6875vw;
  }
  .manual-useful__link {
    font-size: 0.875rem;
  }
  .manual-useful__link a + a {
    margin-left: 0;
  }
  .manual-useful__link a:after {
    display: block;
    content: '';
  }
  .manual-useful__left,
  .manual-useful__right {
    display: block;
    width: auto;
  }
  .manual-useful__right {
    margin: 15px 0 0;
  }
}

/*----------------------------------------
  .manual-exp .program
----------------------------------------*/
.manual-exp .program h5 {
  margin-bottom: 23px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}
.manual-exp .program .mod-img.leftfix {
  float: left;
  width: 47.5%;
}
.manual-exp .program .mod-img.rightfix {
  float: right;
  width: 47.5%;
  line-height: 1.5em;
  text-align:right;
}
.manual-exp .program .mod-img.rightfix small {
  font-size:0.8em;
  display: block;
}
.manual-exp .program .mod-btn {
  margin: 30px auto;
  display:block;
  max-width: 600px;
  background: #ff5a00;
  font-size: 1.25em;
}

.manual-exp .program p {
  text-align: center;
  margin-top: 30px;
}
@media(max-width:640px) {
  .manual-exp.acafe {
    width: auto;
  }
  .manual-exp .program {
    margin-top: 50px;
  }
  .manual-exp .program h4 {
    font-size: 1.875rem;
  }
  .manual-exp .program h5 {
    margin-bottom: 15px;
    font-size: 1.125rem;
  }
  .manual-exp .program h4 + section {
    margin-top: 30px;
  }

  .manual-exp .program .mod-btn {
    display: block;
    margin-top: 20px;
	max-width: none;
  }
}




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

  #Lens

========================================*/
#Lens {
  padding-bottom: 100px;
}
.lens-ttl {
  margin-bottom: 35px;
  padding-top: 90px;
  font-size: 256.3%;
  font-weight: 400;
  line-height: 1.2;
  color: #985353;
  text-align: center;
}
.lens-ttl__tag {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  padding: 9px 12px 8px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: #b45151;
}
.lens-ttl__txt  {
  display: inline-block;
  vertical-align: middle;
}
.lens-ttl__sub {
  font-size: 175%;
  line-height: 1.4;
  color: #b45151;
}
.lens-layout {
  margin-top: 50px;
}
.lens-layout:after {
  clear: both;
  display: block;
  content: '';
}
.lens-layout__leftbox {
  float: left;
  width: 505px;
}
.lens-layout__rightbox {
  float: right;
  width: 404px;
}

@media(max-width:640px) {
  .lens-section {
    margin-top: 80px;
  }
  .article-heading + .lens-section {
    margin-top: 40px;
  }
  .lens-ttl {
    margin-bottom: 20px;
    padding-top: 0;
    font-size: 5.625vw;
    font-feature-settings: 'palt';
  }
  .lens-ttl__tag {
    margin-right: 0;
    margin-bottom: 10px;
    padding: 7px 24px 6px;
    font-size: 14px;
  }
  .lens-ttl__txt  {
    display: block;
  }
  .lens-img a {
    border-width: 4px;
  }
  .lens-img__right {
    float: none;
    margin-top: 30px;
    margin-right: 0;
  }
  .lens-img__cap {
    margin-top: 10px;
    font-size: 11px;
  }
  .lens-layout {
    margin-top: 30px;
  }
  .lens-layout__leftbox,
  .lens-layout__rightbox {
    float: none;
    width: auto;
  }
}

@media(max-width:480px) {
  .lens-ttl {
    font-size: 8.2vw;
  }
}

/*----------------------------------------
  #Lens .mount
----------------------------------------*/
#Lens .mount {
  margin-top: 60px;
  width: 456px;
}
#Lens .e-mount {
  float: left;
}
#Lens .a-mount {
  float: right;
}
#Lens .mount .item {
  position: relative;
  display: block;
  margin-top: 55px;
}
#Lens .mount .item:first-child {
  margin-top: 0;
}
#Lens .mount .item-inner:after {
  clear: both;
  display: block;
  content: '';
}
#Lens .mount .item-use {
  position: absolute;
  text-align: center;
  top: -24px;
  width: 100%;
  font-size: 15px;
  line-height: 15px;
}
#Lens .mount .item-txtbox {
  float: left;
  max-width: 240px;
}
#Lens .mount .item-tag {
  box-sizing: border-box;
  text-align: center;
  display: inline-block;
  min-width: 130px;
  padding: 12px 0 11px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
  border-width: 2px;
  border-style: solid;
}
#Lens .e-mount .item-tag {
  color: #00329a;
  border-color: #00329a;
}
#Lens .a-mount .item-tag {
  color: #e8380d;
  border-color: #e8380d;
}
#Lens .mount .item-txtbox strong {
  display: block;
  margin-top: 15px;
  font-size: 21px;
  line-height: 1.1;
}
#Lens .mount .item-txtbox span {
  display: block;
  margin-top: 5px;
  font-size: 15px;
  line-height: 1.1;
}
#Lens .mount .item-img {
  float: right;
  display: table;
  margin-right: 10px;
  height: 100%;
}
#Lens .mount .item-img span {
  display: table-cell;
  vertical-align: middle;
}
#Lens .mount .item-btn {
  margin-top: 20px;
  font-size: 0;
}
#Lens .mount .mod-btn {
  width: 218px;
}
#Lens .mount .mod-btn__detail {
  margin-left: 20px;
}
#Lens .mount .mod-btn.campaign {
  margin-top: 15px;
  width: 100%;
  background-color: #ff5a00;
}
#Lens .mount .mod-btn.campaign span {
  display: inline-block;
  margin: 0 0 0 10px;
  padding: 3px 10px;
  font-weight: 700;
  color: #ff5a00;
  background-color: #fff;
}

#SEL70200G .item-img {
  max-width: 235px;
}
#SEL70300G .item-img {
  max-width: 195px;
}
#SAL70300G2 .item-img {
  max-width: 207px;
}
#SEL70200GM .item-img {
  max-width: 260px;
}
#SAL70200G2 .item-img {
  max-width: 261px;
}

@media(max-width:640px) {
  #Lens .mount {
    margin-top: 0;
    width: auto;
  }
  #Lens .e-mount {
    float: none;
  }
  #Lens .a-mount {
    float: none;
  }
  #Lens .mount .item {
    position: relative;
    margin-top: 60px !important;
  }
  #Lens .e-mount .item:first-child {
    margin-top: 40px !important;
  }
  #Lens .mount .item-txtbox {
    /*float: none;
    max-width: initial;
    width: auto;*/
	width: 48.5%;
  }
  #Lens .mount .item-tag {
    /*display: block;
    padding: 9px 0 8px;
    width: auto;*/
  }
  #Lens .mount .item-tag br {
    /*display: none;*/
  }
  #Lens .mount .item-img {
    /*float: none;
    text-align: center;
    display: block;
    margin: 15px auto 0;
    width: 80%;
    height: auto;*/
	width: 48.5%;
  }
  #Lens .mount .item-img span {
    /*display: block;*/
	width: 48.5%;
  }
  #Lens .mount .mod-btn {
    width: 48.5%;
  }
  #Lens .mount .mod-btn__detail {
    margin-left: 3%;
  }
  #Lens .mount .mod-btn.campaign {
    margin-top: 3%;
    font-size: 13px;
  }
}

/*----------------------------------------
  #Lens .fe-banner
----------------------------------------*/
#Lens .fe-banner {
  margin: 60px auto;
}
#Lens .fe-banner a {
  overflow: hidden;
}

@media(max-width:640px) {
  #Lens .fe-banner {
    margin-top: 9.375%;
  }
  #Lens .fe-banner img {
    max-width: 760px;
    width: 100%;
  }
}

/*----------------------------------------
  #Lens .chance
----------------------------------------*/
#Lens .chance {
  margin-top: 90px;
}
#Lens .chance h4 {
  font-size: 2.438rem;
  line-height: 1.3;
  color: #b45151;
}
#Lens .chance section {
  margin-top: 60px;
  font-size: 0;
}
#Lens .chance h5 {
  margin-bottom: 23px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}
#Lens .chance .txt-box.leftfix {
  float: left;
  width: 440px;
}
#Lens .chance .mod-img.rightfix {
  float: right;
  width: 463px;
}
#Lens .chance .mod-btn {
  margin-top: 25px;
}

@media(max-width:640px) {
  #Lens .chance {
    margin-top: 50px;
  }
  #Lens .chance h4 {
    font-size: 1.875rem;
  }
  #Lens .chance h5 {
    margin-bottom: 15px;
    font-size: 1.125rem;
  }
  #Lens .chance h4 + section {
    margin-top: 30px;
  }
  #Lens .chance .txt-box.leftfix {
    float: none;
    width: auto;
  }
  #Lens .chance .mod-img.rightfix {
    float: none;
    margin: 20px 0;
    width: auto;
  }
  #Lens .chance .mod-btn {
    display: block;
    margin-top: 20px;
  }
}

/* .cashback
----------------------------------------*/
#Lens .cashback .mod-img {
  display: block;
  margin: 30px 0 0;
}

@media(max-width:640px) {
  #Lens .cashback .mod-img {
    margin: 20px 0 0;
  }
}



/*----------------------------------------
  .contents-banner
----------------------------------------*/
.contents-banner {
  margin: 60px auto;
}
.contents-banner a {
  overflow: hidden;
}
.contents-banner ul li{
	margin-bottom: 10px;
}
.contents-banner ul li img{
	display: block;
}
.contents-banner a {
  overflow: hidden;
}

.contents-banner h3{
	font-size: 175%;
	font-weight: normal;
	text-align: center;
	color: #333;
	margin-bottom: 20px;
}

@media(max-width:640px) {
  .contents-banner {
    margin-top: 9.375%;
  }
  .contents-banner img {
    max-width: 760px;
    width: 100%;
  }
}



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

  #Acc

========================================*/
#Acc {
  padding-bottom: 100px;
  background: #fff;
}
#Acc .heading {
  background: #ea5504;
}
#Acc .intro {
  margin-top: 80px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
#Acc .inner {
  font-size: 0;
}
#Acc section {
  vertical-align: top;
  margin-top: 50px;
}
#Acc h4 {
  font-size: 1.063rem;
  font-weight: 400;
  line-height: 1.4;
}
#Acc .item-img {
  text-align: center;
  display: table;
  margin: 0 auto;
  width: 100%;
  line-height: 0;
}
#Acc .item-img span {
  display: table-cell;
  vertical-align: middle;
}
#Acc .item-img img {
  width: 100%;
  height: auto;
}
#Acc .item-tag {
  display: inline-block;
  padding: 4px 13px 3px;
  font-size: 0.813rem;
  line-height: 1.0;
  letter-spacing: -0.05em;
  color: #fff;
}
#Acc .item-tag__e {
  background: #00329a;
}
#Acc .item-tag__a {
  background: #e60020;
}
#Acc .item-tag__sp {
  text-indent: -99999em;
  background-color: transparent;
}
#Acc hr {
  margin-top: 50px;
  width: 950px;
  height: 1px;
  background-color: #000;
  border: none;
}

@media(max-width:640px) {
  #Acc {
    padding-bottom: 50px;
  }
  #Acc .intro {
    margin-top: 30px;
    font-size: 1.125rem;
  }
  #Acc section {
    margin-top: 30px;
  }
  #Acc h4 {
    font-size: 1.0rem !important;
  }
  #Acc .item-tag {
    padding: 4px 15px 4px;
  }
  #Acc hr {
    margin-top: 40px;
    width: 100%;
  }
  #Acc .item-tag__sp {
    text-indent: 0;
  }
  #Acc .item-tag__sp.item-tag__e {
    background: #00329a;
  }
  #Acc .item-tag__sp.item-tag__a {
    background: #e60020;
  }
}

/*----------------------------------------
  #Acc .acc-lens
----------------------------------------*/
#Acc .acc-lens {
  font-size: 0;
}
#Acc .acc-lens h4 {
  font-size: 1.125rem;
}
#Acc .acc-01 {
  display: inline-block;
  vertical-align: top;
  margin: 20px 0 40px;
  width: 465px;
}
#Acc .acc-01b {
  margin-left: 20px;
}
#Acc .acc-01 p {
  margin-top: 8px;
  font-size: 0.813rem;
  line-height: 1.4;
}
#Acc .acc-01 p strong {
  font-weight: 700;
}
#Acc .acc-lens .item {
  display: inline-block;
  vertical-align: top;
  margin-left: 20px;
  width: 303px;
}
#Acc .acc-lens .acc-01 + .item {
  margin-left: 0;
}
#Acc .acc-lens .item-name {
  margin: 10px 0;
}
#Acc .acc-lens .item-name1 {
  font-size: 1.438rem;
  line-height: 1.3;
}
#Acc .acc-lens .item-name2 {
  margin: 2px 0 0;
  font-size: 0.938rem;
  line-height: 1.0;
}
#Acc .acc-lens .item-txt {
  margin-top: 10px;
  font-size: 0.875rem;
  line-height: 1.5;
}
#Acc .acc-lens .item .mod-btn {
  margin-top: 15px;
  width: 100%;
}

#Acc #SEL18200LE .item-img {
  max-width: 186px;
}
#Acc #SEL24240 .item-img {
  max-width: 223px;
}
#Acc #SAL18250 .item-img {
  max-width: 182px;
}

@media(max-width:640px) {
  #Acc .acc-01 {
    display: block;
    margin: 20px 0;
    width: auto;
  }
  #Acc .acc-01b {
    margin-left: 0;
  }
  #Acc .acc-lens .item {
    display: block;
    margin-top: 50px;
    margin-left: 0;
    width: auto;
  }
  #Acc .acc-lens .item-name {
	 width: 48.5%;
	 float: left;
	}
	#Acc .item-img {
	 float: right;
	 width: 48.5%;
	}
  #Acc .acc-lens .item-txt {
	 float: left;
	}
}

/*----------------------------------------
  #Acc .sec-02
----------------------------------------*/
#Acc .sec-02__heading {
  position: relative;
  padding-left: 1.1em;
  font-weight: 500;
  line-height: 1.2;
}
#Acc .sec-02__heading span {
  position: absolute;
  left: 0;
  top: 0;
}
#Acc .sec-02 {
  margin-top: 50px;
}
#Acc .sec-02 h3 {
  font-size: 106.3%;
  letter-spacing: -0.04em;
}
#Acc .sec-02 .line {
  margin: 60px 0 0 -26px;
}
#Acc .sec-02 .line:first-child {
  margin-top: 0;
}
#Acc .sec-02 .item {
  float: left;
  margin-left: 26px;
  width: 218px;
}
#Acc .sec-02 #LCS-BP3.item {
  width: 462px;
}
#Acc .sec-02 .item .mod-img {
  margin: 10px auto;
  display: table;
  height: 192px;
}
#Acc .sec-02 #RMT-VP1K.item .mod-img {
  height: 177px;
}
#Acc .sec-02 .item .img-wrap {
  display: table-cell;
  vertical-align: middle;
}
#Acc .sec-02 .item .name {
  font-size: 81.3%;
  line-height: 1.2;
}
#Acc .sec-02 .item .model {
  margin-top: 5px;
  font-size: 156.3%;
  line-height: 1.2;
}
#Acc .sec-02 .item .mod-btn {
  display: block;
  margin-top: 5px;
  max-width: 218px;
}

@media(max-width:640px) {
  #Acc .sec-02__heading br {
    display: none;
  }
  #Acc .sec-02 .line {
    margin: 0;
  }
  #Acc .sec-02 .item {
    float: none;
    margin: 30px 0 0 !important;
    padding-bottom: 30px;
    width: auto !important;
    border-bottom: 1px solid #ddd;
  }
  #Acc .sec-02 .item:last-child {
    border-bottom: none;
  }
  #Acc .sec-02 .item .mod-img {
    margin: 15px auto;
    width: 80%;
    height: auto !important;
  }
  #Acc .sec-02 .item .mod-btn {
    max-width: inherit;
  }
}


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

  #Academy

========================================*/
#Academy {
  padding-bottom: 90px;
  background: #fff;
}
#Academy .inner {
  margin-top: 60px;
  position: relative;
  margin: 60px auto 0;
  max-width: 950px;
  width: 94.0594059%;
}

#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 .lesson.mod-btn {
  margin-top: 20px;
  background-color:#1890fa;
  font-size: 16px;
  font-weight: 600;
}

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

.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__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: 2;
    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%;
}
}

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

  #Ques

========================================*/
#Ques {
  padding: 60px 0 47px;
  background-color: #eaeaea;
}
#Ques h3 {
  font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'YuGothic Medium', ' 游ゴシック', 'Yu Gothic',' ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',' メイリオ',Meiryo,sans-serif;
  text-align: center;
}
#Ques p {
  margin: 30px 0 35px;
  font-size: 19px;
  line-height: 1.6;
  text-align: center;
}
#Ques .btn {
  display: block;
  padding: 18px 0;
  background: #e06909;
  font-size: 175%;
  font-weight: 400;
  line-height: 1.0;
  color: #fff;
  text-decoration: none;
}

@media(max-width:640px) {
  #Ques {
    padding: 40px 0 40px;
  }
  #Ques h3 img {
    width: 100%;
    height: auto;
  }
  #Ques p {
    margin: 20px 0;
    font-size: 14px;
  }
  #Ques p br {
    display: none;
  }
  #Ques .btn-box {
    overflow: hidden;
	text-align: center;
  }
  #Ques .btn-box img {
    margin-left: -35%;
    width: 170%;
  }
  #Ques .btn {
    font-size: 100%;
    font-weight: 700;
  }
}

#Ques .inner {
	max-width: 950px;
	margin: 0 auto;
	width: 93.75%;
}

@media screen and (min-width: 768px) {
	#Ques .inner {
		width: 90.625%;
	}
}

#Ques .section-title {
	font-size: 28px;
	font-size: 1.75rem;
	padding: 0;
	width: 100%;
	color: #333;
}

@media screen and (min-width: 480px) {
	#Ques .section-title {
		font-size: 35px;
		font-size: 2.1875rem;
	}
}

@media screen and (min-width: 640px) {
	#Ques .section-title {
		font-size: 43px;
		font-size: 2.6875rem;
	}
}

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

  footer

========================================*/
footer {
  padding: 38px 0;
  background: #1f2024;
}
footer .inner {
  margin: 0 auto;
  max-width: 1200px;
  width: 94.0594059%;
}
footer small {
  display: inline-block;
  font-size: 12px;
  line-height: 1.0;
  color: #b0b0b0;
}

article .inner, .wrapper footer .inner {
    max-width: 1200px;
}

@media(max-width:480px) {
  footer {
    text-align: center;
  }
}

.modaal-wrapper a {
	color: #5887ab;
}
.modaal-wrapper a:hover {
	opacity:0.7;
}

.modaal-wrapper a:first-of-type {
	margin-top:20px;
	display:block;
}