.web_font01 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600; }

.object-fit-img, #Mv_ttl .img_wrap img {
  object-fit: cover;
  font-family: "object-fit: contain;"; }

.bg_dot, #Contents_area .bg:before, #Contents_area .bg:after {
  display: block;
  content: '';
  background: url("../images/bg_dot.png") center repeat;
  background-size: 6px 9px;
  position: absolute;
  z-index: 20;
  opacity: .4; }

@media screen and (max-width: 736px) {
  .bg_dot, #Contents_area .bg:before, #Contents_area .bg:after {
    background: url("../images/bg_dot.png") center repeat;
    background-size: 4px 6px; } }
.dis_no {
  display: none !important; }

#header .logo a {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  transition: all 0s 0s cubic-bezier(0, 0, 0.395, 0.995); }
#header #nav-toggle {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  transition: all 0s 0s cubic-bezier(0, 0, 0.395, 0.995); }
#header .lang a {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  transition: all 0s 0s cubic-bezier(0, 0, 0.395, 0.995); }

/*------------------------------------------------------------
#Mv_ttl
------------------------------------------------------------*/
#Mv_ttl {
  position: relative; }
  #Mv_ttl.is_show .ttl i:nth-of-type(1) img {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    -ms-filter: blur(0px);
    filter: blur(0px);
    transition: opacity 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) 0s, transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) 0s, filter 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }
  #Mv_ttl.is_show .img_wrap .img_wrap_inner .img {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    -ms-filter: blur(0px);
    filter: blur(0px);
    transition: opacity 0.8s cubic-bezier(0, 0, 0.395, 0.995) 0.1s, transform 0.8s cubic-bezier(0, 0, 0.395, 0.995) 0.1s, filter 0.8s cubic-bezier(0, 0, 0.395, 0.995) 0.1s; }
  #Mv_ttl .ttl {
    position: absolute;
    left: 13.5416666667vw;
    top: -60px;
    z-index: 33; }
    #Mv_ttl .ttl i {
      overflow: hidden;
      display: inline-block; }
      #Mv_ttl .ttl i img {
        opacity: 0;
        transform: translate3d(0, 90px, 0) scale(1);
        -ms-filter: blur(0px);
        filter: blur(0px);
        perspective: 1000;
        -webkit-perspective: 1000;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden; }
  #Mv_ttl .img_wrap {
    width: 86.4583333333vw;
    height: 26vw;
    min-height: 500px;
    position: relative;
    z-index: 30;
    margin-left: auto; }
    #Mv_ttl .img_wrap .img_wrap_inner {
      overflow: hidden;
      height: 100%; }
      #Mv_ttl .img_wrap .img_wrap_inner .img {
        height: 100%;
        opacity: 0;
        transform: translate3d(0, 0px, 0) scale(1.1);
        -ms-filter: blur(20px);
        filter: blur(20px);
        perspective: 1000;
        -webkit-perspective: 1000;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden; }
        #Mv_ttl .img_wrap .img_wrap_inner .img > div {
          height: 100%; }
    #Mv_ttl .img_wrap img {
      width: 100%;
      height: 100%; }
  #Mv_ttl .deco-1 {
    width: 182px;
    right: -40px;
    top: -90px; }

@media screen and (max-width: 736px) {
  #Mv_ttl {
    padding-top: 11.5625vw; }
    #Mv_ttl .ttl {
      left: 9.375vw;
      top: 5.3125vw; }
      #Mv_ttl .ttl img {
        width: 65.625vw;
        height: auto; }
    #Mv_ttl .img_wrap {
      width: 100vw;
      height: 49vw;
      min-height: 157px; }
    #Mv_ttl .deco-1 {
      width: 55px;
      right: -27px;
      top: 10px; } }
