@charset "UTF-8";
@import url("grid.css");

:root { /* 色変更される場合は、#以降のカラーコードを変更してください IE非対応 */
    --base-color: #461f00;
    --link-color: #FF6F80;
    --linkhover-color: #999;
    --back-color: #f7f7f7;
    --border-color: #ccc;
    --white-color: #fff;
    --#navi-color: #461f00;
}
html {
    scroll-behavior: smooth;/* スムーススクロール */
}
body {
    background: var(--white-color); 
    color: var(--base-color);
    font-family: 'Helvetica Neue','Helvetica','Arial',YuGothic,'Yu Gothic', sans-serif;
    }

h1 {
  text-align: center;
}

@media screen and (min-width: 768px){
.main-contents {
    max-width: 700px;
    margin: 0 auto;
    align-items: center;
    }

.comparison-table-wrap {
    width: 100%;
    margin: 0 auto;
    }

.container {
    margin: 0 auto;
}

}
      

img {
	max-width:100%;
	height: auto;/*高さ自動*/
}
a {
    color: var(--link-color);
    text-decoration-line: none;
}

p {
    line-height: 2.2em;
}

a:hover { 
    color: var(--linkhover-color);
}
h2 {
    position: relative;
    text-align: center;
    line-height: 1.5em;
    font-size: 1.5em;
    margin: 0 1em;
    font-weight: 500;
}

h3 {
  position: relative;
  text-align: center;
  line-height: 1.5em;
  font-size: 1em;
  margin: 0 1em;
  font-weight: 500;
}
/*h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 3px;
    background-color: #ad5c00;   
}*/

span.under{
        font-weight: bold;
        background:linear-gradient(transparent 80%, rgb(255, 207, 102) 60%);
}

span.under2{
    font-weight: bold;
    background:linear-gradient(transparent 80%, rgb(255, 255, 255) 60%);
}

.under{
    font-weight: bold;
    background:linear-gradient(transparent 80%, rgb(255, 207, 102) 60%);
}
-------------------------------------*/

.button {
    margin: 1rem;
}

.button_solid004 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 300px;
    padding: 10px 25px;
    color: #FFF;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background: #6bb6ff;
    border-radius: 8px;
    border-bottom: solid 5px #1d7fde;
}
.button_solid004 a:hover {
    border-bottom: solid 2px #1d7fde;
    transform: translateY(3px);
}



/*
  Header
*/

.header {
    position: sticky; /* headerを追従にする */
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.764);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    z-index: 100;
  }
  .header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1em;
  }
  
  .logo {
    font-size: 1.25em;
    font-weight: bold;
    margin: 0 auto;
}
  
  .logo img {
    width: 60%;
  }
  
  @media screen and (max-width: 767px){
    .logo {
        text-align: center;
      }
    }
  
    @media screen and (min-width: 768px){

      
      .logo img{
      width: 100%;
        }
      }      

  
  /* ハンバーガーボタンのデザイン */
  .drawer__button {
    position: relative;
    width: 3rem;
    height: 3rem;
    background-color: transparent;
    border: none;
    cursor: pointer;
    z-index: 999; /* メニューを開いている時もクリックできるよう設定 */
  }
  /* ハンバーガーボタン内の線 */
  .drawer__button > span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2rem;
    height: 2px;
    background-color: black;
    transform: translateX(-50%);
  }
  .drawer__button > span:first-child {
    transform: translate(-50%, calc(-50% - 0.5rem));
    transition: transform 0.3s ease;
  }
  .drawer__button > span:nth-child(2) {
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease;
  }
  .drawer__button > span:last-child {
    transform: translate(-50%, calc(-50% + 0.5rem));
    transition: transform 0.3s ease;
  }
  /* 展開時のデザイン */
  .drawer__button.active > span:first-child {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .drawer__button.active > span:nth-child(2) {
    opacity: 0;
  }
  .drawer__button.active > span:last-child {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  /* メニューのデザイン */
  .drawer__nav {
    position: fixed; /* 追従ヘッダーなどでも表示できるよう設定しておく */
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    transition: opacity 0.3s ease;
    opacity: 0;
    visibility: hidden;
  }
  .drawer__nav.active {
    opacity: 1;
    visibility: visible;
  }
  .drawer__nav__inner {
    position: relative;
    width: 80%;
    height: 100%;
    background-color: rgb(255, 255, 255);
    padding: 4rem 1.5rem 1rem;
    margin: 0 0 0 auto;
    overflow: scroll;
    transform: translateX(100%);
    transition: transform 0.3s ease;
  }
  .drawer__nav.active .drawer__nav__inner {
    transform: translateX(0);
  }
  .drawer__nav__menu {
    list-style: none;
    padding-left: 0;
  }
  .drawer__nav__link {
    display: block;
    color: black;
    text-decoration: none;
    padding: 1em 2rem;
    border-bottom: solid 1px lightgray;
  }
  
  /* ハンバーガーメニュー展開時、背景を固定 */
  body.active {
    height: 100%;
    overflow: hidden;
  }


.sitetitle {
}

.sitetitle img{
    width: 100%;
}



.info {
    margin-top: 5px;
    margin-right: 5px;
    font-size: 14px;
}

.contact-tel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 15px;
    font-size: 30px;
    font-weight: 700;
    color: #f76f00;
    text-decoration: none;
    flex-direction: column; 
}

.contact-sub1 {
    font-size:15px;
    font-weight: 500;
    margin-bottom: -10px;
}

.contact-sub2 {
    font-size:11px;
    font-weight: 500;
    color: #333;
    margin-top: -10px;
}

.contact-sub3 {
    flex-direction: row; 
}

.i {
    text-align: left;
}

.contact-tel:hover {
    opacity: 0.9;
    color: var(--base-color);
}

/* LINE予約ボタンのスタイル */
.reservation-button {
    background-color: #089b1e;
    color: #ffffff;
    padding: 10px 30px 10px 50px;
    border-radius: 60px;
    text-decoration: none;
    font-size: 20px;
    position: relative;
}

.reservation-button::before {
    font-family: "Font Awesome 6 Brands";
    content: '\f3c0';
    font-size: 30px;
    font-weight: 400;
    margin-right: 10px;
    color:#fff;
    position: absolute;
    left: 15px;
}
  
.reservation-button:hover {
    background-color: #53c463;
  }

.reservation-button a {
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column; 
}
.contact-sub4 {
    font-size:15px;
    margin-bottom: -10px;
}

@media screen and (min-width: 768px){
.sitetitle img{
    width: 80%;
}


.header-box {
    margin-bottom: -4em;
    width: 80%;
}
.header-box ul {
    display: flex;
    justify-content: flex-end;
    list-style: none;
}

.header-box li img{
    width: 90%;
}
}
/*スマホ用メニュー
-------------------------------------*/	
@media screen and (max-width: 768px){
    #navi {
        display: none !important;
    }

    #open,#close {
        display: none !important;
    }
    .pc {
        display: none;
    }
}
@media screen and (min-width: 768px){
/* PC時はMENUボタンを非表示 */
#open,#close {
    display: none !important;
}

.FixedMenuSection {
    display: none !important;
}

.sp {
    display: none;
}

}

@media screen and (max-width: 768px){
.header {
	flex-direction: column;
    margin-bottom: 1px;
}
.header #open,#close  {
    position: absolute;
    top: 25px;
    right: 12px;
}
#navi ul {
	flex-direction: column;
}
.header li {
	padding-top: 0;
}
/* スマホ時はMENUボタンを表示 */
#open {
    display: block;
    background: url(../img/button.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    border: none;
    position: absolute;
    top: 10px;
    right: 12px;
}
#close  {
    display: block;
    background: url(../img/button2.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    border: none;
    position: absolute;
    top: 10px;
    right: 12px;
}
#navi li a {
    border-bottom: 1px dashed var(--link-color);
}
/* スマホ時はメニューを非表示 */
#navi {
    display: none;
}
}
/* ドロップダウンメニュー
-------------------------------------*/
.menu > li {
	display: block;
	position: relative;
}
.menu > li > ul {
	display: none;
}
.menu > li:hover ul {
	display: block;
	position: absolute;
    width: 250px;
    z-index: 100;
    background-color: var(--back-color);
    margin-left: 0;
    margin-top: 0;
}
.menu li ul, .menu li ul li   {
    margin: 0;
    padding: 0;
    border-bottom: 1px dashed var(--link-color);
} 
.menu li ul, .menu li ul li:last-child   {
    border-bottom: none;
}
/*メイン画像
-------------------------------------*/
#mainimg {
    width: 100%;
    height: 100%;
    text-align: center;
    position: relative;
}
#mainimg h1 {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 1em;
    color: var(--white-color);
    text-shadow: 1px 2px 10px #5c2300; 
    font-size: 2em;
    font-weight: bold;
}

