@charset "utf-8";

/*/////////////////////////////////////////////
// 
///////////////   ここから   /////////////////*/ 

/*/////////////   ここまで   ///////////////////
// 
////////////////////////////////////////////*/


/******  setting start ******/
/******  setting end ******/

.sales {
	font-size: 14px;
	color: #AB115E;
	margin: -20px 0 20px 0;
}
.sales-02 {
	font-size: 14px;
	color: #AB115E;
	margin-top: 0px !important;
}

/****** 翻訳 GTranslate setting start ******/
#gt_float_wrapper {
    position: fixed !important;
	bottom: 10px !important;
    left: 5px !important;
	top: auto !important;
	right: auto !important;
    z-index: 999999 !important;
}
@media screen and (min-width: 768px) {
    #gt_float_wrapper {
        position: fixed !important;
		bottom: auto !important;
   		left: auto !important;
		top: 70px !important;
		right: 20px !important;
		z-index: 999999 !important;
	}
}
/****** 翻訳 GTranslate setting end ******/

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

/******  setting start ******/
/* ファーストビューのスライダー設定 - スマホファースト */
.fv-slide01-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 80vh; /* 画面高の80%を占める */
    max-height: 700px;
}

.fv-slide01-slides {
    position: relative;
    width: 100%;
    height: 100%;
}

.fv-slide01-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* 画像を中央でカバー */
    object-position: center center;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
    z-index: 1;
}

.fv-slide01-slide.active {
    opacity: 1;
    z-index: 2;
}

/* .fv-circle - スマホ用 */
.fv-circle {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 3;
    align-items: center;
    text-align: center;
}

.fv-circle-item {
    color: white;
    font-weight: bold;
    background-color: rgba(0, 0, 0, 0.5); /* 半透明背景で視認性UP */
    padding: 8px 12px;
    border-radius: 8px;
}

/* タブレット以上 */
@media (min-width: 768px) {
    .fv-circle {
        flex-direction: row;
        bottom: 30px;
        gap: 20px;
    }
    .fv-circle-item {
        font-size: 1.2rem;
        padding: 10px 16px;
    }
}

/******  setting end ******/






.first-view {
            height: 100vh; /* ビューポート全体の高さに設定 */
            background: url('/img/before/AdobeStock_252773117_Preview.jpeg') center/cover no-repeat;
            display: flex;
            justify-content: center;
            align-items: center;
            color: white;
            font-size: 2em;
        }


.t-menu-item-plus {
	background: #EFEAE5;
    padding: 15px;
	width: ;
	margin-top: 15px;
}
.t-menu-item-plus h3 {
	font-size: 18px;
	text-align: center;
}
.t-menu-item-plus p {
	margin-top: 10px;
	text-align: center;
}
@media screen and (min-width: 768px) {
	.t-menu-item-plus h3 {
		font-size: 20px;
	}
}


/***** スマホの時だけ改行（画面幅560px以上） *****/
/* <br class="br-mobile-560"> */
  .br-mobile-560 {
	display: inline;
  }
  /* スマホ（画面幅767px）では表示 */
  @media screen and (min-width: 560px) {
    .br-mobile-560 {
      display: none;
    }
  }

/***** スマホの時だけ改行（画面幅768px以上） *****/
/* <br class="br-mobile-768"> */
  .br-mobile-768 {
	display: inline;
  }
  /* スマホ（画面幅767px）では表示 */
  @media screen and (min-width: 767px) {
    .br-mobile-768 {
      display: none;
    }
  }
/****** スマホの時だけ改行 setting start ******/
/* デフォルトでは非表示 */
  .br-mobile {
    display: none;
  }

  /* スマホ（画面幅548px以下）では表示 */
  @media screen and (max-width: 548px) {
    .br-mobile {
      display: inline;
    }
  }
/****** スマホの時だけ改行 setting end ******/

/****** インパクト setting start ******/
.impact {
	margin: -140px 0 40px 0;
}
.impact p {
	text-align: center;
	font-family: ; 
	font-size: 25px;
	font-weight: 600;
	color: #AB115E;
}
@media screen and (min-width: 420px) {
	.impact {
		margin: 0px 0 40px 0;
	}
}
@media screen and (min-width: 768px) {
	.impact {
		margin: 60px 0 40px 0;
	}
}
@media screen and (min-width: 548px) {
	.impact p {
		font-size: 36px;
	}
}
.flipped {
      display: inline-block;
      transform: scaleX(-1); /* X軸方向に反転 */
    }
/****** インパクト setting end ******/


