/*
Theme Name: 多業種対応HPシステム(CMSテーマ)【Hide Professional Theme】ITツールNo:TL29-0042726
Theme URI:     https://yamato.studio/package/
Author: 株式会社大和(Yamato)
Author URI: https://yamato.studio/
Description: CMS(Wordpress)のスクラッチテーマです。 CMSホームページ導入により売上アップおよび業務効率化が可能です。（既存顧客の維持、新規顧客獲得、エンドユーザー様の利便性の向上、売上向上、顧客管理）ブログやホームページ内の更新はもちろん、メールフォームの追加や編集、予約機能の切り替え、受発注処理を行うことのできるパッケージテーマです。 お客様のビジョンを明確にし、目標設定、ブランディングからペルソナデザインまで行い、お客様にとっての最良のホームページという24時間不眠不休で働く営業マンを作成いたします。 それによりPRやお問合せ受付、社内でのお知らせによる情報共有、予約スケジュール、顧客管理と生産性を向上させます。 下記内容がサーバーにアップしテーマを有効化した状態で行いますので、すぐに運用を開始できます。 ・ブログの更新、お知らせの更新、ページ内の更新は、プログラムの言語が分からなくても直感的に行えます。 ・情報をカテゴリーごとに分けユーザーがほしい情報にたどりつきやすくなっております。 ・管理画面内で使用、不使用を選択できるので今後の展開も視野に入れてお使いいただけます。 ・メール機能も簡単にカスタマイズできるのでお問合せ以外に受注発注の処理も一貫して行うことができます。 ・メールにて収集したメールアドレスを管理することも可能です。 ・お客様の声など、現場の声をより簡単に更新が行えます ・タイムスケジュール、カレンダーの同期も行えます。
Version: 1.0.2
*/ :root {
  --main: #333333;
  --sub: #333333;
  --gray: #939393;
  --gray2: #F8F8F8;
  --gray3: #333333;
  --bgw: #FFFFFF;
  --fcw: #FFFFFF;
  --mocha: #5e3d2e;
  --gradation: linear-gradient(to right, #FACB05, #FF7600);
      --gra_orange: linear-gradient(#f9bf73, #f2984b);
  --shadow: 0 3px 10px rgba(0, 0, 0, .16);
  --shadow2: 0px 5px 11px rgba(0, 0, 0, .16);
  --shadow2: 0px 3px 6px rgba(0, 0, 0, .16);
  --noto: "小塚ゴシック Pro", "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  --os: "Oswald", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  --msd: 'Mrs Saint Delafield', cursive, "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  --poppins: "Poppins", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  --fz0: 1.2rem;
  --fz1: 1.4rem;
  --fz2: 1.6rem;
  --fz3: 1.8rem;
  --fz4: 2.4rem;
  --fz5: 3.6rem;
  --fz6: 20.0rem;
}



body {
  background: #EFE8E2;
  color: var(--main);
  /*font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;*/
  font-family: var(--poppins);
  font-size: 1.8rem;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.6rem;
  }
}
.os {
  font-family: var(--os);
}
.msd {
  font-family: var(--msd);
}
/* 背景色 */
.bg_gray {
  background-color: var(--gray2);
}
.bg_w {
  background-color: var(--bgw);
}
/* アコーディオン */
.acMenu > dd {
  display: none;
}
/* ------------------------------------------------------------------------- *
 *  WordPressのネイティブcss
/* ------------------------------------------------------------------------- */
.blog_article_area p {
  display: block;
  margin: 1em 0;
}
.blog_article_area h1, h2, h3, h4, h5, h6, ul, li, img, table, tr, th, td, dl, dt, dd {
  font-weight: normal;
  margin: 0px;
  padding: 0px;
  border: none;
  list-style-type: none;
}
.blog_article_area strong {
  font-weight: bold;
}
.blog_article_area em {
  font-style: italic;
}
.blog_article_area blockquote {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 40px;
  -webkit-margin-end: 40px;
}
/*  base : img
/* ------------------------------------ */
.blog_article_area .aligncenter {
  display: block;
  margin: 0 auto;
}
.blog_article_area .alignright {
  float: right;
}
.blog_article_area .alignleft {
  float: left;
}
img[class*="wp-image-"], .blog_article_area img[class*="attachment-"] {
  max-width: 100%;
  height: auto;
}
.breadcrumb {
  white-space: nowrap;
  overflow: hidden;
}
/* ------------------------------------------------------------------------- *
 *  WP-PageNavi
/* ------------------------------------------------------------------------- */
.wp-pagenavi {
  display: flex;
  justify-content: center;
}
.wp-pagenavi span, .wp-pagenavi a {
  display: inline-block;
  min-width: 28px;
  padding: 0 2px;
  margin: 0 6px;
  text-align: center;
  border: 1px solid #000;
  font-size: 1.6rem;
  line-height: 32px;
}
.wp-pagenavi .pages {
  padding: 0 10px;
}
.wp-pagenavi .current {
  font-weight: bold;
  background-color: #ccc;
}
/* CSS Document */
.site_wrapper {
 /* width: 1080px;*/
 width: 100%;
 padding: 0 50px;
  margin: 0 auto;
  text-align: left;
  position: relative;
}
@media screen and (max-width: 767px) {
  .site_wrapper {
    width: 100%;
     padding: 0 20px;
    box-sizing: border-box;
  }
}
.indent_content {
  padding: 50px 0;
  position: relative;
}

.column_outer , .content_outer{padding: 20px 50px;}
@media screen and (max-width: 767px) {
  .column_outer , .content_outer{padding: 20px 20px;}
  .indent_content {
   padding: 20px 0;
    /*padding: 50px 15px;*/
  }
}
.sp_indent15_lr {}
@media screen and (max-width : 767px) {
  .sp_indent15_lr {
    padding: 0 15px;
  }
}

ul.li_indent{display: flex;flex-direction: column;gap: 15px;}
ul.li_indent::after{display: none;}
ul.li_indent > li{text-indent: -1em;padding-left: 1em;}

#wrapper_all {
  text-align: center;
  min-width: 1120px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #wrapper_all {
    min-width: 100%;
  }
}
/* #header ヘッダー
=========================================== */
/* wrapper  ----------------------- */
#wrapper {
  padding-left: 200px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1600px) {
  #wrapper {
    padding-left: 12.5vw;
  }
}
@media screen and (max-width: 1100px) {
  #wrapper {
    padding-left: 0;
    padding-top: 95px;
  }
}
#header {
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
@media screen and (max-width: 1100px) {
  #header {
    width: 100%;
    height: 95px;
    border-right: none;
  }
}
.header_inner {
  background: #fff;
  width: 200px;
  height: 100%;
  border-right: 1px solid #DBDBDB;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 1600px) {
  .header_inner {
    width: 12.5vw;
  }
}
@media screen and (max-width: 1100px) {
  .header_inner {
    background: #fff;
    width: 100%;
    height: 95px;
  }
}
.header_inner h1 {
  position: absolute;
  top: 30vh;
  left: 50%;
  transform: translateX(-50%);
  writing-mode: vertical-rl;
  text-orientation: sideways;
  font-weight: bold;
  font-size: 1.6rem;
}
@media screen and (max-width: 1100px) {
  .header_inner h1 {
    top: auto;
    bottom: 15px;
    left: 15px;
    transform: none;
    writing-mode: horizontal-tb;
    text-orientation: inherit;
    font-size: 1.2rem;
  }
}
.header_scroll {
  height: calc(100% - 72px);
  position: absolute;
  top: 36px;
  right: 0;
}
@media screen and (max-width: 1100px) {
  .header_scroll {
    display: none;
  }
}
.header_scroll_bar {
  background: #D5A476;
  width: 2px;
  height: 72px;
  position: absolute;
  top: 0;
  right: -1px;
  transform: translateY(-50%);
}
.header_logo {
  width: 65%;
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1100px) {
  .header_logo {
    width: 60px;
    transform: none;
    top: 15px;
    left: 15px;
  }
}
.header_logo a {
  display: block;
}
.header_logo a.hover {
  opacity: 1;
}
.header_logo img {
  width: 100%;
  height: auto;
}
.header_nav_button {
  max-width: 50px;
  position: absolute;
  top: 25%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  text-align: center;
  font-size: 0;
  letter-spacing: 0;
  cursor: pointer;
}
@media screen and (max-width: 1100px) {
  .header_nav_button {
    max-width: 40px;
    top: 15px;
    left: auto;
    right: 15px;
    transform: none;
  }
}
.header_nav_button_inner {
  width: 42px;
  height: 25px;
  margin-bottom: 15px;
  position: relative;
  display: inline-block;
}
.header_nav_button_inner div {
  background: #333;
  height: 2px;
  position: absolute;
  left: 0;
  transition: width .1s .2s ease, transform .3s ease, top .3s ease;
}
#header.anime .header_nav_button_inner div {
  transition: width .1s ease, transform .3s .1s ease, top .3s .1s ease;
}
.header_nav_button_inner div:nth-of-type(1) {
  width: 100%;
  top: 12px;
}
.header_nav_button_inner div:nth-of-type(2) {
  width: 50%;
  top: 24px;
}
#header.anime .header_nav_button_inner div:nth-of-type(1) {
  transform: rotate(-135deg);
}
@media screen and (max-width: 1100px) {
  #header.anime .header_nav_button_inner div:nth-of-type(1) {
    top: 20px;
  }
}
#header.anime .header_nav_button_inner div:nth-of-type(2) {
  width: 100%;
  top: 12px;
  transform: rotate(135deg);
}
@media screen and (max-width: 1100px) {
  #header.anime .header_nav_button_inner div:nth-of-type(2) {
    top: 20px;
  }
}
.sns {
  width: 55%;
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1100px) {
  .sns {
    width: 90px;
    bottom: auto;
    top: 15px;
    right: 200px;
    transform: none;
  }
}
.header_content {
  display: none;
  transition: .4s ease;
}
#header.on .header_content {
  background: rgba(255, 255, 255, 0.98);
  width: 100vw;
  height: 100%;
  padding-left: 200px;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  overflow-y: auto;
  overflow-x: hidden;
  opacity: 0;
}
@media screen and (max-width: 1600px) {
  #header.on .header_content {
    padding-left: 12.5vw;
}
}
@media screen and (max-width: 1100px) {
  #header.on .header_content {
    height: 100%;
    padding-top: 95px;
    padding-left: 0;
  }
}
#header.anime .header_content {
  opacity: 1;
}
.header_content ._inner {
  width: 100%;
  height: 100%;
  min-height: 800px;
  position: relative;
  overflow: scroll;
  background: rgba(213, 164, 118, 0.95);
  text-align: left
}
.header_content_wrap {
  position: absolute;
  top: 54%;
  left: 0;
  transform: translateY(-50%);
  padding: 50px;
  width: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 1100px) {
  .header_content_wrap {
  top: 0;
    padding: 30px 20px;
	  transform: none;
  }
}
.header_content_wrap > * {
  opacity: 0;
  transition: .6s ease;
}
#header.anime .header_content_wrap > * {
  opacity: 1;
}
.header_content_head {
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
.header_content_head {
  padding-bottom: 60px;
}
}
.header_list {
  display: flex;
  flex-wrap: wrap;
  gap: 100px;
}
@media screen and (max-width: 1100px) {
  .header_list {
    gap: 50px;
  }
}
@media screen and (max-width: 767px) {
  .header_list {
    gap: 30px;
  }
}
.header_list li a {
  color: #fff !important;
}
.header_list ._en {
  display: block;
  letter-spacing: 0;
  line-height: 1;
  font-size: 1.2rem;
  font-weight: 500;
}
.header_list ._jp {
  display: block;
  letter-spacing: 0.1em;
  font-size: 3.4rem;
  font-weight: bold;
  transition: .4s ease;
}
@media screen and (max-width: 1100px) {
  .header_list ._jp {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .header_list ._jp {
    font-size: 2.0rem;
  }
}
.header_list .hover ._jp {
  color: #748729;
}
.header_list_small ._en {
  font-size: 14px;
}
.header_list_small.header_list_small ._jp {
  margin-top: 6px;
}
.header_list_small {
  margin-top: 80px;
}
.header_content_foot {
  width: 100%;
  min-width: 560px;
  position: relative;
}
@media screen and (max-width: 1100px) {
  .header_content_foot {
    min-width: auto;
  }
}
.header_txt_theme {
  color: #fff;
  border-bottom: #fff 1px solid;
  padding-bottom: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 50px;
}
.header_list_theme {
  display: flex;
  flex-wrap: wrap;
  gap: 23px;
}
/*トップコンテンツ
----------------------------------------------*/
.main_box {
  margin-bottom: 150px;
  padding-left: 50px;position: relative;
}
@media screen and (max-width: 767px) {
  .main_box {
    margin-bottom: 80px;
    padding-left: 10px;
  }
}

.main_box .top_copy{position: absolute;left: 50px;top: 50px;text-align: left;line-height: 1.3;}
.main_box .top_copy h2{font-size: clamp(2rem, 5vw, 8rem);font-weight: bold;padding-bottom: 10px;}
.main_box .top_copy .sub{font-size: clamp(1.4rem, 2vw, 4rem);font-weight: bold;}

.top_con{padding: 0 50px 100px;}

.top_w_box{background: var(--bgw);max-width: 100%;text-align: left;padding: 30px;line-height: 2;letter-spacing: 0.1em;font-size: 1.4rem;display: flex;flex-direction: column;gap:15px;}

@media screen and (max-width: 767px) {
  .main_box .top_copy{left: 20px;top: 10px;}
.main_box .top_copy h2{font-size: 2rem;padding-bottom: 5px;}
.main_box .top_copy .sub{font-size: 1.2rem;}
.top_con{padding: 0 20px 50px;}
.top_w_box{padding: 20px;}
}

/* 口コミエリア */
.kuchikomi_box{background: var(--bgw);padding: 20px;}

.kuchikomi_box .ti-rating-text .ti-rating {
    display: none !important;
}

a.btn_orenge {
  background: var(--gra_orange);
  border-radius: 10px;width: 620px;max-width: 100%;
  color: #fff !important;
  padding: 10px;
  border: 2px solid #fff;
  box-shadow: 1px 2px 3px 0px rgba(96, 59, 33, 0.6);
  text-shadow: 1px 1px 2px rgb(0 0 0 / 40%);
  text-decoration: none;
  display: inline-block;
  text-align: center;
  font-weight: bold;
  box-sizing: border-box;
  font-size: 2.4rem;
  cursor: pointer;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  a.btn_orenge{font-size: 1.8rem;}
}

.btn_anchor {
  display: flex;
  gap: 2%;
  padding: 0 50px;
}
@media screen and (max-width: 767px) {
  .btn_anchor {
    padding: 0 20px;
    gap: 10px;
    flex-wrap: wrap;
  }
}
.btn_anchor li {
  width: 32%;
}
@media screen and (max-width: 767px) {
  .btn_anchor li {
    width: 100%;
  }
}
.btn_anchor li a {
  display: block;
  padding: 30px;
  background: url("img/common/arrow_l.webp") 95% center no-repeat, #fff;
  color: #333;
  border: #D5A476 1px solid;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  transition: 0.5s;
}

@media screen and (max-width: 1200px) {
  .btn_anchor li a {
    padding: 20px;
    font-size: 1.6rem;
    background-size: 25px;
  }
}
@media screen and (max-width: 767px) {
  .btn_anchor li a {
    padding: 20px;
    font-size: 1.4rem;
    background-size: 20px;
  }
}
.btn_anchor li a:hover {
  background: url("img/common/arrow_l_on.webp") 95% center no-repeat, #D5A476;
  color: #fff;
  border: #D5A476 1px solid;
  opacity: 1 !important;
}
@media screen and (max-width: 1200px) {
	.btn_anchor li a:hover {
    background-size: 25px;
	}
}
@media screen and (max-width: 767px) {
	.btn_anchor li a:hover {
    background-size: 20px;
	}
}


.slider_photo {
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .slider_photo {
    margin-bottom: 100px;
  }
}
.list_theme {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 2%;
}
.list_theme > li {
  width: 23.5%;
  background: var(--bgw);
}
@media screen and (max-width: 1700px) {
  .list_theme > li {
    width: 32%;
  }
}
@media screen and (max-width: 767px) {
.list_theme {
  gap:4vw 4%;
}

  .list_theme > li {
    width: calc(50% - 2%);
  }
}
.list_theme > li a {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  position: relative;
}
/*右上三角
----------------------------------*/
.list_theme > li a::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 0;
  position: absolute;
  top: 0;
  left: 0;
  border-color: #476188 transparent transparent transparent;
}
.list_theme > li.price a::before {
  border-color: #D69154 transparent transparent transparent;
}
.list_theme > li.paint a::before {
  border-color: #DAC6C3 transparent transparent transparent;
}
.list_theme > li.symptom a::before {
  border-color: #849996 transparent transparent transparent;
}
.list_theme > li.season a::before {
  border-color: #6E7862 transparent transparent transparent;
}

