body {
  margin: 0px;
  padding: 0px; }
  @media screen and (min-width: 768px) {
    body .sp {
      display: none !important; } }
  @media screen and (max-width: 767px) {
    body .pc {
      display: none !important; } }

.header {
  min-width: 1150px;
  position: relative;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
  height: 80px;
  box-shadow: 0px 2px 16px rgba(0, 0, 0, 0.08); }
  @media (max-width: 768px) {
    .header {
      height: 60px;
      min-width: 320px; } }
  .header .pc {
    height: 100%;
    display: flex;
    justify-content: space-between; }
    .header .pc .logo {
      padding-left: 20px;
      display: flex;
      align-items: center; }
      .header .pc .logo .inner2_logo {
        z-index: 1;
        cursor: pointer;
        width: 240px;
        height: 45px; }
    .header .pc .menu {
      z-index: 1;
      font-family: "Noto Sans JP", sans-serif;
      color: #333333;
      margin: 0px;
      font-size: 14px;
      display: flex;
      align-items: center;
      font-weight: 700;
      padding-right: 20px; }
      .header .pc .menu a:link {
        text-decoration: none;
        color: #333333; }
      .header .pc .menu a:visited {
        text-decoration: none;
        color: #333333; }
      .header .pc .menu a:hover {
        text-decoration: none;
        color: #DD0047; }
      .header .pc .menu .content {
        vertical-align: middle;
        cursor: pointer;
        display: inline;
        margin-right: 28px;
        font-size: 16px; }
    .header .pc .hover {
      background-color: #F7F6F5;
      z-index: 2;
      position: absolute;
      height: auto;
      min-height: 90px;
      font-weight: 700;
      display: none;
      margin-top: 80px;
      width: 100%; }
      .header .pc .hover .inner {
        padding-left: 60px;
        padding-right: 60px;
        padding-top: 16px;
        padding-bottom: 16px;
        box-sizing: border-box;
        width: max-content;
        max-width: 100%;
        margin: auto;
        line-height: 150%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        min-height: 90px; }
        .header .pc .hover .inner .inner_hover {
          display: flex;
          align-items: center;
          flex-shrink: 0;
          padding-right: 48px;
          padding-top: 8px;
          padding-bottom: 8px; }
          .header .pc .hover .inner .inner_hover .inner_title {
            padding-right: 4px;
            margin: 0px;
            white-space: nowrap; }
            .header .pc .hover .inner .inner_hover .inner_title a:link {
              text-decoration: none;
              color: #333333; }
            .header .pc .hover .inner .inner_hover .inner_title a:visited {
              text-decoration: none;
              color: #333333; }
            .header .pc .hover .inner .inner_hover .inner_title a:hover {
              text-decoration: underline;
              color: #333333; }
          .header .pc .hover .inner .inner_hover img {
            height: 20px;
            width: 20px;
            cursor: pointer; }
  .header .sp .logo {
    z-index: 1;
    position: absolute;
    left: 20px;
    line-height: 32px;
    vertical-align: middle; }
    .header .sp .logo .inner2_logo {
      margin-top: 16px;
      width: 162px;
      height: auto; }
  .header .sp .menu .menuopen {
    position: absolute;
    right: 12px;
    bottom: 12px; }
  .header .sp .menubox {
    padding-bottom: 20px;
    display: none;
    z-index: 2;
    position: absolute;
    background-color: #ffffff;
    width: 100%; }
    .header .sp .menubox a:link {
      color: #333333;
      text-decoration: none; }
    .header .sp .menubox a:visited {
      color: #333333;
      text-decoration: none; }
    .header .sp .menubox .menuclose {
      z-index: 2;
      position: absolute;
      right: 0px;
      height: 60px;
      width: 60px; }
    .header .sp .menubox .menulist {
      list-style: none;
      margin-top: 80px;
      margin-left: 22px;
      margin-right: 22px;
      padding: 0px; }
      .header .sp .menubox .menulist .munelist_content {
        display: flex;
        height: 60px;
        justify-content: space-between; }
        .header .sp .menubox .menulist .munelist_content .text {
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 700;
          font-size: 16px;
          line-height: 150%;
          color: #333333; }
        .header .sp .menubox .menulist .munelist_content img {
          height: 20px;
          width: 20px;
          padding-top: 20px;
          margin-right: 0px; }
    .header .sp .menubox .text_submenu .title_submenu {
      font-family: "Noto Sans JP", sans-serif;
      font-weight: 700;
      font-size: 16px;
      line-height: 150%;
      color: #333333;
      margin-left: 22px;
      margin-top: 24px; }
    .header .sp .menubox .text_submenu .menulist {
      margin-top: 24px; }
    .header .sp .menubox .text_submenu .munelist_content {
      display: flex;
      height: 60px;
      justify-content: space-between; }
      .header .sp .menubox .text_submenu .munelist_content .text {
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 400;
        font-size: 14px;
        line-height: 150%;
        color: #333333;
        padding-top: 4px; }
      .header .sp .menubox .text_submenu .munelist_content img {
        height: 20px;
        width: 20px;
        padding-top: 16px;
        margin-right: 0px; }

.middle {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  width: 100%;
  letter-spacing: 0.08em;
  line-height: 180%; }
  .middle .title {
    width: 1040px;
    margin: auto;
    font-weight: 700;
    font-size: 44px;
    padding-top: 88px;
    padding-bottom: 12px;
    line-height: 180%; }
    .middle .title span {
      display: block;
      line-height: 150%;
      margin-top: 4px; }
    @media (max-width: 768px) {
      .middle .title {
        width: 88%;
        font-size: 32px;
        padding-bottom: 8px;
        padding-top: 20px;
        margin-left: 20px; } }
  .middle hr {
    height: 4px; }
  .middle .content1 {
    margin: auto;
    width: 1040px;
    padding-top: 60px; }
    @media (max-width: 768px) {
      .middle .content1 {
        width: 88%;
        padding-top: 44px; } }
    .middle .content1 .text_title {
      position: relative;
      font-size: 32px;
      line-height: 47px; }
      @media (max-width: 768px) {
        .middle .content1 .text_title {
          width: 100%;
          font-size: 22px;
          line-height: 35px;
          margin: auto; } }
    .middle .content1 .text_title:after {
      z-index: 1;
      content: '';
      position: absolute;
      padding-bottom: 0px;
      top: 56px;
      left: 0;
      width: 1037px;
      border: 2px #c4c4c4 solid;
      opacity: 50%; }
      @media (max-width: 768px) {
        .middle .content1 .text_title:after {
          width: 87%;
          left: 0;
          top: 48px; } }
    .middle .content1 .text_title:before {
      z-index: 2;
      content: '';
      position: absolute;
      padding-bottom: 0px;
      top: 56px;
      left: 0;
      width: 60px;
      border: 2px #DD0047 solid; }
      @media (max-width: 768px) {
        .middle .content1 .text_title:before {
          top: 48px; } }
    .middle .content1 .img {
      text-align: center;
      height: 500px;
      padding-top: 40px; }
      @media (max-width: 768px) {
        .middle .content1 .img {
          width: 100%;
          height: auto;
          padding-top: 44px; } }
    .middle .content1 .text1 {
      font-size: 16px;
      font-weight: 400;
      margin-top: 40px; }
    .middle .content1 .text3 {
      font-size: 16px;
      font-weight: 400;
      margin-top: 80px;
      padding-left: 16px; }
      @media (max-width: 768px) {
        .middle .content1 .text3 {
          margin-top: 40px; } }
    .middle .content1 li {
      padding-bottom: 16px; }
  .middle .content2 {
    margin: auto;
    width: 1040px;
    padding-top: 134px; }
    @media (max-width: 768px) {
      .middle .content2 {
        width: 88%;
        padding-top: 80px; } }
    .middle .content2 .text_title {
      position: relative;
      font-size: 32px;
      line-height: 47px; }
      @media (max-width: 768px) {
        .middle .content2 .text_title {
          width: 100%;
          font-size: 22px;
          line-height: 35px;
          margin: auto; } }
    .middle .content2 .text_title:after {
      z-index: 1;
      content: '';
      position: absolute;
      padding-bottom: 0px;
      top: 56px;
      left: 0;
      width: 1037px;
      border: 2px #c4c4c4 solid;
      opacity: 50%; }
      @media (max-width: 768px) {
        .middle .content2 .text_title:after {
          width: 85%;
          left: 0;
          top: 48px; } }
    .middle .content2 .text_title:before {
      z-index: 2;
      content: '';
      position: absolute;
      padding-bottom: 0px;
      top: 56px;
      left: 0;
      width: 60px;
      border: 2px #DD0047 solid; }
      @media (max-width: 768px) {
        .middle .content2 .text_title:before {
          top: 48px; } }
    .middle .content2 .text1 {
      font-size: 16px;
      font-weight: 400;
      margin-top: 40px; }
    .middle .content2 .list {
      margin-top: 40px; }
      @media (max-width: 768px) {
        .middle .content2 .list {
          margin-top: 40px; } }
      .middle .content2 .list .inner_text {
        line-height: 32px;
        font-size: 16px;
        padding-left: 16px; }
      .middle .content2 .list .inner_text::before {
        z-index: 1;
        content: '';
        position: absolute;
        padding-bottom: 0px;
        margin-top: 2px;
        margin-left: -16px;
        border: 2px #DD0047 solid;
        height: 24px; }
      .middle .content2 .list .inner_list {
        font-size: 16px;
        font-weight: 400;
        padding: 16px 0 16px 0; }
        .middle .content2 .list .inner_list .flex {
          display: flex;
          margin-bottom: 16px; }
          .middle .content2 .list .inner_list .flex .img {
            padding-top: 12px;
            padding-right: 16px; }
          .middle .content2 .list .inner_list .flex .text {
            margin: 0px; }
    @media (max-width: 768px) {
      .middle .content2 .text2 {
        margin-top: 0px; } }

.footter {
  min-width: 1150px;
  background-color: #F7F6F5;
  margin-top: 150px;
  padding-bottom: 28px; }
  @media (max-width: 768px) {
    .footter {
      min-width: 320px; } }
  .footter .top {
    position: absolute;
    cursor: pointer;
    width: 64px;
    height: 64px;
    margin-top: -30px;
    right: 152px; }
    @media (max-width: 768px) {
      .footter .top {
        right: 20px; } }
  .footter .frame {
    width: 100%; }
    .footter .frame .logo {
      margin-left: 10%;
      width: 250px;
      line-height: 49px;
      cursor: pointer;
      padding-bottom: 40px; }
      .footter .frame .logo .inner2_logo {
        margin-top: 60px;
        width: 280px;
        height: auto;
        vertical-align: middle; }
  .footter .frame {
    width: 100%; }
    .footter .frame .menu {
      margin: auto;
      width: 80%;
      padding-bottom: 40px; }
      @media (max-width: 768px) {
        .footter .frame .menu {
          padding-bottom: 0px; } }
      .footter .frame .menu .content1 {
        padding-left: 0px;
        font-family: "Noto Sans JP", sans-serif;
        cursor: pointer;
        color: #333333;
        font-family: "Noto Sans JP", sans-serif;
        font-size: 16px;
        font-weight: 700;
        margin-top: 40px; }
        .footter .frame .menu .content1 a:link {
          color: #333333;
          text-decoration: none;
          font-weight: 700; }
        .footter .frame .menu .content1 a:visited {
          color: #333333;
          text-decoration: none;
          font-weight: 700; }
        .footter .frame .menu .content1 a:hover {
          color: #333333;
          text-decoration: underline;
          font-weight: 700; }
      .footter .frame .menu .content2 {
        padding-left: 0px;
        font-family: "Noto Sans JP", sans-serif;
        cursor: pointer;
        display: flex;
        margin-top: 40px;
        justify-content: space-between; }
        .footter .frame .menu .content2 a:link {
          color: #333333;
          text-decoration: none;
          font-weight: 400; }
        .footter .frame .menu .content2 a:visited {
          color: #333333;
          text-decoration: none;
          font-weight: 400; }
        .footter .frame .menu .content2 a:hover {
          color: #333333;
          text-decoration: underline;
          font-weight: 400; }
        @media (max-width: 768px) {
          .footter .frame .menu .content2 {
            display: block;
            justify-self: start;
            font-size: 14px; } }
        .footter .frame .menu .content2 li {
          list-style: none;
          padding-bottom: 20px; }
      .footter .frame .menu .content3 {
        justify-content: space-between;
        padding-left: 0px;
        font-family: "Noto Sans JP", sans-serif;
        cursor: pointer;
        display: flex;
        margin-top: 40px; }
        .footter .frame .menu .content3 a:link {
          color: #333333;
          text-decoration: none;
          font-weight: 400; }
        .footter .frame .menu .content3 a:visited {
          color: #333333;
          text-decoration: none;
          font-weight: 400; }
        .footter .frame .menu .content3 a:hover {
          color: #333333;
          text-decoration: underline;
          font-weight: 400; }
        @media (max-width: 768px) {
          .footter .frame .menu .content3 {
            display: block;
            justify-self: start;
            font-size: 14px;
            margin-top: -8px; } }
        .footter .frame .menu .content3 li {
          list-style: none;
          padding-bottom: 20px; }
  .footter .sociallink {
    margin: auto;
    width: 80%;
    padding-top: 64px;
    display: flex; }
    @media (max-width: 768px) {
      .footter .sociallink {
        display: block;
        justify-self: start;
        padding-top: 28px; } }
    .footter .sociallink .content1 {
      line-height: 32px;
      display: flex;
      margin-right: 112px; }
      @media (max-width: 768px) {
        .footter .sociallink .content1 {
          display: block;
          justify-self: start; } }
      .footter .sociallink .content1 .inner_content1 {
        margin: 0px;
        vertical-align: middle;
        font-family: "Noto Sans JP", sans-serif;
        color: #333333;
        padding-right: 16px; }
        @media (max-width: 768px) {
          .footter .sociallink .content1 .inner_content1 {
            font-size: 14px; } }
      .footter .sociallink .content1 img {
        vertical-align: middle;
        cursor: pointer;
        width: 32px;
        height: 32px;
        padding-right: 12px; }
        @media (max-width: 768px) {
          .footter .sociallink .content1 img {
            margin-top: 20px; } }
    .footter .sociallink .content2 {
      margin-right: 24px;
      line-height: 32px;
      cursor: pointer;
      display: flex; }
      @media (max-width: 768px) {
        .footter .sociallink .content2 {
          margin-top: 40px; } }
      .footter .sociallink .content2 a:link {
        font-weight: 700;
        font-family: "Noto Sans JP", sans-serif;
        color: #333333;
        text-decoration: none; }
      .footter .sociallink .content2 a:hover {
        font-weight: 700;
        font-family: "Noto Sans JP", sans-serif;
        color: #333333;
        text-decoration: underline; }
      .footter .sociallink .content2 a:visited {
        font-weight: 700;
        font-family: "Noto Sans JP", sans-serif;
        color: #333333;
        text-decoration: none; }
      .footter .sociallink .content2 .inner_content2 {
        margin: 0px;
        font-weight: 700;
        font-family: "Noto Sans JP", sans-serif;
        color: #333333;
        vertical-align: middle; }
        @media (max-width: 768px) {
          .footter .sociallink .content2 .inner_content2 {
            font-size: 14px; } }
      .footter .sociallink .content2 img {
        padding-top: 8px;
        width: 16px;
        height: 16px;
        padding-left: 4px; }
    .footter .sociallink .content3 {
      line-height: 32px;
      cursor: pointer;
      display: flex;
      margin-left: 24px; }
      @media (max-width: 768px) {
        .footter .sociallink .content3 {
          margin-top: 16px;
          margin-left: 0px; } }
      .footter .sociallink .content3 a:link {
        font-weight: 700;
        font-family: "Noto Sans JP", sans-serif;
        color: #333333;
        text-decoration: none; }
      .footter .sociallink .content3 a:hover {
        font-weight: 700;
        font-family: "Noto Sans JP", sans-serif;
        color: #333333;
        text-decoration: underline; }
      .footter .sociallink .content3 a:visited {
        font-weight: 700;
        font-family: "Noto Sans JP", sans-serif;
        color: #333333;
        text-decoration: none; }
      .footter .sociallink .content3 .inner_content3 {
        margin: 0px;
        font-weight: 700;
        font-family: "Noto Sans JP", sans-serif;
        color: #333333;
        vertical-align: middle; }
        @media (max-width: 768px) {
          .footter .sociallink .content3 .inner_content3 {
            font-size: 14px; } }
      .footter .sociallink .content3 img {
        padding-top: 8px;
        width: 16px;
        height: 16px;
        padding-left: 4px; }
  .footter .foottertext {
    margin-top: 96px;
    margin-bottom: 16px;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 200;
    color: #000000;
    opacity: 60%; }
    @media (max-width: 768px) {
      .footter .foottertext {
        font-size: 12px;
        margin-top: 64px; } }
