.container {
  padding-left: 0;
  padding-right: 0;
  overflow: hidden; }

#free_top .mainImgBox {
  margin-top: 0; }

#main .g-cmn-ttl {
  padding-top: 0;
  font-size: 24px;
  letter-spacing: 0.02em;
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: 5.3vw;
  color: #000;
  text-align: center; }

#main .g-cmn-sttl {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: 4.2vw;
  text-align: center; }

#main #cms_info {
  margin-top: 0px;
  padding-top: 10px;
  padding-bottom: 10px; }

#main sup {
  top: -.1em; }

#main .swipe-slider {
  margin-top: 0;
  margin-bottom: 9.3vw; }
  #main .swipe-slider .top_slider {
    width: 100%; }
  #main .swipe-slider .swiper {
    overflow: visible;
    max-width: 1112px; }
    #main .swipe-slider .swiper .swiper-slide a {
      display: block;
      width: 100%; }
  #main .swipe-slider .swiper-pagination {
    bottom: -53px; }
    #main .swipe-slider .swiper-pagination .swiper-pagination-bullet {
      width: 10px;
      height: 10px;
      margin-left: 6px;
      margin-right: 6px; }
    #main .swipe-slider .swiper-pagination .swiper-pagination-bullet-active {
      background: #333; }

#main .swiper-button-next, #main .swiper-button-prev {
  top: auto !important;
  bottom: -55px !important; }
  #main .swiper-button-next .flickity-button-icon, #main .swiper-button-prev .flickity-button-icon {
    opacity: 0; }

#main .swiper-button-next {
  left: auto !important;
  right: 38% !important;
  outline: none;
  width: 20px;
  height: 30px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAABXCAMAAAELwaa7AAAAMFBMVEVMaXEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy0cEnAAAAD3RSTlMA7zDPEGCfUIAgQI/fv6+lXWy2AAAACXBIWXMAABYlAAAWJQFJUiTwAAABpElEQVRYhc1W2baDIAxkv9qN///bVlGbaCYKrT03D4U500FIJqgxc+RlEuaJmydpnvhxcOW/qQy+DJahZbF8aCwD+n2Py6ob7FY4rnAi0BF9JPNE5pbMM3uet3TpGwWe7YvL2Ipb6DlMHHYcRg4dhyGvt+EpSBRcKYgUOAp6CgIF5gAg5iphszViDFlYF5euiUlbyCCSXiPvhXQimQoZRTJqpCtk0kgvkgGSUBbRw+AWp4P9bQiP0gGTaFFdYMGUSg5PAeZYNRsLJ5fPjDnbHnKMgIunFHbK6FXhxJprftDsoHHYKQsn5lLjzD4nt+AZHLSW0Tte47TLAJpfW3KXEVbDhz6DkYoJGWwObLeGK0tpiAtkcIPhu7iDjNbmAfmgcPi6gcxAvl58Gi9L8CblCJOLq2Qx02iUyS87IS62Sea+IfPyZ8A2aB7bZf2+QpAdt0n6hgy8IXdk/9VdjbLfusvdfmnKnqXkcWiD9edqyGDDTdBQ3gb/dfWShuao795wr5fUXy0NNvvYL2dZ7GO/iN/6uuQsv7DKHL+2F1nt58dLViV5AsMtPYMYwKHeAAAAAElFTkSuQmCC) no-repeat center center;
  background-size: auto 100%; }
  #main .swiper-button-next:after {
    display: none; }

