@charset "UTF-8";
/* CSS Document */

/* コピペ用コード */
.font-size-dummy {
    font-size: .75rem;   /* 12px */
    font-size: .8125rem; /* 13px */
    font-size: .875rem;  /* 14px */
    font-size: 1rem;     /* 16px */
    font-size: 1.25rem;  /* 20px */
    font-size: 1.75rem;  /* 28px */
}

:root {
    --main-color:#928176;
    --text:#2B2020;
    --btn-hover:#D1B8A9;
    --white:#fff;
    --border:#39322E;
    --sub-border:#D0D0D0;
    --table:#f5efe9;
    --border-hover:#EF8345;
}

.display-none{
    display: none;
}

.display-PC{
    display: block;
}

.display-SP{
    display: none;
}

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

.text-highlight{
    color: var(--main-color);
}



/**********************************共通**********************************/

/* .outer{
    position: relative;
    min-height: 100vh;
} */

html{
    color: #2B2020;/*文字色*/
    -webkit-font-feature-settings:"palt";/*google choromeの文字詰め設定*/
    font-feature-settings:"palt";/*文字詰め設定*/
    letter-spacing: 0.05em;/*文字の間隔を詰める　font-feature-settingで詰まりすぎた文字間を開ける*/
    -webkit-font-smoothing:antialiased;/* フォントをなめらかに */
    -moz-osx-font-smoothing: grayscale;/* フォントをなめらかに */
    background-color:#FAF8F5;
}

body{
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    overflow-x: hidden;/* 追記 */
    word-wrap: break-word;
}

a{
    text-decoration: none;
    color: var(--white);
}

.flex{
    display: flex;
}

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



/***header***/

.header-container{
    position: sticky;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    background-color: #39322E;
    display: flex;
    padding: 8px;
}

.flex-item:first-child{
    margin-right: auto;
}

.header-container img{
    width: 100%;
}

.header_logo{
    flex-basis: 140px;
}

.pc-nav {
    overflow:hidden;
    list-style:none;
    margin: 0 auto;
    z-index: 20;
}

.pc-nav .current a{
    color: var(--btn-hover);
}

.pc-nav-item {
    display: inline-block;
    padding: 20px 5px;
    font-size: .875rem;  /* 14px */
}

.pc-nav-item a:hover{
    color: var(--btn-hover);
}

.nav-yoyaku{
    flex-basis:36px;
    color: var(--white);
    margin-right: 20px;
}

.nav-yoyaku span{
    margin: 3px 0 0 3px;
    display: block;
    font-size: .75rem;
}

.nav-yoyaku a:visited{
    color: var(--white);
}

/***ham***/

.sp-nav{
    display: none;
}

.hamburger{
    width: 40px;
    height: 25px;
    position: relative;
    top: 6px;
    right: 9px;
}

.hamburger span{
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: var(--white);
    transition: .5s;
}

.hamburger span:first-of-type{/* ハンバーガーメニューの1番目の線 */
    top: 0;
}
.hamburger span:nth-of-type(2){/* ハンバーガーメニューの2番目の線 */
top: 50%;
}
.hamburger span:last-of-type{/* ハンバーガーメニューの3番目の線 */
top: 100%;
}
.slide-menu{
background-color: rgba(0, 0, 0, .8);
position: fixed;
top: 55px;
width: 100%;
left: 0;
transform: translateX(100%);
transition: .5s;
height: 100vh;
}
.slide-menu li{
color: #fff;
line-height: 400%;
text-align: center;
}

.hamburger.active span:first-of-type{/* ハンバーガーメニューの1番目の線 */
    top: 50%;
    transform: rotate(45deg);
}
  .hamburger.active span:nth-of-type(2){/* ハンバーガーメニューの2番目の線 */
    opacity: 0;/* 透明にする */
}
  .hamburger.active span:last-of-type{/* ハンバーガーメニューの3番目の線 */
    top: 50%;
    transform: rotate(-45deg);
}
.slide-menu.active{
    transform: translateX(0);
}

/***ham***/


/***header***/
/***footer***/

.footer-container{
    background-color:var(--border);
    padding: 60px 60px 80px;
    /* position: absolute; */
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
}

.footer-box{
    max-width: 1280px;
    margin: 0 auto;
    color: var(--white);
}

.footer-logo{
    margin-bottom: 30px;
}

.footer-logo img{
    width: 72px;
}

.footer-logo span{
    font-size: 1.125rem;
    margin: 0 0 0 10px;
    height:30px;
    line-height:30px;
}

.footer-info-box{
    display: flex;
}

.footer-tel a:visited{
    color: var(--white);
}

.footer-tel p{
    font-size: 1.75rem;
    margin-bottom: 5px;
}

