@charset "UTF-8";
html {
  font-size: 62.5%;
  font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", YuGothic, "ＭＳ ゴシック", sans-serif;
  color: #202020;
  max-width: 1366px;
  margin: 0 auto; }

ul li {
  list-style: none; }

.pc_disp_none {
  display: none; }

.sp_disp_none {
  display: block; }

h1, h2, h3, h4 {
  font-family: 'ヒラギノ角ゴ Std',"Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN"; }

sup {
  vertical-align: super;
  font-size: smaller; }

.side_line_txt {
  display: flex;
  font-size: 3rem;
  color: #005EAD;
  max-width: 1193px;
  margin: -9px 0 0 auto; }
  .side_line_txt span {
    min-width: 62px;
    font-weight: bold;
    margin: 0 0 0 10px; }
    .side_line_txt span:lang(en) {
      min-width: 142px; }
  .side_line_txt::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #005EAD;
    align-self: center;
    margin: 0 0 0 18px; }

.target_area {
  opacity: 0; }

.animation, .first {
  opacity: 1; }
  .animation .fadeInDown, .first .fadeInDown {
    opacity: 0;
    animation: fadeInDown 2s forwards; }
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(100px); }
  100% {
    opacity: 1;
    transform: translate(0); } }
/*-----------
    header
------------*/
header img {
  width: 100%; }
header .bg_box {
  position: relative;
  z-index: 100; }
  header .bg_box .logo {
    position: absolute;
    max-width: 72px;
    max-height: 64px;
    top: 28px;
    left: 34px; }
  header .bg_box::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    display: block;
    background-image: url("../images/related_bg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    width: calc(100% - 130px);
    height: 100%; }