.list_theme > li.contractor a::before {
  border-color: #476188 transparent transparent transparent;
}
.list_theme > li.area a::before {
  border-color: #C1AB9A transparent transparent transparent;
}

.list_theme > li.house a::before {
  border-color: #7FA3C2 transparent transparent transparent;
}

.list_theme > li.apartment a::before {
  border-color: #FF765B transparent transparent transparent;
}






.list_theme > li a div:first-child {
  width: 40%;
}
@media screen and (max-width: 1024px) {
  .list_theme > li a div:first-child {
    width: 100%;
  }
}
.list_theme > li a div:first-child img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .list_theme > li a div:first-child img {
    height: 100px;
  }
}
.list_theme > li a div:last-child {
  width: 60%;
  padding: 20px 15px;
  box-sizing: border-box;
  text-align: left;
  text-transform: capitalize;
}
@media screen and (max-width: 1024px) {
  .list_theme > li a div:last-child {
    width: 100%;
    padding: 15px;
  }
}

.list_theme > li a div:last-child .jp{font-size: 2.8rem;font-weight: bold;}
.list_theme > li a div:last-child .en{font-size: 1.4rem;font-weight: normal;font-family: var(--poppins);letter-spacing: 0.1rem;}

@media screen and (max-width: 1024px) {
  .list_theme > li a div:last-child .jp{font-size: 2.0rem;}
  .list_theme > li a div:last-child .en{font-size: 1.2rem;}
}

@media screen and (max-width: 1024px) {}
.theme_box {
  padding: 0 50px;
  margin-bottom: 150px;
}
@media screen and (max-width: 1024px) {
  .theme_box {
    padding: 0 20px;
    margin-bottom: 100px;
  }
}
.company_box {
  padding: 0 50px;
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .company_box {
    padding: 0 20px;
    margin-bottom: 100px;
  }
}
.list_company {
  display: flex;
  gap: 25px 2%;
  flex-wrap: wrap;
}
.list_company > li {
  width: 32%;
  background: #fff;
  border-top: #D5A476 10px solid;
  padding: 30px;
  box-sizing: border-box;
  text-align: left;
}

.list_company > li ul{display: flex;flex-wrap: wrap;flex-direction: column;gap: 10px;margin-bottom: 15px;}

.list_company > li ul a {
    font-size: 1.4rem;
    color: var(--mocha);
    line-height: 1;
    display: inline-block;
    padding: 10px;
    border: 1px solid var(--mocha);
    border-radius: 5px;
    font-weight: bold;
}
@media screen and (max-width: 767px) {
  .list_company > li ul{margin-bottom: 10px;font-size: 1.2rem;}
}


.list_company > li ul a:hover{background: var(--bgw);border-radius: 0;}

