@charset "UTF-8";
main {
  /* HTML5 display-role reset for older browsers */ }
  main html, main body, main div, main span, main applet, main object, main iframe, main h1, main h2, main h3, main h4, main h5, main h6, main p, main blockquote, main pre, main a, main abbr, main acronym, main address, main big, main cite, main code, main del, main dfn, main em, main img, main ins, main kbd, main q, main s, main samp, main small, main strike, main strong, main sub, main sup, main tt, main var, main b, main u, main i, main center, main dl, main dt, main dd, main ol, main ul, main li, main fieldset, main form, main label, main legend, main table, main caption, main tbody, main tfoot, main thead, main tr, main th, main td, main article, main aside, main canvas, main details, main embed, main figure, main figcaption, main footer, main header, main hgroup, main menu, main nav, main output, main ruby, main section, main summary, main time, main mark, main audio, main video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline; }
  main article, main aside, main details, main figcaption, main figure, main footer, main header, main hgroup, main menu, main nav, main section {
    display: block; }
  main body {
    line-height: 1; }
  main ol, main ul {
    list-style: none; }
  main blockquote, main q {
    quotes: none; }
  main blockquote:before, main blockquote:after, main q:before, main q:after {
    content: '';
    content: none; }
  main table {
    border-collapse: collapse;
    border-spacing: 0; }

body.is-fixed {
  position: fixed;
  width: 100%; }

body header {
  min-width: 1080px !important; }
  @media only screen and (max-width: 768px) {
    body header {
      min-width: 100% !important; } }

body #gnav {
  min-width: 1080px !important; }
  @media only screen and (max-width: 768px) {
    body #gnav {
      min-width: 100% !important; } }

body #footer {
  min-width: 1080px !important; }
  @media only screen and (max-width: 768px) {
    body #footer {
      min-width: 100% !important; } }

body .nav-filter {
  min-width: 1080px !important; }
  @media only screen and (max-width: 768px) {
    body .nav-filter {
      min-width: 100% !important; } }

main a {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s; }
  @media only screen and (max-width: 768px) {
    main a {
      transition: none; } }
  main a:hover {
    opacity: 0.7; }
    @media only screen and (max-width: 768px) {
      main a:hover {
        opacity: 1.0; } }

#l-sensory-inspection, #l-2019fooma {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  font-family: '源ノ角ゴシック Regular','源ノ角ゴシック','Noto Sans JP','Roboto', Helvetica,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", sans-serif;
  color: #333333;
  min-width: 1080px; }
  @media only screen and (max-width: 768px) {
    #l-sensory-inspection, #l-2019fooma {
      min-width: 100%; } }

#l-sensory-inspection {
  padding-bottom: 88px; }
  @media only screen and (max-width: 768px) {
    #l-sensory-inspection {
      padding-bottom: 16px; } }

.a-hover-opacity {
  cursor: pointer;
  transition: opacity 0.3s; }
  @media only screen and (max-width: 768px) {
    .a-hover-opacity {
      transition: none; } }
  .a-hover-opacity:hover {
    opacity: 0.7; }
    @media only screen and (max-width: 768px) {
      .a-hover-opacity:hover {
        opacity: 1.0; } }

