﻿@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&display=swap');
.fluffy {
  opacity: 0;
  position: relative
}
.fluffy-upper {
  bottom: -50px
}
.fluffy-upper.move {
  opacity: 1;
  bottom: 0;
  transition: all 0.8s
}
.fluffy-appear {
  opacity: 0
}
.fluffy-appear.move {
  opacity: 1;
  transition: all 0.8s ease
}
.fluffy-slidein-l {
  opacity: 0;
  left: -50px
}
.fluffy-slidein-l.move {
  opacity: 1;
  left: 0;
  transition: all 0.8s
}
.fluffy-slidein-r {
  opacity: 0;
  right: -50px
}
.fluffy-slidein-r.move {
  opacity: 1;
  right: 0;
  transition: all 0.8s
}
.fadelist > li {
  opacity: 0;
  top: 30px;
  position: relative
}
.fadelist.move > li {
  opacity: 1;
  top: 0px;
  transition: top 1s, opacity 1s
}
.fadelist.move > li:nth-of-type(1) {
  transition-delay: .3s
}
.fadelist.move > li:nth-of-type(2) {
  transition-delay: .6s
}
.fadelist.move > li:nth-of-type(3) {
  transition-delay: .9s
}
.fadelist.move > li:nth-of-type(4) {
  transition-delay: 1.2s
}
.fadelist.move > li:nth-of-type(5) {
  transition-delay: 1.5s
}
.fadelist.move > li:nth-of-type(6) {
  transition-delay: 1.8s
}
.fadelist.move > li:nth-of-type(7) {
  transition-delay: 2.1s
}
.fadelist.move > li:nth-of-type(8) {
  transition-delay: 2.4s
}
.fadelist.move > li:nth-of-type(9) {
  transition-delay: 2.7s
}
.fadelist.move > li:nth-of-type(10) {
  transition-delay: 3s
}
.fadelist.move > li:nth-of-type(11) {
  transition-delay: 3.3s
}
.fadelist.move > li:nth-of-type(12) {
  transition-delay: 3.6s
}
.fadelist.move > li:nth-of-type(13) {
  transition-delay: 3.9s
}
.fadelist.move > li:nth-of-type(14) {
  transition-delay: 4.2s
}
.fadelist.move > li:nth-of-type(15) {
  transition-delay: 4.5s
}
.fadelist.move > li:nth-of-type(16) {
  transition-delay: 4.8s
}
.fadelist.move > li:nth-of-type(17) {
  transition-delay: 5.1s
}
.fadelist.move > li:nth-of-type(18) {
  transition-delay: 5.4s
}
.fadelist.move > li:nth-of-type(19) {
  transition-delay: 5.7s
}
.fadelist.move > li:nth-of-type(20) {
  transition-delay: 6s
}
.fadelist.move > li:nth-of-type(21) {
  transition-delay: 6.3s
}
.fadelist.move > li:nth-of-type(22) {
  transition-delay: 6.6s
}
.fadelist.move > li:nth-of-type(23) {
  transition-delay: 6.9s
}
.fadelist.move > li:nth-of-type(24) {
  transition-delay: 7.2s
}
.fadelist.move > li:nth-of-type(25) {
  transition-delay: 7.5s
}
.fadelist.move > li:nth-of-type(26) {
  transition-delay: 7.8s
}
.fadelist.move > li:nth-of-type(27) {
  transition-delay: 8.1s
}
.fadelist.move > li:nth-of-type(28) {
  transition-delay: 8.4s
}
.fadelist.move > li:nth-of-type(29) {
  transition-delay: 8.7s
}
.fadelist.move > li:nth-of-type(30) {
  transition-delay: 9s
}
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
.flex-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}
.flex-col {
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column
}
.flex-row-r {
  -webkit-box-direction: reverse;
  -webkit-box-orient: horizontal;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse
}
.flex-jcc {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.flex-jcsb {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
.flex-jcfe {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end
}
.flex-aic {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.flex-aifs {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}
.flex-aife {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}
.float:after {
  clear: both;
  content: '';
  display: block;
  height: 0
}
.float-r {
  float: right
}
.float-l {
  float: left
}
.ctr {
  text-align: center
}
@media screen and (min-width: 601px) {
  .ctr-pc {
    text-align: center
  }
}
@media screen and (max-width: 600px) {
  .ctr-sp {
    text-align: center
  }
}
.pc, .pc-tab, .tab, .tab-sp, .sp {
  display: none
}
@media screen and (min-width: 601px) {
  .pc {
    display: inherit
  }
}
@media screen and (max-width: 600px) {
  .sp {
    display: inherit
  }
}
.clickoff {
  pointer-events: none
}
@media screen and (min-width: 601px) {
  .clickoff-pc {
    pointer-events: none
  }
}
@media screen and (max-width: 600px) {
  .clickoff-sp {
    pointer-events: none
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .clickoff-pc {
        pointer-events: auto!important;
        cursor: pointer!important;
  }
}

.alignleft {
  float: left;
  display: inline;
  margin-right: 20px
}
.alignright {
  float: right;
  display: inline;
  margin-left: 20px
}
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto
}
.clear {
  zoom: 1
}
.clear:after {
  clear: both;
  content: '';
  display: block;
  height: 0
}
.sitewrap .en {
  font: normal normal 700 1em/1.75 'Montserrat', "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "MS PGothic", "M+ 1p", sans-serif
}
.main .mt0 {
  margin-top: 0
}
.main .linktxt a {
  text-decoration: underline
}
.main .linktxt a:hover {
  text-decoration: none
}
.main .postlistsec {
  background: #f5f5f5;
  padding: 95px 0;
  position: relative
}
.main .postlistsec .ttlbox {
}
.main .postlistsec .ttlbox h2 {
  font-size: 8.0rem;
  line-height: 1;
  color: #002f75;
}
.main .postlistsec .ttlbox h2.jp {
  font-weight: 500;
  font-size: 3rem
}
.main .postlistsec .ttlbox p {
  margin-top: .8em;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1;
}
.main .txtbox > :first-child {
  margin-top: 0
}
.main .scrollbox {
  overflow-x: auto
}
.main .scrollbox > :first-child {
  margin-top: 0
}
.main .scrollbox table th, .main .scrollbox table td {
  display: table-cell !important
}
.main .postlist li {
  margin: 70px 5.13% 0 0;
  padding: 0 0 60px;
  width: 29.9%;
  max-width: 286px;
  position: relative
}
.main .postlist li:nth-of-type(3n) {
  margin-right: 0
}
.main .postlist li:nth-of-type(3n+1):before {
  content: '';
  display: block;
  width: 960px;
  height: 1px;
  background: #c2c2c2;
  position: absolute;
  left: 0;
  bottom: 0
}
.main .postlist a {
  display: block;
  text-decoration: none
}

.main .postlist .phtbox .pht {
  padding-top: 71.42%;
  position: relative
}

.main .postlist .phtbox .pht img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  position: absolute;
  left: 0;
  top: 0
}
.main .postlist .lrbox {
  margin: 30px 0 0
}
.main .postlist .lrbox .catbox {
  width: 75px
}
.main .postlist .lrbox .catbox .icon img {
  width: 100%;
  height: 100%;
}
.main .postlist .lrbox .txtbox {
  width: 198px
}
.main .postlist .lrbox .txtbox .ttl {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: .1em
}
@media screen and (max-width: 600px) {
  .main .postlistsec {
    padding: 55px 0 65px
  }
  .main .postlistsec .ttlbox {
  }
  .main .postlistsec .ttlbox h2 {
    font-size: 3.8rem;
  }
  .main .postlistsec .ttlbox h2.jp {
    font-weight: 700;
    font-size: 2.4rem
  }
  .main .postlistsec .ttlbox p {
    margin-top: .2em;
    margin-bottom: 2em;
    font-size: 1.4rem;
  }
  .main .scrollbox {
    margin-right: -5.5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
  .main .scrollbox:after {
    content: '';
    display: block;
    padding-right: 5.5%
  }
  .main .postlist li {
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: none;
    position: relative;
    border-bottom: 1px solid #c2c2c2
  }
  .main .postlist li:nth-of-type(3n+1):before {
    content: none
  }
  .main .postlist a {
    display: -webkit-box;



    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 17px 0
  }
  .main .postlist .phtbox {
    width: 42%
  }
  .main .postlist .lrbox {
    width: 54.1%;
    margin: 0
  }
  .main .postlist .lrbox .catbox {
    width: 50px
  }
  .main .postlist .lrbox .txtbox {
    width: calc(100% - 60px)
  }
  .main .postlist .lrbox .txtbox .ttl {
    font-size: 1.4rem;
    line-height: 1.6
  }
}