* {
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #101010; }

.no_post {
  color: #999 !important; }

.sp_block {
  display: none; }
  @media screen and (max-width: 767px) {
    .sp_block {
      display: block !important; } }

@media screen and (max-width: 767px) {
  .sp_none {
    display: none; } }

.tab_block {
  display: none; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .tab_block {
      display: block; } }

@media screen and (max-width: 767px) {
  #wrapper {
    padding-top: 13.3333333333vw; } }
body.view {
  overflow: hidden; }

header {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 20px 7px 20px 30px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  z-index: 5; }
  header .header_logo {
    width: 192px; }
    header .header_logo a {
      display: block; }
  header nav {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    align-items: center;
    margin-left: auto; }
    header nav ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      margin-right: 36px; }
      @media screen and (max-width: 1180px) {
        header nav ul {
          margin-right: 22px; } }
      header nav ul li {
        text-align: center; }
        header nav ul li:not(:first-of-type) {
          margin-left: 36px; }
          @media screen and (max-width: 1180px) {
            header nav ul li:not(:first-of-type) {
              margin-left: 22px; } }
        header nav ul li a {
          font-family: "setofont-sp", sans-serif;
          font-weight: 400;
          font-style: normal;
          display: block;
          align-items: center;
          font-size: 20px;
          text-decoration: none;
          color: #101010;
          letter-spacing: 0.1em; }
          header nav ul li a span {
            display: flex;
            align-items: flex-start;
            flex-wrap: wrap;
            align-items: center;
            color: inherit;
            font-size: 14px;
            letter-spacing: 0; }
            @media screen and (max-width: 1180px) {
              header nav ul li a span {
                font-size: 13px; } }
            header nav ul li a span::before {
              content: "";
              margin-right: 5px;
              display: block; }
        header nav ul li.about a span::before {
          background: url("../img/icon/about_icon.svg") no-repeat center/100%;
          width: 20px;
          height: 20px; }
        header nav ul li.recommend a span::before {
          background: url("../img/icon/recommend_icon.svg") no-repeat center/100%;
          width: 23px;
          height: 23px; }
        header nav ul li.topics a span::before {
          background: url("../img/icon/topics_icon.svg") no-repeat center/100%;
          width: 20px;
          height: 20px; }
        header nav ul li.news a span::before {
          background: url("../img/icon/news_icon.svg") no-repeat center/100%;
          width: 21px;
          height: 20px; }
    header nav .insta_link {
      width: 210px; }
      header nav .insta_link a {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        font-weight: 700;
        background: #BE3A47;
        text-decoration: none;
        color: #fff;
        line-height: 60px;
        border-radius: 30px; }
        header nav .insta_link a::after {
          content: "";
          background: url("../img/icon/insta_icon_white.svg") no-repeat center/100%;
          width: 20px;
          height: 20px;
          margin-left: 8px; }
  header .menu_trigger {
    display: none; }
  @media screen and (max-width: 1023px) {
    header {
      padding: 0;
      box-shadow: none; }
      header .header_content {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        align-items: center;
        width: 100%;
        padding: 0 0 0 10px;
        position: relative;
        z-index: 1;
        box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); }
        header .header_content .menu_trigger {
          display: flex;
          align-items: flex-start;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          line-height: 76px;
          background: #E88718;
          width: 120px;
          margin-left: auto; }
          header .header_content .menu_trigger div {
            width: 28px;
            height: 24px;
            position: relative;
            margin-right: 10px; }
            header .header_content .menu_trigger div span {
              width: 100%;
              height: 3px;
              border-radius: 2px;
              background: #fff;
              display: block;
              position: absolute;
              left: 0;
              transition: .3s; }
              header .header_content .menu_trigger div span:nth-of-type(1) {
                top: 0; }
              header .header_content .menu_trigger div span:nth-of-type(2) {
                top: 10px; }
              header .header_content .menu_trigger div span:nth-of-type(3) {
                bottom: 0; }
          header .header_content .menu_trigger p {
            font-size: 24px;
            letter-spacing: 0.1em;
            font-family: "setofont-sp", sans-serif;
            font-weight: 400;
            font-style: normal;
            color: #fff; }
          header .header_content .menu_trigger.active div span:nth-of-type(1) {
            transform: translateY(10px) rotate(-45deg); }
          header .header_content .menu_trigger.active div span:nth-of-type(2) {
            display: none; }
          header .header_content .menu_trigger.active div span:nth-of-type(3) {
            transform: translateY(-10px) rotate(45deg); }
      header nav {
        display: none;
        position: fixed;
        top: 76px;
        left: 0;
        width: 100%;
        background: rgba(255, 255, 255, 0.96);
        height: calc(100vh - 76px);
        padding: 100px 50px; }
        header nav ul {
          width: 100%;
          margin-right: 0;
          display: block; }
          header nav ul li {
            width: 100%;
            text-align: left; }
            header nav ul li:not(:first-of-type) {
              margin-left: 0; }
            header nav ul li:not(:last-of-type) {
              border-bottom: 2px solid #E88718;
              padding-bottom: 20px;
              margin-bottom: 20px; }
            header nav ul li a {
              font-size: 28px;
              position: relative;
              padding: 0 24px; }
              header nav ul li a::after {
                content: "";
                width: 15px;
                height: 14px;
                background: url("../img/icon/arrow_icon2.svg") no-repeat center/100%;
                position: absolute;
                top: 0;
                right: 24px;
                bottom: 0;
                margin: auto; }
              header nav ul li a span {
                font-size: 16px; }
        header nav .insta_link {
          width: 90%;
          margin: 40px auto 0; } }
  @media screen and (max-width: 767px) {
    header .header_content {
      padding-left: 2.6666666667vw; }
      header .header_content .header_logo {
        width: 29.3333333333vw; }
      header .header_content .menu_trigger {
        width: 21.3333333333vw;
        line-height: 13.3333333333vw; }
        header .header_content .menu_trigger div {
          width: 4.2666666667vw;
          height: 3.7333333333vw; }
          header .header_content .menu_trigger div span {
            height: 0.5333333333vw; }
            header .header_content .menu_trigger div span:nth-of-type(2) {
              top: 1.6vw; }
        header .header_content .menu_trigger p {
          font-size: 3.7333333333vw; }
        header .header_content .menu_trigger.active div span:nth-of-type(1) {
          transform: translateY(1.6vw) rotate(-45deg); }
        header .header_content .menu_trigger.active div span:nth-of-type(3) {
          transform: translateY(-1.6vw) rotate(45deg); }
    header nav {
      top: 13.3333333333vw;
      height: calc(100vh - 13.3333333333vw);
      padding: 13.3333333333vw;
      overflow: auto; } }

