@charset "UTF-8";
/* Scss Document */
h1.h1 {
  display: block;
  width: 100%;
  background-color: #F6F1E6;
  color: #333;
  line-height: 4.375rem;
  font-family: ten-mincho-text, "Hiragino Mincho ProN", "serif";
  text-align: center;
  font-size: 2.1875rem;
  padding: 60px 0;
  margin: -2px 0 0 0;
  letter-spacing: 0.1em;
  font-weight: normal; }
  @media screen and (max-width: 767px) {
    h1.h1 {
      font-size: 1.375rem;
      padding: 30px 0px;
      line-height: 1.5;
      height: 97px; } }

h2.h2 {
  font-size: 2.5rem;
  /*line-height: 2.05;*/
  font-family: ten-mincho-text, "Hiragino Mincho ProN", "serif";
  color: #333;
  text-align: center;
  letter-spacing: 0.1em;
  margin: 0; }
  @media screen and (max-width: 767px) {
    h2.h2 {
      font-size: 1.875rem; } }
  @media screen and (max-width: 575px) {
    h2.h2 {
      font-size: 1.375rem;
      line-height: 1.636; } }
  h2.h2 span {
    background: linear-gradient(transparent 1em, #EAEAEA 0, #EAEAEA calc(0.95em + 13px), transparent 0); }
    @media screen and (max-width: 767px) {
      h2.h2 span {
        background: linear-gradient(transparent 1.05em, #EAEAEA 0, #EAEAEA calc(0.95em + 8px), transparent 0); } }

h3.h3 {
  border-left: solid 5px #D5C08A;
  padding: 0 0 0 15px;
  font-size: 1.75rem;
  font-family: ten-mincho-text, "Hiragino Mincho ProN", "serif";
  margin: 0; }
  @media screen and (max-width: 767px) {
    h3.h3 {
      font-size: 1.125rem; } }

h4.h4 {
  font-size: 1.875rem;
  line-height: 2.333;
  font-family: ten-mincho-text, "Hiragino Mincho ProN", "serif";
  text-align: center;
  margin: 0;
  font-weight: normal;
  letter-spacing: 0.01em; }
  @media screen and (max-width: 991px) {
    h4.h4 {
      font-size: 1.5rem;
      line-height: 2; } }
  @media screen and (max-width: 575px) {
    h4.h4 {
      font-size: 1.125rem; } }

h4.h4-02 {
  font-size: 1.25rem;
  line-height: 2.625rem;
  font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
  color: #333;
  font-weight: normal;
  text-align: center; }
  @media screen and (max-width: 767px) {
    h4.h4-02 {
      font-size: 1rem;
      line-height: 2.187rem; } }

h2.h2-02 {
  display: block;
  width: 100%;
  font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
  background-color: #F6F1E6;
  color: #333;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.3;
  padding: 20px; }
  @media screen and (max-width: 767px) {
    h2.h2-02 {
      font-size: 1.25rem; } }

section {
  display: block;
  width: 100%; }

.range10 {
  display: block;
  width: 100%;
  height: 10px; }

.range20 {
  display: block;
  width: 100%;
  height: 20px; }

.range30 {
  display: block;
  width: 100%;
  height: 30px; }

.range40 {
  display: block;
  width: 100%;
  height: 40px; }

.range50 {
  display: block;
  width: 100%;
  height: 50px; }

.range60 {
  display: block;
  width: 100%;
  height: 60px; }

.range70 {
  display: block;
  width: 100%;
  height: 70px; }

.range80 {
  display: block;
  width: 100%;
  height: 80px; }

.range90 {
  display: block;
  width: 100%;
  height: 90px; }

.range100 {
  display: block;
  width: 100%;
  height: 100px; }

body {
  font-size: 16px; }

p {
  margin-bottom: 0; }

/*-----------------
plan
------------------*/
.btn-plan {
  display: block;
  width: 100%;
  padding: 20px 40px 30px;
  text-decoration: none; }
  @media screen and (max-width: 1199px) {
    .btn-plan {
      padding: 20px 20px 20px; } }
  @media screen and (max-width: 991px) {
    .btn-plan {
      padding: 0 20px 20px; } }
  @media screen and (max-width: 575px) {
    .btn-plan {
      padding: 0px 10px 20px; } }
  .btn-plan > p {
    display: block;
    width: 100%;
    font-size: 1.125rem;
    color: #000;
    text-align: center;
    font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
    position: relative;
    background-color: #fff;
    border: solid 1px #B9B9B9;
    padding: 15px 0; }
    @media screen and (max-width: 767px) {
      .btn-plan > p {
        font-size: 1rem; } }
    .btn-plan > p:after {
      content: "＞";
      position: relative;
      left: 15px; }
  .btn-plan a {
    color: #333; }

/*-----------------
hall-list
------------------*/
.btn-hall {
  display: block;
  width: 100%;
  text-align: center;
  font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
  font-size: 1.125rem;
  border: solid 1px #ccc;
  color: #333;
  background-color: #fff;
  text-decoration: none;
  padding: 15px 0; }
  .btn-hall:hover {
    text-decoration: none;
    color: #333; }
  .btn-hall:after {
    content: "＞";
    position: relative;
    left: 17px; }
  @media screen and (max-width: 767px) {
    .btn-hall {
      font-size: 1rem;
      padding: 13px 0; }
      .btn-hall:after {
        left: 10px; } }

/*-----------------
area
------------------*/
.btn-area {
  border: solid 1px #B9B9B9;
  background-color: #fff;
  font-size: 1.25rem;
  padding: 20px;
  text-decoration: none;
  margin: 10px 0;
  color: #333; }
  .btn-area:after {
    display: inline-block;
    content: "＞";
    position: relative;
    left: 15px;
    color: #333;
    text-decoration: none; }
  .btn-area:hover {
    text-decoration: none;
    color: #333; }
  @media screen and (max-width: 767px) {
    .btn-area {
      font-size: 1rem;
      /*margin: 10px 15px;*/
      padding: 13px;
      display: block; } }
  @media screen and (max-width: 575px) {
    .btn-area {
      margin: 10px 0; } }
  .btn-area a {
    color: #333;
    text-decoration: none; }

/*-----------------
about
------------------*/
.btn-about {
  display: block;
  width: 100%;
  /*line-height: 4.375rem;*/
  text-align: center;
  font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
  border: solid 1px #ccc;
  background-color: #fff;
  position: relative;
  font-size: 1.25rem;
  padding: 20px 0; }
  .btn-about:after {
    display: inline-block;
    content: "＜";
    position: relative;
    left: 19%;
    transform: rotate(-90deg); }
  .btn-about:hover {
    text-decoration: none;
    color: #333; }
  .btn-about a {
    text-decoration: none;
    color: #333; }
  @media screen and (max-width: 767px) {
    .btn-about {
      font-size: 1rem;
      padding: 13px 0; }
      .btn-about:after {
        left: 15px; } }

/*-----------------
faq
------------------*/
.btn-faq {
  border: solid 1px #B9B9B9;
  background-color: #fff;
  font-size: 1.25rem;
  padding: 20px;
  text-decoration: none;
  margin: 0 13px 0 0;
  box-sizing: border-box;
  width: 47%;
  text-align: center; }
  .btn-faq:nth-child(1) {
    margin: 0 13px 0 0; }
    @media screen and (max-width: 1199px) {
      .btn-faq:nth-child(1) {
        margin: 0 5px 5px 0; } }
  .btn-faq:nth-child(2) {
    margin: 0 13px 0 0; }
    @media screen and (max-width: 1199px) {
      .btn-faq:nth-child(2) {
        margin: 0 0 5px; } }
  .btn-faq:nth-child(3) {
    margin: 0 13px 0 0; }
    @media screen and (max-width: 1199px) {
      .btn-faq:nth-child(3) {
        margin: 0 5px 0 0; } }
  .btn-faq:nth-child(4) {
    margin: 0; }
    @media screen and (max-width: 1199px) {
      .btn-faq:nth-child(4) {
        margin: 0; } }
  .btn-faq:after {
    display: inline-block;
    content: "＞";
    position: relative;
    left: 15px;
    transform: rotate(90deg); }
    @media screen and (max-width: 575px) {
      .btn-faq:after {
        display: block;
        left: 0;
        /*margin: 10px 0;*/ } }
  @media screen and (max-width: 767px) {
    .btn-faq {
      font-size: 1rem;
      margin: 10px 15px;
      padding: 13px 10px; } }
  .btn-faq a {
    color: #333;
    text-decoration: none; }

/*-----------------
共通
------------------*/
.btn-arrow-left {
  display: block;
  width: 760px;
  line-height: 3.889;
  text-align: center;
  font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
  border: solid 1px #ccc;
  background-color: #fff;
  position: relative;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  text-decoration: none;
  color: #333; }
  .btn-arrow-left:before {
    content: "＜";
    position: relative;
    right: 17px; }
  .btn-arrow-left:hover {
    text-decoration: none;
    color: #333; }
  .btn-arrow-left a {
    text-decoration: none;
    color: #333; }
  @media screen and (max-width: 991px) {
    .btn-arrow-left {
      width: 100%; } }
  @media screen and (max-width: 767px) {
    .btn-arrow-left {
      height: 50px;
      line-height: 50px;
      /*margin: 10px 20px;
      width: calc(100% - 40px);*/
      font-size: 1rem;
      letter-spacing: 0.05em; }
      .btn-arrow-left:after {
        left: 10px; } }

.btn-arrow-right {
  display: block;
  width: 100%;
  max-width: 760px;
  line-height: 3.889;
  text-align: center;
  font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
  border: solid 1px #ccc;
  background-color: #fff;
  position: relative;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  text-decoration: none;
  color: #333; }
  .btn-arrow-right:after {
    content: "＞";
    position: relative;
    left: 17px; }
  .btn-arrow-right:hover {
    text-decoration: none;
    color: #333; }
  @media screen and (max-width: 767px) {
    .btn-arrow-right {
      height: 50px;
      width: calc(100% - 40px);
      line-height: 50px;
      margin: 10px 20px;
      /*margin: 10px 20px;
      width: calc(100% - 40px);*/
      font-size: 1rem;
      letter-spacing: 0.05em; }
      .btn-arrow-right:after {
        left: 10px; } }

/* Scss Document */
/*-----------------
header
------------------*/
@media screen and (max-width: 991px) {
  header {
    content: "";
    display: block;
    height: 73px;
    width: 100%; } }
header > * {
  z-index: 5000; }

.header-wrap {
  display: block;
  width: 100%; }
  @media screen and (max-width: 991px) {
    .header-wrap {
      position: fixed; }
      .header-wrap .container {
        max-width: 100%; } }
  .header-wrap .nav-row01 {
    display: flex;
    justify-content: center;
    width: 100%;
    background-color: #fff;
    padding: 35px 10px;
    align-items: center; }
    @media screen and (max-width: 991px) {
      .header-wrap .nav-row01 {
        justify-content: space-between;
        height: 53px;
        /*padding: 0 20px 10px;*/
        align-items: center; } }
    .header-wrap .nav-row01 .row {
      padding: 0;
      /*height: 50px;*/
      align-items: center; }
      @media screen and (max-width: 991px) {
        .header-wrap .nav-row01 .row {
          align-items: flex-start;
          width: 100%; } }
    .header-wrap .nav-row01 .logo-wrap {
      display: table;
      height: 100%; }
      .header-wrap .nav-row01 .logo-wrap .logo01 {
        display: table-cell;
        vertical-align: middle;
        /*padding: 5px;*/ }
        .header-wrap .nav-row01 .logo-wrap .logo01 > img {
          width: auto;
          height: 50px;
          /*padding: 0 90px 0 0;*/ }
          @media screen and (max-width: 1399px) {
            .header-wrap .nav-row01 .logo-wrap .logo01 > img {
              height: 30px;
              padding: 0 10px 0 0; } }
          @media screen and (max-width: 991px) {
            .header-wrap .nav-row01 .logo-wrap .logo01 > img {
              height: 33px;
              padding: 0 10px 0 0; } }
      .header-wrap .nav-row01 .logo-wrap .logo01 {
        display: table-cell;
        vertical-align: middle;
        /*padding: 5px;*/ }
        .header-wrap .nav-row01 .logo-wrap .logo01 > img {
          width: auto;
          height: 50px;
          /*padding: 0 90px 0 0;*/ }
          @media screen and (max-width: 1399px) {
            .header-wrap .nav-row01 .logo-wrap .logo01 > img {
              height: 30px;
              padding: 0 10px 0 0; } }
          @media screen and (max-width: 991px) {
            .header-wrap .nav-row01 .logo-wrap .logo01 > img {
              height: 33px;
              padding: 0 10px 0 0; } }
    .header-wrap .nav-row01 .header-topnav {
      display: table;
      /*width: 100%;*/
      height: 100%;
      font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
      line-height: 1.25;
      margin: 0;
      padding-left: 30px; }
      @media screen and (max-width: 1199px) {
        .header-wrap .nav-row01 .header-topnav {
          padding: 0; } }
      .header-wrap .nav-row01 .header-topnav li {
        display: inline-block;
        border-right: solid 1px #ccc;
        padding: 0 0.7em 0; }
        .header-wrap .nav-row01 .header-topnav li:first-child {
          padding: 0 0.7em 0 0; }
        .header-wrap .nav-row01 .header-topnav li:last-child {
          padding: 0 0 0 0.7em;
          border-right: solid 0px #ccc; }
      .header-wrap .nav-row01 .header-topnav-item {
        display: table-cell;
        /*width:(100% / 5);*/
        vertical-align: middle;
        text-align: center;
        font-size: 1.1875rem;
        letter-spacing: 0.03em; }
        @media screen and (max-width: 1399px) {
          .header-wrap .nav-row01 .header-topnav-item {
            font-size: 1.0625rem; } }
        @media screen and (max-width: 1199px) {
          .header-wrap .nav-row01 .header-topnav-item {
            font-size: 0.9375rem; } }
        .header-wrap .nav-row01 .header-topnav-item p {
          display: inline-block;
          margin: 0;
          font-size: 0.875rem; }
        .header-wrap .nav-row01 .header-topnav-item a {
          color: #333;
          text-align: left;
          text-decoration: none; }
    .header-wrap .nav-row01 .header-menu-btn {
      display: block;
      position: absolute;
      right: 20px;
      width: 32px;
      height: 22px; }
      .header-wrap .nav-row01 .header-menu-btn > p {
        /*&:before{
        	content: "メニュー";
        	display: block;
        	width: 100%;
        	text-align: center;
        	font-size: (8rem / $fontsize);
        	position: absolute;
        	bottom: 0;
        }*/ }
      .header-open .header-wrap .nav-row01 .header-menu-btn > p {
        /*&:before{
        	content: "閉じる";
        }*/ }
      .header-wrap .nav-row01 .header-menu-btn > span {
        display: block;
        width: 32px;
        height: 2px;
        position: absolute;
        background-color: #333;
        /*top: 20px;
        left: 12.5px;*/ }
        .header-wrap .nav-row01 .header-menu-btn > span:before {
          content: "";
          display: block;
          width: 32px;
          height: 2px;
          background-color: #333;
          position: absolute;
          top: -10px;
          transition: 0.3s; }
        .header-wrap .nav-row01 .header-menu-btn > span:after {
          content: "";
          display: block;
          width: 32px;
          height: 2px;
          background-color: #333;
          position: absolute;
          top: 10px;
          transition: 0.3s; }
      .header-open .header-wrap .nav-row01 .header-menu-btn > span {
        height: 0px; }
        .header-open .header-wrap .nav-row01 .header-menu-btn > span:before {
          top: 0;
          transform: rotate(45deg); }
        .header-open .header-wrap .nav-row01 .header-menu-btn > span:after {
          top: 0;
          transform: rotate(-45deg); }
  .header-wrap .nav-row02 {
    background-color: #F3F3F3;
    width: 100%;
    /*height: 60px;*/
    padding: 0;
    position: relative;
    z-index: 1000;
    border-bottom: solid 1px #ccc;
    height: 0;
    overflow: hidden; }
    .header-open .header-wrap .nav-row02 {
      display: block;
      background-color: rgba(0, 0, 0, 0.4);
      height: calc(100vh - 50px);
      overflow-y: scroll;
      -ms-overflow-style: none; }
    .header-wrap .nav-row02::-webkit-scrollbar {
      display: none; }
    .header-wrap .nav-row02 .header-nav {
      height: 60px;
      display: flex;
      flex-wrap: nowrap;
      position: relative;
      list-style: none;
      text-align: center;
      font-weight: nomal;
      font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
      padding-left: 0; }
      @media screen and (max-width: 991px) {
        .header-wrap .nav-row02 .header-nav {
          height: auto;
          width: 100%;
          max-width: 375px;
          max-height: 0;
          flex-wrap: wrap;
          background-color: #fff;
          position: absolute;
          right: 0;
          overflow-y: hidden;
          text-align: left;
          transition: 0.3s;
          font-weight: normal; }
          .header-open .header-wrap .nav-row02 .header-nav {
            max-height: calc(100vh - 50px);
            overflow-y: scroll;
            -ms-overflow-style: none; }
            .header-open .header-wrap .nav-row02 .header-nav::-webkit-scrollbar {
              display: none; } }
      .header-wrap .nav-row02 .header-nav > li.header-menu-nav-item {
        flex: 1 1 16.6666666667%;
        height: 100%;
        border-left: solid 1px #ccc; }
        @media screen and (max-width: 991px) {
          .header-wrap .nav-row02 .header-nav > li.header-menu-nav-item {
            flex: 1 1 100%;
            height: auto;
            border-left: none;
            border-bottom: solid 1px #ccc;
            position: relative; }
            .header-wrap .nav-row02 .header-nav > li.header-menu-nav-item:after {
              content: "\f105";
              display: block;
              font-family: "font Awesome 5 free";
              width: 18px;
              height: 18px;
              color: #333;
              background-color: #fff;
              position: absolute;
              top: 18px;
              right: 22px;
              border-radius: 50%;
              border: solid 1px #333;
              font-size: 0.8125rem;
              text-align: center;
              line-height: 18px;
              font-weight: bold; }
            .header-wrap .nav-row02 .header-nav > li.header-menu-nav-item.toggle span {
              display: block;
              width: 30px;
              height: 30px;
              background-color: #333;
              border-radius: 50%;
              position: absolute;
              top: 10px;
              right: 15px;
              pointer-events: none; }
              .header-wrap .nav-row02 .header-nav > li.header-menu-nav-item.toggle span:before {
                content: "";
                display: block;
                background-color: #fff;
                width: 10px;
                height: 1px;
                position: absolute;
                left: 10px;
                top: 15px; }
              .header-wrap .nav-row02 .header-nav > li.header-menu-nav-item.toggle span:after {
                content: "";
                display: block;
                background-color: #fff;
                width: 10px;
                height: 1px;
                position: absolute;
                left: 10px;
                top: 15px;
                transform: rotate(90deg);
                transition: 0.3s; }
            .header-wrap .nav-row02 .header-nav > li.header-menu-nav-item.toggle:after {
              display: none; }
            .header-wrap .nav-row02 .header-nav > li.header-menu-nav-item.toggle.toggle-active span:after {
              transform: rotate(0); } }
        .header-wrap .nav-row02 .header-nav > li.header-menu-nav-item > a {
          display: block;
          height: 100%;
          width: 100%;
          line-height: 60px;
          text-decoration: none;
          color: #333;
          position: relative; }
          @media screen and (max-width: 991px) {
            .header-wrap .nav-row02 .header-nav > li.header-menu-nav-item > a {
              height: 52px;
              padding-left: 20px; } }
          @media screen and (min-width: 992px) {
            .header-wrap .nav-row02 .header-nav > li.header-menu-nav-item > a:hover {
              color: #F6F1E6;
              border-bottom: solid 2px #F6F1E6; } }
        @media screen and (min-width: 992px) {
          .header-wrap .nav-row02 .header-nav > li.header-menu-nav-item:hover > .header-nav-child-wrap {
            display: block;
            padding: 30px 20px;
            max-height: 500px;
            transition: 0.3s; } }
      @media screen and (max-width: 991px) {
        .header-wrap .nav-row02 .header-nav .header-menu-nav-item.toggle-active .header-nav-child-wrap {
          display: block;
          max-height: 500px;
          padding: 10px;
          transition: 0.3s; }
        .header-wrap .nav-row02 .header-nav .header-bnr {
          width: 100%;
          padding: 10px; }
          .header-wrap .nav-row02 .header-nav .header-bnr > a {
            display: block;
            margin: 10px; }
            .header-wrap .nav-row02 .header-nav .header-bnr > a img {
              width: 100%; } }
    .header-wrap .nav-row02 .header-close {
      display: none; }
      .header-open .header-wrap .nav-row02 .header-close {
        display: block;
        width: 100%;
        max-width: 375px;
        height: 50px; }
      .header-wrap .nav-row02 .header-close .header-close-btn {
        display: block;
        width: 100%;
        max-width: 375px;
        height: 50px;
        background-color: #666;
        color: #fff;
        /*position: fixed;*/
        bottom: 0;
        right: 0;
        line-height: 50px;
        text-align: center; }
        .header-wrap .nav-row02 .header-close .header-close-btn > span {
          display: inline-block;
          width: 20px;
          height: 20px;
          border-radius: 50%;
          background-color: #fff;
          position: relative;
          top: 3px;
          right: 10px; }
          .header-wrap .nav-row02 .header-close .header-close-btn > span:after {
            content: "";
            display: block;
            width: 8px;
            height: 1px;
            background-color: #666;
            transform: rotate(-45deg);
            position: absolute;
            top: 10px;
            left: 6px; }
          .header-wrap .nav-row02 .header-close .header-close-btn > span:before {
            content: "";
            display: block;
            width: 8px;
            height: 1px;
            background-color: #666;
            transform: rotate(45deg);
            position: absolute;
            top: 10px;
            left: 6px; }

.modal-open header * {
  z-index: 1000; }

/* Scss Document */
/*-----------------
header-nav
------------------*/
.header-fixed {
  /* display: block; */
  /* width: 100%; 
  height: 120px;*/
  position: fixed;
  bottom: 7%;
  right: 30px;
  z-index: 100000; }
  @media screen and (max-width: 575px) {
    .header-fixed {
      width: 100%;
      right: 0;
      bottom: 0; } }
  .header-fixed a {
    text-decoration: none; }
  .header-fixed .tag {
    display: block;
    width: 150px;
    height: 150px;
    color: #fff;
    background-color: #CB90A4;
    background: rgba(203, 144, 164, 0.9);
    border-radius: 50%;
    /*position: absolute;
    top: -10px;
    left: 10px;*/
    text-align: center;
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: 0.05em;
    padding: 30px 0;
    -webkit-filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));
    -moz-filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));
    -ms-filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));
    filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3)); }
    @media screen and (max-width: 991px) {
      .header-fixed .tag {
        width: 130px;
        height: 130px;
        font-size: 1.125rem; } }
    @media screen and (max-width: 575px) {
      .header-fixed .tag {
        line-height: 1.111;
        border-radius: 0;
        width: 100%;
        text-align: center;
        height: 50px;
        display: flex;
        justify-content: center;
        align-items: center; } }
    .header-fixed .tag:after {
      content: "＞";
      position: relative;
      display: block;
      top: 10px; }
      @media screen and (max-width: 575px) {
        .header-fixed .tag:after {
          display: inline-block;
          left: 40px;
          top: 0; } }

/* Scss Document */
/*-----------------
footer
------------------*/
footer {
  position: relative;
  background-color: #f3f3f3; }
  @media screen and (max-width: 575px) {
    footer {
      margin-bottom: 50px; } }
  footer .footer-nav {
    display: block;
    width: 100%;
    border-top: solid 2px #ccc;
    font-size: 1rem;
    line-height: 2.375rem; }
    footer .footer-nav > .container > .row {
      border-bottom: solid 1px #ccc;
      border-top: solid 1px #ccc;
      padding: 30px 0; }
    footer .footer-nav > .container a {
      color: #333;
      text-decoration: none; }
      footer .footer-nav > .container a:before {
        content: "＞";
        padding: 0 1em 0 0; }
      footer .footer-nav > .container a.link {
        letter-spacing: -0.05em; }
        footer .footer-nav > .container a.link:after {
          content: "\f35d";
          font-family: "font Awesome 5 free";
          font-weight: bold;
          color: #333;
          font-size: 80%;
          position: relative;
          top: -2px;
          left: 4px; }
footer .footer-nav > .container a.petkuyou-link {
	text-decoration: underline;
}
      footer .footer-nav > .container a.petkuyou-link:before {
        content: none; }
    footer .footer-nav .footer-logo {
      display: flex;
      justify-content: left;
      margin: 30px 0 20px; }
      footer .footer-nav .footer-logo img {
        max-width: 25%; }
      @media screen and (max-width: 767px) {
        footer .footer-nav .footer-logo {
          justify-content: center;
          margin: 15px 0 10px; }
          footer .footer-nav .footer-logo img {
            max-width: 38%; } }
  footer .copyrights-wrap {
    text-align: center;
    padding-top: 5px;
    font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
    font-size: 1rem;
    padding: 20px 0 30px; }
    @media screen and (max-width: 767px) {
      footer .copyrights-wrap {
        padding: 10px 0 15px; } }

/* Scss Document */
/*-----------------
area-bnr
------------------*/
#area-bnr {
  background-color: #F6F1E6;
  margin: 0 auto;
  background-image: url("../../top/img/img_bg_01.png");
  background-repeat: no-repeat;
  background-position: bottom 10% right 0%;
  background-size: 375px;
  padding: 0 15px; }
  @media screen and (max-width: 1199px) {
    #area-bnr {
      background-position: top 10% right 0%; } }
  @media screen and (max-width: 767px) {
    #area-bnr {
      background-size: 45%;
      background-position: top 10% right 0%; } }
  @media screen and (max-width: 575px) {
    #area-bnr {
      background-position: top 13% right 6%; } }
  #area-bnr h2 {
    font-size: 1.875rem;
    line-height: 2.333;
    font-family: ten-mincho-text, "Hiragino Mincho ProN", "serif";
    text-align: center;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 991px) {
      #area-bnr h2 {
        font-size: 1.375rem; } }
    @media screen and (max-width: 767px) {
      #area-bnr h2 {
        font-size: 1.125rem;
        text-align: left;
        line-height: 1.667;
        letter-spacing: 0.05em; } }

/* Scss Document */
/*-card　2カラム・4カラム共通部分-*/
@media screen and (min-width: 576px) {
  #card-list .card-list-wrap {
    margin: auto -15px; } }
@media screen and (min-width: 576px) {
  #card-list .card-list-wrap > div {
    padding: 0 10px 20px; } }
@media screen and (min-width: 576px) {
  #card-list .card-list-wrap > div.col-sm-6 {
    flex: 1 1 calc(50% - 30px); } }
@media screen and (min-width: 992px) {
  #card-list .card-list-wrap > div.col-lg-3 {
    flex: 1 1 calc(25% - 30px); } }
#card-list .card-list-wrap .card-list-item {
  display: block;
  width: 100%;
  position: relative;
  text-decoration: none;
  overflow: hidden; }
  @media screen and (max-width: 991px) {
    #card-list .card-list-wrap .card-list-item {
      margin: 15px auto; } }
  @media screen and (max-width: 575px) {
    #card-list .card-list-wrap .card-list-item {
      /*margin: 0 5px 15px;
      width: calc(100% - 10px);*/ } }
  #card-list .card-list-wrap .card-list-item.plan01 {
    background-color: #CB90A4; }
    #card-list .card-list-wrap .card-list-item.plan01 .btn-wrap > p:after {
      color: #CB90A4; }
  #card-list .card-list-wrap .card-list-item.plan02 {
    background-color: #D5C08A; }
    #card-list .card-list-wrap .card-list-item.plan02 .btn-wrap > p:after {
      color: #D5C08A; }
  #card-list .card-list-wrap .card-list-item.plan03 {
    background-color: #AEC48C; }
    #card-list .card-list-wrap .card-list-item.plan03 .btn-wrap > p:after {
      color: #AEC48C; }
  #card-list .card-list-wrap .card-list-item.plan04 {
    background-color: #82A4C1; }
    #card-list .card-list-wrap .card-list-item.plan04 .btn-wrap > p:after {
      color: #82A4C1; }
  #card-list .card-list-wrap .card-list-item > img {
    width: 100%; }