/*------------------------------------------------------------
#Contents_area
------------------------------------------------------------*/
#Contents_area {
  padding-top: 100px;
  padding-bottom: 250px;
  position: relative; }
  #Contents_area .bg_area.m_fixed {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%; }
  #Contents_area .deco-2 {
    width: 200px;
    right: 50%;
    margin-right: 780px;
    top: -350px; }
  #Contents_area .deco-3 {
    width: 418px;
    right: -223px;
    top: -115px; }
  #Contents_area .deco-4 {
    width: 180px;
    left: -90px;
    top: 260px; }
  #Contents_area .deco-5 {
    width: 280px;
    right: 50%;
    margin-right: -80px;
    top: 383px; }
  #Contents_area .deco-6 {
    width: 217px;
    right: -108px;
    top: 820px; }
  #Contents_area .deco-7 {
    width: 340px;
    left: 60px;
    top: 950px; }
  #Contents_area .deco-8 {
    width: 165px;
    right: 180px;
    top: 1365px; }
  #Contents_area .deco-9 {
    width: 170px;
    left: -90px;
    top: 1685px; }
  #Contents_area .deco-10 {
    width: 239px;
    right: 110px;
    top: 1905px; }
  #Contents_area .deco-11 {
    width: 280px;
    right: 50%;
    margin-right: 345px;
    top: 2048px; }
  #Contents_area .deco-12 {
    width: 251px;
    left: 50%;
    margin-left: 270px;
    top: 2520px; }
  #Contents_area .deco-13 {
    width: 152px;
    right: 50%;
    margin-right: 375px;
    top: 2690px; }
  #Contents_area .deco-14 {
    width: 311px;
    left: -155px;
    top: 3050px; }
  #Contents_area .bg1:before {
    width: 33.8vw;
    height: 611px;
    top: -702px;
    left: 0; }
  #Contents_area .bg1:after {
    width: 65.7vw;
    height: 444px;
    top: -91px;
    right: 0;
    display: none; }
  #Contents_area .bg2:before {
    width: 33.8vw;
    height: 235px;
    top: 355px;
    left: 0; }
  #Contents_area .bg2:after {
    width: 45vw;
    height: 400px;
    top: 725px;
    left: 0; }
  #Contents_area .bg3:before {
    width: 55vw;
    height: 330px;
    top: 1124px;
    right: 0; }
  #Contents_area .bg3:after {
    width: 32vw;
    height: 306px;
    top: 1470px;
    left: 0; }
  #Contents_area .bg4:before {
    width: 68vw;
    height: 241px;
    top: 1778px;
    right: 0; }
  #Contents_area .bg4:after {
    width: 38vw;
    height: 351px;
    top: 2269px;
    left: 0; }
  #Contents_area .bg5:before {
    width: 45vw;
    height: 552px;
    top: 2667px;
    right: 0; }
  #Contents_area .bg5:after {
    width: 55vw;
    height: 736px;
    top: 3219px;
    left: 0; }
  #Contents_area .inner {
    max-width: 72.9166666667vw; }
  #Contents_area .nav_area {
    position: relative;
    z-index: 30;
    width: 100%;
    height: 60px; }
    #Contents_area .nav_area.m_fixed {
      left: 0;
      position: fixed;
      top: 0; }
    #Contents_area .nav_area input {
      opacity: 0;
      cursor: pointer;
      margin: 0;
      padding: 0;
      line-height: 1; }
    #Contents_area .nav_area label {
      margin: 0 0 0 -15px;
      cursor: pointer;
      padding: 0;
      line-height: 1; }
    #Contents_area .nav_area .inner {
      height: 100%; }
    #Contents_area .nav_area .nav_area_in {
      height: 100%;
      border-bottom: 1px solid #000;
      display: flex;
      align-items: center;
      justify-content: space-between; }
    #Contents_area .nav_area .big_cat_area ul {
      display: flex;
      align-items: center;
      line-height: 1; }
      #Contents_area .nav_area .big_cat_area ul li {
        margin-right: 4.1666666667vw;
        opacity: 0.4; }
        #Contents_area .nav_area .big_cat_area ul li.on {
          opacity: 1; }
        #Contents_area .nav_area .big_cat_area ul li img {
          width: auto;
          height: 1.4583333333vw; }
        #Contents_area .nav_area .big_cat_area ul li:nth-of-type(1) {
          width: 36px;
          width: 1.875vw; }
        #Contents_area .nav_area .big_cat_area ul li:nth-of-type(2) {
          width: 84px;
          width: 4.375vw; }
        #Contents_area .nav_area .big_cat_area ul li:nth-of-type(3) {
          width: 69px;
          width: 3.59375vw; }
        #Contents_area .nav_area .big_cat_area ul li:nth-of-type(4) {
          width: 74px;
          width: 3.8541666667vw; }
        #Contents_area .nav_area .big_cat_area ul li:nth-of-type(5) {
          width: 110px;
          width: 5.7291666667vw; }
        #Contents_area .nav_area .big_cat_area ul li:nth-of-type(6) {
          width: 64px;
          width: 3.3333333333vw; }
    #Contents_area .nav_area .small_cat_area {
      width: 9.8958333333vw;
      font-size: max(0.7291666667vw, 1rem);
      line-height: 1; }
      #Contents_area .nav_area .small_cat_area .view_txt_area {
        display: flex;
        cursor: pointer;
        white-space: nowrap; }
      #Contents_area .nav_area .small_cat_area ul {
        background: #eaeaea;
        width: 120px;
        position: absolute;
        right: 0;
        top: 60px;
        height: 0;
        padding: 0;
        overflow: hidden;
        border-left: 1px solid #000;
        border-right: 1px solid #000;
        border-bottom: 1px solid #000;
        transition: height .2s 0s ease-in-out ,border .2s .0s ease-in-out; }
        #Contents_area .nav_area .small_cat_area ul.view {
          border-top: 1px solid #000;
          height: 162px; }
        #Contents_area .nav_area .small_cat_area ul li {
          line-height: 1;
          padding-left: 20px;
          padding-bottom: 20px;
          cursor: pointer; }
          #Contents_area .nav_area .small_cat_area ul li:first-child {
            padding-top: 20px; }
          #Contents_area .nav_area .small_cat_area ul li:last-child {
            margin-bottom: 0; }
  #Contents_area .box_area {
    padding-top: 80px;
    padding-right: 80px;
    position: relative;
    width: 100%; }
    #Contents_area .box_area ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      padding-inline-start: 0; }
      #Contents_area .box_area ul li {
        width: 47%;
        margin-bottom: 100px;
        position: relative; }
        #Contents_area .box_area ul li > a {
          display: block;
          position: absolute;
          width: 100%;
          height: 100%;
          left: 0;
          top: 0;
          z-index: 10; }
        #Contents_area .box_area ul li dl dt {
          margin-bottom: 15px; }
          #Contents_area .box_area ul li dl dt img {
            width: 100%;
            height: auto; }
        #Contents_area .box_area ul li dl dd .ttl {
          font-weight: bold;
          font-size: 2.0rem;
          line-height: 1.4;
          margin-bottom: 10px; }
        #Contents_area .box_area ul li dl dd .txt {
          font-size: 1.4rem;
          line-height: 1.71;
          margin-bottom: 15px;
          font-weight: 100; }
        #Contents_area .box_area ul li dl dd .under_area {
          background: #000;
          color: #fff;
          font-size: 1.2rem;
          font-size: max(0.625vw, 0.8rem);
          font-size: 0.625vw;
          display: flex;
          justify-content: space-between;
          align-items: center;
          line-height: 1;
          padding: 7px 0.5208333333vw; }
          #Contents_area .box_area ul li dl dd .under_area .cat {
            display: flex;
            align-items: center; }
            #Contents_area .box_area ul li dl dd .under_area .cat p {
              margin-left: 1.3020833333vw; }
  #Contents_area .more-btn {
    width: 100%;
    line-height: 1;
    display: flex;
    justify-content: center; }
    #Contents_area .more-btn:hover {
      cursor: pointer; }
    #Contents_area .more-btn span {
      position: relative;
      padding-right: 55px; }
      #Contents_area .more-btn span:before {
        display: block;
        content: '';
        width: 28px;
        height: 1px;
        background: #000000;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate3d(0, -50%, 0); }
      #Contents_area .more-btn span:after {
        display: block;
        content: '';
        width: 1px;
        height: 28px;
        background: #000000;
        position: absolute;
        top: 50%;
        right: 14px;
        transform: translate3d(0, -50%, 0); }

