@charset "utf-8";
/* CSS Document */
html {
  scroll-padding-top: 70px;
}
.blog-header {
  position: relative;
}
.blog-subheader {
  position: relative;
  height: 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: #efefef;
  padding: 20px 80px;
  z-index: 2000;
}
.blog-subheader .header-right-inner {
  opacity: 0;
}
.blog-subheader .header-right-inner .btn.btn-login a {
  border: 1px solid #fff;
}
.blog-subheader.fixed {
  position: fixed;
  top: 0;
}
.blog-subheader.fixed .header-right-inner {
  opacity: 1;
  transition-duration: .4s;
}

.blog-subheader ul {
  display: flex;
  align-items: center;
}
.blog-subheader ul li {
  padding: 0 40px;
}
.blog-subheader ul .logo {
  margin-right: 50px;
  padding: 0;
}
.blog-subheader ul .logo img {
  width: 165px;
}
.blog-subheader ul li a {
  font-family: "oscine", sans-serif;
  font-size: 19px;
  color: #333;
  font-weight: 800;
  opacity: 0.56;
}
.blog-subheader ul li.logo a {
  opacity: 1;
}
.blog-subheader ul li a:hover {
  opacity: 1;
}

@media screen and (max-width: 1700px) {
  .blog-subheader {
    padding: 20px 8.0rem;
  }
}
@media screen and (max-width: 1500px) {
  .blog-subheader {
    padding: 20px 8.0rem;
  }
}
@media screen and (max-width: 1400px) {
  .blog-subheader {
    padding: 20px 30px;
  }
  .blog-subheader ul li {
    margin-right: 50px;
  }
  .blog-subheader ul .logo {
    margin-right: 95px;
  }
}
@media screen and (max-width: 1100px) {
  .blog-subheader ul {
    gap: 40px;
  }
  .blog-subheader ul li {
    margin-right: 0;
  }
  .blog-subheader ul .logo {
    margin-right: 0;
  }
}
@media screen and (max-width: 800px) {
  .blog-header {
    display: none;
  }
  .blog-subheader {
    position: fixed;
    top: 0;
    padding: 20px 3%;
  }
  .sub-hamburger-menu {
    width: 60vw;
    padding: 5% 8% 10%;
  }
  .sub-hamburger-menu .top-link {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #909090;
  }
}

.blog-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6.0rem 15rem;
}
.blog-top.scroll {
  margin-top: 70px;
}
.sub-contents-blog {
  margin-top: 16px;
  padding: 4.0rem 15rem;
}
.sub-contents-blog h2 {
  font-family: "oscine", sans-serif;
  font-size: 55px;
  font-weight: 700;
}
.featured-articles {
  background: #F1F1F1;
}
.top-articles {
  background: #cfe2f3;
}

.blog-top h1 {
  font-family: "oscine", sans-serif;
  font-size: 60px;
}
.blog-top-tx {
  margin: 80px 0;
  font-size: 25px;
  font-weight: 800;
}
.blog-link {
  margin-top: 30px;
}
.blog-link a {
  display: flex;
  font-size: 25px;
  font-weight: 800;
  color: #333333;
}
.blog-link a span {
  margin-left: 8px;
}
.blog-link a span img {
  vertical-align: middle;
}
.blog-link a:hover {
  color: #c70500;
}
.blog-link .arrow-hover {
  display: none;
}
.blog-link a:hover .arrow {
  display: none;
}
.blog-link a:hover .arrow-hover {
  display: block;
}
.blog-top > div {
  flex:1;
}
.blog-top > figure {
  margin-left: 20px;
}
.blog-top > figure img {
  width: 700px;
  height: 400px;
  object-fit: cover;
  object-position: center;
}
.blog--articles-category , .blog--articles-sub-tx {
  margin-bottom: 10px;
  color: #7C7C7C;
  font-family: "oscine", sans-serif;
  font-size: 16px;
  font-weight: bold;
}
.blog-top--articles-category {
  margin-bottom: 20px;
  font-size: 26px;
}
.blog--articles-sub-tx {
  margin: 10px 0 0;
}
.blog-top--tx {
  margin-top: 20px;
  font-size: 18px;
}

.category-articles__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.blog-category-link {
  margin: 0;
}
.blog-category-link a {
  font-weight: 700;
}

