@charset "UTF-8";
/*---------------------------------------------------------------

 base 

---------------------------------------------------------------*/
body {
  background: none; }

html[lang^="en"] body {
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important; }

.st-GlobalHeader {
  line-height: 1.6;
  font-size: 16px; }

#container {
  margin-bottom: 0; }

#wrapper {
  width: 100%;
  position: relative;
  background: #F0FFFE url(../images/bg.jpg) repeat-x; }

#prdctheadWrapper {
  background-color: #FFF; }

#footerWrapper {
  background: #666; }

#wrapper-top {
  background: url(../images/wapper_bg.png) no-repeat center top;
  margin-right: auto;
  margin-left: auto;
  /*min-height: 1312px;*/
  text-align: center; }

.st-Breadcrumb_List a {
  color: #666 !important;
  text-decoration: none !important; }
  .st-Breadcrumb_List a:hover {
    color: #df0523 !important;
    text-decoration: underline !important; }

.st-DropGlobalNav_Item a {
  color: #FFF;
  text-decoration: none; }
  .st-DropGlobalNav_Item a:hover, .st-DropGlobalNav_Item a:visited {
    color: #FFF;
    text-decoration: underline; }

.st-GlobalNav_DropGnavCloseIcon::before, .st-GlobalNav_SearchCloseIcon::before {
  font-size: 20.8px; }

.st-GlobalFooter_NavItem {
  color: #666;
  text-decoration: none; }
  .st-GlobalFooter_NavItem a {
    color: #666;
    text-decoration: none; }
    .st-GlobalFooter_NavItem a:hover, .st-GlobalFooter_NavItem a:visited {
      text-decoration: underline; }

.st-GlobalLink {
  color: #666 !important;
  text-decoration: none !important; }
  .st-GlobalLink:hover {
    color: #df0523 !important; }

.is-center {
  text-align: center; }

.pc {
  background: #FFF; }
  .pc #headerPC {
    width: 950px;
    margin: 0 auto; }

/*---------------------------------------------------------------

TOP

---------------------------------------------------------------*/
#pcontents-top {
  padding: 40px 0; }
  #pcontents-top .note {
    font-size: 14px;
    margin-top: 40px;
    text-align: right; }
    #pcontents-top .note img {
      margin: 0 2px 0 5px; }

.main {
  text-align: center;
  margin-bottom: 60px; }

.maintitle {
  position: relative; }

.main-title:after {
  position: absolute;
  content: "";
  display: block;
  width: 80px;
  height: 128px;
  bottom: 0;
  right: 80px;
  background: url(../images/icon_chara01.png) no-repeat;
  background-size: cover; }