/*/////////////////////////////////////////////
// ヘッダー
///////////////   ここから   /////////////////*/ 
nav {
	position: fixed;
	width: 100%;
	height: 70px;
	background: #FFFFFF;
	top: 0;
	display: block;
	z-index: 1000;
}
.drawer {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	position: relative;
	height: 70px;
}
.logo {
	height: 70px;
	width: 250px;
}
.logo img {
	margin-left: 20px;
	margin-top: 10px;
	height: 50px;
	width: auto;
	object-fit: contain;
	padding-top: 0;
}
.logo h1 {
	font-size: 33px;
	margin-left: 10px;
	margin-bottom: -10px;
	color: #333333; /* 文字色（お好みで変更可） */
	text-shadow:
		-1px -1px 0 #F2DBE7,
		1px -1px 0 #F2DBE7,
		-1px  1px 0 #F2DBE7,
		1px  1px 0 #F2DBE7;
}
.logo p {
	font-size: 16px;
	margin-left: 25px;
}
/* トグルボタンのスタイルを指定 */
.Toggle {
	display: block;
	position: fixed;
	width: 20px;
	height: 70px;
	cursor: pointer;
	z-index: 3;
	right: 20px;
}
.Toggle span {
	display: block;
	position: absolute;
	width: 20px;
	border-bottom: solid 2px #333;
	transition: .35s ease-in-out;
}
.Toggle span:nth-child(1) {
	top: 25px;
}
.Toggle span:nth-child(2) {
	top: 35px;
}
.Toggle span:nth-child(3) {
	top: 45px;
}
.Toggle.active span:nth-child(1) {
	top: 35px;
	transform: rotate(-45deg);
}
.Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
	top: 35px;
	transform: rotate(45deg);
}
/* ナビゲーション部分 */
.menu {
	margin-top: 0;
	text-align: left;
	transform: translateX(105%);
	transition: 0.3s ease-in-out;
}
.menu.open {
	transform: translateX(0%);
}
.menu ul {
	margin: 0;
	width: 100%;
	height: calc(100vh - 70px);
	background: #ffffff;
	padding: 20px 5% 40px 5%;
	overflow-y: scroll;
	box-sizing: border-box;
}
.menu ul li {
	list-style: none;
	margin: 0;
	padding: 0;
	border-bottom: 1.5px dashed #206F3B;
	position: relative;
	text-align: center;
}
.menu ul li:first-of-type{
	border-top: 1.5px dashed #206F3B;
}
.menu ul div.menu-sp li:after {
	display: none;
}
.menu ul li:after {
	position: absolute;
	content: '\f105';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	color: #206F3B;
	font-size: 20px;
}
.menu ul li a {
	display: block;
	color: #333333;
	padding: 15px 0;
	padding-right: 40px;
	text-decoration: none;
}
.menu ul div.menu-sp li {
	border-bottom: none;
	width: 100%;
	background: #F78E15;
	margin-top: 20px;
}
.menu ul div.menu-sp li a {
	padding: 15px 0;
	color: #ffffff;
}
.menu ul div.menu-sp li:nth-child(2) {
	background: #206F3B;
	margin-top: 0;
}
.h_sp-btn{
	width: 100%;
}
.h_sp-btn a{
	text-align: center;
	display: block;
	background: #206F3B;
	color: #FFF;
	padding: 10px 0;
}
.h_sp-btn a:nth-child(2){
	background: #AB115E;
	margin-top: 10px;
	margin-bottom: 20px;
}
.h_sp-btn a i{
	padding-right: 5px;
}
.sp-fixed{
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 1000;
}
.sp-fixed a{
	display: grid;
	place-content: center;
	place-items: center;
	color: #fff;
	height: 75px;
	width: 75px;
	background: linear-gradient(145deg, #206f3b, #2a7f46); /* グリーン系を明るく調整 */
	box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2), -5px -5px 15px rgba(255, 255, 255, 0.2);
	border-radius: 10px 0 0 10px;
}
.sp-fixed a:last-of-type{
	background: linear-gradient(145deg, #AB115E, #e59b4b);
	box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2), -5px -5px 15px rgba(255, 255, 255, 0.2);
}
.sp-fixed a i{
	padding-bottom: 10px;
}