@media screen and (max-width: 1700px) {
  .blog-top {
    padding: 6.0rem 8.0rem;
  }
  .sub-contents-blog {
    padding: 4.0rem 8.0rem;
  }
}
@media screen and (max-width: 1600px) {
  .blog-top-tx {
    margin: 60px 0;
  }
  .blog-top > figure img {
    width: 650px;
    height: 380px;
  }
  .blog-top--articles-category {
    margin-bottom: 10px;
    font-size: 20px;
  }
}
@media screen and (max-width: 1500px) {
  .sub-contents-blog h2 {
    font-size: 50px;
  }
}
@media screen and (max-width: 1400px) {
  .blog-top , .sub-contents-blog {
    padding: 3.0rem;
  }
  .blog-top h1 {
    font-size: 50px;
  }
  .blog-top-tx {
    margin: 40px 0;
    font-size: 20px;
  }
  .blog-link a {
    font-size: 20px;
  }
  .blog-top > figure img {
    width: 550px;
    height: 350px;
  }
}
@media screen and (max-width: 1100px) {
  .blog-top h1 {
    font-size: 40px;
  }
  .blog-top-tx {
    margin: 30px 0;
  }
  .blog-top > figure img {
    width: 400px;
    height: 320px;
  }
  .sub-contents-blog h2 {
    font-size: 40px;
  }
}
@media screen and (max-width: 800px) {
  .blog-top {
    margin-top: 70px;
    padding: 10% 5% 5%;
    display: block;
  }
  .blog-top figure {
    margin-left: 0;
  }
  .blog-top figure img {
    width: 100%;
    height: auto;
    margin: 5% auto 0;
  }
  .sub-contents-blog {
    margin-top: 10px;
  }
  .blog-category-link a{
    margin-top: 10px;
    justify-content: right;
    font-size: 18px;
  }
}


.home-contents-bottom-inner {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20%;
  text-align: center;
  margin: 0;
}
.contents-bottom-tx {
  font-size: 80px;
  font-weight: 300;
  margin-bottom: 8%;
}
.contents-bottom-logo img {
  width: 420px;
}
.home-contents-bottom .btn {
  margin-top: 8%;
}
@media screen and (max-width: 1500px) {
  .home-contents-bottom-inner {
    right: 15%;
  }
  .contents-bottom-tx {
    font-size: 70px;
  }
}
@media screen and (max-width: 1200px) {
  .home-contents-bottom-inner {
    right: 10%;
  }
  .contents-bottom-tx {
    font-size: 50px;
  }
  .contents-bottom-logo img {
    width: 350px;
  }
}
@media screen and (max-width: 800px) {
  .home-contents-bottom-inner {
    margin: 0;
    width: 50%;
    right: 5%;
  }
  .contents-bottom-tx {
    margin-bottom: 5%;
    font-size: 27px;
  }
  .contents-bottom-logo img {
    max-width: 380px;
    width: 90%;
  }
}