.c-breadcrumbs {
  color: #999999;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden; }
  .c-breadcrumbs span {
    position: relative;
    font-size: 11px;
    line-height: 40px;
    letter-spacing: 0.04em;
    margin-right: 9px; }
    @media only screen and (max-width: 768px) {
      .c-breadcrumbs span {
        margin-right: 12px; } }
    .c-breadcrumbs span::after {
      content: ">";
      padding-left: 11px; }
      @media only screen and (max-width: 768px) {
        .c-breadcrumbs span::after {
          padding-left: 12px; } }
    .c-breadcrumbs span:last-child {
      margin-right: 0; }
      .c-breadcrumbs span:last-child::after {
        content: "";
        padding: 0; }

.c-video-fv {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  position: relative;
  width: 100%;
  color: white;
  background: #005eb8;
  overflow: hidden; }
  .c-video-fv:before {
    content: "";
    display: block;
    padding-top: 41.46025%;
    padding-top: calc( 530/1280 * 100%); }
    @media only screen and (max-width: 768px) {
      .c-video-fv:before {
        padding-top: 66.6666%;
        padding-top: calc( 500/750 * 100%); } }
  .c-video-fv.is-preload {
    transition: none !important; }
  .c-video-fv img {
    vertical-align: middle; }
  .c-video-fv__wrap, .c-video-fv__link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .c-video-fv__wrap.is-black-bg {
    background: #000; }
  .c-video-fv__single, .c-video-fv__mv-wrap {
    width: 100%;
    height: 100%;
    position: absolute; }
  .c-video-fv__single {
    opacity: 0;
    transition: opacity 0.5s; }
    .c-video-fv__single.is-active {
      opacity: 1; }
      .c-video-fv__single.is-active .c-video-fv__link {
        pointer-events: auto; }
    .c-video-fv__single.is-no-transition {
      transition: opacity 0s !important; }
    .c-video-fv__single.is-playing {
      z-index: 1; }
  .c-video-fv__single--visible {
    opacity: 1; }
  .c-video-fv__link {
    pointer-events: none;
    cursor: pointer;
    z-index: 3; }
  .c-video-fv__mv-bg {
    z-index: 1;
    transition: background 0.5s;
    position: absolute;
    width: 100%;
    height: 100%; }
  .c-video-fv__mv-wrap {
    z-index: 0;
    display: block;
    transition: opacity 0.2s; }
    .c-video-fv__mv-wrap.is-hide {
      opacity: 0; }
    .c-video-fv__mv-wrap video {
      width: 100%;
      height: 100%;
      opacity: 0;
      transition: opacity 1s; }
      .c-video-fv__mv-wrap video.is-active {
        opacity: 1; }
      .c-video-fv__mv-wrap video.is-no-transition {
        transition: opacity 0s !important; }
  .c-video-fv__mv-wrap--visible video {
    opacity: 1; }

.c-video-fv--sensory-analysis {
  color: #333333; }

.c-video-caption {
  z-index: 2;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%); }
  .c-video-caption.is-active .c-video-caption__info-list, .c-video-caption.is-active .c-video-caption__logo-sub-txt, .c-video-caption.is-active .c-video-caption__logo, .c-video-caption.is-active .c-video-caption__preface, .c-video-caption.is-active .c-video-caption__title, .c-video-caption.is-active .c-video-caption__txt, .c-video-caption.is-active .c-video-caption__subtxt {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  .c-video-caption.is-active .c-video-caption__vm-btn {
    opacity: 1; }
  .c-video-caption__info-list, .c-video-caption__logo-sub-txt, .c-video-caption__logo, .c-video-caption__preface, .c-video-caption__title, .c-video-caption__txt, .c-video-caption__subtxt {
    opacity: 0;
    transition: opacity 1s, -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), opacity 1s;
    transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1), opacity 1s, -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: 0.5s;
    -webkit-transform: translate(-16px, 0);
            transform: translate(-16px, 0); }
  .c-video-caption__logo {
    width: auto;
    height: 40px;
    margin-bottom: 8px; }
    @media only screen and (max-width: 768px) {
      .c-video-caption__logo {
        height: 24px; } }
    .c-video-caption__logo img {
      height: 100%;
      width: auto; }
  .c-video-caption__logo-sub-txt {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-bottom: 40px; }
    @media only screen and (max-width: 768px) {
      .c-video-caption__logo-sub-txt {
        margin-bottom: 24px; } }
  .c-video-caption__preface {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-bottom: 24px; }
    @media only screen and (max-width: 768px) {
      .c-video-caption__preface {
        font-size: 12px;
        line-height: 1;
        letter-spacing: 0.04em; } }
  @media only screen and (max-width: 768px) and (max-width: 359px) {
    .c-video-caption__preface {
      margin-bottom: 16px; } }
  .c-video-caption__vm-btn {
    opacity: 0;
    transition: opacity 1.0s;
    transition-delay: 1.2s; }
  .c-video-caption__title {
    font-family: 'Roboto',Helvetica, "メイリオ", Meiryo,sans-serif;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 0.12em;
    margin-bottom: 32px; }
    @media only screen and (max-width: 768px) {
      .c-video-caption__title {
        font-size: 13px;
        line-height: 13px;
        letter-spacing: 0.12em;
        margin-bottom: 20px; } }
    .c-video-caption__title span {
      font-weight: bold;
      text-shadow: 0 0 9px rgba(0, 0, 0, 0.3); }
    .c-video-caption__title img {
      width: auto;
      height: 24px;
      -webkit-filter: drop-shadow(0 0 9px rgba(0, 0, 0, 0.3));
              filter: drop-shadow(0 0 9px rgba(0, 0, 0, 0.3)); }
      @media only screen and (max-width: 768px) {
        .c-video-caption__title img {
          height: 16px; } }
    .c-video-caption__title--fooma img {
      width: auto;
      height: 40px;
      -webkit-filter: drop-shadow(0 0 9px rgba(0, 0, 0, 0.3));
              filter: drop-shadow(0 0 9px rgba(0, 0, 0, 0.3)); }
      @media only screen and (max-width: 768px) {
        .c-video-caption__title--fooma img {
          height: 28px; } }
  .c-video-caption__txt {
    margin-top: -5px;
    margin-left: -2px;
    margin-bottom: 27px;
    font-size: 24px;
    line-height: 34px;
    letter-spacing: 0.12em;
    text-shadow: 0 0 9px rgba(0, 0, 0, 0.3); }
    @media only screen and (max-width: 768px) {
      .c-video-caption__txt {
        margin-top: -3px;
        margin-bottom: 17px;
        font-size: 18px;
        line-height: 24px;
        letter-spacing: 0.1em; } }
  @media only screen and (max-width: 768px) and (max-width: 359px) {
    .c-video-caption__txt {
      font-size: 16px;
      line-height: 22px;
      letter-spacing: 0.1em; } }
  .c-video-caption__subtxt {
    font-size: 14px;
    line-height: calc(22/14);
    letter-spacing: 0.04em;
    margin-top: calc( -1 * (16px - 4px));
    margin-left: -2px;
    margin-bottom: 36px;
    text-shadow: 0 0 9px rgba(0, 0, 0, 0.3); }
    @media only screen and (max-width: 768px) {
      .c-video-caption__subtxt {
        font-size: 13px;
        line-height: calc(38/26);
        letter-spacing: 0.04em;
        margin-top: calc( -1 * (10px - 3px));
        margin-bottom: 17px; } }
  .c-video-caption__info {
    font-size: 18px;
    line-height: calc(52/36);
    letter-spacing: 0.04em;
    margin-top: -4px;
    display: -webkit-flex;
    display: flex; }
    @media only screen and (max-width: 768px) {
      .c-video-caption__info {
        font-size: 13px;
        line-height: calc(38/26);
        letter-spacing: 0.04em;
        margin-top: -3px; } }
    .c-video-caption__info:not(:last-child) {
      margin-bottom: 12px; }
      @media only screen and (max-width: 768px) {
        .c-video-caption__info:not(:last-child) {
          margin-bottom: 5px; } }
  .c-video-caption__info-ttl {
    white-space: nowrap; }
  .c-video-caption__info-content {
    padding-left: 5px; }
  .c-video-caption__vm-btn {
    font-size: 0; }
    .c-video-caption__vm-btn img {
      width: auto;
      height: 12px;
      -webkit-filter: drop-shadow(0 0 9px rgba(0, 0, 0, 0.3));
              filter: drop-shadow(0 0 9px rgba(0, 0, 0, 0.3)); }
      @media only screen and (max-width: 768px) {
        .c-video-caption__vm-btn img {
          height: 10px; } }

.c-video-caption--black .c-video-caption__title, .c-video-caption--black .c-video-caption__txt, .c-video-caption--black .c-video-caption__subtxt, .c-video-caption--black .c-video-caption__vm-btn {
  text-shadow: none;
  -webkit-filter: none;
          filter: none;
  color: #333333; }

.c-video-caption--black .c-video-caption__vm-btn img {
  -webkit-filter: none;
          filter: none; }

.c-video-caption--sensory-inspection .c-video-caption__title, .c-video-caption--sensory-inspection .c-video-caption__txt, .c-video-caption--sensory-inspection .c-video-caption__subtxt, .c-video-caption--sensory-inspection .c-video-caption__vm-btn {
  text-shadow: none;
  -webkit-filter: none;
          filter: none;
  color: #333333; }

.c-video-caption--sensory-inspection .c-video-caption__vm-btn {
  height: 16px; }
  @media only screen and (max-width: 768px) {
    .c-video-caption--sensory-inspection .c-video-caption__vm-btn {
      height: 13px; } }
  .c-video-caption--sensory-inspection .c-video-caption__vm-btn img {
    height: 100%;
    -webkit-filter: none;
            filter: none; }

.c-arw {
  display: block; }
  .c-arw:after {
    content: '';
    display: inline-block;
    width: 10.5px;
    height: 10.5px;
    border-bottom: #005eb8 1px solid;
    border-right: #005eb8 1px solid;
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  .c-arw--left:after {
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
    -webkit-transform-origin: center;
            transform-origin: center; }
  .c-arw--8:after {
    width: 8px;
    height: 8px; }

.c-border-btn {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: 1px solid #005eb8;
  color: #005eb8;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.06em;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .c-border-btn {
      font-size: 13px;
      line-height: 1;
      letter-spacing: 0.04em; } }
  .c-border-btn a {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
            justify-content: center;
    -webkit-align-items: center;
            align-items: center;
    transition: background-color 0.3s; }
    @media only screen and (max-width: 768px) {
      .c-border-btn a {
        transition: none; } }
    .c-border-btn a:hover {
      background-color: #f5f5f5;
      opacity: 1; }
      @media only screen and (max-width: 768px) {
        .c-border-btn a:hover {
          background-color: #ffffff;
          opacity: 1; } }
    .c-border-btn a img {
      width: auto;
      height: 10px;
      margin-left: 8px; }
  .c-border-btn--bg-clr a:hover {
    background-color: #ffffff; }
    @media only screen and (max-width: 768px) {
      .c-border-btn--bg-clr a:hover {
        background-color: inherit; } }

.c-txt-btn {
  display: inline-block;
  height: 50px; }
  @media only screen and (max-width: 768px) {
    .c-txt-btn {
      width: 100%; } }
  .c-txt-btn a {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
            align-items: center;
    height: 100%; }
    @media only screen and (max-width: 768px) {
      .c-txt-btn a {
        -webkit-justify-content: center;
                justify-content: center; } }
  .c-txt-btn__arw {
    height: 14px;
    margin-top: -8px; }
  .c-txt-btn__txt {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #005eb8;
    margin-left: 4px; }

.c-visible-slider {
  position: relative;
  overflow: hidden;
  width: 100%; }
  .c-visible-slider__img-list {
    white-space: nowrap;
    font-size: 0;
    cursor: pointer;
    transition: margin 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    z-index: 1; }
    .c-visible-slider__img-list.is-no-transition {
      transition: none; }
  .c-visible-slider__img {
    width: 600px;
    margin: 0 20px;
    display: inline-block;
    white-space: normal;
    position: relative;
    font-size: 0; }
    @media only screen and (max-width: 768px) {
      .c-visible-slider__img {
        width: 100vw;
        margin: 0; } }
    .c-visible-slider__img:first-child {
      margin: 0 20px 0 calc( ( 100vw - 600px ) / 2); }
      @media only screen and (max-width: 1080px) {
        .c-visible-slider__img:first-child {
          margin: 0 20px 0 calc( ( 1080px - 600px ) / 2); } }
  @media only screen and (max-width: 1080px) and (max-width: 768px) {
    .c-visible-slider__img:first-child {
      margin: 0; } }
    .c-visible-slider__img:before {
      content: "";
      display: block;
      padding-top: calc( 360 / 600 * 100%); }
    .c-visible-slider__img img {
      width: 100%;
      height: auto;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      transition: opacity 0.3s; }
      .c-visible-slider__img img.is-hide {
        opacity: 0; }
  .c-visible-slider__handle {
    position: absolute;
    bottom: 50%;
    -webkit-transform: translate(0, 50%);
            transform: translate(0, 50%);
    cursor: pointer;
    transition: opacity 0.3s;
    width: 40px;
    z-index: 2; }
    .c-visible-slider__handle:hover {
      opacity: 0.7; }
    .c-visible-slider__handle--left {
      left: 0; }
    .c-visible-slider__handle--right {
      right: 0; }
    .c-visible-slider__handle img {
      width: 100%;
      height: auto; }
  .c-visible-slider__dot-wrap {
    position: absolute;
    bottom: 16px;
    right: 50%;
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
            align-items: center;
    z-index: 2; }
  .c-visible-slider__dot {
    width: 4px;
    height: 4px;
    background-color: #ccc;
    opacity: 0.5;
    border-radius: 50%;
    margin: 0 4px;
    pointer-events: none; }
    .c-visible-slider__dot.is-active {
      width: 6px;
      height: 6px;
      background-color: #fff;
      opacity: 1;
      margin: 0 3px; }

.p-fooma-fv {
  width: 100%;
  height: 53.0rem;
  background: #e6e6e6; }

.p-fooma-intro {
  padding: 96px 0; }
  @media only screen and (max-width: 768px) {
    .p-fooma-intro {
      padding: 64px 0 80px; } }
  .p-fooma-intro__heading {
    margin-bottom: 96px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-intro__heading {
        margin-bottom: 64px; } }
  .p-fooma-intro__heading-icon {
    width: 100%;
    text-align: center;
    margin-bottom: 24px; }
    .p-fooma-intro__heading-icon img {
      height: 20px;
      width: auto; }
      @media only screen and (max-width: 768px) {
        .p-fooma-intro__heading-icon img {
          height: 16px; } }
  .p-fooma-intro__heading-ttl {
    font-size: 32px;
    line-height: 1;
    letter-spacing: 0.06em;
    margin-bottom: 24px;
    text-align: center;
    width: 100%; }
    @media only screen and (max-width: 768px) {
      .p-fooma-intro__heading-ttl {
        font-size: 20px;
        line-height: 1.6;
        letter-spacing: 0.06em;
        margin-top: -6px;
        margin-bottom: 14px; } }
  .p-fooma-intro__heading-subttl {
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-bottom: 40px;
    text-align: center;
    width: 100%; }
    @media only screen and (max-width: 768px) {
      .p-fooma-intro__heading-subttl {
        font-size: 16px;
        line-height: 1.375;
        letter-spacing: 0.04em;
        margin-top: -3px;
        margin-bottom: 37px; } }
  .p-fooma-intro__heading-desc, .p-fooma-intro__scrl-btn {
    font-size: 14px;
    line-height: 1.57;
    letter-spacing: 0.04em;
    margin-top: -4.0px;
    text-align: center;
    width: 100%; }
    @media only screen and (max-width: 768px) {
      .p-fooma-intro__heading-desc, .p-fooma-intro__scrl-btn {
        font-size: 13px;
        line-height: calc(42/26);
        letter-spacing: 0.04em;
        margin-top: -3px; } }
  .p-fooma-intro__heading-desc {
    margin-bottom: 40px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-intro__heading-desc {
        margin-bottom: 36.5px; }
        .p-fooma-intro__heading-desc br {
          display: none; } }
  .p-fooma-intro__scrl-btn {
    margin-bottom: 0px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-intro__scrl-btn {
        margin-bottom: 0px; } }
  .p-fooma-intro__scrl-btn-txt {
    color: #005eb8;
    margin-bottom: 13px;
    display: block; }
  .p-fooma-intro__scrl-btn-arw {
    text-align: center; }

.p-fooma-solution {
  width: 100%; }
  .p-fooma-solution:not(:last-child) {
    margin-bottom: 40px; }
  .p-fooma-solution:nth-of-type(2n-1) .p-fooma-solution__wrap {
    -webkit-flex-direction: row-reverse;
            flex-direction: row-reverse; }
    @media only screen and (max-width: 768px) {
      .p-fooma-solution:nth-of-type(2n-1) .p-fooma-solution__wrap {
        -webkit-flex-direction: row;
                flex-direction: row; } }
  .p-fooma-solution:nth-of-type(2n-1) .p-fooma-solution__txt {
    left: calc(140 / 2560 * 100%);
    right: auto; }
    @media only screen and (max-width: 768px) {
      .p-fooma-solution:nth-of-type(2n-1) .p-fooma-solution__txt {
        left: auto; } }
  .p-fooma-solution:nth-of-type(2n-1) .p-fooma-solution__img {
    margin-right: calc(140 / 2560 * 100%); }
    @media only screen and (max-width: 768px) {
      .p-fooma-solution:nth-of-type(2n-1) .p-fooma-solution__img {
        margin-right: auto; } }
  .p-fooma-solution__wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
    position: relative; }
  .p-fooma-solution__img {
    position: relative;
    width: calc(1160 / 2560 * 100%);
    margin-left: calc(140 / 2560 * 100%); }
    @media only screen and (max-width: 768px) {
      .p-fooma-solution__img {
        width: 100%;
        margin-left: auto;
        margin-bottom: 32px; } }
    .p-fooma-solution__img:before {
      content: '';
      position: relative;
      display: block;
      padding-top: calc( 720/1320 * 100%); }
      @media only screen and (max-width: 768px) {
        .p-fooma-solution__img:before {
          padding-top: calc( 500/750 * 100%); } }
    .p-fooma-solution__img img {
      width: 100%;
      height: auto;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      transition: opacity 0.3s; }
      .p-fooma-solution__img img.is-hide {
        opacity: 0; }
  .p-fooma-solution__txt {
    position: absolute;
    width: calc(1120 / 2560 * 100%);
    left: calc(1320 / 2560 * 100%);
    bottom: 50%;
    -webkit-transform: translate(0, 50%);
            transform: translate(0, 50%); }
    @media only screen and (max-width: 768px) {
      .p-fooma-solution__txt {
        position: relative;
        width: calc(100% - 40px);
        margin: 0 auto;
        left: auto;
        bottom: auto;
        -webkit-transform: none;
                transform: none; } }
  .p-fooma-solution__ttl {
    font-size: 24px;
    line-height: calc(64/52);
    letter-spacing: 0.04em;
    margin-top: -3px;
    margin-bottom: 37px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-solution__ttl {
        font-size: 18px;
        line-height: calc(48/36);
        letter-spacing: 0.04em;
        margin-bottom: 29px; } }
  .p-fooma-solution__desc {
    font-size: 14px;
    line-height: calc(44/28);
    letter-spacing: 0.04em;
    margin-top: -4px;
    margin-bottom: -4px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-solution__desc {
        font-size: 13px;
        line-height: calc(42/26);
        letter-spacing: 0.04em;
        margin-top: -4px;
        margin-bottom: 28px; } }
  .p-fooma-solution__note {
    font-size: 11px;
    line-height: calc(34/22);
    letter-spacing: 0.04em;
    margin-top: 13px;
    margin-bottom: -3px;
    color: #999999; }
    @media only screen and (max-width: 768px) {
      .p-fooma-solution__note {
        margin-top: -7px;
        margin-bottom: 29px; } }

.p-fooma-propose-solution {
  margin-bottom: 96px; }
  @media only screen and (max-width: 768px) {
    .p-fooma-propose-solution {
      margin-bottom: 80px; } }
  .p-fooma-propose-solution__ttl {
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0.08em;
    width: 100%;
    text-align: center;
    margin-bottom: 24px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-propose-solution__ttl {
        font-size: 18px;
        line-height: 1;
        letter-spacing: 0.08em; } }
  .p-fooma-propose-solution__subttl {
    font-size: 14px;
    line-height: calc(22/14);
    letter-spacing: 0.04em;
    width: 100%;
    text-align: center;
    margin-top: -2px;
    margin-bottom: 38px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-propose-solution__subttl {
        font-size: 13px;
        line-height: calc(42/26);
        letter-spacing: 0.04em;
        margin-top: -4px;
        margin-bottom: 36px; } }
  .p-fooma-propose-solution__list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
            justify-content: center;
    margin: 0 auto; }
  .p-fooma-propose-solution__single {
    width: 340px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-propose-solution__single {
        width: calc(315/670 * 100%); } }
    .p-fooma-propose-solution__single:not(:first-child) {
      margin-left: 40px; }
      @media only screen and (max-width: 768px) {
        .p-fooma-propose-solution__single:not(:first-child) {
          margin-left: calc(40/670 * 100%); } }
  .p-fooma-propose-solution__single-img {
    width: 100%;
    position: relative;
    background: #e6e6e6;
    margin-bottom: 16px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-propose-solution__single-img {
        margin-bottom: 8px; } }
    .p-fooma-propose-solution__single-img:before {
      content: "";
      display: block;
      padding-top: calc( 382 / 680 * 100%); }
      @media only screen and (max-width: 768px) {
        .p-fooma-propose-solution__single-img:before {
          padding-top: calc( 176 / 315 * 100%); } }
    .p-fooma-propose-solution__single-img img {
      width: 100%;
      height: auto;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      transition: opacity 0.3s; }
      .p-fooma-propose-solution__single-img img.is-hide {
        opacity: 0; }
  .p-fooma-propose-solution__single-desc {
    font-size: 14px;
    line-height: calc(44/28);
    letter-spacing: 0.04em;
    margin-top: -4px;
    margin-bottom: -4px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-propose-solution__single-desc {
        font-size: 12px;
        line-height: calc(36/24);
        letter-spacing: 0em;
        margin-top: -3px;
        margin-bottom: -3px; } }

.p-fooma-look-back {
  margin-bottom: 96px; }
  @media only screen and (max-width: 768px) {
    .p-fooma-look-back {
      margin-bottom: 80px; } }
  .p-fooma-look-back__ttl {
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0.08em;
    margin-bottom: 40px;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .p-fooma-look-back__ttl {
        font-size: 18px;
        line-height: calc(48/36);
        letter-spacing: 0.04em;
        margin-top: -3px;
        margin-bottom: 37px; } }
  .p-fooma-look-back__slider-wrap {
    margin-bottom: 40px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-look-back__slider-wrap {
        margin-bottom: 32px; } }
  .p-fooma-look-back__btn {
    width: 360px;
    height: 56px;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      .p-fooma-look-back__btn {
        width: calc(100% - 40px);
        max-width: 360px; } }

.p-fooma-access {
  width: 100%;
  padding: 40px 0 64px;
  background: #f5f5f5; }
  @media only screen and (max-width: 768px) {
    .p-fooma-access {
      padding: 40px 0; } }
  .p-fooma-access__ttl {
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0.08em;
    text-align: center;
    margin-bottom: 40px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-access__ttl {
        font-size: 18px;
        line-height: 1;
        letter-spacing: 0.04em; } }
  .p-fooma-access__container {
    width: 688px;
    height: 360px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap; }
    @media only screen and (max-width: 768px) {
      .p-fooma-access__container {
        width: calc(100% - 40px);
        height: auto;
        display: block; } }
  .p-fooma-access__img {
    width: 280px;
    -webkit-order: 1;
            order: 1; }
    @media only screen and (max-width: 768px) {
      .p-fooma-access__img {
        width: calc(400 / 680 * 100%);
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 40px; } }
    .p-fooma-access__img img {
      width: 100%;
      height: auto;
      transition: opacity 0.3s; }
      .p-fooma-access__img img.is-hide {
        opacity: 0; }
  .p-fooma-access__txt {
    width: 360px;
    height: 100%;
    position: relative;
    -webkit-order: 0;
            order: 0; }
    @media only screen and (max-width: 768px) {
      .p-fooma-access__txt {
        width: 100%; } }
  .p-fooma-access__txt-wrap {
    position: absolute;
    bottom: 50%;
    -webkit-transform: translate(0, 50%);
            transform: translate(0, 50%);
    width: 100%; }
    @media only screen and (max-width: 768px) {
      .p-fooma-access__txt-wrap {
        position: relative;
        bottom: auto;
        -webkit-transform: none;
                transform: none; } }
  .p-fooma-access__logo {
    width: 100%;
    margin-bottom: 8px; }
    .p-fooma-access__logo img {
      width: 100%;
      height: auto; }
  .p-fooma-access__logo-subinfo {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.12em;
    margin-bottom: 24px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-access__logo-subinfo {
        font-size: 13px;
        line-height: 1;
        letter-spacing: 0.12em; } }
  .p-fooma-access__info-list {
    margin-bottom: 48px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-access__info-list {
        margin-bottom: 32px; } }
  .p-fooma-access__info {
    font-size: 14px;
    line-height: calc(44/28);
    letter-spacing: 0.04em;
    margin-top: -4px;
    display: -webkit-flex;
    display: flex; }
    @media only screen and (max-width: 768px) {
      .p-fooma-access__info {
        font-size: 13px;
        line-height: calc(42/26);
        letter-spacing: 0.04em;
        margin-top: -4px; } }
    .p-fooma-access__info:not(:last-child) {
      margin-bottom: 12px; }
      @media only screen and (max-width: 768px) {
        .p-fooma-access__info:not(:last-child) {
          margin-bottom: 4px; } }
  .p-fooma-access__info-ttl {
    white-space: nowrap; }
  .p-fooma-access__info-content {
    padding-left: 5px; }
  .p-fooma-access__link {
    width: 100%;
    height: 56px; }
    @media only screen and (max-width: 768px) {
      .p-fooma-access__link {
        max-width: 360px;
        width: 100%;
        margin: 0 auto; } }

.p-fooma-quick-pass {
  padding: 96px 0 0;
  margin-bottom: 56px; }
  @media only screen and (max-width: 768px) {
    .p-fooma-quick-pass {
      padding: 80px 0 0; } }
  .p-fooma-quick-pass__ttl {
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0.08em;
    margin-bottom: 40px;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .p-fooma-quick-pass__ttl {
        font-size: 18px;
        line-height: 1;
        letter-spacing: 0.04em; } }
  .p-fooma-quick-pass__subttl {
    font-size: 14px;
    line-height: calc(44/28);
    letter-spacing: 0.04em;
    margin-top: -4px;
    margin-bottom: 20px;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .p-fooma-quick-pass__subttl {
        font-size: 13px;
        line-height: calc(42/26);
        letter-spacing: 0.04em;
        margin-top: -4px;
        text-align: left;
        margin-bottom: 20px; } }
  .p-fooma-quick-pass__notice {
    font-size: 11px;
    line-height: calc(34/22);
    letter-spacing: 0.04em;
    margin-top: -2px;
    margin-bottom: 38px;
    text-align: center;
    color: #999999; }
    @media only screen and (max-width: 768px) {
      .p-fooma-quick-pass__notice {
        text-align: left; } }
  .p-fooma-quick-pass__btn {
    width: 360px;
    height: 56px;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      .p-fooma-quick-pass__btn {
        width: 100%;
        max-width: 360px; } }

.p-fooma-return-btn {
  text-align: center;
  margin-bottom: 56px; }
  @media only screen and (max-width: 768px) {
    .p-fooma-return-btn {
      margin-bottom: 24px; } }

.p-fooma-notice {
  font-size: 11px;
  line-height: calc(34/22);
  letter-spacing: 0.04em;
  color: #999999;
  margin-top: -3px;
  margin-bottom: calc(40px - 3px); }

.u-maxw-1280 {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto; }

.u-maxw-1000 {
  width: calc(100% - 40px);
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto; }

.u-maxw-960 {
  width: calc(100% - 40px);
  max-width: 960px;
  margin-left: auto;
  margin-right: auto; }