#mainimg .subh1 {
    position: absolute;
    top: 35%;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    color: var(--white-color);
    text-shadow: 1px 2px 10px #5c2300; 
    font-size: 1.5em;
    }

/*メインコンテンツ
-------------------------------------*/
main {
    margin: 0;
}

.gray-back {
	background-color: var(--back-color);
    /*background: url('../img/gray-back.jpg'); gray-back.jpg背景画像を使用したい時にオンにしてください*/
    background-size: cover;
}

.expert-wrapper {
    width: 100%;
    text-align: center;
    margin: 0 auto;
}

.expert-wrapper img{
    width: 100%;
    
}

.about-fm_top {
    margin: 1em;
    padding: 1em 0 0;
}

.about-fm_top img{
    border: solid 3px #823600;
}


/* ページネーションの余白 */
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 20px 20px;
}
/* ページネーションのサイズと色 */
.swiper-pagination-bullet {
  height: 30px;
  width: 30px;
}
/* 画像サイズ調整 */
.swiper-slide img {
  margin: 1em 0 2em;
  width: 100%;
}



/*こんなお悩みありませんか
-------------------------------------*/
.nayami-title {
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ 明朝', 'MS Mincho','ＭＳ Ｐ明朝','MS PMincho',sans-serif;
    font-weight: bold;
    margin: 1em .5em .5em;
}

.nayami-subtitle {
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ 明朝', 'MS Mincho','ＭＳ Ｐ明朝','MS PMincho',sans-serif;
    margin: 1em 1em 0;
    font-size: 1em;
}


.nayamicheck-wrapper {
    width: 100%;
    padding: 0 .3em ;

}

.nayamicheck-buttons ul{
    display: flex;
    list-style: none;
    flex-wrap: wrap;  /* 折り返し指定 */
    width: 100%;
}

.nayamicheck-buttons li{
    width: 180px;
    margin: 0 auto;
    padding: .5em 3px 0;
}

.nayamicheck-buttons li p {
    font-weight: bold;
    font-size: .8em;
    margin-top: .5em;
}


.nayamitype-title {
    font-size: 1.2em;
    font-weight: bold;
    margin: 0 auto -.2em;
    text-align: center;
    
}

.nayamitype-disc {
    font-size: .9em;
    margin: 0 .5em .5em;
}

.nayamidetail-check {
    font-weight: 600;
    margin: 0 auto;
    padding: .2em .5em;
    background-color: #ffffff;
    font-size: .8em;
    color: #521600;
    border-radius: 5px;
    text-align: center;
    box-shadow: 3px 3px #521600;
    width: 140px;
    
}




/*コースボタン
-------------------------------------*/
.course-buttons-wrapper{
    width: 100%;
}

.course-buttons {
    display: flex;
    flex-wrap: wrap;  /* 折り返し指定 */
    justify-content: center;

}

.course-menu {
    align-items: center;
    text-align: center;
    width: 95%;
    margin: .5em .5em .5em;
    padding: 0 0 1em;
    background-color: #fff;
    color: #422300;
    font-size: 1.1em;
    line-height: 1em;
    box-shadow: 2px 2px 4px gray;
}

.course-menu img{
}

.course-menu-title {
    font-weight: bold;
    background-color: #7D583E;
    color: #fff;
    padding: 1em;
    font-size: 1.3em;
}

.course-menu-sub {
    align-items: center;
    text-align: center;
    width: 100%;
    margin: 1em .2em 0;
    padding: 0 0 1em;
    background-color: #fff;
    color: #422300;
    font-size: 1.1em;
    line-height: 1em;
    box-shadow: 2px 2px 4px gray;
}

.course-menusub img{
    margin-bottom: 1em;
}

.course-menu-title-sub {
    font-weight: bold;
    margin: 1em 0 0;
}

.course-sub-title {
    font-weight: bold;
    font-size: .8em;
    margin: 1em 2em .8em;
    text-align: left;
}

.course-sub-title-last {
    font-weight: bold;
    font-size: .8em;
    margin: 1em 2em 0;
    text-align: left;
}


.button-001 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 380px;
    margin: .2em;
    padding: 2em .5em;
    background-color: #fff;
    color: #422300;
    font-size: 1.1em;
    line-height: 1em;
}

.button-1 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    margin:0 auto;
    padding: 2em 3em;
    border: 1px solid #212121;
    background-color: #fff;
    color: #212121;
    font-size: 1em;
}





.price-box {
  position: relative;
  width: 100%;
  margin: 0 auto;
  font-size: 14px;
  font-weight: 300;
  overflow: hidden;
}

p.price-detail{
  text-align: center;
  font-size: .9em;
  margin: -1em 0;
}

.box-price1 {
  max-width: 400px;
  margin: 20px auto 20px;
  padding-bottom: 10px;
  border: 2px solid #ffacb6;
  border-radius: 3px;
}

.box-price1-title {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  flex-wrap: wrap; 
  background-color: #ff929f;
  margin: 0 auto;
}

.box-price1 span {
  justify-content: center;
  align-items: center;
  padding: .5em 0;
  color: #fff;
  font-weight: 600;
  font-size: 1.5em;
}

.box-price1 span:first-child {
  margin: 0 .5em 0 0;
  padding: .2em 1em;
  border-radius: 15px;
  background-color: #fff;
  color: #ff929f;
  font-size: 1em;
}

span.box-price-subtitle {
  margin-top: -1em;
  color: #fff;
  font-weight: 500;
  font-size: 1em;
}


.box-price2 {
  max-width: 400px;
  margin: 0 auto 20px;
  padding-bottom: 10px;
  border: 2px solid #ff6f80;
  border-radius: 3px;
}

.box-price2-title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; 
  position: relative;
  background-color: #ff6f80;
  margin: 0 auto;
  text-align: center;
}

.box-price2 span {
  justify-content: center;
  padding: .5em 0;
  color: #fff;
  font-weight: 600;
  font-size: 1.5em;
}

.box-price2 span:first-child {
  margin: 0 .5em 0 0;
  padding: .2em 1em;
  border-radius: 15px;
  background-color: #fff;
  color: #ff6f80;
  font-size: 1em;
}

span.box-price-subtitle {
  margin-top: -1em;
  color: #fff;
  font-weight: 500;
  font-size: 1em;
}


.box-price3 {
  max-width: 400px;
  margin: 0 auto 20px;
  padding-bottom: 10px;
  border: 2px solid #d55060;
  border-radius: 3px;
}

.box-price3-title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; 
  position: relative;
  background-color: #d55060;
  text-align: center;
}

.box-price3 span {
  justify-content: center;
  align-items: center;
  padding: .5em 0;
  color: #fff;
  font-weight: 600;
  font-size: 1.5em;
}

.box-price3 span:first-child {
  margin: 0 .5em 0 0;
  padding: .2em 1em;
  border-radius: 15px;
  background-color: #fff;
  color: #d55060;
  font-size: 1em;
}

span.box-price-subtitle {
  margin-top: -1em;
  color: #fff;
  font-weight: 500;
  font-size: 1em;
}

.box-price4 {
  max-width: 400px;
  margin: 0px auto 20px;
  border: 2px solid #dc9ea6;
  border-radius: 3px;
}

.box-price4-title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; 
  position: relative;
  background-color: #dc9ea6;
  margin: 0 auto;
}

.box-price4 span {
  justify-content: center;
  align-items: center;
  padding: .5em 0;
  color: #fff;
  font-weight: 600;
  font-size: 1.5em;
}

.box-price4 span:first-child {
  margin: 0 .5em 0 0;
  padding: .2em 1em;
  border-radius: 15px;
  background-color: #fff;
  color: #dc9ea6;
  font-size: 1em;
}

