@charset "UTF-8";
body {
  padding: 128px 0 0;
  position: relative; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  body {
    padding: 70px 0 0;
    position: relative; } }
/*max-width:1024px*/
/*max-width:768px*/
/*max-width:480px*/
/*************************************/
header {
  background-color: #B3F1FF;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999; }

/*************************************/
.header {
  max-width: 1260px;
  margin: 0 auto;
  width: calc(100% - 40px);
  padding: 20px 0 20px; }
  .header a {
    text-decoration: none; }

.h-top {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: center; }
  .h-top h1 a {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    display: block;
    background: url("../images/common/hedder_logo.svg") center center no-repeat;
    background-size: contain;
    width: 453px;
    height: 56px; }

.h-top-item {
  width: calc(100% - 470px);
  max-width: 735px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: center; }
  .h-top-item .channel-list {
    display: block;
    width: 130px;
    height: 50px;
    background-color: #fff;
    border: 2px solid #8E8FC2;
    border-radius: 10px;
    font: 1.6rem/46px 'Noto Sans JP', sans-serif;
    font-weight: 500;
    color: #00418C;
    position: relative;
    padding: 0 0 0 55px;
    margin: 0 5px 0 0; }
    .h-top-item .channel-list:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/common/icon-header-tv.svg") center center no-repeat;
      width: 27px;
      height: 24px;
      top: 12px;
      left: 17px; }
  .h-top-item .online-shop {
    display: block;
    width: 250px;
    height: 50px;
    background-color: #fff;
    border: 2px solid #8E8FC2;
    border-radius: 10px;
    font: 1.6rem/46px 'Noto Sans JP', sans-serif;
    font-weight: 500;
    color: #00418C;
    position: relative;
    padding: 0 0 0 31px;
    text-align: center;
    margin: 0 5px 0 0; }
    .h-top-item .online-shop:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/common/icon-header-shop.svg") center center no-repeat;
      width: 25px;
      height: 28px;
      top: 10px;
      left: 17px; }
  .h-top-item .search-form {
    height: 50px;
    background-color: #fff;
    border: 2px solid #8E8FC2;
    border-radius: 10px;
    max-width: 320px;
    width: calc(100% - 390px);
    padding: 5px 10px 5px 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center; }
  .h-top-item label {
    width: calc(100% - 35px); }
  .h-top-item input[type="text"] {
    font: 1.6rem/36px 'Noto Sans JP', sans-serif;
    font-weight: 400;
    border: none;
    height: 38px;
    width: 100%;
    border-radius: 10px;
    padding: 0 5px; }
    .h-top-item input[type="text"]:focus {
      outline: #fff 1px solid; }
  .h-top-item .search-submit {
    border: none;
    width: 22px;
    height: 22px;
    background: url("../images/common/icon-search.svg") center center no-repeat;
    background-size: contain; }
    .h-top-item .search-submit:hover {
      cursor: pointer;
      opacity: 0.5; }

@media (max-width: 1280px) {
  .header {
    max-width: 1260px;
    margin: 0 auto;
    width: 100%;
    padding: 20px 10px 20px 10px; }

  .h-top h1 a {
    width: 440px;
    height: 56px; }

  .h-top-item {
    width: calc(100% - 455px);
    max-width: 700px; }
    .h-top-item .channel-list {
      width: 110px;
      padding: 0 0 0 45px; }
      .h-top-item .channel-list:before {
        top: 12px;
        left: 10px; }
    .h-top-item .online-shop {
      width: 230px;
      letter-spacing: -1px;
      padding: 0 0 0 40px; }
      .h-top-item .online-shop:before {
        height: 28px;
        top: 10px;
        left: 7px; }
    .h-top-item .search-form {
      width: calc(100% - 350px);
      padding: 5px 10px 5px 5px; }
    .h-top-item label {
      width: calc(100% - 25px); }
    .h-top-item input[type="text"] {
      height: 38px;
      width: 100%;
      border-radius: 10px;
      padding: 0 5px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .header {
    max-width: 1260px;
    margin: 0 auto;
    width: 100%;
    padding: 10px 15px 10px 15px; }

  .h-top h1 a {
    width: 259px;
    height: 32px; }

  .h-top-item {
    display: none; } }
/*max-width:1024px*/
/*max-width:768px*/
/*max-width:480px*/
/*************************************/
.pc_nav {
  width: 100%; }
  .pc_nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    border-right: 1px solid #A7A3A2;
    width: fit-content;
    margin: 15px auto 0; }
  .pc_nav a {
    color: #384158;
    font: 1.6rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 500;
    padding: 0 14px;
    border-left: 1px solid #A7A3A2; }

@media (max-width: 1024px) {
  .pc_nav {
    display: none; } }
/*max-width:1024px*/
/*************************************/
.sp_nav {
  display: none;
  opacity: 0; }

@media (max-width: 1024px) {
  .sp_nav {
    display: block;
    opacity: 0;
    pointer-events: none;
    z-index: -999;
    position: absolute;
    left: 0;
    top: 60px;
    transition: .3s;
    width: 100%;
    padding: 0 0 50%;
    height: 100vh;
    background-color: #B3F1FF;
    overflow: scroll; }
    .sp_nav.active {
      pointer-events: all;
      opacity: 1;
      z-index: 999; }
    .sp_nav .gnav {
      border-top: 1px solid #ccc;
      margin: 0 auto 35px; }
      .sp_nav .gnav > li > a, .sp_nav .gnav > li span {
        text-decoration: none;
        color: #00418C;
        font: 1.5rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 400;
        display: block;
        border-bottom: 1px solid #9BD5EB;
        padding: 17px 30px 19px 15px;
        position: relative; }
      .sp_nav .gnav > li > a:before {
        position: absolute;
        content: "";
        right: 20px;
        top: 22px;
        width: 6px;
        height: 6px;
        border-top: 1px solid #00418C;
        border-right: 1px solid #00418C;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
      .sp_nav .gnav > li span:before {
        position: absolute;
        content: "";
        right: 15px;
        top: 26px;
        width: 15px;
        height: 1px;
        background-color: #00418C; }
      .sp_nav .gnav > li span:after {
        transition: .3s;
        position: absolute;
        content: "";
        right: 22px;
        top: 19px;
        width: 1px;
        height: 15px;
        background-color: #00418C; }
      .sp_nav .gnav > li span.active:after {
        opacity: 0; }
    .sp_nav .sub_nav {
      transition: .3s;
      height: 0;
      opacity: 0;
      overflow: hidden;
      background-color: #fff; }
      .sp_nav .sub_nav.active {
        opacity: 1;
        padding: 10px 0 10px;
        height: auto; }
      .sp_nav .sub_nav a {
        text-decoration: none;
        display: block;
        position: relative;
        color: #00418C;
        font: 1.5rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 400;
        padding: 15px 0 17px 3.2rem; }
        .sp_nav .sub_nav a:before {
          position: absolute;
          content: "・";
          left: 16px;
          top: 15px; }
    .sp_nav .nav_bousai {
      background-color: #E76D75;
      color: #fff;
      display: block;
      max-width: 480px;
      width: calc(100% - 40px);
      height: 55px;
      border-radius: 10px;
      text-align: center;
      position: relative;
      font: 1.6rem/53px 'Noto Sans JP', sans-serif;
      font-weight: 500;
      letter-spacing: 0.25em;
      margin: 0 auto 15px;
      position: relative;
      text-decoration: none; }
      .sp_nav .nav_bousai span {
        position: relative;
        padding: 0 0 0 42px; }
        .sp_nav .nav_bousai span:before {
          position: absolute;
          content: "";
          display: block;
          top: 49%;
          left: 0;
          -webkit-transform: translate(0%, -50%);
          /* Safari用 */
          transform: translate(0%, -50%);
          background: url("../images/common/icon-bosai.svg") center center no-repeat;
          background-size: contain;
          width: 33px;
          height: 22px; }
    .sp_nav .nav_online {
      text-decoration: none;
      background-color: #fff;
      color: #00418C;
      display: block;
      max-width: 480px;
      width: calc(100% - 40px);
      height: 55px;
      border-radius: 10px;
      text-align: center;
      position: relative;
      font: 1.6rem/53px 'Noto Sans JP', sans-serif;
      font-weight: 500;
      margin: 0 auto 15px;
      position: relative; }
      .sp_nav .nav_online span {
        position: relative;
        padding: 0 0 0 33px; }
        .sp_nav .nav_online span:before {
          position: absolute;
          content: "";
          display: block;
          top: 49%;
          left: 0;
          -webkit-transform: translate(0%, -50%);
          /* Safari用 */
          transform: translate(0%, -50%);
          background: url("../images/common/icon-header-shop.svg") center center no-repeat;
          background-size: contain;
          width: 25px;
          height: 28px; }
    .sp_nav .nav_app {
      text-decoration: none;
      background-color: #fff;
      color: #00418C;
      display: block;
      max-width: 480px;
      width: calc(100% - 40px);
      height: 55px;
      border-radius: 10px;
      text-align: center;
      position: relative;
      font: 1.6rem/53px 'Noto Sans JP', sans-serif;
      font-weight: 500;
      margin: 0 auto 25px;
      padding: 0 0 0 5%; }
      .sp_nav .nav_app span {
        position: relative;
        padding: 0 0 0 44px; }
        .sp_nav .nav_app span:before {
          position: absolute;
          content: "";
          display: block;
          top: 50%;
          left: 0;
          -webkit-transform: translate(0%, -50%);
          /* Safari用 */
          transform: translate(0%, -50%);
          background: url("../images/common/7mtv.png") center center no-repeat;
          background-size: 30px;
          width: 35px;
          height: 35px;
          border: 1px solid #ccc;
          border-radius: 10px; }
    .sp_nav .nav_block {
      margin: 0 auto 15px;
      max-width: 480px;
      width: calc(100% - 40px);
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      align-items: flex-start; }
      .sp_nav .nav_block a {
        text-decoration: none;
        display: block;
        width: calc((100% - 15px)/2);
        border-radius: 10px;
        text-align: center;
        position: relative;
        height: 125px;
        overflow: hidden;
        text-indent: 100%;
        white-space: nowrap; }
        .sp_nav .nav_block a.archives {
          background: url("../images/common/nav-archive.svg") center center no-repeat #8398F2; }
        .sp_nav .nav_block a.recruit {
          background: url("../images/common/nav-recruit.svg") center center no-repeat #055DD1; }
    .sp_nav .footer_sns {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: center;
      justify-content: center;
      align-items: center;
      margin: 0 auto 30px; }
      .sp_nav .footer_sns li {
        margin: 0 10px; }
        .sp_nav .footer_sns li a {
          display: block;
          overflow: hidden;
          text-indent: 100%;
          white-space: nowrap;
          position: relative; }
          .sp_nav .footer_sns li a.instagram {
            height: 23px;
            width: 23px;
            background: url("../images/common/nav-icon_instagram.svg") center center no-repeat;
            background-size: contain; }
          .sp_nav .footer_sns li a.x {
            height: 23px;
            width: 23px;
            background: url("../images/common/nav-icon_x.svg") center center no-repeat;
            background-size: contain; }
          .sp_nav .footer_sns li a.facebook {
            height: 23px;
            width: 23px;
            background: url("../images/common/nav-icon_fasebook.svg") center center no-repeat;
            background-size: contain; }
          .sp_nav .footer_sns li a.tiktok {
            height: 23px;
            width: 23px;
            background: url("../images/common/nav-icon_tiktok.svg") center center no-repeat;
            background-size: contain; }
    .sp_nav .footer_youtube {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: center;
      justify-content: center;
      align-items: center;
      margin: 0 auto; }
      .sp_nav .footer_youtube li {
        margin: 0 10px; }
        .sp_nav .footer_youtube li a {
          text-decoration: none;
          color: #00418C;
          font: 1.3rem/1.4em 'Noto Sans JP', sans-serif;
          font-weight: 500;
          margin: 0;
          position: relative;
          padding: 0 0 0 45px;
          display: block; }
          .sp_nav .footer_youtube li a:before {
            position: absolute;
            content: "";
            display: block;
            overflow: hidden;
            text-indent: 100%;
            white-space: nowrap;
            width: 35px;
            height: 25px;
            background: url("../images/common/nav-icon_youtube.svg") center center no-repeat;
            background-size: contain;
            top: 50%;
            left: 0%;
            -webkit-transform: translate(0%, -50%);
            /* Safari用 */
            transform: translate(0%, -50%); } }
/*max-width:1024px*/
/*************************************/
.toggle {
  display: none; }

@media (max-width: 1024px) {
  .toggle {
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #00418C;
    position: relative; }
    .toggle span {
      display: block;
      width: 16px;
      height: 1px;
      background-color: #fff;
      position: absolute;
      transition: .3s; }
      .toggle span:nth-of-type(1) {
        top: 38%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        /* Safari用 */
        transform: translate(-50%, -50%); }
      .toggle span:nth-of-type(2) {
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        /* Safari用 */
        transform: translate(-50%, -50%); }
      .toggle span:nth-of-type(3) {
        top: 62%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        /* Safari用 */
        transform: translate(-50%, -50%); }
    .toggle.active span {
      transition: .3s; }
      .toggle.active span:nth-of-type(1) {
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(45deg);
        transform: translate(-50%, -50%) rotate(45deg); }
      .toggle.active span:nth-of-type(2) {
        opacity: 0; }
      .toggle.active span:nth-of-type(3) {
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(-45deg);
        transform: translate(-50%, -50%) rotate(-45deg); } }
/*max-width:1024px*/
/*max-width:768px*/
/*max-width:480px*/
/*************************************/
.sp_search {
  display: none; }

@media (max-width: 1024px) {
  .sp_search {
    display: block;
    position: relative;
    z-index: 1;
    margin: 0 0 20px; }
    .sp_search .search-form {
      height: 40px;
      background-color: #fff;
      border: 2px solid #8E8FC2;
      border-radius: 10px;
      max-width: 640px;
      width: calc(100% - 40px);
      margin: 0 auto;
      padding: 0px 10px 0px 5px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      align-items: center; }
    .sp_search label {
      width: calc(100% - 35px); }
    .sp_search input[type="text"] {
      font: 1.6rem/30px 'Noto Sans JP', sans-serif;
      font-weight: 400;
      border: none;
      height: 30px;
      width: 100%;
      border-radius: 10px;
      padding: 0 5px; }
      .sp_search input[type="text"]:focus {
        outline: #fff 1px solid; }
    .sp_search .search-submit {
      border: none;
      width: 22px;
      height: 22px;
      background: url("../images/common/icon-search.svg") center center no-repeat;
      background-size: contain; }
      .sp_search .search-submit:hover {
        cursor: pointer;
        opacity: 0.5; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .sp_search .search-form {
    max-width: 430px; } }
/*max-width:768px*/
/*************************************/
footer {
  width: 100%;
  background-color: #B3F1FF;
  padding: 321px 0 0 0;
  position: relative;
  margin: -2px 0 0; }
  footer:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/common/cloud-w.svg") center center repeat-x;
    background-size: 1920px auto;
    top: 260px;
    width: 100%;
    height: 493px;
    z-index: 3; }
  footer:after {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/common/cloud-b.svg") center center repeat-x;
    background-size: 1920px auto;
    top: 260px;
    width: 100%;
    height: 582px;
    z-index: 1; }
  footer.run:before {
    animation-name: footer-before;
    /*1で解説*/
    animation-fill-mode: forwards;
    /*2で解説*/
    animation-duration: 0.5s;
    /*3で解説*/
    animation-iteration-count: 1;
    /*4で解説*/
    animation-timing-function: ease;
    /*5で解説*/
    animation-delay: 0;
    /*6で解説*/
    animation-direction: normal;
    /*7で解説*/ }
  footer.run:after {
    animation-name: footer-after;
    /*1で解説*/
    animation-fill-mode: forwards;
    /*2で解説*/
    animation-duration: 0.5s;
    /*3で解説*/
    animation-iteration-count: 1;
    /*4で解説*/
    animation-timing-function: ease;
    /*5で解説*/
    animation-delay: 0.2s;
    /*6で解説*/
    animation-direction: normal;
    /*7で解説*/ }

@keyframes footer-before {
  0% {
    top: 260px; }
  100% {
    top: 0; } }
@keyframes footer-after {
  0% {
    top: 260px; }
  100% {
    top: -100px; } }
@media (max-width: 768px) {
  footer {
    padding: 80px 0 0 0;
    position: relative; }
    footer:before {
      background: url("../images/common/sp-cloud-w.svg") center center repeat-x;
      background-size: 745px auto;
      height: 244px;
      z-index: 3; }
    footer:after {
      background: url("../images/common/sp-cloud-b.svg") center center repeat-x;
      background-size: 745px auto;
      height: 226px;
      z-index: 1; }

  @keyframes footer-before {
    0% {
      top: 260px; }
    100% {
      top: 15px; } }
  @keyframes footer-after {
    0% {
      top: 260px; }
    100% {
      top: -35px; } } }
/*max-width:768px*/
/*max-width:480px*/
/********************************************************/
.footer_content {
  position: relative;
  background: url("../images/common/f-haikei.png") top center no-repeat;
  background-size: 3640px 495px;
  padding: 375px 0 0;
  overflow: hidden;
  z-index: 10; }
  .footer_content canvas {
    display: block;
    width: 100%; }
    .footer_content canvas.flipped {
      transform: rotate(180deg); }

.footer_box {
  position: relative;
  padding: 40px 0 120px;
  background-color: #0596CC; }

.footer_menu {
  width: calc(100% - 40px);
  margin: 0 auto 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: center;
  justify-content: center;
  align-items: center; }
  .footer_menu a {
    text-decoration: none;
    color: #fff;
    position: relative;
    padding: 0 50px;
    font: 1.6rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 500; }
  .footer_menu li {
    border-left: 1px solid #fff; }
    .footer_menu li:last-of-type {
      border-right: 1px solid #fff; }

@media (max-width: 1280px) {
  .footer_box {
    padding: 160px 0 140px; } }
/*max-width:1280px*/
@media (max-width: 768px) {
  .footer_content {
    position: relative;
    background: url("../images/common/sp-bg_hukei.png") top center repeat-x;
    background-size: 934px auto;
    padding: 260px 0 0;
    overflow: hidden;
    z-index: 10; }
    .footer_content canvas {
      display: block;
      width: 100%; }
      .footer_content canvas.flipped {
        transform: rotate(180deg); }

  .footer_menu {
    display: none; }

  .footer_box {
    padding: 40px 0 140px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .footer_box {
    padding: 15px 0 120px; } }
/*max-width:480px*/
@media (hover: hover) {
  .footer_menu a:hover {
    color: yellow; } }
/**************************************************/
.footer_btm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  max-width: 1280px;
  width: calc(100% - 80px);
  margin: 0 auto;
  position: relative; }
  .footer_btm:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/common/illust_meotoiwa.svg") center center no-repeat;
    background-size: contain;
    width: 353px;
    height: 214px;
    top: -155px;
    right: -165px; }

@media (max-width: 1280px) {
  .footer_btm {
    flex-direction: column;
    width: calc(100% - 40px); }
    .footer_btm:before {
      top: -315px;
      right: 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .footer_btm:before {
    background: url(../images/common/illust_meotoiwa.svg) center center no-repeat;
    background-size: contain;
    width: 150px;
    height: 100px;
    top: -80px;
    right: 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .footer_btm:before {
    background: url(../images/common/illust_meotoiwa.svg) center center no-repeat;
    background-size: contain;
    width: 133px;
    height: 80px;
    top: -50px;
    right: 0; } }
/*max-width:480px*/
/**************************************************/
.footer_btm_left {
  width: 455px; }
  .footer_btm_left p {
    background: url("../images/common/fotter_logo.svg") center left no-repeat;
    background-size: contain;
    width: 455px;
    height: 56px;
    display: block;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    margin: 0 0 20px; }
  .footer_btm_left small {
    font: 1.3rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 400;
    color: #fff; }

@media (max-width: 1280px) {
  .footer_btm_left {
    order: 3; } }
@media (max-width: 768px) {
  .footer_btm_left {
    width: 100%; }
    .footer_btm_left p {
      width: 400px;
      height: 50px;
      margin: 0 auto 20px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .footer_btm_left p {
    width: 260px;
    height: 32px;
    margin: 0 auto 20px; }
  .footer_btm_left small {
    font: 1.1rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 400;
    color: #fff; } }
/*max-width:480px*/
/**************************************************/
.footer_btm_right {
  width: 530px; }

.footer_right_top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin: 0 0 20px; }
  .footer_right_top a {
    text-decoration: none;
    max-width: 260px;
    width: calc((100% - 15px)/2);
    height: 50px;
    border: 1px solid #0596CC;
    background: #fff;
    position: relative;
    border-radius: 10px;
    display: block;
    font: 1.6rem/48px 'Noto Sans JP', sans-serif;
    font-weight: 500;
    color: #0596CC; }
  .footer_right_top .online {
    padding: 0 0 0 30px;
    text-align: center; }
    .footer_right_top .online:before {
      position: absolute;
      content: "";
      top: 50%;
      left: 18px;
      -webkit-transform: translate(0%, -50%);
      /* Safari用 */
      transform: translate(0%, -50%);
      width: 25px;
      height: 28px;
      display: block;
      background: url("../images/common/icon-shop.svg") center center no-repeat;
      background-size: contain; }
  .footer_right_top .app {
    padding: 0 0 0 50px; }
    .footer_right_top .app:before {
      position: absolute;
      content: "";
      top: 50%;
      left: 10px;
      -webkit-transform: translate(0%, -50%);
      /* Safari用 */
      transform: translate(0%, -50%);
      width: 30px;
      height: 30px;
      display: block;
      background: url("../images/common/7mtv.png") center center no-repeat;
      background-size: contain;
      border: 1px solid #ccc;
      border-radius: 5px; }

.footer_right_btm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  align-items: center; }
  .footer_right_btm > a {
    text-decoration: none;
    color: #fff;
    font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 500;
    display: block;
    width: fit-content;
    padding: 0 0 0 18px;
    position: relative; }
    .footer_right_btm > a:before {
      position: absolute;
      content: "";
      top: 6px;
      left: 0;
      width: 6px;
      height: 6px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
  .footer_right_btm .footer_youtube {
    display: none; }
  .footer_right_btm .footer_sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
    width: 210px;
    margin: 0 0 0 60px; }
    .footer_right_btm .footer_sns li a {
      display: block;
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap;
      position: relative; }
      .footer_right_btm .footer_sns li a.instagram {
        width: 27px;
        height: 27px;
        background: url("../images/common/icon_instagram.svg") center center no-repeat;
        background-size: contain; }
      .footer_right_btm .footer_sns li a.x {
        width: 27px;
        height: 27px;
        background: url("../images/common/icon_X.svg") center center no-repeat;
        background-size: contain; }
      .footer_right_btm .footer_sns li a.facebook {
        width: 27px;
        height: 27px;
        background: url("../images/common/icon_facebook.svg") center center no-repeat;
        background-size: contain; }
      .footer_right_btm .footer_sns li a.youtube {
        width: 35px;
        height: 25px;
        background: url("../images/common/icon_youtube.svg") center center no-repeat;
        background-size: contain; }
      .footer_right_btm .footer_sns li a.tiktok {
        width: 27px;
        height: 27px;
        background: url("../images/common/icon_tiktok.svg") center center no-repeat;
        background-size: contain; }

@media (hover: hover) {
  .footer_right_top a:hover {
    background: #57DFFF; }

  .footer_right_btm li a:hover {
    opacity: 0.6; }
  .footer_right_btm a:hover {
    color: yellow; } }
@media (max-width: 1280px) {
  .footer_btm_right {
    width: 530px;
    order: 1;
    margin: 0 auto 50px; }

  .footer_btm_left {
    text-align: center;
    order: 2;
    margin: 0 auto; }

  .footer_right_btm {
    display: block;
    margin: 0 auto;
    max-width: 480px; }
    .footer_right_btm > a {
      display: block;
      color: #fff;
      font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      width: fit-content;
      margin: 0 auto 30px; }
    .footer_right_btm .footer_sns {
      width: 210px;
      margin: 0 auto; }
      .footer_right_btm .footer_sns li a {
        margin: 0; } }
/*max-width:1280px*/
@media (max-width: 768px) {
  .footer_btm_right {
    width: 400px;
    order: 1;
    margin: 0 auto 50px; }

  .footer_btm_left {
    text-align: center;
    order: 2;
    margin: 0 auto; }

  .footer_right_top {
    display: none; }

  .footer_right_btm {
    display: block;
    margin: 0 auto;
    max-width: 400px; }
    .footer_right_btm > a {
      display: none; }
    .footer_right_btm .footer_sns {
      width: 140px;
      margin: 0 0 25px; }
      .footer_right_btm .footer_sns li:last-of-type {
        display: none; }
    .footer_right_btm .footer_youtube {
      width: 400px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      align-items: flex-start; }
      .footer_right_btm .footer_youtube li {
        margin: 0 30px 0 0; }
        .footer_right_btm .footer_youtube li a {
          text-decoration: none;
          font: 1.5rem/1.4em 'Noto Sans JP', sans-serif;
          font-weight: 500;
          margin: 0;
          position: relative;
          padding: 0 0 0 45px;
          display: block;
          color: #fff; }
          .footer_right_btm .footer_youtube li a:before {
            position: absolute;
            content: "";
            display: block;
            overflow: hidden;
            text-indent: 100%;
            white-space: nowrap;
            width: 35px;
            height: 25px;
            background: url("../images/common/icon_youtube.svg") center center no-repeat;
            background-size: contain;
            top: 50%;
            left: 0%;
            -webkit-transform: translate(0%, -50%);
            /* Safari用 */
            transform: translate(0%, -50%); } }
/*max-width:768px*/
@media (max-width: 480px) {
  .footer_btm_right {
    width: 100%;
    order: 1;
    margin: 0 auto 50px; }

  .footer_right_btm {
    display: block;
    margin: 0 auto;
    max-width: 310px; }
    .footer_right_btm .footer_sns {
      width: 100px;
      margin: 0 0 30px; }
      .footer_right_btm .footer_sns a.instagram {
        width: 22px !important;
        height: 22px !important;
        background: url("../images/common/icon_instagram.svg") center center no-repeat;
        background-size: contain; }
      .footer_right_btm .footer_sns a.x {
        width: 22px !important;
        height: 22px !important;
        background: url("../images/common/icon_X.svg") center center no-repeat;
        background-size: contain; }
      .footer_right_btm .footer_sns a.facebook {
        width: 22px !important;
        height: 22px !important;
        background: url("../images/common/icon_facebook.svg") center center no-repeat;
        background-size: contain; }
      .footer_right_btm .footer_sns a.tiktok {
        width: 22px !important;
        height: 22px !important;
        background: url("../images/common/icon_tiktok.svg") center center no-repeat;
        background-size: contain; }
    .footer_right_btm .footer_youtube {
      width: 100%;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
      .footer_right_btm .footer_youtube li {
        margin: 0; }
        .footer_right_btm .footer_youtube li a {
          font: 1.3rem/1.4em 'Noto Sans JP', sans-serif;
          font-weight: 500;
          margin: 0;
          position: relative;
          padding: 0 0 0 43px; } }
/*max-width:480px*/
/*************************************/
.page_top {
  background: url("../images/common/top_btn.svg") center center no-repeat;
  background-size: contain;
  width: 70px;
  height: 155px;
  position: fixed;
  bottom: 100px;
  right: 20px;
  animation: 3s fuwafuwa infinite;
  transition: .3s;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  opacity: 0;
  z-index: -1111; }
  .page_top.active {
    z-index: 1000;
    opacity: 1; }

@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0); }
  50% {
    transform: translateY(-20px); } }
@media (hover: hover) {
  .page_top:hover {
    bottom: 110px;
    cursor: pointer; } }
@media (max-width: 1024px) {
  .page_top {
    width: 50px;
    height: 120px;
    right: 10px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .page_top {
    width: 50px;
    height: 120px;
    right: 5px; }

  @keyframes fuwafuwa {
    0%, 100% {
      transform: translateY(0); }
    50% {
      transform: translateY(-10px); } } }
/*max-width:768px*/
/*************************************/
.no_single {
  font: 1.6rem/1.4em 'Noto Sans JP', sans-serif;
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center;
  padding: 20px; }

/*****************************************************************/
.search_box {
  position: relative;
  z-index: 1;
  max-width: 1000px;
  width: calc(100% - 40px);
  margin: 0 auto;
  padding: 0 0 100px; }
  .search_box h2 {
    position: relative;
    font: 2.4rem / 1.5em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    padding: 0 0 20px;
    background-image: linear-gradient(to right, #00418C 2px, transparent 2px);
    background-size: 10px 2px;
    background-repeat: repeat-x;
    background-position: bottom;
    margin: 0 0 20px; }
  .search_box ul {
    margin: 0 0 30px; }
  .search_box li {
    font: 1.6rem / 1.8em 'Noto Sans JP', sans-serif;
    font-weight: 500;
    padding: 10px;
    border-bottom: 1px solid #ccc; }
  .search_box p {
    padding: 40px 0;
    font: 1.6rem / 1.8em 'Noto Sans JP', sans-serif;
    font-weight: 500; }

@media (hover: hover) {
  .search_box .btn:hover {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    border-bottom: 3px solid #00418C; } }
@media (max-width: 768px) {
  .search_box {
    position: relative;
    z-index: 1;
    max-width: 480px;
    width: calc(100% - 40px);
    margin: 0 auto; }
    .search_box h2 {
      position: relative;
      font: 1.8rem / 1.5em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      padding: 0 0 20px;
      background-image: linear-gradient(to right, #00418C 2px, transparent 2px);
      background-size: 10px 2px;
      background-repeat: repeat-x;
      background-position: bottom;
      margin: 0 0 20px; }
    .search_box ul {
      margin: 0 0 30px; }
    .search_box li {
      font: 1.5rem / 1.8em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      padding: 10px;
      border-bottom: 1px solid #ccc; }
    .search_box p {
      padding: 20px 0 40px;
      font: 1.5rem / 1.8em 'Noto Sans JP', sans-serif;
      font-weight: 500; } }
/*max-width:768px*/
/*max-width:480px*/