#card-list .lead-text {
  font-size: 1.375rem;
  text-align: center; }
  @media screen and (max-width: 767px) {
    #card-list .lead-text {
      font-size: 1rem; } }
#card-list .card-item-text-wrap {
  display: block;
  width: 100%;
  font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
  text-align: center;
  color: #fff;
  /*-plan　2カラム用（テキスト部分）ここから-*/
  /*-plan　2カラム用（テキスト部分）ここまで-*/
  /*-plan　4カラム用（テキスト部分）ここから-*/
  /*-plan　4カラム用（テキスト部分）ここまで-*/ }
  #card-list .card-item-text-wrap .plan-name {
    font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
    font-size: 1.875rem;
    /*line-height: 3.5;*/
    margin: 30px 40px 20px;
    border-bottom: solid 1px;
    padding: 0 0 20px;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 991px) {
      #card-list .card-item-text-wrap .plan-name {
        font-size: 1.625rem;
        margin: 20px 30px 36px; } }
    @media screen and (max-width: 575px) {
      #card-list .card-item-text-wrap .plan-name {
        font-size: 1.375rem;
        margin: 20px 36px;
        padding: 0 0 15px; } }
    @media screen and (max-width: 991px) {
      #card-list .card-item-text-wrap .plan-name span {
        letter-spacing: 0; } }
    @media screen and (max-width: 575px) {
      #card-list .card-item-text-wrap .plan-name span {
        letter-spacing: 0.1em; } }
  #card-list .card-item-text-wrap > div {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0; }
    @media screen and (max-width: 767px) {
      #card-list .card-item-text-wrap > div {
        margin: 0 0 20px 10%; } }
    #card-list .card-item-text-wrap > div .main-text {
      padding: 10px 0;
      color: #333;
      background-color: #fff;
      width: 39%;
      font-size: 1.25rem;
      line-height: 1.45; }
      @media screen and (max-width: 991px) {
        #card-list .card-item-text-wrap > div .main-text {
          width: 38%;
          padding: 8px 0;
          font-size: 1.125rem;
          line-height: 1.44; } }
      @media screen and (max-width: 767px) {
        #card-list .card-item-text-wrap > div .main-text {
          font-size: 0.875rem;
          width: 42%;
          line-height: 1.429;
          padding: 6px 0; } }
    #card-list .card-item-text-wrap > div .plan-price {
      display: block;
      position: relative;
      font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
      font-size: 2.875rem;
      /*line-height: 1.913;*/
      width: 44%;
      text-align: right;
      letter-spacing: 0.05em;
      font-weight: 500; }
      @media screen and (max-width: 1199px) {
        #card-list .card-item-text-wrap > div .plan-price {
          width: 50%; } }
      @media screen and (max-width: 991px) {
        #card-list .card-item-text-wrap > div .plan-price {
          width: 50%;
          font-size: 2rem;
          line-height: 1.913; } }
      @media screen and (max-width: 575px) {
        #card-list .card-item-text-wrap > div .plan-price {
          font-size: 1.75rem;
          width: 50%;
          /*line-height: 2.286;*/
          text-align: left;
          padding: 0 0 0 15px; } }
      #card-list .card-item-text-wrap > div .plan-price .unit {
        display: inline-block;
        font-size: 1.625rem;
        position: relative;
        line-height: 3.385;
        height: 24px;
        letter-spacing: 0.05em; }
        @media screen and (max-width: 1199px) {
          #card-list .card-item-text-wrap > div .plan-price .unit {
            font-size: 1.4375rem;
            line-height: 3.2; } }
        @media screen and (max-width: 767px) {
          #card-list .card-item-text-wrap > div .plan-price .unit {
            font-size: 1.25rem;
            line-height: 3; } }
      #card-list .card-item-text-wrap > div .plan-price .long {
        width: 49%; }
        @media screen and (max-width: 767px) {
          #card-list .card-item-text-wrap > div .plan-price .long {
            width: 50%; } }
  #card-list .card-item-text-wrap .plan-name-col4 {
    font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
    font-size: 1.25rem;
    line-height: 1.2;
    margin: 20px 15px;
    border-bottom: solid 1px;
    padding: 0 0 10px; }
    @media screen and (max-width: 991px) {
      #card-list .card-item-text-wrap .plan-name-col4 {
        font-size: 1.625rem;
        margin: 20px 30px 36px; } }
    @media screen and (max-width: 767px) {
      #card-list .card-item-text-wrap .plan-name-col4 {
        font-size: 1.375rem;
        margin: 20px;
        padding: 0 0 15px; } }
  #card-list .card-item-text-wrap > div.col4 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 20px 0; }
    @media screen and (max-width: 1199px) {
      #card-list .card-item-text-wrap > div.col4 {
        margin: 0; } }
    @media screen and (max-width: 767px) {
      #card-list .card-item-text-wrap > div.col4 {
        margin: 0 5% 20px;
        justify-content: space-between; } }
  #card-list .card-item-text-wrap > div .main-text-col4 {
    padding: 3px 10px;
    color: #333;
    background-color: #fff;
    width: 44%;
    font-size: 1rem;
    line-height: 1.25rem;
    white-space: nowrap; }
    @media screen and (max-width: 1199px) {
      #card-list .card-item-text-wrap > div .main-text-col4 {
        text-align: center;
        font-size: 1.125rem; } }
    @media screen and (max-width: 767px) {
      #card-list .card-item-text-wrap > div .main-text-col4 {
        font-size: 0.8125rem;
        width: 52%;
        padding: 5px 0; } }
  #card-list .card-item-text-wrap > div .plan-price-col4 {
    display: block;
    position: relative;
    font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
    font-size: 1.375rem;
    line-height: 1.1;
    padding: 0 0 0 10px;
    width: 42%;
    text-align: right;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 1199px) {
      #card-list .card-item-text-wrap > div .plan-price-col4 {
        width: 50%;
        font-size: 2rem; } }
    @media screen and (max-width: 767px) {
      #card-list .card-item-text-wrap > div .plan-price-col4 {
        font-size: 1.75rem;
        width: auto;
        padding: 0; } }
    #card-list .card-item-text-wrap > div .plan-price-col4 .unit {
      display: inline-block;
      font-size: 1rem;
      position: relative;
      line-height: 24px;
      height: 24px; }
    @media screen and (max-width: 767px) {
      #card-list .card-item-text-wrap > div .plan-price-col4 .long {
        letter-spacing: 0em; } }

/* 20230628_TK追記 */
#card-list-bg {
  background-color: #F6F1E6; }
  @media screen and (max-width: 767px) {
    #card-list-bg {
      padding: 0 15px !important; } }
  #card-list-bg h2.h2 {
    text-align: center;
    letter-spacing: 0.1em; }
    #card-list-bg h2.h2 span {
      margin-left: 1em; }
    @media screen and (max-width: 575px) {
      #card-list-bg h2.h2 {
        font-size: 1.375rem;
        text-align: left !important;
        line-height: 1.667;
        letter-spacing: 0.05em; }
        #card-list-bg h2.h2 span {
          margin-left: 0; } }
    @media screen and (max-width: 767px) {
      #card-list-bg h2.h2 {
        font-size: 1.875rem; } }
    @media screen and (max-width: 991px) {
      #card-list-bg h2.h2 {
        font-size: 1.375rem; } }
  @media screen and (max-width: 767px) {
    #card-list-bg .btn-arrow-right.btn-card-list {
      margin-bottom: 0; } }