/* .main-link */
.main-link .link-box {
  display: inline-block;
  font-size: 160%;
  float: left;
  width: calc( ( 100% - 61px ) / 3);
  margin-left: 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative; }
  .main-link .link-box:first-child {
    margin-left: 0; }
  .main-link .link-box .list-title {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    line-height: 1;
    width: calc( 100% - 90px);
    text-align: center;
    border-radius: 10px 10px 0 0;
    color: #2588C0;
    background-color: #FFF;
    font-weight: bold;
    z-index: 1; }
    .main-link .link-box .list-title a {
      text-decoration: none;
      color: #2588C0;
      padding: 8px 5px 6px;
      width: 100%;
      height: 100%;
      min-height: 46px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      align-items: center;
      -webkit-box-align: center;
      -ms-flex-align: center; }
      .main-link .link-box .list-title a:hover {
        text-decoration: none;
        opacity: 0.5; }
    .main-link .link-box .list-title:before {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: -10px;
      width: 10px;
      height: 10px;
      background: url(../images/bg_list_title01.png) no-repeat;
      background-size: cover; }
    .main-link .link-box .list-title:after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      right: -10px;
      width: 10px;
      height: 10px;
      background: url(../images/bg_list_title02.png) no-repeat;
      background-size: cover; }
  .main-link .link-box ul {
    height: calc( 100% - 30px);
    position: relative;
    padding: 15px;
    background-color: #2588C0;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-shadow: 0px 0px 8px 2px white inset;
    box-shadow: 0px 0px 8px 2px white inset;
    margin-top: 46px; }
    .main-link .link-box ul:before {
      position: absolute;
      top: 0;
      left: 0;
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 16px;
      border: 1px solid #FFF;
      -webkit-box-shadow: 0px 0px 8px 2px #b0d9f8;
      box-shadow: 0px 0px 8px 2px #b0d9f8; }
  .main-link .link-box li {
    text-align: left;
    margin-top: 10px;
    z-index: 10; }
    .main-link .link-box li:first-child {
      margin-top: 0; }
    .main-link .link-box li a {
      position: relative;
      display: block;
      padding: 3px 7px 2px 25px;
      border-radius: 30px;
      color: #FFF;
      text-decoration: none;
      background-color: rgba(255, 255, 255, 0.15); }
      .main-link .link-box li a:hover {
        background-color: #1568A8; }
      .main-link .link-box li a:before {
        position: absolute;
        top: 50%;
        left: 7px;
        margin-top: -7px;
        content: "";
        width: 14px;
        height: 14px;
        background: url(../images/ar_right.png) no-repeat;
        background-size: cover; }

/*---------------------------------------------------------------

カテゴリヘッダー 

---------------------------------------------------------------*/
#headnav {
  width: 100%; }
  #headnav.fixed {
    position: fixed;
    top: 0;
    z-index: 1;
    height: 110px; }
  #headnav a {
    font-size: 140%;
    text-decoration: none;
    text-align: center;
    line-height: 1.4; }
  #headnav .headnav-main {
    background: #2588C0; }
    #headnav .headnav-main ul {
      padding: 10px 0;
      width: 950px;
      margin: auto; }
      #headnav .headnav-main ul:after {
        content: "";
        display: block;
        clear: both; }
    #headnav .headnav-main li {
      float: left;
      margin-left: 20px;
      width: calc( ( 100% - 60px ) / 4); }
      #headnav .headnav-main li:first-child {
        margin-left: 0; }
      #headnav .headnav-main li a {
        padding: 4px 0;
        color: #FFF;
        display: block;
        border: 1px solid #FFF;
        border-radius: 30px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        #headnav .headnav-main li a:hover {
          background: #FFF;
          color: #2588C0;
          font-weight: bold; }
      #headnav .headnav-main li.active {
        padding: 4px 0;
        color: #2588C0;
        display: block;
        border: 1px solid #FFF;
        border-radius: 30px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        background: #FFF;
        font-size: 140%;
        text-align: center;
        line-height: 1.4;
        font-weight: bold; }
  #headnav .headnav-sub {
    background: #FFF;
    border-bottom: 1px solid #A9D5EE; }
    #headnav .headnav-sub ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      width: 950px;
      margin: auto;
      border-left: 1px solid #A9D5EE; }
      #headnav .headnav-sub ul:after {
        content: "";
        display: block;
        clear: both; }
    #headnav .headnav-sub li {
      border-right: 1px solid #A9D5EE;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      align-items: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      position: relative; }
      #headnav .headnav-sub li:before {
        content: '';
        background: url(../images/ar_under.png) no-repeat left center;
        position: absolute;
        width: 14px;
        height: 14px;
        left: 10px;
        top: 50%;
        -ms-transform: translateY(-50%) translateX(0);
        transform: translateY(-50%) translateX(0);
        -webkit-transform: translateY(-50%) translateX(0);
        background-size: cover; }
      #headnav .headnav-sub li a {
        padding: 11px 0;
        color: #333;
        display: block;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        height: 100%;
        background-size: 14px 14px;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        align-items: center;
        -webkit-box-align: center;
        -ms-flex-align: center; }
        #headnav .headnav-sub li a:hover {
          background-color: #f3f3f3; }

/*feature
---------------------------------------------------------------*/
.feature #headnav .headnav-sub li {
  width: calc( ( 100% - 1px ) / 5); }

/*history
---------------------------------------------------------------*/
.history #headnav.fixed {
  height: 49px; }

/*material
---------------------------------------------------------------*/
.material #headnav .headnav-sub li {
  width: calc( ( 100% - 1px ) / 6); }

