@charset "UTF-8";

@media screen and (min-width: 540px) {}

@media screen and (min-width: 640px) {}

@media screen and (min-width: 782px) {}

@media screen and (min-width: 980px) {}



/* Repeatable Patterns
------------------------------------------------------------ */
/* Alignments */
.aligncenter,
.alignleft,
.alignright {
  margin-bottom: 1.6rem;
}

.alignleft {
  margin-right: 1.6rem;
}

.alignright {
  margin-left: 1.6rem;
}

/* Caption */
.wp-caption {
  margin-bottom: 1.6rem;
  font-size: 95%;
}

.wp-caption img[class*="wp-image-"] {
  margin: 0.4rem auto 0;
}

.wp-caption .wp-caption-text {
  margin: 0.8rem 0;
}




/* Content
------------------------------------------------------------ */
/* Category */
.cat-links {
  margin-bottom: 0.8rem;
}

/* Entry Header */
/*
 1,カスタマイズ設定で"ブログ設定"で"全文", "概要"を選択したときのentry-title。
 2,投稿の個別(single.php)のentry-title。
*/
.entry-title {
  letter-spacing: 0;
}

/* Entry Meta */
.entry-meta {
  margin-top: 0.8rem;
}

/* Featured Image */
.post-thumbnail {
  margin-bottom: 1.6rem;
}

/* Post Full / Post Summary */
/* カスタマイズ設定で"ブログ設定"で"全文", "概要"を選択したとき */
.post-full::after,
.post-summary::after {
  width: 48px;
}

/* Post Grid */
/* カスタマイズ設定で"ブログ設定"で"2カラム", "3カラム"を選択したとき */
.post-grid .entry-header {
  margin-bottom: 0.8rem;
}

/* Post List */
/* カスタマイズ設定で"ブログ設定"で"リスト"を選択したとき */
.post-list .entry-header {
  margin-bottom: 1.6rem;
}

/* Archive */
.page-title {
  margin-bottom: 0.8rem;
}

/* 404 */
.error-404 {
  margin-bottom: 9.6rem;
  margin-top: 9.6rem;
}

/* Gallery */
.gallery {
  margin-bottom: 3.2rem;
}

/* Content
------------------------------------------------------------ */
/* Sub Header */
.subheader {
  margin-bottom: 0.8rem;
}




/* Widgets
------------------------------------------------------------ */
/* Heading */
.widget-title {
  letter-spacing: 0;
  margin-bottom: 2.0rem;
}

/* List */
.widget li {
  margin-bottom: 1.2rem;
}

.widget ul ul {
  margin-left: 1.2rem;
  margin-top: 1.2rem;
}

/* Recent Posts */
.widget_recent_entries li {
  margin-bottom: 1.6rem;
}

/* Search */
.widget_search input[type="search"] {
  max-width: 100%;
}

/* Tag Cloud */
.tagcloud a {
  padding: 4px 12px;
}

/* Calendar */
.widget_calendar table {
  max-width: 100%;
}

.widget_calendar td,
.widget_calendar th {
  display: table-cell;
}

/* BusinessPress Recent Posts */
.widget_businesspress_recent_posts li {
  margin-bottom: 1.6rem;
}

/* BusinessPress Featured Posts */
.featured-widget-entry {
  margin-bottom: 1.6rem;
}

.featured-widget-entry-title {
  font-size: 110%;
}

/* BusinessPress Profile */
.profilewidget-wrapper {
  margin-bottom: 2.4rem;
}


/* Footer
------------------------------------------------------------ */
/* Footer */
.footer-navigation ul {
  margin-bottom: 3.2rem;
}

.footer-navigation li {
  margin-right: 1.6rem;
}

.footer-social-link {
  margin-bottom: 2.4rem;
}

.site-copyright,
.site-credit {
  margin-bottom: 0;
}


/* Plugins
------------------------------------------------------------ */
/* Contact Form 7 */
/* Table */
@media screen and (min-width: 640px) {
  .wpcf7 table {
    table-layout: fixed;
  }

  .wpcf7 table th {
    width: 35%;
  }
}

/* Form */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="password"],
.wpcf7 input[type="search"],
.wpcf7 textarea,
.wpcf7 select {
  margin: 0;
  padding: 0.8rem;
  max-width: 100%;
  width: 100%;
  font-size: 100%;
}