header .two_col_box {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  max-width: 1180px;
  margin: 0 0 0 auto;
  padding: 64px 0 0; }
  header .two_col_box div:nth-child(1) {
    width: 58%; }
  header .two_col_box div:nth-child(2) {
    width: 48%;
    align-self: center;
    margin: 0 48px 0 0;
    position: relative; }
    header .two_col_box div:nth-child(2) h1 {
      font-size: 3.2rem;
      line-height: 1.6;
      font-weight: bold;
      color: #fff; }
    header .two_col_box div:nth-child(2) p {
      font-size: 1.6rem;
      font-weight: bold;
      color: #fff;
      margin: 22px 0 0; }
    header .two_col_box div:nth-child(2)::after {
      content: "";
      position: absolute;
      bottom: -153px;
      left: 30px;
      width: 1px;
      height: 100%;
      max-height: 123px;
      background-color: #fff; }
    header .two_col_box div:nth-child(2)::before {
      content: "";
      position: absolute;
      bottom: -156px;
      left: 37px;
      width: 1px;
      height: 100%;
      max-height: 25px;
      background-color: #fff;
      transform: rotate(35deg); }
    @media screen and (max-width: 1100px) {
      header .two_col_box div:nth-child(2)::after {
        bottom: -120px;
        left: 30px;
        height: 100%;
        max-height: 100px; }
      header .two_col_box div:nth-child(2)::before {
        bottom: -123px;
        left: 37px;
        height: 100%; } }
header .note_box {
  max-width: 1000px;
  margin: 0 0 0 auto;
  padding: 0 180px 0 0; }
  header .note_box .note {
    max-width: 1000px;
    font-size: 1.6rem;
    line-height: 2.1;
    font-family: 'Meiryo';
    color: #fff;
    margin: 51px 0 0;
    padding: 0 0 50px; }

/*-----------
    main
------------*/
main {
  /* 特徴 */
  /* 仕様 */
  /* 関連コンテンツ */ }
  main .fts_hero {
    margin: 80px 0 0; }
    main .fts_hero .head_img {
      width: 100%;
      max-width: 349px;
      max-height: 83px;
      margin: 0 0 0 8px; }
    main .fts_hero .fts_content {
      position: relative; }
      main .fts_hero .fts_content .bg_box::after {
        content: "";
        position: absolute;
        z-index: -1;
        top: 190px;
        left: 0;
        background-image: url("../images/features_bg.gif");
        background-size: cover;
        background-repeat: no-repeat;
        width: 100%;
        height: calc(100% - 90px); }
    main .fts_hero ul {
      display: flex;
      justify-content: center;
      flex-wrap: nowrap;
      margin: 50px 0 0; }
      main .fts_hero ul li:lang(en) {
        max-width: 243px; }
        main .fts_hero ul li:lang(en) div h2 {
          height: 130px; }
      main .fts_hero ul li {
        background-color: #fff;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); }
        main .fts_hero ul li:not(:last-child) {
          margin: 0 18px 0 0; }
        main .fts_hero ul li div {
          display: flex;
          flex-direction: column;
          align-items: center;
          text-align: center;
          padding: 25px 19px 50px;
          position: relative; }
          main .fts_hero ul li div img {
            width: 100%; }
            main .fts_hero ul li div img.number {
              max-width: 22px;
              max-height: 40px; }
            main .fts_hero ul li div img.illust_logo {
              max-width: 205px;
              max-height: 167px; }
          main .fts_hero ul li div h2 {
            font-size: 2.2rem;
            line-height: 1.3;
            font-weight: bold;
            color: #005EAD;
            margin: 16px 0 0;
            height: 89px; }
          main .fts_hero ul li div::before {
            content: "";
            background-color: #005EAD;
            border-radius: 100%;
            width: 24px;
            height: 24px;
            position: absolute;
            bottom: 16px;
            left: 50%;
            transform: translate(-50%, 0); }
          main .fts_hero ul li div::after {
            content: "";
            width: 0px;
            height: 0px;
            border-style: solid;
            border-width: 10px 7.5px 0 7.5px;
            border-color: #fff transparent transparent transparent;
            position: absolute;
            bottom: 21px;
            left: 50%;
            transform: translate(-50%, 0); }
    main .fts_hero .fts_detail_content {
      margin: 116px 0 0; }
      main .fts_hero .fts_detail_content .fts_detail_box {
        display: flex; }
        main .fts_hero .fts_detail_content .fts_detail_box.revers {
          flex-direction: row-reverse; }
          main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) {
            margin: 0 0 0 38px; }
            main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 {
              text-align: left; }
              main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 div {
                max-width: none;
                margin: 0;
                display: flex;
                align-items: baseline; }
              main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 img {
                width: 100%;
                max-width: 22px;
                max-height: 40px; }
              main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 span {
                margin: 0 0 0 13px; }
                main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 span.line_h {
                  line-height: 1.5; }
            main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) p {
              margin: 20px auto 0 35px; }
        main .fts_hero .fts_detail_content .fts_detail_box:nth-child(n+2) {
          margin: 70px 0 0; }
        main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) {
          margin: 0 38px 0 0;
          width: 55%; }
          main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) h2 {
            font-size: 2.2rem;
            font-weight: bold;
            color: #005EAD;
            text-align: left;
            border-bottom: 1px solid #005EAD;
            line-height: 1;
            padding: 0 0 16px; }
            main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) h2 div {
              max-width: 420px;
              margin: 0 auto;
              display: flex;
              align-items: baseline; }
            main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) h2 img {
              width: 100%;
              max-width: 22px;
              max-height: 40px; }
            main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) h2 span {
              margin: 0 0 0 13px; }
          main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) p {
            font-size: 1.6rem;
            color: #231815;
            line-height: 2.1;
            max-width: 548px;
            margin: 20px 0 0 auto;
            font-family: 'Meiryo'; }
            main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) p span {
              font-size: 1.3rem; }
        main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(2) {
          width: 100%;
          max-width: 377px;
          max-height: 264px; }
          main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(2) img {
            width: 100%;
            max-width: 377px;
            max-height: 264px; }
  main .spc_hero {
    margin: 172px 0 0;
    position: relative; }
    main .spc_hero .side_line_txt span:lang(en) {
      min-width: 222px; }
    main .spc_hero::after {
      content: "";
      position: absolute;
      z-index: -1;
      top: 0;
      left: 0;
      background-image: url("../images/spec_bg.jpg");
      background-size: cover;
      background-repeat: no-repeat;
      width: calc(100% - 130px);
      height: 100%; }
    main .spc_hero .head_img {
      width: 100%;
      max-width: 546px;
      max-height: 83px;
      margin: 42px 0 0 8px; }
    main .spc_hero .spc_content {
      margin: 60px auto 0;
      padding: 0 10px 89px; }
      main .spc_hero .spc_content > div {
        display: flex;
        position: relative;
        margin: 0 auto; }
      main .spc_hero .spc_content .box1 {
        width: 50%;
        margin: 0 76px 0 0; }
        main .spc_hero .spc_content .box1 .spc_box {
          margin: 0 0 0 auto; }
          main .spc_hero .spc_content .box1 .spc_box:nth-child(n+2) {
            margin: 74px 0 0 auto; }
      main .spc_hero .spc_content .box2 {
        width: 50%; }
        main .spc_hero .spc_content .box2 .spc_box {
          margin: 0 auto 0 0; }
          main .spc_hero .spc_content .box2 .spc_box:nth-child(n+2) {
            margin: 52px 0 0; }
        main .spc_hero .spc_content .box2 .img_box {
          position: relative;
          height: 100%;
          max-width: none; }
          main .spc_hero .spc_content .box2 .img_box > div {
            margin: 0 85px 0 0; }
          main .spc_hero .spc_content .box2 .img_box::after {
            content: "";
            background-image: url("../images/spec_img02.jpg");
            background-size: contain;
            background-repeat: no-repeat;
            position: absolute;
            display: block;
            width: calc(100% - 80px);
            height: 100%;
            z-index: 99;
            top: 60px;
            left: 80px;
            max-width: 550px;
            max-height: 427px; }
          main .spc_hero .spc_content .box2 .img_box img {
            width: 100%;
            max-width: 550px;
            max-height: 427px;
            position: relative;
            z-index: 100;
            box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); }
      main .spc_hero .spc_content .spc_box {
        width: 100%;
        max-width: 462px; }
        main .spc_hero .spc_content .spc_box h3 {
          display: flex;
          position: relative; }
          main .spc_hero .spc_content .spc_box h3 span {
            font-size: 2.2rem;
            color: #005EAD;
            margin: 0 0 0 20px; }
          main .spc_hero .spc_content .spc_box h3::before {
            content: "";
            width: 8px;
            height: 100%;
            background-color: #E50012;
            position: absolute;
            top: 0;
            left: 0; }
        main .spc_hero .spc_content .spc_box ul {
          background-color: #fff;
          display: block;
          margin: 15px 0 0;
          padding: 17px 20px; }
          main .spc_hero .spc_content .spc_box ul li {
            display: flex; }
            main .spc_hero .spc_content .spc_box ul li:not(:first-child) {
              margin: 21px 0 0; }
            main .spc_hero .spc_content .spc_box ul li.sub_head {
              font-size: 1.6rem;
              color: #005EAD;
              margin: 36px 0 0; }
            main .spc_hero .spc_content .spc_box ul li p {
              font-size: 1.6rem;
              color: #231815;
              white-space: pre; }
              main .spc_hero .spc_content .spc_box ul li p span {
                display: block;
                margin: 22px 0 0; }
              main .spc_hero .spc_content .spc_box ul li p sup {
                vertical-align: super;
                font-size: smaller; }
              main .spc_hero .spc_content .spc_box ul li p:nth-child(1) {
                display: flex;
                width: 100%; }
                main .spc_hero .spc_content .spc_box ul li p:nth-child(1)::after {
                  content: "";
                  display: inline-block;
                  border-top: 4px dotted #231815;
                  width: 100%;
                  margin: 6px 10px 0;
                  align-self: baseline; }
  main .rlc_hero {
    margin: 65px 0 0;
    position: relative; }
    main .rlc_hero .head_img {
      width: 100%;
      max-width: 498px;
      max-height: 83px;
      margin: 0 0 0 8px; }
    main .rlc_hero .side_line_txt {
      color: #fff; }
      main .rlc_hero .side_line_txt span {
        min-width: 210px; }
        main .rlc_hero .side_line_txt span:lang(en) {
          min-width: 262px; }
      main .rlc_hero .side_line_txt::after {
        background-color: #fff; }
    main .rlc_hero .bg_box {
      position: relative;
      padding: 60px 0 87px; }
      main .rlc_hero .bg_box::after {
        content: "";
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        background-image: url("../images/related_bg.jpg");
        background-size: cover;
        background-repeat: no-repeat;
        width: 100%;
        height: 100%; }
    main .rlc_hero .list_content {
      background-color: #fff;
      padding: 30px 20px 20px;
      max-width: 960px;
      margin: 52px auto 0; }
      main .rlc_hero .list_content:nth-of-type(n+2) {
        margin: 24px auto 0; }
      main .rlc_hero .list_content h3 {
        font-size: 2.2rem;
        color: #005EAD;
        padding: 0 0 12px;
        border-bottom: 1px solid #005EAD;
        text-align: center; }
      main .rlc_hero .list_content ul li {
        margin: 20px 0 0; }
        main .rlc_hero .list_content ul li:nth-of-type(n+2) {
          margin: 24px 0 0; }
    main .rlc_hero .topics ul li {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      main .rlc_hero .topics ul li p {
        font-size: 1.6rem;
        color: #231815; }
      main .rlc_hero .topics ul li a {
        border: 1px solid #005EAD;
        border-radius: 11px;
        text-decoration: none;
        transition: .5s all; }
        main .rlc_hero .topics ul li a:hover {
          opacity: .6;
          transition: .5s all; }
        main .rlc_hero .topics ul li a span {
          display: flex;
          font-size: 1.6rem;
          color: #005EAD;
          padding: 3px 6px 3px 10px; }
          main .rlc_hero .topics ul li a span::after {
            content: "";
            display: block;
            align-self: center;
            background-image: url("../images/btn_arw01.svg");
            background-size: contain;
            background-repeat: no-repeat;
            width: 12px;
            height: 12px;
            margin: 0 0 0 8px; }
    main .rlc_hero .news .month {
      margin: 24px 0 0; }
      main .rlc_hero .news .month:nth-of-type(n+2) {
        margin: 34px 0 0; }
      main .rlc_hero .news .month h4 {
        font-size: 1.6rem;
        color: #005EAD;
        margin: 0 0 11px; }
    main .rlc_hero .news ul li {
      margin: 0; }
      main .rlc_hero .news ul li:not(:first-child) {
        margin: 20px 0 0; }
      main .rlc_hero .news ul li > div {
        display: flex;
        align-items: center;
        font-size: 1.6rem;
        color: #231815; }
        main .rlc_hero .news ul li > div > div {
          display: flex;
          align-items: center; }
        main .rlc_hero .news ul li > div .date {
          width: 130px; }
          main .rlc_hero .news ul li > div .date:lang(en) {
            width: 140px; }
        main .rlc_hero .news ul li > div span {
          display: block;
          width: 120px;
          margin: 0 12px;
          padding: 2px 0;
          text-align: center;
          color: #fff;
          border-radius: 9px; }
          main .rlc_hero .news ul li > div span.col1 {
            background-color: #BF543A; }
          main .rlc_hero .news ul li > div span.col2 {
            background-color: #7B7B1E; }
          main .rlc_hero .news ul li > div span.col3 {
            background-color: #BE416F; }
          main .rlc_hero .news ul li > div span.col4 {
            background-color: #866BA6; }
          main .rlc_hero .news ul li > div span.col5 {
            background-color: #186171; }
          main .rlc_hero .news ul li > div span.col6 {
            background-color: #125737; }
          main .rlc_hero .news ul li > div span.col7 {
            background-color: #4141BE; }
          main .rlc_hero .news ul li > div span.col8 {
            background-color: #BFB63A; }
        main .rlc_hero .news ul li > div a {
          color: #231815;
          text-decoration: none;
          transition: .5s all; }
          main .rlc_hero .news ul li > div a:hover {
            color: #005EAD;
            text-decoration: underline;
            opacity: .8;
            transition: .5s all; }

/*-----------
    footer
------------*/
footer {
  padding: 40px 0; }
  footer p {
    font-size: 1.6rem;
    color: #000000;
    text-align: center; }

/*-----------
    ipad
------------*/
@media screen and (max-width: 1024px) {
  .side_line_txt {
    display: flex;
    font-size: 2.8rem;
    color: #005EAD;
    margin: -9px 0 0 auto; }
    .side_line_txt span {
      min-width: 62px;
      font-weight: bold; }
      .side_line_txt span:lang(en) {
        min-width: 124px; }
    .side_line_txt::after {
      content: "";
      display: block;
      width: 100%;
      height: 1px;
      background-color: #005EAD;
      align-self: center;
      margin: 0 0 0 18px; }

  /*-----------
     header
  ------------*/
  header .bg_box .logo {
    position: absolute;
    max-width: 72px;
    max-height: 64px;
    top: 16px;
    left: 12px; }
  header .bg_box::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    display: block;
    background-image: url("../images/related_bg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    width: calc(100% - 130px);
    height: 100%; }
  header .two_col_box {
    display: flex;
    margin: 0 0 0 auto;
    padding: 64px 0 0; }
    header .two_col_box div:nth-child(1) {
      width: 57%; }
      header .two_col_box div:nth-child(1) img {
        max-width: 668px;
        max-height: 435px; }
    header .two_col_box div:nth-child(2) {
      width: 39%;
      align-self: center;
      margin: 0 48px 0 12px; }
      header .two_col_box div:nth-child(2) h1 {
        font-size: 3rem; }
      header .two_col_box div:nth-child(2) p {
        font-size: 1.4rem;
        margin: 22px 0 0; }
      header .two_col_box div:nth-child(2)::after {
        bottom: -115px;
        left: 30px;
        max-height: 83px; }
      header .two_col_box div:nth-child(2)::before {
        bottom: -117px;
        left: 37px; } }
    @media screen and (max-width: 1024px) and (max-width: 1090px) {
      header .two_col_box div:nth-child(2)::after {
        bottom: -75px;
        max-height: 63px; }
      header .two_col_box div:nth-child(2)::before {
        bottom: -77px; } }
@media screen and (max-width: 1024px) {
  header .note_box {
    max-width: 1000px;
    margin: 0 0 0 auto;
    padding: 0 180px 0 0; }
    header .note_box .note {
      font-size: 1.4rem;
      margin: 51px 0 0 12px;
      padding: 0 0 36px; }

  /*-----------
     main
  ------------*/
  main {
    /* 特徴 */
    /* 仕様 */
    /* 関連コンテンツ */ }
    main .fts_hero .head_img {
      width: 100%;
      max-width: 349px;
      max-height: 83px; }
    main .fts_hero .fts_content {
      position: relative; }
      main .fts_hero .fts_content .bg_box::after {
        top: 190px;
        left: 0; }
    main .fts_hero ul {
      display: flex;
      flex-wrap: wrap;
      margin: 50px auto 0;
      max-width: 506px; }
      main .fts_hero ul li {
        width: 50%;
        max-width: 243px; }
        main .fts_hero ul li:not(:last-child) {
          margin: 0; }
        main .fts_hero ul li:nth-child(2n) {
          margin: 0 0 0 16px; }
        main .fts_hero ul li:nth-child(n + 3) {
          margin-top: 16px; }
        main .fts_hero ul li div {
          display: flex;
          flex-direction: column;
          align-items: center;
          text-align: center;
          padding: 18px 19px 40px;
          position: relative; }
          main .fts_hero ul li div img {
            width: 100%; }
            main .fts_hero ul li div img.number {
              max-width: 22px;
              max-height: 40px; }
            main .fts_hero ul li div img.illust_logo {
              max-width: 205px;
              max-height: 167px; }
          main .fts_hero ul li div h2 {
            font-size: 2rem;
            margin: 10px 0 16px;
            height: 89px; }
          main .fts_hero ul li div::before {
            width: 24px;
            height: 24px;
            bottom: 16px;
            left: 50%;
            transform: translate(-50%, 0); }
          main .fts_hero ul li div::after {
            content: "";
            width: 0px;
            height: 0px;
            border-style: solid;
            border-width: 10px 7.5px 0 7.5px;
            border-color: #fff transparent transparent transparent;
            position: absolute;
            bottom: 21px;
            left: 50%;
            transform: translate(-50%, 0); }
    main .fts_hero .fts_detail_content {
      margin: 76px 0 0; }
      main .fts_hero .fts_detail_content .fts_detail_box {
        display: flex; }
        main .fts_hero .fts_detail_content .fts_detail_box.revers {
          flex-direction: row-reverse; }
          main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) {
            margin: 0 0 0 24px; }
            main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 {
              text-align: left; }
              main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 div {
                max-width: none;
                margin: 0; }
              main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 img {
                width: 100%;
                max-width: 22px;
                max-height: 40px; }
              main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 span {
                margin: 0 0 0 13px; }
            main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) p {
              margin: 20px 0; }
        main .fts_hero .fts_detail_content .fts_detail_box:nth-child(n+2) {
          margin: 64px 0 0; }
        main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) {
          margin: 0 24px 0 0;
          width: 55%; }
          main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) h2 {
            font-size: 2rem; }
            main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) h2 div {
              max-width: 420px;
              margin: 0 0 0 10px; }
            main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) h2 img {
              width: 100%;
              max-width: 22px;
              max-height: 40px; }
            main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) h2 span {
              margin: 0 0 0 13px; }
          main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) p {
            font-size: 1.4rem;
            margin: 20px 0 0 auto;
            padding: 0 0 0 42px; }
            main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) p span {
              font-size: 1.2rem; }
        main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(2) {
          width: 100%;
          max-width: 377px;
          max-height: 264px; }
          main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(2) img {
            width: 100%;
            max-width: 377px;
            max-height: 264px; }
    main .spc_hero {
      position: relative; }
      main .spc_hero::after {
        top: 0;
        left: 0;
        width: calc(100% - 130px);
        height: 100%; }
      main .spc_hero .head_img {
        width: 100%;
        max-width: 546px;
        max-height: 83px;
        margin: 42px 0 0; }
      main .spc_hero .spc_content {
        margin: 60px auto 0;
        padding: 0 10px 89px; }
        main .spc_hero .spc_content > div {
          display: block;
          position: relative;
          margin: 0 auto; }
        main .spc_hero .spc_content .box1 {
          width: 100%;
          margin: 0 32px 0 0; }
          main .spc_hero .spc_content .box1 .spc_box {
            margin: 0 auto; }
            main .spc_hero .spc_content .box1 .spc_box:nth-child(n+2) {
              margin: 48px auto 0; }
        main .spc_hero .spc_content .box2 {
          width: 100%; }
          main .spc_hero .spc_content .box2 .spc_box {
            margin: 48px auto 0; }
            main .spc_hero .spc_content .box2 .spc_box:nth-child(n+2) {
              margin: 48px auto 0; }
          main .spc_hero .spc_content .box2 .img_box {
            text-align: center; }
            main .spc_hero .spc_content .box2 .img_box::after {
              top: 60px;
              right: 0;
              left: inherit; }
        main .spc_hero .spc_content .spc_box {
          width: 100%;
          max-width: 462px; }
          main .spc_hero .spc_content .spc_box h3 {
            display: flex;
            position: relative; }
            main .spc_hero .spc_content .spc_box h3 span {
              font-size: 2rem;
              margin: 0 0 0 20px; }
          main .spc_hero .spc_content .spc_box ul {
            background-color: #fff;
            display: block;
            margin: 15px 0 0;
            padding: 17px 20px; }
            main .spc_hero .spc_content .spc_box ul li {
              display: flex; }
              main .spc_hero .spc_content .spc_box ul li:not(:first-child) {
                margin: 21px 0 0; }
              main .spc_hero .spc_content .spc_box ul li.sub_head {
                font-size: 1.4rem;
                margin: 32px 0 0; }
              main .spc_hero .spc_content .spc_box ul li p {
                font-size: 1.4rem; }
                main .spc_hero .spc_content .spc_box ul li p span {
                  display: block;
                  margin: 22px 0 0; }
    main .rlc_hero .head_img {
      width: 100%;
      max-width: 498px;
      max-height: 83px; }
    main .rlc_hero .side_line_txt {
      color: #fff; }
      main .rlc_hero .side_line_txt span {
        min-width: 210px; }
      main .rlc_hero .side_line_txt::after {
        background-color: #fff; }
    main .rlc_hero .bg_box {
      position: relative;
      padding: 60px 0 87px; }
      main .rlc_hero .bg_box::after {
        z-index: -1;
        top: 0;
        left: 0; }
    main .rlc_hero .list_content {
      background-color: #fff;
      padding: 30px 20px 20px;
      max-width: 960px;
      margin: 52px 10px 0; }
      main .rlc_hero .list_content:nth-of-type(n+2) {
        margin: 24px 10px 0; }
      main .rlc_hero .list_content h3 {
        font-size: 2rem;
        padding: 0 0 12px; }
      main .rlc_hero .list_content ul li {
        margin: 20px 0 0; }
        main .rlc_hero .list_content ul li:nth-of-type(n+2) {
          margin: 24px 0 0; }
    main .rlc_hero .topics ul li p {
      font-size: 1.4rem; }
    main .rlc_hero .topics ul li a span {
      font-size: 1.4rem;
      padding: 3px 10px; }
      main .rlc_hero .topics ul li a span::after {
        width: 12px;
        height: 12px;
        margin: 0 0 0 8px; }
    main .rlc_hero .news .month {
      margin: 20px 0 0; }
      main .rlc_hero .news .month:nth-of-type(n+2) {
        margin: 24px 0 0; }
      main .rlc_hero .news .month h4 {
        font-size: 1.4rem;
        margin: 0 0 11px; }
    main .rlc_hero .news ul li {
      margin: 0; }
      main .rlc_hero .news ul li:not(:first-child) {
        margin: 20px 0 0; }
      main .rlc_hero .news ul li > div {
        display: flex;
        font-size: 1.4rem; }
        main .rlc_hero .news ul li > div span {
          display: block;
          width: 90px;
          margin: 0 12px;
          padding: 2px 0;
          text-align: center;
          color: #fff;
          border-radius: 9px; }
          main .rlc_hero .news ul li > div span.col1 {
            background-color: #238F15; }
          main .rlc_hero .news ul li > div span.col2 {
            background-color: #AC8F15; }

  /*-----------
     footer
  ------------*/
  footer {
    padding: 40px 0; }
    footer p {
      font-size: 1.4rem; } }
/*-----------
    sp
------------*/
@media screen and (max-width: 768px) {
  .pc_disp_none {
    display: block; }

  .sp_disp_none {
    display: none; }

  .side_line_txt {
    font-size: 2rem;
    max-width: 390px;
    margin: -3px 0 0 auto; }
    .side_line_txt span {
      min-width: 42px;
      margin: 0 0 0 10px; }
    .side_line_txt::after {
      margin: 0 0 0 9px; }

  /*-----------
     header
  ------------*/
  header .bg_box .logo {
    position: absolute;
    max-width: 48px;
    max-height: 40px;
    top: 16px;
    left: 12px; }
  header .bg_box::after {
    background-image: url("../images/related_bg_sp.jpg");
    width: calc(100% - 20px);
    height: 100%; }
  header .two_col_box {
    display: block;
    margin: 0 0 0 auto;
    padding: 4px 0 0 10px; }
    header .two_col_box div:nth-child(1) {
      width: 100%;
      margin: 12px auto 0;
      max-width: 668px;
      text-align: right; }
      header .two_col_box div:nth-child(1) img {
        max-width: 295px;
        margin: 0 0 0 auto; }
    header .two_col_box div:nth-child(2) {
      width: calc(100% - 30px);
      margin: 28px 0 0; }
      header .two_col_box div:nth-child(2) h1 {
        font-size: 2.2rem;
        text-align: center; }
      header .two_col_box div:nth-child(2) p {
        font-size: 1.3rem;
        margin: 6px 0 0;
        text-align: center; }
      header .two_col_box div:nth-child(2)::after {
        bottom: -54px;
        left: 50%;
        max-height: 41px;
        transform: translate(-50%, 0); }
      header .two_col_box div:nth-child(2)::before {
        bottom: -54px;
        left: 50%;
        max-height: 10px;
        transform: translate(290%, 0) rotate(35deg); }
  header .note_box {
    width: calc(100% - 80px);
    margin: 0 auto;
    padding: 0; }
    header .note_box .note {
      font-size: 1.6rem;
      margin: 65px 0 0;
      padding: 0 0 16px;
      line-height: 23px; }

  /*-----------
     main
  ------------*/
  main {
    /* 特徴 */
    /* 仕様 */
    /* 関連コンテンツ */ }
    main .fts_hero {
      margin: 30px 0 79px; }
      main .fts_hero .head_img {
        max-width: 111px;
        max-height: 35px; }
      main .fts_hero .fts_content {
        position: relative; }
        main .fts_hero .fts_content .bg_box::after {
          top: 190px;
          left: 0;
          height: calc(100% - 145px); }
      main .fts_hero ul {
        display: flex;
        flex-wrap: wrap;
        margin: 24px auto 0;
        max-width: 414px; }
        main .fts_hero ul li:lang(en) {
          max-width: 163px; }
        main .fts_hero ul li {
          width: 100%;
          max-width: 163px;
          box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); }
          main .fts_hero ul li:not(:last-child) {
            margin: 0; }
          main .fts_hero ul li:nth-child(2n) {
            margin: 0 0 0 8px; }
          main .fts_hero ul li:nth-child(n + 3) {
            margin-top: 6px; }
          main .fts_hero ul li div {
            padding: 18px 6px 40px; }
            main .fts_hero ul li div img {
              width: 100%; }
              main .fts_hero ul li div img.number {
                max-width: 15px;
                max-height: 40px; }
              main .fts_hero ul li div img.illust_logo {
                max-width: 205px;
                max-height: 167px; }
            main .fts_hero ul li div h2 {
              font-size: 1.7rem;
              margin: 10px 0 16px;
              height: 50px; }
            main .fts_hero ul li div::before {
              bottom: 8px; }
            main .fts_hero ul li div::after {
              bottom: 14px; }
      main .fts_hero .fts_detail_content {
        margin: 50px 0 0; }
        main .fts_hero .fts_detail_content .fts_detail_box {
          display: block; }
          main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) {
            margin: 0 0 0 auto; }
            main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 {
              text-align: left;
              margin: 0 0 0 auto;
              line-height: 1;
              padding: 0 0 4px; }
              main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 div {
                max-width: 290px;
                margin: 0;
                padding: 0;
                align-items: baseline; }
              main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 img {
                width: 100%;
                max-width: 18px; }
              main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) h2 span {
                margin: 0 0 0 4px;
                transform: translate(0px, -1px); }
            main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) > div {
              max-width: 350px;
              margin: 0 auto; }
            main .fts_hero .fts_detail_content .fts_detail_box.revers > div:nth-child(1) p {
              max-width: 320px;
              margin: 18px auto 18px 0; }
          main .fts_hero .fts_detail_content .fts_detail_box:nth-child(n+2) {
            margin: 51px 0 0; }
          main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) {
            margin: 0 24px 0 0;
            width: calc(100% - 30px); }
            main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) h2 {
              font-size: 1.9rem;
              line-height: 1;
              padding: 0 0 4px; }
              main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) h2 div {
                max-width: 290px;
                margin: 0 auto;
                align-items: baseline; }
              main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) h2 img {
                width: 100%;
                max-width: 18px; }
              main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) h2 span {
                margin: 0 0 0 4px;
                transform: translate(0px, -1px); }
            main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) > div {
              max-width: 350px;
              margin: 0 auto; }
            main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(1) p {
              font-size: 1.6rem;
              line-height: 1.6;
              max-width: 320px;
              margin: 18px 0 18px auto;
              padding: 0; }
          main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(2) {
            text-align: center;
            width: calc(100% - 30px);
            max-width: 330px;
            margin: 0 auto; }
            main .fts_hero .fts_detail_content .fts_detail_box > div:nth-child(2) img {
              max-width: inherit; }
    main .spc_hero {
      margin: 0;
      position: relative; }
      main .spc_hero .side_line_txt span:lang(en) {
        min-width: 152px; }
      main .spc_hero::after {
        top: 0;
        left: 0;
        width: calc(100% - 20px);
        height: 100%; }
      main .spc_hero .head_img {
        width: 100%;
        max-width: 182px;
        max-height: 35px;
        margin: 32px 0 0; }
      main .spc_hero .spc_content {
        margin: 24px auto 0;
        padding: 0 0 89px; }
        main .spc_hero .spc_content > div {
          display: block;
          position: relative;
          margin: 0 auto; }
        main .spc_hero .spc_content .box1 {
          width: 100%;
          margin: 0 32px 0 0; }
          main .spc_hero .spc_content .box1 .spc_box {
            margin: 0 auto; }
            main .spc_hero .spc_content .box1 .spc_box:nth-child(n+2) {
              margin: 26px auto 0; }
        main .spc_hero .spc_content .box2 {
          width: 100%; }
          main .spc_hero .spc_content .box2 .spc_box {
            margin: 26px auto 0; }
            main .spc_hero .spc_content .box2 .spc_box:nth-child(n+2) {
              margin: 26px auto 0; }
          main .spc_hero .spc_content .box2 .img_box {
            text-align: center; }
            main .spc_hero .spc_content .box2 .img_box > div {
              max-width: 350px;
              margin: 6px auto 0;
              text-align: left; }
              main .spc_hero .spc_content .box2 .img_box > div img {
                max-width: 300px;
                box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); }
            main .spc_hero .spc_content .box2 .img_box::after {
              background-image: url("../images/spec_img02_sp.jpg");
              top: 60px;
              right: 0;
              left: inherit;
              max-width: 300px; }
        main .spc_hero .spc_content .spc_box {
          width: 100%;
          max-width: 350px; }
          main .spc_hero .spc_content .spc_box h3 {
            display: flex;
            position: relative; }
            main .spc_hero .spc_content .spc_box h3 span {
              font-size: 1.8rem;
              margin: 0 0 0 16px; }
          main .spc_hero .spc_content .spc_box ul {
            background-color: #fff;
            display: block;
            margin: 8px 0 0;
            padding: 10px;
            max-width: 310px; }
            main .spc_hero .spc_content .spc_box ul li {
              display: flex; }
              main .spc_hero .spc_content .spc_box ul li:not(:first-child) {
                margin: 21px 0 0; }
              main .spc_hero .spc_content .spc_box ul li.sub_head {
                font-size: 1.4rem;
                margin: 32px 0 0; }
              main .spc_hero .spc_content .spc_box ul li p {
                font-size: 1.4rem;
                line-height: 21px; }
                main .spc_hero .spc_content .spc_box ul li p span {
                  display: block;
                  margin: 8px 0 0; }
    main .rlc_hero {
      margin: 34px 0 0; }
      main .rlc_hero .head_img {
        max-width: 222px; }
      main .rlc_hero .side_line_txt {
        color: #fff; }
        main .rlc_hero .side_line_txt span {
          min-width: 150px; }
          main .rlc_hero .side_line_txt span:lang(en) {
            min-width: 182px; }
        main .rlc_hero .side_line_txt::after {
          background-color: #fff; }
      main .rlc_hero .bg_box {
        position: relative;
        padding: 28px 0; }
        main .rlc_hero .bg_box::after {
          z-index: -1;
          top: 0;
          left: 0;
          background-image: url("../images/related_bg_sp02.jpg"); }
      main .rlc_hero .list_content {
        background-color: #fff;
        padding: 16px 10px;
        max-width: 330px;
        margin: 52px auto 0; }
        main .rlc_hero .list_content:nth-of-type(n+2) {
          margin: 24px auto 0; }
        main .rlc_hero .list_content h3 {
          font-size: 1.8rem;
          line-height: 1.2;
          padding: 0 0 5px; }
        main .rlc_hero .list_content ul li {
          margin: 20px 0 0; }
          main .rlc_hero .list_content ul li:nth-of-type(n+2) {
            margin: 24px 0 0; }
      main .rlc_hero .topics ul li p {
        font-size: 1.6rem; }
      main .rlc_hero .topics ul li a span {
        font-size: 1.1rem;
        padding: 2px 1px 2px 5px; }
        main .rlc_hero .topics ul li a span::after {
          width: 10px;
          height: 10px;
          margin: 0 0 0 4px; }
      main .rlc_hero .news .month {
        margin: 13px 0 0; }
        main .rlc_hero .news .month:nth-of-type(n+2) {
          margin: 17px 0 0; }
        main .rlc_hero .news .month h4 {
          font-size: 1.4rem;
          margin: 0 0 11px; }
      main .rlc_hero .news ul li {
        margin: 0; }
        main .rlc_hero .news ul li:not(:first-child) {
          margin: 20px 0 0; }
        main .rlc_hero .news ul li div {
          display: block;
          font-size: 1.6rem; }
          main .rlc_hero .news ul li div > div {
            display: flex;
            align-items: center;
            margin: 0 0 12px; }
          main .rlc_hero .news ul li div .date {
            font-size: 1.6rem;
            width: auto; }
            main .rlc_hero .news ul li div .date:lang(en) {
              width: auto; }
          main .rlc_hero .news ul li div span {
            display: block;
            width: 64px;
            margin: 0 0 0 6px;
            padding: 2px 0;
            font-size: 1.2rem; }
	main .rlc_hero .list_content ul {
		flex-wrap: wrap;
	}

  /*-----------
     footer
  ------------*/
  footer {
    padding: 20px 0 40px; }
    footer p {
      font-size: 1.6rem; } }

 /*-----------
     SHIMIZU DREAM
  ------------*/

.column {
  margin-top: 1.92308%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-bottom: .76923%;
  margin-bottom: 1.92308%;
  border-bottom: #aaa 1px solid;
}

.column__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: auto;
}