/*---------------------------------------------------------------

カテゴリフッター 

---------------------------------------------------------------*/
#footnav {
  background: #2588C0; }
  #footnav a {
    text-decoration: none;
    color: #FFF; }
  #footnav .footnav-inner {
    padding: 40px 0;
    width: 950px;
    margin: auto; }
    #footnav .footnav-inner:after {
      content: "";
      display: block;
      clear: both; }
    #footnav .footnav-inner .link-box {
      float: left;
      width: calc( ( 100% - 80px ) / 3);
      margin-left: 40px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      #footnav .footnav-inner .link-box:first-child {
        margin-left: 0; }
      #footnav .footnav-inner .link-box .list-title {
        margin-bottom: 30px;
        font-size: 180%;
        padding-bottom: 6px;
        border-bottom: 1px solid #FFF; }
        #footnav .footnav-inner .link-box .list-title a:hover {
          opacity: 0.5; }
      #footnav .footnav-inner .link-box ul li {
        font-size: 140%;
        margin-top: 20px; }
        #footnav .footnav-inner .link-box ul li:first-child {
          margin-top: 0; }
        #footnav .footnav-inner .link-box ul li a {
          padding-left: 25px;
          background: url(../images/ar_right.png) no-repeat left center;
          background-size: 14px; }
          #footnav .footnav-inner .link-box ul li a:hover {
            text-decoration: underline; }

/*---------------------------------------------------------------

下層 汎用

---------------------------------------------------------------*/
#pcontents {
  padding-top: 80px; }
  #pcontents.fixed {
    margin-top: 112px; }

/* history
---------------------------------------------------------------*/
.history #pcontents.fixed {
  margin-top: 49px; }

.section {
  padding-top: 190px;
  margin-top: -190px;
  margin-bottom: 180px; }

.headline {
  margin-bottom: 45px;
  text-align: center; }
  .headline .section-headline {
    font-size: 490%; }
  .headline .subline {
    font-size: 200%;
    color: #333;
    line-height: 1.6;
    margin-top: 15px;
    position: relative;
    font-weight: bold; }