@media screen and (max-width: 1600px) {
  .list_company > li {
    width: 49%;
  }
}
@media screen and (max-width: 767px) {
  .list_company > li {
    width: calc(100%);
    padding: 10px;
  }
}
.list_company > li figure {
  margin-bottom: 18px;
  position: relative;
  width: 100%;
  height: 265px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .list_company > li figure {
    margin-bottom: 18px;
    height: 200px;
  }
}
.list_company > li figure::before, .list_company > li figure::after {
  position: absolute;
  content: "";
  width: 40px;
  height: 40px;
  z-index: 5;
}
.list_company > li figure::before {
  background-image: url("img/top/corner_t.webp");
  top: 0;
  left: 0;
}
.list_company > li figure::after {
  background-image: url("img/top/corner_b.webp");
  bottom: 0;
  right: 0;
}
.list_company > li figure img {
  transition: 1s all;
  width: 100%;
  height: 265px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .list_company > li figure img {
    height: 200px;
  }
}
.list_company > li figure img:hover {
  transform: scale(1.2, 1.2);
  transition: 1s all;
}
.company_area span {
  border: #D5A476 1px solid;
  padding: 2px 8px;
  border-radius: 5px;
  font-size: 1.2rem;
  color: #D5A476;
}
.company_name {
  font-size: 2.8rem;
  font-weight: 500;line-height: 1.4;
}
.company_name span {
  font-size: 1.4rem;
  margin-left: 15px;
}
.btn_hp a {
  display: block;
  background: url("img/common/arrow_s.webp") 95% center no-repeat, #9B7654;
  border: #9B7654 2px solid;
  border-radius: 5px;
  color: #fff;
  width: 250px;
  padding: 15px;
  box-sizing: border-box;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.btn_hp a:hover {
  background: url("img/common/arrow_s_on.png") 95% center no-repeat, #fff;
  color: #9B7654;
  opacity: 1;
}
.btn_hp.center a {
  margin: 0 auto;
}

.star_list {
  background: #F7F7F7;
  padding: 20px;
  margin-top: 15px;
  margin-bottom: 30px;
  border-radius: 5px;
}
.star_list > li {
  margin-bottom: 5px;
}
.star_list > li > dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.star_list > li > dl > dt {
  font-size: 1.4rem;
}
.star_list > li > dl > dd {
  line-height: 1;
}
.star {
  font-family: "Font Awesome 5 Free";
  font-size: 15px;
  color: #FFC300;
}
.star:before {
  font-weight: 900;
}
.star:after {
  font-weight: 900;
  color: #ccc;
}
.star[data-rate="0"]:before {
  content: "";
}
.star[data-rate="0.5"]:before {
  content: "★";
}
.star[data-rate="1"]:before {
  content: "★";
}
.star[data-rate="1.5"]:before {
  content: "★";
}
.star[data-rate="2"]:before {
  content: "★★";
}
.star[data-rate="2.5"]:before {
  content: "★★";
}
.star[data-rate="3"]:before {
  content: "★★★";
}
.star[data-rate="3.5"]:before {
  content: "★★★";
}
.star[data-rate="4"]:before {
  content: "★★★★";
}
.star[data-rate="4.5"]:before {
  content: "★★★★";
}
.star[data-rate="5"]:before {
  content: "★★★★★";
}
.star[data-rate="0"]:after {
  content: "☆☆☆☆☆";
}
.star[data-rate="0.5"]:after {
  content: "☆☆☆☆";
}
.star[data-rate="1"]:after {
  content: "☆☆☆☆";
}
.star[data-rate="1.5"]:after {
  content: "☆☆☆";
}
.star[data-rate="2"]:after {
  content: "☆☆☆";
}
.star[data-rate="2.5"]:after {
  content: "☆☆";
}
.star[data-rate="3"]:after {
  content: "☆☆";
}
.star[data-rate="3.5"]:after {
  content: "☆☆";
}
.star[data-rate="4"]:after {
  content: "☆";
}
.star[data-rate="4.5"]:after {
  content: "";
}
.star[data-rate="5"]:after {
  content: "";
}

/*


.star[data-rate="0"]:before {
  content: "";
}
.star[data-rate="0.5"]:before {
  content: "\f5c0";
}
.star[data-rate="1"]:before {
  content: "\f005";
}
.star[data-rate="1.5"]:before {
  content: "\f005\f5c0";
}
.star[data-rate="2"]:before {
  content: "\f005\f005";
}
.star[data-rate="2.5"]:before {
  content: "\f005\f005\f5c0";
}
.star[data-rate="3"]:before {
  content: "\f005\f005\f005";
}
.star[data-rate="3.5"]:before {
  content: "\f005\f005\f005\f5c0";
}
.star[data-rate="4"]:before {
  content: "\f005\f005\f005\f005";
}
.star[data-rate="4.5"]:before {
  content: "\f005\f005\f005\f005\f5c0";
}
.star[data-rate="5"]:before {
  content: "\f005\f005\f005\f005\f005";
}
.star[data-rate="0"]:after {
  content: "\f005\f005\f005\f005\f005";
}
.star[data-rate="0.5"]:after {
  content: "\f005\f005\f005\f005";
}
.star[data-rate="1"]:after {
  content: "\f005\f005\f005\f005";
}
.star[data-rate="1.5"]:after {
  content: "\f005\f005\f005";
}
.star[data-rate="2"]:after {
  content: "\f005\f005\f005";
}
.star[data-rate="2.5"]:after {
  content: "\f005\f005";
}
.star[data-rate="3"]:after {
  content: "\f005\f005";
}
.star[data-rate="3.5"]:after {
  content: "\f005";
}
.star[data-rate="4"]:after {
  content: "\f005";
}
.star[data-rate="4.5"]:after {
  content: "";
}
.star[data-rate="5"]:after {
  content: "";
}


*/



.photo_box {
  padding: 0 50px;
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .photo_box {
    padding: 0 20px;
    margin-bottom: 100px;
  }
}
/*写真から探す
------------------------------*/
.photo_cat {
  display: flex;
  padding: 0 175px;
  justify-content: center;
	gap:20px;
}
@media screen and (max-width: 767px) {
	.photo_cat {
  padding: 0 20px;
flex-wrap: wrap;
	gap:10px;
}
}
.photo_cat li a {
  background: #fff;
  border: #D5A476 2px solid;
  border-radius: 5px;
  padding: 15px;
  box-sizing: border-box;
  display: block;
  min-width: 188px;
  color: #D5A476;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
.photo_cat li a {
   padding: 10px;
  min-width: auto;
	font-size: 1.4rem;
}	
}
.photo_list {
  display: flex;
  flex-wrap: wrap;
}
.photo_list > li {
  width: 20%;
}
@media screen and (max-width: 767px) {
.photo_list > li {
  width: 33.333%;
}	
}
.photo_list > li a{
  width: 100%;
  position: relative;
  overflow: hidden;
	display: block;
}
.photo_list > li a::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.photo_list > li a img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
}
.keisai_box {
  background: url("img/top/bg_01.webp") left top no-repeat;
  background-size: cover;
  margin: 0 50px 150px;
}
@media screen and (max-width: 767px) {
  .keisai_box {
    background: url("img/top/bg_01.webp") left top no-repeat;
    background-size: cover;
    margin: 0 20px 80px;
  }
}
.keisai_box > div {
  width: 50%;
  color: #fff;
  padding: 50px;
  background: rgba(51, 51, 51, 0.7);
  text-align: left;
}
@media screen and (max-width: 767px) {
  .keisai_box > div {
    width: 100%;
    padding: 30px;
  }
}
span.star-prototype, span.star-prototype > * {
  height: 18px;
  background: url("img/top/star.png") 0 -17px repeat-x;
  width: 115px;
  display: inline-block;
}
span.star-prototype > * {
  background-position: 0 0;
  max-width: 80px;
}
.tit_cat {
  background-color: var(--main);
  text-align: center;
  padding: 10px 20px;
  font-weight: bold;
  font-size: 2.0rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .tit_cat {
    font-size: 1.4rem;
  }
}
.bd_04 {
  border-bottom: 4px solid var(--sub);
}
.col_1_1 {
  width: 100%;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.col_1_1 > li {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .col_1_1 > li {
    width: 100%;
  }
}
.col_1_2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col_1_2 > .left_area {
  width: 35%;
}
.col_1_2 > .right_area {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .col_1_2 {
    display: block;
  }
  .col_1_2 > .left_area {
    width: 100%;
    margin-bottom: 10px;
  }
  .col_1_2 > .right_area {
    width: 100%;
  }
}
.col_2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col_2 > li, .col_2 > .left_area, .col_2 > .right_area {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .col_2 {
    justify-content: center;
  }
  .col_2 > li {
    width: 100%;
    margin-bottom: 60px;
    overflow: hidden;
  }
  .col_2 > .left_area, .col_2 > .right_area {
    width: 100%;
  }
}
.col_3 {
  display: flex;
  flex-wrap: wrap;
}
.col_3 > li {
  width: 31.333%;
  margin-right: 3%;
}
.col_3 > li:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .col_3 {
    justify-content: center;
  }
  .col_3 > li {
    width: 100%;
    margin-bottom: 60px;
    overflow: hidden;
  }
}
.col_4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col_4 > li {
  width: 23%;
}
@media screen and (max-width: 767px) {
  .col_4 {
    justify-content: center;
  }
  .col_4 > li {
    width: 100%;
    margin-bottom: 60px;
    overflow: hidden;
  }
}
.col_5 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col_5 > li {
  width: 19%;
}
@media screen and (max-width: 767px) {
  .col_5 {
    justify-content: center;
  }
  .col_5 > li {
    width: 30%;
    margin-bottom: 60px;
    overflow: hidden;
  }
}
.col_1_3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.col_1_3 > .left_area {
  width: 35%;
}
.col_1_3 > .right_area {
  width: 60%;
}
.col_3_1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: row-reverse;
  width: 100%;
}
.col_3_1 > .left_area {
  width: 60%;
}
.col_3_1 > .right_area {
  width: 35%;
}
@media screen and (max-width: 767px) {
  .col_1_3 > .left_area {
    width: 100%;
  }
  .col_1_3 > .right_area {
    width: 100%;
  }
  .col_3_1 {
    flex-direction: row;
  }
  .col_3_1 > .left_area {
    width: 100%;
  }
  .col_3_1 > .right_area {
    width: 100%;
  }
}
/* トップページメインイメージ */
.main_slider_wrap {
  position: relative;
  width: 80%;
  margin-left: auto;
}
.main_slider_wrap picture img {
  width: 100%;
  height: 750px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .main_slider_wrap picture img {
    height: 350px;
  }
}
.main_txt {
  position: absolute;
  top: 120px;
  left: 0;
  z-index: 10;
  width: 100%;
}
/*.main_txt_inbox {
  width: 630px;
}*/
.main_txt p {
  font-size: var(--fz5);
  font-weight: bold;
  margin-bottom: 15px;
  color: var(--fcw);
  line-height: 2;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .main_txt p {
    font-size: var(--fz3);
  }
}
.main_txt p span {
  background: var(--main);
  padding: 10px 30px;
}
@media screen and (max-width: 767px) {
  .main_txt p span {
    padding: 5px 10px;
  }
}
.main_ob_img_01 {
  margin-bottom: 30px;
}
.main_ob_img_03 {
  max-width: 575px;
}
.ttl_00 {
  font-size: 4.0rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ttl_00 {
    font-size: var(--fz4);
    letter-spacing: 0.05em;
  }
}
.ttl_01 {
  padding-top: 80px;
  margin:-80px auto 80px;
  font-size: 3.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .ttl_01 {
    padding-top: 120px;
    margin-top: -120px;
    margin-bottom: 60px;
    font-size: 2.2rem;
  }
}
.ttl_01 span {
  position: relative;
}
.ttl_01 span::before {
  content: "";
  position: absolute;
  top: -35px;
  right: -30px;
  background-image: url("img/top/deco.webp");
  width: 55px;
  height: 45px;
}
@media screen and (max-width: 767px) {
  .ttl_01 span::before {
    background-size: 35px;
    top: -25px;
    right: -20px;
    width: 35px;
    height: 28.65px;
  }
}
.ttl_02 {
  font-size: 2.4rem;
  font-weight: 600;
	border-bottom: #333 1px solid;
	padding-bottom: 20px;
	margin-bottom: 50px;
}
.ttl_02 .jp {
  font-weight: bold;
  font-size: var(--fz3);
  position: relative;
}