.column__movie {
  position: relative;
  cursor: pointer;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  width: 49%;
  background-color: #fff;
  margin-bottom: 50px;
  cursor: pointer;
}

.column__movie::after, .column__movie::before {
  content: "";
  z-index: 2;
  width: 0;
  height: 0;
  border: solid 2px transparent;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.column__movie::before {
  position: absolute;
  top: -2px;
  left: -2px;
}

.column__movie::after {
  position: absolute;
  right: -2px;
  bottom: -2px;
}

.column__movieTmb {
  position: relative;
  width: 100%;
}

.column__movieTmb figure {
  height: 100%;
}

.column__movieTmb figure::before {
  position: absolute;
  top: 0;
  left: 0;
  background: url(/newdoor/common/images/bg_tmb-fillter.png) repeat center center/100px;
  content: "";
  width: 100%;
  height: 100%;
}

.column__movieTmb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  height: calc((100 * 250vw)/ 1600);
}

.ie .column__movieTmb img {
  width: auto;
}

.column__movieBtn {
  position: absolute;
  left: calc((100 * 113vw)/ 1600);
  top: calc((100 * 79vw)/ 1600);
  width: calc((100 * 88vw)/ 1600);
  height: calc((100 * 88vw)/ 1600);
}

.column__movieBtn img {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

.column__movieText {
  width: 100%;
  margin-top: 4.6875%;
  padding: 0 3.125%;
  padding-top: calc((100 * 250vw)/ 1600);
}

.column__movieText small {
  font-size: 12px;
  font-size: .86643vw;
  font-family: Muli,serif;
  line-height: 1;
}

.column__movieTitle {
  font-size: 20px;
  font-size: 1.25vw;
}

.column__movieDescription {
  font-size: 17px;
  font-size: 1.22744vw;
}

.column__movie:hover::after, .column__movie:hover::before {
  width: 100%;
  height: 100%;
}

.column__movie:hover::before {
  border-top-color: #000;
  border-right-color: #000;
  -webkit-transition: width .2s,height .2s .2s;
  transition: width .2s,height .2s .2s;
}

.column__movie:hover::after {
  border-bottom-color: #000;
  border-left-color: #000;
  -webkit-transition: width .2s,height .2s .2s;
  transition: width .2s,height .2s .2s;
}

.column__article {
  width: 95%;
  margin-bottom: 50px;
  background-color: #fff;
}

.column__articleTmb {
  position: relative;
  width: 100%;
  height: 100%;
  height: calc((100 * 250vw)/ 1600);
  overflow: hidden;
}

@media screen and (max-width: 768px) {
	.column__article {
	  width: 100%;
	  margin-bottom: 10px;
	}

	.column__articleTmb {
	  height: calc((250 * 250vw)/ 1600);
	}
}

.column__articleTmb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.ie .column__articleTmb img {
  width: auto;
}

.column__articleText {
  padding: 1.5625% 4.6875% 6.25%;
  color: #000;
  margin-top: 4.6875%;
}

.column__articleText small {
  font-size: 12px;
  font-size: .86643vw;
  font-family: Muli,serif;
  line-height: 1;
}

.column__articleTitle {
  font-size: 20px;
  font-size: 1.25vw;
  font-weight: 600;
}

.column__articleDescription {
  font-size: 13px;
  font-size: .93863vw;
}

.column__article:hover .column__articleTmb img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.underButton {
  width: 100%;
  height: auto;
  margin-top: 7.69231%;
}

.underButton__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: no-wrap;
  flex-wrap: no-wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  padding: 2.30769% 0;
  border: solid 1px #000;
  pointer-events: auto;
}

