@charset "UTF-8";
/*
YUI 3.18.1 (build f7e7bcb)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
html {
  color: #000;
  width: 100%;
  background: #FFF; }

body {
  width: 100%; }

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;
  border: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset, img, figure {
  border: 0;
  margin: 0; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
  color: #303233; }

th, td {
  color: #303233; }

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;
  *font-size: 100%; }

legend {
  color: #000; }

#yui3-css-stamp.cssreset {
  display: none; }

/*
YUI 3.18.1 (build f7e7bcb)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
body {
  font: 13px/1.231 arial,helvetica,clean,sans-serif;
  *font-size: small;
  *font: x-small; }

select, input, button, textarea {
  font: 99% arial,helvetica,clean,sans-serif; }

table {
  font-size: inherit;
  font: 100%; }

pre, code, kbd, samp, tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%; }

#yui3-css-stamp.cssfonts {
  display: none; }

/*//////////////////
  共通変数
//////////////////*/
html {
  background-color: transparent;
  background-image: none; }

body {
  width: 100%;
  font-kerning: auto;
  color: #161616;
  position: static;
  font-feature-settings: 'palt';
  line-break: strict; }

html,
body {
  height: 100%; }

body *,
body *::before,
body *::after {
  transition-timing-function: cubic-bezier(0, 1, 0.74, 1);
  transition-delay: 0s; }

::-moz-selection {
  background-color: #cfd8dc; }

::selection {
  background-color: #cfd8dc; }

main fd-width.half {
  font-size: 115%;
  line-height: 1; }

:not(code):not(pre) > fd-width.full + fd-width.half {
  margin-left: 0.15em; }

:not(code):not(pre) > fd-width.half + fd-width.full {
  margin-left: 0.15em; }

:not(code):not(pre) > fd-word {
  display: inline-block;
  white-space: nowrap; }

a {
  text-decoration: none;
  transition: opacity 0.1s;
  -webkit-font-smoothing: antialiased;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  opacity: 1; }

a:hover {
  opacity: 0.4; }

p {
  color: #303233; }

.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: ' ';
  clear: both;
  height: 0; }

.clearfix {
  display: inline-table; }

* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

#container {
  -webkit-text-size-adjust: 100%; }

h1,
h2,
h3,
h4,
a,
span,
div,
td,
dd,
p {
  max-height: 999999px; }

p,
td,
dd {
  background: url(../../img/common/blank.gif); }

body,
input,
textarea,
select {
  font-family: -apple-system, BlinkMacSystemFont, Hiragino Kaku Gothic ProN, Hiragino Sans, Yu Gothic Medium, Yu Gothic, sans-serif; }

/*Android用警告ダイアログ*/
#un_support_dialog {
  padding: 20px;
  background: #f1edee;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 9000; }
  #un_support_dialog p {
    font-size: 15px;
    margin-right: 35px; }
  #un_support_dialog a {
    width: 11px;
    height: 11px;
    display: block;
    background: url(../../img/common/Android_alart_close.svg) no-repeat;
    position: absolute;
    top: 50%;
    margin-top: -5px;
    right: 27px;
    cursor: pointer;
    z-index: 10; }

main {
  display: block; }

.buttonA,
.buttonB,
.buttonC {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  letter-spacing: 0.1em;
  font-size: 16px;
  font-family: -apple-system, BlinkMacSystemFont, Hiragino Kaku Gothic ProN, Hiragino Sans, Yu Gothic Medium, Yu Gothic, sans-serif;
  font-weight: 600;
  transition: background 500ms cubic-bezier(0.165, 0.84, 0.44, 1); }

.buttonA.hover,
.buttonB.hover,
.buttonC.hover {
  transition: background 300ms cubic-bezier(0.165, 0.84, 0.44, 1); }

