.osusume_section, .campaign_section {
  min-width: 1020px;
  overflow: hidden;
  padding: 40px 0 80px; }
  @media (max-width: 896px) {
    .osusume_section, .campaign_section {
      min-width: 100%; }
      .osusume_section > *, .campaign_section > * {
        max-width: 100%; } }
  @media (max-width: 480px) {
    #page #contents .osusume_section, #page #contents .campaign_section {
      padding: 10vw 5vw 15vw; } }

.osusume_section_title, .campaign_section_title {
  margin: 0 auto;
  width: 1020px;
  padding-top: 85px;
  margin-bottom: 50px;
  text-align: center;
  font-size: 2.7rem;
  background: url(../img/icon01-pc.png) no-repeat top center; }
  @media (max-width: 480px) {
    .osusume_section_title, .campaign_section_title {
      margin-bottom: 8vw;
      font-size: 5vw;
      padding-bottom: 2vw;
      background-image: url(../img/icon01-sp.png);
      background-size: 12vw auto;
      padding-top: 15vw; } }

.step_section, .contact_section {
  background: url(../img/background-ptn01.png) repeat top center;
  padding: 20px; }
  @media (max-width: 480px) {
    .step_section, .contact_section {
      padding: 4vw; } }
  .step_section > *, .contact_section > * {
    background: #fff;
    padding: 60px 50px;
    box-shadow: 0px 0px 3px 1px #ccc; }
    @media (max-width: 480px) {
      .step_section > *, .contact_section > * {
        padding: 5vw 4vw; } }

.case_list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  align-items: unset; }
  .case_list li {
    margin: 0 20px 20px 0;
    position: relative; }
    .case_list li:nth-child(4n) {
      margin-right: 0; }
    .case_list li:nth-last-child(-n+4) {
      margin-bottom: 0; }
    @media (max-width: 480px) {
      #contents .case_list li {
        width: 48%;
        margin: 0 4% 4% 0; }
        #contents .case_list li:nth-child(2n) {
          margin-right: 0; }
        #contents .case_list li:nth-last-child(-n+2) {
          margin-bottom: 0; } }
    .case_list li .text {
      text-align: center;
      font-weight: bold;
      font-size: 1.8rem;
      letter-spacing: 0;
      line-height: 1.6;
      position: absolute;
      width: 100%;
      top: 40px;
      left: 0; }
      @media (max-width: 480px) {
        .case_list li .text {
          top: 15%;
          font-size: 3.5vw;
          line-height: 1.3; } }
    .case_list li .image img {
      display: block; }
      @media (max-width: 480px) {
        .case_list li .image img {
          width: 100%; } }

.step_section:not(:last-child) {
  margin-bottom: 40px; }
  @media (max-width: 480px) {
    .step_section:not(:last-child) {
      margin-bottom: 10vw; } }
.step_section_inner > *:last-child {
  margin-bottom: 0; }
.step_section_title {
  color: #0053d4;
  font-size: 1.8rem;
  margin-bottom: 10px; }
  @media (max-width: 480px) {
    .step_section_title {
      font-size: 1.6rem;
      letter-spacing: 0; } }
  .step_section_title span {
    font-size: 2.3rem;
    font-weight: bold;
    margin-right: 20px; }
    @media (max-width: 480px) {
      .step_section_title span {
        font-size: 1.8rem;
        margin-right: 5px; } }
.step_section_msg {
  margin-bottom: 30px; }
  @media (max-width: 480px) {
    .step_section_msg {
      margin-bottom: 15px; } }
.step_section_btn a {
  display: block;
  text-decoration: none;
  border: 1px solid;
  transition: 0.5s;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 360px;
  height: 60px;
  margin: 0 auto; }
  .step_section_btn a::after {
    content: " ";
    background: no-repeat left 0px center;
    background-size: 7px auto;
    height: 100%;
    width: 65px;
    position: absolute;
    right: 0;
    top: 0;
    box-sizing: border-box; }
  @media (min-device-width: 1041px) and (min-width: 897px) {
    .step_section_btn a:hover::after {
      animation: arrowMove 0.7s ease-in-out 0s alternate; } }
@media (max-width: 480px) {
  #contents .step_section_btn a {
    height: 48px;
    width: 100%;
    padding-right: 3%; }
    #contents .step_section_btn a::after {
      width: 13%; } }