.underButton__inner p {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  font-size: 14.4px;
  font-size: 1.03971vw;
  position: relative;
  margin-left: 4.07692%;
  padding-left: 3.84615%;
  border-left: solid 1px #000;
  color: #000;
}

.underButton__inner::before {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  content: "";
  width: 0;
  height: 100%;
  background-color: #000;
}

.underButton__logo {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  width: 12%;
  padding-top: 4.76923%;
  background: url(/newdoor/images/picture_book/logo_under-button-dream.svg) no-repeat center center/contain;
  position: relative;
}

.underButton__icon {
  position: absolute;
  top: 50%;
  right: 2.92308%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 10px;
  padding-top: 18px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAASCAYAAABit09LAAAA1UlEQVQokZ3SOwoCMRCA4d/1QWIKwUKw8zJ2os12gq3gfcReLS0sRMEb2NjYeQF7Yd1FEGWWLETdh5gikORjhswMRumZUfpglG6QszxgAhyBnVG6nkVLshmly8AcaAO9IApvqdDBC6AJ9IMovKdCi2vAyh59F3sutA++vV/aLN8RncjyqQ1wAUZBFD5SoYO3wBkYZ0KLpbZ7KZ+XB531LEot0U7SlP8/Y2u5Bq7AUJDc/1zwioOSfleBwWcLY+iglh2KNxRDo7SknwIdoJs2OUnK4sEFXkP6RoBHEmQIAAAAAElFTkSuQmCC) no-repeat center center/contain;
}

