@charset "UTF-8";
/*ABODY*/
/*共有*/
body {
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
  color: #1a1a1a;
  background-color: #FBFBFB; }

h2 {
  letter-spacing: 0.2em; }

p {
  line-height: 1.7; }

@media all and (min-width: 768px) {
  .sm_br {
    display: none; } }

a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none; }

@media screen and (max-width: 767px) {
  a[href*="tel:"] {
    pointer-events: all;
    cursor: pointer;
    text-decoration: underline; } }
.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40%;
  overflow: hidden;
  color: #fff;
  background-color: #5AC9C0;
  border-radius: 50px;
  transition: ease .2s;
  font-weight: bold;
  margin: 64px auto 0;
  padding: 24px 0;
  z-index: 3;
  font-size: 1.8rem;
  text-align: center;
  box-sizing: border-box; }
  @media all and (min-width: 769px) and (max-width: 1280px) {
    .btn {
      width: 70%; } }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .btn {
      width: 90%; } }
  @media all and (max-width: 480px) {
    .btn {
      width: 98%;
      font-size: 1.6rem;
      padding: 16px 26px; } }
  .btn:hover {
    background-color: #00AA9C;
    color: #fff; }
  .btn .arrow {
    color: #5AC9C0;
    stroke: #fff;
    stroke-width: 2; }
  .btn:hover .arrow {
    color: #00AA9C;
    stroke: #fff; }
  .btn svg {
    width: 16px;
    height: 26px;
    padding-left: 2px;
    fill: currentColor; }

.btn_center {
  display: flex;
  justify-content: center;
  width: 23%;
  overflow: hidden;
  color: #fff;
  border: 1px solid #747166;
  background-color: #747166;
  border-radius: 50px;
  transition: ease .2s;
  font-weight: bold;
  margin: 64px auto 0;
  padding: 18px 0 16px;
  z-index: 3;
  font-size: 1.8rem;
  text-align: center;
  box-sizing: border-box; }
  @media all and (min-width: 481px) and (max-width: 1280px) {
    .btn_center {
      width: 47%; } }
  @media all and (max-width: 480px) {
    .btn_center {
      width: 85%;
      font-size: 1.6rem;
      padding: 16px 26px 14px; } }
  .btn_center:hover {
    background-color: #fff;
    color: #747166; }
  .btn_center .arrow {
    color: #747166;
    stroke: #fff;
    stroke-width: 2; }
  .btn_center:hover .arrow {
    color: #fff;
    stroke: #747166; }
  .btn_center svg {
    width: 28px;
    height: 30px;
    fill: currentColor;
    padding-top: 2px;
    padding-left: 12px; }

.btn_insta .insta {
  color: #747166;
  stroke: #fff;
  stroke-width: 2; }
.btn_insta:hover .insta {
  color: #fff;
  stroke: #747166; }
.btn_insta .arrow {
  color: #747166;
  stroke: #fff;
  stroke-width: 2; }
.btn_insta:hover .arrow {
  color: #fff;
  stroke: #747166; }
.btn_insta svg {
  width: 28px;
  height: 30px;
  fill: currentColor;
  padding-top: 2px;
  padding-left: 0; }

/*ヘッダー*/
header {
  /*クリックしたら*/
  /*現在地とhoverの設定*/
  /*A stretchバナー*/ }
  header .g_nav {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 100%;
    height: auto;
    position: fixed;
    transition: background-color 0.2s;
    z-index: 9999; }
  header .g_nav.change-color {
    background-color: rgba(0, 0, 0, 0.8); }
  header #burger {
    background-color: #44818D;
    position: relative;
    cursor: pointer;
    width: 100px;
    height: 80px;
    text-align: center;
    position: relative;
    top: 0;
    right: 0; }
    @media all and (max-width: 480px) {
      header #burger {
        width: 60px;
        height: 60px; } }
  header #burger::after {
    content: "open";
    position: absolute;
    top: 50%;
    left: 30%;
    display: block;
    color: #fff; }
    @media all and (max-width: 480px) {
      header #burger::after {
        left: 20%;
        font-size: 1.4rem; } }
  header #burger span {
    position: absolute;
    left: 30px;
    width: 40px;
    height: 2px;
    background-color: #fff;
    border-radius: 4px;
    transition: 0.3s; }
    @media all and (max-width: 480px) {
      header #burger span {
        width: 24px;
        left: 19px; } }
  header #burger span:nth-of-type(1) {
    top: 24px; }
  header #burger span:nth-of-type(2) {
    bottom: 45px; }
  header #burger.open span:nth-of-type(1) {
    transform: rotate(-45deg);
    top: 40px; }
    @media all and (max-width: 480px) {
      header #burger.open span:nth-of-type(1) {
        top: 30px; } }
  header #burger.open span:nth-of-type(2) {
    transform: rotate(45deg);
    top: 40px; }
    @media all and (max-width: 480px) {
      header #burger.open span:nth-of-type(2) {
        top: 30px; } }
  header #burger.open::after {
    display: none; }
  header .nav_list {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
    /*    @media all and (max-width: 1024px) {
          position: fixed;
          top: 80px;
          right: -100%;
          z-index: 10;
          width: 100%;
          height: 100%;
          background-color: rgba(0,0,0,.8);
          flex-direction: column;
          justify-content: space-around;
          overflow: scroll;
    }*/ }
    header .nav_list .mail {
      width: 100px;
      height: 100px;
      padding: 10px 0;
      position: absolute;
      top: 180px;
      right: 0; }
      @media all and (max-width: 480px) {
        header .nav_list .mail {
          width: 60px;
          height: 60px;
          top: 120px;
          padding: 8px 0; } }
      header .nav_list .mail img {
        width: 80%; }
    header .nav_list .tel {
      width: 100px;
      height: 100px;
      padding: 20px;
      background-color: #747166;
      color: #fff;
      position: absolute;
      top: 80px;
      right: 0; }
      @media all and (max-width: 480px) {
        header .nav_list .tel {
          width: 60px;
          height: 60px;
          padding: 13px 5px;
          top: 60px; } }
      header .nav_list .tel img {
        width: 100%; }
        @media all and (max-width: 480px) {
          header .nav_list .tel img {
            width: 60%; } }
  header .nav {
    display: none; }
  header .nav.open {
    position: absolute;
    top: 0;
    padding-top: 170px;
    display: flex;
    flex-direction: column;
    background-color: white;
    width: 100%;
    height: 100vh;
    background-size: cover;
    z-index: -1; }
    @media all and (min-width: 961px) and (max-width: 1280px) {
      header .nav.open {
        flex-direction: column; } }
    @media all and (min-width: 481px) and (max-width: 960px) {
      header .nav.open {
        flex-direction: column;
        padding-top: 160px; } }
    @media all and (max-width: 480px) {
      header .nav.open {
        flex-direction: column;
        padding-top: 100px; } }
  header .nav li {
    padding: 8px 36px;
    font-size: 1.8rem; }
    @media all and (min-width: 961px) and (max-width: 1280px) {
      header .nav li {
        padding: 8px 0 0 24px; } }
    @media all and (min-width: 481px) and (max-width: 960px) {
      header .nav li {
        padding: 8px 0 0 24px; } }
    @media all and (max-width: 480px) {
      header .nav li {
        padding: 8px 0 0 24px;
        font-size: 1.6rem; } }
  header .nav li a {
    padding-bottom: 8px;
    position: relative;
    color: #1a1a1a; }
  header .nav li a:hover {
    color: #44818D; }
  header .nav li a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 2px;
    background-color: #44818D;
    /*アニメーションの指定*/
    transition: all .3s;
    transform: scale(0, 1);
    /*X方向0、Y方向1*/
    transform-origin: center top;
    /*上部中央基点*/ }
  header .nav li a:hover::after {
    transform: scale(1, 1);
    /*X方向にスケール拡大*/ }
  header .nav .astretch {
    margin-top: 15px;
    font-size: 1.2rem;
    margin-left: 36px;
    width: 240px; }
    @media all and (min-width: 961px) and (max-width: 1280px) {
      header .nav .astretch {
        margin-left: 24px; } }
    @media all and (min-width: 481px) and (max-width: 960px) {
      header .nav .astretch {
        margin-left: 24px;
        width: 220px; } }
    @media all and (max-width: 480px) {
      header .nav .astretch {
        margin-left: 24px; } }
    header .nav .astretch img {
      width: 240px;
      height: auto; }
    header .nav .astretch figcaption {
      letter-spacing: 0;
      text-align: center; }
  header .hd_contact:hover {
    opacity: 0.8;
    transition: all .3s; }
  header .hd_contact {
    padding: 16px 24px;
    background-color: #0348C1; }
    header .hd_contact .icon {
      text-align: center;
      color: #fff; }
    @media all and (max-width: 1024px) {
      header .hd_contact {
        text-align: center;
        padding: 32px 24px; } }
    header .hd_contact p {
      color: #fff;
      font-size: 1.6rem; }

.wrapper {
  width: 1025px;
  margin: 0 auto; }
  @media all and (min-width: 481px) and (max-width: 1280px) {
    .wrapper {
      width: 90%; } }
  @media all and (max-width: 480px) {
    .wrapper {
      width: 90%; } }

.top {
  width: 94.8% !important; }
  @media all and (min-width: 481px) and (max-width: 1290px) {
    .top {
      width: 90.8% !important; } }
  @media all and (max-width: 480px) {
    .top {
      width: 100% !important; } }
  .top .slider-item {
    position: relative;
    bottom: 0;
    left: 0;
    width: 100%;
    min-height: 100vh;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center; }
  .top .slider-item01 {
    background-image: url("../img/top.webp"); }
  .top .slider-item02 {
    background-image: url("../img/ABD_3320.webp");
    background-position: 45%; }
  .top .slider-item03 {
    background-image: url("../img/ABD_1699.webp");
    background-position: 30%; }
  .top::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 174px 642px 0 0;
    border-color: rgba(68, 129, 141, 0.5) transparent transparent transparent;
    z-index: 9999; }
    @media all and (min-width: 481px) and (max-width: 769px) {
      .top::before {
        border-width: 120px 450px 0 0; } }
    @media all and (max-width: 480px) {
      .top::before {
        border-width: 100px 250px 0 0; } }
  .top a {
    content: "";
    position: absolute;
    width: 198px;
    height: 55px;
    z-index: 9999;
    top: 3%;
    left: 3%; }
    @media all and (min-width: 481px) and (max-width: 769px) {
      .top a {
        top: 2%;
        left: 2%;
        width: 30%; } }
    @media all and (max-width: 480px) {
      .top a {
        top: 2%;
        left: 5%;
        width: 30%; } }
  @media all and (min-width: 481px) and (max-width: 769px) {
    .top img {
      width: 90%; } }
  @media all and (max-width: 480px) {
    .top img {
      width: 80%; } }

.top_message {
  position: absolute;
  top: 80px;
  right: 0;
  background-color: rgba(0, 0, 0, 0.3);
  padding: 48px 160px 48px 80px;
  text-align: center;
  border-radius: 5px 0 0 5px;
  z-index: 990; }
  @media all and (min-width: 961px) and (max-width: 1280px) {
    .top_message {
      bottom: 25px;
      padding: 48px 112px; } }
  @media all and (min-width: 481px) and (max-width: 960px) {
    .top_message {
      top: 180px;
      padding: 32px 96px 32px 48px; } }
  @media all and (max-width: 480px) {
    .top_message {
      top: 260px;
      padding: 24px 16px; } }
  .top_message img {
    width: 100%; }
  .top_message .point {
    color: #D3CB00; }
  .top_message .main_message {
    color: #fff;
    font-size: 7.2rem; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .top_message .main_message {
        font-size: 5.6rem; } }
    @media all and (max-width: 480px) {
      .top_message .main_message {
        font-size: 3.8rem; } }
    .top_message .main_message .size {
      font-size: 56px; }
      @media all and (min-width: 481px) and (max-width: 768px) {
        .top_message .main_message .size {
          font-size: 4.0rem; } }
      @media all and (max-width: 480px) {
        .top_message .main_message .size {
          font-size: 2.4rem; } }
  .top_message .sub_message {
    color: #fff;
    font-size: 2.8rem;
    padding: 32px 24px 16px; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .top_message .sub_message {
        font-size: 2.0rem; } }
    @media all and (max-width: 480px) {
      .top_message .sub_message {
        font-size: 1.2rem;
        padding: 8px 0; } }
  .top_message .flex {
    display: flex;
    justify-content: space-around;
    margin-top: 16px; }
    .top_message .flex .circle {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      align-content: center;
      background-color: #D3CB00;
      border-radius: 10px;
      width: 178px;
      height: 178px;
      text-align: center;
      color: #fff; }
      @media all and (min-width: 481px) and (max-width: 768px) {
        .top_message .flex .circle {
          width: 150px;
          height: 150px;
          font-size: 2.4rem; } }
      @media all and (max-width: 480px) {
        .top_message .flex .circle {
          width: 90px;
          height: 90px;
          font-size: 1.6rem; } }
      .top_message .flex .circle .prace {
        font-size: 4.8rem;
        font-weight: 600; }
        @media all and (min-width: 481px) and (max-width: 768px) {
          .top_message .flex .circle .prace {
            font-size: 4.0rem; } }
        @media all and (max-width: 480px) {
          .top_message .flex .circle .prace {
            font-size: 1.6rem; } }
      .top_message .flex .circle .time {
        font-size: 2.0rem; }
        @media all and (min-width: 481px) and (max-width: 768px) {
          .top_message .flex .circle .time {
            font-size: 1.6rem; } }
        @media all and (max-width: 480px) {
          .top_message .flex .circle .time {
            font-size: 1.4rem; } }
      .top_message .flex .circle span {
        font-size: 3.0rem;
        font-weight: 600; }
        @media all and (max-width: 480px) {
          .top_message .flex .circle span {
            font-size: 1.8rem; } }

/*ボタン*/
.experience {
  border-radius: 10px;
  padding: 64px 0; }
  @media all and (min-width: 481px) and (max-width: 1280px) {
    .experience img {
      width: 100%; } }
  @media all and (max-width: 480px) {
    .experience img {
      width: 100%; } }

/*ニュース*/
#newsArea {
  padding: 64px 0; }
  #newsArea h2 {
    text-align: center; }
  #newsArea .box {
    margin-top: 20px; }
    #newsArea .box a {
      display: flex;
      width: 100%;
      padding: 16px 24px;
      border-bottom: solid 2px #D1D1D1; }
      @media all and (min-width: 481px) and (max-width: 768px) {
        #newsArea .box a {
          display: block; } }
      @media all and (max-width: 480px) {
        #newsArea .box a {
          display: block; } }
    #newsArea .box .title {
      padding: 0 8px;
      flex: 1;
      text-overflow: ellipsis;
      overflow: hidden;
      white-space: nowrap; }
      @media all and (min-width: 481px) and (max-width: 768px) {
        #newsArea .box .title {
          padding: 0; } }
      @media all and (max-width: 480px) {
        #newsArea .box .title {
          padding: 0; } }