#main .swiper-button-prev {
  left: 38% !important;
  right: auto !important;
  outline: none;
  width: 20px;
  height: 30px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAABXCAMAAAELwaa7AAAAJ1BMVEVMaXEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzO1i0YKAAAADHRSTlMAEM8wYO+f368gv3Aqaf8wAAAACXBIWXMAABYlAAAWJQFJUiTwAAABrklEQVRYhcWWW6KDIAxEeaq3Zf/rrUCtRDIRsPXmQ43HqZiMqUqVEQK383lnyDVNBy5tp5SZsJNyq/RHte31e2/p+fSLYc9M2BNfHAd67LdjXZzf4FmuD7kjOaGWXqrLpNCtiS0TDROwsDIhj2SPlxm6dk/TgFMvpoamk5g6mlpaYXKdZkH8vWNjSmArYBDwGdT38egeoRfofN4jYCpgEdhFM8e2NdS3kld+CmExYhhUwgLWhY8B2xXDZegw5Jezlo9fSgxQNhWfny23ypXhGW4TribsELSJ0HLoIMFCb7JAMtXEnZEnJEz/pjPCGGKBBDsMG3OGBM4D2eeSzSUmvQG4TDKTXhzcSJlha8jTqmGSSYwdZBITB2Bm/Ng4Z+yzC8MhegkRpR6Q8LE2x/91S9Lq8DREkh7ZFMrgp7Uk8fz0p6EHJOaipKkAdkDiL0p4Ix7CDUjCRUl/8++R3OSXX1ms3y/qQZ6ldW4MLK6WNVUuyfp7lOIbsjYTxRhweC1jvo5aZE2vYIyB+VDLltZ+jxhSfcldc7O7xkx5s7v+zZTNHlGfv5Ke74gYq02y5AWvkDG3P2cRTAAAAABJRU5ErkJggg==) no-repeat center center;
  background-size: auto 100%; }
  #main .swiper-button-prev:after {
    display: none; }

.mainCampBox {
  padding-top: 16vw;
  padding-bottom: 0vw;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: 92%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 20px; }
  .mainCampBox a {
    display: block;
    width: 100%; }