@media screen and (max-width: 767px) {

}
.ttl_03 {
  font-size: var(--fz4);
  text-align: left;
  font-weight: bold;
  margin-bottom: 60px;
  ;
  text-transform: capitalize;
  position: relative;
  border-bottom: 1px dotted var(--sub);
  padding-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .ttl_03 {
    font-size: var(--fz3);
  }
}
.ttl_04 {
  font-size: var(--fz4);
  text-align: left;
  font-weight: bold;
  margin: 20px 0 80px 0;
  text-transform: capitalize;
  position: relative;
}
.ttl_04::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -15px;
  font-weight: bold;
  margin-left: 0px;
  width: 40px;
  height: 1px;
  background-color: var(--main);
  display: block;
}
@media screen and (max-width: 767px) {
  .ttl_04 {
    font-size: var(--fz3);
    font-weight: bold;
    margin: 20px 0 40px 0;
  }
}
.z_2 {
  z-index: 2;
}
.f_grad {
  background: var(--gradation);
  background: -webkit-var(--gradation);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.g_circle {
  margin-bottom: 80px;
}
.g_circle li {
  background: var(--gradation);
  width: 200px;
  height: 200px;
  margin: auto;
  text-align: center;
  align-items: center;
  border-radius: 50%;
  color: var(--fcw);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 2.0rem;
}
.g_circle li .num {
  display: inline-block;
  font-weight: bold;
  font-size: 3.0rem;
  border-bottom: 1px solid #fff;
}
.g_circle li p {
  width: 100%;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .g_circle {
    margin-bottom: 40px;
  }
  .g_circle li {
    background: var(--gradation);
    width: 150px;
    height: 150px;
    margin: auto;
    text-align: center;
    align-items: center;
    border-radius: 50%;
    color: var(--fcw);
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    font-size: 1.4rem;
    margin-bottom: 20px;
    padding: 20px 0;
    box-sizing: border-box;
  }
  .g_circle li .num {
    display: inline-block;
    font-weight: bold;
    font-size: 2.0rem;
    border-bottom: 1px solid #fff;
    margin-bottom: 10px;
  }
}
.u_arrow {
  display: flex;
  clear: both;
  margin-bottom: 100px;
}
.u_arrow > li {
  width: 50%;
  position: relative;
}
.u_arrow > li:nth-child(1):before {
  content: "";
  position: absolute;
  top: 0;
  right: -1%;
  width: 100%;
  border-bottom: 1px solid var(--main);
  transform: rotate(10deg);
}
.u_arrow > li:nth-child(2):before {
  content: "";
  position: absolute;
  top: 0;
  left: -1%;
  width: 100%;
  border-bottom: 1px solid var(--main);
  transform: rotate(-10deg);
}
@media screen and (max-width: 767px) {
  .u_arrow {
    margin-bottom: 50px;
  }
}
.bdg {
  position: relative;
  text-align: center;
  font-weight: bold;
  font-size: var(--fz5);
}
.bdg::after {
  content: "";
  background: var(--gradation);
  width: 500px;
  height: 4px;
  position: absolute;
  left: 50%;
  bottom: -10px;
  margin-left: -250px;
}
@media screen and (max-width: 767px) {
  .bdg {
    position: relative;
    text-align: center;
    font-weight: bold;
    font-size: var(--fz4);
  }
  .bdg::after {
    content: "";
    width: 100%;
    height: 4px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    margin: 0 auto;
  }
}
/* パンくずリスト
-------------------------------*/
nav#breadcrumbs {
  padding: 10px 0 10px;
}

nav#breadcrumbs ol {
  display: flex;flex-wrap: wrap;
}
nav#breadcrumbs ol li {
  display: inline;
  list-style-type: none;
  font-size: 1.2rem;
}
nav#breadcrumbs ol li:before {
  content: "　>　";
}
nav#breadcrumbs ol li:first-child:before {
  content: "";
}
/* トップページコンテンツ */
#reason .col_1_3 > .right_area, #reason .col_3_1 > .left_area {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
#reason .col_1_3 > .right_area > .box, #reason .col_3_1 > .left_area > .box {
  width: 100%;
}
.top_int_num_box {
  font-weight: bold;
  background: var(--gradation);
  color: var(--fcw);
  max-width: 100px;
  text-align: center;
  line-height: 1.1;
  font-size: 1.6rem;
  padding: 15px;
  position: absolute;
  left: 20px;
  top: -10px;
  text-transform: uppercase;
}
.top_int_num_box .num {
  display: block;
  font-size: 4.0rem;
  letter-spacing: 0.2rem;
}
.right_area .top_int_num_box {
  right: 20px;
  left: auto;
}
@media screen and (max-width: 767px) {
  .top_int_num_box {
    width: 70px;
    font-size: 1.2rem;
    text-shadow: 0 0 4px #fff;
  }
  .top_int_num_box .num {
    font-size: 3.6rem;
    text-shadow: none;
  }
}
.t_t_img {
  padding-right: 50px;
}
@media screen and (max-width: 767px) {
  .t_t_img {
    padding-right: 0px;
    margin-bottom: 30px;
  }
}
.ttl_tt {
  font-size: 7.0rem;
  font-weight: bold;
  position: relative;
  padding: 30px 20px;
  font-family: var(--poppins);
  line-height: 1.2;
}
.ttl_tt::before {
  width: 80px;
  height: 80px;
  content: "";
  background: var(--gradation);
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .ttl_tt {
    font-size: 4.8rem
  }
}
.top_int_fax {
  background-color: var(--gray3);
  color: var(--fcw);
  padding: 25px 50px;
  margin-bottom: 100px;
}
.faq_q {
  font-size: var(--fz4);
  font-weight: bold;
  position: relative;
  text-align: center;
}
.faq_q .down_ar {
  position: absolute;
  top: 2px;
  right: 0;
  background-color: var(--gray3);
  color: var(--fcw);
  border: 2px solid var(--fcw);
  border-radius: 50%;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  transition: .35s ease-in-out;
}
@media screen and (max-width: 767px) {
  .faq_q .down_ar {
    width: 20px;
    height: 20px;
  }
}
.active .down_ar {
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .top_int_fax {
    padding: 15px 15px;
    margin-bottom: 40px;
  }
  .faq_q {
    font-size: 1.4rem;
    padding: 0 30px 0 45px;
    text-indent: -45px;
  }
  .faq_q .down_ar {
    font-size: 1.2rem;
    text-indent: 0;
    line-height: 1;
  }
}
.faq_q .faq_ico {
  font-size: 3.0rem;
}
.top_int_fax .faq_a {
  margin: 45px 0 30px 0;
  text-align: center;
}
.top_int_fax figure {
  background-color: var(--bgw);
  width: 150px;
  height: 150px;
  margin: auto;
  text-align: center;
  align-items: center;
  border-radius: 50%;
  display: flex;
  justify-content: center;
}
.top_int_copy {
  text-align: center;
  font-size: 4.8rem;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
  font-weight: bold;
}
.top_int_txt {
  margin-bottom: 100px;
  text-align: center;
  font-size: 2.0rem;
}
@media screen and (max-width: 767px) {
  .top_int_copy {
    font-size: 2.4rem;
  }
  .top_int_txt {
    margin-bottom: 40px;
    text-align: left;
    font-size: 1.4rem;
  }
}
.infinite-slider {
  width: 100%;
  overflow: hidden;
}
.infinite-slider .swiper-wrapper {
  transition-timing-function: linear;
}
.top_message p {
  text-align: center;
  font-weight: bold;
  margin-bottom: 30px;
  font-size: var(--fz2);
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .top_message p {
    text-align: left;
    margin-bottom: 15px;
    font-weight: normal;
    font-size: var(--fz1);
  }
}
.column_txt .time {
  color: var(--main);
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 1.2rem;
}
.top_cat {
  display: inline-block;
  background: var(--sub);
  color: var(--fcw);
  padding: 2px 15px;
  margin-bottom: 10px;
  font-size: var(--fz0);
}
/* フッターお問い合わせ */
.bg_contact {
  background: #8B6634;
  -webkit-background-size: cover;
  background-size: cover;
  color: var(--fcw);
  padding: 50px 0 90px;
}
@media screen and (max-width: 767px) {
  .bg_contact {
    padding: 40px 0px;
  }
}
.ttl_01_box {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
}
.bg_contact .ttl_01, .bg_price .ttl_01 {
  color: var(--fcw);
}
.bg_contact .ttl_01_box .en, .bg_price .ttl_01_box .en {
  color: var(--fcw);
}
.bg_contact .ttl_01_box::after, .bg_price .ttl_01_box::after {
  content: "";
  background: var(--fcw);
}
.contact_bd {
  border: 2px solid var(--fcw);
  padding: 20px 80px;
}
.contact_col {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  gap: 20px;
}
.con_tel a {
  color: var(--fcw);
  font-size: 4.5rem;
  font-weight: bold;
  line-height: 1.1;
}
.con_time {
  font-weight: bold;
}
.con_mail a {
  display: block;
  background: var(--bgw);
  max-width: 100%;
  width: 525px;
  border: 1px solid var(--bgw);
  text-align: center;
  padding: 20px;
  font-weight: bold;
  font-size: var(--fz4);
}
.con_mail a svg {
  fill: var(--sub);
  vertical-align: middle;
  margin-right: 10px;
}
.con_mail a:hover {
  background-color: var(--sub);
  color: var(--fcw);
}
.con_mail a:hover svg {
  fill: var(--fcw);
}
@media screen and (max-width: 767px) {
  .contact_col {
    display: block;
  }
  .contact_bd {
    padding: 20px 15px;
  }
  .con_tel a {
    font-size: 3.2rem;
    margin-bottom: 15px;
    display: block;
  }
  .con_tel a svg {
    max-width: 25px;
    vertical-align: sub;
  }
  .con_mail a {
    display: block;
    background: var(--bgw);
    width: 100%;
    margin-top: 15px;
    padding: 10px;
    font-size: var(--fz2);
    letter-spacing: 0;
  }
  .con_mail a svg {
    max-width: 25px;
  }
}
.tel span{
	background:url("img/common/tel.webp") left center no-repeat;
	padding-left: 35px;
	font-size: 3rem;
	color: var(--main);
}
@media screen and (max-width: 767px) {
.tel span{
	background:url("img/common/tel.webp") left center no-repeat;
	padding-left: 35px;
	font-size: 2rem;
}
}
.footer {
  background: #D5A476;
  padding: 50px 0;
  color: var(--main);
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 50px 15px 15px;
  }
}
.footer .logo_box {
  width: 120px;
  margin: 0 auto;
}
.footer nav {
  margin-bottom: 50px;
  position: relative;
}
@media screen and (max-width: 1600px) {
.footer nav {
	width: 65%;
	margin: 0 auto 50px;
  position: relative;
}
}
@media screen and (max-width: 767px) {
.footer nav {
	width: 100%;
	margin: 0 auto 50px;
}
}
.ft_nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 0;
}
@media screen and (max-width: 1400px) {
  .ft_nav {
  gap: 20px;
  padding: 0;  
  justify-content:flex-start;
	}
}
.ft_nav li {
  box-sizing: border-box;
  padding: 0 30px;
  position: relative;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
.ft_nav li {
  padding: 0;
width: calc(50% - 10px);
 }	
}
.ft_nav li::before {
  position: absolute;
  content: "";
  background: var(--main);
  width: 1px;
  height: 100%;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
	.ft_nav li::before {
  content: none;
 }
}
.ft_nav li:last-child::before {
  content: none;
}
.ft_nav a {
  color: var(--main);
  font-weight: 500;
  text-transform: uppercase;
}