/*コンセプト*/
.consept .pc {
  display: block;
  width: 1200px;
  margin: auto; }
  @media all and (max-width: 1279px) {
    .consept .pc {
      display: none; } }
  .consept .pc img {
    width: 100%; }
.consept .sm {
  display: block;
  width: 95%;
  margin: auto; }
  @media all and (min-width: 1280px) {
    .consept .sm {
      display: none; } }
  .consept .sm img {
    width: 100%; }

/*メゾット*/
.method {
  /*background-image: url("../img/bg.png");*/
  background-color: #EDEDED;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  margin-top: 128px;
  padding-top: 32px; }
  .method .ttl {
    text-align: center; }
    .method .ttl p {
      font-size: 2.4rem;
      padding-top: 16px; }
      @media all and (max-width: 480px) {
        .method .ttl p {
          font-size: 1.6rem; } }
  .method .flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto;
    padding-top: 64px; }
    @media all and (min-width: 481px) and (max-width: 1024px) {
      .method .flex {
        width: 100%; } }
    @media all and (max-width: 480px) {
      .method .flex {
        width: 100%; } }
  .method .flex_box {
    width: 33.2%;
    background-color: #fff; }
    @media all and (min-width: 769px) and (max-width: 1024px) {
      .method .flex_box {
        width: 60%;
        margin: auto; } }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .method .flex_box {
        width: 95%;
        margin: auto; } }
    @media all and (max-width: 480px) {
      .method .flex_box {
        width: 95%;
        margin: auto; } }
    .method .flex_box .flex_inline {
      background-blend-mode: overlay;
      background-color: rgba(255, 255, 255, 0.8);
      display: inline-block;
      z-index: 1;
      width: 100%;
      display: flex;
      justify-content: center;
      padding: 64px 16px 64px 8px;
      z-index: 1; }
      @media all and (min-width: 481px) and (max-width: 1024px) {
        .method .flex_box .flex_inline {
          width: 100%;
          margin: auto; } }
      @media all and (max-width: 480px) {
        .method .flex_box .flex_inline {
          width: 100%;
          height: 100%;
          margin: auto; } }
      .method .flex_box .flex_inline .left_side {
        margin: auto;
        font-size: 2.4rem;
        color: rgba(154, 149, 138, 0.3);
        writing-mode: vertical-rl; }
        @media all and (max-width: 480px) {
          .method .flex_box .flex_inline .left_side {
            font-size: 1.6rem; } }
      .method .flex_box .flex_inline .right_side {
        width: 80%;
        margin: auto; }
        .method .flex_box .flex_inline .right_side .concept {
          color: #79813F;
          font-size: 1.4rem;
          padding-bottom: 16px; }
        .method .flex_box .flex_inline .right_side .content {
          font-size: 1.6rem;
          width: 80%;
          text-align: left;
          line-height: 2.0; }
          @media all and (max-width: 480px) {
            .method .flex_box .flex_inline .right_side .content {
              font-size: 1.4rem; } }
        .method .flex_box .flex_inline .right_side h3 {
          font-size: 2.0rem;
          padding-bottom: 16px; }
          @media all and (max-width: 480px) {
            .method .flex_box .flex_inline .right_side h3 {
              font-size: 1.8rem; } }

/*インスタ*/
.instagram {
  padding: 80px 0;
  text-align: center; }
  .instagram .flex {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px; }
    @media all and (max-width: 480px) {
      .instagram .flex {
        margin-top: 0; } }
    .instagram .flex li {
      position: relative;
      width: 23%;
      margin-left: 8px;
      margin-bottom: 8px; }
      @media all and (max-width: 480px) {
        .instagram .flex li {
          width: 47%; } }
      .instagram .flex li::before {
        content: "";
        display: block;
        padding-top: 100%; }
      .instagram .flex li img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        object-fit: cover; }
  .instagram .pc {
    width: 70%;
    margin: auto; }
    @media all and (max-width: 1279px) {
      .instagram .pc {
        display: none; } }
    .instagram .pc img {
      width: 100%; }
  .instagram .sm {
    width: 70%;
    margin: auto; }
    @media all and (min-width: 1280px) {
      .instagram .sm {
        display: none; } }
    .instagram .sm img {
      width: 100%; }
  .instagram div {
    padding-right: 8px; }
  .instagram p {
    padding: 16px 0 40px;
    font-size: 1.4rem; }
  .instagram .insta_arrow {
    padding-left: 8px; }