span.box-price-subtitle {
  margin-top: -1em;
  color: #fff;
  font-weight: 500;
  font-size: 1em;
}

.price4-text {
  display: grid;
	place-items: center;
}

.price4-subtext {
  padding: 1em 1.5em 0;
  color: #818181;
  font-size: 1.2em;
}


.price4-maintext {
  display: flex;
  align-items: flex-end;
  text-align: center;
  font-weight: bold;
  margin: 10px 0;
}

.zeinuki4{
  color: #5e5e5e;
  font-size: 2em;
}

.zeikomi4{
  color: #5e5e5e;
  font-size: 1em;
}

.price-text {
  display: grid;
	place-items: center;
  
}

.price-subtext {
  color: #818181;
  font-size: 1.1em;
  margin-top: 1em;
}

.yajirushi {
  margin: 0 auto;
  font-weight: bold;
  font-size: 2em;
  color: #818181;
}

.price-maintext {
  display: flex;
  align-items: flex-end;
  text-align: center;
  font-weight: bold;
  margin: 0 10px;
}

.zeinuki{
  font-size: 3em;
  color: #F44336;
}

.zeikomi{
  color: #818181;
  font-size: 1em;
  padding-bottom: .3em;
}

.balloon-001 {
  display: flex;
  justify-content: center;
  position: relative;
  max-width: 300px;
  margin: 15px 0;
  padding: 5px 1.2em;
  border-radius: 5px;
  background-color: #ffe149;
  color: #ff0000;
  font-size: 1.3em;
  font-weight: bold;
}

.balloon-001::before {
  position: absolute;
  bottom: -15px;
  width: 30px;
  height: 15px;
  background-color: #ffe149;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
}


.price-attention {
  text-align: left;
  line-height: 1em;
}

.group-desc {
  text-align: left;
  font-size: 1.5em;
  font-weight: 500;
  color: #fff;
  margin: 1em 0 -.5em;
  padding: 10px 0 3px;
  background-color: #FF6F80;
}


/*5つのポイント
-------------------------------------*/
.reason-title {
    margin: 0 auto;
    width: 100%;
    text-align: center;
}

.reason-img {
    width: 100%;
    z-index: 3;
}



.box-013 {
    position: relative;
    width: 100%;
    margin: 1.5em auto 1em;
    border-radius: 3px;
    background-color: #fff;
}

.box-013::before {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 1.2em;
    left: 1em;
    width: 3em;
    height: 3em;
    border-radius: 50%;
    background-color: #FFFFFF;
    color: #762d00;
    font-weight: 600;
    content: attr(data-number);
    border: 2px solid #a6e3ff;
}

.box-title {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: .5em 1.5em .5em 3.8em;
    background-color: #a6e3ff;
    color: #4f1f02;
    font-weight: 600;
    font-size: 1.3em;
    text-align: left;
    margin-top: -1em;
    margin-bottom: -1px;
}

.box-013 p {
    margin: 0 auto;
    padding: 1em 2em;
    color: #333;
    line-height: 1.9em;
    font-size: 1.05em;

}

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

.reason-wrapper {
    display: flex;
    width: 95%;
    margin: 0 auto;
}



.box-013 {
    width: 400px;
    margin: 2em auto;
}

.box-013::before {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -0.5em;
    left: .5em;
    width: 3em;
    height: 3em;
    border-radius: 50%;
    background-color: #FFFFFF;
    color: #762d00;
    font-weight: 600;
    content: attr(data-number);
    border: 2px solid #ffa200;
}

.box-title {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: .5em 1.7em .5em 4em;
    background-color: #ffa200;
    color: #4f1f02;
    font-size: 1.1em;
    text-align: left;
    margin-top: -1em;
    margin-bottom: -1px;
}

.box-013 p {
    margin: 0 auto;
    padding: 1em 2em;
    color: #333;
    line-height: 1.9em;
    font-size: 1em;

}
}

.staff-wrapper {
    display: flex;
}

.staff-box {
    width: 100%;
    margin: 0 1em;
    border: solid 1px #c5c5c5;

}

.staff-wrapper img{
    width: 100%;
    margin: ;
}

.staff-wrapper p{
    width: 100%;
    font-size: 1em;
    padding: 0 2em;
}

/*タイプチェック
-------------------------------------*/
.type-number {
    background-color: #762d00;
    width: 3vw;
    height: 3vw;
    padding: 1em;
    font-size: 1em;
    text-align: center;
    color: #fff;
}


/* 動画全体の横幅を指定するためのdiv */
.video-wrap {
    max-width: 50%; /* ここに動画の横幅を指定 */
    margin: 1em auto 0;
  }
  
  /* 動画を囲うdiv */
  .video {
    position: relative;
    width:100%; /* 横幅は100%で固定 */
    height:0; /* 高さは0にしておく(padding-topで高さを指定するため) */
    padding-top: 56.25%; /* 高さを指定(16:9) */
  }
  
  /* YouTube埋め込み用のiframe */
  .video iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  @media (max-width: 768px) {
    /* 動画全体の横幅を指定するためのdiv */
.video-wrap {
    max-width: 100%; /* ここに動画の横幅を指定 */
    margin: 0 auto;
  }
  
  /* 動画を囲うdiv */
  .video {
    position: relative;
    width:100%; /* 横幅は100%で固定 */
    height:0; /* 高さは0にしておく(padding-topで高さを指定するため) */
    padding-top: 56.25%; /* 高さを指定(16:9) */
  }
  
  /* YouTube埋め込み用のiframe */
  .video iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  }

.schedule {
    padding: 20px 10px;
}

.t-bnr {
    margin: 0 .5em 2em;
} 

.t-bnr2 {
    margin: 0;
}

.t-bnr3 {
    margin: 0 0 1em;
}


.menubutton {
    width: 100%;
}

.menubutton ul{
    display: flex;
    margin: 20px;
}

.menubutton li{
    list-style: none;
}

.button-003 {
    justify-content: center;
    align-items: center;
    max-width: 300px;
    margin: 1.5rem auto;
    padding: 1.6em 2em;
    border: none;
    border-radius: 25px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 25%), 0 2px 3px -2px rgb(0 0 0 / 15%);
    background-color: #8b7d6c;
    color: #fff;
    font-weight: bold;
    font-size: 1em;
    line-height: 1.2em;
}

.button-003 a {
        color: #fff;

}

.button-003:hover {
    background-color: #521600;
}

.button-intro {
    margin: 0 1em;
    text-align: center;
}

.button-intro2 {
    margin: -6em auto 0;
    text-align: center;
}

.btn-square-shadow {
    display: inline-block;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 1.5rem auto;
    padding: 1em 2em;
    text-decoration: none;
    background: #8b7d6c;/*ボタン色*/
    color: #fff;
    font-weight: bold;
    font-size: 1em;
    line-height: 1.2em;
    border-bottom: solid 4px #745f45;
    border-radius: 20px;
  }
  .btn-square-shadow:active {
    /*ボタンを押したとき*/
    -webkit-transform: translateY(4px);
    transform: translateY(4px);/*下に動く*/
    box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);/*影を小さく*/
    border-bottom: none;
  }

  .btn-square-shadow2 {
    display: inline-block;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto 1.5em;
    padding: 1em 2em;
    text-decoration: none;
    background: #8b7d6c;/*ボタン色*/
    color: #fff;
    font-weight: bold;
    font-size: 1em;
    line-height: 1.2em;
    border-bottom: solid 4px #745f45;
    border-radius: 20px;
  }
  .btn-square-shadow2:active {
    /*ボタンを押したとき*/
    -webkit-transform: translateY(4px);
    transform: translateY(4px);/*下に動く*/
    box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);/*影を小さく*/
    border-bottom: none;
  }


.typecheck-wrapper {
    width: 100%;
    padding: 0 1em 1em;

}

.typecheck-buttons ul{
    display: flex;
    list-style: none;
    flex-wrap: wrap;  /* 折り返し指定 */
    width: 100%;
}

.typecheck-buttons li{
    width: 155px;
    margin: 0 auto;
    padding: .5em .3em 3em;
}