.ft_nav_sub {
  gap: 25px;
  flex-wrap: wrap;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
.ft_nav_sub {
  gap:5px 15px;
}
	
}
.ft_nav_sub li {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
.ft_nav_sub li {
  font-size: 1.0rem;
}
}
.ft_nav_sub li a {
  /*color: #fff;*/
  color: var(--main);
}
.bg_copy {
  background: #8B6634;
  padding: 5px;
  color: var(--bgw);
}
.ft_btn {
  position: fixed;
  z-index: 9;
  bottom: 50px;
  right: 2%;
}
@media screen and (max-width: 767px) {
.ft_btn {
	width: 50px;
  bottom: 20px;
  right: 10px;
}
}
/*　内部ページ　*/
.bg_ttl {
  background-image: url("img/news/bg_ttl.webp");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 100%;
  position: relative;text-align: left;
  padding: 50px 0;
}
.bg_ttl_content, .bg_ttl_column {
  ackground-image: url("img/news/bg_ttl.webp");
  position: relative;
}
@media screen and (min-width: 1921px) {
  .bg_ttl {
    background-size: cover;

  }
}
.bg_ttl .en {
  color: var(--main);
  font-size: 5.5rem;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.bg_ttl .ja {
  color: var(--main);
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {

  .bg_ttl .en {
    font-size: 3.0rem;
  }
  .bg_ttl .ja {
    font-size: 1.6rem;
  }
}
.in_copy {
  font-size: var(--fz5);
  font-weight: bold;
}
/*　会社概要　*/
.com_dl {
  width: 100%;
}
.com_dl tr th {
  width: 20%;
  border-bottom: 1px solid var(--gray3);
  padding: 25px 0;
  font-weight: bold;
}
.com_dl tr td {
  width: 80%;
  border-bottom: 1px solid var(--gray3);
  padding: 25px;
}
@media screen and (max-width: 767px) {
  .com_dl {
    display: block;
  }
  .com_dl tbody {
    display: block;
    width: 100%;
  }
  .com_dl tr {
    display: block;
    width: 100%;
  }
  .com_dl tr th {
    width: 100%;
    display: block;
    padding: 15px;
  }
  .com_dl tr td {
    width: 100%;
    display: block;
    padding: 15px;
  }
}
/* トレーナー */
.tr_tit {
  font-size: 2.4rem;
  font-weight: bold;
  border-bottom: 2px solid var(--sub);
  margin-bottom: 30px;
  padding-bottom: 20px;
}
.tr_tit .en {
  font-size: 1.6rem;
  display: inline-block;
  padding: 0 30px 0 10px;
}
.tr_tit .ico {
  display: inline-block;
  width: 35px;
  height: 35px;
  margin: 0 10px;
  border-radius: 50%;
  overflow: hidden;
  align-items: center;
  vertical-align: middle;
}
.tr_tit .ico a {
  background-color: var(--sub);
  display: block;
  text-align: center;
  align-items: center;
}
.tr_tit .ico a img {
  vertical-align: inherit;
}
@media screen and (max-width: 767px) {
  .tr_tit .en {
    font-size: 1.4rem;
    display: inline-block;
    padding: 0 10px 0 10px;
  }
}
/* プログラム    */
.pl_01 {
  background: url("img/plogram/img_01.webp")no-repeat left top;
}
.pl_02 {
  background: url("img/plogram/img_02.webp")no-repeat right top;
}
.pl_03 {
  background: url("img/plogram/img_03.webp")no-repeat left top;
}
.pl_bg {
  background-size: auto 100%;
  margin-bottom: 60px;
  position: relative;
  clear: both;
}
@media screen and (max-width: 767px) {
  .pl_bg {
    background-size: 100% auto;
    padding-top: 200px;
    margin-bottom: 0px;
    position: relative;
    clear: both;
  }
}
.pl_bg .w_box {
  background-color: var(--bgw);
  width: 700px;
  min-height: 400px;
  padding: 80px 40px;
}
.pl_01 .site_wrapper, .pl_03 .site_wrapper {
  display: flex;
  justify-content: flex-end;
}
.pl_bg .tit {
  border-bottom: 2px solid var(--sub);
  padding-bottom: 10px;
  margin-bottom: 30px;
  font-size: 1.8rem;
}
.pl_bg .tit span {
  font-size: 4.0rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  display: inline-block;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .pl_bg .w_box {
    width: 100%;
    padding: 30px 0px;
  }
  .pl_bg .tit {
    font-size: 1.6rem;
  }
  .pl_bg .tit span {
    font-size: 3.2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    display: inline-block;
    margin-right: 10px;
  }
}
/* ビフォーアフター */
.top_b_a {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .top_b_a {
    margin-bottom: 0px;
  }
}
.b_a_fig {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
.b_a_fig > li, .b_a_fig > .left_area, .b_a_fig > .right_area {
  width: 49%;
}
.b_a_fig img {
  width: 100%;
}
.b_a_fig figcaption {
  text-align: center;
  color: var(--fcw);
  text-transform: uppercase;
  font-size: 3.0rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 10px;
}
.before figcaption {
  background: var(--sub);
}
.after figcaption {
  background: var(--gradation);
}
@media screen and (max-width: 767px) {
  .b_a_fig figcaption {
    font-size: var(--fz4);
  }
}
.content_head {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  align-items: center;
  margin-bottom: 20px;
}
.content_head .cat_box {
  color: var(--main);
  border: 1px solid var(--main);
  border-radius: 3px;
  text-align: center;
  padding: 3px 10px;
}
@media screen and (max-width: 767px) {
  .content_head .cat_box {
    padding: 1px 5px;
    font-size: var(--fz0);
  }
}
.content_head .name {
  font-size: var(--fz4);
  font-weight: bold;
}
.content_head .age {
  font-size: var(--fz3);
  font-weight: bold;
}
.content_head .period {
  border: 1px solid var(--sub);
  border-radius: 3px;
  text-align: center;
  padding: 3px 10px;
}
@media screen and (max-width: 767px) {
  .content_head .period {
    padding: 1px 5px;
    font-size: 1.2rem;
  }
}
.content_head .period span {
  color: var(--main);
  font-size: 2.0rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .content_head .period span {
    font-size: 1.6rem;
  }
}
/* アクセス */
.google_add a {
  color: var(--main);
  border-bottom: 1px dashed var(--main);
}
.access_tel {
  margin-bottom: 30px;
  font-size: 3.0rem;
  font-weight: bold;
}
.access_tel svg {
  width: 25px;
  margin-right: 5px;
  vertical-align: sub;
  fill: var(--sub);
}
.access_gal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.access_gal li {
  width: 25%;
}
@media screen and (max-width: 767px) {
  .access_gal li {
    width: 50%;
  }
  .access_gal li img {
    width: 100%;
  }
}
/*　ブログ　*/
.content_area {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.content_area .main_area {
  width: 68%;
}
.content_area .side_area {
  width: 20%;
}
.column_top li {
  margin-bottom: 20px;
}
.column_top li:last-child {
  margin-bottom: 0;
}
.news_list .date {
  font-weight: bold;
  font-size: 1.6rem;
  margin-bottom: 10px;
  color: var(--main);
}
.news_list .icon_list a {
  background-color: var(--sub);
  color: var(--fcw);
  padding: 3px 10px;
  font-size: var(--fz0);
  border-radius: 5px;
}
.side_ttl {
  background: var(--gradation);
  color: var(--fcw);
  padding: 5px 15px;
}
.side_txt_area {
  border-left: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  border-right: 1px solid var(--main);
  padding: 15px;
}


#toc_container.no_bullets li, #toc_container.no_bullets ul, #toc_container.no_bullets ul li, .toc_widget_list.no_bullets, .toc_widget_list.no_bullets li{}

#toc_container{background: var(--bgw);padding: 30px;font-weight: 500;}
#toc_container .toc_title{font-weight: bold;}
#toc_container ul.toc_list{margin-bottom: 0;}

#toc_container .toc_toggle{padding-left: 15px;font-size: 1.4rem;font-weight: bold;}
@media (max-width: 767px) {
#toc_container{padding: 15px;font-size: 1.2rem;}
}


#wysi {}

.blog_img {text-align: center;}

#wysi h1, #wysi h2, #wysi h3, #wysi h4, #wysi h5, #wysi h6 {
  clear: both;
  font-family: "Raleway", Helvetica, Arial, sans-serif;
  font-weight: 600;
  margin-bottom: 30px;
  margin-top: 60px;
  color: #333333;letter-spacing: 0.1em;
}
#wysi h1 a, #wysi h2 a, #wysi h3 a, #wysi h4 a, #wysi h5 a, #wysi h6 a {
  color: #333333;
  text-decoration: none;
}

#wysi h1 span, #wysi h2 span, #wysi h3 span, #wysi h4 span, #wysi h5 span, #wysi h6 span {
padding-top: 100px;margin-top: -100px;
}
@media (min-width: 768px) {
#wysi h1 span, #wysi h2 span, #wysi h3 span, #wysi h4 span, #wysi h5 span, #wysi h6 span {
padding-top: 60px;margin-top: -60px;
}
}

#wysi h1 {
  line-height: 1.3;
  font-size: 3.0rem;
  padding-left: 10px;border-left: 5px solid var(--mocha);
}
@media (min-width: 768px) {
  #wysi h1 {
    font-size: 4.0rem;
  }
}
#wysi h1 span {
  font-weight: bold;
}
#wysi h2 {
  line-height: 1.2;
  font-size: 2.4rem;border-bottom: 2px solid var(--mocha);padding-bottom: 5px;
}
@media (min-width: 768px) {
  #wysi h2 {
    font-size: 3.2rem;padding-bottom: 10px;
  }
}
#wysi h3 {
  font-size: 2.0rem;
  font-weight: 600;border-bottom: 1px dashed var(--mocha);padding-bottom: 5px;
}
@media (min-width: 768px) {
#wysi h3 {font-size: 2.4rem;padding-bottom: 10px;}
}

#wysi h4 {
  font-size: 18px;
  font-size: 1.8rem;
  margin-bottom: 12px;
}
#wysi h5 {
  text-transform: uppercase;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
}
#wysi h6 {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 1px;
}
/*------------------------------
	2.4 Base
------------------------------*/
#wysi ul, #wysi ol, #wysi dl, #wysi p, #wysi details, #wysi address, #wysi .vcard, #wysi figure, #wysi pre, #wysi fieldset, #wysi table, #wysi dt, #wysi dd, #wysi hr {
  margin-bottom: 15px;
  margin-top: 0;
}
@media (max-width: 767px) {
#wysi ul, #wysi ol, #wysi dl, #wysi p, #wysi details, #wysi address, #wysi .vcard, #wysi figure, #wysi pre, #wysi fieldset, #wysi table, #wysi dt, #wysi dd{font-size: 1.4rem;}
}
#wysi .ftw-b{font-weight: bold;}