/*ジム*/
.jim {
  background: linear-gradient(#BFB298, #817B74); }
  .jim .flex {
    display: flex;
    justify-content: center;
    max-width: 1200px;
    margin: auto;
    padding: 64px 0 80px; }
    @media all and (min-width: 481px) and (max-width: 980px) {
      .jim .flex {
        width: 100%;
        flex-wrap: wrap; } }
    @media all and (max-width: 480px) {
      .jim .flex {
        width: 100%;
        flex-wrap: wrap; } }
  .jim .flex_box {
    width: 45%;
    padding: 8px;
    margin-left: 3px; }
    @media all and (min-width: 481px) and (max-width: 1280px) {
      .jim .flex_box {
        width: 65%;
        margin: auto; } }
    @media all and (max-width: 480px) {
      .jim .flex_box {
        width: 95%;
        margin: auto; } }
    .jim .flex_box:first-of-type {
      margin-left: 0; }
  .jim .inner {
    color: #fff;
    padding: 24px 0; }
    .jim .inner dl {
      display: flex;
      flex-wrap: wrap;
      width: 90%;
      margin: auto; }
    .jim .inner dt {
      padding: 8px;
      width: 30%; }
      @media all and (max-width: 480px) {
        .jim .inner dt {
          padding: 8px;
          width: 40%; } }
    .jim .inner dd {
      padding: 8px;
      width: 70%; }
      @media all and (max-width: 480px) {
        .jim .inner dd {
          padding: 8px 0;
          width: 60%; } }
  .jim h3 {
    font-size: 3.0rem;
    font-weight: 600;
    text-align: center; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .jim h3 {
        font-size: 2.8rem; } }
    @media all and (max-width: 480px) {
      .jim h3 {
        font-size: 2.4rem; } }
  .jim .btn_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #fff;
    background-color: #fff;
    border-radius: 50px;
    transition: ease .2s;
    width: 76%;
    margin: 0 auto 16px;
    padding: 8px 16px;
    z-index: 3;
    color: #747166;
    font-size: 1.4rem;
    text-align: center; }
    @media all and (max-width: 480px) {
      .jim .btn_inner {
        width: 100%;
        font-size: 1.6rem; } }
    .jim .btn_inner i {
      padding-right: 8px; }
  .jim img {
    padding-left: 8px; }
  .jim .btn_inner:hover {
    background-color: #747166;
    color: #fff; }
  .jim .btn_inner:hover::before {
    background-color: #fff;
    right: 8%; }

/*フッター*/
footer {
  background-color: #656565;
  padding-top: 80px; }
  footer .f_nav {
    text-align: center;
    padding-bottom: 64px; }
    footer .f_nav p {
      font-size: 2.0rem;
      color: #fff;
      padding-top: 24px; }
      @media all and (max-width: 480px) {
        footer .f_nav p {
          font-size: 1.4rem;
          padding: 11px; } }
  footer .sub_nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    color: #fff;
    padding-bottom: 16px; }
  footer p {
    padding: 0 8px; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      footer p {
        font-size: 1.4rem; } }
    @media all and (max-width: 480px) {
      footer p {
        font-size: 1.2rem;
        display: inline-block;
        padding: 0 0 0 5px; } }
  footer .copyright {
    color: #fff;
    font-size: 1.2rem;
    text-align: center;
    padding-bottom: 24px; }
    @media all and (max-width: 480px) {
      footer .copyright {
        font-size: 1.0rem; } }

/*-------------------------サブページ共通------------------------*/
#sub_page {
  width: 100%;
  overflow: hidden;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  text-align: center;
  height: 470px; }
  @media all and (max-width: 480px) {
    #sub_page {
      height: 0px;
      padding-top: 80%; } }
  #sub_page::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 174px 642px 0 0;
    border-color: rgba(211, 203, 0, 0.5) transparent transparent transparent;
    z-index: 9999; }
    @media all and (min-width: 481px) and (max-width: 769px) {
      #sub_page::before {
        border-width: 120px 450px 0 0; } }
    @media all and (max-width: 480px) {
      #sub_page::before {
        border-width: 100px 250px 0 0; } }
  #sub_page a {
    content: "";
    position: absolute;
    width: 198px;
    height: 55px;
    z-index: 9999;
    top: 5%;
    left: 3%; }
    @media all and (min-width: 481px) and (max-width: 769px) {
      #sub_page a {
        top: 2%;
        left: 2%;
        width: 30%; } }
    @media all and (max-width: 480px) {
      #sub_page a {
        left: 2%;
        width: 30%; } }
  @media all and (min-width: 481px) and (max-width: 769px) {
    #sub_page img {
      width: 90%; } }
  @media all and (max-width: 480px) {
    #sub_page img {
      width: 80%; } }