.wpcf7 select {
  border-radius: 0;
  color: #777;
}

.wpcf7 input[type="submit"] {
  margin: 0 auto 2.4rem;
  padding: 1.6rem 2.4rem;
  min-width: 240px;
  font-size: 100%;
  line-height: 1;
  font-weight: bold;
  border-radius: 0;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 6px;
}

/* 必須・任意 */
.required,
.optional {
  margin: 0;
  margin-left: 4px;
  padding: 0.4rem 0.8rem;
  display: inline-block;
  text-align: center;
  font-weight: normal;
  vertical-align: baseline;
  font-size: 85%;
  line-height: 1;
}

/* 必須のカラー */
.required {
  background-color: rgba(202, 92, 98, 1);
  /* #CA5C62 */
  color: rgba(255, 255, 255, 1);
  /* #ffffff */
}

/* 任意のカラー */
.optional {
  background-color: rgba(72, 185, 74, 1);
  /* #48b94a */
  color: rgba(255, 255, 255, 1);
  /* #ffffff */
}

/* フォーム入力に関するヒントのテキスト */
.form-hinttext {
  margin: 0;
  padding: 0.4rem 0.4rem 0;
  display: block;
  color: rgba(153, 153, 153, 1);
  /* #999999 */
  font-size: 90%;
  line-height: 1.4;
}

/* 必須項目に入力が無いときのinputの下に表示されるエラーメッセージ */
span.wpcf7-not-valid-tip {
  margin-top: 0.4rem;
  padding: 0.4rem 0.8rem;
  background-color: rgba(242, 222, 222, 1);
  /* #F2DEDE */
  border-color: rgba(227, 191, 191, 1);
  /* #e3bfbf */
  color: rgba(185, 74, 72, 1);
  /* #b94a48 */
  font-size: 90%;
}

.your-msg .wpcf7-not-valid-tip {
  margin-top: -0.2rem;
}

/* 送信前のご注意 */
.submit-caution {
  margin-bottom: 2.4rem;
  padding: 1.6rem 1.6rem;
  background-color: rgba(242, 222, 222, 1);
  /* #F2DEDE */
}

.submit-caution h3 {
  margin-bottom: 0.8rem;
  font-size: 105%;
}

.submit-caution ul {
  margin: 0 0 0.8rem 2.4rem;
}

.submit-caution a {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .submit-caution ul {
    margin-left: 1.6rem;
  }
}

/* Checkbox */
.submit-acceptance {
  padding-top: 0.8rem;
  border-top: dotted 1px rgba(153, 153, 153, 1);
  /* #999999 */
  font-size: 100%;
}

.submit-acceptance .wpcf7-form-control-wrap {
  display: block;
}

.submit-acceptance .wpcf7-list-item {
  margin: 0;
}

.submit-acceptance input[type=checkbox] {
  display: none;
}

.submit-acceptance .wpcf7-list-item-label {
  padding-left: 2.4rem;
  position: relative;
  font-weight: bold;
}

.submit-acceptance .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  width: 1.6rem;
  height: 1.6rem;
  border: 1px solid rgba(153, 153, 153, 1);
  /* #999999 */
}

.submit-acceptance input[type=checkbox]:checked+.wpcf7-list-item-label {
  color: rgba(17, 17, 17, 1);
  /* #111111 */
}

.submit-acceptance input[type=checkbox]:checked+.wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 4px;
  width: 6px;
  height: 12px;
  transform: rotate(45deg);
  border-bottom: 3px solid rgba(51, 51, 51, 1);
  /* #333333 */
  border-right: 3px solid rgba(51, 51, 51, 1);
  /* #333333 */
}

/* 送信結果のメッセージ文章(送信ボタンの下) デフォルトデザイン*/
.wpcf7 form .wpcf7-response-output {
  margin: 0 auto;
  padding: 0.8rem;
  background-color: rgba(222, 222, 242, 1);
  /* #dedef2 */
  border-color: rgba(191, 191, 227, 1);
  /* #bfbfe3 */
  color: rgba(74, 72, 185, 1);
  /* #4a48b9 */
  font-size: 105%;
}

/* 送信結果のメッセージ文章(送信ボタンの下) エラーの時 */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  background-color: rgba(242, 222, 222, 1);
  /* #F2DEDE */
  border-color: rgba(227, 191, 191, 1);
  /* #e3bfbf */
  color: rgba(185, 74, 72, 1);
  /* #b94a48 */
}