#wysi b, #wysi strong {
  font-weight: bold;
}
#wysi blockquote {
  clear: both;
  margin: 20px 0;
}
#wysi blockquote p {
  font-style: italic;
}
#wysi blockquote cite {
  font-style: normal;
  margin-bottom: 20px;
  font-size: 13px;
}
#wysi dfn, #wysi cite, #wysi em, i {
  font-style: italic;
}
#wysi figure {
  margin: 0;
}
#wysi address {
  margin: 20px 0;
}
#wysi hr {
  border: 0;
  border-top: 1px solid #e9e9e9;
  height: 1px;
  margin-bottom: 20px;
}
#wysi tt, #wysi kbd, #wysi pre, #wysi code, #wysi samp, #wysi var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  background-color: #e9e9e9;
  padding: 5px 7px;
  border-radius: 2px;
}
#wysi pre {
  overflow: auto;
  white-space: pre-wrap;
  max-width: 100%;
  line-height: 1.7;
  margin: 20px 0;
  padding: 20px;
}
#wysi details summary {
  font-weight: bold;
  margin-bottom: 20px;
}
#wysi details :focus {
  outline: none;
}
#wysi abbr, #wysi acronym, #wysi dfn {
  cursor: help;
  font-size: .95em;
  text-transform: uppercase;
  border-bottom: 1px dotted #e9e9e9;
  letter-spacing: 1px;
}
#wysi mark {
  background-color: #fff9c0;
  text-decoration: none;
}
#wysi small {
  font-size: 82%;
}
#wysi big {
  font-size: 125%;
}
#wysi ul, #wysi ol {
  padding-left: 20px;
}
#wysi ul {
  list-style: disc;
}
#wysi ol {
  list-style: decimal;
}
#wysi ul li, #wysi ol li {
  margin: 8px 0;
}
#wysi dt {
  font-weight: bold;
}
#wysi dd {
  margin: 0 20px 20px;
}
/*　お問い合わせ　*/
.box_tel {
  color: var(--sub);
  line-height: 1.4;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .box_tel {
    text-align: left;
  }
}
.contact_tel a {
  display: block;
}
.contact_tel {
  border: var(--gray3) 1px solid;
  text-align: center;
  padding: 20px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .contact_tel {
    border: var(--gray3) 1px solid;
    text-align: center;
    padding: 15px;
    margin-bottom: 20px;
  }
}
.ico_required {
  color: #fff;
  font-size: 1.2rem;
  background: #ff3232;
  line-height: 1;
  padding: 2px 4px;
  margin-left: 15px;
}
.contact_form {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .contact_form {
    display: block;
  }
}
.contact_form dl {
  border-bottom: #ccc 1px solid;display: flex;flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .contact_form dl {
    padding-bottom: 15px;
    margin-bottom: 15px;
    display: block;
  }
}
.contact_form dt {
  width: 30%;
  padding: 15px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .contact_form dt {
    width: 100%;
    display: block;
    padding: 0;
    margin-bottom: 10px;
  }
}
.contact_form dd {
  width: 70%;
  padding: 15px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .contact_form dd {
    display: block;
    width: 100%;
    padding: 0;
  }
}
.contact_form input, .contact_form textarea {
  box-sizing: border-box;
  padding: 10px;
}
.contact_form input[type=text], .contact_form input[type=email] {
  width: 100%;
}
.contact_form textarea {
  width: 100%;
  height: 250px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .contact_form input, .contact_form textarea, .contact_form select {
    font-size: 1.6rem;
    margin: 4px 0;
    display: block;
    padding: 5px;
  }
  .contact_form textarea {
    height: 150px;
  }
}
select.time, select.lesson {
  padding: 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  select.time, select.lesson {
    width: 100%;
  }
}
.contact_form select option {
  line-height: 2 !important;
  font-size: 1.6rem;
}

.contact_form input[type=submit] {
    background: url( img/common/arrow_s.webp) no-repeat right 20px center var(--main);
    width: 300px;
    max-width: 100%;
    font-size: 1.6rem;
    color: #fff;
    font-weight: 700;
    display: block;
    text-align: center;
    padding: 25px 30px;
    border-radius: 50px;
    margin: 100px auto 0;
    line-height: 1;
    border: 0;
    letter-spacing: .1em;
    transition: .5s all;
    -webkit-transition: .5s all;
    -moz-transition: .5s all;
    -o-transition: .5s all;
    -ms-transition: .5s all;
    -webkit-appearance: none;
    cursor: pointer;
}
.contact_form input[type=submit]:hover{border-radius: 0;}

@media screen and (max-width: 767px) {
  .contact_form input[type=text], .contact_form input[type=email] {
    font-size: 1.6rem;
  }
.contact_form input[type=submit] {margin: 60px auto 0;}
}

.btn_01 > a {
  width: 200px;
  display: inline-block;
  text-align: center;
  background: var(--main);
  color: var(--fcw);
  font-weight: bold;
  border: 2px solid var(--main);
  padding: 15px;
  font-size: var(--fz3);
  border-radius: 50px;
  line-height: 1;
}
.btn_01 > a:hover {
  background-color: var(--bgw);
  color: var(--main);
}
@media screen and (max-width: 767px) {
  .btn_01 > a {
    padding: 15px;
    font-size: var(--fz2);
  }
}
.btn_01.center > a {
  margin: 0 auto;
}
.btn_02 > a {
  width: 200px;
  display: block;
  text-align: center;
  color: var(--bgw);
  font-weight: bold;
  border: 1px solid var(--fcw);
  padding: 15px;
  font-size: var(--fz3);
  border-radius: 50px;
  line-height: 1;
}
.btn_02 > a:hover {
  background-color: var(--bgw);
  color: var(--main);
  opacity: 1;
}
.btn_black_02 {
  width: 300px;
  margin: auto;
  max-width: 100%;
}
.btn_black_02 a, .btn_black_02 input {
  background: var(--sub);
  font-size: 1.4rem;
  color: #fff;
  display: block;
  text-align: center;
  padding: 15px 30px;
  line-height: 1;
  border: 0;
  transition: 0.5s all;
  -webkit-transition: 0.5s all;
  -moz-transition: 0.5s all;
  -o-transition: 0.5s all;
  -ms-transition: 0.5s all;
  width: 100%;
  -webkit-appearance: none;
  cursor: pointer;
}

/* 会社概要 */
#company{}

.company_table{background: var(--bgw);padding: 30px;border-radius: 10px;display: flex;flex-direction: column;gap: 20px;}
.company_table dl{display: flex;justify-content: space-between;border-bottom: 1px solid var(--gray);padding-bottom: 20px;}
.company_table dl dt{width: 15%;font-weight: bold;}
.company_table dl dd{width: 80%;}
@media screen and (max-width: 767px) {
.company_table{padding: 20px;font-size: 1.4rem;}
.company_table dl{flex-wrap: wrap;gap: 15px;}
.company_table dl dt{width: 100%;}
.company_table dl dd{width: 100%;}
}

/* アクセス */
#access .left_area {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  #access .left_area {
    font-size: 1.4rem;
  }
}
/*ggmap
--------------------------------*/
.ggmap iframe {
  border: none;
}
@media screen and (max-width: 767px) {
  .ggmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
  }
  .ggmap iframe, .ggmap object, .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