.sub_page_ttl {
  text-align: center;
  padding-top: 64px; }
  @media all and (max-width: 480px) {
    .sub_page_ttl {
      padding-top: 48px; } }
  .sub_page_ttl span {
    font-size: 6.4rem;
    color: #44818D; }
    @media all and (max-width: 480px) {
      .sub_page_ttl span {
        font-size: 4.8rem; } }
  .sub_page_ttl p {
    font-size: 2.4rem; }
    @media all and (max-width: 480px) {
      .sub_page_ttl p {
        font-size: 1.8rem; } }

.contact {
  background-color: rgba(68, 129, 141, 0.6);
  width: 100%;
  padding: 64px 0;
  color: #fff;
  text-align: center; }
  @media all and (max-width: 480px) {
    .contact {
      padding: 32px 8px; } }
  .contact .contact_inner {
    padding: 24px 0; }
  .contact .info {
    font-size: 1.8rem;
    display: inline-block; }
    @media all and (max-width: 480px) {
      .contact .info {
        font-size: 1.6rem; } }
  .contact .note {
    font-size: 1.8rem;
    padding: 32px 0 8px 0; }
    @media all and (max-width: 480px) {
      .contact .note {
        font-size: 1.6rem; } }
  .contact img {
    padding-right: 24px; }
  .contact .tel {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 16px; }
    @media all and (max-width: 480px) {
      .contact .tel {
        font-size: 3.0rem; } }
    .contact .tel .num {
      font-size: 4.0rem; }
      @media all and (max-width: 480px) {
        .contact .tel .num {
          font-size: 2.8rem; } }
  .contact .mail_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30%;
    margin: auto; }
    @media all and (min-width: 769px) and (max-width: 1280px) {
      .contact .mail_btn {
        width: 65%; } }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .contact .mail_btn {
        width: 85%; } }
    @media all and (max-width: 480px) {
      .contact .mail_btn {
        width: 95%; } }
    .contact .mail_btn .btn_icon {
      font-size: 4.8rem;
      padding-right: 24px; }
      @media all and (max-width: 480px) {
        .contact .mail_btn .btn_icon {
          font-size: 3.0rem;
          padding-right: 8px; } }
    .contact .mail_btn .contact_btn {
      padding: 16px 56px;
      background-color: #fff;
      border-radius: 40px;
      position: relative;
      color: #44818D;
      font-size: 1.8rem;
      font-weight: 600; }
      @media all and (max-width: 480px) {
        .contact .mail_btn .contact_btn {
          font-size: 1.6rem;
          padding: 16px 19px; } }
      .contact .mail_btn .contact_btn:hover {
        color: #fff;
        background-color: #44818D; }

/*-------------------------店舗一覧----------------------------*/
.location_all {
  padding-top: 64px; }
  .location_all .location_about {
    padding-bottom: 128px; }
    @media all and (max-width: 768px) {
      .location_all .location_about {
        padding-bottom: 80px; } }
    .location_all .location_about .store {
      display: flex;
      justify-content: space-around;
      padding-top: 80px;
      width: 90%;
      margin: auto; }
      @media all and (max-width: 768px) {
        .location_all .location_about .store {
          display: block;
          padding-top: 48px;
          width: 100%; } }
      .location_all .location_about .store figure {
        width: 60%; }
      .location_all .location_about .store .store_inner {
        width: 70%; }
        @media all and (max-width: 768px) {
          .location_all .location_about .store .store_inner {
            width: 95%; } }
        .location_all .location_about .store .store_inner h2 {
          font-size: 2.4rem;
          padding-bottom: 16px;
          font-weight: 600; }
          @media all and (max-width: 768px) {
            .location_all .location_about .store .store_inner h2 {
              padding: 16px 0; } }
        .location_all .location_about .store .store_inner dl {
          display: flex;
          flex-wrap: wrap; }
        .location_all .location_about .store .store_inner dt {
          width: 28%;
          padding-bottom: 8px; }
          @media all and (max-width: 768px) {
            .location_all .location_about .store .store_inner dt {
              width: 40%; } }
        .location_all .location_about .store .store_inner dd {
          width: 72%;
          padding-bottom: 8px; }
          @media all and (max-width: 768px) {
            .location_all .location_about .store .store_inner dd {
              width: 60%; } }

.store_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76%;
  margin: 24px 0;
  padding: 16px 48px;
  background-color: #fff;
  border: 1px solid #737167;
  border-radius: 40px;
  color: #737167;
  font-size: 1.8rem; }
  @media all and (min-width: 769px) and (max-width: 1024px) {
    .store_btn {
      padding: 16px 48px;
      width: 85%; } }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .store_btn {
      padding: 16px 24px;
      width: 95%;
      margin: 16px auto 0; } }
  @media all and (max-width: 480px) {
    .store_btn {
      padding: 16px 24px;
      width: 95%;
      margin: 16px auto 0;
      justify-content: space-between; } }
  .store_btn:hover {
    background-color: #737167;
    color: #fff; }
  .store_btn .store_arrow {
    color: #fff;
    stroke: #747166;
    stroke-width: 1;
    padding-left: 3px; }
  .store_btn:hover .store_arrow {
    color: #747166;
    stroke: #fff; }
  .store_btn svg {
    width: 16px;
    height: 26px;
    fill: currentColor; }

/*-------------------------店舗情報----------------------------*/
.location_top {
  background-image: url("../img/h_locations.webp");
  background-position: center; }

.osaka_top {
  background-image: url("../img/h_osaka.webp");
  background-position: 13%; }

.kyoto_top {
  background-image: url("../img/h_kyoto.webp");
  background-position: center; }

.koube_top {
  background-image: url("../img/h_koube.webp");
  background-position: center; }

.shibuya_top {
  background-image: url("../img/h_shibuya.webp");
  background-position: center; }

.store_about {
  padding-top: 40px; }
  .store_about h3 {
    font-size: 4.0rem;
    font-weight: 600;
    text-align: center;
    padding: 24px 0; }
    @media all and (max-width: 480px) {
      .store_about h3 {
        font-size: 2.4rem; } }
  .store_about h4 {
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    padding: 30px 0 20px; }
    @media all and (max-width: 480px) {
      .store_about h4 {
        font-size: 2.0rem; } }
  .store_about h5 {
    font-size: 2.0rem;
    font-weight: 600;
    padding: 30px 0 10px; }
    @media all and (max-width: 480px) {
      .store_about h5 {
        font-size: 1.8rem; } }
  .store_about p {
    font-size: 1.6rem;
    padding-bottom: 1em; }
  .store_about .location-box {
    padding: 1em 1.5em;
    border-radius: 12px;
    background-color: rgba(145, 145, 145, 0.15); }
    .store_about .location-box ul {
      margin: 0 0 1em; }
      .store_about .location-box ul li {
        list-style: disc;
        margin-left: 1.5em; }
  .store_about .l-text {
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    padding: 30px 0 20px; }
    @media all and (max-width: 480px) {
      .store_about .l-text {
        font-size: 2.0rem; } }

.strengths {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 64px 0 80px; }
  @media all and (max-width: 480px) {
    .strengths {
      display: block;
      width: 95%;
      margin: auto; } }
  .strengths figure {
    width: 33%;
    padding-bottom: 8px; }
    @media all and (max-width: 480px) {
      .strengths figure {
        width: 100%;
        padding-bottom: 8px; } }
  .strengths p {
    padding-top: 16px;
    font-size: 1.4rem; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .strengths p {
        padding-top: 8px; } }
    @media all and (max-width: 480px) {
      .strengths p {
        padding-top: 8px; } }

.map {
  display: flex;
  justify-content: space-between; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .map {
      display: block; } }
  @media all and (max-width: 480px) {
    .map {
      display: block; } }
  .map .left {
    width: 75%; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .map .left {
        width: 100%; } }
    @media all and (max-width: 480px) {
      .map .left {
        width: 100%; } }
    .map .left .add {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      padding: 16px 0; }
      .map .left .add dt {
        width: 25%;
        font-weight: 600; }
      .map .left .add dd {
        width: 70%; }
    .map .left .info {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      padding: 16px 0; }
      .map .left .info dt {
        width: 25%;
        font-weight: 600; }
        @media all and (max-width: 480px) {
          .map .left .info dt {
            width: 40%; } }
      .map .left .info dd {
        width: 70%; }
        @media all and (max-width: 480px) {
          .map .left .info dd {
            width: 60%; } }
  .map .right {
    width: 23%; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .map .right {
        margin-top: 24px;
        width: 100%; } }
    @media all and (max-width: 480px) {
      .map .right {
        margin-top: 24px;
        width: 100%; } }
    .map .right .is_fixed {
      overflow: hidden; }
      .map .right .is_fixed img {
        width: 50%; }
    .map .right figure {
      padding-bottom: 8px;
      width: 100%; }
    .map .right figcaption {
      text-align: center;
      font-size: 1.2rem; }
    .map .right img {
      width: 100%; }
    .map .right li {
      cursor: pointer;
      transition: all 0.3s; }
    .map .right .modal {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.7);
      cursor: pointer; }
    .map .right .modal_inner {
      position: relative;
      width: 50%;
      margin: 0 auto;
      top: 20%; }
      @media all and (max-width: 480px) {
        .map .right .modal_inner {
          top: 40%;
          width: 80%; } }

.jim_about {
  padding: 64px 0; }
  .jim_about h2 {
    font-size: 3.2rem;
    text-align: center;
    padding-bottom: 48px; }
    @media all and (max-width: 480px) {
      .jim_about h2 {
        font-size: 2.4rem;
        padding-bottom: 32px; } }
  .jim_about .flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: auto; }
    @media all and (min-width: 481px) and (max-width: 1600px) {
      .jim_about .flex {
        width: 100%; } }
    @media all and (max-width: 480px) {
      .jim_about .flex {
        width: 100%; } }
  .jim_about .flex_box {
    width: 45%;
    padding: 8px;
    margin-left: 3px; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .jim_about .flex_box {
        width: 95%;
        margin: auto; } }
    @media all and (max-width: 480px) {
      .jim_about .flex_box {
        width: 95%;
        margin: auto; } }
  .jim_about h3 {
    font-size: 2.4rem;
    padding-bottom: 16px;
    font-weight: 600; }
  .jim_about .inner {
    color: #1A1A1A;
    padding: 24px 0; }
    .jim_about .inner dl {
      display: flex;
      flex-wrap: wrap;
      width: 100%; }
    .jim_about .inner dt {
      padding: 4px 24px 0 0;
      width: 22%; }
      @media all and (max-width: 480px) {
        .jim_about .inner dt {
          padding-right: 8px; } }
    .jim_about .inner dd {
      padding: 4px;
      width: 70%; }
      @media all and (max-width: 480px) {
        .jim_about .inner dd {
          padding: 8px 0; } }

/*-------------------------ABODYについて----------------------------*/
.about_top {
  background-image: url("../img/h_about.webp");
  background-position: 65%; }