/* 送信結果のメッセージ文章(送信ボタンの下) 送信成功の時 */
.wpcf7 form.sent .wpcf7-response-output {
  background-color: rgba(222, 242, 222, 1);
  /* #def2de */
  border-color: rgba(191, 227, 191, 1);
  /* #bfe3bf */
  color: rgba(72, 185, 74, 1);
  /* #48b94a */
}

.wpcf7 .ajax-loader,
.wpcf7-spinner {
  margin: 0 auto;
  display: block;
}

/* Swiper Slider 7.0.1ver */
.swiper {
  overflow: hidden;
  position: relative;
}

/*
  画面の高さいっぱいに表示させる
  calc(100vh - ○○px) ←ヘッダーの高さを入力する
*/

/* 前ページボタン・次ページボタン */
.swiper-button-prev {
  left: 12px;
}

.swiper-button-next {
  right: 12px;
}

.swiper-button-next,
.swiper-button-prev {
  width: 32px;
  height: 32px;
  line-height: 32px;
  border-radius: 50%;
  background-color: rgba(148, 97, 142, 1);
  /* #94618E */
}

.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 16px;
}

/* ページネーション */
.swiper-container-horizontal>.swiper-pagination-bullets {
  bottom: 1.6rem;
}

.swiper-pagination-bullet {
  width: 1.0rem;
  height: 1.0rem;
  opacity: 1;
  background-color: rgba(68, 68, 68, 1);
  /* #444444 */
}

.swiper-pagination-bullet-active {
  background-color: rgba(255, 255, 255, 1);
  /* #FFFFFF */
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-button-next,
.swiper-button-prev {
  color: rgba(255, 255, 255, 1);
  /* #FFFFFF */
}

/* Breadcrumb NavXT */
.breadcrumbs {
  margin-bottom: 4.0rem;
  border-bottom: solid 1px rgba(238, 238, 238, 1);
  /* #EEEEEE */
}

.breadcrumbs a {
  text-decoration: none;
}

/* Original
------------------------------------------------------------ */
/* Layout */
/*
 固定ページをCSSで、幅100%に設定しているので、
 max-widthが必要なときに使用する
*/
.width800,
.width880,
.width960,
.width1040,
.width1120 {
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

.width800 {
  max-width: 800px;
}

.width880 {
  max-width: 880px;
}

.width960 {
  max-width: 960px;
}

.width1040 {
  max-width: 1040px;
}

.width1120 {
  max-width: 1120px;
}

@media screen and (min-width: 782px) {

  .width800,
  .width880,
  .width960,
  .width1040,
  .width1120 {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* flex
  <div class="flexbox flexbox-col2 flex-">
    <div class="flex-item">

    </div>< !-- .flex-item end -->

    <div class="flex-item">
    </div>< !-- .flex-item end -->
  </div>< !-- .flexbox end -->
*/
.flexbox {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  gap: 0rem;
}

.flex-item {
  margin: 0;
}

.flexbox-col2 .flex-item,
.flexbox-col3 .flex-item {
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
}

.flexbox-col4 .flex-item {
  -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
  flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
}

@media screen and (min-width: 540px) {
  .flexbox-col3 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
  }
}

@media screen and (min-width: 782px) {
  .flexbox {
    gap: 0rem;
  }

  .flexbox-col2 .flex-item,
  .flexbox-col4 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(32px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(32px / 4) * 2));
  }

  .flexbox-col3 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 3) - calc(calc(32px / 6) * 4));
    flex-basis: calc(calc(100% / 3) - calc(calc(32px / 6) * 4));
  }
}

@media screen and (min-width: 980px) {
  .flexbox {
    gap: 0rem;
  }

  .flexbox-col2 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(40px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(40px / 4) * 2));
  }

  .flexbox-col3 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 3) - calc(calc(40px / 6) * 4));
    flex-basis: calc(calc(100% / 3) - calc(calc(40px / 6) * 4));
  }

  .flexbox-col4 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 4) - calc(calc(40px / 8) * 6));
    flex-basis: calc(calc(100% / 4) - calc(calc(40px / 8) * 6));
  }
}

