@charset "utf-8";

/* ------------------------------------------------------
RESET
------------------------------------------------------ */
html {line-height: 1;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;}
details,menu,figcaption,figure,main,article,aside,footer,header,nav,section {display: block;}
html,body,button,input,optgroup,select,textarea,p,h1,h2,h3,h4,h5,h6,figure,ul,ol,dl,dt,dd {margin: 0;}
ul,ol,dl,dd,dt { list-style: none; padding: 0;}
hr {box-sizing: content-box;height: 0;overflow: visible;}
pre {font-family: monospace, monospace;font-size: 1em;}
a {background-color: transparent;-webkit-text-decoration-skip: objects;outline: none;}
abbr[title] {border-bottom: none;text-decoration: underline;text-decoration: underline dotted;}
code,kbd,samp {font-family: monospace, monospace;font-size: 1em;}
dfn {font-style: italic;}
mark {background-color: #ff0;color: #000;}
small {font-size: 80%;}
sub,sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}
canvas,audio,video {display: inline-block;}
audio:not([controls]) {display: none;height: 0;}
img {border-style: none;}
svg:not(:root) {overflow: hidden;}
button,input {overflow: visible;}
button,select {text-transform: none;}
button,html [type="button"],[type="reset"],[type="submit"] {-webkit-appearance: button;}
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {border-style: none;padding: 0;}
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {outline: 1px dotted ButtonText;}
legend {box-sizing: border-box;color: inherit;display: table;max-width: 100%;padding: 0;white-space: normal;}
progress {display: inline-block;vertical-align: baseline;}
textarea {overflow: auto;}
[type="checkbox"],
[type="radio"] {box-sizing: border-box;padding: 0;}
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button {height: auto;}
[type="search"] {-webkit-appearance: textfield;outline-offset: -2px;}
[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
::-webkit-file-upload-button {-webkit-appearance: button;font: inherit;}
summary {display: list-item;}
[hidden],template {display: none;}
picture {margin: 0;}

/* ------------------------------------------------------
ANIMATED
------------------------------------------------------ */
/*fadeup*/
.fade--in-up{opacity: 0;filter: alpha(opacity=0);-webkit-transform: translate(0, 40px);-ms-transform: translate(0, 40px);transform: translate(0, 40px);-webkit-transform-style: preserve-3d;transform-style: preserve-3d;-webkit-backface-visibility: hidden;backface-visibility: hidden;-webkit-transition: opacity 1.5s cubic-bezier(0.165, 0.80, 0.45, 1) 0s, transform 1.5s cubic-bezier(0.165, 0.80, 0.45, 1) 0s;transition: opacity 1.5s cubic-bezier(0.165, 0.80, 0.45, 1) 0s, transform 1.5s cubic-bezier(0.165, 0.80, 0.45, 1) 0s;}
.fade--in-uplong {
  ;-webkit-transform: translate(0, 50px);-ms-transform: translate(0, 50px);transform: translate(0, 50px);
}
.fade--in-up.animated {opacity: 1;filter: alpha(opacity=100);-webkit-transform: translate(0, 0);-ms-transform: translate(0, 0);transform: translate(0, 0);}

/*fadedown*/
.fade--in-down{opacity: 0;filter: alpha(opacity=0);-webkit-transform: translate(0, -40px);-ms-transform: translate(0, -40px);transform: translate(0, -40px);-webkit-transform-style: preserve-3d;transform-style: preserve-3d;-webkit-backface-visibility: hidden;backface-visibility: hidden;-webkit-transition: all 1.5s cubic-bezier(0.165, 0.80, 0.45, 1) 0s;transition: all 1.5s cubic-bezier(0.165, 0.80, 0.45, 1) 0s;}
.fade--in-down.animated {opacity: 1;filter: alpha(opacity=100);-webkit-transform: translate(0, 0);-ms-transform: translate(0, 0);transform: translate(0, 0);}

/*fadein*/
.fade--in{opacity: 0;filter: alpha(opacity=0);-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-webkit-transition: all 3s cubic-bezier(0.165, 0.80, 0.45, 1) 0s;transition: all 3s cubic-bezier(0.165, 0.80, 0.45, 1) 0s;}
.fade--in.animated {opacity: 1;filter: alpha(opacity=1);-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";}
.delay05 {-webkit-transition-delay: 0.5s;transition-delay: 0.5s;}
.delay10 {-webkit-transition-delay: 1.0s;transition-delay: 1.0s;}
.delay15 {-webkit-transition-delay: 1.5s;transition-delay: 1.5s;}
.delay20 {-webkit-transition-delay: 2.0s;transition-delay: 2.0s;}
.delay25 {-webkit-transition-delay: 2.5s;transition-delay: 2.5s;}
.delay30 {-webkit-transition-delay: 3.0s;transition-delay: 3.0s;}
.delay35 {-webkit-transition-delay: 3.5s;transition-delay: 3.5s;}
.delay38 {-webkit-transition-delay: 3.8s;transition-delay: 3.8s;}
.delay40 {-webkit-transition-delay: 4.0s;transition-delay: 4.0s;}
.delay45 {-webkit-transition-delay: 4.5s;transition-delay: 4.5s;}
.delay50 {-webkit-transition-delay: 5.0s;transition-delay: 5.0s;}
@media screen and (max-width: 767px) {
  .sp--delay10 {-webkit-transition-delay: 1.0s;transition-delay: 1.0s;}
}

/* ------------------------------------------------------
FONTS
------------------------------------------------------ */
.font-dm {font-family: 'DM Serif Display', serif !important;}

/* ------------------------------------------------------
GENERAL
------------------------------------------------------ */
html {min-height: 100%;}
body {
  font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", YuGothic, "游ゴシック体", "メイリオ", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
  min-height: 100%;
  background-color: #f5f5f5;
  color: #000;
  font-size: 3.75vw;
  line-height: 1.4;
}
.clearfix:after {
  content:" ";
  display:block;
  clear:both;
}
*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#wrapper {overflow: hidden;}
.container {
  padding: 0 3.1vw;
  margin: 0 auto;
}
a {
  color: #10277c;
  text-decoration: none;
  outline: none;
}
.color-gradient {
  background: -webkit-linear-gradient(315deg, #1553a6 0%, #1a265a 100%);
  background: linear-gradient(45deg, #1553a6 0%, #1a265a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media all and (-ms-high-contrast: none) {
  .color-gradient {
    background: none;
    color: #1553a6;
  }
}
.mb-0 {margin-bottom: 0 !important;}
@media all and (-ms-high-contrast: none) {
  .color--cyan-gradient {
    background: none;
    color: #dde4f8;
  }
}
@media screen and (max-width: 767px) {
  .pc {display: none !important;}
}
@media screen and (min-width: 768px) {
  .sp {display: none !important;}
  body {
    font-size: 18px;
    line-height: 1.6;
  }
  .container {
    padding: 0 15px;
    max-width: 1230px;
  }
}

/* ------------------------------------------------------
HEADER
------------------------------------------------------ */
#header .container {
  padding: 0;
  max-width: 1000px;
}
#header .inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center!important;
  align-items: center!important;
  -ms-flex-pack: center!important;
  justify-content: center!important;
  padding: 30px 0 0 0;
}
.nav {
  line-height: 1.2;
  margin-right: 55px;
}
.mainmenu {
  font-size: 0;
}
.mainmenu li {
  display: inline-block;
  vertical-align: top;
  padding: 0 34px 0 0;
}
.mainmenu li:last-child {
  padding-right: 0;
}
.mainmenu a {
  color: #000;
  font-size: 18px;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.mainmenu a:hover {
  color: #10277c;
}
.trial_btn {
  font-size: 0;
  margin-right: 20px;
}
.trial_btn a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center!important;
  align-items: center!important;
  -ms-flex-pack: center!important;
  justify-content: center!important;
  color: #10277c;
  font-size: 16px;
  text-align: center;
  border: 1px solid #10277c;
  width: 150px;
  height: 30px;
  line-height: 1;
  padding-bottom: 2px;
  -webkit-transition: background 0.3s ease, color 0.3s ease;
  transition: background 0.3s ease, color 0.3s ease;
}
.trial_btn a span {
  display: inline-block;
  padding-right: 18px;
  position: relative;
}
.trial_btn a span::after {
  content: "";
  width: 12px;
  height: 10px;
  background: url(../img/icon01_blue.png) no-repeat 0 0 / 100% 100%;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -5px;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.trial_btn a span::before {
  content: "";
  width: 12px;
  height: 10px;
  background: url(../img/icon01_white.png) no-repeat 0 0 / 100% 100%;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -5px;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.trial_btn a:hover {
  background-color: #10277c;
  color: #fff;
}
.trial_btn a:hover span::after {
  opacity: 0;
}
.trial_btn a:hover span::before {
  opacity: 1;
}
.trial_btnCorp a{
  color: #fff;
  text-decoration: underline;
}
.hbutton {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.hsocial {
  font-size: 0;
}
.hsocial a {
  display: inline-block;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  margin-right: 26px;
}
.hsocial a:hover {
  opacity: 0.7;
}
.hsocial a:last-child {
  margin-right: 0;
}
@media screen and (min-width: 768px) {
  #header {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 10;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  #header .inner {
    padding: 30px 10px 0;
  }
  .nav {
    margin-right: 30px;
  }
  .mainmenu li {
    padding-right: 20px;
  }
  .trial_btn {
    margin-right: 15px;
  }
  .trial_btn a {
    font-size: 14px;
    width: 110px;
  }
  .hsocial a {
    margin-right: 15px;
  }
}
@media screen and (min-width: 768px) and (max-width: 799px) {
  .mainmenu a {
    font-size: 15px;
  }
}
@media screen and (min-width: 800px) and (max-width: 999px) {
  .mainmenu li {
    padding-right: 2.6vw;
  }
  .mainmenu a {
    font-size: 16px;
  }
}

/* ------------------------------------------------------
MAIN
------------------------------------------------------ */
/* KV */
.kv {
  height: 101.56vw;
  font-size: 0;
  position: relative;
  overflow: hidden;
}
.kv1, .kv2 {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  text-align: center;
}
.kv_inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center!important;
  align-items: center!important;
  -ms-flex-pack: center!important;
  justify-content: center!important;
  height: 100%;
}
.kv1 {
  background-color: #10277c;
  box-shadow: 0 0 80px rgba(0, 0, 0, 0.3) inset;
  z-index: 1;
  -webkit-transition: opacity 0.3s cubic-bezier(0.165, 0.80, 0.45, 1) 0s, transform 0.7s cubic-bezier(.785,.135,.15,.86) 0s;
  transition: opacity 0.3s cubic-bezier(0.165, 0.80, 0.45, 1) 0s, transform 0.7s cubic-bezier(.785,.135,.15,.86) 0s;
}
.kv2 {
  background-color: #fafafa;
  box-shadow: 0 0 60px rgba(99, 99, 99, 0.3) inset;
  z-index: 2;
  opacity: 0;
}
.kv2 picture,
.kv1 picture {
  display: block;
  opacity: 0;
  -webkit-transform: translate(0, 40px);
  -ms-transform: translate(0, 40px);
  transform: translate(0, 40px);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: opacity 0.3s cubic-bezier(0.165, 0.80, 0.45, 1) 0s, transform 0.3s cubic-bezier(0.165, 0.80, 0.45, 1) 0s;
  transition: opacity 0.3s cubic-bezier(0.165, 0.80, 0.45, 1) 0s, transform 0.3s cubic-bezier(0.165, 0.80, 0.45, 1) 0s;
}
.kv1 .kv_text, .kv2 {
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.kv1 picture {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}
.kv1 .kv_text {
  -webkit-transition-delay: 2.5s;
  transition-delay: 2.5s;
}
.kv1 {
  -webkit-transition-delay: 3.0s;
  transition-delay: 3.0s;
}
.kv2 {
  -webkit-transition-delay: 4.0s;
  transition-delay: 4.0s;
}
.kv2 picture {
  -webkit-transition-delay: 5.0s;
  transition-delay: 5.0s;
}
.kv.animated .kv1 .kv_text {
  opacity: 0;
}
.kv.animated .kv1 {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}
.kv.animated .kv2 {
  opacity: 1;
}
.kv.animated .kv2 picture,
.kv.animated .kv1 picture {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
@media screen and (max-width: 767px) {
  .kv1 picture {
    display: inline-block;
  }
  .kv1 img {
    width: 36.72vw;
  }
  .kv2 img {
    width: 68.125vw;
  }
}
@media screen and (min-width: 768px) {
  .kv {
    height: 640px;
  }
  .kv1 {
    padding-top: 99px;
    box-shadow: 0 0 185px rgba(0, 0, 0, 0.3) inset;
  }
  .kv2 {
    box-shadow: inset 0px 122px 130px -122px rgba(99, 99, 99, 0.3), inset 0px -122px 130px -122px rgba(99, 99, 99, 0.3);
    padding-top: 64px;
  }
}

/* Trial Block */
.trial_block {
  color: #fff;
  background-color: #10277c;
  padding: 3vw 3vw 4.6vw;
  box-shadow: 0 0 10px rgba(39, 45, 83, 0.6);
  display: none;
}
.trial_btnAmazon {
  margin: 0 auto 3vw;
  width: 84.375vw;
}
.trial_btnAmazon a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center!important;
  align-items: center!important;
  -ms-flex-pack: center!important;
  justify-content: center!important;
  width: 100%;
  height: 12.5vw;
  background-color: #00c0ff;
  font-size: 4.0625vw;
  font-weight: 500;
  color: #fff;
  line-height: 1;
  box-shadow: 0 0 4px rgba(127, 127, 127, 0.6);
}
.trial_btnAmazon a span {
  display: inline-block;
  position: relative;
  padding: 0 0 0 8.125vw;
}
.trial_btnAmazon a span::before {
  content: "";
  width: 6.25vw;
  height: 6.25vw;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -3.125vw;
  background: url(../img/amazon_icon40x40.png) no-repeat 0 0 / 100% 100%;
}
.trial_btnRead {
  margin: 0 auto;
  width: 50vw;
}
.trial_btnRead a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center!important;
  align-items: center!important;
  -ms-flex-pack: center!important;
  justify-content: center!important;
  font-size: 3.75vw;
  line-height: 1;
  font-weight: 400;
  color: #fff;
  border: 1px solid #fff;
  width: 100%;
  height: 6.875vw;
  background-color: #152b80;
  box-shadow: 0 0 4px rgba(39, 45, 83, 0.6);
}
.trial_btnRead a span {
  display: inline-block;
  position: relative;
  padding: 0 4vw 0 0;
}
.trial_btnRead a span::after {
  content: "";
  width: 2.5vw;
  height: 2.2vw;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -1.1vw;
  background: url(../img/icon01_white16x14.png) no-repeat 0 0 / 100% 100%;
}
.trial_block .trial_btnAmazon {
  margin-bottom: 0;
}
.trial_block .trial_btnRead {
  margin-top: 3vw;
}
.trial_block .trial_btnCorp {
  text-align: center;
  margin-top: 10px;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .trial_block {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    display: block !important;
  }
}
@media screen and (min-width: 768px) {
  .trial_block {
    position: fixed;
    right: 0;
    bottom: 10px;
    padding: 27px 18px 26px;
    width: 316px;
    border-radius: 5px 0 0 5px;
    box-shadow: 0 0 6px rgba(39, 45, 83, 0.7);
    z-index: 5;
  }
  .trial_btnAmazon {
    width: 240px;
    margin: 0 0 20px;
  }
  .trial_btnAmazon a {
    height: 50px;
    font-size: 16px;
    font-weight: 700;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .trial_btnAmazon a:hover {
    opacity: 0.7;
  }
  .trial_btnAmazon a span {
    padding-left: 40px;
  }
  .trial_btnAmazon a span::before {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    background-image: url(../img/amazon_icon30x30.png);
  }
  .trial_btnRead {
    width: 160px;
  }
  .trial_btnRead a {
    font-size: 16px;
    height: 36px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    box-shadow: 0 0 6px rgba(39, 45, 83, 0.6);
  }
  .trial_btnRead a:hover {
    background-color: #264cd5;
    border-color: #264cd5;
  }
  .trial_btnRead a span {
    padding: 0 17px 0 0;
  }
  .trial_btnRead a span::after {
    width: 12px;
    height: 10px;
    margin-top: -5px;
    background-image: url(../img/icon01_white.png);
  }
  .trial_title {
    position: relative;
    padding: 0 0 22px;
  }
  .trial_titleImg {
    position: absolute;
    right: 60px;
    bottom: 14px;
    font-size: 0;
  }
  .trial_titleText {
    line-height: 1.1;
    font-size: 16px;
  }
  .trial_titleText strong,
  .trial_titleText span {
    display: block;
  }
  .trial_titleText .en {
    font-size: 28px;
  }
  .trial_block .trial_btnAmazon {
    margin-bottom: 0;
  }
  .trial_block .trial_btnRead {
    margin-top: 20px;
  }
}

/* Banner */
.banner_intro {
  background-color: #10277c;
  color: #fff;
  padding: 2.344vw 0 6.25vw 0;
}
.banner_introInner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 4vw;
}
.banner_introTittle {
  margin-bottom: 6.25vw;
}
.banner_introTittle img {
  display: block;
  width: 93.59375vw;
}
.banner_introImg {
  width: 44.6666%;
  padding-right: 4.6vw;
}
.banner_introImg img {
  display: block;
  width: 100%;
}
.banner_introTitle {
  line-height: 1.1;
  text-align: right;
  margin-bottom: 3.9vw;
}
.banner_introTitle strong,
.banner_introTitle span {
  display: block;
}
.banner_introTitle strong {
  font-size: 3.75vw;
}
.banner_introTitle span {
  font-size: 4.688vw;
}
.banner_introTitle .en {
  font-size: 8.75vw;
}
.banner_introText {
  width: 55.3334%;
  padding-right: 4.6vw;
  padding-top: 3.9vw;
}
.banner_introText p {
  font-size: 3.44vw;
  line-height: 1.4;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .banner_intro .container {
    padding: 0 3.1vw;
  }
  .banner_intro .trial_btnAmazon {
    margin-bottom: 6.2vw;
    width: 78.125vw;
  }
  .banner_intro .trial_btnAmazon a {
    height: 14vw;
  }
  .banner_intro .trial_btnAmazon a span {
    padding-left: 10.3125vw;
  }
  .banner_intro .trial_btnAmazon a span::before {
    background-image: url(../img/amazon_icon52x52.png);
    width: 8.125vw;
    height: 8.125vw;
    margin-top: -4.0625vw;
  }
  .banner_intro .trial_btnCorp{
    text-align: center;
    margin-top: 15px;
  }
}
@media screen and (min-width: 768px) {
  .banner_intro {
    padding: 36px 0;
  }
  .banner_introInner {
    margin-bottom: 0;
    -ms-flex-pack: center!important;
    justify-content: center!important;
    -ms-flex-align: center!important;
    align-items: center!important;
    padding-left: 75px;
  }
  .banner_introImg {
    width: 289px;
    padding: 0;
  }
  .banner_introText {
    width: 347px;
    padding-right: 47px;
    padding-top: 0;
  }
  .banner_introTitle {
    margin-bottom: 17px;
  }
  .banner_introTitle strong {
    font-size: 24px;
  }
  .banner_introTitle span {
    font-size: 30px;
  }
  .banner_introTitle .en {
    font-size: 56px;
  }
  .banner_introText p {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 20px;
  }
  .banner_introBtn {
    text-align: right;
    line-height: 1;
  }
  .banner_intro .trial_btnAmazon {
    width: 100%;
    margin-bottom: 0;
  }
  .banner_intro .trial_btnRead {
    margin-bottom: 10px;
    display: inline-block;
  }
  .banner_intro .trial_btnRead a {
    float: right;
  }
  .banner_intro .trial_btnCorp {
    margin-bottom: 28px;
  }
  .banner_intro .trial_btnCorp a{
    color: #fff;
    text-decoration: underline;
  }
  .banner_introTittle {
    margin: 0;
    padding-left: 40px;
    width: 423px;
  }
  .banner_introTittle img {
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .banner_introInner {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding-left: 0;
    padding-right: 20px;
  }
  .banner_introText {
    padding-right: 20px;
    width: 300px;
  }
  .banner_introImg {
    width: 160px;
  }
  .banner_introTittle {
    padding-left: 20px;
    width: 280px;
  }
}
@media screen and (min-width: 960px) and (max-width: 1099px) {
  .banner_introInner {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding-right: 0;
    padding-left: 64px;
  }
  .banner_introText {
    padding-right: 20px;
  }
  .banner_introTittle {
    padding-left: 20px;
  }
}

/* Keyword */
.keyword {
  padding: 11.7vw 0 0 0;
}
.lead_wrap {
  padding-top: 3vw;
}
.lead_text {
  text-align: center;
  font-size: 4.6875vw;
  font-weight: 700;
}
.keyword h1 {
  margin-bottom: 16.4vw;
}
.keyword h1 img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
.keyword_list {
  margin-bottom: 11.8vw;
}
.keyword_item {
  margin-bottom: 8.125vw;
  position: relative;
}
.keyword_item h2 {
  font-weight: 700;
  font-size: 10vw;
  line-height: 1.06;
  margin-bottom: 3.75vw;
  padding-left: 5.625vw;
}
.keyword_item .text_reveal span {
  position: relative;
  display: inline-block;
}
.keyword_item .text_reveal span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  transform-origin: left;
  transform: scale(1, 1);
}
.keyword_item .text_reveal.animated span:nth-child(1)::before {
  animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.2s forwards;
}
.keyword_item .text_reveal.animated span:nth-child(3)::before {
  animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s forwards;
}
.keyword_item .text_reveal.animated span:nth-child(5)::before {
  animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.6s forwards;
}
.keyword_item .text_reveal.animated span:nth-child(7)::before {
  animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s forwards;
}
.keyword_item .text_reveal.animated span:nth-child(9)::before {
  animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 1s forwards;
}
.keyword_item .text_reveal.animated span:nth-child(11)::before {
  animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 1.2s forwards;
}
@keyframes reveal-text {
  100% {
    transform: scale(0, 1)
  }
}
.keyword_item h2 strong {
  font-weight: 700;
}
.keyword_item p {
  font-size: 3.75vw;
  line-height: 1.4;
  padding-left: 5.625vw;
}
.keyword_item picture {
  margin-bottom: 2.35vw;
  display: block;
  font-size: 0;
}
.graphic {
  padding-bottom: 1.5vw;
}
.graphic_title {
  font-size: 12.5vw;
  margin: 0 -3.1vw 3.75vw;
  font-weight: 400;
  line-height: 0.85;
}
.graphic_subtitle {
  font-weight: 700;
  line-height: 1.1;
  font-size: 3.75vw;
  position: relative;
  margin-bottom: 8.6vw;
}
.graphic_subtitle::after {
  content: "";
  height: 1px;
  background-color: #000;
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
}
.graphic_subtitle span {
  padding-right: 1.5vw;
  background: #f5f5f5;
  position: relative;
  z-index: 1;
  display: inline-block;
}
.graphic_btn {
  line-height: 1;
  padding: 0 1.6vw;
}
.graphic_btn li {
  margin-bottom: 4.6vw;
}
.graphic_btn li:last-child {
  margin-bottom: 0;
}
.graphic_btn a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center!important;
  align-items: center!important;
  color: #fff;
  background: url(../img/bg_button_sp.png) no-repeat 0 0 / cover;
  height: 17.2vw;
  padding-left: 4.7vw;
  position: relative;
  padding-right: 10vw;
  font-size: 3.75vw;
  box-shadow: 0 0 5px rgba(39, 45, 83, 0.6);
}
.graphic_btn a::after {
  content: "";
  position: absolute;
  right: 4vw;
  top: 50%;
  width: 5.78vw;
  height: 5.78vw;
  background: url(../img/icon_sp.png) no-repeat 0 0 / 100% 100%;
  margin-top: -2.89vw;
}
.keyword_item > img {
  position: absolute;
}
.keyword1 > img {
  top: -3.75vw;
  left: 0;
}
.keyword2 > img {
  top: -1.5vw;
  left: 26.5vw;
}
.keyword3 > img {
  top: -10.9vw;
  left: 45.6vw;
}
.keyword4 > img {
  top: 10.5vw;
  left: 26.5vw;
}
.keyword5 > img {
  top: 9.375vw;
  left: 50vw;
}
.keyword_item > div {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .keyword h1 img {
    width: 68.75vw;
    max-width: 440px;
  }
  .keyword_item picture {
    width: 20.625vw;
    max-width: 132px;
  }
  .keyword_item picture img {
    width: 100%;
  }
  .keyword1 > img {
    width: 31.56vw;
    max-width: 202px;
  }
  .keyword2 > img {
    width: 28.75vw;
    max-width: 184px;
  }
  .keyword3 > img {
    width: 46.09375vw;
    max-width: 295px;
  }
  .keyword4 > img {
    width: 41.09375vw;
    max-width: 263px;
  }
  .keyword5 > img {
    width: 40.3125vw;
    max-width: 258px;
  }
  .lead_text {
    font-feature-settings: "palt" 1;
  }
}
@media screen and (min-width: 768px) {
  .keyword {
    padding-top: 84px;
  }
  .keyword h1 {
    margin-bottom: 85px;
  }
  .keyword_list {
    margin-bottom: 0;
  }
  .keyword_item {
    margin-bottom: 0;
  }
  .keyword_item h2 {
    font-size: 58px;
    margin-bottom: 0;
  }
  .keyword_item p {
    font-size: 18px;
    line-height: 1.67;
  }
  .keyword_item picture {
    margin-bottom: 0;
  }
  .keyword1 {margin-left: 56px;margin-bottom: 129px;}
  .keyword1 > img {top:15px;left: 102px;}
  .keyword1 picture {margin-bottom: 6px;}
  .keyword1 h2 {padding-left: 161px;}
  .keyword1 p {padding-left: 645px;margin-top: -124px;max-width: 1045px;}
  
  .keyword2 {margin-bottom: 71px;}
  .keyword2 > img {left: 376px;top:-40px;}
  .keyword2 picture {padding-left: 390px;}
  .keyword2 h2 {padding-left: 566px;margin-top: -10px;}
  .keyword2 p {padding-left: 140px;margin-top: -112px;max-width: 550px;}
  
  .keyword3 {margin-bottom: 108px;}
  .keyword3 > img {top:-302px;left: 806px;}
  .keyword3 picture {padding-left: 97px;}
  .keyword3 h2 {padding-left: 272px;font-feature-settings: "palt" 1;letter-spacing: 0.03em;margin-top: -4px;}
  .keyword3 p {padding-left: 699px;margin-top: -126px;max-width: 1101px;}
  
  .keyword4 {margin-bottom: 88px;}
  .keyword4 > img {left: 240px;top:-124px;}
  .keyword4 picture {padding-left: 385px;}
  .keyword4 h2 {padding-left: 564px;margin-top: -66px;}
  .keyword4 p {padding-left: 139px;max-width: 545px;margin-top: -165px;}
  
  .keyword5 {margin-bottom: 130px;}
  .keyword5 > img {left: 778px;top:-15px;}
  .keyword5 picture {padding-left: 5px;}
  .keyword5 h2 {padding-left: 177px;margin-top: -5px;font-feature-settings: "palt" 1;letter-spacing: 0.03em;}
  .keyword5 p {padding-left: 630px;max-width: 1035px;margin-top: -160px;}
  
  .graphic {
    padding-bottom: 45px;
    padding-left: 100px;
    padding-right: 100px;
  }
  .graphic_title {
    margin: 0 0 35px;
    font-size: 80px;
  }
  .graphic_subtitle {
    font-size: 20px;
    margin-bottom: 52px;
  }
  .graphic_subtitle span {
    padding-right: 5px;
  }
  .graphic_btn a {
    font-size: 16px;
    padding-left: 28px;
    padding-right: 50px;
    height: 80px;
    width: 420px;
  }
  .graphic_btn {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center!important;
    align-items: center!important;
    -ms-flex-pack: center!important;
    justify-content: center!important;
  }
  .graphic_btn li {
    margin-bottom: 20px;
    padding: 0 15px;
  }
  .graphic_btn li:last-child {
    margin-bottom: 20px;
  }
  .graphic_btn a {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .graphic_btn a:hover {
    opacity: 0.7;
  }
  .graphic_btn a::after {
    width: 28px;
    height: 28px;
    background-image: url(../img/icon.png);
    margin-top: -14px;
    right: 20px;
  }
  .lead_wrap {
    padding-top: 30px;
  }
  .lead_text {
    font-size: 40px;
    line-height: 48px;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .graphic {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1059px) {
  .keyword1 {margin-left: 30px;}
  .keyword1 p {margin-top: 10px;padding-left: 160px;max-width: 660px;}
  .keyword1 > img {left: 30px;}
  
  .keyword2 h2 {padding-left: 190px;}
  .keyword2 picture {padding-left: 24px;margin-bottom: 10px;}
  .keyword2 > img {left: 200px;}
  .keyword2 p {margin-top: 10px;padding-left: 190px;max-width: 660px;}
  
  .keyword3 h2 {padding-left: 190px;}
  .keyword3 picture {padding-left: 24px;margin-bottom: 10px;}
  .keyword3 > img {left: 250px;top: -90px;}
  .keyword3 p {margin-top: 10px;padding-left: 190px;max-width: 660px;}
  
  .keyword4 h2 {padding-left: 190px;margin-top: 0;}
  .keyword4 picture {padding-left: 24px;margin-bottom: 10px;}
  .keyword4 > img {left: 370px;top:20px;}
  .keyword4 p {margin-top: 10px;padding-left: 190px;max-width: 660px;}
  
  .keyword5 h2 {padding-left: 190px;margin-top: 0;}
  .keyword5 picture {padding-left: 24px;margin-bottom: 10px;}
  .keyword5 > img {left: 480px;}
  .keyword5 p {margin-top: 10px;padding-left: 190px;max-width: 660px;}
}
@media screen and (min-width: 960px) and (max-width: 1059px) {
  .keyword2 {margin-left: 50px;}
  .keyword3 {margin-left: 100px;}
  .keyword4 {margin-left: 150px;}
  .keyword5 {margin-left: 200px;}
}
@media screen and (min-width: 768px) and (max-width: 1169px) {
  .graphic_btn a {
    width: 400px;
  }
}

/* Group */
.group {
  padding: 14vw 0 0 0;
  margin-bottom: 14vw;
}
.group-topic {
  padding-top: 10vw;
}
.group_title {
  font-weight: 400;
  margin: 0 -3.1vw 7vw;
  font-size: 23.4375vw;
  line-height: 0.8;
}
.group_title-bookstore {
  font-size: 15.625vw;
}
.group_title-line {
  padding-bottom: 0.2em;
}
.group_subtitle {
  font-weight: 700;
  line-height: 1.1;
  font-size: 3.75vw;
  position: relative;
  margin-bottom: 10vw;
}
.group_subtitle::after {
  content: "";
  height: 1px;
  background-color: #000;
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
}
.group_subtitle span {
  padding-right: 1.5vw;
  background: #f5f5f5;
  position: relative;
  z-index: 1;
  display: inline-block;
}
.showmore {
  width: 75vw;
  margin: 0 auto;
}
.showmore a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center!important;
  align-items: center!important;
  -ms-flex-pack: center!important;
  justify-content: center!important;
  font-weight: 700;
  font-size: 3.75vw;
  width: 100%;
  height: 10.9vw;
  text-align: center;
  border: 1px solid #000;
  color: #000;
}
@media screen and (min-width: 768px) {
  .mb-pc-90 {margin-bottom: 90px !important;}
  .group {
    padding-top: 90px;
    margin-bottom: 100px;
  }
  .group-topic {
    padding-top: 40px;
  }
  .group_inner {
    padding: 0 100px;
  }
  .group_title {
    margin: 0 0 45px;
    font-size: 200px;
    line-height: 0.75;
  }
  .group_title-line {
    padding-bottom: 38px;
  }
  .group_title-bookstore {
    font-size: 150px;
  }
  .group_subtitle {
    font-size: 20px;
    margin-bottom: 52px;
  }
  .group_subtitle span {
    padding-right: 5px;
  }
  .showmore {
    width: 300px;
  }
  .showmore a {
    height: 50px;
    font-size: 16px;
    padding-bottom: 2px;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .showmore a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .group_inner {
    padding: 0 40px;
  }
  .group_title {
    font-size: 150px;
  }
}

/* Rave */
.rave_list {
  margin-bottom: 9.3vw;
}
.rave_item {
  border-bottom: 1px solid #bcbcbb;
  padding-bottom: 6vw;
  margin-bottom: 6vw;
}
.rave_item p {
  font-size: 4.688vw;
  line-height: 1.4;
  margin-bottom: 3.9vw;
}
.rave_item dl dt {
  font-weight: 700;
  line-height: 1.3;
  font-size: 4.688vw;
  color: #484848;
  margin-bottom: 3.9vw;
}
.rave_item dl dd {
  color: #484848;
  font-size: 3.4375vw;
  line-height: 1.4;
}
.rave_list .rave_item:nth-child(n+4) {
  display: none;
}
@media screen and (min-width: 768px) {
  .rave_list {
    margin-bottom: 70px;
  }
  .rave_item {
    padding: 0 0 66px 35px;
    margin-bottom: 66px;
  }
  .rave_item p {
    font-size: 30px;
    margin-bottom: 14px;
  }
  .rave_item dl {
    padding: 0 0 0 365px;
  }
  .rave_item dl dt {
    font-size: 26px;
    margin-bottom: 8px;
  }
  .rave_item dl dd {
    font-size: 14px;
    line-height: 1.6;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .rave_item {
    padding-left: 20px;
  }
  .rave_item dl {
    padding-left: 26vw;
  }
} 

/* Review */
.review_item {
  border-bottom: 1px solid #bcbcbb;
  padding-bottom: 5.625vw;
  margin-bottom: 5.625vw;
}
.review_item p {
  font-size: 4.375vw;
  line-height: 1.4;
  margin-bottom: 3.9vw;
}
.review_author {
  line-height: 1.3;
}
.review_author small,
.review_author strong {
  display: block;
}
.review_author small {
  color: #484848;
  font-size: 3.4375vw;
  margin-bottom: 1.6vw;
}
.review_author strong {
  font-size: 3.75vw;
}
.review_list .review_item:nth-child(n+4) {
  display: none;
}
@media screen and (min-width: 768px) {
  .review_list {
    margin-bottom: 70px;
  }
  .review_item {
    padding-bottom: 40px;
    margin-bottom: 35px;
    padding-left: 35px;
  }
  .review_item p {
    font-size: 16px;
    line-height: 1.75;
    margin-bottom: 20px;
  }
  .review_author small {
    font-size: 14px;
    margin-bottom: 5px;
  }
  .review_author strong {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) {
  .review_item {
    padding-left: 20px;
  }
}

/* Profile */
.profile_thumb {
  margin-bottom: 4.7vw;
}
.profile_thumb img {
  display: block;
  margin: 0 auto;
  width: 100%;
}
.profile_thumb span {
  display: block;
  margin: 0 auto;
  font-size: 3.4375vw;
  line-height: 1.2;
}
.profile_name {
  line-height: 1.2;
  margin-bottom: 4.375vw;
}
.profile_name span {
  display: block;
  font-size: 10.9375vw;
  margin-bottom: 1.56vw;
}
.profile_name strong {
  display: block;
  font-size: 3.75vw;
}
.profile_name-small {
  margin-bottom: 2.575vw;
}
.profile_name-small span {
  font-size: 5vw;
}
.profile_name-small strong {
  font-size: 3.4375vw;
}
.profile_message p {
  font-size: 3.4375vw;
  line-height: 1.5;
}
.profile_message {
  margin-bottom: 4.7vw;
}
.profile_message-scroll {
  background-color: #fff;
  border: 1px solid #dcdcdc;
  position: relative;
  padding-right: 3px;
}
.profile_message-scroll::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  background-color: #dcdcdc;
  width: 1px;
  right: 12px;
}
.nicescroll {
  height: 49vw;
  overflow: auto;
  padding-left: 2.5vw;
  padding-right: 2.5vw;
}
.scroll_inner {
  padding-top: 2.2vw;
  padding-bottom: 2.2vw;
}
.profile_link {
  font-size: 3.4375vw;
  margin-bottom: 7.8vw;
}
.profile_link a {
  color: #000;
}
.profile_link p {
  margin-bottom: 3vw;
}
.profile_link p:last-child {
  margin-bottom: 0;
}
.swiper-container {
  width: 100%;
  height: 100%;
}
.swiper-slide {
  height: auto;
}
@media screen and (max-width: 767px) {
  .profile_thumb span,
  .profile_thumb img {
    width: 43.75vw;
    max-width: 280px;
  }
}
@media screen and (min-width: 768px) {
  .profile_thumb {
    float: left;
    width: 280px;
    padding-top: 15px;
  }
  .profile_thumb span {
    width: 100%;
    font-size: 12px;
    margin-top: 2px;
  }
  .profile {
    margin-top: -15px;
  }
  .profile_content {
    padding: 0 0 0 330px;
  }
  .profile_name {
    margin-bottom: 36px;
  }
  .profile_name span {
    font-size: 70px;
    margin-bottom: 12px;
    line-height: 1;
  }
  .profile_name strong {
    font-size: 18px;
  }
  .profile_message-scroll {
    padding-right: 3px;
  }
  .profile_message-scroll::after {
    right: 14px;
  }
  .profile_message {
    margin-bottom: 34px;
  }
  .nicescroll {
    padding-left: 20px;
    padding-right: 20px;
    height: 270px;
  }
  .scroll_inner {
    padding-top: 16px;
    padding-bottom: 16px;
  }
  .profile_message p {
    font-size: 14px;
    line-height: 1.7;
  }
  .profile_link {
    font-size: 16px;
    margin-bottom: 51px;
  }
  .profile_link a {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .profile_link a:hover {
    box-shadow: 0 1px 0 0 #000;
  }
  .profile_link p {
    margin-bottom: 12px;
  }
  .profile_name-small {
    margin-bottom: 25px;
  }
  .profile_name-small span {
    font-size: 32px;
    margin-bottom: 10px;
  }
  .profile_name-small strong {
    font-size: 14px;
  }
}

/* Twitter */
.twitter__area {
  height: 286vw;
  border: 1px solid #d8d8d8;
  margin: 0 1.5vw 7.8vw;
  overflow: hidden;
}
.twitter__area.is--open {
  height: auto !important;
}
@media screen and (min-width: 768px) {
  .twitter__area {
    margin: 0 auto 70px;
    height: 1400px;
    width: 682px;
  }
}

/* ------------------------------------------------------
FOOTER
------------------------------------------------------ */
#footer {
  text-align: center;
}
.fsocial {
  font-size: 0;
  padding: 25px 0;
}
.fsocial a {
  display: inline-block;
  vertical-align: middle;
  margin: 0 16px;
}
.pagetop {
  font-size: 0;
}
.copyright {
  font-family: "游ゴシック Medium", "Yu Gothic Medium";
  font-size: 3.125vw;
  line-height: 1.3;
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  #footer {
    padding-bottom: 29.976vw;
  }
  .fsocial .fb img {
    max-width: 63px;
    width: 9.844vw;
  }
  .fsocial .tw img {
    max-width: 67px;
    width: 10.4688vw;
  }
  .fsocial .in img {
    max-width: 62px;
    width: 9.688vw;
  }
  .pagetop {
    position: fixed;
    right: 10px;
    bottom: 29.976vw;
    height: 40px;
    z-index: 5;
    margin-bottom: 10px;
    display: none;
  }
  .pagetop a {
    background: #4e4e4e url(../img/pagetop.png) no-repeat center center / 18px 10px;
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    box-shadow: 0 0 6px rgba(39, 45, 83, 0.5);
  }
}
@media screen and (min-width: 768px) {
  #footer {
    padding: 0 0 27px;
  }
  .fsocial {
    padding: 60px 0;
  }
  .fsocial a {
    margin: 0 30px;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .fsocial a:hover {
    opacity: 0.7;
  }
  .fsocial img {
    width: auto;
  }
  .pagetop {
    opacity: 1 !important;
  }
  .pagetop a {
    display: block;
    background: #4e4e4e url(../img/pagetop.png) no-repeat center center / auto;
    height: 50px;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .pagetop a:hover {
    opacity: 0.7;
  }
  .copyright {
    font-size: 12px;
    letter-spacing: 0.015em;
    font-weight: 600;
    line-height: 1.2;
    padding: 30px 0 0;
  }
}