.step_section_btn a {
  background-color: #1ba1e6;
  color: #fff; }
  .step_section_btn a::after {
    background-image: url(../img/btn_arrow01.png); }
  @media (min-device-width: 1041px) and (min-width: 897px) {
    .step_section_btn a:hover {
      background-color: transparent;
      color: #0258b6; }
      .step_section_btn a:hover::after {
        background-image: url(../img/btn_arrow02.png); } }
.step_section_btn a {
  width: 300px;
  margin: 0; }
  .step_section_btn a::after {
    width: 35px; }
.step_section_way {
  display: flex;
  flex-wrap: wrap; }
  .step_section_way_set {
    background: #e6f6f9;
    width: 420px;
    padding: 40px 45px; }
    @media (max-width: 480px) {
      .step_section_way_set {
        padding: 7vw 5vw;
        width: 100%; } }
    .step_section_way_set:nth-child(1) {
      margin-right: 30px; }
      @media (max-width: 480px) {
        .step_section_way_set:nth-child(1) {
          margin: 0 0 5vw; } }
  .step_section_way_title {
    text-align: center;
    color: #097cf2;
    font-size: 1.8rem;
    margin-bottom: 10px; }
    @media (max-width: 480px) {
      .step_section_way_title {
        font-size: 1.6rem;
        letter-spacing: 0;
        text-align: left; } }
  .step_section_way p {
    margin-bottom: 25px; }
    @media (max-width: 480px) {
      .step_section_way p {
        margin-bottom: 15px; } }
  .step_section_way_btn a {
    display: block;
    text-decoration: none;
    border: 1px solid;
    transition: 0.5s;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 360px;
    height: 60px;
    margin: 0 auto; }
    .step_section_way_btn a::after {
      content: " ";
      background: no-repeat left 0px center;
      background-size: 7px auto;
      height: 100%;
      width: 65px;
      position: absolute;
      right: 0;
      top: 0;
      box-sizing: border-box; }
    @media (min-device-width: 1041px) and (min-width: 897px) {
      .step_section_way_btn a:hover::after {
        animation: arrowMove 0.7s ease-in-out 0s alternate; } }
  @media (max-width: 480px) {
    #contents .step_section_way_btn a {
      height: 48px;
      width: 100%;
      padding-right: 3%; }
      #contents .step_section_way_btn a::after {
        width: 13%; } }
  .step_section_way_btn a {
    background-color: #1ba1e6;
    color: #fff; }
    .step_section_way_btn a[target] {
      background-repeat: no-repeat;
      background-position: left 260px center;
      background-image: url(../img/btn_outside02.png); }
      @media (max-width: 480px) {
        #contents .step_section_way_btn a[target] {
          padding-right: 5%; } }
      .step_section_way_btn a[target]::after {
        width: 38px;
        background-size: unset;
        background-image: url(../img/btn_outside01.png); }
        @media (max-width: 480px) {
          .step_section_way_btn a[target]::after {
            background-size: 15px auto; } }
    @media (min-device-width: 1041px) and (min-width: 897px) {
      .step_section_way_btn a:hover {
        background-color: transparent;
        color: #0258b6; }
        .step_section_way_btn a:hover::after {
          opacity: 0; } }
  .step_section_way_btn a {
    width: 300px; }
  .step_section_way_app {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 -10px;
    height: 60px; }
    @media (max-width: 480px) {
      .step_section_way_app {
        margin: 0;
        height: auto; } }
    .step_section_way_app li a {
      transition: 0.5s; }
      @media (min-device-width: 1041px) and (min-width: 897px) {
        .step_section_way_app li a:hover {
          opacity: 0.6; } }
      @media (max-width: 480px) {
        .step_section_way_app li a {
          transition: unset; } }
    .step_section_way_app li:nth-child(1) {
      height: 50px; }
      @media (max-width: 480px) {
        .step_section_way_app li:nth-child(1) {
          height: auto;
          width: 47%; } }
      .step_section_way_app li:nth-child(1) a {
        display: block !important;
        width: 169px !important;
        height: 50px !important;
        background-size: 100% auto !important; }
        @media (max-width: 480px) {
          .step_section_way_app li:nth-child(1) a {
            width: 100% !important;
            height: 9vw !important; } }
    @media (max-width: 480px) {
      .step_section_way_app li:nth-child(2) {
        width: 47%; } }
    .step_section_way_app li:nth-child(2) a {
      width: 168px;
      height: 50px;
      overflow: hidden;
      position: relative;
      display: block; }
      @media (max-width: 480px) {
        .step_section_way_app li:nth-child(2) a {
          width: 100%;
          height: 0;
          padding-top: 30%; } }
    .step_section_way_app li:nth-child(2) img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      display: block;
      width: 192px; }
      @media (max-width: 480px) {
        .step_section_way_app li:nth-child(2) img {
          width: 116%; } }