.underButton__inner:hover p {
  border-left: solid 1px #fff;
  color: #fff;
}

.underButton__inner:hover::before {
  width: 100%;
}

.underButton__inner:hover .underButton__icon {
  width: 10px;
  padding-top: 18px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAASCAYAAABit09LAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFIGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMTItMDZUMTk6MTU6NTgrMDk6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTEyLTA2VDE5OjE2OjIyKzA5OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTEyLTA2VDE5OjE2OjIyKzA5OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjVmOGU4MTI1LTMzNTAtNDI1Yi04OTNhLTY3Y2M4MDYzZDIzZiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1ZjhlODEyNS0zMzUwLTQyNWItODkzYS02N2NjODA2M2QyM2YiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1ZjhlODEyNS0zMzUwLTQyNWItODkzYS02N2NjODA2M2QyM2YiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjVmOGU4MTI1LTMzNTAtNDI1Yi04OTNhLTY3Y2M4MDYzZDIzZiIgc3RFdnQ6d2hlbj0iMjAxOS0xMi0wNlQxOToxNTo1OCswOTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+D2o8qQAAAOxJREFUKJF10jFKA1EUBdAzJlpYi41rENEVjKBWgTRiGewsdA+ft4mkD3YGKwXbbMA92ImdTYqojEVG/JnMvO4/Dh/e5RZVVU1wgouI+NQxRVVVBcY4wllELNpgrygKZVm+4BQ3ZVk+zOfzrybcgoj4wQjveEwp7bTCDF9jiVkTb+WPiFjist7fp5R6rTDDV9jD9A9vwBovMMABJimlohVmeGgV27gTNqbqhCmlXTzjFbetsEZPeMNdRGz+WOc3wwdGdb7rV2foO0fQz1APU2xjWOdpDWZoH4Mm4r9mExzivKtmfasuHlsVtxXBL5WZXO8Rh6nbAAAAAElFTkSuQmCC) no-repeat center center/contain;
}