.mainCateBox {
  background: #fff; }
  .mainCateBox .caTeText {
    font-size: 16px;
    letter-spacing: 0.025em;
    line-height: 1.5;
    font-weight: 400;
    margin-bottom: 16vw; }
  .mainCateBox .top_cateUL01 a,
  .mainCateBox .top_cateUL02 a {
    color: #5e5955;
    border-color: #5e5955; }
  .mainCateBox .top_cateUL01 {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 24px;
    gap: 24px 24px; }
    .mainCateBox .top_cateUL01 li {
      width: 31% !important;
      margin-left: auto;
      margin-right: auto;
      margin-top: 0;
      margin-bottom: 0; }
      .mainCateBox .top_cateUL01 li a {
        width: auto; }
        .mainCateBox .top_cateUL01 li a span {
          min-height: 2.4em;
          font-size: 16px;
          letter-spacing: 0.025em;
          line-height: 1.5;
          font-weight: 600;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; }
  .mainCateBox .top_cateUL02 {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 82px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 24px 24px; }
    .mainCateBox .top_cateUL02 li {
      margin-left: 0;
      margin-right: 0;
      margin-top: 0;
      margin-bottom: 0;
      width: 23% !important; }
  .mainCateBox .top_cateUL02 a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 4em;
    width: 100%; }
  .mainCateBox .top_cateUL03 {
    max-width: 990px;
    margin-left: auto;
    margin-right: auto;
    row-gap: 24px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 0; }
    .mainCateBox .top_cateUL03 li {
      margin-top: 0;
      margin-bottom: 0; }
      .mainCateBox .top_cateUL03 li a {
        color: #5e5955;
        border-color: #5e5955;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .mainCateBox .top_cateUL03 li a span {
          font-size: 16px;
          letter-spacing: 0.025em;
          line-height: 1.5;
          font-weight: 600;
          padding: 5px 0; }
        .mainCateBox .top_cateUL03 li a.longLine img {
          padding: 5px 0 5px 5px; }
        .mainCateBox .top_cateUL03 li a img {
          width: auto;
          max-width: -webkit-fit-content;
          max-width: -moz-fit-content;
          max-width: fit-content;
          height: 4.5em;
          margin-right: 4%; }

.mainDetailItems {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px; }

.mainDetailBox {
  padding-top: 16vw;
  padding-bottom: 13.3vw; }
  .mainDetailBoxLink {
    margin-left: auto;
    margin-right: auto;
    display: block; }

.mainOsusumeBox {
  padding-top: 16vw;
  padding-bottom: 6.4vw;
  margin-top: 0; }

.mainOsusumeBoxList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 18px;
  -webkit-column-gap: 24px;
     -moz-column-gap: 24px;
          column-gap: 24px;
  width: 92%;
  margin-left: auto;
  margin-right: auto; }
  .mainOsusumeBoxList li {
    width: 100%; }
    .mainOsusumeBoxList li a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      background: #fffbf3;
      border-radius: 1em;
      padding: 1.4em 1.4em 1.4em 1.4em; }
      .mainOsusumeBoxList li a .hd {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin-bottom: 3.2vw; }
        .mainOsusumeBoxList li a .hd-textArea {
          width: 50%;
          height: 100%;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: stretch;
              -ms-flex-align: stretch;
                  align-items: stretch;
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
          .mainOsusumeBoxList li a .hd-textArea .o_proname {
            color: #6c5a48;
            text-align: left;
            font-size: 18px;
            letter-spacing: 0.02em;
            line-height: 1.5;
            font-weight: 600;
            text-decoration: underline; }
          .mainOsusumeBoxList li a .hd-textArea .o_icon {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: end;
                -ms-flex-align: end;
                    align-items: flex-end;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            width: 100%;
            font-size: 12px;
            letter-spacing: 0.02em;
            line-height: 1;
            font-weight: 400; }
            .mainOsusumeBoxList li a .hd-textArea .o_icon img {
              width: 10.4vw;
              margin-right: 4%; }
            .mainOsusumeBoxList li a .hd-textArea .o_icon_person {
              background: #6c5a48;
              color: #fff;
              display: inline-block;
              padding: .2em .2em; }
        .mainOsusumeBoxList li a .hd img {
          width: 47%; }
      .mainOsusumeBoxList li a .o_catch01 {
        font-size: 16px;
        letter-spacing: 0.02em;
        line-height: 1.6;
        font-weight: 600;
        margin-bottom: 4.2vw;
        text-align: left; }
      .mainOsusumeBoxList li a .o_text {
        text-align: left;
        font-size: 14px;
        letter-spacing: 0.02em;
        line-height: 1.7;
        font-weight: 400; }

.mainreadBox {
  padding-top: 10.6vw;
  padding-bottom: 5.3vw;
  background: #f4efeb; }
  .mainreadBoxBtn {
    margin-top: 5vw;
    margin-bottom: 10.6vw; }
    .mainreadBoxBtn a {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 64vw;
      margin-left: auto;
      margin-right: auto;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background: #fff;
      border-radius: 1000px;
      border: 1px solid #333333;
      padding-top: 2.4vw;
      padding-bottom: 2.4vw; }
      .mainreadBoxBtn a:after {
        content: "";
        display: inline-block;
        background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAWCAYAAAAb+hYkAAABK0lEQVQ4jZXTvyvEYRwH8BfOb2Wy3L9gvF2dwe9IBoMFxYBkEYvFKAOTkpRBIkkKKcnAYDAII5MyKQZdSAzPHbq473mmp57n9Tyf59P7KUgkElCLa3mOQozhAv3/QeUowhKG80FF8Xj8BI9oQitSOI1CcIZ7tKABBTiOQnCOG3QgiUocRiG4xBU6UYca7Gejwl8O2kqjFIawLDQqJ4I9tOEZvVhFcRSCIzTiCd3YRGkUIrS+Hg9oxw4qohCUIZaev+A9CiVxgGqsowsvuVAzdlGFFfTgjb/f1IltIZcL6MN7ZvE31IMNlGBWCPHHzw3ZaCBdSgzTGM8GfHcFRjEnhHUCM3+U/nXTJObT85FcIHPTNKaEhw4KWcs5YrjDq5CxtSiQQYvCv7nNB8Anr68733RF2C4AAAAASUVORK5CYII=") no-repeat center center;
        background-size: auto 100%;
        width: 1.8vw;
        height: 3.2vw;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        right: 4%; }
      .mainreadBoxBtn a .text {
        font-size: 16px;
        letter-spacing: 0.02em;
        line-height: 1;
        font-weight: 600; }

.mainreadBoxList {
  width: 92%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 0;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px; }
  .mainreadBoxList li {
    width: 48%; }
    .mainreadBoxList li.is-round-rect {
      background: #fff;
      border-radius: 1.4em;
      overflow: hidden;
      -webkit-box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.1);
              box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.1); }
      .mainreadBoxList li.is-round-rect img {
        width: 100%; }
    .mainreadBoxList li a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      overflow: hidden;
      position: relative; }
      .mainreadBoxList li a .hd {
        position: relative;
        width: 100%; }
      .mainreadBoxList li a.is-special {
        padding: 0; }
      .mainreadBoxList li a .icon {
        background: #fff;
        border-radius: 0 1.2em 0 0;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: 16px;
        letter-spacing: 0.02em;
        line-height: 1;
        font-weight: 600;
        padding: .6em 1em;
        position: absolute;
        left: 0;
        bottom: 0;
        min-width: 11em; }
        .mainreadBoxList li a .icon.is-01 {
          color: #ab272d;
          margin-left: 0;
          margin-right: auto; }
        .mainreadBoxList li a .icon.is-02 {
          color: #9aa9de;
          margin-left: 0;
          margin-right: auto; }
      .mainreadBoxList li a .r_text {
        font-size: 16px;
        letter-spacing: 0.025em;
        line-height: 1.6;
        font-weight: 600;
        display: block; }
      .mainreadBoxList li a .r_date {
        font-size: 14px;
        letter-spacing: 0.025em;
        line-height: 1.7;
        font-weight: 600;
        display: block;
        width: 100%;
        text-align: right;
        color: #808080;
        padding: 1em 0; }
      .mainreadBoxList li a .text-area {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        padding: 1.4em 1.4em 1.4em 1.4em; }