.section_ttl {
  margin: 0 calc(50% - 50vw);
  position: relative;
  margin-bottom: 60px; }
  .section_ttl::before {
    content: "";
    width: calc((100vw - 1174px) / 2);
    height: 10px;
    background: url("../img/common/design_border.svg") repeat-x top left;
    position: absolute;
    top: calc(50% - 5px);
    left: 0; }
  .section_ttl h2 {
    width: 94%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    font-family: "setofont-sp", sans-serif;
    font-weight: 400;
    font-style: normal;
    align-items: center;
    font-size: 40px; }
    @media screen and (max-width: 767px) {
      .section_ttl h2 {
        width: 88%; } }
    .section_ttl h2 span {
      font-family: inherit;
      font-size: 80px;
      letter-spacing: 0.1em;
      color: #E88718;
      line-height: .8;
      display: inline-block;
      margin-right: 10px; }
  @media screen and (max-width: 1023px) {
    .section_ttl {
      width: 100%;
      margin: 0 auto 50px;
      padding-bottom: 10px; }
      .section_ttl h2 {
        width: 100%;
        display: block;
        text-align: center; }
        .section_ttl h2 span {
          display: block;
          margin-bottom: 10px; }
      .section_ttl::before {
        width: 100%;
        top: auto;
        bottom: 0;
        height: 5px; } }
  @media screen and (max-width: 767px) {
    .section_ttl {
      margin-bottom: 10.6666666667vw;
      padding-bottom: 5.3333333333vw; }
      .section_ttl h2 {
        font-size: 6.4vw; }
        .section_ttl h2 span {
          margin: 0 0 2.6666666667vw;
          font-size: 13.3333333333vw; } }