.underButton__inner:hover .underButton__logo {
  width: 12%;
  padding-top: 4.76923%;
  background: url(/newdoor/images/picture_book/logo_under-button-dream_on.svg) no-repeat center center/contain;
}

.movieModal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 9999;
}

.movieModal__bg {
  display: none;
  width: 100%;
  height: 100vh;
  background-color: #fff;
}

.movieModal__contents {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 65%;
  max-width: 960px;
  height: auto;
  background-color: #000;
}

.movieModal__contents p {
  color: #fff;
}

.movieModal__closeButton {
  position: absolute;
  top: 30px;
  right: 2.1%;
  -webkit-transition: .3s;
  transition: .3s;
  width: 60px;
  height: 60px;
  padding: 10px;
}

.movieModal__closeButton::before {
  width: 100%;
  padding-top: 100%;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABHCAYAAACkuwGSAAAB1klEQVR4nO3cWU7DMBSF4SPWgNhG9w88hBXQhyDYTCky8gEnitoMHu7gX6rUQara7yFNfK0idgLwDOARvWDwEk3+GgBcAbw7Rwrf/RwthvSFJwCjc6QUZ4wmkzwj3cVhHpFW4zBPSJtxmAek3TjMMtJhHGYRKRsOs4SUHYdZQCqGwzQjFcdhGpGq4TBNSNVxWIp0ForUDIdJRmqOwyQiicFhkpDE4TAJSGJxWEsk8TisBZIaHFYTSR0Oq4GkFoeVRFKPw0ogmcFhOZHM4bAcSGZx2BEk8zhsD5IbHLYFyR0OW4PkFofdQnKPw5aQOs6sFGmc3XePwwLEZ4S5xvsicB4EfIbQN4BL8vgSn+vNjjlf8SZ5WlK1pQOyhpFSlW79WrlHWvNT7hZpy3mOO6Q9J4FukI6cIZtHynH5YBYp57WVOaQSF55mkEpelatHqrFkEd7zQyNSzfUcdUgtFrvUILVcCRSPJGGZVCySpDVkcUgSF9jFIEmePjRH0jCaaYakaW5VHUnjUK8akuaJZ3EkC+PgYkiWZuXZkSxuJMiGZHmXxWEkD1tQdiN52p+zGcnj5qXVSJ53dt1F6tvebiB1nP8WkV47zqQUKdj8/tvb0HEmBYs3AKcfyMyCViO4hA8AAAAASUVORK5CYII=) no-repeat center center/contain;
  content: "";
  display: block;
}