.type-title {
    font-size: 1.2em;
    font-weight: bold;
    margin: 0 auto -.2em;
    text-align: center;
    
}

.type-disc {
    font-size: .9em;
    margin: 0 .5em .5em;
}

.detail-check {
    font-weight: 600;
    margin-bottom: -.3em;
    padding: .5em;
    background-color: #F0E2C5;
    font-size: .8em;
    color: #521600;
    border-radius: 10px;
    text-align: center;
    box-shadow: 5px 5px #521600;
    
}

#fronttype {
    margin: 2em 0 4em;
}

#fronttype p{
    padding: 0 1em 2em;
}



#backtype {
    margin: 2em 0 4em;
}

#backtype p{
    padding: 0 1em 2em;
}

#innnertype {
    margin: 2em 0 4em;
}

#innnertype p{
    padding: 0 1em 2em;
}

#outtype {
    margin: 2em 0 4em;
}

#outtype p{
    padding: 0 1em 2em;
}


.sub-typecheck-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
}

.sub-typecheck-wrapper img{
    width: 40%;
}


.abouttroble-wrapper {
    width: 100%;
    margin-top: 2em;
    padding: 0 1em 1em;

}

.abouttroble-buttons ul{
    display: flex;
    list-style: none;
    flex-wrap: wrap;  /* 折り返し指定 */
    width: 100%;
    justify-content: center;
}

.abouttroble-buttons li{
    width: 50%;
    padding: .5em;
}


.abouttroble-title {
    font-size: 1.2em;
    font-weight: bold;
    margin: 0 auto -.2em;
    text-align: center;
    
}

.abouttroble-disc {
    font-size: .9em;
    margin: 0 .5em .5em;
}


.tab-002 {
    display: flex;
    flex-wrap: wrap;
    gap: 0 10px;
    max-width: 90%;
    margin:0 auto;
}

.tab-002 > label {
    flex: 1 1;
    order: -1;
    opacity: .5;
    min-width: 70px;
    padding: .6em 1em;
    border-radius: 5px 5px 0 0;
    background-color: #521600;
    color: #fff;
    font-size: .9em;
    text-align: center;
    cursor: pointer;
}

.tab-002 > label:hover {
    opacity: .8;
}

.tab-002 input {
    display: none;
}

.tab-002 > div {
    display: none;
    width: 100%;
    padding: 1.5em;
    background-color: #fffaea;
    margin-top: -5px;
}

.tab-002 label:has(:checked) {
    opacity: 1;
}

.tab-002 label:has(:checked) + div {
    display: block;
}



/*ラインバナー
-------------------------------------*/
.linebnr02 {
}

.linebnr03 {
    margin-top: -2px;
}





    .heading-024 {
        position: relative;
        margin: 1em 1.5em .5em;
        padding-top: 1.5em;
        color: #2a2a2a;
        font-size: 1.2em;
        text-align: left;
        z-index: 1;
    }
    
    .heading-024::before {
        position: absolute;
        top: 0;
        left: 0;
        color: #dbdbdb;
        font-size: 2.5em;
        line-height: 1;
        content: attr(data-number);
        pointer-events: none;
        z-index: -1;

    }

    


.scene-wrapper {
    padding: 0 1em;
}

.scene-wrapper ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  text-align: center;
  list-style: none;

}


.scene-wrapper li{
    width: 45%;
}

.heading-015 {
    display: inline-block;
    position: relative;
    padding: .5em .7em;
    transform: rotate(-5deg);
    box-shadow: 0 0 5px rgba(0, 0, 0, .2);
    background-color:#fff5e0;
    color: #333333;
    font-size: 1em;
    font-weight: bold;
}


.scene-wrapper img{
    width: 100%;
    padding: 1rem .5rem 0;
}
    



.sub {
    font-size: 1em;
    margin:1em 0 -6px;
    text-align: center;
    color: #dba100;
}

.point {
    padding-bottom: 1em;
}

.point p {
    margin: 0 2em;
}






.price-box {
    width: 100%;
    margin: 0 auto;
  }
  
  .accordion-003 {
    max-width: 100%;
    border: 1px solid #d6dde3;
  }
  
  .accordion-003 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
    font-size: 1em;
  }
  
  .accordion-003 summary::-webkit-details-marker {
    display: none;
  }
  
  .accordion-003 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
  }
  
  .accordion-003[open] summary::after {
    transform: rotate(225deg);
  }
  
  .accordion-003 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 0 1em;
    color: #333333;
    transition: transform .5s, opacity .5s;
  }
  
  .accordion-003[open] p {
    transform: none;
    opacity: 1;
  }
  
 


/**
 * 最大幅の指定と中央寄せ
 */
 .container {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 1300px;
  }
  
 

    .mainvisual {
    display: none;
    }

    .mainvisual2-wrapper {
        width: 80%;
        margin: 0 auto;
    }
    
    .mainvisual2-wrapper ul {
        list-style: none;
        display: flex;
    }

    .mainvisual2-wrapper li {
        width: 50%;
    }

    .mainvisual2-wrapper li p {
        line-height: 1.8em;
        font-size: 1em;
        padding: 0 1.5em;
    }
    
    .heading-017 {
        display: flex;
        justify-content: start;
        align-items: center;
        position: relative;
        padding: .5em .7em;
        overflow: hidden;
        border: 2px solid #d07825;
        border-radius: 5px;
        color: #333333;
        font-size: 1.1em;
    }
    
    .heading-017:before {
        position: absolute;
        top: -60%;
        left: -50px;
        z-index: -1;
        transform: rotate(25deg);
        width: 100px;
        height: 200%;
        background-color: #d07825;
        content: '';
    }
    
    .heading-017 span {
        margin-right: 1.4em;
        color: #fff;
        font-size: 1.1em
    }
  }

@media (max-width: 768px) {
    .mainvisual2-wrapper {
        display: none;
    }

}
  
  /**
   * mainvisual
   */
  .mainvisual {
    overflow-x: hidden;
  }


.fusion-wrapper {
    display: flex;
}

.fusion-wrapper img {
    width: 50%;
    padding: 0 1em;
}

.heading-016 {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #333;
    font-size: 1em;
    margin: 0 1em;
}

.heading-016::before,
.heading-016::after {
    width: 1px;
    height: 30px;
    background-color: #333;
    content: '';
}

.heading-016::before {
    transform: rotate(-35deg);
    margin-right: 10px;
}

.heading-016::after {
    transform: rotate(35deg);
    margin-left: 10px;
}

.heading-017 {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #804400;
    font-size: 1.1em;
    margin: 0 1em;
}

.video01 {
    width: 100%;
    text-align: center;
    margin: 1.5em auto 0;
}




/*姉妹店
-------------------------------------*/
.bnr-box {
  width: 100%;
  padding: 1em .5em;
}

.bnr-list {
  display: flex;
  margin: 0 auto;
  flex-wrap:wrap;
}

.bnr-list a {
  margin: .5em .3em;
  width: 45%;
  box-shadow: 5px 5px 4px #ccc ;
}

@media screen and (min-width: 768px) {
  .bnr-box {
    width: 100%;
    margin: 0 auto;
    padding: 1em .5em;
  }

  .bnr-list {
    width: 100%;
    margin: 0 auto;
    flex-wrap:wrap;
  }

  .bnr-list a {
    margin: .5em auto .3em;
    width: 20%;
    box-shadow: 5px 5px 4px #ccc ;
  }
}



    

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

.video2 {
margin:0 auto;
width: 50%;
  }
}




/*FCページ
-------------------------------------*/  
.fc-button {
    text-align: center;
    display: block;
    margin: auto;
}