/*-----------------------------------------*/
.f_18_sp_14 {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .f_18_sp_14 {
    font-size: 1.4rem;
  }
}
.news_box {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .news_box {
    padding: 10px;
  }
}
.news_box > div:first-child {
  width: 100px;
  border-right: #000 1px solid;
}
@media screen and (max-width: 767px) {
  .news_box > div:first-child {
    width: 100%;
    border-right: none;
  }
}
.news_box > div:last-child {
  width: 960px;
  font-size: 1.4rem;
  position: relative;
  padding-right: 160px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .news_box > div:last-child {
    width: 100%;
    padding-right: 100px;
  }
}
.swiper {
  overflow: hidden;
  padding: 30px 0;
}
@media screen and (max-width: 767px) {
  .swiper {
    padding: 10px 0;
  }
}
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after, .swiper-button-next::after {
  bottom: 0;
  content: "";
  height: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 0;
}
/* 画像サイズ調整 */
.swiper-slide img {
  height: auto;
  width: 100%;
}
.box_01 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.box_01 > div:first-child {
  width: 53%;
}
@media screen and (max-width: 767px) {
  .box_01 > div:first-child {
    width: 90%;
    margin-bottom: 30px;
  }
}
.box_01 > div:first-child img {
  width: 100%;
  height: 430px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .box_01 > div:first-child img {
    height: auto;
  }
}
.box_01 > div:first-child img.img_01 {
  width: 100%;
  height: 600px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .box_01 > div:first-child img.img_01 {
    height: auto;
  }
}
.box_01 > div:last-child {
  width: 25%;
  margin-left: 60px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .box_01 > div:last-child {
    width: 100%;
    margin-left: 0;
  }
}
.box_01.reverse {
  flex-direction: row-reverse; /* 横並び逆順 */
}
.box_01.reverse > div:last-child {
  margin-left: 0;
  margin-right: 60px;
}
@media screen and (max-width: 767px) {
  .box_01.reverse > div:last-child {
    margin-right: 0px;
  }
}
.txt_01 {
  font-size: 3.5rem;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .txt_01 {
    font-size: 2.4rem;
  }
}
.txt_02 {
  font-size: 2.5rem;
  font-weight: bold;
  text-decoration: underline;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .txt_02 {
    font-size: 2rem;
    margin-bottom: 20px;
  }
}
.box_02 {
  display: flex;
  flex-wrap: wrap;
}
.box_02 > div {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .box_02 > div {
    width: 100%;
  }
}
.box_02 > div a {
  display: block;
  box-sizing: border-box;
  padding: 160px;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .box_02 > div a {
    padding: 80px 60px;
    background-size: cover;
  }
}
.box_02 > div:first-child a {
  background: url("img/top/img_05.webp") center center no-repeat;
}
@media screen and (max-width: 767px) {
  .box_02 > div:first-child a {}
}
.box_02 > div:last-child a {
  background: url("img/top/img_06.webp") center center no-repeat;
}
@media screen and (max-width: 767px) {
  .box_02 > div:last-child a {}
}
.f_white {
  color: var(--fcw) !important;
}
.f_gray {
  color: var(--gray) !important;
}
.ph_swiper, .ph_swiper2 {
  width: 100vw;
  height: auto;
  overflow: hidden;
}
.ph_swiper2 {
  margin-top: 15px;
}
/* スライドの動き等速 */
.ph_swiper .swiper-wrapper, .ph_swiper2 .swiper-wrapper {
  transition-timing-function: linear;
}
.topic_box > div {
  position: relative;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .topic_box > div {
    width: 100%;
  }
  .topic_box > div:first-child {
    margin-bottom: 60px;
  }
}
.topic_box > div .btn_01 {
  position: absolute;
  bottom: 0;
  left: 0;
}
.bg_01 {
  background: url("img/top/bg_01.webp") center top no-repeat;
  background-size: cover;
  color: var(--fcw);
}
.com_dl {
  display: flex;
  border-bottom: #ccc 1px solid;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .com_dl {
    margin-bottom: 20px;
  }
}
.com_dl dt {
  width: 30%;
  padding: 15px 0;
  box-sizing: border-box;
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .com_dl dt {
    width: 100%;
    font-size: 1.6rem;
    padding: 0;
  }
}
.com_dl dd {
  width: 70%;
  padding: 15px 0;
  box-sizing: border-box;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .com_dl dd {
    width: 100%;
    font-size: 1.4rem;
    padding: 10px 0;
  }
}
.bg_member_01 {
  background: url("img/member/staff_01.webp") right center no-repeat;
  padding: 60px;
  display: flex;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .bg_member_01 {
    background: none;
    padding: 0 0 260px;
    position: relative;
  }
  .bg_member_01::before {
    content: "";
    background: url(img/member/staff_01.webp) right center no-repeat;
    width: 100%;
    height: 260px;
    background-size: cover;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.bg_member_01 div {
  background: #fff;
  padding: 30px;
  width: 50%;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .bg_member_01 div {
    padding: 0 0 20px;
    width: 100%;
  }
}
.bg_member_02 {
  background: url("img/member/staff_02.webp") left center no-repeat;
  padding: 60px;
  display: flex;
  background-size: cover;
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .bg_member_02 {
    background: none;
    padding: 0 0 260px;
    position: relative;
  }
  .bg_member_02::before {
    content: "";
    background: url(img/member/staff_02.webp) left center no-repeat;
    width: 100%;
    height: 260px;
    background-size: cover;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.bg_member_02 div {
  background: #fff;
  padding: 30px;
  width: 50%;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .bg_member_02 div {
    padding: 0 0 20px;
    width: 100%;
  }
}
.bg_member_03 {
  background: url("img/member/staff_03.webp") right center no-repeat;
  padding: 60px;
  display: flex;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .bg_member_03 {
    background: none;
    padding: 0 0 260px;
    position: relative;
  }
  .bg_member_03::before {
    content: "";
    background: url(img/member/staff_03.webp) right center no-repeat;
    width: 100%;
    height: 260px;
    background-size: cover;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.bg_member_03 div {
  background: #fff;
  padding: 30px;
  width: 50%;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .bg_member_03 div {
    padding: 0 0 20px;
    width: 100%;
  }
}
.bg_member_04 {
  background: url("img/member/staff_04.webp") left center no-repeat;
  padding: 60px;
  display: flex;
  background-size: cover;
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .bg_member_04 {
    background: none;
    padding: 0 0 260px;
    position: relative;
  }
  .bg_member_04::before {
    content: "";
    background: url(img/member/staff_04.webp) left center no-repeat;
    width: 100%;
    height: 260px;
    background-size: cover;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.bg_member_04 div {
  background: #fff;
  padding: 30px;
  width: 50%;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .bg_member_04 div {
    padding: 0 0 20px;
    width: 100%;
  }
}
.list_member > li {
  margin-bottom: 60px;
}
.list_member > li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .list_member > li {
    border-bottom: #ccc 1px dotted;
    margin-bottom: 40px;
    padding-bottom: 40px;
  }
  .list_member > li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
}
.list_blog01 {
  display: flex;
  font-size: 1.4rem;
  line-height: 1;align-items: center;margin-bottom: 15px;
}
.list_blog01 p {
  font-size: 1.4rem;
  line-height: 1;
}
.list_blog01 a {
  font-size: 1.4rem;color: var(--mocha);
  line-height: 1;display: inline-block;padding: 10px;border: 1px solid var(--mocha);border-radius: 5px;font-weight: bold;
}

.list_blog01 a:hover{border-radius: 0;background: var(--bgw);}

.list_blog01 > p:first-child {
  padding-right: 10px;
  border-right: #ccc 1px solid;
  margin-right: 10px;
}

.list_blog01 .post-categories{display: flex;flex-wrap: wrap;gap:10px;}

.news_00 > li {
  border-bottom: #ccc 1px solid;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.news_00 > li a {
  display: flex;
  flex-wrap: wrap;
}
.news_00 > li a p {
  width: 25%;
}
.news_00 > li a h3 {
  width: 75%;
}
@media screen and (max-width: 767px) {
  .news_00 > li a p {
    width: 100%;
  }
  .news_00 > li a h3 {
    width: 100%;
  }
}
.d_none {
  display: none;
}
.content_next_pre {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .content_next_pre {
    display: block;
  }
}
.content_next_pre > li {
  border: 1px solid var(--gray);
  box-sizing: border-box;
  width: 50%;
  display: flex;
}
.content_next_pre > li:nth-child(2) {
  border-left: none;
}
@media screen and (max-width: 767px) {
  .content_next_pre > li {
    width: 100%;
  }
  .content_next_pre > li:nth-child(2) {
    border-left: 1px solid var(--gray);
    border-top: none;
  }
}
.content_next_pre > li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.content_next_pre > li:first-child a {
 /* background: url("img/common/arrow_l.webp") 5% center no-repeat;*/
  padding: 30px 30px 30px 30px;
}
@media screen and (max-width: 767px) {
  .content_next_pre > li:first-child a {
    padding: 10px 10px 10px 10px;
  }
}
.content_next_pre > li:last-child a {
 /* background: url("img/common/arrow_r.webp") 95% center no-repeat;*/
  padding: 30px 30px 30px 30px;
}
@media screen and (max-width: 767px) {
  .content_next_pre > li:last-child a {
    padding: 10px 10px 10px 10px;
  }
}
.content_next_pre > li div:first-child {
  width: 30%;
}
.content_next_pre > li div:last-child {
  width: 70%;
  padding: 20px;
  box-sizing: border-box;
}
.cta-btn {
  position: relative;
  display: block;
  width: 400px;
  transition: all .4s;
  color: #fff !important;
  text-align: left;
  margin-top: 60px;
	letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .cta-btn {
    width: 100%;
    margin-top: 40px;
  }
}
.cta-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: calc(100% - 34px);
  margin-top: 17px;
  background-color: #fff;
  transition: all .3s;
}
.cta-btn:hover, .cta-btn p:hover {
  opacity: 1 !important;
}
.cta-btn:hover::before {
  height: 100%;
  margin-top: 0;
  background-color: #fff;
}
.cta-btn::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: calc(100% - 34px);
  margin-top: 17px;
  background-color: #fff;
  transition: all .3s;
}
.cta-btn:hover::after {
  height: 100%;
  margin-top: 0;
  background-color: #fff;
}
.cta-btn-inner {
  position: relative;
  padding: 30px;
}
.cta-btn-inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 15px;
  width: calc(100% - 30px);
  height: 1px;
  background-color: #fff;
  transition: all .3s;
}
.cta-btn:hover .cta-btn-inner::before {
  left: 0;
  width: 100%;
  background-color: #fff;
}
.cta-btn-inner::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 15px;
  width: calc(100% - 30px);
  height: 1px;
  background-color: #fff;
  transition: all .3s;
}
.cta-btn:hover .cta-btn-inner::after {
  left: 0;
  width: 100%;
  background-color: #fff;
}
.cta-label{
	position: relative;
}
.cta-label::before{
	position: absolute;
	content: "";
	  width: 40px;
  height: 8px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: skew(45deg);
	top: 10px;
	right: 0;
}
/*-------------------------------------------------------*/
.content_box{
	padding:150px 0px;
}
@media screen and (max-width: 767px) {
.content_box{
	padding:80px 20px;
}
}
.content_list > li{
	display: flex;
	justify-content: space-between;
	gap:100px;
	background:#fff;
	padding: 80px;
	margin-bottom:60px;
	border-radius: 20px;
	
}
@media screen and (max-width: 767px) {
	.content_list > li{
	gap:50px;
	padding: 20px;
	margin-bottom:60px;
		flex-wrap: wrap;
}
}
.content_list > li div:first-child{
	width: 50%;
	text-align: left;
}
@media screen and (max-width: 767px) {
.content_list > li div:first-child{
	width: 100%;
}
}
.content_list > li div:last-child{
	width: calc(50% - 100px);
}
@media screen and (max-width: 767px) {
.content_list > li div:last-child{
	width: 100%;
}
}

.content_list > li div:last-child figure{
	position: relative;
}
.content_list > li div:last-child figure::before{
	position: absolute;
	content: "";
	background-image: url("img/common/on_t.webp");
	width: 80px;
	height: 80px;
	top: 0;
	left: 0;
}

.content_list > li div:last-child figure::after{
	position: absolute;
	content: "";
	background-image: url("img/common/on_b.webp");
	width: 80px;
	height: 80px;
	bottom: 0;
	right: 0;
}
@media screen and (max-width: 767px) {
	.content_list > li div:last-child figure::before,
	.content_list > li div:last-child figure::after{
		background-size: 40px;
	width: 40px;
	height: 40px;
}
}
.photo_box_inner{
	display: none;
}
.photo_box_inner > div{
	display: flex;
}
@media screen and (max-width: 767px) {
.photo_box_inner > div{
	flex-wrap: wrap;
	gap:20px;
}	
}
.photo_box_inner > div p:first-child{
	width: 60%;
}
@media screen and (max-width: 767px) {
.photo_box_inner > div p:first-child{
	width: 100%;
}
}
.photo_box_inner > div p:last-child{
	width: 35%;
}
@media screen and (max-width: 767px) {
.photo_box_inner > div p:last-child{
	width: 100%;
}
}
.btn_link a{
	display: block;
	border: #fff 1px solid;
	color: #fff;
	font-size: 1.4rem;
	padding: 10px;
	border-radius: 5px;
	text-align: center;
	letter-spacing: 0.1em;
}
.btn_link a span{
	background: url("img/common/arrow_wh.webp") right center no-repeat;
	padding-right: 30px;
}
.ttl_main{
	margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
.ttl_main{
	margin-bottom: 60px;
}
}
.ttl_main p{
	font-size: 2rem;
	color: #D69154;
text-transform:capitalize;
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
.ttl_main p{
	font-size: 1.6rem;
}
}
.ttl_main h2{
	font-size: 3.4rem;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
.ttl_main h2{
	font-size: 2.4rem;
}
}
.ttl_main h2 span{
	border-bottom: #333 2px solid;
}


/* テーブルデザイン */

/* 角丸にしてシャドウをつける */
.round_table{border-radius: 12px;
	overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);margin-bottom: 10px;
}

.design01 {
 width: 100%;
 border-collapse: collapse;
 border-spacing: 0;
}

.design01 th {
 padding: 10px;
 background: var(--mocha5);
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
/* border: solid 1px #fff;*/
color:#fff;
}
.design01 tr {position: relative;}
.design01 tr th:first-child {
	border-left: 1px  var(--mocha5);}
.design01 tr th:last-child {	
	border-right: 1px  var(--mocha5);}

.design01 td {
 padding: 10px;
 border: solid 1px var(--mocha5);
}

.design02 {
 width: 100%;background:var(--bgw);
 border-collapse: separate;
 border-spacing: 0;
 min-width: 700px;
	border-radius: 12px;
	/*overflow: hidden;*/
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);margin-bottom: 10px;
	border-left: 1px  var(--mocha5);
	border-top: 1px  var(--mocha5);
}

table.design02 tbody tr:last-child th{
	border-radius:0 0 0 10px; 
}
table.design02 tbody tr:last-child td:last-child{
	border-radius:0 0 10px 0; 
}

table.design02 tbody tr{
	position: relative;
}

.design02 th {
 padding: 12px;text-align: center;
 background: var(--mocha5);
	border-right: 1px solid var(--gray4);
/*	border-left: 1px solid var(--bgw);*/
/* border: solid 1px #fff;*/
color:var(--fcw);font-weight: bold;
}



.design02 tr th:first-child {
	border-left: 1px  var(--mocha5);	border-radius:10px 0 0 0;position: sticky;left: 0; }
.design02 tr th:last-child {	
	border-right: 1px  var(--mocha5);	border-radius:0 10px 0 0; }

.design02 td {/*text-align: center;*/
 padding: 15px;line-height: 1.5;
 border-bottom: solid 1px var(--gray4);
 border-right: solid 1px var(--gray4);
	min-width: 140px;
}
.design02 tr td:first-child{ border-left: solid 1px var(--gray4);position: sticky;left: 0;}
@media screen and (max-width: 767px) {
	.design02 td ,.design02 th{font-size: 12px;padding: 8px 12px;min-width: auto;}
}






.design03 {
 width: 100%;background:var(--bgw);
 border-collapse: separate;
 border-spacing: 0;
 min-width: 700px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);margin-bottom: 10px;
	border-left: 1px  var(--gray5);
	border-top: 1px  var(--gray5);
}