.about {
  padding-top: 40px; }
  .about h2 {
    font-size: 4.0rem;
    font-weight: 600;
    text-align: center; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .about h2 {
        font-size: 3.2rem; } }
    @media all and (max-width: 480px) {
      .about h2 {
        font-size: 2.4rem; } }
  .about .sub_message {
    text-align: center;
    font-size: 2.0rem;
    font-weight: 600; }
  .about .b_size {
    font-size: 6.4rem;
    font-weight: bold; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .about .b_size {
        font-size: 4.8rem; } }
    @media all and (max-width: 480px) {
      .about .b_size {
        font-size: 3.2rem; } }
  .about .flex {
    padding-top: 40px;
    display: flex;
    justify-content: space-between; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .about .flex {
        display: block; } }
    @media all and (max-width: 480px) {
      .about .flex {
        display: block;
        padding-top: 48px; } }
  .about .about_message {
    width: 32%; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .about .about_message {
        width: 70%;
        margin: auto;
        padding-bottom: 24px; } }
    @media all and (max-width: 480px) {
      .about .about_message {
        width: 95%;
        margin: auto;
        padding-bottom: 24px; } }
    .about .about_message .point {
      position: relative; }
      .about .about_message .point h3 {
        font-size: 3.2rem;
        font-weight: 600;
        padding: 48px 0 16px;
        text-align: center; }
        @media all and (min-width: 481px) and (max-width: 768px) {
          .about .about_message .point h3 {
            font-size: 3.0rem; } }
        @media all and (max-width: 480px) {
          .about .about_message .point h3 {
            font-size: 2.8rem; } }
      .about .about_message .point .step {
        position: absolute;
        top: -10px;
        left: 16px; }
        @media all and (min-width: 481px) and (max-width: 768px) {
          .about .about_message .point .step {
            left: 32px; } }
        @media all and (max-width: 480px) {
          .about .about_message .point .step {
            font-size: 2.8rem; } }
      .about .about_message .point .color {
        color: #44818D; }
      .about .about_message .point .size {
        font-size: 3.2rem; }
        @media all and (max-width: 480px) {
          .about .about_message .point .size {
            font-size: 2.4rem; } }

.goal {
  margin: auto;
  position: relative;
  top: 40px; }
  .goal img {
    width: 100%; }

.features {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .features::before {
    content: "";
    position: absolute;
    top: 20px;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1300px 0 200px;
    background: linear-gradient(#E2D7C7, #FCF6B5);
    transform: skewY(-7deg) translateY(100px);
    z-index: -1; }
  .features .strengths_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding-top: 240px; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .features .strengths_list {
        display: block;
        padding-bottom: 32px; } }
    @media all and (max-width: 480px) {
      .features .strengths_list {
        display: block;
        padding-bottom: 32px; } }
    .features .strengths_list .list {
      width: 30%;
      margin: auto;
      padding-bottom: 64px; }
      @media all and (min-width: 481px) and (max-width: 768px) {
        .features .strengths_list .list {
          width: 60%;
          margin: auto; } }
      @media all and (max-width: 480px) {
        .features .strengths_list .list {
          width: 90%;
          margin: auto;
          padding: 24px 0; } }
    .features .strengths_list figure {
      width: 80%;
      margin: auto; }
    .features .strengths_list h3 {
      font-weight: 600;
      font-size: 1.8rem;
      padding: 24px 0; }

/*----------------------ボディメイクメソッド-------------------------*/
.method_top {
  background-image: url("../img/h_method.webp");
  background-position: 43%; }

.method_about {
  padding-bottom: 64px; }
  .method_about h2 {
    padding-top: 48px;
    font-size: 3.2rem;
    font-weight: 600;
    text-align: center; }
    @media all and (max-width: 480px) {
      .method_about h2 {
        font-size: 2.4rem; } }
  .method_about p {
    padding-top: 24px; }
  .method_about figure {
    width: 70%;
    margin: auto;
    padding-top: 24px; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .method_about figure {
        width: 80%; } }
    @media all and (max-width: 480px) {
      .method_about figure {
        width: 100%; } }
  .method_about img {
    width: 100%; }

.method_content {
  padding-bottom: 64px; }
  .method_content .flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto; }
    @media all and (min-width: 481px) and (max-width: 1024px) {
      .method_content .flex {
        width: 100%; } }
    @media all and (max-width: 480px) {
      .method_content .flex {
        width: 100%; } }
  .method_content .flex_box {
    display: flex;
    justify-content: space-around;
    justify-content: center;
    padding-top: 32px; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .method_content .flex_box {
        display: block; } }
    @media all and (max-width: 480px) {
      .method_content .flex_box {
        display: block; } }
    .method_content .flex_box .flex_inline {
      background-blend-mode: overlay;
      background-color: rgba(255, 255, 255, 0.8);
      display: inline-block;
      z-index: 1;
      width: 100%;
      display: flex;
      justify-content: center;
      padding: 16px 16px 16px 8px;
      z-index: 1; }
      @media all and (max-width: 480px) {
        .method_content .flex_box .flex_inline {
          padding: 24px 8px 16px 8px;
          width: 100%;
          height: 100%;
          margin: auto; } }
      .method_content .flex_box .flex_inline .left_side {
        margin: auto;
        font-size: 2.4rem;
        color: rgba(154, 149, 138, 0.3);
        writing-mode: vertical-rl; }
        @media all and (max-width: 480px) {
          .method_content .flex_box .flex_inline .left_side {
            font-size: 1.6rem; } }
      .method_content .flex_box .flex_inline .right_side {
        width: 80%;
        margin: auto; }
        .method_content .flex_box .flex_inline .right_side .concept {
          color: #79813F;
          font-size: 1.4rem;
          padding-bottom: 16px; }
        .method_content .flex_box .flex_inline .right_side .content {
          font-size: 1.6rem;
          width: 90%;
          text-align: left;
          line-height: 2.0; }
          @media all and (max-width: 768px) {
            .method_content .flex_box .flex_inline .right_side .content {
              font-size: 1.4rem; } }
        .method_content .flex_box .flex_inline .right_side h3 {
          font-size: 2.0rem;
          padding-bottom: 16px; }
          @media all and (max-width: 480px) {
            .method_content .flex_box .flex_inline .right_side h3 {
              font-size: 1.8rem; } }

/*----------------------お客様の声-------------------------*/
.voice_top {
  background-image: url("../img/h_voice.webp");
  background-position: center; }
  @media all and (max-width: 480px) {
    .voice_top {
      background-position: 43%; } }

.voice {
  padding: 64px 0; }
  @media all and (max-width: 480px) {
    .voice {
      padding: 48px 0; } }
  .voice .flex {
    display: flex;
    align-items: center; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .voice .flex {
        display: block; } }
    @media all and (max-width: 480px) {
      .voice .flex {
        display: block; } }
  .voice .left {
    width: 20%; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .voice .left {
        width: 45%; } }
    @media all and (max-width: 480px) {
      .voice .left {
        width: 50%; } }
    .voice .left p {
      padding-top: 16px;
      text-align: center;
      color: #44818D; }
  .voice .right {
    width: 80%; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .voice .right {
        width: 100%; } }
    @media all and (max-width: 480px) {
      .voice .right {
        width: 100%; } }
  .voice .says {
    display: inline-block;
    position: relative;
    margin: 5px 0 0 64px;
    padding: 48px 32px;
    border-radius: 12px;
    background: rgba(145, 145, 145, 0.15); }
    @media all and (min-width: 769px) and (max-width: 1025px) {
      .voice .says {
        margin: 5px 0 0 64px; } }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .voice .says {
        margin: 48px 0 0 0px; } }
    @media all and (max-width: 480px) {
      .voice .says {
        margin: 48px 0 0 0px; } }
    .voice .says h3 {
      font-size: 20px;
      color: #44818D; }
    .voice .says p {
      padding-top: 16px; }
  .voice hr {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    height: 8px;
    background-image: repeating-linear-gradient(-45deg, #ccc 0, #ccc 1px, transparent 0, transparent 50%);
    background-size: 8px 8px; }
  .voice .says:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 30%;
    left: -30px;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-right: 30px solid rgba(145, 145, 145, 0.15); }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .voice .says:after {
        top: -40px;
        left: 20%;
        border-right: 12px solid transparent;
        border-bottom: 30px solid rgba(145, 145, 145, 0.15);
        border-left: 12px solid transparent; } }
    @media all and (max-width: 480px) {
      .voice .says:after {
        top: -40px;
        left: 20%;
        border-right: 12px solid transparent;
        border-bottom: 30px solid rgba(145, 145, 145, 0.15);
        border-left: 12px solid transparent; } }

/*----------------------FAQ-------------------------*/
.faq_top {
  background-image: url("../img/h_faq.webp");
  background-position: center; }
  @media all and (max-width: 480px) {
    .faq_top {
      background-position: 54%; } }

.faq {
  padding-bottom: 64px; }
  @media (max-width: 480px) {
    .faq {
      padding-bottom: 72px; } }
  .faq .accordion {
    margin: 3em auto; }
    @media (min-width: 481px) and (max-width: 1024px) {
      .faq .accordion {
        width: 90%; } }
    @media (max-width: 480px) {
      .faq .accordion {
        width: 100%; } }
  .faq .toggle {
    display: none; }
  .faq .option {
    position: relative;
    margin-bottom: 1em; }
  .faq .faq_ttl,
  .faq .content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s; }
  .faq .faq_ttl {
    background-color: rgba(144, 180, 187, 0.2);
    border-radius: 10px;
    padding: 48px 56px;
    display: block;
    color: #44818D;
    font-weight: bold; }
    @media (min-width: 481px) and (max-width: 1024px) {
      .faq .faq_ttl {
        padding: 32px 48px; } }
    @media (max-width: 480px) {
      .faq .faq_ttl {
        padding: 16px 24px; } }
  .faq .faq_ttl::after,
  .faq .faq_ttl::before {
    content: "";
    position: absolute;
    right: 5%;
    top: 50%;
    width: 2px;
    height: 0.75em;
    background-color: #44818D;
    transition: all 0.3s; }
  .faq .faq_ttl::after {
    transform: rotate(90deg); }
  .faq .content {
    max-height: 0;
    overflow: hidden; }
  .faq .position {
    position: relative; }
    .faq .position span {
      position: absolute;
      left: 56px;
      top: 24px; }
      @media (min-width: 481px) and (max-width: 1024px) {
        .faq .position span {
          left: 48px;
          top: 16px; } }
      @media (max-width: 480px) {
        .faq .position span {
          left: 24px;
          top: 8px; } }
  .faq .content p {
    margin: 0;
    padding: 48px 24px 48px 112px;
    font-size: 0.9em;
    line-height: 1.5; }
    @media (min-width: 481px) and (max-width: 1024px) {
      .faq .content p {
        padding: 32px 24px 48px 100px; } }
    @media (max-width: 480px) {
      .faq .content p {
        padding: 16px 24px 16px 48px; } }
  .faq .toggle:checked + .faq_ttl + .content {
    max-height: 500px;
    transition: all 1.5s; }
  .faq .toggle:checked + .faq_ttl::before {
    transform: rotate(90deg) !important; }
  .faq span {
    font-size: 40px;
    padding-right: 24px; }
    @media (max-width: 480px) {
      .faq span {
        font-size: 24px;
        padding-right: 8px; } }

/*----------------------料金プラン----------------------*/
.plan-fee_top {
  background-image: url("../img/plan.webp");
  background-position: center; }
  @media all and (max-width: 480px) {
    .plan-fee_top {
      background-position: 43%; } }

.campain {
  padding-top: 32px; }
  .campain .pc {
    width: 1000px;
    text-align: center;
    margin: auto; }
    @media all and (max-width: 1279px) {
      .campain .pc {
        display: none; } }
    .campain .pc img {
      width: 80%; }
  .campain .sm {
    width: 95%;
    margin: auto; }
    @media all and (min-width: 1280px) {
      .campain .sm {
        display: none; } }
    .campain .sm img {
      width: 100%; }