.button-simple {
    font-family: YuGothic,'Yu Gothic','Yu Gothic UI','ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ヒラギノ角ゴ StdN','Hiragino Kaku Gothic StdN','Osaka',sans-serif;
    font-size: 1.5em;
    font-weight: bold;
    width: 95%;
    padding: 20px;
    margin: -2em auto 2em;
    border-radius: 10px;/*角の丸み*/
    background-color: #ff7b00;
    color: #fff;/*文字色*/
    display: inline-block;
    text-shadow: 1px 1px 0px rgb(0, 0, 0, 0.3);
    box-shadow: 0 3px 0 rgb(0, 0, 0, 0.3);
    text-align: center;
  }
  
  .button-simple:after {
    content: '＞';/*好きなアイコン*/
    color: #fff;/*アイコンの色*/
    margin-left: 10px;
  }
  
  a:hover .button-simple {
    background-color: #cc0000;/*触れたときの背景色*/
    color: #fff;/*触れたときの文字色*/
    box-shadow: 0 0px 0 rgb(0, 0, 0, 0.3);
    animation-play-state: paused;
    top: 3px;
  }
  
  .yureru-js {
    animation: yureru-js 0.4s infinite;
  }
  @keyframes yureru-js {
    0% {
        transform: translate(1px, 1px);
    }
    25% {
        transform: translate(1px, -1px);
    }
    50% {
        transform: translate(-1px, -1px);
    }
    75% {
        transform: translate(-1px, 1px);
    }
    100% {
        transform: translate(1px, 1px);
    }
  }

  .scrolltable {
    margin: .5em;
  }

  .table-subtext {
    text-align: left;
    margin: 0 auto 2em;
    padding: 1em;
    font-size: .8em;
    line-height: 2.5em;
  }

  /*他業種FCとの比較表*/

table {
    border-collapse: collapse;
    margin: 0 auto 1em;
    padding: 0;
    width: 850px;
    table-layout: fixed;
    font-size: 1.2em;
  }
  
  table tr {
    background-color: #fff;
    padding: .35em;
    border: 2px solid #eee;
  }
  
  table th{
    border-right: 2px solid #fff;
    width: 80px;
    font-size: .7em;
    padding: 1em;
    text-align: center;
  }
  table td {
    padding: 1em .5em;
    border-right: 2px solid #eee;
    text-align: center;
    width: 80px;
    font-size: .8em;
  }
  
    

  table thead tr{
    background-color: #50535d;
    color:#fff;
  }
  
  thead th:first-child {
    background-color: #50535d;
    position: sticky;
    padding: 2em;
  }
  
  table tbody th {
      border: 2px solid #eee;
      background-color: #f0fdff;
      position: sticky;
      left:0;
      width: 30px;
  }
  
  #otokomae-title {
    padding: 1em .5em;
    border-right: 2px solid #eee;
    text-align: center;
    position: sticky;
    left: 110px;
    width: 70px;
  }
  
  #otokomae-content {
    padding: 1em .5em;
    border-right: 2px solid #eee;
    text-align: center;
    position: sticky;
    left: 110px;
    background-color: #fff;
    width: 70px;
  }
  
  .txt{
     text-align: left;
     font-size: .85em;
  }
  .price{
    color: #000;
    font-weight: bold;
    font-size:1.3em
  }
  .price span {
      font-size: .6em;
  }
  .blue_bk{
    background:#009FE6;
    position: sticky;
    left:0px;
  }
  
  
  .red-txt{
    color:#e81010
  }
  
  table .btnarea td {
    padding: .2em .5em;
    border-right:none
  }

  .bnr-text1 {
    font-family: YuGothic,'Yu Gothic','Yu Gothic UI','ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ヒラギノ角ゴ StdN','Hiragino Kaku Gothic StdN','Osaka', 
    sans-serif;
        font-size: 2.5em;
    color: #ff7b00;
    margin: .5em .5em 0;
    font-weight: bold;
    text-align: center;
  }
  
  .bnr-text2 {
    font-family: YuGothic,'Yu Gothic','Yu Gothic UI','ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ヒラギノ角ゴ StdN','Hiragino Kaku Gothic StdN','Osaka', 
    sans-serif;
        margin: 0 .5em;
    font-weight: bold;
    z-index: 30;
    font-size: 1.5em;
    text-align: center;
  }
  
  
  @media screen and (max-width: 600px) {
    .wrap{
       overflow-x: scroll;
       margin: 1em 0;
    }
  
  }

/*行き方
-------------------------------------*/
.heading-008 {
    display: inline-block;
    position: relative;
    margin: 2em 0 -2px;
    padding: .5em .7em .1em;
    border-radius: 10px;
    background-color: #fff;
    color: #4f1f02;
    font-size: 1em;
}

.heading-008-1 {
    display: inline-block;
    position: relative;
    margin: 2em 0 -2px;
    padding: .5em .7em .1em;
    border-radius: 10px;
    background-color: #4f1f02;
    color: #fff;
    font-size: 1em;
}

  .scroll_content { /* リスト全体のスタイル */
    display: flex;
    max-width: 90%;
    margin: auto;
    overflow-x: auto;
  }
  
  .scroll_content li { /* 各リストのスタイル */
    width: 90%;
    padding: 8px;
    margin: 3px;
    flex-shrink: 0;
    list-style: none;
  }
  
  .scroll_content img { /* 画像のスタイル */
    width: 100%;
    object-fit: cover;
    border-radius: 10px;

  }
  
  .scroll_content::-webkit-scrollbar {
    height: 12px; /* スクロールバーの高さ */
  }
  
  .scroll_content::-webkit-scrollbar-thumb {
    background: #aaa; /* ツマミの色 */
    border-radius: 6px; /* ツマミ両端の丸み */
  }
  
  .scroll_content::-webkit-scrollbar-track {
    background: #ddd; /* トラックの色 */
    border-radius: 6px; /* トラック両端の丸み */
  }
  
  
  @media screen and (min-width: 450px) {
  
    .scroll_content li {
      width: 45%;
    }
  
  }

/*ニュース
-------------------------------------*/
.news {
    margin: 0 auto;
    max-width: 980px;
    padding: 1rem;
}
.news-list{
    list-style: none;
  }
.news-list .item, .item p {
    margin-bottom: 0;
  }
.news-list .item a{
    display: flex;
    flex-wrap: wrap;
    color: var(--#navi-color);
    border-bottom: 1px solid var(--border-color);
    padding: 1.5rem 0;
}
.news-list .item:first-child a{
    border-top: 1px solid var(--border-color);
}
.news-list .item .date{
    min-width: 120px;
    color: var(--link-color);
}
.news-list .item a:hover .title{
    color: var(--base-color);
}
.center {
	text-align: center;
	margin-bottom: 4rem;
}

/* マウスホバーで画像を拡大
-------------------------------------*/
.hoverbox{
    max-height: 250px;
    overflow: hidden;
}
.hoverbox-img{
    transition-duration: 0.3s;
}
.hoverbox-img:hover{
    transform: scale(1.3);
    transition-duration: 0.3s;
}



/* サロン一覧ページ
-------------------------------------*/
.salonlist-shoptitle {
  padding:0 .4em .2em;
  border-bottom: 2px solid #ff7d91;
  background-color: #ffffff;
  color: #333333;
  font-size: 1.2em;
  font-weight: bold;
}

.salonlist-subtitle {
  text-align: center;
  font-size: 1em;
  font-weight: bold;
  color: #fff;
  background-color: #ff7d91;
  padding: .5em 0;
}

.button-wrapper {
  display: flex;
  text-align: center;
}

.button_reserve {
  width: 100%;
}

.button_reserve a {
  position: relative;
  text-align: center;
  width: 300px;
  margin: 0 auto 1em;
  padding: 1em;
  color: #FFF;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  background: #ff7d91;
  border-radius: 40px;
  border-bottom: solid 5px #ea6579;
}

.button_reservedesc {
  display: flex;
  width: 100%;
}

.button_reserve a:hover {
  border-bottom: solid 2px #ea6579;
  transform: translateY(3px);
}

.button_saloninfo a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto 1em;
  width: 300px;
  padding: 1em;
  color: #FFF;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  background: #818181;
  border-radius: 40px;
  border-bottom: solid 5px #616161;
}
.button_saloninfo a:hover {
  border-bottom: solid 2px #ea6579;
  transform: translateY(3px);
}



.salon-listwrapper {
  width: 100%;
  margin: 1em auto;
  text-align: center;
}

.salon-listwrapper img {
  width: 100%;
  margin-bottom: .5em;
}




.salon-listwrapper p:last-child {
  border-bottom: none;

}

.salon-listbuttons {
  width: 90%;
  text-align: center;
  margin: 1em auto;
  color: #000;
}

.salon-listbuttons ul {
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  justify-content: center
}