.footer-tel p:last-of-type{
    margin-bottom: 20px;
}

.footer-tel img{
    width: 100px;
}

.footer-info{
    margin-left: 60px;
}

.footer-info p{
    font-size: 0.75rem;
    line-height: 1.5;
}

.footer-info a:hover{
    color: var(--btn-hover);
}

/***footer***/

/**********************************共通**********************************/


/**********************************global-top**********************************/

/**********MV**********/

.swiper-wrap {
    margin: 0 calc(50% - 50vw);
    max-width: 100vw;
    position: relative;
    overflow: hidden;
}

@keyframes zoom-in {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.1);
    }
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
    animation: zoom-in 10s linear 0s 1 normal both;
}

/* ブラウザでの全画面表示 */
.slide-img img{
    object-fit: cover;
    width: 100vw;
    position: relative;
    height:100vh;
    height: calc(var(--vh, 1vh) * 100);
}

/* a,cトップ */
.careMV img,
.acupunctureMV_SP img{
    object-fit: cover;
    width: 100vw;
    position: relative;
    height:100vh;
    height: calc(var(--vh, 1vh) * 100);
}
/* 高さ可変画像全範囲表示（トリミングしないで表示） */
.accidentMV_SP img{
    width: 100vw;
    position: relative;
    height:auto;
}

/**********MV**********/