.youtube_section {
  min-width: 1020px;
  overflow: hidden;
  padding: 80px 0; }
  @media (max-width: 896px) {
    .youtube_section {
      min-width: 100%; }
      .youtube_section > * {
        max-width: 100%; } }
  @media (max-width: 480px) {
    .youtube_section {
      padding: 0; } }
  .youtube_section_inner {
    margin: 0 auto;
    width: 1020px;
    text-align: center; }
    .youtube_section_inner iframe {
      width: 960px;
      display: inline-block;
      vertical-align: top;
      height: 540px; }
      @media (max-width: 480px) {
        .youtube_section_inner iframe {
          width: 100%;
          height: 52vw; } }

.concenpt_text {
  font-size: 4.3rem;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 45px;
  color: #4c4c4c;
  text-align: center;
  font-weight: bold; }
  @media (max-width: 480px) {
    .concenpt_text {
      font-size: 5vw;
      margin: 0 -3vw 30px;
      width: calc(100% + 6vw);
      line-height: 1.4;
      text-align: center; } }

.contact_section {
  width: 900px;
  margin: 0 auto; }
  @media (max-width: 480px) {
    .contact_section {
      width: 100%; } }
  .contact_section_title {
    font-size: 2.7rem;
    margin-bottom: 20px;
    text-align: center; }
    @media (max-width: 480px) {
      .contact_section_title {
        margin-bottom: 3vw;
        font-size: 5vw; } }

#osusume .section, #campaign .section {
  text-align: center; }
  #osusume .section_title, #campaign .section_title {
    display: inline-block;
    vertical-align: top;
    width: auto;
    padding: 85px 15px 0; }
    @media (max-width: 480px) {
      #osusume .section_title, #campaign .section_title {
        padding: 15vw 0 2vw;
        line-height: 1.5; } }
  #osusume .section_inner, #campaign .section_inner {
    text-align: left; }
#campaign .section_inner {
  width: 1020px; }

#osusume .section_title {
  background: url(../img/background-ptn01.png) repeat-x center bottom/15px auto, url(../img/icon01-pc.png) no-repeat top center; }
  @media (max-width: 480px) {
    #osusume .section_title {
      background: url(../img/background-ptn01.png) repeat-x center bottom 2vw/3vw auto, url(../img/icon01-sp.png) no-repeat top center/12vw auto; } }

#campaign .section_title {
  background: url(../img/background-ptn01.png) repeat-x center bottom/15px auto, url(../img/icon02-pc.png) no-repeat top center; }
  @media (max-width: 480px) {
    #campaign .section_title {
      background: url(../img/background-ptn01.png) repeat-x center bottom 2vw/3vw auto, url(../img/icon02-sp.png) no-repeat top center/12vw auto; } }