.salon-listbuttons li{
  width: 100px;
  margin: 0 .2em 1em;
  padding: .5em;
  font-size: 1em;
  font-weight: bold;
  text-align: center;
}

.salon-infotable {
  width: 90%;
}


.saloninfo-content{
  text-align: left;
  padding: 1em;
}

.saloninfo-title {
  width: 35px;
  font-weight: bold;
  text-align: center;
  padding: 1em  auto;
}

a{
  text-decoration:none !important;
}

.googlemap-info p {
  text-align: center;
  margin: 1em 0 1em;
  font-size: 1em;
}





.reserve-buttons {
  display: column;
  width: 100%;
  margin: 0 auto 3em;
}

.reserve-buttons img{
  width: 90%;
  padding: 0 .3em;
}

.footer-access__wrap input {
  display: none;
}

.footer-access__open-label,
.footer-access__close-label {
  cursor: pointer;
}

.footer-access__open-label {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto 1em;
  font-weight: 600;
}

.footer-access__open-label:hover {
  background-color: #ff6b81;
  color: #ffffff;
  outline: 1px solid #ffffff;
}

.footer-access {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: none;
}

.footer-access__open-input:checked + label + input + .footer-access {
  display: block;
  animation: footer-access-animation .6s;
}

.footer-access__content-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 650px;
  background-color: #fefefe;
  z-index: 2;
  border-radius: 5px;
}

.footer-access__close-label {
  background-color: #777;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 20px;
  width: 36px;
  height: 36px;
  line-height: 1.6;
  text-align: center;
  display: table-cell;
  position: fixed;
  top: -15px;
  right: -2%;
  z-index: 99999;
  font-size: 1.3em;
}

.footer-access__content {
  max-height: 50vh;
  overflow-y: auto;
  padding: 39px 45px 40px;
}

.footer-access__background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .45);
  z-index: 1;
}

@keyframes footer-access-animation {
  0% {
      opacity: 0;
  }
  100% {
      opacity: 1;
  }
}

@media only screen and (max-width: 520px) {
  .footer-access__open-label {
      max-width: 90%;
      margin: 0 auto;
      padding: .94em 2.1em .94em 2.6em;
  }

  .footer-access__close-label {
      top: -17px;
      right: -4%;
  }

  .footer-access__content-wrap {
      width: 90vw;
  }

  .footer-access__content {
      padding: 33px 21px 35px;
      max-width: 100%;
  }

  .footer-access__content img {
    max-width: 100%;
}
}



@media all and (max-width:767px) {
.salon-info {
  display: block;
  margin: 0 auto;

}  

.button-wrapper {
  display: block;
}
}


/*よくある質問
-------------------------------------*/
.faq {
  display: grid;
  gap: 1.5em;
  padding-block-start: 2em;
  max-inline-size: 60em;
  margin: auto;
}
.faq-title {
  font-size: 1.5em;
  text-align: center;
}
/*.faq-title:before {
  content: "- FAQ -";
  display: block;
  font-size: 0.5em;
  font-weight: normal;
  color: #666;
}*/
/* FAQ content */
.faq-content {
  --accent-color: #fe9f9f;
  --v-rythm: 1.6em;
  --gap: 1em;
  position: relative;
  background: #eee;
  border-radius: 1em;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}
.faq-content:after {
  content: "";
  position: absolute;
  inset-block-start: 30%;
  inset-inline-end: 2rem;
  display: block;
  inline-size: 2rem;
  aspect-ratio: 1;
  background: #666;
  overflow: hidden;
  rotate: 0deg;
  transition: rotate 0.4s 0s ease;
  clip-path: polygon(25% 10%, 25% 90%, 75% 50%);
}
.faq-content[open]:after {
  rotate: 90deg;
}
.faq-content[open] .faq-q:after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
}

@media screen and (max-width: 767px) {
.faq-content:after {
  inset-block-start: 30%;
  inset-inline-end: 1rem;

}
}

/* Q */
.faq-q {
  font-weight: bold;
  line-height: var(--v-rythm);
  display: flex;
  gap: var(--gap);
  padding: 1rem 3rem 1rem 1.5rem;
  font-size: .9em;
}


.faq-q::-webkit-details-marker {
  display: none;
}
.faq-q:hover {
  color: var(--accent-color);
}
.faq-q:before {
  content: "Q";
  display: block;
  color: var(--accent-color);
  font-size: var(--v-rythm);
}
/* A */
.faq-a {
  margin: 0;
  display: flex;
  gap: var(--gap);
  padding: 0 1.5em 1rem;
}
.faq-a:before {
  content: "A";
  font-weight: bold;
  color: var(--accent-color);
  font-size: var(--v-rythm);
}

p.faq-a {
font-size: .9em;
text-align: left;
}

/*料金表
-------------------------------------*/
.price-table {
    border-collapse: collapse;
    margin: 0 auto;
    padding: 0;
    width: 650px;
    table-layout: fixed;
    color: #000;
  }
  
.price-table tr {
    background-color: #fff;
    padding: .35em;
  }
.price-table thead{
    border-bottom: 5px solid #ff9900;
    
  }
.price-table tr:last-child{
     border-bottom: none
  }
.price-table th,
.price-table td {
    padding: 1em 10px 1em 1em;
    border-right: 1px solid #bbb;
    vertical-align: middle;
  }

.price-table th:last-child,
.price-table td:last-child{
      border: none;
  }
.price-table  tbody th {
      color: #ff9901;
      font-size: 1.1em;
  }
.price-txt{
     text-align: left;
     font-size: 1em;
  }

 
  .price{
     text-align: center;
     font-size: 1em;
  }

  .best-price {
    color: #f70000;
    font-size: 1.6em;
    font-weight: bold;
  }

  .price-txt{
    text-align: right;
    font-size: .7em;
 }

 .del {
    position: relative;
}
.del::after {
    content: '';
    transform: rotate(-14deg);
    width: 100%;
    border-top: 2px solid #f00;
    position: absolute;
    top: 50%;
    left: 0;
}

  @media screen and (max-width: 600px) {
    .price-table {
      border: 0;
      width:100%
    }
    .price-table th{
      display: block;
      border-right: none;
      border-bottom: 5px solid #ff9901;
      padding-bottom: .6em;
      margin-bottom: .6em;
  
    }
    .price-table thead {
      border: none;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
    }
    
    .price-table tr {
      display: block;
      margin-bottom: 2em;
    }
    
    .price-table td {
      border-bottom: 1px solid #bbb;
      display: block;
      font-size: .8em;
      text-align: right;
      position: relative;
      border-right: none;
      width: 40px;
    }
    
    .price-table td::before {
      content: attr(data-label);
      font-weight: bold;
      position: absolute;
      left: 10px;
    }
    
    .price-table td:last-child {
      border-bottom: 0;
    }
  }


/*お問い合わせ
-------------------------------------*/
.tel-banner, .mail-banner {
    border: 1px solid var(--base-color);
    padding: 2rem 3rem;
    text-align: center;
}
/*フッター
-------------------------------------*/

.footer-001 {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-top: 1em;
  padding: 25px 10px 4em;
  background-color: #fe9f9f;
}

.footer-001__logo {
  width: 200px;
  margin: 0 auto 1em;
}

.footer-001__list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1.5em;
  list-style-type: none;
}

.footer-001__link {
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  font-size: .9em;
}

.footer-001__copyright {
  margin: 1em 1em 2em;
  color: #ffffffb3;
  font-weight: 200;
  font-size: .6em;
}

/*電話
-------------------------------------*/
a.tel {
    display: inline-block;
}
@media screen and (min-width: 768px){
a[href*="tel:"] { /* PC時は電話番号無効 */
    pointer-events: none;
    cursor: default;
}
}
/*お問い合わせ
-------------------------------------*/
.contact-box {
	border: 1px solid var(--border-color);
	text-align: center;
	padding: 2rem 0;
}
.table {
	margin: 4rem 0;
}
.table th {
	width: 150px;
}
input[type="email"], input[type="number"], input[type="search"], input[type="text"], input[type="tel"], input[type="url"], input[type="password"], textarea { 
    background-color: var(--white-color);
}
/*コピーライト
-------------------------------------*/
.copyright {
    text-align: center;
    font-size: .8em;
}
.copyright a {
    text-decoration: none;
	display: inline;
}