@media screen and (max-width: 736px) {
  #Contents_area {
    padding-top: 7.8125vw;
    padding-bottom: 23.4375vw; }
    #Contents_area .deco-2 {
      width: 35px;
      top: -17px;
      left: -26px;
      z-index: 30; }
    #Contents_area .deco-3 {
      width: 166px;
      right: auto;
      top: -42px;
      right: -76px;
      margin-right: 0;
      z-index: 30; }
    #Contents_area .deco-5 {
      width: 98px;
      right: -27px;
      margin-right: 0;
      top: 367px; }
    #Contents_area .deco-6 {
      width: 56px;
      left: auto;
      right: -40px;
      top: 721px; }
    #Contents_area .deco-7 {
      width: 150px;
      right: auto;
      left: -82px;
      top: 564px; }
    #Contents_area .deco-15 {
      width: 137px;
      left: auto;
      right: -35px;
      top: 991px; }
    #Contents_area .deco-16 {
      width: 108px;
      left: -53px;
      top: 1365px; }
    #Contents_area .deco-17 {
      width: 113px;
      left: auto;
      right: -55px;
      top: 1640px; }
    #Contents_area .deco-8 {
      width: 75px;
      right: auto;
      left: -23px;
      top: 1894px; }
    #Contents_area .deco-9 {
      width: 35px;
      left: -18px;
      top: 2035px; }
    #Contents_area .deco-11 {
      width: 136px;
      left: -65px;
      top: 2321px; }
    #Contents_area .deco-14 {
      width: 114px;
      left: auto;
      right: -56px;
      margin-right: 0;
      top: 2068px; }
    #Contents_area .bg1:before {
      width: 34vw;
      height: 315px;
      top: -259px;
      left: auto;
      right: 0; }
    #Contents_area .bg1:after {
      width: 66vw;
      height: 385px;
      top: 56px;
      right: auto;
      left: 0; }
    #Contents_area .bg2:before {
      width: 57vw;
      height: 220px;
      top: 441px;
      left: auto;
      right: 0; }
    #Contents_area .bg2:after {
      width: 43vw;
      height: 211px;
      top: 539px;
      right: auto;
      left: 0; }
    #Contents_area .bg3:before {
      width: 67.6vw;
      height: 189px;
      top: 872px;
      right: 0; }
    #Contents_area .bg3:after {
      width: 32vw;
      height: 308px;
      top: 1060px;
      left: 0; }
    #Contents_area .bg4:before {
      width: 57vw;
      height: 220px;
      top: 1444px; }
    #Contents_area .bg4:after {
      width: 69vw;
      height: 121px;
      top: 1665px; }
    #Contents_area .bg5:before {
      width: 32vw;
      height: 308px;
      top: 2051px;
      right: auto;
      left: 0; }
    #Contents_area .bg5:after {
      width: 68vw;
      height: 308px;
      height: 100%;
      top: 2359px;
      left: auto;
      right: 0; }
    #Contents_area .inner {
      max-width: none;
      width: calc(100% - 18.75vw);
      margin: 0 9.375vw; }
    #Contents_area .nav_area {
      height: 9.375vw; }
      #Contents_area .nav_area label {
        margin-left: -2.34375vw; }
      #Contents_area .nav_area .nav_area_in {
        border-bottom: none;
        display: block; }
      #Contents_area .nav_area .big_cat_area {
        position: relative; }
        #Contents_area .nav_area .big_cat_area:before {
          display: block;
          content: '';
          width: 100%;
          height: 1px;
          background: #000;
          position: absolute;
          top: calc(50% - 2px);
          top: calc(50% - 0px);
          left: 0; }
        #Contents_area .nav_area .big_cat_area:after {
          display: block;
          content: '';
          width: 100%;
          height: 1px;
          background: #000;
          position: absolute;
          bottom: 2px;
          left: 0; }
        #Contents_area .nav_area .big_cat_area ul {
          flex-wrap: wrap;
          padding-right: 25vw;
          box-sizing: border-box; }
          #Contents_area .nav_area .big_cat_area ul li {
            margin-right: 0;
            height: 9.375vw;
            display: flex;
            align-items: center; }
            #Contents_area .nav_area .big_cat_area ul li img {
              height: auto; }
            #Contents_area .nav_area .big_cat_area ul li:nth-of-type(1) {
              width: 16.40625vw; }
              #Contents_area .nav_area .big_cat_area ul li:nth-of-type(1) img {
                width: 5.625vw; }
            #Contents_area .nav_area .big_cat_area ul li:nth-of-type(2) {
              width: 21.875vw; }
              #Contents_area .nav_area .big_cat_area ul li:nth-of-type(2) img {
                width: 13.125vw; }
            #Contents_area .nav_area .big_cat_area ul li:nth-of-type(3) {
              width: 17.1875vw; }
              #Contents_area .nav_area .big_cat_area ul li:nth-of-type(3) img {
                width: 10.78125vw; }
            #Contents_area .nav_area .big_cat_area ul li:nth-of-type(4) {
              width: 16.40625vw; }
              #Contents_area .nav_area .big_cat_area ul li:nth-of-type(4) img {
                width: 11.5625vw; }
            #Contents_area .nav_area .big_cat_area ul li:nth-of-type(5) {
              width: 21.875vw; }
              #Contents_area .nav_area .big_cat_area ul li:nth-of-type(5) img {
                width: 17.1875vw; }
            #Contents_area .nav_area .big_cat_area ul li:nth-of-type(6) {
              width: 17.1875vw; }
              #Contents_area .nav_area .big_cat_area ul li:nth-of-type(6) img {
                width: 9.84375vw; }
      #Contents_area .nav_area .small_cat_area {
        position: absolute;
        width: 25vw;
        font-size: 2.1875vw;
        right: 0;
        bottom: 0;
        height: 9.375vw;
        display: flex;
        align-items: center; }
        #Contents_area .nav_area .small_cat_area .view_txt_area {
          padding-top: 1.5625vw; }
        #Contents_area .nav_area .small_cat_area ul {
          width: 18.75vw;
          top: 9.375vw;
          letter-spacing: 0.05em; }
          #Contents_area .nav_area .small_cat_area ul.view {
            height: 23.4375vw; }
          #Contents_area .nav_area .small_cat_area ul li {
            padding-left: 1.5625vw;
            padding-bottom: 1.25vw; }
            #Contents_area .nav_area .small_cat_area ul li:first-child {
              padding-top: 1.5625vw; }
    #Contents_area .box_area {
      padding-top: 18.75vw;
      padding-right: 0; }
      #Contents_area .box_area ul {
        display: block; }
        #Contents_area .box_area ul li {
          width: 100%;
          margin-bottom: 18.75vw; }
          #Contents_area .box_area ul li dl dt {
            margin-bottom: 4.6875vw; }
          #Contents_area .box_area ul li dl dd .ttl {
            font-size: 3.4375vw;
            line-height: 1.63;
            margin-bottom: 3.125vw; }
          #Contents_area .box_area ul li dl dd .txt {
            font-size: 3.4375vw;
            line-height: 1.63;
            margin-bottom: 4.6875vw; }
          #Contents_area .box_area ul li dl dd .under_area {
            font-size: 2.96875vw;
            padding: 1.09375vw 1.5625vw 1.25vw;
            letter-spacing: 0.03em; }
            #Contents_area .box_area ul li dl dd .under_area .cat p {
              margin-left: 2.65625vw; }
              #Contents_area .box_area ul li dl dd .under_area .cat p span {
                display: none; }
    #Contents_area .more-btn span {
      padding-right: 8.59375vw; }
      #Contents_area .more-btn span:before {
        width: 5.46875vw; }
      #Contents_area .more-btn span:after {
        height: 5.46875vw;
        right: 2.734375vw; }
      #Contents_area .more-btn span img {
        width: 21.875vw;
        height: auto; } }