@media screen and (min-width: 768px) {
	nav {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
	.Toggle {
		display: none;
	}
	.menu {
		height: 70px;
		background-color: transparent;
		margin-top: 0;
		transform: translateX(0);
		transition: none;
		width: 100%;
	}
	.menu ul {
		height: 28px;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center;
		margin: 0;
		padding: 0;
		padding-right: 20px;
		background: none;
		text-align: right;
		overflow-y: hidden;
		margin-top: 4.5px;
	}
	.menu ul li {
		padding: 0 10px;
		border-bottom: none;
		text-align: left;
		line-height: 28px;
	}
	.menu ul li:first-of-type{
		border-top: none;
	}
	.menu ul li:after {
		display: none;
	}
	.menu ul li a {
		padding: 0;
		padding-right: 0;
		text-align: center;
		border-bottom: none;
		color: #333333;
		font-weight: 400;
		font-size: 1rem;
	}
	.menu ul:nth-child(1) li i {
		color: #AB115E;
		padding-right: 5px;
	}
	.menu ul:nth-child(1) li:nth-last-child(2) a {
		color: #AB115E;
		font-weight: 600;
	}
	.menu ul:nth-child(1) li:nth-last-child(1) a {
		color: #FFF;
		font-weight: 600;
	}
	.menu ul:nth-child(1) li:nth-last-child(1) a i {
		color: #FFF;
	}
	.menu ul:nth-child(1) li:nth-last-child(1) {
		border-radius: 100px;
		height: 26px;
		background: #AB115E;
	}
}
/*/////////////   ここまで   ///////////////////
//　　ヘッダー
////////////////////////////////////////////*/




/*/////////////////////////////////////////////
// フッター
///////////////   ここから   /////////////////*/ 
.footer{
	background: #EFEAE5;
	margin-top: 40px;
}
.footer-top{
	text-align: center;
	margin: 20px auto;
}
.footer-top p {
	font-size: 27px;
	font-weight: 600;
	margin: 0 0 -20px 0;
}
.footer-top img{
	object-fit: contain;
	width: auto;
	height: 40px;
}
.footer-bottom ul{
	display: flex;
	flex-wrap: wrap;
	row-gap: 5px;
	column-gap: 20px;
	margin-bottom: 20px;
	justify-content: center;
}
.footer-bottom ul li a{
	padding: 5px;
}
.footer-copy{
	background: #AB115E;
	text-align: center;
	padding: 5px 0;
}
.footer-copy p{
	color: #FFF;
	font-size: .9rem;
}
@media screen and (min-width: 768px) {
	.footer{
		margin-top: 60px;
	}
	.footer-top{
		margin: 40px auto;
	}
	.footer-top img{
		height: 50px;
	}
	.footer-bottom ul{
		margin-bottom: 40px;
	}
	.footer-copy{
		padding: 10px 0;
	}
}
/*/////////////   ここまで   ///////////////////
// フッター
////////////////////////////////////////////*/


/*/////////////////////////////////////////////
//  共通
///////////////   ここから   /////////////////*/ 

/****** サブページトップ setting start ******/
.sab-top{
	background-color: #EFE5E5;
	background-image: radial-gradient(circle, #D5CACF 3px, transparent 3px);
	background-position: 0 0;
	background-size: 26px 26px;
	width: 100%;
	height: 150px;
	margin-top: 80px;
	display: grid;
	place-content: center;
	place-items: center;
}

.sab-top h1{
	font-size: 28px;
	color:#AB115E;
}
.sab-top p {
	color: #AB115E;
    font-family: 'SignPainter';
    font-style: normal;
	font-size: 40px;
	margin-top: -20px;
}

.breadcrumb ul{
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	column-gap: 20px;
	row-gap: 5px;
}
.breadcrumb li i{
	color:#AB115E ;
	padding-right: 5px;
}
@media screen and (min-width: 768px) {
	.sab-top{
		height: 250px;
	}
	.sab-top h1{
		font-size: 35px;
	}
}
/****** サブページトップ setting end ******/

/****** サブタイトル setting start ******/
.reef-title{
	text-align: center;
}
.reef-title img{
	object-fit: contain;
	width: 35px;
	height: auto;
}
.reef-title h2{
	font-size: 18px;
	margin-top: 7px;
}
@media screen and (min-width: 768px) {
	.reef-title img{
		width: 40px;
		margin-bottom: -20px;
	}
	.reef-title h2{
		font-size: 25px;
		margin-top: 10px;
	}
}
/****** サブタイトル setting end ******/

/****** ご予約はこちらから setting start ******/
.reserve-btn{
	background: #AB115E;
	border-radius: 100px;
	position: relative;
}
.reserve-btn a{
	display: block;
	padding: 10px;
}
.reserve-btn-24{
	background: #fff;
	border-radius: 100px;
	text-align: center;
	padding: 5px;
	width: fit-content;
	right: 0;
	left: 0;
	margin: auto;
	margin-bottom: 10px;
	min-width: 50%;
}
.reserve-btn-24 p{
	color: #D5771A;
}
.reserve-btn .yellow-txt{
	color: #F6FF46;
	text-align: center;
}
.reserve-btn .white-txt{
	color: #FFF;
	text-align: center;
	font-size: 18px;
	font-weight: 600;
}
.reserve-btn :before{
	content: "\f0da";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
	color: #FFF;
}
@media screen and (min-width: 480px) {
	.reserve-btn{
		height: 100px;
	}
	.reserve-btn a{
		padding: 0 10px;
	}
	.reserve-btn-txt{
		height: 100px;
		display: grid;
		place-content: center;
		place-items: center;
	}
	.reserve-btn-24{
		border-radius: 50%;
		padding: 0;
		width: 80px;
		height: 80px;
		margin-bottom: 0;
		min-width: 0;
		display: grid;
		place-content: center;
		place-items: center;
		position: absolute;
		left: 10px;
		top: 50%;
		transform: translateY(-50%);
		right: auto;
		left: auto;
	}
}
@media screen and (min-width: 768px) {
	.reserve-btn{
		right: 0;
		left: 0;
		margin-right: auto;
		margin-left: auto;
		max-width: 800px;
	}
	.reserve-btn a{
		padding: 0 20px;
	}
	.reserve-btn :before{
		right: 20px;
		font-size: 20px;
	}
	.reserve-btn .white-txt{
		font-size: 22px;
	}
}
/****** ご予約はこちらから setting end ******/

/****** 黄緑色ボタン setting start ******/
.yellowgreen-btn{
	background: #F2DBE7;
	border: 3px solid #AB115E;
	border-radius: 100px;
	position: relative;
	text-align: center;
	max-width: 500px;
}
.yellowgreen-btn a{
	padding: 10px 40px 10px 10px;
	display: inline-block;
}
.yellowgreen-btn p{
	font-weight: 600;
	color: #AB115E;
}
.yellowgreen-btn:before{
	content: "\f0da";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
	color: #AB115E;
}
/****** 黄緑色ボタン setting end ******/

/*/////////////   ここまで   ///////////////////
//  共通
////////////////////////////////////////////*/


/*/////////////////////////////////////////////
//  トップページ
///////////////   ここから   /////////////////*/ 
/****** ファーストビュー setting start ******/
.fv-content{
	margin-top: 70px;
	position: relative;
	aspect-ratio: 10 / 9;
}
.fv-content video{
	width: 100%;
	object-fit: cover;
	height:auto;
	aspect-ratio: 10 / 9;
	vertical-align: middle;
}
.fv-content img {
	width: 100%;
	object-fit: cover;
	height:auto;
	/* aspect-ratio: 10 / 9; */
	vertical-align: middle;
}
.fv-circle{
	position: absolute;
	/*bottom:10px;*/
	bottom:335px;
	display: grid;
	grid-template-columns: 90px 90px 90px;
	gap: 10px;
	right: 50%;
    transform: translateX(50%);
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
}
@media screen and (min-width: 768px) {
	.fv-circle{
		/*bottom:10px;*/
		bottom:230px;
		right: 50%;
	}
}
.fv-circle-item{
	background: linear-gradient(120deg, #FF8484, #AB115E);
	border-radius: 100%;
	width: 90px;
	height: 90px;
	display: grid;
	place-content: center;
	place-items: center;
}
.fv-circle-item:nth-child(2){
	background: linear-gradient(120deg, #FF8484, #AB115E);
}
.fv-circle-item:nth-child(3){
	background: linear-gradient(120deg, #FF8484, #AB115E);
}
.fv-circle-item img{
	object-fit: contain;
	height: auto;
	width: 25px;
}
.fv-circle-item p{
	color: #FFF;
	margin-top: 5px;
	font-weight: 500;
}
@media screen and (min-width: 480px) {
	.fv-circle{
		bottom: 20px;
		grid-template-columns: 50px 50px 50px;
		grid-template-rows: 90px 90px;
		right: 100px;
		transform:0;
		-webkit-transform:0;
		-ms-transform:0;
		justify-items: end;
	}
	.fv-circle-item{
		width: 100px;
		height: 100px;
	}
	.fv-circle-item:nth-child(1){
		grid-column: 2;
		grid-row: 1;
	}
	.fv-circle-item:nth-child(2){
		grid-column: 1;
		grid-row: 2;
	}
	.fv-circle-item:nth-child(3){
		grid-column: 3;
		grid-row: 2;
	}
}
@media screen and (min-width: 768px) {
	.fv-content{
		aspect-ratio: 16 / 9;
	}
	.fv-content video{
		aspect-ratio: 16 / 9;
	}
	.fv-circle{
		bottom: 20px;
		grid-template-columns: 55px 55px 55px;
		grid-template-rows: 110px 110px;
		right: 110px;
	}
	.fv-circle-item{
		width: 120px;
		height: 120px;
	}
}
@media screen and (min-width: 1025px) {
	.fv-content{
		aspect-ratio: 21 / 9;
	}
	.fv-content video{
		aspect-ratio: 21 / 9;
	}
	/*.fv-circle{
		bottom: 50px;
		grid-template-columns: 80px 80px 80px;
		grid-template-rows: 150px 150px;
		right: 160px;
	}*/
	/*.fv-circle-item{
		width: 160px;
		height: 160px;
	}*/
	.fv-circle-item p{
		margin-top: 10px;
	}
}
/****** ファーストビュー setting end ******/

/****** ふたいろ整体について setting start ******/
.t-about-img{
	margin-top: 20px;
	aspect-ratio: 3 / 2;
}
.t-about-img img{
	object-fit: cover;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	border-radius: 20px;
}
@media screen and (min-width: 768px) {
	.t-about{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
	.t-about-img{
		margin-top: 0;
	}
}
@media screen and (min-width: 768px) {
	.t-about{
		gap: 40px;
	}
}
/****** ふたいろ整体について setting end ******/

/****** 診療メニュー setting start ******/
.t-menu{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}
.t-menu-item{
	background:#EFEAE5;
	padding: 15px;
}
.t-menu-item h3{
	font-size: 18px;
	text-align: center;
}
.t-menu-item-circle{
	background: #FFF;
	border-radius: 50%;
	width:70px;
	height: 70px;
	display: grid;
	place-content: center;
	place-items: center;
	right: 0;
	left: 0;
	margin: 10px auto;
}
.t-menu-item-circle img{
	object-fit: contain;
	width: 40px;
	height: auto;
	max-height: 40px;
}
@media screen and (min-width: 768px) {
	.t-menu{
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
	.t-menu-item-circle{
		width:80px;
		height: 80px;
	}
	.t-menu-item-circle img{
		width: 45px;
		max-height: 45px;
	}
	.t-menu-item h3{
		font-size: 20px;
	}
}

@media screen and (min-width: 1025px) {
	.t-menu{
		gap: 20px;
	}
	.t-menu-item{
		padding: 20px;
	}
	.t-menu-item-circle{
		margin: 20px auto;
	}
	.t-menu-item-circle{
		width:100px;
		height: 100px;
	}
	.t-menu-item-circle img{
		width: 55px;
		max-height: 55px;
	}
}
/****** 診療メニュー setting end ******/

/****** 選ばれる理由 setting start ******/
.t-reason-txt h3{
	color: #AB115E;
	font-size: 18px;
}
.t-reason-txt p{
	margin-top: 10px;
}
.t-reason-img{
	margin-top: 20px;
	position: relative;
	margin-bottom: 40px;
}
.t-reason-img img{
	object-fit: cover;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	border-radius: 20px;
}
.t-reason-img p{
	position: absolute;
	font-size: 2.5rem;
	right: 0;
	bottom: -30px;
	font-weight: 600;
	color:#AB115E ;
}
@media screen and (min-width: 768px) {
	.t-reason-item{
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 20px;
		margin-top: 30px;
	}
	.t-reason-item:first-of-type{
		margin-top: 0;
	}
	.t-reason-txt h3{
		color: #AB115E;
		font-size: 20px;
	}
	.t-reason-txt{
		order: 2;
		place-content: center;
		margin-bottom: 40px;
	}
	.t-reason-img{
		order: 1;
		margin-top: 0;
	}
	.t-reason-img img{
		object-fit: cover;
		width: 100%;
		height: 100%;
		aspect-ratio:auto;
		border-radius: 20px;
	}
	.t-reason-img p{
		font-size: 4rem;
		right: 0;
		bottom: -50px;
	}
}
@media screen and (min-width: 1025px) {
	.t-reason-item{
		column-gap: 40px;
	}
	.t-reason-img p{
		font-size: 4.5rem;
		right: 0;
		bottom: -60px;
	}
}
/****** 選ばれる理由 setting end ******/


/****** ブログ setting start ******/
.t-blog-img img{
	object-fit: cover;
	aspect-ratio: 6 / 5;
	width: 100%;
	height: auto;
}
.t-blog-item{
	margin-top: 20px;
	display: flex;
  	flex-direction: column;
}
.t-blog-item:first-of-type{
	margin-top: 0;
}
.t-blog-item p{
	margin: 10px 0 5px 0;
}
.t-blog-item h3{
	font-weight: 400;
	font-size: 16px;
}
@media screen and (min-width: 480px) {
	.t-blog{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 15px;
	}
	.t-blog-item{
		margin-top: 0;
	}
}
@media screen and (min-width: 768px) {
	.t-blog{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 15px;
	}
	.t-blog-item h3{
		font-size: 18px;
	}
}
/****** ブログ setting end ******/

/****** ニュース setting start ******/
.t-news{
	border: 3px solid #AB115E;
	height: 400px;
	overflow-y: scroll;
	border-radius: 10px;
	padding: 15px;
}
.t-news ul li:first-of-type{
	padding-top: 0;
}
.t-news ul li{
	border-bottom: 1px solid #989898;
	padding: 10px;
	position: relative;
	padding-right: 40px;
}
/*
.t-news ul li:before{
	content: "\f138";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
	color: #AB115E;
}
*/
.t-news ul li p{
	color: #747474;
}
@media screen and (min-width: 768px) {
	.t-news{
		padding: 30px;
		padding-top: 10px;
	}
	.t-news ul li:first-of-type{
		padding-top: 30px;
	}
	.t-news ul li{
		padding: 30px 20px;
		padding-right: 40px;
		padding-right: 60px;
		display: flex;
		align-items: center;
	}
	.t-news ul li:before{
		right: 30px;
	}
	.t-news ul li p{
		margin-right: 20px;
	}
}
/****** ニュース setting end ******/


/****** アクセス setting start ******/
.t-access-txt-p {
	font-size: 27px;
	font-weight: 600;
	margin: 0 0 20px 0;
}
.t-access-txt img{
	object-fit: contain;
	height: auto;
	width: 250px;
	margin: 0 auto;
	display: block;
	/*margin-bottom: 20px;*/
}
.t-access-txt table{
	border-collapse: collapse;
	border-spacing: 10px;
	width: 100%;
}
.t-access-txt table td,.t-access-txt table th{
	border-bottom: 1px solid #989898;
	text-align:left;
	padding: 15px 0;
}
.t-access-txt table tr:first-of-type th,.t-access-txt table tr:first-of-type td{
	padding-top: 0;
}
.t-access-txt table th{
	white-space: nowrap;
	padding-right: 15px;
	font-weight: 400;
	text-align:center;
}
.t-access-txt p{
	margin-top: 20px;
}
.t-access-map iframe{
	width: 100%;
	height: 300px;
	margin-top: 20px;
}
@media screen and (min-width: 768px) {
	.t-access{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
	.t-access-map iframe{
		height: 100%;
		margin-top: 0;
	}
}
@media screen and (min-width: 1025px) {
	.t-access{
		gap: 40px;
	}
	.t-access-txt table td,.t-access-txt table th{
		padding: 25px 0;
	}
}
/****** アクセス setting end ******/

/*/////////////   ここまで   ///////////////////
//  トップページ
////////////////////////////////////////////*/


/*/////////////////////////////////////////////
//  施術について
///////////////   ここから   /////////////////*/ 

/****** 施術料金 setting start ******/
.tre-price-item{
	background: #EFEAE5;
	position: relative;
	display: flex;
	padding: 10px 40px 10px 10px;
	align-items: center;
}
.tre-price-item:before{
	content: "\f0d7";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
	color: #AB115E;
}
.tre-price-icon{
	background: #FFF;
	border-radius: 50%;
	width:50px;
	height: 50px;
	display: grid;
	place-content: center;
	place-items: center;
}
.tre-price-icon img{
	object-fit: contain;
	width: 30px;
	height: auto;
	max-height: 30px;
}
.tre-price-item h3{
	padding-left: 10px;
	font-size: 18px;
}
.tre-price-invisible {
	display: none;
	transition: max-height 0.3s ease-out;
}
.visible {
	display: block;
}
.tre-price-invisible-item{
	background: #F6F3F0;
	border-bottom: 1px dashed #A2A2A2;
	padding: 10px;
}
.tre-price-invisible-item:last-of-type{
	border-bottom:none;
}
.tre-price-invisible-item h4{
	font-weight: 400;
	font-size: 16px;
}
.tre-price-invisible-item-flex{
	display: flex;
	justify-content: space-between;
    flex-wrap: wrap;
	margin-top: 5px;
}
@media screen and (min-width: 768px) {
	.tre-price-icon{
		width:70px;
		height: 70px;
	}
	.tre-price-icon img{
		width: 40px;
		max-height: 40px;
	}
	.tre-price-item h3{
		padding-left: 15px;
		font-size: 20px;
	}
	.tre-price-item:before{
		font-size: 20px;
	}
}
@media screen and (min-width: 1025px) {
	.tre-price-item{
		padding: 10px 40px 10px 20px;
	}
	.tre-price-item:before{
		right: 20px;
		font-size: 22px;
	}
	.tre-price-invisible-item{
		background: #F6F3F0;
		border-bottom: 1px dashed #A2A2A2;
		padding: 10px 20px;
	}
}
/****** 施術料金 setting end ******/

/****** 施術の流れ setting start ******/
.tre-flow-item{
	background: #EFEAE4;
	position: relative;
	padding: 15px 10px 15px 20px;
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 15px;
}
.tre-flow-item:first-of-type{
	margin-top: 0;
}
.tre-flow-item:nth-child(even){
	background: #EBDCC9;
}
.tre-flow-item:before{
	width: 0;
	height: 0;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 30px solid #EFEAE4;
	content: "";
	position: absolute;
	bottom: -25px;
	left: 5px;
	z-index: 1;
}
.tre-flow-item:nth-child(even):before{
	border-top: 30px solid #EBDCC9;
}
.tre-flow-item:last-of-type:before{
	border-left: 0 solid transparent;
	border-right: 0 solid transparent;
	border-top: 0 solid #EFEAE4;
}
.tre-flow-number p{
	font-weight: 600;
	color: #AB115E;
	font-size: 25px;
}
.tre-flow-txt h3{
	font-size: 16px;
	margin-bottom: 5px;
}

@media screen and (min-width: 768px) {
	.tre-flow-item{
		padding: 20px 20px 20px 40px;
		gap:40px;
	}
	.tre-flow-item:before{
		border-left: 50px solid transparent;
		border-right: 50px solid transparent;
		border-top: 40px solid #EFEAE4;
		bottom: -25px;
	}
	.tre-flow-item:nth-child(even):before{
		border-top: 40px solid #EBDCC9;
	}
}
/****** 施術の流れ setting end ******/

/*/////////////   ここまで   ///////////////////
//  施術について
////////////////////////////////////////////*/


/*/////////////////////////////////////////////
//  当院について
///////////////   ここから   /////////////////*/ 

/****** 院長挨拶 setting start ******/
.about-greeting-left{
	max-width: 300px;
	right: 0;
	left: 0;
	margin-left: auto;
	margin-right: auto;
}
.about-greeting-img{
	background:#AB115E;
	margin-top: 10px;
	padding-bottom: 10px;
}
.about-greeting-img img{
	object-fit: contain;
	width: 100%;
	height: auto;
	max-width: 300px;
	margin-left: 10px;
	margin-top: -10px;
	box-sizing: border-box;
}
.about-greeting-left p{
	background:#AB115E;
	color: #FFF;
	text-align: center;
	margin-top: 10px;
	padding: 5px 0;
	max-width: 250px;
	right: 0;
	left: 0;
	margin-left: auto;
	margin-right: auto;
}
.about-greeting-txt{
	margin-top: 20px;
}
@media screen and (min-width: 768px) {
	.about-greeting{
		display: grid;
		grid-template-columns: 300px 1fr;
		column-gap: 20px;
	}
	.about-greeting-txt{
		margin-top: 0px;
	}
	.about-greeting-img img{
		width: 280px;
	}
}
@media screen and (min-width: 1025px) {
	.about-greeting{
		column-gap: 40px;
	}
}
/****** 院長挨拶 setting end ******/

/****** アクセス setting start ******/
.about-access-img {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 10px;
}
.about-access-img img{
	object-fit: contain;
	width: 100%;
	height: auto;

}
.about-access-map{
	margin-top: 20px;
}
.about-access-map2 iframe {
	width: 100%;
}
.about-access-map iframe{
	width: 100%;
	height: 250px;
}
.about-access-directions-item{
	background:#EFEAE5 ;
	padding: 15px;
}
.about-access-directions-item:first-of-type{
	margin-bottom: 20px;
}
.about-access-directions-item p:first-of-type{
	text-align: center;
}
.about-access-directions-item img{
	object-fit: contain;
	width: 100%;
	height: auto;
	margin: 15px 0;
}
.about-access-youtube iframe{
	width: 100%;
	height: 250px;
}
@media screen and (min-width: 480px){
	.about-access-directions{
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 20px;
	}
	.about-access-directions-item:first-of-type{
		margin-bottom: 0;
	}
}
@media screen and (min-width: 768px) {
	.about-access-map{
		margin-top: 30px;
	}
	.about-access-map iframe{
		height: 350px;
	}
	.about-access-directions-item{
		padding: 20px;
	}
	.about-access-directions-item img{
		margin: 20px 0;
	}
	.about-access-youtube iframe{
		height: 350px;
	}
}
@media screen and (min-width: 1025px) {
	.about-access-directions{
		column-gap: 40px;
	}
}
/****** アクセス setting end ******/


/*/////////////   ここまで   ///////////////////
//  当院について
////////////////////////////////////////////*/


/*/////////////////////////////////////////////
//  お問合せ
///////////////   ここから   /////////////////*/ 

.p_contact h2{
	font-size: 18px;
	text-align: center;
}
.p_contact-top{
	background:#EFEAE5 ;
	border-radius: 5px;
	text-align: center;
	padding: 20px 10px;
}
.p_contact-top a{
	font-weight: 600;
	color:#AB115E;
	font-size: 20px;
	display: block;
	margin: 10px 0;
}
@media screen and (min-width: 768px) {
	.p_contact-top{
		padding: 40px 20px;
	}
	.p_contact h2{
		font-size: 20px;
	}
	.p_contact-top a{
		font-size: 25px;
		margin: 20px 0;
	}
}
/****** お問合せフォーム7 setting start ******/ 
.p_contact-wrap{
	background:#EFEAE5;
	border: 1px solid #CCC7BF;
	border-radius: 5px;
	padding: 20px;
}
.contact-cell{
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #fff;
}
.contact-cell.last{
	margin-bottom: 0px;
	border-bottom: none;
}
.contact-cell p.title{
	margin-bottom: 10px;
}
.contact-cell p.title .hissu{
	margin-left: 10px;
	border: 1px solid #E05D5D;
	color: #E05D5D;
	padding: 3px 7px;
	border-radius: 5px;
}


.wpcf7-form-control-wrap{
	box-sizing: border-box;
}
.contact-cell-item input,.contact-cell-item textarea , .contact-cell-item select{
	background: #fff;
	padding: 10px 5px;
	border: 1px solid #707070;
	border-radius: 2px;
	width: 100%;
	box-sizing: border-box;
	font-size: 16px;
}
.contact-cell-item.grid-2 select{
	margin-top: 10px;
}
.wpcf7-list-item{
	display: block;
}


.wpcf7-list-item {
    margin: 0;
}
.wpcf7-list-item{
	margin-bottom: 5px;
}
.wpcf7-list-item:last-of-type{
	margin-bottom:0;
}

/* ドロップダウンメニュー */
select {
    -webkit-appearance: none; /* Safari, Chrome */
    -moz-appearance: none; /* Firefox */
    appearance: none;
    background: none;
}
.contact-select {
	position: relative;
}

.contact-select:before {
	position: absolute;
	top: 50%;
	right: 20px;
	z-index: 10;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 8px solid #837865;
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
	pointer-events: none;
	content: '';
}



/* チェックボックス・ラジオボタン */
input[type="checkbox"]{
	border-radius: 50%;
	position: relative;
	width: 18px;
	height: 18px;
	margin-right: 1px;
	border: 1px solid #837865;
	vertical-align: -6px;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="checkbox"]:checked:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 11px;
	height:11px;
	border-radius: 50%;
	background: #837865;
	content: '';
}
/* 送信 */
.contact-cell-submit{
	right: 0;
	left: 0;
	margin-right: auto;
	margin-left: auto;
	max-width: 500px;
}
input[type="submit"] {
	height: 40px;
	width: 100%;
	background: #837865;
	color: #fff;
	transition: opacity .6s;
	border: none;
	border-radius: 2px;
}
input[type="submit"]:hover {
	opacity: .6;
}
.wpcf7-spinner{
	display: none;
}
input::placeholder {
	font-size: 14px;
}
textarea::placeholder {
	font-size: 14px;
}
@media screen and (min-width: 768px){
	.p_contact-wrap{
		padding: 40px;
		border-radius: 10px;
	}
	.contact-cell{
		display: grid;
		grid-template-columns: 1fr 1fr;
		margin-bottom: 40px;
		padding-bottom: 40px;
	}
	.contact-cell p.title{
		margin-bottom: 0;
		place-items: center;
		place-content: center;
	}
	.contact-cell-item input,.contact-cell-item textarea{
		padding: 15px 10px;
		border-radius: 5px;
	}
	input::placeholder {
		font-size: 15px;
	}
	textarea::placeholder {
		font-size: 15px;
	}
	.contact-cell-item .grid-2{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
}
/******  お問合せフォーム7 setting end ******/ 

.thanks-page{
	padding: 20px 0;
	text-align: center;
}
@media screen and (min-width: 768px){
	.thanks-page{
		padding: 70px 0 30px 0;
	}
}
/*/////////////   ここまで   ///////////////////
//  お問合せ
////////////////////////////////////////////*/



/*/////////////////////////////////////////////
//  ブログ
///////////////   ここから   /////////////////*/ 
.blog-main-content h1{
	font-size: 18px;
}
.blog-main-content img{
	object-fit: contain;
	width: 100%;
	height: auto;
}
.blog-category{
	background:#EFEAE5 ;
	color: #AB115E;
	font-weight: 600;
	padding: 5px;
}
.blog-category i{
	padding-right: 2px;
}
.blog-category-box{
	margin-top: auto;
}
@media screen and (min-width: 768px){
	.blog-main-content h1{
		font-size: 22px;
	}
}
/******  ブログ setting start ******/ 
/******  ブログ setting end ******/ 
/*/////////////   ここまで   ///////////////////
//  ブログ
////////////////////////////////////////////*/

@media screen and (max-width: 767px) {
    .fv-circle {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .fv-content {
        aspect-ratio: auto;
        height: auto;
    }

    .fv-slide01-wrapper {
        height: auto;
        max-height: none;
    }
}

@media screen and (max-width: 767px) {
    .fv-content {
        aspect-ratio: auto;
        height: auto;
    }

    .fv-slide01-wrapper {
        height: 50vh; /* 適宜 50vh～60vh などお好みで */
        max-height: none;
    }

    .fv-slide01-slides {
        position: relative;
        width: 100%;
        height: 100%;
    }
}

.fv-slide01-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    background-color: #000; /* ← ここは白でもOK：#fff にすると全体が白背景に */
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
    z-index: 1;
}



  