@media screen and (max-width: 768px) {
    .copyright {
        padding: 0 2em 6em;
    }
}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 25px;
    right: 25px;
    display: block;
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    background: var(--white-color);
    border: 1px solid var(--linkhover-color);
    padding-top: 30px;
    text-align: center;
    text-decoration: none;
    opacity: 0.8;
}
#pagetop::after{
    content: "";
    display: block;
    border-top: 2px solid var(--base-color);
    border-right: 2px solid var(--base-color);
    width: 25%;
    height: 25%;
    top: 45%;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    transform: rotate(-45deg);
}
#pagetop:hover{
    opacity: 0.5;
}

/* 下層ページヘッダー
-------------------------------------*/
.subimg {
    height: 350px;
    background: url('../img/subimg.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    margin-bottom: 2rem;
}
.subimg h1 {
    height: 350px;
    line-height: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--white-color);
    text-shadow: 1px 2px 3px var(--link-color); 
    margin: 0;
}
/* パンくずリスト
-----------------------------------*/
.breadcrumb {
    margin: 0 0 1em 0;
    padding: 0;	
}
.breadcrumb li {
    list-style-type: none;
}
.breadcrumb li a {
    display: inline-block;
    color: var(--link-color);
}

/* 円グラフ
-----------------------------------*/
.chart-title {
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ 明朝', 'MS Mincho','ＭＳ Ｐ明朝','MS PMincho',sans-serif;
    font-weight: bold;
    margin: 0 1em .5em;
}

.chart-subtitle {
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ 明朝', 'MS Mincho','ＭＳ Ｐ明朝','MS PMincho',sans-serif;
    margin: 1em 1em 0;
    font-size: 1em;
}

.pie-chart-001 {
    position: relative;
    width: 300px;
    height: 300px;
    margin: 0 auto;
    border-radius: 50%;
    background-image: conic-gradient(#c17305 38%, #e8992a 28% 56%, #ecc813 20% 76%, #ffe669 15% 91%, #e2e2e2 9% 100%);
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ 明朝', 'MS Mincho','ＭＳ Ｐ明朝','MS PMincho',sans-serif;
}

.trouble1 {
    position: absolute;
    top: 40%;
    right: 25%;
    transform: translate(50%, -50%);
    color: #000000;
    font-weight: 600;
    font-size: 1em;
    text-align: center;
}

.trouble2 {
    position: absolute;
    top: 82%;
    right: 45%;
    transform: translate(50%, -50%);
    color: #000000;
    font-weight: 600;
    font-size: .9em;
    text-align: center;
    line-height: 1em;
}

.trouble3 {
    position: absolute;
    top: 70%;
    right: 70%;
    transform: translate(25%, -50%);
    color: #000000;
    font-weight: 600;
    font-size: .9em;
    text-align: center;
    line-height: 1em;
}

.trouble4 {
    position: absolute;
    top: 35%;
    right: 70%;
    transform: translate(25%, -50%);
    color: #000000;
    font-weight: 600;
    font-size: .9em;
    text-align: center;
    line-height: 1em;
}

.trouble5 {
    position: absolute;
    top: 15%;
    right: 57%;
    transform: translate(25%, -50%);
    color: #000000;
    font-weight: 600;
    font-size: .9em;
    text-align: center;
    line-height: 1em;
}

.chart-text {
    text-align: right;
    font-size: .7em;
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ 明朝', 'MS Mincho','ＭＳ Ｐ明朝','MS PMincho',sans-serif;
}

.pie-chart-002 {
    position: relative;
    width: 300px;
    height: 300px;
    margin: 0 auto;
    border-radius: 50%;
    background-image: conic-gradient(#ff9502 87%, #e2e2e2 13% 100%);
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ 明朝', 'MS Mincho','ＭＳ Ｐ明朝','MS PMincho',sans-serif;
}

.trouble6 {
    position: absolute;
    top: 75%;
    right: 50%;
    transform: translate(50%, -50%);
    color: #000000;
    font-weight: 600;
    font-size: 3.5em;
    text-align: center;
    width: auto;
}

.trouble6sub {
    position: absolute;
    top: 58%;
    right: 50%;
    transform: translate(50%, -50%);
    color: #000000;
    font-weight: 600;
    font-size: 1.3em;
    width: auto;
}


/*比較表
-------------------------------------*/
.hikaku {
    margin: 2em auto 1em;
}

.comparison-table-wrap{
    width:100%;
    max-width:600px;
    text-align: center;
  }
  .comparison-table-title{
    text-align: center;
    color: #fff;
    font-weight: bold;
    padding: 1em;
    letter-spacing: 1px;
    margin: 0;
    font-size:1.4em;
    box-shadow: 0 2px 5px rgba(100,100,100,0.1);
  }
  .comparison-table{
    width: 95%;
    background:#f8f9fb;
    margin:0 auto;
    padding:0.3em;
    font-family: 'Helvetica Neue','Helvetica','Arial',YuGothic,'Yu Gothic', sans-serif;

  }
  .comparison-table table{
    border-collapse: separate;
    border-spacing:5px 10px;
    border:none;
    margin-bottom: 0;
    font-size: 16px;

  }
  .comparison-table table th,.comparison-table table td {
    width:50%;
    text-align: center;
  }
  th.taping{
    background : #989898;
    border:none;
    color:#fff;
    box-shadow: 0 2px 5px rgba(100,100,100,0.1);
    padding: 1em 0.5em;
    line-height: 1.5;
    border-radius: 3px;
    font-size: 16px;
    margin-top: 1em;
  }

  th.taping:after{
    content: "";
    display: inline-block;
    position: absolute;
    width: 80px;
    height: 80px;
    top: 45px;
    right: -10px;
    background-size: contain;
  }

  th.insole{
    background : #F4B5BF;
    border:none;
    color:#333;
    box-shadow: 0 2px 5px rgba(100,100,100,0.1);
    padding: 1em 0.5em;
    line-height: 1.5;
    border-radius: 3px;
    font-size: 16px;
    margin-top: 1em;

  }

  th.insole:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 90px;
    height: 90px;
    top: 40px;
    left: -10px;
  }

  .comparison-table table tbody th{
    background : linear-gradient(90deg, rgba(71, 206, 255, 1) 0%, rgba(56, 224, 248, 1) 100%);
    text-align: center;
    color:#fff;
    border:none;
    border-radius:30px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    padding: 0.4em 1em;
    font-size: 16px;
    line-height: 1.3;
  }
  .comparison-table table tbody td{
    background:#fff;
    box-shadow: 0 2px 5px rgba(100,100,100,0.1);
    border-radius:3px;
    border:none;
    padding:1.2em;
    color: #555;
    line-height: 1.8;
    text-align:justify;
    vertical-align:top;
  }
  .comparison-table table tbody td p{
    margin:0;
    padding:0;
    margin-bottom:1em;
    font-size: 16px;
  }
  .comparison-table table tbody td .td-h{
    font-weight:bold;
    color:#555;
    font-size: 16px;
    margin-bottom:7px;
    line-height: 1.8em;
  }



  @media screen and (max-width: 768px){
    .comparison-table{
        padding:0 auto;
    }
    .comparison-table table{
      border-spacing:3px 10px;
    }
    .comparison-table table thead th{
      position: -webkit-sticky;
      position: sticky;
      top:56px;
    }
  }


/*比較表イエロー
-------------------------------------*/
/* 大見出し背景 */
.comparison-table-yellow .comparison-table-title{
    background:#F4B5BF !important;
    color: #333;
  }
  /* 中見出し背景 */
  .comparison-table-yellow .comparison-table table tbody th{
    background:#d9d9d9 !important;
    color: #333;
  }

  /* 全体背景 */
  .comparison-table-yellow .comparison-table{
  background:#ffffff!important;
  }


  /* 施術の流れ
-----------------------------------*/
    .flow-section {
      padding: 80px 20px;
      background: #fff;
      max-width: 1000px;
      margin: 0 auto;
    }

    .flow-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 80px;
    }

    .flow-item .image {
      flex: 1;
    }

    .flow-item .image img {
      max-width: 100%;
      height: auto;
      display: block;
    }

    .flow-item .text {
      flex: 1;
      padding: 0 50px;
    }

    .flow-item .number {
      font-size: 36px;
      font-weight: bold;
      margin-bottom: 10px;
    }

    .flow-item .title {
      font-size: 24px;
      font-weight: bold;
      margin-bottom: 20px;
    }

    .flow-item .desc {
      font-size: 16px;
      line-height: 1.8;
      color: #333;
      margin-bottom: 30px;
    }

    .flow-item .btn {
      display: inline-block;
      padding: 15px 40px;
      border: 1px solid #000;
      text-decoration: none;
      color: #000;
      font-size: 16px;
      transition: all 0.3s;
    }

    .flow-item .btn:hover {
      background: #000;
      color: #fff;
    }

    /* 交互配置のために偶数番目を逆にする */
    .flow-item.reverse {
      flex-direction: row-reverse;
    }

    /* スマホ対応 */
    @media (max-width: 768px) {
      .flow-item {
        display: block;
        text-align: center;
      }

      .flow-item.reverse {
        flex-direction: column;
      }

      .flow-item .text {
        padding: 0;
        margin-top: 30px;
      }

      .flow-item .number {
        font-size: 28px;
      }

      .flow-item .title {
        font-size: 20px;
      }

      .flow-item .desc {
        font-size: 15px;
      }
    }




