@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
ニュース
---------------------------------------------------------------------------------------------------------------------
*/
#info-contents {
  max-width: 1200px;
  width: 90%;
  margin: 20px auto 120px; }
  @media (min-width: 1024px) {
    #info-contents {
      width: 94%;
      display: grid;
      grid-template-columns: 1fr 300px;
      gap: 20px; } }
  @media (min-width: 1200px) {
    #info-contents {
      grid-template-columns: 1fr 340px;
      gap: 40px; } }

.info-L {
  margin-bottom: 80px; }
  @media (min-width: 1024px) {
    .info-L {
      margin-bottom: 0; } }
  .info-L .post-area .post-contents {
    background-color: #fff;
    border-radius: 10px;
    padding: 40px 0; }
    @media (min-width: 1024px) {
      .info-L .post-area .post-contents {
        border-radius: 20px;
        padding: 80px 0; } }
    .info-L .post-area .post-contents .post-contents-in {
      max-width: 660px;
      width: 90%;
      margin: auto; }
      .info-L .post-area .post-contents .post-contents-in img {
        border-radius: 5px; }
        @media (min-width: 1024px) {
          .info-L .post-area .post-contents .post-contents-in img {
            border-radius: 10px; } }
      .info-L .post-area .post-contents .post-contents-in .post-header .date-taxonomy {
        display: flex; }
        .info-L .post-area .post-contents .post-contents-in .post-header .date-taxonomy h5 {
          font-size: 0.8em;
          font-weight: 500;
          line-height: 1.2em; }
          @media (min-width: 1024px) {
            .info-L .post-area .post-contents .post-contents-in .post-header .date-taxonomy h5 {
              font-size: 0.9em; } }
      .info-L .post-area .post-contents .post-contents-in .post-header h1 {
        font-size: 1.25em;
        font-feature-settings: "palt";
        letter-spacing: 0.08em;
        line-height: 1.4em;
        margin-top: 10px;
        border-bottom: 3px solid #223588;
        padding-bottom: 20px;
        color: #223588; }
        @media (min-width: 1024px) {
          .info-L .post-area .post-contents .post-contents-in .post-header h1 {
            font-size: 1.4em;
            margin-top: 15px; } }
        @media (min-width: 1200px) {
          .info-L .post-area .post-contents .post-contents-in .post-header h1 {
            font-size: 1.6em; } }
      .info-L .post-area .post-contents .post-contents-in .post-content {
        margin-top: 20px; }
        @media (min-width: 1024px) {
          .info-L .post-area .post-contents .post-contents-in .post-content {
            margin-top: 60px; } }
        .info-L .post-area .post-contents .post-contents-in .post-content h2 {
          font-size: 1.25em;
          margin: 30px 0 10px;
          border-bottom: 1px solid #223588;
          border-left: 5px solid #223588;
          padding-left: 10px;
          padding-bottom: 5px;
          color: #223588; }
          @media (min-width: 1024px) {
            .info-L .post-area .post-contents .post-contents-in .post-content h2 {
              font-size: 1.5em;
              margin: 60px 0 20px; } }
        .info-L .post-area .post-contents .post-contents-in .post-content h3 {
          font-size: 1.125em;
          font-weight: 700;
          margin-top: 10px; }
          @media (min-width: 1024px) {
            .info-L .post-area .post-contents .post-contents-in .post-content h3 {
              font-size: 1.25em;
              margin-top: 20px; } }
        .info-L .post-area .post-contents .post-contents-in .post-content p {
          font-size: 0.9em;
          line-height: 2.5em;
          text-align: justify;
          word-break: break-all; }
          @media (min-width: 1024px) {
            .info-L .post-area .post-contents .post-contents-in .post-content p {
              font-size: 1.0em; } }
          .info-L .post-area .post-contents .post-contents-in .post-content p a {
            color: #223588; }
        .info-L .post-area .post-contents .post-contents-in .post-content img {
          margin-bottom: 5px; }
          @media (min-width: 1024px) {
            .info-L .post-area .post-contents .post-contents-in .post-content img {
              margin-bottom: 10px; } }
        .info-L .post-area .post-contents .post-contents-in .post-content a {
          overflow-wrap: anywhere;
          word-break: break-word; }

.side-menu .side-menu-in {
  position: sticky;
  top: 100px; }
  .side-menu .side-menu-in .common-title.last {
    margin-top: 40px; }
  .side-menu .side-menu-in .common-title .wa-titile {
    display: flex;
    align-items: center; }
    .side-menu .side-menu-in .common-title .wa-titile .border {
      position: relative;
      margin-right: 10px; }
      .side-menu .side-menu-in .common-title .wa-titile .border::before {
        background-color: #fff;
        border-radius: 2.5px;
        content: "";
        display: block;
        height: 5px;
        width: 25px; }
    .side-menu .side-menu-in .common-title .wa-titile h3 {
      font-size: 1.25em;
      color: #fff; }
      @media (min-width: 1024px) {
        .side-menu .side-menu-in .common-title .wa-titile h3 {
          font-size: 1.5em; } }
  .side-menu .side-menu-in .menu-item {
    margin-top: 20px; }
    .side-menu .side-menu-in .menu-item ul {
      background-color: #fff;
      border-radius: 20px;
      padding: 20px 40px; }
      @media (min-width: 1024px) {
        .side-menu .side-menu-in .menu-item ul {
          border-radius: 30px; } }
      .side-menu .side-menu-in .menu-item ul li {
        position: relative;
        padding: 8px 0; }
        .side-menu .side-menu-in .menu-item ul li a {
          padding: 8px 0;
          display: flex;
          align-items: center; }
          .side-menu .side-menu-in .menu-item ul li a:hover p {
            color: #223588; }
          .side-menu .side-menu-in .menu-item ul li a:hover img {
            right: -10px; }
          .side-menu .side-menu-in .menu-item ul li a p {
            position: relative;
            font-size: 0.85em;
            line-height: 1.2em;
            font-feature-settings: "palt";
            letter-spacing: 0.05em;
            transition: .5s; }
            @media (min-width: 1024px) {
              .side-menu .side-menu-in .menu-item ul li a p {
                font-size: 0.90em; } }
            .side-menu .side-menu-in .menu-item ul li a p.txt {
              align-items: flex-start;
              display: flex;
              gap: 8px; }
              .side-menu .side-menu-in .menu-item ul li a p.txt::before {
                content: "・";
                flex-shrink: 0; }
          .side-menu .side-menu-in .menu-item ul li a img {
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            display: flex;
            align-items: center;
            width: 30px;
            height: 100%;
            transition: .5s; }
    .side-menu .side-menu-in .menu-item select {
      font-size: 0.85em;
      width: 100%;
      display: inline-block;
      position: relative;
      border: none;
      vertical-align: middle;
      height: 60px;
      padding: 0 40px;
      border-radius: 10px;
      appearance: none;
      background-color: #fff;
      color: #000; }
      @media (min-width: 1024px) {
        .side-menu .side-menu-in .menu-item select {
          border-radius: 20px;
          font-size: 0.9em; } }
    .side-menu .side-menu-in .menu-item select {
      background-image: url("../../img/parts/arrow-blue.svg");
      background-position: right 40px center;
      background-repeat: no-repeat;
      background-size: 30px 30px; }
    .side-menu .side-menu-in .menu-item select::-ms-expand {
      display: none; }

/*
---------------------------------------------------------------------------------------------------------------------
共通ページ送り
---------------------------------------------------------------------------------------------------------------------
*/
#pager-post-navi {
  max-width: 260px;
  margin: auto;
  width: 90%;
  display: flex;
  justify-content: space-between;
  position: relative;
  padding-top: 10px; }
  @media (min-width: 1024px) {
    #pager-post-navi {
      padding-top: 40px; } }
  #pager-post-navi span.pager-inner {
    display: flex;
    align-items: center; }
    #pager-post-navi span.pager-inner img {
      width: 34px; }
  #pager-post-navi .next img {
    margin-left: 10px; }
  #pager-post-navi .prev img {
    transform: rotate(180deg);
    margin-right: 10px; }
  #pager-post-navi a {
    font-size: 0.9em;
    color: #fff;
    transition: 0.5s; }
    @media (min-width: 1024px) {
      #pager-post-navi a {
        font-size: 1.0em; } }
    #pager-post-navi a:hover {
      opacity: 0.7; }