.osusume_section, .campaign_section {
  border-bottom: 2px solid #89c7e6; }
  #contents .osusume_section > *, #contents .campaign_section > * {
    width: 900px; }
  #contents .osusume_section_title, #contents .campaign_section_title {
    text-align: left;
    margin-bottom: 25px;
    line-height: 1.5; }
  .osusume_section_date, .campaign_section_date {
    display: block;
    font-size: 2rem;
    color: #1ba1e6;
    margin: 10px 0 0; }
    @media (max-width: 480px) {
      .osusume_section_date, .campaign_section_date {
        font-size: 1.5rem; } }
    .osusume_section_date {
      padding-left: 33px;
      background: url(../img/recommend_date_icon-pc.png) no-repeat left center; }
      @media (max-width: 480px) {
        .osusume_section_date {
          background-size: auto 15px;
          padding-left: 20px; } }
  .osusume_section_inner, .campaign_section_inner {
    margin: 0 auto;
    width: 1020px; }
  .osusume_section_msg, .campaign_section_msg {
    margin-bottom: 40px; }
    @media (max-width: 480px) {
      .osusume_section_msg, .campaign_section_msg {
        margin-bottom: 30px; } }
    .osusume_section_msg p, .campaign_section_msg p {
      line-height: 1.9;
      letter-spacing: 2px;
      color: #444;
      margin-bottom: 40px; }
  .osusume_section_images, .campaign_section_images {
    margin-bottom: 80px; }
    @media (max-width: 480px) {
      .osusume_section_images, .campaign_section_images {
        margin-bottom: 40px; } }
    .osusume_section_images ul, .campaign_section_images ul {
      display: flex;
      flex-wrap: wrap; }
    .osusume_section_images li, .campaign_section_images li {
      width: 32%;
      height: 216px;
      margin: 0 2% 2% 0; }
      .osusume_section_images li:nth-child(3n), .campaign_section_images li:nth-child(3n) {
        margin-right: 0; }
      .osusume_section_images li:nth-last-child(-n+3), .campaign_section_images li:nth-last-child(-n+3) {
        margin-bottom: 0; }
      @media (max-width: 480px) {
        #contents .osusume_section_images li, #contents .campaign_section_images li {
          width: 47%;
          height: 120px;
          margin: 0 6% 6% 0; }
          #contents .osusume_section_images li:nth-child(2n), #contents .campaign_section_images li:nth-child(2n) {
            margin-right: 0; }
          #contents .osusume_section_images li:nth-last-child(-n+2), #contents .campaign_section_images li:nth-last-child(-n+2) {
            margin-bottom: 0; } }
      .osusume_section_images li a, .campaign_section_images li a {
        overflow: hidden;
        display: block;
        border: 1px solid #ccc;
        width: 100%;
        height: 100%;
        background: #e6f6f9; }
        .osusume_section_images li a img, .campaign_section_images li a img {
          opacity: 1;
          transition: all 0.3s linear; }
        @media (min-device-width: 1041px) and (min-width: 897px) {
          .osusume_section_images li a:hover img, .campaign_section_images li a:hover img {
            opacity: 0.6;
            transform: scale(1.2); } }
        .osusume_section_images li a[data-lightbox], .campaign_section_images li a[data-lightbox] {
          position: relative; }
          .osusume_section_images li a[data-lightbox]::after, .campaign_section_images li a[data-lightbox]::after {
            position: absolute;
            content: "\ff0b";
            width: 24px;
            height: 24px;
            background: rgba(0, 0, 0, 0.5);
            color: #fff;
            bottom: 10px;
            right: 10px;
            line-height: 1;
            display: flex;
            align-items: center;
            justify-content: center; }
      .osusume_section_images li img, .campaign_section_images li img {
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        object-fit: contain; }
  .osusume_section_btn a, .campaign_section_btn a {
    display: block;
    text-decoration: none;
    border: 1px solid;
    transition: 0.5s;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 360px;
    height: 60px;
    margin: 0 auto; }
    .osusume_section_btn a::after, .campaign_section_btn a::after {
      content: " ";
      background: no-repeat left 0px center;
      background-size: 7px auto;
      height: 100%;
      width: 65px;
      position: absolute;
      right: 0;
      top: 0;
      box-sizing: border-box; }
    @media (min-device-width: 1041px) and (min-width: 897px) {
      .osusume_section_btn a:hover::after, .campaign_section_btn a:hover::after {
        animation: arrowMove 0.7s ease-in-out 0s alternate; } }
  @media (max-width: 480px) {
    #contents .osusume_section_btn a, #contents .campaign_section_btn a {
      height: 48px;
      width: 100%;
      padding-right: 3%; }
      #contents .osusume_section_btn a::after, #contents .campaign_section_btn a::after {
        width: 13%; } }
  .osusume_section_btn a, .campaign_section_btn a {
    background-color: #1ba1e6;
    color: #fff; }
    .osusume_section_btn a::after, .campaign_section_btn a::after {
      background-image: url(../img/btn_arrow01.png); }
    @media (min-device-width: 1041px) and (min-width: 897px) {
      .osusume_section_btn a:hover, .campaign_section_btn a:hover {
        background-color: transparent;
        color: #0258b6; }
        .osusume_section_btn a:hover::after, .campaign_section_btn a:hover::after {
          background-image: url(../img/btn_arrow02.png); } }

/* .PageList */
#PageList {
  text-align: center;
  margin: 0 auto;
  padding: 50px 0 8px 0;
  max-width: 700px; }
  #PageList:after {
    content: " ";
    display: block;
    clear: both; }
  #PageList li {
    margin: 0 10px 0 0;
    display: inline; }
    @media (max-width: 480px) {
      #PageList li {
        padding: 10px 0;
        display: block; } }
    #PageList li a {
      text-decoration: none;
      padding: 2px 10px;
      display: inline-block; }
    #PageList li.prev a, #PageList li.next a {
      color: #097cf2; }
    #PageList li.pagelist a {
      color: #097cf2;
      border: 1px solid #097cf2; }
    #PageList li.pagelist .current_page {
      text-decoration: none;
      color: #fff;
      padding: 2px 10px;
      border: 1px solid #097cf2;
      background: #097cf2;
      display: inline-block; }