table.design03 tbody tr{
	position: relative;
}

.design03 th {
 padding: 12px;
text-align: left;
	border-right: 1px solid var(--gray5); border-bottom: solid 1px var(--gray5);
/*	border-left: 1px solid var(--bgw);*/
/* border: solid 1px #fff;*/
color:var(--fcw);font-weight: bold;
}


.design03 thead tr th {text-align: center;}
.design03 tr th:first-child {
	border-left: 1px  var(--mocha5);	/*position: sticky;left: 0; */}
.design03 tr th:last-child {	
	border-right: 1px  var(--mocha5);	 }

.design03 caption{ padding: 12px;
color:var(--fcw);font-weight: bold;border-bottom: solid 1px var(--gray5);}

.design03.pink caption {background: var(--pink4); }
.design03.orange caption {background: var(--orange6);}
.design03.green caption {background: var(--green9);}
.design03.blue caption {background: var(--blue4);}
.design03.mocha caption {background: var(--mocha11);}

.design03.pink thead tr th {background: var(--pink1); }
.design03.orange thead tr th {background: var(--orange3);}
.design03.green thead tr th {background: var(--green3);}
.design03.blue thead tr th {background: var(--blue1);}
.design03.mocha thead tr th {background: var(--mocha8);}

.design03.pink tbody tr th {background: var(--pink2); }
.design03.pink tbody tr:nth-child(even) td {background: var(--pink3); }

.design03.orange tbody tr th {background: var(--orange4);}
.design03.orange tbody tr:nth-child(even) td {background: var(--orange5); }

.design03.green tbody tr th {background: var(--green7);}
.design03.green tbody tr:nth-child(even) td {background: var(--green8); }

.design03.blue tbody tr th {background: var(--blue2);}
.design03.blue tbody tr:nth-child(even) td {background: var(--blue3); }

.design03.mocha tbody tr th {background: var(--mocha9);}
.design03.mocha tbody tr:nth-child(even) td {background: var(--mocha10); }


.design03 td {/*text-align: center;*/
 padding: 15px;line-height: 1.5;
 border-bottom: solid 1px var(--gray5);
 border-right: solid 1px var(--gray5);
	min-width: 140px;
}
.design03 tr td:first-child{ border-left: solid 1px var(--gray5);/*position: sticky;left: 0;*/}
@media screen and (max-width: 767px) {
	.design03 td ,.design03 th{font-size: 12px;padding: 8px 12px;min-width: auto;}
}




/*----2021_01_column_table_price--------- */
table.price_table, .price_table_3 {
  width: 100%;
  margin-bottom: 10px;
  background-color: #fff;
}
table.price_table th {
  box-sizing: border-box;
  width: 50%;
  padding: 10px 0px;
  background-color: /*#80624d*/ var(--mocha5);
  border: 1px solid #cccccc !important;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}
table.price_table th.span, .price_table_3 th.span {
  width: 100% !important;
}
table.price_table td {
  box-sizing: border-box;
  width: 50%;
  padding: 15px;
  border: 1px solid #cccccc !important;
  line-height: 1.5;
  text-align: center;
}
.stripe tr:nth-child(odd) td {
  background-color: #eeece1;
}
.stripe02 tr:nth-child(even) td {
  background-color: var(--ivory3);
}
.stripe02 tr:nth-child(odd) td {
  background-color: var(--bgw);
}
.price_table_3 th {
  box-sizing: border-box;
  width: calc(100% / 3);
  padding: 10px 0px;
  background-color: /*#80624d*/ var(--mocha5);
  border: 1px solid #ccc;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}
.price_table_3 td {
  box-sizing: border-box;
  width: calc(100% / 3);
  padding: 15px;
  border: 1px solid #ccc;
  line-height: 1.5;
  text-align: center;
}
.price_table td .price, .price_table_3 td .price {
  font-size: 24px;
  font-weight: bold;
  color: var(--fcr);
}
.price_table td.pink, .price_table_3 td.pink {
  background-color: #fae2e1;
}
.price_table td.blue, .price_table_3 td.blue {
  background-color: #dbeef3;
}
.price_table td.orange, .price_table_3 td.orange {
  background-color: #fdeada;
}
.price_table td.green, .price_table_3 td.green {
  background-color: #ebf1dd;
}
@media screen and (max-width: 767px) {
  .price_table th {
    box-sizing: border-box;
    width: 50%;
    padding: 15px;
    border: 1px solid #ccc;
    line-height: 1.5;
    text-align: center;
  }
  .price_table_3 th {
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid #ccc;
    line-height: 1.5;
    text-align: center;
  }
  .price_table th.span, .price_table_3 th.span {
    width: 100% !important;
  }
  .price_table td {
    box-sizing: border-box;
    width: 50%;
    padding: 15px;
    border: 1px solid #ccc;
    text-align: center;
    font-size: 12px;
  }
  .price_table_3 td {
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid #ccc;
    text-align: center;
    font-size: 12px;
  }
  .price_table td .price, .price_table_3 td .price {
    font-size: 18px;
    font-weight: bold;
    color: var(--fcr);
  }
}



/*----2024_03_column_table_price--------- */

.price_table_4 {
  width: 100%;
  margin-bottom: 10px;
  background-color: #fff;
}
table.price_table_4 th {
  box-sizing: border-box;
  padding: 10px 0px;
  background-color: var(--mocha5);
  border: 1px solid #cccccc !important;
  line-height: 1.5;font-size: 20px;
  color: #fff;font-weight: bold;
  text-align: center;
}
table.price_table_4 td {
  box-sizing: border-box;
  padding: 15px;
  border: 1px solid #cccccc !important;
  line-height: 1.5;
  text-align: center;
}
table.price_table_4 tr td:nth-child(1){width: 65%;text-align: left;background: var(--ivory);/*background: var(--ivory2);*/}

.price_table_4 td .price {
  font-size: 24px;
  font-weight: bold;
  color: var(--fcr);
}
.price_table_4 td.pink {
  background-color: #fae2e1;
}
.price_table_4 td.blue {
  background-color: #dbeef3;
}
.price_table_4 td.orange {
  background-color: #fdeada;
}
.price_table_4 td.green {
  background-color: #ebf1dd;
}
@media screen and (max-width: 767px) {

  .price_table_4 th {
    box-sizing: border-box;
    padding: 15px;font-size: 16px;
    border: 1px solid #ccc;
    line-height: 1.5;
    text-align: center;
  }
.price_table_4 th.span {
    width: 100% !important;
  }
  .price_table_4 td {
    box-sizing: border-box;
    width: 50%;
    padding: 15px;
    border: 1px solid #ccc;
    text-align: center;
    font-size: 12px;
  }
  .price_table_4 td {
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid #ccc;
    text-align: center;
    font-size: 12px;
  }
.price_table_4 td .price {
    font-size: 18px;
    font-weight: bold;
    color: var(--fcr);
  }
}


/*----2024_05_column_table_--------- */

table.paint_table{
  width: 100%;
  margin-bottom: 10px;
  background-color: #fff;
}
table.paint_table th {
  box-sizing: border-box;
  width: 50%;
  padding: 10px 0px;
  background-color: /*#80624d*/ var(--mocha5);
  border: 1px solid #cccccc !important;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}
table.paint_table th.span {
  width: 100% !important;
}
table.paint_table td {
  box-sizing: border-box;
  padding: 15px;
  border: 1px solid #cccccc !important;
  line-height: 1.5;
  text-align: center;
}

table.paint_table tr td:nth-child(1){width: 25%; background: var(--ivory);/*background: var(--ivory2);*/} 
table.paint_table tr td:nth-child(2){text-align: left;}

.stripe tr:nth-child(odd) td {
  background-color: #eeece1;
}
.paint_table td .price {
  font-size: 24px;
  font-weight: bold;
  color: var(--fcr);
}
@media screen and (max-width: 767px) {
  .price_table th {
    box-sizing: border-box;
    width: 50%;
    padding: 15px;
    border: 1px solid #ccc;
    line-height: 1.5;
    text-align: center;
  }
  .paint_table th {
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid #ccc;
    line-height: 1.5;
    text-align: center;
  }
  .paint_table th.span {
    width: 100% !important;
  }
  .paint_table td {
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid #ccc;
    text-align: center;
    font-size: 12px;
  }
table.paint_table tr td:nth-child(1){width: 35%;padding: 15px 0;} 
  .paint_table td {
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid #ccc;
    text-align: center;
    font-size: 12px;
  }
  .paint_table td .price {
    font-size: 18px;
    font-weight: bold;
    color: var(--fcr);
  }
}

/* //テーブルデザイン ここまで */