.buttonA {
  color: #222;
  background: #e4e9eb; }

.buttonA.hover {
  background: #cfd8dc; }

.buttonB {
  color: #fff;
  background: rgba(255, 255, 255, 0.2); }

.buttonB.hover {
  background: rgba(255, 255, 255, 0.3); }

.buttonC {
  color: #222;
  background: #cfd8dc; }

.buttonC.hover {
  background: #a7aeb1; }

.fade-in {
  opacity: 0 !important;
  transform: translate3d(0, 16px, 0) !important;
  transition: transform 600ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 600ms cubic-bezier(0.165, 0.84, 0.44, 1) !important; }

.fade-in.fade-in_0 {
  transform: translate3d(0, 0, 0) !important; }

.fade-in.fade-in_32 {
  transform: translate3d(0, 32px, 0) !important; }

.fade-in.fade-in_show {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important; }

/*//////////////////
  共通変数
//////////////////*/
.non_responsive #container {
  min-width: 1280px; }

.headline {
  padding-top: 88px; }
  .headline h1 {
    font-family: -apple-system, BlinkMacSystemFont, Hiragino Kaku Gothic ProN, Hiragino Sans, Yu Gothic Medium, Yu Gothic, sans-serif;
    font-weight: 600;
    font-size: 24px;
    text-align: center;
    margin-bottom: 24px;
    letter-spacing: 0.06em;
    color: #222; }
    .headline h1 br {
      display: none; }
  .headline > h1 + p {
    font-family: -apple-system, BlinkMacSystemFont, Hiragino Kaku Gothic ProN, Hiragino Sans, Yu Gothic Medium, Yu Gothic, sans-serif;
    font-weight: 300;
    font-size: 16px;
    text-align: center;
    margin-bottom: 92px;
    line-height: 2.1;
    letter-spacing: 0.14em;
    color: #222; }
    .headline > h1 + p .br-sp {
      display: none; }

.commonList_N li {
  max-width: 1200px;
  margin: 0 auto;
  border-top: 0.5px solid #a7aeb1;
  opacity: 1;
  transition: opacity 400ms cubic-bezier(0.165, 0.84, 0.44, 1); }
  .commonList_N li a {
    padding: 36px 0;
    display: block;
    opacity: 1;
    transition: opacity 400ms cubic-bezier(0.165, 0.84, 0.44, 1); }
    .commonList_N li a .detail {
      font-family: -apple-system, BlinkMacSystemFont, Hiragino Kaku Gothic ProN, Hiragino Sans, Yu Gothic Medium, Yu Gothic, sans-serif;
      font-weight: 400;
      letter-spacing: 0.1em;
      font-size: 14px;
      line-height: 1em;
      max-width: 980px;
      margin: 0 auto 16px; }
      .commonList_N li a .detail .date {
        color: #a7aeb1;
        padding-right: 12px;
        margin-right: 12px;
        position: relative; }
        .commonList_N li a .detail .date:after {
          content: '';
          width: 1px;
          height: 14px;
          background: #cfd8dc;
          display: block;
          position: absolute;
          right: 0;
          top: 50%;
          margin-top: -7px; }
      .commonList_N li a .detail .platform {
        color: #222; }
    .commonList_N li a .title {
      display: block;
      max-width: 980px;
      margin: 0 auto;
      color: #222;
      font-size: 16px;
      line-height: 1.6em;
      font-family: -apple-system, BlinkMacSystemFont, Hiragino Kaku Gothic ProN, Hiragino Sans, Yu Gothic Medium, Yu Gothic, sans-serif;
      font-weight: 600;
      letter-spacing: 0.05em; }
.commonList_N li:first-of-type {
  border-top: none; }
.commonList_N.hover li {
  opacity: 0.4;
  transition: opacity 300ms cubic-bezier(0.165, 0.84, 0.44, 1); }
.commonList_N.hover li.hover {
  opacity: 1; }
.commonList_N.hover li {
  opacity: 0.4;
  transition: opacity 300ms cubic-bezier(0.165, 0.84, 0.44, 1); }
.commonList_N.hover li.hover {
  opacity: 1; }
.commonList_N.hover li.hover + li {
  opacity: 1; }
  .commonList_N.hover li.hover + li a {
    opacity: 0.4; }

.commonBtn_P {
  font-family: -apple-system, BlinkMacSystemFont, Hiragino Kaku Gothic ProN, Hiragino Sans, Yu Gothic Medium, Yu Gothic, sans-serif;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #222;
  border: 1px solid #a7aeb1;
  border-radius: 4px;
  box-sizing: border-box;
  letter-spacing: 0.31em;
  background: rgba(0, 0, 0, 0) !important;
  transition: border 500ms cubic-bezier(0.165, 0.84, 0.44, 1), background-color 500ms cubic-bezier(0.165, 0.84, 0.44, 1); }
  .commonBtn_P:hover {
    border: 1px solid rgba(125, 129, 130, 0);
    background-color: #a7aeb1 !important;
    color: #222;
    transition-duration: 300ms;
    opacity: 1; }

/*//////////////////
  共通変数
//////////////////*/
header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 100;
  transform: translate3d(0, 0, 0); }
  header nav {
    opacity: 1;
    width: 100%;
    background: rgba(255, 255, 255, 0.95);
    border-bottom: 1px solid #cfd8dc;
    transition: opacity 1s cubic-bezier(0.02, 0.01, 0.47, 1);
    position: relative; }
    header nav .header_sp {
      display: none; }
    header nav .header_list {
      width: 100%;
      max-width: 928px;
      box-sizing: border-box;
      height: 56px;
      display: flex;
      justify-content: center;
      transition: margin 500ms;
      position: relative;
      padding: 0 44px;
      margin: 0 auto; }
      header nav .header_list li {
        width: 100%;
        transition: width 400ms cubic-bezier(0.165, 0.84, 0.44, 1), min-width 400ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 500ms cubic-bezier(0.02, 0.01, 0.47, 1); }
        header nav .header_list li a {
          text-decoration: none;
          display: inline-block;
          letter-spacing: 0.1em;
          line-height: 56px;
          white-space: nowrap;
          text-align: center;
          height: 56px;
          width: 100%;
          color: #222;
          font-size: 14px;
          font-weight: 300;
          position: relative;
          transition: color 300ms cubic-bezier(0.165, 0.84, 0.44, 1); }
          header nav .header_list li a:after {
            width: 100%;
            margin: auto 0;
            height: 2px;
            position: absolute;
            bottom: -1px;
            display: block;
            opacity: 0;
            z-index: 1;
            content: '';
            background: #222;
            transition: all 300ms cubic-bezier(0.165, 0.84, 0.44, 1); }
        header nav .header_list li a:hover {
          opacity: 1; }
        header nav .header_list li .business span {
          padding-right: 20px;
          position: relative; }
          header nav .header_list li .business span:after {
            content: '';
            width: 10px;
            height: 100%;
            display: block;
            position: absolute;
            right: 0;
            top: 0;
            background: url(../../img/common/header/menu_down.svg) no-repeat right center/10px auto; }
        header nav .header_list li .business.show span:after {
          transform: rotateX(180deg); }
      header nav .header_list li:nth-child(1) {
        max-width: 140px;
        min-width: 97px; }
      header nav .header_list li:nth-child(2) {
        max-width: 120px;
        min-width: 97px; }
      header nav .header_list li:nth-child(3) {
        max-width: 120px;
        min-width: 97px; }
      header nav .header_list li:nth-child(5) {
        max-width: 120px;
        min-width: 91px; }
      header nav .header_list li:nth-child(6) {
        max-width: 140px;
        min-width: 140px; }
      header nav .header_list li:nth-child(7) {
        max-width: 120px;
        min-width: 60px; }
      header nav .header_list li.header_business ul {
        display: none; }
      header nav .header_list li.header_fenrir {
        flex-grow: 0;
        min-width: 80px;
        max-width: 80px; }
        header nav .header_list li.header_fenrir a {
          position: fixed;
          top: 0;
          left: 50%;
          opacity: 1;
          margin-left: -40px;
          max-width: 80px;
          min-width: 80px;
          height: 56px;
          display: block;
          text-indent: -9999px;
          overflow: hidden;
          background: url(../../img/common/header/fenrir_logo.svg) no-repeat center center/auto 32px;
          transition: opacity 500ms; }
          header nav .header_list li.header_fenrir a:after {
            display: none; }
      header nav .header_list li.hover a,
      header nav .header_list li.select a {
        color: #222; }
        header nav .header_list li.hover a:after,
        header nav .header_list li.select a:after {
          opacity: 1;
          transition: all 200ms cubic-bezier(0.02, 0.01, 0.47, 1); }
    header nav .header_list.hover li a {
      color: #222 !important;
      transition: color 200ms cubic-bezier(0.165, 0.84, 0.44, 1); }
  header .header_sub {
    background: #222222;
    height: auto;
    width: 100%;
    padding: 40px 0;
    height: 344px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 56px;
    transition: all 300ms cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    visibility: hidden;
    z-index: 1; }
    header .header_sub.show {
      visibility: visible;
      opacity: 1; }
    header .header_sub .header_sub_content {
      max-width: 860px;
      box-sizing: border-box;
      width: 100%;
      display: flex;
      justify-content: flex-start; }
      header .header_sub .header_sub_content .header_sub_dirtop {
        margin-right: 40px;
        width: calc((100% - 40px) / 3); }
        header .header_sub .header_sub_content .header_sub_dirtop h2 {
          margin-bottom: 14px; }
          header .header_sub .header_sub_content .header_sub_dirtop h2 a {
            color: white;
            font-size: 16px;
            font-weight: 600;
            box-sizing: border-box;
            height: 44px;
            display: flex;
            align-items: center;
            background: url(../../img/common/header/menu_right_w.svg) no-repeat left center/8px auto;
            padding-left: 24px; }
          header .header_sub .header_sub_content .header_sub_dirtop h2 a:hover {
            background: url(../../img/common/header/menu_right_g.svg) no-repeat left center/8px auto;
            color: #a0a0a0;
            opacity: 1; }
        header .header_sub .header_sub_content .header_sub_dirtop p {
          color: white;
          font-size: 14px;
          font-weight: 300;
          line-height: 24px;
          padding-left: 24px;
          box-sizing: border-box; }
      header .header_sub .header_sub_content ul {
        width: calc((100% - 40px) / 3 * 2);
        display: flex;
        flex-wrap: wrap; }
        header .header_sub .header_sub_content ul li {
          min-height: 44px;
          width: 50%; }
          header .header_sub .header_sub_content ul li a {
            font-size: 14px;
            font-weight: 600;
            box-sizing: border-box;
            height: 44px;
            display: flex;
            align-items: center;
            background: url(../../img/common/header/menu_right_w.svg) no-repeat left center/8px auto;
            padding-left: 24px;
            padding-right: 24px;
            line-height: 22px;
            color: #fff; }
          header .header_sub .header_sub_content ul li a:hover {
            background: url(../../img/common/header/menu_right_g.svg) no-repeat left center/8px auto;
            color: #a0a0a0;
            opacity: 1; }
    header .header_sub .header_sub_closebtn {
      width: 44px;
      min-width: 44px;
      height: 44px;
      background: url(../../img/common/header/menu_close_w.svg) no-repeat center center/44px 44px;
      cursor: pointer; }

.non_responsive header {
  min-width: 1280px; }
  .non_responsive header nav .header_list li.header_fenrir a {
    position: relative; }

header.headerAreaHover .header_list li a {
  color: #222 !important;
  transition: color 200ms cubic-bezier(0.165, 0.84, 0.44, 1); }

#header_bg {
  display: none; }

.navi {
  width: 100%;
  display: flex;
  justify-content: center;
  position: absolute;
  top: 0; }
  .navi ul {
    width: 100%;
    max-width: 975px;
    padding: 102px 44px 0; }

.non_responsive .navi {
  min-width: 1280px; }

.navi li {
  display: inline-block;
  font-size: 12px;
  color: #a0a2a2; }

#corporate .navi li,
#corporate .navi li a {
  color: #a0a2a2; }

.navi li:after {
  content: '>';
  margin: 0 0px 0 5px;
  text-decoration: none; }

.navi li:last-child:after {
  content: ''; }

.navi li a,
.navi li a:hover {
  text-decoration: underline;
  color: #a0a2a2;
  display: inline-block; }

@media screen and (max-width: 942px) {
  header nav .header_list li:nth-child(1) {
    min-width: calc((50% - 40px) / 3); }
  header nav .header_list li:nth-child(2) {
    min-width: calc((50% - 40px) / 3); }
  header nav .header_list li:nth-child(3) {
    min-width: calc((50% - 40px) / 3); } }
/*//////////////////
  共通変数
//////////////////*/
footer {
  width: 100%;
  background: #222;
  padding: 72px 48px 20px;
  box-sizing: border-box; }
  footer a:hover {
    opacity: 0.7; }
  footer .toppage_link {
    margin-bottom: 68px; }
    footer .toppage_link a {
      margin: 0 auto;
      width: 36px;
      height: 50.19px;
      display: block;
      text-indent: -9999px;
      overflow: hidden;
      background: url(../../img/common/footer/fenrir_footer_logo.svg) no-repeat left top/36px auto; }
  footer .contents_link {
    max-width: 1104px;
    height: 364px;
    box-sizing: border-box;
    padding: 0;
    margin: 0 auto 72px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: column; }
    footer .contents_link .links_group {
      min-width: 136px;
      margin-left: 8px;
      box-sizing: border-box; }
      footer .contents_link .links_group:nth-child(1) {
        margin-left: 0; }
      footer .contents_link .links_group h2 {
        height: 14px;
        margin-bottom: 20px; }
        footer .contents_link .links_group h2 a {
          color: #fff;
          text-decoration: none;
          font-size: 14px;
          line-height: 14px;
          font-family: -apple-system, BlinkMacSystemFont, Hiragino Kaku Gothic ProN, Hiragino Sans, Yu Gothic Medium, Yu Gothic, sans-serif;
          font-weight: 400;
          letter-spacing: 0.1em;
          display: inline-block;
          backface-visibility: hidden;
          position: relative; }
          footer .contents_link .links_group h2 a[target="_blank"]:before {
            content: "";
            position: absolute;
            width: 12px;
            height: 12px;
            right: -16px;
            background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><title></title><path fill="%23FFFFFF" d="M1.5,18.5V4.5h3v-3h14v14h-3v3Zm4-4h12V2.5H5.5Z"/><path fill="%23FFFFFF" d="M5,2V15H15v3H2V5H5V2M19,1H4V4H1V19H16V16h3V1ZM6,14V3H17V14Z"/></svg>') no-repeat right 0; }
        footer .contents_link .links_group h2 button {
          display: none; }
      footer .contents_link .links_group ul li {
        font-size: 0;
        height: 13px;
        margin-top: 10px; }
        footer .contents_link .links_group ul li:nth-child(1) {
          margin-top: 0; }
        footer .contents_link .links_group ul li a {
          color: #a7aeb1;
          text-decoration: none;
          font-size: 13px;
          line-height: 13px;
          font-family: -apple-system, BlinkMacSystemFont, Hiragino Kaku Gothic ProN, Hiragino Sans, Yu Gothic Medium, Yu Gothic, sans-serif;
          font-weight: 400;
          letter-spacing: 0.1em;
          display: inline-block;
          backface-visibility: hidden;
          position: relative; }
          footer .contents_link .links_group ul li a[target="_blank"]:before {
            content: "";
            position: absolute;
            width: 12px;
            height: 12px;
            right: -16px;
            background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><title></title><path fill="%23A7AEB1" d="M1.5,18.5V4.5h3v-3h14v14h-3v3Zm4-4h12V2.5H5.5Z"/><path fill="%23A7AEB1" d="M5,2V15H15v3H2V5H5V2M19,1H4V4H1V19H16V16h3V1ZM6,14V3H17V14Z"/></svg>') no-repeat right 0; }
    footer .contents_link .links_group:nth-child(2),
    footer .contents_link .links_group:nth-child(4),
    footer .contents_link .links_group:nth-child(6) {
      padding-bottom: 40px; }
    footer .contents_link .links_group:nth-child(3),
    footer .contents_link .links_group:nth-child(5),
    footer .contents_link .links_group:nth-child(7) {
      flex-grow: 1; }
    footer .contents_link .links_group:nth-child(6) {
      border-bottom: 1px solid #75797b;
      margin-bottom: 40px; }
  footer .footer_bottom {
    box-sizing: border-box;
    margin: 0 auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    footer .footer_bottom .commonBtn_P {
      width: 280px;
      height: 42px;
      color: #fff;
      margin-bottom: 40px;
      font-size: 15px;
      line-height: 1;
      font-family: -apple-system, BlinkMacSystemFont, Hiragino Kaku Gothic ProN, Hiragino Sans, Yu Gothic Medium, Yu Gothic, sans-serif;
      font-weight: 600;
      letter-spacing: 0.27em; }
    footer .footer_bottom .commonBtn_P:hover {
      color: #222; }
    footer .footer_bottom small {
      display: block;
      color: #a7aeb1;
      text-align: center;
      font-size: 12px;
      line-height: 1;
      font-family: -apple-system, BlinkMacSystemFont, Hiragino Kaku Gothic ProN, Hiragino Sans, Yu Gothic Medium, Yu Gothic, sans-serif;
      font-weight: 300;
      letter-spacing: 0.05em; }

@media screen and (max-width: 900px) {
  footer .contents_link {
    height: 336px; }
    footer .contents_link .links_group h2 {
      height: 12px; }
      footer .contents_link .links_group h2 a {
        font-size: 12px;
        line-height: 12px; }
    footer .contents_link .links_group ul li {
      height: 11px; }
      footer .contents_link .links_group ul li a {
        font-size: 11px;
        line-height: 11px; } }