.heading-009 {
    position: relative;
    padding: .5em .7em;
    border-radius: 10px;
    background-color: #2DA8E1;
    color: #fff;
    margin: 20px 30px 10px;
}

.heading-009::after {
    content: '';
    position: absolute;
    top: 95%;
    left: 30px;
    width: 0;
    height: 0;
    border: 11px solid transparent;
    border-top: 11px solid #2DA8E1;
}

.directions ul {
    display: flex;
    justify-content: center;
  }

.directions li {
    list-style: none;
    margin: 0 .3em;
  }



  #cards {
    display: flex;
    justify-content: center;
  }
  
  .card {
    width: 320px;
    height: auto;
  }
  
  .card:nth-child(2) {
    margin-right: 5px;
    margin-left: 5px;
  }
  
  .picture img {
    width: 100%;
  }
  
  .description {
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
    box-sizing: border-box;
    text-align: center;
  }

/*サブページ　トラブルの原因
-------------------------------------*/
.trouble-title {
font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ 明朝', 'MS Mincho','ＭＳ Ｐ明朝','MS PMincho',sans-serif;
font-weight: bold;
margin: 1em auto -.1em;
padding: 1em .5em 0;
}

.trouble-subtitle {
font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ 明朝', 'MS Mincho','ＭＳ Ｐ明朝','MS PMincho',sans-serif;
margin: 0 1em;
font-size: 1em;
}

.trouble-subtitle2 {
    font-weight: bold;
    margin: .5em auto;
    padding: 0 1.5em;
    width: 300px;
    border-top: 2px solid #762d00;
    border-bottom: 2px solid #762d00;
    }


.trouble-reasonbox {
}


.trouble-reason {
    width: 100%;
    text-align: center;
    margin-bottom: 2em;
}

.trouble-reason img{
    width: 80%;
    margin: 1em 0;
}

.trouble-reason h3{
    font-size: 1.2em;
    font-weight: bold;
    margin: .5em 1em 0;
    text-align: center;
}

.trouble-reason h3::before{

}

/*サブページ　当院の治療について
-------------------------------------*/
.point-subbox {
    display: flex;
    justify-content: center;
    width: 100%;
}

.point-subbox img {
    width: 50%;
    padding: 1em;
}





/*フッターメニュー
-------------------------------------*/
.foot-logo img {
    margin: 0 auto;
    padding: 2em 2em 1em;
}

.footer_g_nav {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 1000;
    overflow: hidden;
    width: 100%;
}

.footer_g_nav p {
    text-align: center;
    margin: 0 0 -.3em;
    font-weight: bold;
}
.footer_g_nav ul {
    display: flex;
    list-style: none;
    height: 100%;
}
.footer_g_nav li {
    width: 49%;
    margin: .5em auto 0;
}
.footer_g_nav li img {
    width: 100%;
    box-shadow: 2px 4px 1px rgba(0, 0, 0, 0.243);
}


@keyframes shiny {
  0% {
      transform: scale(0) rotate(25deg);
      opacity: 0;
  }

  50% {
      transform: scale(1) rotate(25deg);
      opacity: 1;
  }

  100% {
      transform: scale(50) rotate(25deg);
      opacity: 0;
  }
}

@keyframes shiny {
  0% { left: -20%; }
  10% { left: 120%; }
  100% { left: 120%; }
}

.shiny-btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: .8em;
  padding: 1em;
  color: #FFF;
  transition: 0.3s linear;
  font-weight: 600;
  background: #ff7d91;
  border-radius: 40px;
  border-bottom: solid 5px #ea6579;
}

.shiny-btn a:hover {
  border-bottom: solid 2px #ea6579;
  transform: translateY(3px);
}

.shiny-btn::after {
  content: '';
  position: absolute;
  top: -10%;
  left: -20%;
  width: 40px;
  height: 100%;
  transform: scale(2) rotate(20deg);
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
  
  /* アニメーション */
  animation-name: shiny;
  animation-duration: 5s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

/*.footer_g_#navi li:first-child {
    background: rgba(255,255,255,0.7);
}
.footer_g_#navi li:nth-child(2) {
    background: rgba(255,255,255,0.7);
}*/


@media screen and (max-width: 768px){
.footinfo1 {
    font-size: 1em;
    text-align: left;
}

.footinfo2 {
  font-size: 1em;
  text-align: left;
}

.footinfo3 {
  font-size: 1.6em;
  text-align: center;
  font-weight: bold;
  line-height: .8em;
  margin: 0 0 1em;
}

.foot_button{
    display: none;
}

.foot-infobox4 {
    width: 100%;
    padding: 1em 0 0;
}
}

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

.foot-info {
    width: 100%;
    text-align: center;
}

.foot-map {
    display: flex;
    margin: 0 auto;
    width: 80%;
}

.foot-infobox1-1 {
    width: 100%;
    margin-top: 1em;
}

.foot-infobox1-2 {
    width: 100%;
    margin: 2em 0;
    padding: .5em 1em;
    text-align: left;
}

.foot-infobox1-2 ul {
    display: flex;
}

.foot-infobox1-2 li {
    list-style: none;
}


.foot-infobox2 {
    width: 100%;
    flex-direction: column; 

}

.footinfo3 {
  font-size: 1.6em;
  text-align: center;
  font-weight: bold;
  line-height: .8em;
  margin: .5em 0 1em;
  width: 100%;
}



.foot-infobox3 {
    width: 80%;
    margin: 0 1em;
}

.foot-infobox4 {
    width: 100%;
    padding: 1em 0;
}

.route-box {
    width: 100%;
    padding-bottom: 3em;
}

.route {
    width: 80%;
    margin: 0 auto;
}

.footinfo2 {
    line-height: 1.2em;
    font-size: 2em;
    
}

}

.footinfo1 {
    line-height: 1.4em;
    margin-top: 1em;
   
}

.footinfo2 {
    line-height: 1.4em;
    font-size: .9em;
    
}


/* 幅768px以下の表示
-------------------------------------*/
@media screen and (max-width: 768px){
	
/*ヘッダー
-------------------------------------*/
.headerbar {
    display: none;
}
.header-box {
    display: none;
}	
/* ドロップダウンメニュー
-------------------------------------*/
#navi ul ul {
    position: static;
    width: 100%;
    z-index: 100;
    background-color: var(--white-color);
}
#navi li ul {
    display: block;
    background-color: var(--white-color);
}
.menu li ul, .menu li ul li   {
    border-bottom: none;
}


/* フッター
-------------------------------------*/
.foot-infobox2 {
    display: none;
}

.route-box {
    width: 100%;
    padding-bottom: 3em;
}

.route {
    width: 85%;
    margin: 0 auto;
}

.foot-infobox1-2 ul {
    display: none;
}



/*ニュース
-------------------------------------*/
.news-list .item .title{
    margin-top: 1em;
}


.js-fade {
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: opacity 1s,visibility 1s, transform 1s;
}

.scroll {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}


}