.mainletterBox {
  padding-top: 12.8vw;
  padding-bottom: 7.3vw; }
  .mainletterBoxList {
    width: 92%;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px; }
    .mainletterBoxList li {
      width: 48%; }

.maineventBox {
  padding-top: 7.3vw;
  padding-bottom: 12.8vw; }
  .maineventBoxBan {
    width: 96%;
    margin-left: auto;
    margin-right: auto; }

.mainnewsInfoItem {
  padding-top: 3.2vw;
  padding-bottom: 2.1vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-bottom: 1px solid #b6b6b6;
  padding-left: 2.6vw;
  padding-right: 2.6vw; }
  .mainnewsInfoItem:first-child {
    border-top: 1px solid #b6b6b6; }
  .mainnewsInfoItem dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .mainnewsInfoItem dd {
    display: block;
    width: 100%;
    font-size: 18px;
    letter-spacing: 0.02em;
    line-height: 1.5;
    font-weight: 400;
    margin-top: 1.6vw; }
  .mainnewsInfoItem__time {
    font-size: 18px;
    letter-spacing: 0.02em;
    line-height: 1;
    font-weight: 400; }
  .mainnewsInfoItem__icon {
    font-size: 18px;
    letter-spacing: 0.02em;
    line-height: 1;
    font-weight: 400;
    background: #333;
    padding: .2em .7em;
    margin-left: .5em;
    color: #fff; }

.mainnewsInfoList {
  width: 92%;
  margin-left: auto;
  margin-right: auto; }

.mainnewsInfoBox {
  background: #f4efeb;
  padding-top: 7.3vw;
  padding-bottom: 12.8vw; }

.mainSns {
  padding-top: 14.9vw;
  padding-bottom: 6.4vw; }
  .mainSns__text {
    font-size: 16px;
    letter-spacing: 0.02em;
    line-height: 1.6;
    font-weight: 400;
    text-align: center; }
  .mainSnsList {
    width: 60vw;
    margin-left: auto;
    margin-right: auto;
    margin-top: 4.5vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: 80px;
       -moz-column-gap: 80px;
            column-gap: 80px; }
    .mainSnsList li {
      width: 16.6vw; }

.mainotherInfo {
  padding-top: 6.4vw;
  padding-bottom: 0vw; }
  .mainotherInfoList {
    width: 95%;
    margin-left: auto;
    margin-right: auto; }
    .mainotherInfoList li a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-top: 4.8vw;
      padding-bottom: 4.8vw;
      border-bottom: 1px solid #b6b6b6; }
      .mainotherInfoList li a .ot_icon {
        margin-right: 3%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
        .mainotherInfoList li a .ot_icon.is-info {
          width: 24vw; }
        .mainotherInfoList li a .ot_icon.is-guide {
          width: 24vw;
          padding: 0 1%; }
        .mainotherInfoList li a .ot_icon.is-qa {
          width: 24vw;
          padding: 0 1%; }
      .mainotherInfoList li a .ot_text {
        width: 70%; }
        .mainotherInfoList li a .ot_text dt {
          -webkit-font-feature-settings: "palt";
                  font-feature-settings: "palt";
          font-size: 21px;
          letter-spacing: 0.02em;
          line-height: 1.4;
          font-weight: 600; }
        .mainotherInfoList li a .ot_text dd {
          font-size: 16px;
          letter-spacing: 0.02em;
          line-height: 1.6;
          font-weight: 400; }
        @media screen and (min-width: 768px) {
    #main .g-cmn-ttl {
      font-size: 30px;
      letter-spacing: 0.05em;
      line-height: 1.6;
      font-weight: 600; }
    #main .g-cmn-ttl {
      margin-bottom: 25px; }
    #main .g-cmn-sttl {
      font-size: 28px;
      letter-spacing: 0.01em;
      line-height: 1.3;
      font-weight: 600; }
    #main .g-cmn-sttl {
      margin-bottom: 24px; }
    #main .swipe-slider {
      margin-bottom: 48px; }
      #main .swipe-slider .swiper {
        overflow: visible; }
        #main .swipe-slider .swiper-pagination .swiper-pagination-bullet {
          width: 12px;
          height: 12px;
          margin-left: 8px;
          margin-right: 8px; }
    .mainCampBox {
      padding-top: 60px; }
    .mainCampBox {
      padding-bottom: 0px; }
    .mainCampBox {
      row-gap: 38px;
      max-width: 1080px; }
    .mainCateBoxInner {
      background: #f4efeb;
      padding: 56px 0 72px; }
      .mainCateBox .caTeText {
        font-size: 18px;
        letter-spacing: 0em;
        line-height: 2.1;
        font-weight: 500; }
      .mainCateBox .caTeText {
        margin-bottom: 32px; }
            .mainCateBox .top_cateUL01 li a span {
              font-size: 21px;
              letter-spacing: 0em;
              line-height: 1.8;
              font-weight: 600; }
            .mainCateBox .top_cateUL03 li a span {
              font-size: 21px;
              letter-spacing: 0em;
              line-height: 1.8;
              font-weight: 600; }
    .mainDetailBox {
      padding-top: 64px; }
    .mainDetailBox {
      padding-bottom: 82px; }
    .mainOsusumeBox {
      padding-top: 72px; }
    .mainOsusumeBox {
      padding-bottom: 48px; }
    .mainOsusumeBox {
      width: 100%;
      max-width: 1080px;
      margin-left: auto;
      margin-right: auto; }
    .mainOsusumeBoxList {
      width: 100%;
      row-gap: 40px;
      -webkit-column-gap: 40px;
         -moz-column-gap: 40px;
              column-gap: 40px;
      max-width: 1180px; }
      .mainOsusumeBoxList li {
        width: 48%; }
          .mainOsusumeBoxList li a .hd {
            margin-bottom: 24px; }
              .mainOsusumeBoxList li a .hd-textArea .o_proname {
                font-size: 24px;
                letter-spacing: 0.04em;
                line-height: 1.4;
                font-weight: 600; }
              .mainOsusumeBoxList li a .hd-textArea .o_icon {
                font-size: 14px;
                letter-spacing: 0.04em;
                line-height: 1;
                font-weight: 400; }
                .mainOsusumeBoxList li a .hd-textArea .o_icon img {
                  width: 60px; }
            .mainOsusumeBoxList li a .hd img {
              width: 40%; }
          .mainOsusumeBoxList li a .o_catch01 {
            font-size: 18px;
            letter-spacing: 0.04em;
            line-height: 1.5;
            font-weight: 600; }
          .mainOsusumeBoxList li a .o_catch01 {
            margin-bottom: 8px; }
          .mainOsusumeBoxList li a .o_text {
            font-size: 16px;
            letter-spacing: 0.04em;
            line-height: 1.6;
            font-weight: 400; }
          .mainOsusumeBoxList li a .o_text {
            min-height: 3.0em; }
    .mainreadBox {
      padding-top: 64px; }
    .mainreadBox {
      padding-bottom: 64px; }
      .mainreadBoxBtn {
        margin-top: 38px; }
      .mainreadBoxBtn {
        margin-bottom: 80px; }
          .mainreadBoxBtn a:after {
            width: 14px; }
          .mainreadBoxBtn a:after {
            height: 24px; }
        .mainreadBoxBtn a {
          width: 425px; }
        .mainreadBoxBtn a {
          padding-top: 18px; }
        .mainreadBoxBtn a {
          padding-bottom: 18px; }
          .mainreadBoxBtn a .text {
            font-size: 16px;
            letter-spacing: 0.04em;
            line-height: 1;
            font-weight: 600; }
    .mainreadBoxList {
      width: auto;
      max-width: 1080px; }
          .mainreadBoxList li a .icon {
            font-size: 16px;
            letter-spacing: 0.04em;
            line-height: 1;
            font-weight: 600; }
          .mainreadBoxList li a .icon {
            min-width: 13em;
            padding: 12px 24px; }
          .mainreadBoxList li a .r_text {
            font-size: 18px;
            letter-spacing: 0.04em;
            line-height: 1.5;
            font-weight: 600; }
          .mainreadBoxList li a .r_date {
            font-size: 14px;
            letter-spacing: 0.04em;
            line-height: 1;
            font-weight: 600; }
    .mainletterBox {
      padding-top: 64px; }
    .mainletterBox {
      padding-bottom: 40px; }
      .mainletterBoxList {
        width: auto;
        max-width: 1080px; }
    .maineventBox {
      padding-top: 40px; }
    .maineventBox {
      padding-bottom: 80px; }
      .maineventBoxBan {
        width: auto;
        max-width: 1080px; }
  .mainnewsInfoList {
    max-width: 1080px; }
    .mainnewsInfoItem {
      padding-top: 40px; }
    .mainnewsInfoItem {
      padding-bottom: 40px; }
    .mainnewsInfoItem {
      padding-left: 20px; }
    .mainnewsInfoItem {
      padding-right: 20px; }
      .mainnewsInfoItem dd {
        font-size: 16px;
        letter-spacing: 0.04em;
        line-height: 1.6;
        font-weight: 400; }
      .mainnewsInfoItem dd {
        margin-top: 10px; }
      .mainnewsInfoItem__time {
        font-size: 16px;
        letter-spacing: 0.04em;
        line-height: 1;
        font-weight: 400; }
      .mainnewsInfoItem__icon {
        font-size: 14px;
        letter-spacing: 0.04em;
        line-height: 1;
        font-weight: 400; }
    .mainnewsInfoBox {
      padding-top: 64px; }
    .mainnewsInfoBox {
      padding-bottom: 64px; }
    .mainSns {
      padding-top: 72px; }
    .mainSns {
      padding-bottom: 40px; }
      .mainSns__text {
        font-size: 16px;
        letter-spacing: 0em;
        line-height: 1.5;
        font-weight: 400; }
      .mainSnsList {
        width: 530px; }
      .mainSnsList {
        margin-top: 34px; }
        .mainSnsList li {
          width: 124px; }
    .mainotherInfo {
      padding-top: 40px; }
    .mainotherInfo {
      padding-bottom: 0px; }
      .mainotherInfoList {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-column-gap: 18px;
           -moz-column-gap: 18px;
                column-gap: 18px;
        max-width: 1112px;
        width: 100%; }
      .mainotherInfoList li:last-child a {
        border-right: none; }
        .mainotherInfoList li a {
          padding-top: 0px; }
        .mainotherInfoList li a {
          padding-bottom: 0px; }
        .mainotherInfoList li a {
          border-bottom: none;
          border-right: 2px solid #b6b6b6;
          padding-right: 12px; }
            .mainotherInfoList li a .ot_icon.is-info {
              width: 114px; }
            .mainotherInfoList li a .ot_icon.is-guide {
              width: 94px; }
            .mainotherInfoList li a .ot_icon.is-qa {
              width: 94px; }
          .mainotherInfoList li a .ot_text {
            width: 75%; }
            .mainotherInfoList li a .ot_text dt {
              font-size: 20px;
              letter-spacing: 0em;
              line-height: 1.2;
              font-weight: 600; }
            .mainotherInfoList li a .ot_text dd {
              font-size: 16px;
              letter-spacing: 0.04em;
              line-height: 1.4;
              font-weight: 400; } }
        @media screen and (max-width: 767px) {
      #main .swipe-slider .swiper-pagination {
        bottom: -12.8vw; }
    #main .swiper-button-next, #main .swiper-button-prev {
      bottom: -14vw !important; }
    #main .swiper-button-next {
      right: 20% !important;
      width: 20px;
      height: 26px; }
    #main .swiper-button-prev {
      left: 20% !important;
      width: 20px;
      height: 26px; }
    .mainCateBox {
      padding: 32px 0 48px;
      background: #f4efeb !important;
      background: none; }
      .mainCateBox .top_cateUL01 {
        margin-bottom: 2%;
        max-width: 95%;
        gap: 24px 0; }
        .mainCateBox .top_cateUL01 li {
          width: 31% !important; }
            .mainCateBox .top_cateUL01 li a span {
              min-height: 4em; }
      .mainCateBox .top_cateUL02 {
        max-width: 92%;
        padding-bottom: 60px; }
      .mainCateBox .top_cateUL02 {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 8px 5px; }
        .mainCateBox .top_cateUL02 li {
          width: 32% !important;
          margin-left: 0;
          margin-right: 0; }
      .mainCateBox .top_cateUL02 .shingu {
        width: 51% !important;
        margin-left: auto;
        margin-right: auto; }
      .mainCateBox .top_cateUL02 a {
        min-height: 5em; }
      .mainCateBox .top_cateUL03 {
        max-width: 95%;
        row-gap: 10px; }
        .mainCateBox .top_cateUL03 li {
          width: 48% !important; }
    .mainDetailItems {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-column-gap: 0px;
         -moz-column-gap: 0px;
              column-gap: 0px;
      row-gap: 32px; }
      .mainDetailBoxLink {
        width: 90%; }
        .mainOsusumeBoxList li a {
          padding: 1.4em 1.4em 1.4em 1.4em; }
                .mainOsusumeBoxList li a .hd-textArea .o_icon_person {
                  padding: .1em .2em; }
    .mainreadBoxList {
      row-gap: 20px;
      -webkit-column-gap: 0px;
         -moz-column-gap: 0px;
              column-gap: 0px; }
      .mainreadBoxList li {
        width: 100%; }
      .mainletterBoxList {
        row-gap: 16px;
        -webkit-column-gap: 0px;
           -moz-column-gap: 0px;
                column-gap: 0px; }
        .mainletterBoxList li {
          width: 100%; }
      .mainSnsList {
        -webkit-column-gap: 24px;
           -moz-column-gap: 24px;
                column-gap: 24px; }
            .mainotherInfoList li a .ot_icon.is-guide {
              padding: 0 2%; }
            .mainotherInfoList li a .ot_icon.is-qa {
              padding: 0 2%; } }
        @media screen and (min-width: 768px) and (max-width: 1280px) {
    .mainCateBoxInner {
      position: relative; }
      .mainCateBoxInner * {
        z-index: 1;
        position: relative; }
      .mainCateBoxInner::after {
        content: "";
        width: 1280px;
        height: 100%;
        position: absolute;
        background: #f4efeb;
        top: 0;
        left: -84px; }
    .mainreadBox {
      position: relative; }
      .mainreadBox * {
        z-index: 1;
        position: relative; }
      .mainreadBox::after {
        content: "";
        width: 1280px;
        height: 100%;
        position: absolute;
        background: #f4efeb;
        top: 0;
        left: -84px; }
    .mainnewsInfoBox {
      position: relative; }
      .mainnewsInfoBox * {
        z-index: 1;
        position: relative; }
      .mainnewsInfoBox::after {
        content: "";
        width: 1280px;
        height: 100%;
        position: absolute;
        background: #f4efeb;
        top: 0;
        left: -84px; } }
        @media screen and (min-width: 1280px) {
    .mainCateBoxInner {
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw); }
    .mainreadBox {
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw); }
    .mainnewsInfoBox {
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw); } }
        @media screen and (min-width: 768px) and (min-width: 768px) {
  .mainotherInfoList li:first-child {
    width: 33%; }
  .mainotherInfoList li:nth-child(2) {
    width: 30%; }
  .mainotherInfoList li:last-child {
    width: 32%; } }