.chapter {
  margin-bottom: 60px;
  text-align: left; }
  .chapter:after {
    content: "";
    display: block;
    clear: both; }
  .chapter .img-only {
    margin-bottom: 40px; }
  .chapter .img-area {
    float: right; }
    .chapter .img-area .icon {
      position: relative;
      padding: 65px 0;
      width: 400px;
      text-align: center;
      background: #FFF;
      border-radius: 10px; }
      .chapter .img-area .icon:after {
        position: absolute;
        content: "";
        display: block;
        right: 0;
        background-repeat: no-repeat;
        background-size: cover; }
  .chapter .text-area {
    width: 500px; }
    .chapter .text-area .point-box {
      display: inline-block; }
  .chapter .title {
    border-radius: 10px;
    padding: 14px 20px 10px;
    font-size: 220%;
    font-weight: bold;
    line-height: 1.6;
    color: #FFF;
    background-color: #2588C0;
    margin-bottom: 30px; }
  .chapter .text {
    font-size: 160%;
    line-height: 2.2;
    margin-bottom: 40px; }
  .chapter .lead-text {
    font-size: 220%;
    margin-bottom: 20px; }
  .chapter .point-box {
    margin-bottom: 20px;
    padding: 20px 20px 16px;
    border: 4px solid #2588C0;
    border-radius: 10px;
    background: #FFF;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .chapter .point-box:after {
      content: "";
      display: block;
      clear: both; }
  .chapter .point-text {
    font-size: 180%;
    line-height: 1.8; }
  .chapter .point-icon {
    position: relative;
    padding-left: 160px; }
    .chapter .point-icon:after {
      content: "";
      display: block;
      position: absolute;
      bottom: -14px;
      left: 30px;
      background-repeat: no-repeat;
      background-size: cover; }
  .chapter .point-img {
    margin: 20px 0; }
  .chapter .next-link {
    padding-top: 28px;
    position: relative;
    font-size: 260%;
    text-align: center; }
    .chapter .next-link:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 50%;
      margin-left: -15px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 12px 15px 0 15px;
      border-color: #2587c0 transparent transparent transparent; }
    .chapter .next-link a {
      color: #2588C0; }
    .chapter .next-link .next-link-text {
      margin-bottom: 15px; }
    .chapter .next-link .next-link-btn a {
      position: relative;
      display: inline-block;
      margin-bottom: 20px;
      padding: 20px 80px 20px 60px;
      background-color: #00C1FF;
      border-radius: 40px;
      color: #FFF;
      text-decoration: none;
      -webkit-box-shadow: 0px 0px 8px 2px #b0d9f8;
      box-shadow: 0px 0px 8px 2px #b0d9f8; }
      .chapter .next-link .next-link-btn a:after {
        content: "";
        position: absolute;
        right: 30px;
        top: 50%;
        margin: -8px auto 0;
        vertical-align: middle;
        width: 8px;
        height: 8px;
        border-top: 3px solid #FFF;
        border-right: 3px solid #FFF;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg); }
      .chapter .next-link .next-link-btn a:hover {
        background-color: #1568A8; }
  .chapter .acc-area {
    width: 600px; }
  .chapter .acc-box {
    margin-top: 20px; }
    .chapter .acc-box:first-child {
      margin-top: 0; }
  .chapter .acc-title {
    cursor: pointer;
    border-radius: 10px;
    padding: 14px 60px 10px 20px;
    font-size: 220%;
    font-weight: bold;
    line-height: 1.6;
    color: #FFF;
    background-image: url(../images/ar_open.png);
    background-repeat: no-repeat;
    background-color: #2588C0;
    background-position: right 15px center;
    background-size: 30px 30px; }
    .chapter .acc-title:hover {
      background-color: #1568A8; }
    .chapter .acc-title.open {
      background-image: url(../images/ar_close.png); }
  .chapter .acc-cont {
    display: none;
    padding: 20px 0 10px;
    font-size: 160%;
    line-height: 2.2; }
  .chapter .note-text {
    margin-bottom: 20px;
    font-size: 100%; }
  .chapter .point-list {
    padding: 0 50px 0 80px; }
    .chapter .point-list li {
      list-style: disc;
      font-size: 180%;
      color: #333;
      margin-bottom: 10px; }
      .chapter .point-list li strong {
        font-size: 120%;
        font-weight: bold; }

/*feature
---------------------------------------------------------------*/
.feature #section01 .img-area.icon01 .icon:after {
  background-image: url(../images/icon_chara02.png);
  width: 80px;
  height: 128px; }

.feature #section01 .img-area.icon02 .icon:after {
  background-image: url(../images/icon_chara03.png);
  width: 80px;
  height: 128px; }

.feature #section02 .chapter .point-icon01:after {
  bottom: -30px;
  width: 110px;
  height: 128px;
  background-image: url(../images/icon_chara04.png); }

.feature #section03 .chapter .point-icon02:after {
  top: 50%;
  margin-top: -64px;
  width: 116px;
  height: 128px;
  background-image: url(../images/icon_chara_man02.png); }

.feature #section04 .chapter .point-icon03:after {
  bottom: -30px;
  width: 110px;
  height: 128px;
  background-image: url(../images/icon_chara04.png); }

.feature #section05 .chapter .point-icon04:after {
  bottom: -30px;
  width: 110px;
  height: 182px;
  background-image: url(../images/icon_chara_pair01.png); }

/*material
---------------------------------------------------------------*/
.material #section04 .point-img {
  padding-left: 80px;
  float: left; }

.material #section04 .point-box .title + .point-img {
  margin-top: 0; }

.material #section04 .point-mov {
  float: right;
  text-align: left;
  width: 300px; }

.material #section04 .point-mov-title {
  font-size: 160%;
  font-weight: bold;
  color: #2588C0;
  margin-bottom: 5px; }

.material #section04 .point-mov-note {
  font-size: 140%; }

.material #section04 .point-mov .img {
  padding-top: 20px;
  margin-bottom: 30px; }

.material .img-caption {
  font-size: 1.4rem;
  font-weight: bold;
  color: #2588C0;
  margin-bottom: 40px; }