/* メインビジュアルコンテナ */
.hero-section {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 35vh; /* 最小高さを設定 */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 動画スタイル */
.hero-video {
    position: relative;
    width: 100%;
    height: auto;
    z-index: -1;
    display: block;
}


/**********MV**********/


/**********ContentsList**********/

.ContentsList{
    display: flex;
    padding: 40px 10px;
    margin-bottom: 80px;
}

.ContentsList div.ContentsList-item {
    width: calc(33.33% - 6.66px);
	margin-right: 10px;
}

.ContentsList div:last-child {
	margin-right: 0;
}

.ContentsList-item {
    background: #ccc;
    text-align: center;
}

.ContentsList-box{
    position: relative;
}

.ContentsList-box img:first-child{
    display: block;
    height: 730px;
    max-width: 100%;
    object-fit: cover;
}

.ContentsList-box-area{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

.ContentsList-box-title{
    font-size: 1.5rem;
    margin-bottom: 20px;
    z-index: 700;
}

.ContentsList-box-area img{
    width: 24px;
    height: 24px;
    z-index: 700;
}

.ContentsList-box-text{
    font-size: .875rem;
    padding: 40px;
    line-height: 1.5;
    z-index: 700;
}


/**********ContentsList**********/

/**********news-area**********/

.news-area h2{
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 30px;
}

.news-area iframe{
    width: 100%;
    padding: 0 40px;
    box-sizing: border-box;
    margin-bottom: 130px;
    height: 200px;
}

/**********news-area**********/

/* trouble-area */

.trouble__area{
    margin: 0 auto 160px;
}

.trouble__areaTitle{
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 30px;
}

.trouble__boxWrap{
    gap: 48px 3%;
    width: 100%;
    max-width: 1200px;
    flex-wrap: wrap;
    margin: 0 auto;
    justify-content: center;
    padding: 0 20px;
    box-sizing: border-box;
}

.trouble__box{
    flex-basis: 46%;
}

.trouble__box.pointer__event{
    pointer-events:none;
}

.trouble__image{
    width: 100%;
    overflow: hidden;
    border-radius: 10px;
    margin-bottom: 16px;
}

.trouble__image img{
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    transition: 0.5s all;
}

.trouble__descArea.link__icon::after{
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url(/images/common/link-arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.trouble__desc{
    color: var(--text);
    font-size: 1.25rem;
    line-height: 1.3;
    text-align: center;
    display: inline-block;
    text-decoration:none;
    position: relative;
    transition: .3s;
}

.trouble__desc::after{
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 0;
    height: 2px;
    background-color:var(--border-hover);
    transition: .3s;
}

.trouble__box:hover .trouble__desc::after{
    width: 100%;
}

.trouble__box:hover img{
    transform:scale(1.1,1.1);
    transition: .5s all;
}


/* condition-area */

/**********top,about-us,clinic-guide**********/

.about-us-img,
.global-top-img,
.accident-top-img{
    position: relative;
}

/* 全体トップ中段のabout-us */
.about-us-img img{
    object-fit: cover;
    width: 100%;
    height: 730px;
}

.office-hc-menu{
    display: flex;
    margin-bottom: 60px;
}

.hr-price-img img{
    width: 100%;
}


.bk-filter {
    content: "";
    position: absolute;
    top: 0;  bottom: 0;
    left: 0;  right: 0;
    background: black;
    opacity:0.3;
    z-index: 600;
}

.bk-filter06 {
    content: "";
    position: absolute;
    top: 0;  bottom: 0;
    left: 0;  right: 0;
    background: black;
    opacity:0.6;
    z-index: 600;
}

.about-us-img p,
.global-top-img p,
.accident-top-img p{
    position: absolute;
    bottom: 80px;
    left: 100px;
    font-size: 2rem;
    color: var(--white);
    line-height: 1.3;
    z-index: 700;
}

/* 交通事故ページのMVテキスト */
.accident-top-img p.MV-text-line-height{
    line-height: 1.6;
}

.global-top-img p span{
    font-size: 1.25rem;
}

.about-us-text,
.clinic-guide-text{
    max-width: 1280px;
    margin: 80px auto 160px;
    padding: 0 40px;
    box-sizing: border-box;
}

.about-us-text h2,
.clinic-guide-text h2{
    margin-bottom: 30px;
    font-size: 1.5rem;
}

.about-us-text p,
.clinic-guide-text p{
    font-size: .875rem;
    line-height: 1.6;
}

/**********about-us,clinic-guide**********/

/**********clinic-guide-swiper**********/

.infinite-slider-container,
.click-slider-container{
    width: 100%;
    margin: 0 auto;
}

.infinite-slider .swiper-wrapper {
    transition-timing-function: linear;
}

.infinite-slider .swiper-slide {
    height: 500px ; /* 高さを指定 */
    width: auto ;
}

.infinite-slider .swiper-slide img,
.click-slider .swiper-slide img {
    width: auto;
    height: 100%;
    margin-right: 10px;
}

/**********clinic-guide-swiper**********/
/**********************************global-top**********************************/

/**********************************topMV,aboutUsMV**********************************/

.MV-img .about-us-img img{
    object-fit: cover;
    height:100vh;
    height: calc(var(--vh, 1vh) * 100);
}

/**********************************topMV,aboutUsMV**********************************/

/* 追加ページ */

.strength-box dt.line{
    position: relative;
    padding-left:55px;
    height: 52px;
    margin-bottom: 20px;
    line-height: 3;
}





/* 追加ページ */

/**********************************access**********************************/

.address-outer,
.contact-outer,
.faq-outer,
.accident-outer{
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 5%;
}

.accident-outer{
    padding: 0;
}

.address-container h2,
.clinic-info h2,
.reserve-container h2,
.faq-container h2{
    padding: 150px 0 10px;
    font-size: 1.5rem;
    border-bottom: 1px solid var(--border);
    margin-bottom: 40px;
}

.clinic-info h2{
    padding-top: 80px;
}



.address-wrapper{
    padding: 0 0 40px 40px;
    width: 30%;
}

.address-info{
    margin-bottom: 50px;
}

.address-info .address-text,
.access-info p{
    font-size: .875rem;
    line-height: 1.3;
}

a.tel-number,
a.tel-number:visited{
    color: var(--text);
}

.address-info p{
    margin-bottom: 20px;
}

.address-info p:nth-child(2){
    font-size: 1.75rem;
}

.address-info a:nth-child(3),
.line-reserve a:nth-child(2),
.tel-reserve a:nth-child(2),
.tel-contact a:nth-child(2){
    display: block;
    width: 280px;
    height: 50px;
    font-size: 1.0625rem;
    line-height: 3.0625rem;
    border: 1px solid var(--main-color);
    text-align: center;
    color: var(--main-color);
    border-radius: 4px;
    position: relative;
}

.address-info a:nth-child(3)::after,
.line-reserve a:nth-child(2)::after,
.tel-reserve a:nth-child(2)::after,
.tel-contact a:nth-child(2)::after{
    content: url(../images/common/btn-arrow.svg);
    display: inline-block;
    width: 14px;
    height: 14px;
    position: absolute;
    right: 20px;
}

.address-info a:nth-child(3):hover,
.line-reserve a:nth-child(2):hover,
.tel-reserve a:nth-child(2):hover,
.tel-contact a:nth-child(2):hover{
    color: var(--border);
}

.access-info p:first-child{
    font-weight: bold;
}

.access-info p:nth-child(2){
    margin-bottom: 5px;
}

.access-info p:nth-child(2),
.access-info p:nth-child(3){
    padding-left:0.9em;
	text-indent:-0.9em;
}

.map {
    width: 70%;
    position: relative;
    padding-top: 40%;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.address-flex{
    display: flex;
    gap: 70px;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--sub-border);
}

.access-container{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 40px;
}

.access-container div{
    width: calc(50% - 20px);
    margin-bottom: 50px;
}

.access-container div:last-child{
    margin-bottom: 0;
}

.access-container div p{
    font-size: .875rem;
    line-height: 1.5;
}

.access-container div p:first-child{
    font-weight: bold;
}

.access-container div p span,
.i-price-box ul li{
    display: block;
    padding-left:0.9em;
	text-indent:-0.9em;
}

.clinic-info{
    margin-bottom: 160px;
}

tr:nth-child(odd){
    background-color: var(--table);
}

tr:nth-child(even){
    background-color: var(--white);
}

table{
    table-layout: fixed;
    width: 100%;
}

th{
    width: 20%;
}

td{
    width: 80%;
}

th,
td{
    padding: 20px 24px;
    font-size: .875rem;
    vertical-align: middle;
}

/**********************************access**********************************/

/**********************************contact**********************************/

.reserve-container p:nth-child(2){
    padding: 0 0 20px 40px;
    font-size: .875rem;
    font-weight: bold;
}

.reserve-box{
    padding-left: 40px;
    display: flex;
}

.reserve-box p{
    font-size: .875rem;
    padding-bottom: 10px;
}

.line-reserve{
    margin-right: 60px;
}

.tel-reserve p:nth-child(3){
    font-size: 1.75rem;
    margin-bottom: 50px;
}

.tel-reserve a,
.tel-contact a{
    margin-bottom: 10px;
}

.contact-container{
    padding-left: 40px;
}

.contact-container p{
    font-size: .875rem;
}

.contact-container > p{
    font-weight: bold;
    padding-bottom: 20px;
}

.tel-contact p:nth-child(3){
    font-size: 1.75rem;
    margin-bottom: 160px;
}

.tel-contact p:first-child{
    padding-bottom: 10px;
}


/**********************************contact**********************************/


/**********************************a,i,c-top**********************************/

/***a,i,c-top***/

.top-access{
    max-width: 1280px;
    background-color: var(--white);
    border: 1px solid var(--sub-border);
    border-radius: 4px;
    padding: 30px 20px;
    margin: 50px auto 180px;
    width: calc(100% - 60px);
    box-sizing: border-box;
}

.top-access p{
    text-align: center;
    line-height: 1.5;
}

.top-access p:first-child{
    font-size: .875rem;
    margin-bottom: 30px;
}

/********** achievements **********/

.achievements__container{
    background-color: var(--bg);
    padding: 0 0 10rem 0;
}

.achievements__count__title{
    font-size: 2rem;
    background: linear-gradient(transparent 65%, rgba(239, 131, 69, 0.25) 25%);
    display: inline-block;
    margin-bottom: 30px;
    font-weight: bold;
}

.achievements__box{
    font-size: 1.25rem;
    margin-bottom: 10px;
}

.achievements__num{
    font-size: 4rem;
    color: var(--accent-color);
}

.achievements__period{
    font-size: 1.25rem;
}

/********** achievements **********/

/***a,i,c-top__course-swiper***/

.course-area-flex{
    display: flex;
    justify-content: space-between;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
}

.course-area-title{
    font-size: 1.5rem;
}

.swiper_area{
    width: 100%;
    position: relative;
    overflow: hidden;
}

.course-swiper{
    overflow: visible;
    padding: 30px 8% 20px;
}

.main-slider--1 + .main-slider--2 .course-swiper{
    padding-bottom: 190px;
}

/*indiba用*/
.single-course .course-swiper{
    padding-bottom: 190px;
}

.course-swiper .swiper-wrapper {
      /* wrapperのサイズを調整 */
    width: 100%;
    height: 100%;
}

.course-swiper .swiper-slide {/* スライドのサイズを調整 */
    background-color: var(--white);
    width: 32.6%;
    height: auto;
    box-shadow: 4px 4px 10px rgba(0,0,0,.3);
    border-radius: 6px;
}

.swiper-slide a{
    display: flex;
    flex-direction: column;
    height: 100%;
}

.course-swiper .swiper-slide p,
.course-swiper .swiper-slide h3{
    color: var(--text);
}

.swiper-slide img.swiper-slide-img,
.price-img img{
    object-fit: cover;
    width: 100%;
    border-radius: 4px 4px 0 0;
    aspect-ratio: 16 / 9;
}

.swiper-slide-text:first-child{
    padding: 30px;
}

.swiper-slide-text{
    padding: 30px;
    /* box-shadow: 4px 4px 10px rgba(0,0,0,.3); */
    border-radius: 0 0 6px 6px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.swiper-wrapper .swiper-slide:first-of-type .swiper-slide-text{
    border-radius: 6px;
}

.swiper-slide-text ul li{
    padding-left: 30px;
	line-height: 1.6;
	background: url(../images/common/checkmark.svg) left 0px top 4px no-repeat;
	background-size: 15px auto;
    color: var(--text);
}

.swiper-slide-text h3{
    font-size: 1.5rem;
    margin-bottom: 50px;
    line-height: 1.3;
}

.swiper-slide-text .course-title{
    font-size: 1.25rem;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 20px;
}

.swiper-slide-text p,
.swiper-slide-text ul li{
    font-size: .875rem;
    line-height: 1.5;
}

.swiper-slide-text ul{
    margin-bottom: 20px;
}

.swiper-slide-text .course-read-text{
    margin-bottom: 40px;
    text-align: justify;
    line-height: 1.7;
    flex-grow: 1;
}

.course-price-flex{
    display: flex;
    justify-content: space-between;
}

.course-price-flex + p{
    margin-top: 20px;
    font-size: 0.625rem;
}

.swiper-slide .read-more:last-child{
    position: relative;
    display: inline-block;
    text-decoration: none;
    color: var(--text);
    margin-top: auto;
}

.swiper-slide .read-more::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 50%;
    height: 2px;
    background: var(--border-hover);
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
}
/* カード全体どこにカーソルをあわせてもaタグにエフェクトをかける */
.course-swiper .swiper-slide:hover  .read-more::after {
    transform: scale(1, 1);
}

.swiper-button-prev,
.swiper-button-next{
    position: static;
    width: 30px;
    height: 30px;
}

.swiper-button-prev::after,
.swiper-button-next::after{
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 30px;
    width: 30px;
    margin: auto;
}

.swiper-button-next::after{
    background-image: url(../images/common/swiper-right-arrow.svg);
}

.swiper-button-prev::after{
    background-image: url(../images/common/swiper-left-arrow.svg);
}

.swiper-button-flex{/***各トップのswiperボタン***/
display: flex;
gap: 10px;
position: absolute;
top: 50px;
right: 40px;
}

.swiper-button-flex2{/***priceのswiperボタン***/
    display: flex;
    gap: 10px;
    position: absolute;
    top: -18px;
    right: 20px;
    }

.tab {
    display: flex;
}

.tab__item {
    position: relative;
    display: inline-block;
    margin-right: 20px;
    color: var(--main-color);
    cursor: pointer;
}


.tab__item::after {
    position: absolute;
    bottom: 2px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: var(--main-color);
    opacity: 0;
    visibility: hidden;
    transition: .3s;
}

.tab__item:hover::after {
    bottom: -2px;
    opacity: 1;
    visibility: visible;
}

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

.fadein-bottom {
    opacity: 0;
    animation-name: fadein-bottom;
    /* CSSのanimationプロパティー */
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
}

@keyframes fadein-bottom {
    0% {
    opacity: 0;
    transform: translateY(20px);
    }
    100% {
    opacity: 1;
    transform: translateY(0px);
    }
}
/***a,i,c-top__course-swiper***/

/***price***/

/***a,i-price***/

.price-outer{
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 0 5%;
}

.price-outer h2,
.i-price-outer h2{
    text-align: center;
    font-size: 1.5rem;
    margin: 80px auto 130px;
}

.price-outer h3{
    font-size: 1.5rem;
    margin-bottom: 30px;
    padding-top: 170px;
    margin-top: -170px;
}

.price-box{
    display: flex;
    margin-bottom: 40px;
    padding-top: 170px;
    margin-top: -170px;
}

.price-box:last-child{
    display: flex;
    margin-bottom: 120px;
}

.price-img{
    flex-basis: 45%;
}

.price-img img{
    border-radius: 4px 0 0 4px;
}

.price-text-box{
    flex-basis: 55%;
    padding: 0 0 10px 30px;
    font-size: .875rem;
    min-height: 250px;
    line-height: 1.3;
}

.price-title{
    font-size: 1.5rem;
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border);
}

.price-read-text{
    margin-bottom: 30px;
}

.price + p{
    margin-top: 20px;
    font-size: 0.625rem;
    line-height: 1.2;
}

.cyushaku{
    text-align: right;
    padding-top: 10px;
    border-top: 1px solid var(--border);
    font-size: 0.6875rem;
    margin-bottom: 160px;
}

/***a,i-price***/

/***i-price***/

.i-price-box,
.i-price-box2{
    font-size: .875rem;
    padding: 0 40px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 5%;
    padding-top: 170px;
    margin-top: -170px;
}

.i-price-box .i-price-title{
    padding: 0 0 10px;
    font-size: 1.5rem;
    border-bottom: 1px solid var(--border);
    margin-bottom: 30px;
}

.i-price-box .recommend{
    font-weight: bold;
    margin-bottom: 30px;
}

.price-box-text{
    display: flex;
    margin-bottom: 50px;
}

.price-box-text ul{
    flex-basis: 40%;
}

.price-box-text ul li{
    padding-left: 30px;
	line-height: 1.6;
	background: url(../images/common/checkmark.svg) left 0px top 4px no-repeat;
	background-size: 15px auto;
}

.price-box-text p{
    flex-basis: 60%;
    line-height: 1.6;
}

/***click-slider***/

.course-img{
    position: relative;
    margin-bottom: 80px;
}

.course-img.no-price{
    margin-bottom: 160px;
}

.click-slider-container{
    overflow: hidden;
}

.click-slider .swiper-slide {
    height: 500px ; /* 高さを指定 */
    width: auto;
}

.click-slider{
    width: 100%;
    max-width: 900px !important;
    margin: 0 auto !important;
    overflow: visible !important;
}

/***click-slider***/

.i-price-box2{
    margin-bottom: 160px;
}

.i-price-outer .price-wrapper:last-of-type .i-price-box2{
    margin-bottom: 50px;
}

.i-price-box2 p{
    font-size: 1.25rem;
    margin-bottom: 15px;
}

.price-table{
    display: flex;
    flex-wrap:wrap;
    gap: 30px;
    justify-content:space-between;
}

.price-table-item{
    border: solid var(--border);
    border-width: 1px 0 0 1px;
    width:calc(50% - 20px);
    padding: 20px;
    box-sizing: border-box;
}

.price-table-item dt{
    margin-bottom: 30px;
    font-weight: bold;
    line-height: 1.3;
}

.price-table-item dd{
    text-align: right;
}



/***price***/

/* accident */

.selling-point-container,
.symptoms-container,
.strength-container,
.flow-container,
.accident-faq-container{
    padding: 0 3%;
}

.selling-point-container ul{
    display: flex;
    flex-wrap: wrap;
    margin: 50px auto 100px;
    gap: 10px;
    justify-content: space-between;
}

.selling-point-container ul li{
    display: block;
    width: calc(50% - 10px);
    padding: 15px 0 15px 15px;
    border: #D1B8A9 1px solid;
    border-radius: 2px;
}

.symptoms-container p{
    font-size: 1.25rem;
    line-height: 1.3;
}

.symptoms-container p br{
    display: none;
}

.symptoms-container dl{
    display: flex;
    flex-wrap: wrap;
    margin: 30px auto 100px;
    gap: 30px;
    justify-content: space-between;
}

.symptoms-container dl div.symptoms{
    width: calc(50% - 20px);
}

.symptoms-container dl dt{
    font-weight: bold;
    font-size: .875rem;
    padding: 10px 0 10px 20px;
    border-left: 1px solid var(--sub-border);
    border-bottom: 1px solid var(--sub-border);
}

.symptoms-container dl dd{
    padding-left:0.6em;
	text-indent:-0.6em;
    padding-bottom: 5px;
}

.symptoms-container dl div.symptoms div{
    margin: 10px 20px;
}

.exsample-image{
    margin-bottom: 100px;
    text-align: center;
}

.exsample-image img{
    width: 100%;
}

.accident-headline h2,
.sns h2{
    text-align: center;
    font-size: 1.5rem;
    margin-top: 24px;
    margin-bottom: 30px;
}

.accident-headline h2 span{
    font-size: 2.5rem;
}

.strength-container{
    border-bottom: 1px solid var(--sub-border);
    margin-bottom: 60px;
}

.strength-container dl.office-healthcare-strength::after{
    content:"";
    display: block;
    width:30%;
}

.strength-container dl{
    display: flex;
    flex-wrap: wrap;
    gap: 35px 30px;
    margin: 0 auto 40px;
    justify-content: space-between;
    text-align: justify;
}

.strength-box{
    width: calc(33% - 20px);
}

.strength-box dt{
    position: relative;
    padding-left:55px;
    height: 52px;
    margin-bottom: 20px;
    line-height: 1.5;

}

.strength-box dt::before{
    content: url(../images/acupuncture/strengthIcon_01.svg);
    display: block;
    width: 52px;
    height: 52px;
    overflow: hidden;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

dt.box-02::before{
    content: url(../images/acupuncture/strengthIcon_02.svg);
}

dt.box-03::before{
    content: url(../images/acupuncture/strengthIcon_03.svg);
}

dt.box-04::before{
    content: url(../images/acupuncture/strengthIcon_04.svg);
}

dt.box-05::before{
    content: url(../images/acupuncture/strengthIcon_05.svg);
}

dt.box-06::before{
    content: url(../images/acupuncture/strengthIcon_06.svg);
}

.strength-box dd img,
.flow-box dd img{
    width: 100%;
    object-fit: cover;
    aspect-ratio: 16 / 9;
    margin-bottom: 20px;
}

.strength-box dd,
.flow-box dd{
    font-size: .875rem;
    line-height: 1.5;
}

.flow-container{
    border-bottom: 1px solid var(--sub-border);
    margin-bottom: 60px;
}

.flow-container dl{
    display: flex;
    margin: 0 auto 40px;
    justify-content: space-between;
    text-align: justify;
    column-gap: 20px;
    height: 100%;
}

.flow-box,
.flex-flow-arrow{
    width: 100%;;
}

.flow-01,
.flow-02,
.flow-03{
    flex-basis: auto;
}

.flex-flow-arrow{
    flex-basis: 3%;
    margin-top: 11.5%;
}

.flow-box{
    display: flex;
    flex-direction: column;
}

.flow-box dt{
    position: relative;
    padding-left:45px;
    height: 42px;
    margin-bottom: 20px;
    line-height: 42px;
}

.flow-box dt::before{
    content: url(../images/acupuncture/flowIcon_01.svg);
    display: block;
    width: 42px;
    height: 42px;
    overflow: hidden;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

dt.flowIcon-02::before{
    content: url(../images/acupuncture/flowIcon_02.svg);
}

dt.flowIcon-03::before{
    content: url(../images/acupuncture/flowIcon_03.svg);
}

.flow-box dd:last-child{
    flex-grow: 1;
}

/* accident */

/***acupuncture-faq***/
.qa-area dt,
.qa-area dd {
    /* display: flex; */
    position: relative;
    margin: 0;
    padding: 0 0 15px 40px;
    color: var(--text);
    font-size: .875rem;
    line-height: 1.5;
}

.qa-area dt {
    font-weight: bold;
    align-items: center;
}

.qa-area dd .bold{
    font-weight: bold;
}

.qa-area dd .cyushaku{
    border: none;
}

.qa-area dd + dt {
    margin-top: 40px;
}

.qa-area dt::before,
.qa-area dd::before {
    display: inline-block;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 0;
    border-radius: 4px;
    font-weight: 600;
    font-size: .75rem;
    line-height: 24px;
    text-align: center;
}

.qa-area dt::before {
    border: 1px solid var(--main-color);
    color: var(--main-color);
    content: 'Q';
}

.qa-area dd::before {
    border: 1px solid var(--btn-hover);
    background-color: var(--btn-hover);
    color: var(--white);
    content: 'A';
    top: -2px;
}

.qa-area dd:last-child{
    margin-bottom: 145px;
}
/***acupuncture-faq***/
/**********************************acupuncture-top**********************************/


/*************************SNS*************************/

.sns{
    margin-bottom: 160px;
}

.sns h2{
    font-size: 1.5rem;
}

.insta-thumb h3,
.timeline h3{
    font-size: 1.125rem;
}

.timeline h3{
    margin-bottom: 20px;
}

.sns-box{
    margin: 0 auto;
    justify-content: space-between;
    max-width: 1000px;
    display: flex;
    padding: 0 20px;
}

.insta-thumb{
    width: calc((100% - 40px)/2);
    height: 1004px;
    overflow: scroll;
}

.timeline {
    width: calc((100% - 40px)/2);
}

.insta_list{
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0;
    justify-content: space-between;
}

.insta_list li{
    position: relative;
    width: calc((100% - 20px)/2);
    margin-bottom: 20px;
}

.insta_list li::before{
	content: "";
	display: block;
	padding-top: 100%;
}

.insta_list a{
	position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}

.insta_list img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/*************************SNS*************************/


/**********************************SP**********************************/
/**********************************SP**********************************/

@media screen and (max-width: 1025px) {

    .header_logo{
        flex-basis: 100px;
    }

    .nav-yoyaku{
        flex-basis:26px;
    }

    .nav-yoyaku span{
        margin: 3px 0 0 0px;
        display: block;
        font-size: .675rem;
    }

    .pc-nav{
        display: none;
    }

    .sp-nav{
        display: block;
    }

    .about-us-text,
    .clinic-guide-text{
        width: 90%;
        text-align: center;
        margin-bottom: 50px;
    }

    .course-swiper .swiper-slide{
        width: 48.8%;
    }

    .reserve-container p:nth-child(2){
        padding-left: 0;
    }

    .reserve-box{
        display: block;
        padding-left: 0;
    }

    .line-reserve{
        margin-bottom: 30px;
    }

    .contact-container{
        padding-left: 0;
    }

    /* accident */
    .exsample-image img{
        width: 95%;
    }

    .strength-box{
        width: calc(50% - 20px);
    }

}

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

    .sns{
        margin-bottom: 50px;
    }

    .sns-box{
        display: block;
        padding: 0 3%;
    }

    .insta-thumb,
    .timeline{
        width: 90%;
        margin: 0 auto;
    }

    .insta-thumb{
        margin-bottom: 30px;
    }

    .insta-thumb h3,
    .timeline h3{
        text-align: center;
    }

}


@media screen and (max-width: 599px) {

    /* global-top */

    .about-us-img p,
    .global-top-img p{
        bottom: 30px;
        left: 30px;
        font-size: 1.375rem;
    }

    .accident-top-img p{
        bottom: 20px;
        left: 20px;
        font-size: 1.25rem;        
    }

    .global-top-img p span{
        font-size: 1rem;
    }

    .ContentsList{
        display: block;
    }

    .ContentsList div.ContentsList-item{
        width: 100%;
        margin-bottom: 10px;
    }

    .news-area iframe{
        padding: 0 10px;
    }

    .trouble__boxWrap{
        flex-direction: column;
    }

    .trouble__descArea{
        text-align: center;
    }

    .clinic-guide-text{
        margin-bottom: 100px;
    }

    .infinite-slider .swiper-slide {
        height: 240px ;
    }

    /* 各top */

    .top-access{
        margin-bottom: 100px;
    }

    .course-swiper .swiper-slide{
        width: 95%;
    }

    .course-area-flex{
        display: block;
    }

    .course-area-title{
        text-align: center;
        margin-bottom: 20px;
        font-size: 1.25rem;
    }

    .tab{
        justify-content: center;
        font-size: .875rem;
    }

    .display-PC.careMV,
    .display-PC.acupunctureMV,
    .display-PC.accidentMV{
        display: none;
    }

    .display-SP.careMV,
    .display-SP.acupunctureMV_SP,
    .display-SP.accidentMV_SP{
        display: block;
    }

    /* access */

    .address-flex{
        display: block;
    }

    .address-wrapper{
        width: 100%;
        padding: 0;
    }

    .address-info{
        margin-bottom: 30px;
    }

    .access-info{
        margin-bottom: 30px;
    }

    .map{
        width: 100%;
        padding-top: 60%;
    }

    .access-container{
        display: block;
    }

    .access-container div{
        width: 100%;
    }

    .clinic-info{
        margin-bottom: 100px;
    }

    th{
        width: 30%;
    }

    td{
        width: 70%;
    }

    th,
    td{
    padding: 20px 15px;
}

    /* price */

    .price-outer{
        width: 100%;
    }

    .price-outer h2,
    .i-price-outer h2{
        margin-bottom: 30px;
        font-size: 1.25rem;
    }

    .price-outer h3{
        text-align: center;
        font-size: 1rem;
    }

    .price-box{
        display: block;
    }

    .i-price-box2{
        margin-bottom: 100px;
    }

    .price-img img{
        border-radius: 4px 4px 0 0 ;
    }

    .price-text-box{
        padding: 20px 30px;
    }

    .i-price-box .i-price-title,
    .i-price-box2 p{
        font-size: 1rem;
    }



    .price-box-text{
        display: block;
    }

    .price-box-text ul{
        margin-bottom: 30px;
    }

    .course-img{
        margin-bottom: 50px;
    }

    .click-slider .swiper-slide{
        height: 240px;
    }

    .price-table{
        display: block;
    }

    .price-table-item{
        width: 100%;
        margin-bottom: 20px;
    }

    .cyushaku{
        margin: 0 auto 100px;
        width: 90%;
    }

/* accident */

    .selling-point-container ul,
    .symptoms-container dl{
        flex-direction: column;
        margin-bottom: 60px;
    }

    .flow-container dl{
        flex-direction: column;
    }

    .selling-point-container ul li{
        width: 100%;
        text-align: center;
    }

    .symptoms-container p{
        text-align: center;
    }

    .symptoms-container p br{
        display: block;
    }

    .symptoms-container dl div.symptoms{
        width: 100%;
    }

    .symptoms-container dl dd br{
        display: none;
    }

    .exsample-image{
        margin-bottom: 60px;
    }

    .exsample-image.display-PC{
        display: none;
    }

    .exsample-image.display-SP{
        display: block;
    }

    .strength-container dl{
        row-gap: 50px;
    }

    .strength-box{
        width: 100%;
    }

    .flex-flow-arrow{
        margin: 25px auto;
        text-align: center;
        transform: rotate(90deg);
    }

/* hc */

.office-hc-menu{
    display: block;
}

/* footer */

    .footer-container{
        padding: 30px 30px 50px;
    }

    .footer-logo{
        margin-bottom: 20px;
    }

    .footer-tel{
        margin-bottom: 20px;
    }

    .footer-info-box{
        display: block;
    }

    .footer-info{
        margin-left: 0;
    }
    
    .insta_list li{
        width: calc((100% - 20px)/2);
    }

}