.blog--articles {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 100px;
}
.blog--articles li {
  background: #fff;
}
.blog--articles li a {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: #333333;
}
.blog--articles li a:hover {
  opacity: 0.8;
}
.blog--articles figure img {
  width: 100%;
}
.blog--articles .articles-detail {
  padding: 15px 20px;
  flex:1;
  border-top: none;
}
.blog--articles .articles-detail .articles-title {
  font-family: "oscine", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
.blog--articles .articles-detail .articles-tx {
  margin-top: 10px;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

@media screen and (max-width: 1600px) {
  .blog--articles {
    gap: 60px;
  }
}
@media screen and (max-width: 1400px) {
  .blog--articles {
    margin-top: 30px;
    gap: 40px;
  }
  .blog--articles .articles-detail .articles-title {
    font-size: 20px;
  }
}
@media screen and (max-width: 800px) {
  .sub-contents-blog {
    padding: 5%;
  }
  .blog--articles {
    grid-template-columns: 1fr;
  }
}

.blog-child-top , .blog--articles-wrap {
  padding: 6.0rem 15rem;
}
.blog-child-top.scroll {
  margin-top: 70px;
}
.blog-child-top h2 {
  margin-bottom: 4.0rem;
  font-family: "oscine", sans-serif;
  font-size: 70px;
  font-weight: 700;
}
.blog--articles-wrap h2 {
  margin-bottom: 4.0rem;
  font-family: "oscine", sans-serif;
  font-size: 55px;
  font-weight: 700;
}
@media screen and (max-width: 1700px) {
  .blog-child-top , .blog--articles-wrap {
    padding: 6.0rem 8.0rem;
  }
}
@media screen and (max-width: 1500px) {
  .blog-child-top h2 {
    margin-bottom: 3.0rem;
    font-size: 60px;
  }
  .blog--articles-wrap h2 {
    margin-bottom: 3.0rem;
    font-size: 50px;
  }
}
@media screen and (max-width: 1400px) {
  .blog-child-top , .blog--articles-wrap {
    padding: 5% 30px;
  }
}
@media screen and (max-width: 1100px) {
  .blog-child-top h2 {
    font-size: 45px;
    margin-bottom: 2.0rem;
  }
  
  .blog--articles-wrap h2 {
    font-size: 40px;
    margin-bottom: 2.0rem;
  }
}
@media screen and (max-width: 800px) {
  .blog-child-top , .blog--articles-wrap {
    margin-top: 70px;
    padding: 10% 5% 25%;
  }
}

/*ページネーション*/
.pagination-container {
  margin-top: 80px;
}
.pagination-container .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagination-container .pagination li a {
  display: inline-block;
  width: 40px;
  color: #7C7C7C;
  font-family: "oscine", sans-serif;
  font-weight: bold;
  font-size: 25px;
  text-align: center;
}
.pagination-container .pagination li.active a {
  color: #333;
}
.pagination-container .pagination li.prev a,
.pagination-container .pagination li.next a ,
.pagination-container .pagination li.first a ,
.pagination-container .pagination li.last a {
  font-size: 23px;
  font-family: "thornwood-vf",sans-serif;
  font-variation-settings: 'wdth' 100, 'wght' 600;
}
.pagination-container .pagination li a:hover {
  color: #333;
}
@media screen and (max-width: 800px) {
  .pagination-container {
    margin-top: 20%;
  }
}


.blog-articles-top {
  flex-direction: column;
  width: 750px;
  margin-right: auto;
  margin-left: auto;
  padding: 6.0rem 0;
}
.blog-articles-top h1 {
  margin: 3.0rem 0;
  font-family: "oscine", sans-serif;
  font-size: 50px;
}
.blog-articles-top figure {
  margin-left: 0;
}
.blog-articles-item {
  margin: 4.0rem 0;
}
.blog-articles-item .blog-child-tx,
.blog-articles-item .blog-top-tx {
  margin: 0 0 2.0rem;
}
.blog-articles-item .blog-top-tx {
  text-indent: -1em;
  padding-left: 1em;
  font-family: "oscine", sans-serif;
  font-size: 36px;
  font-weight: 700;
}
.blog-articles-item .blog-top-sub-tx {
  margin: 2.0rem 0 2.0rem;
  text-indent: -1.5em;
  padding-left: 1.5em;
  font-size: 21px;
}
.blog-articles-item .blog-child-tx {
  font-size: 16px;
  line-height: 1.7;
}
.blog-articles-item .blog-child-tx span {
  font-weight: bold;
}
.blog-articles-item .blog-child-tx a:hover {
  opacity: 0.7;
}
.blog-child-tx li + li {
  margin-top: 1.0rem;
}


.blog-articles-item .btn-mark {
  display: inline-block;
  margin: 0 4.0rem 0.5rem;
  background: #fff38e;
  font-weight: 700;
}
.blog-child-tx.quotation {
  padding: 20px;
  background: #cfe2f3;
}
.blog-child-tx.quotation.yellow {
  background: #FFFFCC;
}
.blog__child-tx--italic {
  font-style: italic;
  padding-left: 30px;
}
em.blog__child-tx--italic {
  padding-left: 0;
}
.blog__child-tx--red {
  color:#eb4242;
}
.blog-articles-item ul.blog-child-tx {
  padding-left: 2.0rem;
}
.blog-child-tx.step {
  padding: 20px;
  border-left: 4px solid #000;
  background: #efefef;
}
.blog-child-tx.step span {
  color: #000;
  padding-right: 5px;
}

.unordered-list ,
.ordered-list {
  margin: 0 0 2.0rem;
  padding-left: 40px;
  font-size: 16px;
  line-height: 1.7;
}
.unordered-list li + li ,
.ordered-list li + li {
  margin-top: 1.0rem;
}
.unordered-list li {
  position: relative;
}
.unordered-list li::before {
  display: inline-block;
  content: "";
  position: absolute;
  top: 11px;
  left: -20px;
  width: 6px;
  height: 6px;
  vertical-align: top;
  border-radius: 3px;
  background-color: #899B93;
}
.unordered-list span {
  font-weight: bold;
}
.unordered-list-title {
  margin: 0 0 1.0rem;
  padding-left: 15px;
  font-size: 16px;
}
.unordered-list-title span {
  font-weight: bold;
}

.ordered-list {
  padding-left: 30px;
  list-style-type: decimal;
}
.ordered-list li {
  padding-left: 10px;
}
.ordered-list li::marker {
  color: #899B93;
  font-weight: bold;
  font-family: "Montserrat", 'Helvetica', 'Arial', sans-serif;
}

@media screen and (max-width: 800px) {
  .unordered-list ,
  .ordered-list {
    padding-left: 30px;
  }
  .unordered-list li::before {
    top: 11px;
    left: -20px;
  }
  .ordered-list {
    padding-left: 22px;
  }
  .ordered-list li {
    padding-left: 3px;
  }
}


.blog-table-wrap {
  margin-bottom: 40px;
}
.blog-table {
  width: 100%;
}
.blog-table tr {
  min-height: 40px;
}
.blog-table td {
  padding: 10px 5px;
  text-align: center;
}
.blog-table tr:nth-of-type(odd) td {
  background: #efefef;
}
.blog-table tr:first-child td {
  background: #899b93;
  color: #fff;
}
.blog-table .bold {
  font-weight: bold;
}

.blog-articles-top .blog-main {
  margin: 3.0rem 0 0;
}
.blog-articles-top .blog-main img {
  width: 100%;
}
.blog-articles-item figure {
  width: 100%;
  margin: 0 auto 20px;
  text-align: center;
}

.blog-articles-item figure.template {
  max-width: 600px;
}
.blog-child-tx.btn-center {
  text-align: center;
}

@media screen and (max-width: 950px) {
  .blog-articles-top {
    padding: 6.0rem 3.0rem;
  }
}
@media screen and (max-width: 900px) {
  .blog-articles-top {
    padding: 6.0rem 0 6.0rem 5.5rem;
  }
}
@media screen and (max-width: 800px) {
  .blog-articles-top {
    margin-top: 70px;
    padding: 5%;
    width: auto;
  }
  .blog-articles-top h1 {
    margin: 3.0rem 0 2.0rem;
    font-size: 35px;
  }
  .blog-articles-item .blog-top-tx {
    font-size: 30px;
  }
  .blog-articles-item .blog-top-sub-tx {
    font-size: 23px;
  }
  .blog-articles-item .blog-child-tx {
    font-size: 16px;
  }
  .blog-table-wrap {
    width: 100%;
    overflow: scroll;
  }
  .blog-table-wrap td {
    white-space: nowrap;
    font-size: 12px;
    width: 140px;
  }
  .blog-articles-item .btn {
    text-align: center;
  }
}
/*blog アンカーリンク*/
div[id*="blog-topic"] {
  margin-top: -10px;
  padding-top: 50px;
}
div[id*="blog-sub-topic"] {
  margin-top: -50px;
  padding-top: 50px;
}

.blog__anchor-wrap {
  margin-top: 6.0rem;
  padding: 30px 40px;
  border: 1px solid #899b93;
  border-top: 3px solid #899b93;
  counter-reset: bucket-number;
}
.blog__anchor-title {
  padding-bottom: 10px;
  border-bottom: 1px solid #899b93;
  font-family: "oscine", sans-serif;
  font-size: 36px;
  font-weight: 700;
  text-align: center;
}
.blog__anchor-link {
  margin-top: 2.0rem;
}
.blog__anchor-link-item  {
  padding: 8px 5px;
}
.blog__anchor-sub-link-item {
  padding: 8px 0 8px 30px;
}
.blog__anchor-link-item a,
.blog__anchor-sub-link-item a {
  color: #007bff;
}
.blog__anchor-link-item a:hover,
.blog__anchor-sub-link-item a:hover {
  opacity: 0.7;
}
.blog__anchor-wrap ol {
  counter-reset: index;
  list-style-type: none;
}
.blog__anchor-wrap ol li::before {
  padding-right: 8px;
  counter-increment: index;
  content: counters(index, "-", decimal) ".";
}

.blog__anchor-sub-link {
  padding: 8px 0 0;
  font-size: 14px;
}
@media screen and (max-width: 800px) {
  .blog__anchor-wrap {
    padding: 20px;
  }
  .blog__anchor-sub-link {
    margin-left: -15px;
  }
}

/*breadcrumb*/
.blog__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.blog__breadcrumb-item:after {
  content: '>';
  padding-left: 5px;
}

@media screen and (max-width: 800px) {
  .blog__breadcrumb {
    font-size: 13px;
  }
}

.sns-wrap--fixed {
  position: fixed;
  top: calc(50% - 130px);
  left: 3%;
  text-align: center;
}
.sns-wrap--fixed img , .sns-wrap img {
  width: 30px;
}
.sns-wrap--fixed .sns-wrap__item {
  margin-top: 20px;
}
.sns-wrap__item-button {
  cursor: pointer;
  background: none;
  border: none;
}
.sns-wrap__tx {
  font-weight: bold;
}
.success-msg , .success-msg-foot {
  display: none;
  font-size: 1.3rem;
}
.sns-wrap--fixed.none {
  opacity: 0;
  transition: .5s;
}
.sns-wrap {
  display: flex;
  align-items: center;
  margin-top: 60px;
  padding: 20px 20px 0;
  border-top: 1px solid #333;
}
.sns-wrap .sns-wrap__item {
  margin-left: 20px;
}
@media screen and (max-width: 800px) {
  .sns-wrap--fixed {
    display: none;
  }
}

.blog__date-text {
  margin-bottom: 10px;
  color: #7C7C7C;
}


.blog-articles-top .btn.btn-blue a {
  background: #50bdb4;
  color: #fff;
  border: solid 1px #50bdb4;
}
.blog-articles-top .btn.btn-blue a:hover {
  background: #fff;
  color: #50bdb4;
}