.link_btn a {
  background: #BE3A47;
  text-align: center;
  line-height: 50px;
  position: relative;
  border-radius: 25px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  display: block; }
  .link_btn a::after {
    content: "";
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    margin: auto;
    background: url("../img/icon/arrow_icon2_white.svg") no-repeat center/100%;
    width: 16px;
    height: 15px; }
@media screen and (max-width: 767px) {
  .link_btn a::before {
    right: 3.2vw; } }

.single_link a {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none; }
  .single_link a::after {
    content: "";
    background: url("../img/icon/arrow_icon1.svg") no-repeat center/100%;
    width: 50px;
    height: 50px;
    margin-left: 20px; }
@media screen and (max-width: 767px) {
  .single_link a {
    font-size: 4.2666666667vw; }
    .single_link a::after {
      width: 10.6666666667vw;
      height: 10.6666666667vw;
      margin-left: 2.6666666667vw; } }

.list_link {
  display: flex;
  justify-content: center; }
  .list_link a {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none; }
    .list_link a::after {
      content: "";
      background: url("../img/icon/arrow_icon1.svg") no-repeat center/100%;
      width: 50px;
      height: 50px;
      margin-left: 20px;
      display: block; }
  @media screen and (max-width: 767px) {
    .list_link a {
      font-size: 4.2666666667vw; }
      .list_link a::after {
        width: 10.6666666667vw;
        height: 10.6666666667vw;
        margin-left: 2.6666666667vw; } }