.movieModal__closeButton:hover {
  opacity: .4;
}

.movieModal .titleMovie {
  position: absolute;
  bottom: 105%;
  left: 0;
  right: 0;
  margin: 0 auto;
  color: #272727;
  font-size: 2rem;
  text-align: center;
}

.emFill {
  display: inline-block;
  position: relative;
  line-height: 1.5;
  padding: 0 10px 0 0;
  color: transparent;
  overflow: hidden;
  -webkit-transition: 0s 0.7s cubic-bezier(0.86, 0, 0.07, 1);
  transition: 0s 0.7s cubic-bezier(0.86, 0, 0.07, 1);
}

.emFill::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: #000;
  -webkit-transform: translate(-110%, 0);
  transform: translate(-110%, 0);
  -webkit-transition: 1.5s cubic-bezier(0.77, 0, 0.175, 1);
  transition: 1.5s cubic-bezier(0.77, 0, 0.175, 1);
}

.emFill.active {
  color: #272727;
}

.emFill.active::before {
  -webkit-transform: translate(110%, 0);
  transform: translate(110%, 0);
}

/*-----------
     photo gallery
  ------------*/

.column__photo {
  width: 30%;
  margin-bottom: 50px;
  background-color: #fff;
}

.column__photoTmb {
  position: relative;
  width: 100%;
  height: 100%;
  height: calc((100 * 250vw)/ 1600);
  overflow: hidden;
}