.plan_about {
  padding: 48px 0;
  /*  .price {
      @media(max-width: 980px) {
        width: 100%;
        overflow: auto;
      }
    }*/ }
  @media (max-width: 480px) {
    .plan_about {
      padding: 24px 0; } }
  .plan_about h2 {
    padding: 32px 0;
    font-size: 3.2rem;
    font-weight: 600;
    text-align: center; }
    @media (min-width: 481px) and (max-width: 769px) {
      .plan_about h2 {
        font-size: 2.4rem; } }
    @media (max-width: 480px) {
      .plan_about h2 {
        font-size: 2.4rem;
        padding: 16px 0 0 0; } }
  .plan_about .other {
    padding-top: 8px;
    text-align: center;
    font-size: 1.8rem; }
    @media (min-width: 481px) and (max-width: 769px) {
      .plan_about .other {
        font-size: 1.6rem; } }
    @media (max-width: 480px) {
      .plan_about .other {
        font-size: 1.6rem; } }
  .plan_about .plan, .plan_about .plan_support {
    padding: 32px 0; }
    @media (max-width: 480px) {
      .plan_about .plan, .plan_about .plan_support {
        padding: 0; } }
    .plan_about .plan .corse, .plan_about .plan_support .corse {
      width: 95%;
      margin: auto;
      padding-bottom: 16px;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      @media (min-width: 481px) and (max-width: 769px) {
        .plan_about .plan .corse, .plan_about .plan_support .corse {
          display: block;
          width: 100%; } }
      @media (max-width: 480px) {
        .plan_about .plan .corse, .plan_about .plan_support .corse {
          display: block;
          width: 100%; } }
      .plan_about .plan .corse h3, .plan_about .plan_support .corse h3 {
        font-size: 2.0rem;
        font-weight: 600;
        width: 30%;
        padding: 8px 0; }
        @media (min-width: 481px) and (max-width: 769px) {
          .plan_about .plan .corse h3, .plan_about .plan_support .corse h3 {
            width: 100%;
            font-size: 1.8rem; } }
        @media (max-width: 480px) {
          .plan_about .plan .corse h3, .plan_about .plan_support .corse h3 {
            width: 100%;
            font-size: 1.8rem;
            padding: 24px 0 0 0; } }
      .plan_about .plan .corse .desc, .plan_about .plan_support .corse .desc {
        width: 70%; }
        @media (min-width: 481px) and (max-width: 769px) {
          .plan_about .plan .corse .desc, .plan_about .plan_support .corse .desc {
            width: 100%; } }
        @media (max-width: 480px) {
          .plan_about .plan .corse .desc, .plan_about .plan_support .corse .desc {
            width: 100%;
            padding-top: 8px; } }
  .plan_about .plan_support {
    padding: 64px 0 32px; }
  .plan_about table {
    width: 100%;
    border-collapse: collapse; }
  .plan_about table td, .plan_about table th {
    padding: 24px 16px;
    box-sizing: border-box;
    vertical-align: middle;
    border-bottom: 1px solid #747166; }
  .plan_about table th {
    background-color: rgba(211, 203, 0, 0.3);
    border-bottom: 1px solid #747166; }
  @media only screen and (max-width: 768px) {
    .plan_about table {
      width: 100%;
      display: flex;
      flex-wrap: wrap; }
    .plan_about table tr {
      display: block; }
    .plan_about table td, .plan_about table th {
      padding: 8px;
      box-sizing: border-box;
      vertical-align: middle;
      border-bottom: 1px solid #747166; }
    .plan_about table tr td, .plan_about table tr th {
      display: block; }
    .plan_about table tr td.height-01, .plan_about table tr th.height-01 {
      /*height: 100px;*/
      border-bottom: none; }
    .plan_about table thead {
      display: block;
      width: 30%; }
    .plan_about table thead tr {
      width: 100%; }
    .plan_about table tbody {
      display: block;
      width: 70%; }
    .plan_about table tbody tr {
      width: 100%; }
    .plan_about table tr td.height-02, .plan_about table tr th.height-02 {
      height: 75px; }
    .plan_about table tr td.height-03, .plan_about table tr th.height-03 {
      height: 103px; }
    .plan_about table tr td.height-04, .plan_about table tr th.height-04 {
      border-bottom: none; } }
  .plan_about .course {
    padding: 24px 16px 8px;
    font-weight: 600; }
    .plan_about .course span {
      margin-left: 5px;
      padding: 2px 10px;
      font-size: 80%;
      background-color: #E67B85;
      color: #FFF;
      border-radius: 5px; }
  .plan_about dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    width: 100%;
    margin: 32px auto 0;
    border-top: 1px solid #eee; }
    @media (max-width: 980px) {
      .plan_about dl {
        width: 980px;
        overflow: auto;
        white-space: nowrap;
        margin: 24px auto 0; } }
  .plan_about dt {
    width: 25%;
    padding: 24px 32px;
    background-color: rgba(211, 203, 0, 0.3);
    border-bottom: 1px solid #747166; }
  .plan_about dd {
    width: 25%;
    padding: 24px 32px;
    border-bottom: 1px solid #747166; }
  .plan_about .trial dl {
    border-top: 1px solid #747166;
    border-left: 1px solid #747166; }
  .plan_about .trial dt {
    border-right: 1px solid #747166; }
  .plan_about .trial dd {
    border-right: 1px solid #747166; }
  .plan_about .moniter {
    padding: 48px 0; }
    .plan_about .moniter h3 {
      font-size: 2.0rem;
      text-align: center;
      font-weight: 600;
      text-align: center;
      padding-bottom: 8px; }
    .plan_about .moniter p {
      display: flex;
      justify-content: center; }
    .plan_about .moniter figure {
      margin: auto;
      width: 600px; }
      @media (max-width: 480px) {
        .plan_about .moniter figure {
          width: 100%; } }
      .plan_about .moniter figure img {
        width: 100%; }
  .plan_about .font-s {
    font-size: 70%;
    color: #999;
    margin-left: 1em; }

.plan-info {
  padding: 250px 0 100px;
  position: relative;
  width: 100%;
  overflow: hidden; }
  @media (max-width: 980px) {
    .plan-info {
      padding: 190px 0 30px; } }
  .plan-info::before {
    content: "";
    position: absolute;
    top: 20px;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 100px 0 100px;
    background: linear-gradient(#E2D7C7, #FCF6B5);
    transform: skewY(-7deg) translateY(100px);
    z-index: -1; }
  .plan-info .plan-box {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media (max-width: 980px) {
      .plan-info .plan-box {
        width: 90%; } }
    .plan-info .plan-box .plan-inbox {
      width: 47%; }
      @media (max-width: 980px) {
        .plan-info .plan-box .plan-inbox {
          width: 100%;
          margin-bottom: 30px; } }
      .plan-info .plan-box .plan-inbox h3 {
        font-family: 'Noto Serif JP', sans-serif;
        font-weight: 700;
        font-size: 2.0rem;
        margin-bottom: 0.6em; }
        .plan-info .plan-box .plan-inbox h3 span {
          border-bottom: 2px dotted #333; }

/*---------------------採用情報--------------------------*/
.recruit_top {
  background-image: url("../img/h_recruit.webp");
  background-position: 46%; }

.recruit_message, .business, .thought, .requirements {
  margin-top: 32px; }
  .recruit_message h3, .business h3, .thought h3, .requirements h3 {
    font-weight: bold;
    font-size: 3.2rem;
    padding: 24px 0; }
    @media all and (max-width: 480px) {
      .recruit_message h3, .business h3, .thought h3, .requirements h3 {
        padding: 32px 0;
        font-size: 2.4rem; } }
  .recruit_message .message, .business .message, .thought .message, .requirements .message {
    padding-top: 16px;
    display: flex;
    justify-content: space-around; }
    @media all and (max-width: 767px) {
      .recruit_message .message, .business .message, .thought .message, .requirements .message {
        flex-direction: column-reverse; } }
    .recruit_message .message .ttl, .business .message .ttl, .thought .message .ttl, .requirements .message .ttl {
      font-size: 2.0rem;
      padding-bottom: 16px; }
      @media all and (max-width: 767px) {
        .recruit_message .message .ttl, .business .message .ttl, .thought .message .ttl, .requirements .message .ttl {
          font-size: 1.8rem; } }
    .recruit_message .message .ttl1, .business .message .ttl1, .thought .message .ttl1, .requirements .message .ttl1 {
      font-size: 1.8rem;
      padding-bottom: 6px;
      margin-top: 1.5em;
      font-weight: 700; }
      @media all and (max-width: 767px) {
        .recruit_message .message .ttl1, .business .message .ttl1, .thought .message .ttl1, .requirements .message .ttl1 {
          font-size: 1.6rem; } }
    .recruit_message .message .inner, .business .message .inner, .thought .message .inner, .requirements .message .inner {
      width: 57%;
      padding: 24px 16px 0px 0px; }
      @media all and (max-width: 767px) {
        .recruit_message .message .inner, .business .message .inner, .thought .message .inner, .requirements .message .inner {
          width: 95%;
          padding: 16px 0;
          margin: auto; } }
    .recruit_message .message figure, .business .message figure, .thought .message figure, .requirements .message figure {
      width: 60%; }
      @media all and (max-width: 767px) {
        .recruit_message .message figure, .business .message figure, .thought .message figure, .requirements .message figure {
          width: 100%; } }
    .recruit_message .message .comment, .business .message .comment, .thought .message .comment, .requirements .message .comment {
      font-size: 1.6rem; }
      @media all and (max-width: 767px) {
        .recruit_message .message .comment, .business .message .comment, .thought .message .comment, .requirements .message .comment {
          font-size: 1.4rem; } }
  .recruit_message .message1, .business .message1, .thought .message1, .requirements .message1 {
    width: 100%;
    padding: 24px 16px 0px 0px;
    box-sizing: border-box; }
    @media all and (max-width: 767px) {
      .recruit_message .message1, .business .message1, .thought .message1, .requirements .message1 {
        width: 95%;
        padding: 16px 0;
        margin: auto; } }
    .recruit_message .message1 .ttl1, .business .message1 .ttl1, .thought .message1 .ttl1, .requirements .message1 .ttl1 {
      font-size: 1.8rem;
      padding-bottom: 6px;
      margin-top: 1.5em;
      font-weight: 700; }
      @media all and (max-width: 767px) {
        .recruit_message .message1 .ttl1, .business .message1 .ttl1, .thought .message1 .ttl1, .requirements .message1 .ttl1 {
          font-size: 1.6rem; } }
    .recruit_message .message1 ul, .business .message1 ul, .thought .message1 ul, .requirements .message1 ul {
      list-style-type: none;
      padding: 1em;
      background-color: rgba(145, 145, 145, 0.15);
      border-radius: 12px;
      margin: 0.5em 0; }
      .recruit_message .message1 ul li, .business .message1 ul li, .thought .message1 ul li, .requirements .message1 ul li {
        display: flex;
        align-items: center;
        gap: 0 5px;
        padding: .3em; }
        .recruit_message .message1 ul li::before, .business .message1 ul li::before, .thought .message1 ul li::before, .requirements .message1 ul li::before {
          min-width: 12px;
          display: inline-block;
          width: 10px;
          height: 5px;
          border-bottom: 2px solid #44818D;
          border-left: 2px solid #44818D;
          transform: rotate(-45deg) translateY(-1.5px);
          content: ''; }
  .recruit_message .mg-top, .business .mg-top, .thought .mg-top, .requirements .mg-top {
    margin-top: 2.5em; }
  .recruit_message .bg-box, .business .bg-box, .thought .bg-box, .requirements .bg-box {
    background-color: rgba(145, 145, 145, 0.15);
    padding: 1em 2em;
    margin: 2em 0 0;
    border-radius: 12px; }
    .recruit_message .bg-box h4, .business .bg-box h4, .thought .bg-box h4, .requirements .bg-box h4 {
      font-size: 20px;
      color: #44818D; }
    .recruit_message .bg-box hr, .business .bg-box hr, .thought .bg-box hr, .requirements .bg-box hr {
      height: 0;
      margin: 0 0 1em;
      padding: 0;
      border: 0;
      height: 8px;
      background-image: repeating-linear-gradient(-45deg, #ccc 0, #ccc 1px, transparent 0, transparent 50%);
      background-size: 8px 8px; }
    .recruit_message .bg-box ul, .business .bg-box ul, .thought .bg-box ul, .requirements .bg-box ul {
      margin-bottom: 1em; }
      .recruit_message .bg-box ul li, .business .bg-box ul li, .thought .bg-box ul li, .requirements .bg-box ul li {
        list-style: disc;
        margin-left: 1.5em; }

.thought {
  margin-top: 32px; }
  .thought ul {
    list-style-type: none;
    padding: 1em;
    background-color: rgba(145, 145, 145, 0.15);
    border-radius: 12px;
    margin: 0.5em 0; }
    .thought ul li {
      display: flex;
      align-items: flex-start;
      gap: 0 5px;
      padding: .3em; }
      .thought ul li::before {
        min-width: 12px;
        display: inline-block;
        width: 10px;
        height: 5px;
        border-bottom: 2px solid #44818D;
        border-left: 2px solid #44818D;
        transform: rotate(-45deg) translateY(-1.5px);
        content: '';
        margin-top: 12px; }
  .thought .font-b {
    font-weight: 700; }

.requirements {
  margin: 48px 0; }
  .requirements dl {
    display: flex;
    flex-wrap: wrap;
    margin-top: 24px;
    font-size: 1.8rem; }
    @media all and (min-width: 480px) and (max-width: 768px) {
      .requirements dl {
        display: block;
        width: 95%;
        margin: auto;
        font-size: 1.6rem; } }
    @media all and (max-width: 480px) {
      .requirements dl {
        display: block;
        width: 95%;
        margin: auto;
        font-size: 1.6rem; } }
  .requirements dt {
    padding: 24px 32px;
    width: 25%; }
    @media all and (min-width: 480px) and (max-width: 768px) {
      .requirements dt {
        width: 95%;
        margin: auto;
        padding: 16px 32px 8px; } }
    @media all and (max-width: 480px) {
      .requirements dt {
        width: 95%;
        margin: auto;
        padding: 16px 32px 8px; } }
  .requirements dd {
    padding: 24px 32px;
    width: 75%; }
    @media all and (min-width: 480px) and (max-width: 768px) {
      .requirements dd {
        width: 95%;
        margin: auto;
        padding: 8px 32px 16px; } }
    @media all and (max-width: 480px) {
      .requirements dd {
        width: 95%;
        margin: auto;
        padding: 8px 32px 16px; } }
  .requirements dl dd:nth-of-type(odd) {
    background-color: #eee; }
  .requirements dl dt:nth-of-type(odd) {
    background-color: #eee; }
  .requirements .top-line {
    margin: 1em 0 0;
    padding-top: 2em;
    border-top: 1px solid #CCC; }

/*--------------------トレーナー紹介-----------------------------*/
.trainer_top {
  background-image: url("../img/h_trainer-1.webp");
  /*  background-image: url("../img/trainer.webp");*/
  background-position: center center; }
  @media all and (max-width: 480px) {
    .trainer_top {
      background-position: 60% center; } }

.trainer {
  padding: 64px; }
  @media all and (max-width: 480px) {
    .trainer {
      padding: 48px 8px; } }
  .trainer h3 {
    font-size: 2.0rem;
    font-weight: 600;
    padding: 8px 0; }
  .trainer p {
    padding-top: 8px; }
  .trainer .flex {
    display: flex;
    align-items: center;
    padding-bottom: 48px; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .trainer .flex {
        display: block; } }
    @media all and (max-width: 480px) {
      .trainer .flex {
        display: block; } }
  .trainer .left {
    width: 35%; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .trainer .left {
        width: 60%;
        margin: auto;
        padding-top: 32px; } }
    @media all and (max-width: 480px) {
      .trainer .left {
        width: 70%;
        margin: auto;
        padding-top: 24px; } }
  .trainer .right {
    width: 65%; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .trainer .right {
        width: 100%;
        margin: auto;
        padding-top: 16px; } }
    @media all and (max-width: 480px) {
      .trainer .right {
        width: 100%; } }
  .trainer .introduction {
    display: inline-block;
    position: relative;
    margin: 5px 0 0 64px;
    padding: 48px 32px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.5); }
    @media all and (min-width: 769px) and (max-width: 1025px) {
      .trainer .introduction {
        margin: 5px 0 0 64px; } }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .trainer .introduction {
        padding: 24px;
        margin: 0; } }
    @media all and (max-width: 480px) {
      .trainer .introduction {
        margin: 0px;
        padding: 0; } }
    .trainer .introduction dl {
      padding-top: 8px;
      display: flex;
      flex-wrap: wrap; }
      @media all and (max-width: 480px) {
        .trainer .introduction dl {
          display: block; } }
    .trainer .introduction dt {
      width: 40%; }
      @media all and (max-width: 480px) {
        .trainer .introduction dt {
          width: 100%; } }
    .trainer .introduction dd {
      width: 60%; }
      @media all and (max-width: 480px) {
        .trainer .introduction dd {
          width: 100%;
          padding-bottom: 8px; } }
    .trainer .introduction .ttl {
      font-weight: 700;
      margin: 1em 0 0; }
  .trainer img {
    border-radius: 50%; }
  .trainer .font-b {
    font-weight: 700; }

/*----------------------インフォメーション-----------------------------*/
.infomation_top {
  background-image: url("../img/h_infomation.webp");
  background-position: center; }

#newsItem {
  padding: 64px 0; }
  #newsItem h1 {
    font-weight: 500;
    font-size: 3.0rem; }
  #newsItem article {
    padding: 16px 0; }
  #newsItem h2 {
    font-size: 2.4rem; }
  #newsItem .imgBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around; }
    #newsItem .imgBox img {
      width: 48%;
      padding-top: 16px; }
      @media (max-width: 480px) {
        #newsItem .imgBox img {
          width: 100%; } }

/*--------------------運営会社-----------------------------*/
.company_top {
  background-image: url("../img/h_company.webp");
  background-position: center; }
  @media all and (max-width: 480px) {
    .company_top {
      background-position: 70% center; } }

.message {
  padding-top: 80px; }
  @media all and (max-width: 480px) {
    .message {
      padding-top: 40px; } }
  .message h2 {
    text-align: center; }
  .message .flex {
    padding-top: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media all and (max-width: 768px) {
      .message .flex {
        flex-direction: column-reverse;
        padding-top: 24px; } }
    .message .flex .left {
      width: 55%; }
      @media all and (max-width: 768px) {
        .message .flex .left {
          width: 100%;
          padding-top: 16px; } }
    .message .flex span {
      display: block;
      font-weight: 600;
      text-align: right; }
    .message .flex .right {
      width: 40%; }
      @media all and (max-width: 768px) {
        .message .flex .right {
          width: 60%;
          margin: 0 0 0 auto; } }

.philosophy {
  padding-top: 80px; }
  .philosophy h2 {
    text-align: center; }
  .philosophy h3 {
    font-size: 2.0rem;
    font-weight: 700; }
  .philosophy .philosophy_text {
    padding-top: 24px; }
  .philosophy ol {
    margin: 0 0 1em; }
    .philosophy ol li {
      list-style: decimal;
      margin-left: 1.5em; }
  .philosophy .font-b {
    font-weight: 700; }

.company_overview, .history {
  padding: 64px 0;
  width: 100%;
  margin: auto; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .company_overview, .history {
      padding: 48px 0; } }
  @media all and (max-width: 480px) {
    .company_overview, .history {
      padding: 32px 0; } }
  .company_overview h2, .history h2 {
    text-align: center; }
  .company_overview .company dl, .history .company dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: auto;
    font-size: 1.6rem; }
    @media all and (min-width: 480px) and (max-width: 768px) {
      .company_overview .company dl, .history .company dl {
        display: block;
        font-size: 1.4rem; } }
    @media all and (max-width: 480px) {
      .company_overview .company dl, .history .company dl {
        display: block;
        font-size: 1.4rem; } }
  .company_overview .company span, .history .company span {
    font-weight: 600; }
  .company_overview .company dt, .history .company dt {
    padding: 24px 32px;
    width: 25%;
    border-bottom: solid 1px #666;
    font-weight: 600; }
    @media all and (min-width: 480px) and (max-width: 768px) {
      .company_overview .company dt, .history .company dt {
        width: 95%;
        margin: auto;
        padding: 16px 32px; } }
    @media all and (max-width: 480px) {
      .company_overview .company dt, .history .company dt {
        width: 95%;
        margin: auto;
        padding: 16px 24px; } }
  .company_overview .company dd, .history .company dd {
    padding: 24px 32px;
    width: 75%;
    border-bottom: solid 1px #666; }
    @media all and (min-width: 480px) and (max-width: 768px) {
      .company_overview .company dd, .history .company dd {
        width: 95%;
        margin: auto;
        padding: 16px 32px; } }
    @media all and (max-width: 480px) {
      .company_overview .company dd, .history .company dd {
        width: 95%;
        margin: auto;
        padding: 16px 24px; } }

.access {
  width: 100%;
  padding: 64px 0; }
  @media all and (max-width: 480px) {
    .access {
      padding: 40px 0 64px; } }
  .access h2 {
    text-align: center;
    padding-bottom: 24px; }
  .access iframe {
    width: 100%; }

/*--------------------サイトマップ-----------------------------*/
.sitemap_top {
  background-image: url("../img/h_sitemap.webp");
  background-position: 60%; }

.sitemap {
  padding: 40px 0 80px 0;
  margin: auto; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .sitemap {
      padding: 64px 0; } }
  @media (max-width: 480px) {
    .sitemap {
      padding: 32px 0; } }
  .sitemap .sitemap_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media (max-width: 480px) {
      .sitemap .sitemap_list {
        display: block; } }
  .sitemap .sitemap_list li {
    width: 48%; }
    @media (max-width: 480px) {
      .sitemap .sitemap_list li {
        width: 90%;
        margin: auto; } }
  .sitemap .sitemap_list a {
    position: relative;
    display: block;
    font-size: 1.8rem;
    margin-bottom: 16px;
    padding: 16px 24px;
    border-bottom: solid 1px #ccc; }
  .sitemap .arrow {
    color: #fff;
    stroke: #747166;
    stroke-width: 2; }
  .sitemap a:hover .arrow {
    right: 3px; }
  .sitemap svg {
    position: absolute;
    right: 8px;
    width: 16px;
    height: 26px;
    fill: currentColor; }

/*----------------------プライバシーポリシー----------------------*/
.privacy_top {
  background-image: url("../img/h_privacy.webp");
  background-position: 60%; }

.privacy {
  font-weight: 500;
  padding-bottom: 80px;
  width: 960px;
  margin: 0 auto; }
  @media all and (min-width: 481px) and (max-width: 1024px) {
    .privacy {
      width: 100%;
      padding-bottom: 64px; } }
  @media (max-width: 480px) {
    .privacy {
      width: 100%;
      padding-bottom: 32px; } }
  .privacy p {
    font-size: 1.6rem;
    line-height: 1.6;
    padding: 24px 0; }
  .privacy dl {
    margin-top: 48px; }
  .privacy dt {
    margin-top: 40px;
    font-size: 2.4rem;
    font-weight: 600; }
  .privacy dd {
    margin-top: 8px;
    line-height: 1.6; }

/*----------------------お問い合わせ-------------------------*/
.contact_top {
  background-image: url("../img/contact.webp"); }
  @media (max-width: 480px) {
    .contact_top {
      background-position: 23%; } }

#contact_page {
  padding: 60px 0 80px 0;
  margin: 0 auto;
  width: 90%; }
  @media (max-width: 480px) {
    #contact_page {
      padding: 48px 0; } }
  #contact_page ul li:first-of-type {
    border-top: solid 1px #D9D9D9; }
  #contact_page li {
    display: flex;
    padding: 32px 24px;
    border-bottom: solid 1px #D9D9D9; }
    @media (min-width: 481px) and (max-width: 768px) {
      #contact_page li {
        display: block;
        padding: 24px 16px; } }
    @media (max-width: 480px) {
      #contact_page li {
        display: block;
        padding: 24px 16px; } }
  #contact_page .h_ttl {
    width: 30%;
    font-size: 2.4rem; }
    @media (min-width: 481px) and (max-width: 768px) {
      #contact_page .h_ttl {
        width: 100%;
        margin: auto; } }
    @media (max-width: 480px) {
      #contact_page .h_ttl {
        width: 100%;
        margin: auto; } }
  #contact_page .info {
    width: 70%; }
    @media (min-width: 481px) and (max-width: 768px) {
      #contact_page .info {
        width: 100%; } }
    @media (max-width: 480px) {
      #contact_page .info {
        width: 100%; } }
  #contact_page .tel {
    font-size: 3.0rem;
    font-weight: 600;
    color: #44818D; }
    @media (min-width: 481px) and (max-width: 1024px) {
      #contact_page .tel {
        font-size: 2.4rem; } }
    @media (max-width: 480px) {
      #contact_page .tel {
        font-size: 2.4rem; } }
  #contact_page .time {
    display: inline-block;
    font-size: 1.6rem;
    text-align: center; }
    @media (min-width: 481px) and (max-width: 1024px) {
      #contact_page .time {
        font-size: 1.4rem; } }
    @media (max-width: 480px) {
      #contact_page .time {
        font-size: 1.4rem; } }
  #contact_page .time span {
    padding-left: 16px; }
    @media (max-width: 480px) {
      #contact_page .time span {
        padding: 0; } }
  #contact_page .tel::before {
    font-family: "Font Awesome 5 Free";
    content: "\f879";
    font-weight: 900;
    color: #44818D;
    padding-right: 10px;
    /*文字との隙間*/
    /*color: #fff;アイコンの色*/ }
  #contact_page h2 {
    font-size: 2.4rem;
    font-weight: 600;
    padding-bottom: 24px; }
    @media (min-width: 481px) and (max-width: 1024px) {
      #contact_page h2 {
        font-size: 2.0rem; } }
    @media (max-width: 480px) {
      #contact_page h2 {
        font-size: 2.0rem; } }
  #contact_page .tel_content {
    margin-bottom: 64px; }
  #contact_page dl {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      #contact_page dl {
        display: block;
        width: 100%; } }
    @media (max-width: 480px) {
      #contact_page dl {
        display: block;
        width: 100%; } }
  #contact_page dt {
    width: 27%;
    padding: 24px 15px;
    box-sizing: border-box;
    border-top: solid 1px #eee;
    font-size: 2.0rem; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      #contact_page dt {
        width: 100%; } }
    @media (max-width: 480px) {
      #contact_page dt {
        width: 100%; } }
  #contact_page dd {
    width: 73%;
    box-sizing: border-box;
    padding: 24px 18px;
    border-top: solid 1px #eee; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      #contact_page dd {
        width: 100%; } }
    @media (max-width: 480px) {
      #contact_page dd {
        width: 100%; } }
  #contact_page dl, #contact_page dd:last-of-type {
    border-bottom: 1px solid #eee; }
  #contact_page span {
    font-size: 2.0rem; }
  #contact_page .must {
    font-size: 1.4rem;
    color: #9A071B;
    padding-left: 8px; }
  #contact_page dd input {
    height: 50px;
    border: solid 1px #ccc;
    padding: 5px;
    box-sizing: border-box; }
  #contact_page dd textarea {
    border: solid 1px #ccc;
    width: 100%;
    box-sizing: border-box;
    padding: 5px; }
  #contact_page dd a {
    font-size: 1.4rem;
    text-decoration: underline; }
  #contact_page #image-btn {
    width: 100%;
    max-width: 300px;
    margin: 36px auto;
    text-align: center;
    font-size: 2.0rem;
    font-weight: 700;
    border: none;
    color: #fff;
    padding: 16px 48px;
    background-color: #747166;
    border-radius: 50px;
    transition: ease .2s;
    border: 1px solid #747166; }
    @media (max-width: 480px) {
      #contact_page #image-btn {
        margin-top: 24px;
        width: 100%; } }
    #contact_page #image-btn:hover {
      background-color: #fff;
      color: #747166;
      border: 1px solid #747166; }
  #contact_page .backBtn {
    width: 20%;
    margin: 36px 8px;
    text-align: center;
    font-size: 2.0rem;
    font-weight: 700;
    border: none;
    color: #fff;
    padding: 16px 48px;
    background-color: #747166;
    border-radius: 50px;
    transition: ease .2s;
    border: 1px solid #747166; }
    @media (max-width: 480px) {
      #contact_page .backBtn {
        margin-top: 24px;
        width: 100%; } }
    #contact_page .backBtn:hover {
      background-color: #fff;
      color: #747166;
      border: 1px solid #747166; }
  #contact_page .submitBtn {
    width: 100%;
    margin: 36px 8px;
    text-align: center;
    font-size: 2.0rem;
    font-weight: 700;
    border: none;
    color: #fff;
    padding: 16px 48px;
    background-color: #44818D;
    border: solid 1px #44818D;
    border-radius: 50px;
    transition: ease .2s; }
    #contact_page .submitBtn:hover {
      background-color: #fff;
      color: #44818D;
      border: 1px solid #44818D; }