.cta_area {
  background: #BE3A47;
  padding: 80px 0;
  width: 90%;
  margin: 0 auto 80px;
  border-radius: 20px; }
  .cta_area .inner {
    width: 94%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .cta_area .inner {
        width: 88%; } }
    .cta_area .inner h2 {
      color: #fff;
      font-size: 16px;
      margin-bottom: 40px; }
      .cta_area .inner h2 span {
        font-family: "setofont-sp", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size: 80px;
        display: block;
        color: inherit;
        line-height: .8;
        margin-bottom: 20px;
        letter-spacing: 0.1em; }
    .cta_area .inner .sub_ttl {
      font-size: 20px;
      font-weight: 700;
      margin-bottom: 40px;
      color: #fff; }
    .cta_area .inner .cta_btn_list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      justify-content: center; }
      .cta_area .inner .cta_btn_list li {
        width: 48.4%; }
        .cta_area .inner .cta_btn_list li a {
          display: flex;
          align-items: flex-start;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          line-height: 100px;
          border-radius: 50px;
          font-weight: 700;
          text-decoration: none;
          background: #fff; }
          .cta_area .inner .cta_btn_list li a::before {
            content: "";
            margin-right: 20px;
            display: block; }
        .cta_area .inner .cta_btn_list li p {
          font-size: 16px;
          color: #fff; }
        .cta_area .inner .cta_btn_list li.tel a {
          font-size: 34px;
          margin-bottom: 10px; }
          @media screen and (min-width: 768px) {
            .cta_area .inner .cta_btn_list li.tel a {
              pointer-events: none; } }
          .cta_area .inner .cta_btn_list li.tel a::before {
            background: url("../img/icon/tel_icon.svg") no-repeat center/100%;
            width: 26px;
            height: 26px; }
        .cta_area .inner .cta_btn_list li.mail a {
          font-size: 16px; }
          .cta_area .inner .cta_btn_list li.mail a::before {
            background: url("../img/icon/mail_icon.svg") no-repeat center/100%;
            width: 26px;
            height: 21px; }
  @media screen and (max-width: 1023px) {
    .cta_area {
      padding: 50px 0; }
      .cta_area .inner h2 {
        margin-bottom: 30px; }
        .cta_area .inner h2 span {
          font-size: 65px; }
      .cta_area .inner .sub_ttl {
        margin-bottom: 30px; }
      .cta_area .inner .cta_btn_list li a {
        line-height: 80px; }
      .cta_area .inner .cta_btn_list li p {
        font-size: 14px; }
      .cta_area .inner .cta_btn_list li a::before {
        margin-right: 15px; }
      .cta_area .inner .cta_btn_list li.tel a {
        font-size: 28px; }
        .cta_area .inner .cta_btn_list li.tel a::before {
          width: 22px;
          height: 22px; }
      .cta_area .inner .cta_btn_list li.mail a {
        font-size: 14px; }
        .cta_area .inner .cta_btn_list li.mail a::before {
          width: 22px;
          height: 20px; } }
  @media screen and (max-width: 767px) {
    .cta_area {
      padding: 12.8vw 0 11.7333333333vw;
      box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
      margin-bottom: 7.4666666667vw;
      border-radius: 2.6666666667vw; }
      .cta_area .inner {
        width: 91%; }
        .cta_area .inner h2 {
          font-size: 3.7333333333vw;
          letter-spacing: 0.1em;
          line-height: 2; }
          .cta_area .inner h2 span {
            font-size: 13.3333333333vw; }
        .cta_area .inner .sub_ttl {
          font-size: 4.8vw;
          line-height: 1.6;
          margin-bottom: 8vw; }
        .cta_area .inner .cta_btn_list {
          display: block; }
          .cta_area .inner .cta_btn_list li {
            width: 100%; }
            .cta_area .inner .cta_btn_list li.tel {
              margin-bottom: 4.8vw; }
              .cta_area .inner .cta_btn_list li.tel a {
                margin-bottom: 1.3333333333vw;
                font-size: 7.4666666667vw; }
                .cta_area .inner .cta_btn_list li.tel a::before {
                  width: 5.8666666667vw;
                  height: 5.8666666667vw;
                  margin-right: 2.9333333333vw; }
              .cta_area .inner .cta_btn_list li.tel p {
                padding: 0 4.2666666667vw;
                text-align: left;
                font-size: 3.7333333333vw;
                text-align: center; }
            .cta_area .inner .cta_btn_list li.mail a {
              font-size: 3.7333333333vw; }
              .cta_area .inner .cta_btn_list li.mail a::before {
                width: 5.3333333333vw;
                height: 4.2666666667vw;
                margin-right: 2.4vw; }
            .cta_area .inner .cta_btn_list li a {
              line-height: 17.3333333333vw; } }

.sns_area {
  padding: 83px 0;
  background: #FDF9F2;
  position: relative; }
  .sns_area::before, .sns_area::after {
    content: "";
    width: 100%;
    height: 10px;
    position: absolute;
    left: 0; }
    @media screen and (max-width: 767px) {
      .sns_area::before, .sns_area::after {
        height: 4px; } }
  .sns_area::before {
    top: 0;
    background: url("../img/common/design_border.svg") repeat-x left center; }
  .sns_area::after {
    bottom: 0;
    background: url("../img/common/design_border.svg") repeat-x left center; }
  .sns_area .inner {
    width: 94%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1048px; }
    @media screen and (max-width: 767px) {
      .sns_area .inner {
        width: 88%; } }
    .sns_area .inner p {
      text-align: center;
      font-size: 16px;
      font-weight: 700;
      margin-bottom: 40px; }
    .sns_area .inner .sns_list {
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      list-style: none;
      padding: 0;
      margin: 0;
      justify-content: center; }
      .sns_area .inner .sns_list li {
        width: 32.062%; }
        @media screen and (min-width: 768px) {
          .sns_area .inner .sns_list li:not(:last-of-type) {
            margin-right: 1.907%; } }
        .sns_area .inner .sns_list li a {
          display: flex;
          align-items: flex-start;
          flex-wrap: wrap;
          justify-content: center;
          align-items: center;
          line-height: 80px;
          border-radius: 40px;
          text-decoration: none;
          font-size: 18px;
          font-weight: 700;
          color: #fff; }
          .sns_area .inner .sns_list li a::before {
            content: "";
            display: block;
            margin-right: 10px;
            width: 16px; }
        .sns_area .inner .sns_list li.instagram a {
          background: #AAC563; }
          .sns_area .inner .sns_list li.instagram a::before {
            background: url("../img/icon/insta_icon_white.svg") no-repeat center/100%;
            height: 16px; }
        .sns_area .inner .sns_list li.twitter a {
          background: #64ABE2; }
          .sns_area .inner .sns_list li.twitter a::before {
            background: url("../img/icon/twitter_icon.svg") no-repeat center/100%;
            height: 13px; }
        .sns_area .inner .sns_list li.youtube a {
          background: #BE3A47; }
          .sns_area .inner .sns_list li.youtube a::before {
            background: url("../img/icon/youtube_icon.svg") no-repeat center/100%;
            height: 11px; }
  @media screen and (max-width: 1023px) {
    .sns_area {
      padding: 60px 0; }
      .sns_area .inner p {
        margin-bottom: 30px; } }
  @media screen and (max-width: 767px) {
    .sns_area {
      background-size: 50%;
      padding: 12vw 0; }
      .sns_area .inner p {
        font-size: 4.2666666667vw;
        line-height: 2;
        margin-bottom: 5.3333333333vw; }
      .sns_area .inner .sns_list {
        display: block; }
        .sns_area .inner .sns_list li {
          width: 100%; }
          .sns_area .inner .sns_list li:not(:last-of-type) {
            margin-bottom: 6.6666666667vw; }
          .sns_area .inner .sns_list li a {
            line-height: 13.3333333333vw;
            font-size: 4.8vw; }
          .sns_area .inner .sns_list li.instagram a::before {
            width: 5.6vw;
            height: 5.6vw; }
          .sns_area .inner .sns_list li.twitter a::before {
            width: 5.6vw;
            height: 4.5333333333vw; }
          .sns_area .inner .sns_list li.youtube a::before {
            width: 5.6vw;
            height: 4vw; } }

.page_top {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 60px;
  height: 60px;
  background: #101010;
  border-radius: 30px;
  opacity: 1;
  z-index: 1; }
  .page_top a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%; }
    .page_top a::before {
      content: "";
      width: 20px;
      height: 20px;
      background: url("../img/icon/page_top.svg") no-repeat center/100%;
      display: block; }
  .page_top.hide {
    opacity: 0;
    transition: .3s; }

footer {
  padding: 60px 0 24px; }
  footer .inner {
    width: 94%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 767px) {
      footer .inner {
        width: 88%; } }
    footer .inner .footer_top {
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      align-items: center;
      margin-bottom: 60px; }
      footer .inner .footer_top .logo {
        width: 22.3%; }
      footer .inner .footer_top .footer_menu {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        margin-left: auto; }
        footer .inner .footer_top .footer_menu li {
          margin-left: 30px; }
          footer .inner .footer_top .footer_menu li a {
            display: flex;
            align-items: flex-start;
            flex-wrap: wrap;
            align-items: center;
            text-decoration: none; }
            footer .inner .footer_top .footer_menu li a::after {
              content: "";
              background: url("../img/icon/arrow_icon2.svg") no-repeat center/100%;
              width: 10px;
              height: 9px;
              display: block;
              margin-left: 10px; }
    footer .inner .footer_bottom {
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      align-items: flex-end; }
      footer .inner .footer_bottom .footer_content {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 46px; }
        footer .inner .footer_bottom .footer_content h2 {
          font-size: 14px;
          font-weight: 700;
          border-bottom: 2px dotted #E88718;
          margin-bottom: 20px;
          padding-bottom: 10px;
          width: 100%;
          color: #E88718; }
          @media screen and (max-width: 767px) {
            footer .inner .footer_bottom .footer_content h2 {
              font-size: 3.7333333333vw;
              margin-bottom: 5.3333333333vw;
              padding-bottom: 2.6666666667vw; } }
        footer .inner .footer_bottom .footer_content .project_box {
          display: flex;
          align-items: flex-start;
          flex-wrap: wrap;
          width: 65%;
          margin-right: 5%; }
          @media screen and (max-width: 1023px) {
            footer .inner .footer_bottom .footer_content .project_box {
              width: 100%;
              margin: 0 0 5%; } }
          @media screen and (max-width: 767px) {
            footer .inner .footer_bottom .footer_content .project_box {
              margin-bottom: 13.3333333333vw; } }
        footer .inner .footer_bottom .footer_content .backup_box {
          width: 30%; }
          footer .inner .footer_bottom .footer_content .backup_box .single {
            width: 100%; }
          @media screen and (max-width: 1023px) {
            footer .inner .footer_bottom .footer_content .backup_box {
              width: 100%; } }
        footer .inner .footer_bottom .footer_content .single {
          width: 46%; }
          @media screen and (min-width: 768px) {
            footer .inner .footer_bottom .footer_content .single:not(:last-of-type) {
              margin-right: 8%; } }
          footer .inner .footer_bottom .footer_content .single .logo {
            margin-bottom: 20px; }
            footer .inner .footer_bottom .footer_content .single .logo a {
              display: block; }
          footer .inner .footer_bottom .footer_content .single dl {
            margin-bottom: 13px; }
            footer .inner .footer_bottom .footer_content .single dl dt, footer .inner .footer_bottom .footer_content .single dl dd {
              font-size: 14px;
              line-height: 2; }
            footer .inner .footer_bottom .footer_content .single dl dt {
              font-weight: 700; }
          footer .inner .footer_bottom .footer_content .single .link_list {
            list-style: none;
            padding: 0;
            margin: 0; }
            footer .inner .footer_bottom .footer_content .single .link_list li {
              display: flex;
              align-items: flex-start;
              flex-wrap: wrap;
              align-items: center;
              margin-bottom: 5px; }
              footer .inner .footer_bottom .footer_content .single .link_list li::before {
                content: "";
                display: block;
                margin-right: 10px; }
              footer .inner .footer_bottom .footer_content .single .link_list li a {
                font-size: 14px; }
              footer .inner .footer_bottom .footer_content .single .link_list li.home::before {
                background: url("../img/icon/footer_content_icon1.svg") no-repeat center/100%;
                width: 16px;
                height: 14px; }
              footer .inner .footer_bottom .footer_content .single .link_list li.other::before {
                background: url("../img/icon/footer_content_icon2.svg") no-repeat center/100%;
                width: 14px;
                height: 14px; }
      footer .inner .footer_bottom .site_info {
        margin-left: auto; }
        footer .inner .footer_bottom .site_info * {
          text-align: right; }
        footer .inner .footer_bottom .site_info .privacy {
          font-size: 12px;
          margin-bottom: 10px; }
        footer .inner .footer_bottom .site_info .copyright small {
          display: block;
          font-size: 12px; }
        footer .inner .footer_bottom .site_info .other-txt {
          font-size: 12px;
          color: #101010;
          margin-bottom: 10px; }
  @media screen and (max-width: 1023px) {
    footer {
      padding-bottom: 20px; }
      footer .inner .footer_top {
        display: block;
        margin-bottom: 50px; }
        footer .inner .footer_top .logo {
          width: 240px;
          margin: 0 auto 30px; }
        footer .inner .footer_top .footer_menu {
          margin: 0;
          justify-content: center; }
          footer .inner .footer_top .footer_menu li {
            margin: 0 10px; }
      footer .inner .footer_bottom .footer_content {
        width: 100%;
        margin-bottom: 20px; }
      footer .inner .footer_bottom .site_info {
        width: 100%; }
        footer .inner .footer_bottom .site_info * {
          text-align: center; } }
  @media screen and (max-width: 767px) {
    footer {
      padding: 16vw 0 8vw; }
      footer .inner .footer_top {
        margin-bottom: 16vw; }
        footer .inner .footer_top .logo {
          width: 64vw;
          margin-bottom: 11.2vw; }
        footer .inner .footer_top .footer_menu {
          width: 76.5%;
          margin: 0 auto; }
          footer .inner .footer_top .footer_menu li {
            margin: 0;
            width: 100%;
            padding-right: 4vw; }
            footer .inner .footer_top .footer_menu li:not(:last-of-type) {
              margin-bottom: 25px; }
            footer .inner .footer_top .footer_menu li a {
              font-size: 4.2666666667vw;
              position: relative; }
              footer .inner .footer_top .footer_menu li a::after {
                width: 2.6666666667vw;
                height: 2.4vw;
                position: absolute;
                right: 0;
                top: 0;
                bottom: 0;
                margin: auto; }
      footer .inner .footer_bottom .footer_content {
        display: block;
        margin-bottom: 15.4666666667vw; }
        footer .inner .footer_bottom .footer_content .single {
          width: 100%; }
          footer .inner .footer_bottom .footer_content .single:not(:last-of-type) {
            margin-bottom: 8vw; }
          footer .inner .footer_bottom .footer_content .single .logo {
            width: 48vw;
            margin-bottom: 5.3333333333vw; }
          footer .inner .footer_bottom .footer_content .single dl {
            margin-bottom: 5.3333333333vw; }
            footer .inner .footer_bottom .footer_content .single dl dt, footer .inner .footer_bottom .footer_content .single dl dd {
              font-size: 3.7333333333vw; }
          footer .inner .footer_bottom .footer_content .single .link_list li {
            margin-bottom: 2.6666666667vw; }
            footer .inner .footer_bottom .footer_content .single .link_list li::before {
              margin-right: 2.1333333333vw; }
            footer .inner .footer_bottom .footer_content .single .link_list li.home::before {
              width: 4.2666666667vw;
              height: 3.7333333333vw; }
            footer .inner .footer_bottom .footer_content .single .link_list li.other::before {
              width: 3.7333333333vw;
              height: 3.7333333333vw; }
            footer .inner .footer_bottom .footer_content .single .link_list li a {
              font-size: 3.7333333333vw; }
      footer .inner .footer_bottom .site_info .privacy {
        font-size: 3.7333333333vw;
        margin-bottom: 2.6666666667vw; }
      footer .inner .footer_bottom .site_info .other-txt {
        font-size: 3.2vw;
        margin-bottom: 2.6666666667vw; }
      footer .inner .footer_bottom .site_info .copyright small {
        font-size: 3.2vw; } }

.page_ttl {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background: url("../img/common/second_ttl_bg.svg") no-repeat bottom center;
  height: 240px;
  width: 100%;
  margin-bottom: 160px; }
  .page_ttl h1 {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700; }
    .page_ttl h1 span {
      font-family: "setofont-sp", sans-serif;
      font-weight: 400;
      font-style: normal;
      font-size: 80px;
      letter-spacing: 0.1em;
      display: inline-block;
      margin-right: 10px;
      line-height: .8;
      color: #E88718; }
  @media screen and (max-width: 1023px) {
    .page_ttl {
      height: 200px;
      margin-bottom: 100px; }
      .page_ttl h1 {
        font-size: 14px; }
        .page_ttl h1 span {
          font-size: 70px; } }
  @media screen and (max-width: 767px) {
    .page_ttl {
      height: 41.0666666667vw;
      background: url("../img/common/sp/second_ttl_bg.svg") no-repeat center bottom/cover;
      margin-bottom: 14.4vw; }
      .page_ttl h1 {
        display: block;
        font-size: 4.2666666667vw;
        text-align: center; }
        .page_ttl h1 span {
          font-size: 13.3333333333vw;
          display: block;
          margin: 0 0 2.6666666667vw; } }

.pankuzu {
  width: 90%;
  margin: 0 auto 20px; }
  .pankuzu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap; }
    .pankuzu ul li {
      font-size: 13px;
      color: #898989; }
      .pankuzu ul li * {
        font-size: inherit;
        color: inherit; }
      .pankuzu ul li:not(:last-of-type)::after {
        content: "/";
        margin: 0 10px; }

/* DearFlip シェアボタン非表示 */
.df-ui-share {
    display: none !important;
}