@media screen and (max-width: 768px) {
	.column__photo {
	  width: 100%;
	  margin-bottom: 10px;
	}

	.column__photoTmb {
	  height: calc((250 * 250vw)/ 1600);
	}
}

.column__photoTmb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.ie .column__photoTmb img {
  width: auto;
}

.column__photoText {
  padding: 1.5625% 4.6875% 6.25%;
  color: #000;
  margin-top: 4.6875%;
}

.column__photoText small {
  font-size: 12px;
  font-size: .86643vw;
  font-family: Muli,serif;
  line-height: 1;
}

/*.column__articleTitle {
  font-size: 20px;
  font-size: 1.25vw;
  font-weight: 600;
}*/

.column__photoDescription {
  font-size: 13px;
  font-size: .93863vw;
}

.column__photo:hover .column__photoTmb img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}



/* フローティングバナー */
.float_bnr {
  position: fixed;
  margin: 15px 20px;
  z-index: 99998;
  bottom: 50px;
  right: 0px;
}

.float_bnr_close {
  font-weight: bold;
  position: absolute;
  top: -15px;
  right: -15px;
  z-index: 99999;
  padding: 4px 8px;
  border: none;
  background-color: #f8f8f8;
  border-radius: 25px;
  cursor: pointer;
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.4);
}

.hide {
  display: none;
  opacity: 0;
  animation: fadeOut 0.3s ease-out 0s forwards;
}

@keyframes fadeOut {
  0% {
    display: block;
    opacity: 0;
  }
  1% {
    display: none;
    opacity: 0;
  }
  100% {
    display: none;
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .float_bnr {
    text-align: center;
    bottom: 0px;
    width: 60%;
  }
  .float_bnr_close {
    top: -16px;
    right: -18px;
    padding: 6px 12px;
    font-size: 21px;
  }
}