/* Button */
a.btn {
  margin: 3.2rem 0 0;
  padding: 1.6rem 2.4rem;
  display: inline-block;
  min-width: calc(240px - 50px);
  /* 左右のpadding + 左右のborder */
  font-weight: bold;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 6px;
  border: solid 1px rgba(197, 160, 90, 1);
  /* #c5a05a */
  border-radius: 24px;
}

a.btn::after {
  margin-left: 0.8rem;
  font-family: FontAwesome;
  content: '\f178';
}

/* iframe */
/*
iframeで埋め込むEmbedな動画を画面いっぱいにCSSだけでレスポンシブ対応で表示
*/
.embed-container {
  padding-top: 56.25%;
  position: relative;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Image*/
/*
  CSS だけで画像縦横比を維持したレスポンシブ対応
  <div class="aspect-group">
    <div class="aspect-bgimage" style="background-image: url(画像のURL)"></div>
  </div><!-- .aspect-group end -->
*/
.aspect-group-tate {
  margin: 0 auto;
  max-width: 280px;
  text-align: center;
}

.aspect-bgimage {
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  /*padding-top: 62.5%;*/
  /* 8:5(黄金比) */
  /*padding-top: 57.14%;*/
  /* 7:4(白銀比) */
  /*padding-top: 33.33%;*/
  /* 9:3(青銅比) */
  /*padding-top: 75%;*/
  /* 4:3 */
  padding-top: 66.66%;
  /* 3:2 */
  /*padding-top: 56.25%;*/
  /* 16:9 */
  /*padding-top: 50%;*/
  /* 2:1 */
  /*padding-top: 100%;*/
  /* 1:1 */
  width: 100%;
}

.aspect-group-tate .aspect-bgimage {
  padding-top: 150%;
  /* 2:3 */
}

@media screen and (min-width: 540px) {
  .aspect-group-tate {
    max-width: 90%;
  }
}

@media screen and (min-width: 782px) {
  .aspect-group-tate {
    max-width: 80%;
  }
}

@media screen and (min-width: 980px) {
  .aspect-group-tate {
    max-width: 70%;
  }
}

.overlay {
  position: absolute;
  margin: 0;
  padding: 0;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  /* #000000 */
  z-index: 2;
}

/* video */
.video-group {
  margin: 0 auto 2.4rem;
  width: 100%;
  text-align: center;
}

.video-group video {
  width: 100%;
}

@media screen and (min-width: 540px) {
  .video-group {
    max-width: 80%;
  }
}

@media screen and (min-width: 980px) {
  .video-group {
    max-width: 800px;
  }
}

/* Other */
.margin-bottom0 {
  margin-bottom: 0;
}

.transition {
  transition: all .15s ease-in-out;
}

.transition02 {
  transition: 0.5s ease-in-out;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.font-normal {
  font-weight: normal;
}

.font-bold {
  font-weight: bold;
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

.tatetext {
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.color-red {
  color: rgba(202, 92, 98, 1);
  /* #CA5C62 */
  border-bottom: solid 1px rgba(202, 92, 98, 1);
  /* #CA5C62 */
  font-weight: bold;
}

.text-uppercase {
  text-transform: uppercase;
  /* 全ての文字を大文字にする */
}

.text-capitalize {
  text-transform: capitalize;
  /* 単語の先頭文字を大文字にする */
}

.letter-spacing2px {
  letter-spacing: 2px;
}

.text-indent2px {
  text-indent: 2px;
}

.box-shadow {
  box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 6px;
}

.text-shadow {
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}

.border-radius8 {
  border-radius: 8px;
}

.border-radius16 {
  border-radius: 16px;
}

.border-radius24 {
  border-radius: 24px;
}

.border-radius50 {
  border-radius: 50%;
}

.sp-block {
  display: block;
}

.display-pc-block {
  display: none !important;
}
.display-sp-block {
  display: block !important;
}

.pc-block {
  display: none;
}
@media screen and (min-width: 540px) {
  .sp-block {
    display: none;
  }

  .pc-block {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .display-sp-block {
    display: none !important;
  }

  .display-pc-block {
    display: block !important;
  }
}

body #wpmem_login .link-text,
body #rememberme,
body .button_div label
{
  display: none !important;
}
body #wpmem_login {
  width: 100% !important;
}
body #wpmem_login .button_div {
  text-align: center !important;
}