.formText {
  margin-top: 32px; }

.formBtn {
  display: flex;
  justify-content: center; }
  @media (max-width: 480px) {
    .formBtn {
      display: block; } }

/*------------------404ページ-----------------------------*/
.notfound {
  width: 90%;
  margin: auto;
  text-align: center;
  padding-bottom: 40px; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .notfound {
      padding: 32px 0 64px; } }
  @media (max-width: 480px) {
    .notfound {
      padding: 32px 0 64px; } }
  .notfound dl {
    padding: 40px;
    display: inline-block; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .notfound dl {
        padding: 24px; } }
    @media (max-width: 480px) {
      .notfound dl {
        padding: 24px; } }
  .notfound dt {
    font-size: 2.4rem;
    padding-bottom: 16px;
    text-align: left; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .notfound dt {
        font-size: 2.0rem; } }
    @media (max-width: 480px) {
      .notfound dt {
        font-size: 2.0rem; } }
  .notfound dd {
    font-size: 1.6rem;
    text-align: left; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .notfound dd {
        font-size: 1.4rem; } }
    @media (max-width: 480px) {
      .notfound dd {
        font-size: 1.4rem; } }

.spOnly {
  display: none !important; }

@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important; }

  .spOnly {
    display: block !important; } }
.camp-bnr {
  width: 750px;
  margin: 0 auto 50px; }
  @media screen and (max-width: 768px) {
    .camp-bnr {
      width: 90%; } }
  .camp-bnr img {
    width: 100%;
    height: auto; }

.notes {
  margin: 1em 0;
  padding: 1em 1.5em;
  background-color: rgba(211, 203, 0, 0.3); }
