/*基本は日本語で、インドネシア語・英語については、ページごとに.indonesian、.englishで囲ってある
 * cssは、日本語（PC>SP）→インドネシア語（PC>SP）、英語（PC>SP）　の順で記述*/

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

:root {
	--beige: #E5E0D6;
	--beige2: #F2EFEA;
	--ivory: #F5F3EF;
	--green: #8BBA2A;
	--orange: #DC7733;
	--yellow: rgba(245,229,107,0.6);	
	--red: #b7282e;	
	--black: #333333;
	--gothic: 'Helvetica Neue', '游ゴシック体', YuGothic, 'メイリオ', Meiryo, sans-serif;
	--mincho: '游明朝体', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', serif;
	--number-font: "Outfit", sans-serif;
}

/* ◆◆◆ 枠外背景 ◆◆◆ */
@media (min-width: 769px) {
	.l-wrapper {
		overflow: hidden;
		background-image:url(https://xs986046.xsrv.jp/arkhe_hp/wp-content/uploads/2025/07/bk.webp);
		background-attachment: fixed;
		background-repeat: no-repeat;
		background-size: cover;
	}
}
/* ◆◆◆ /枠外背景 ◆◆◆ */

.l-container {
    margin-bottom: 0;
}


/* ◆◆◆ フォントサイズ ◆◆◆ */
/* このサイトに合う設定に調整 */
h2 {
	font-size: clamp(1.4rem, 2.2vw, 1.8rem);
	min-height: 0;
	line-height: 1.4;
	padding: 0 0 1em;
	background: none;
	color: var(--black);
}

h3 {
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	min-height: 0;
	margin-top: 3rem;
	padding: 0;
	border: none;
}

p, li, a {
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	color: var(--black);
}

p {
	margin-bottom: 2rem;
}
/* ◆◆◆ /フォントサイズ ◆◆◆ */


/* ◆◆◆ 見出し ◆◆◆ */
h2.title__orange-left {
	position: relative;
	color: var(--orange);
	letter-spacing: 2px;
	padding: 0 0 0 1.5em;
	margin-bottom: 2em;
}

h2.title__orange-left::before {
	content: "";
	position: absolute;
	width: 1em;
	height: 1px;
	background: var(--orange);
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

h2.title__green-left {
	position: relative;
	color: var(--green);
	letter-spacing: 2px;
	padding: 0 0 0 1.5em;
	margin-bottom: 2em;
}

h2.title__green-left::before {
	content: "";
	position: absolute;
	width: 1em;
	height: 1px;
	background: var(--green);
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

h2.title__orange-top {
	position: relative;
	text-align: center;
	color: var(--orange);margin-block: 2.4em;
}

h2.title__orange-top::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 1em;
	background: var(--orange);
	top: -1.6em;
	left: 50%;
	transform: translateX(-50%);
}

h2.title__green-top {
	position: relative;
	text-align: center;
	color: var(--green);
	margin-block: 2.4em;
}

h2.title__green-top::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 1em;
	background: var(--green);
	top: -1.6em;
	left: 50%;
	transform: translateX(-50%);
}


/* ◆◆◆ 文字色 ◆◆◆ */
.text__red {
	color: var(--red);
	font-weight: 600;
}

.text__yellow {
	color: #FFFA7C;
	font-weight: 600;
}

.text__green {
	color: var(--green);
	font-weight: 600;
}
/* ◆◆◆ /文字色 ◆◆◆ */


/* ◆◆◆ マーカー ◆◆◆ */
.marker {
	background:linear-gradient(transparent 60%, var(--yellow) 60%);
}
/* ◆◆◆ /マーカー ◆◆◆ */

.bold {
	font-weight: 600;
}

img {
	display: block;
	box-sizing: border-box;
}


/* ◆◆◆ ヘッダー ◆◆◆ */
/*H1*/
.header__h1-item {
	color: var(--black);
	background: var(--beige);
}

/*logo*/
.l-header__logo {
	padding-block: 0.8em 0.5em;
}

.l-header {
	background: var(--ivory);
}

/*言語スイッチ*/
.lang-item {
	width: 5rem;
	text-align: center;
}

.lang-item a {
	color: var(--orange);
	text-decoration: none;
	border: solid 1px var(--orange);
	border-radius: 3rem;
	display: inline-block;
	width: 100%;
	transition: 0.6s;
}

.lang-item a:hover {
	border: solid 1px var(--green);
	background: var(--green);
	color: white;
}

/* 現在のページの言語 */
.lang-item-id.current-lang a, .lang-item-ja.current-lang a {
	border: solid 1px var(--orange);
	background: var(--orange);
	color: white;
}


/* ◆◆◆ /ヘッダー ◆◆◆ */


/* ◆◆◆ グロナビ ◆◆◆ */
.l-headerUnder {
	background: var(--ivory);
}

.l-header {
	border-bottom: solid var(--beige) 1px;
}
.c-gnav .__mainText, .c-gnav .__subText {
	color: var(--black);
}

.c-gnav__li, .c-gnav__li>.c-gnav__a{
	padding-block: 0.5em;
}

ul.c-gnav > li:last-child > .c-gnav__a .__mainText {
	color: white;
}

.menu-item-57, .menu-item-787 {
	background: var(--green);
}

.c-gnav > li:last-child {
  margin-left: auto;
}
/* ◆◆◆ /グロナビ ◆◆◆ */


.inner {
	max-width: 1000px;
	margin: 0 auto;
}

.fv__top figure {
	line-height: 0;
}


/* ◆◆◆ TOP ◆◆◆ */
/*シェアNo.1*/
.no1 {
	background: var(--green);
	margin:0 calc(50% - 50vw);
}

.no1__inner {
	color: white;
	display: flex;
	align-items: center;
	padding-block: 1em;
}

.no1__left-box {
	font-size: clamp(1.5rem, 2.9vw, 2.7rem);
	font-weight: 600;
	line-height: 1.2;
	width: 50%;
}

.no1__left-box span {
	font-size: 140%;
}

.no1__center-box {
	border-right: solid 1px;
	width: 20%;
	padding: 0.4em 1em 0;
}

.no1__right-box {
	width: 30%;
	padding: 0.4em 1em 0;
}

.no1__right-box2 {
	width: 50%;
	padding: 0 6em 0 4em;
	border-left: solid 1px;
}


/* ◆◆◆ /TOP ◆◆◆ */


/* ◆◆◆ 日本の整体から ◆◆◆ */

.read {
	text-align: center;
	background: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/read-bg-scaled.webp);
	background-size: cover;
	padding: 6.5em 0;
	margin:0 calc(50% - 50vw);
}

.read h2 {
	font-size: clamp(1.8rem, 2.6vw, 2.4rem);
	color: var(--green);
	letter-spacing: 5px;
	padding-left: 0.5em;
	margin-bottom: 0.4em;
}

.read p {
	margin-bottom: 1em;
	letter-spacing: 1px;
}

.read p:last-child {
	margin-bottom: 0;
}

/* ◆◆◆ /日本の整体から ◆◆◆ */


/* ◆◆◆ 整体とは ◆◆◆ */
.what__inner {
	padding-block: 4em 3em;
}

.what__img {
	width: 45%;
	float: left;
	padding: 0 2em 2em 0;
}

.what__text::after {
    content: ""; 
    display: block; 
    clear: both; 
}

.what__text p {
	font-size: clamp(1rem, 1.4vw, 1.1rem);
	text-align: justify;
}
/* ◆◆◆ /整体とは ◆◆◆ */


/* ◆◆◆ 施術メニュー ◆◆◆ */
.menu {
	background: var(--beige2);
	padding-block: 0 3em;
	margin:0 calc(50% - 50vw);
	margin-top: 10em;
}

.menu::before{
	content:"";
	position:absolute;
	left:50%;
	top:0;
	width:120vw;
	height:15em;
	background: var(--beige2);
	border-radius:50% 50% 0 0 / 100% 100% 0 0;
	transform:translate(-50%,-60%);
	z-index:-1;
}

ul.menu__items {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	gap: 1em;
	padding: 0 0 7em;
	margin: 2em 0 1em;
}

li.menu__item {
	flex: 0 0 calc((100% - 3em) / 4);
	box-sizing: border-box;
	text-align: center;
	background: white;
	padding: 1em;
	margin: 0;
}

li.menu__item img {
	padding-inline: 30%;
}

li.menu__item h3 {color: var(--orange);
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	border-bottom: solid 1px #e2e2e2;
	padding-bottom: 0.5em;
	margin: 0.4em 0;
}

li.menu__item p {
	font-size: clamp(0.8rem, 1.2vw, 1rem);
	text-align: justify;
	letter-spacing: -0.5px;
	padding-top: 0.3em;
	margin-bottom: 0;
}
/* ◆◆◆ /施術メニュー ◆◆◆ */


/* ◆◆◆ 理由 ◆◆◆ */
.reason {
	padding-block: 4em 2em;
}

h2.reason__title {
	position: relative;
	color: var(--green);
	letter-spacing: 2px;
	padding: 0 0 0 1.5em;
	margin-bottom: 2em;
}

h2.reason__title::before {
	content: "";
	position: absolute;
	width: 1em;
	height: 1px;
	background: var(--green);
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

ul.reason__items {
	counter-reset: reason;
	list-style: none;
	padding: 0 3em 0 0;
	margin: 0;
}

li.reason__item {
	position: relative;
	background: white;
	border: solid 1px var(--green);
	padding: 2em 11em 2em 8em;
	margin-bottom: 2em;
}

li.reason__item h3{
	position: relative;
	font-size: clamp(1.2rem, 1.8vw, 1.5rem);
	color: var(--green);
	font-weight: 400;padding-bottom: 1.2em;
	margin-top: 0;
}

li.reason__item h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0.6em;
	width: 100%;
	height: 1px;
	background-image: linear-gradient(to right, #8BBA2A 6px, transparent 5px);
	background-size: 11px;
	background-repeat: repeat-x;
}

li.reason__item::before {
	position: absolute;
	content: "";
	width: 4em;
	height: 4em;
	top: 50%;
	left: 2em;
	transform: translatey(-50%);
}

li.reason__item:nth-of-type(1)::before {
	background: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/reason-no1.webp);
	background-size: cover;
}

li.reason__item:nth-of-type(2)::before {
	background: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/reason-no2.webp);
	background-size: cover;
}

li.reason__item:nth-of-type(3)::before {
	background: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/reason-no3.webp);
	background-size: cover;
}
		
		li.reason__item:nth-of-type(4)::before {
	background: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/reason-no4.webp);
	background-size: cover;
}
	
	li.reason__item:nth-of-type(5)::before {
	background: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/reason-no5.webp);
	background-size: cover;
}

li.reason__item:nth-of-type(6)::before {
	background: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/reason-no6.webp);
	background-size: cover;
}

li.reason__item figure {
	position: absolute;
	padding-block: 1.2em;
	width: 25%;
	top: 50%;
	transform: translatey(-50%);
	right: -3em;
}

.reason__item p {
	text-align: justify;
	margin-bottom: 0;
}
/* ◆◆◆ /理由 ◆◆◆ */


/* ◆◆◆ 施術の流れ◆◆◆ */
.flow__02 {
	background: #F7F7F7;
	padding-block: 6em 4em;
	margin:0 calc(50% - 50vw);
	margin-top: 1em;
}

.flow__02 ul.flow__items {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	justify-content: space-between;
	padding: 0;
}

.flow__02 li.flow__item {
	width: 28%;
	margin-bottom: 2em;
}

.flow__02 li.flow__item:nth-of-type(1) figure::after,
.flow__02 li.flow__item:nth-of-type(2) figure::after,
.flow__02 li.flow__item:nth-of-type(4) figure::after,
.flow__02 li.flow__item:nth-of-type(5) figure::after {
	position: absolute;
	content: "";
	background: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/flow-arrow.png);
	background-size: cover;
	width: 3em;
	height: 0.65em;
	top: 50%;
	right: -3.6em;
}

.flow__02 li.flow__item figure {
	position: relative;
	width: 100%;
	padding-right: 0.6em;
	margin: 0;
}

.flow__02 li.flow__item img {
  width: 100%;
  object-fit: cover; 
  display: block;
}

.flow__02 li.flow__item h3 {
	color: var(--orange);
	font-size: clamp(1.1rem,1.8vw,1.4rem);
	text-align: center;
	letter-spacing: 2px;
	line-height:.6em; 1.5;
	margin-block: 1.5em 1em;
}

.flow__02 li.flow__item p {
	text-align: justify;
	border-top: solid 5px white;
	letter-spacing: -0.5px;
	padding-block: 0.6em;
	margin: 0 0.6em;
}
/* ◆◆◆ /施術の流れ ◆◆◆ */


/* ◆◆◆ CTA ◆◆◆ */
.contact {
	position: relative;
	text-align: center;
	background: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/cta-bg-scaled.webp);
	background-size: cover;
	padding-block: 10em;
	margin:0 calc(50% - 50vw);
}

.contact::before, .contact::after {
	position: absolute;
	content: "";
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	background: white;
	width: 100vw;
	height: 1px;left: 0;
}

.contact::before {
	top:1em;
}

.contact::after {
	bottom:1em;
}

.contact h2 {
	font-size: clamp(1.4rem, 2.5vw, 2.1rem);
	color: white;
	letter-spacing: 2px;
	line-height: 1.5;
}

.contact p {
	color: white;
	letter-spacing: 1px;
	margin-bottom: 3em;
}

.contact__btn a {
	position: relative;
	color: white;
	text-decoration: none;font-weight:600;
	border: solid 2px;
	padding: 1em 3.2em 1em 2em;
	border-radius: 3em;letter-spacing: 2px;transition: 0.6s;
}

.contact__btn a::after {
	position: absolute;
	content: "";
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background: white;
	width: 0.6em;
	height: 1em;top: 50%;right: 2em;transform: translatey(-50%);
}

.contact__btn a:hover {
	background: var(--orange);
}
/* ◆◆◆ /CTA ◆◆◆ */


/* ◆◆◆ 下層FV ◆◆◆ */
.fv figure {
	margin: 0;
}

.l-content__body {
	margin-top:0;
}

.fv__other {
	position: relative;
	margin:0 calc(50% - 50vw);
}

.fv__other p.bo-page-title {
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	left: 10%;
	margin: 0;
}

.fv__other figure {
	margin: 0 auto
}

/* ◆◆◆ /FV ◆◆◆ */


/* ◆◆◆ 当院についてP ◆◆◆ */
.about {
	background: #F3EFE9;
	padding-block: 5em;
	margin:0 calc(50% - 50vw);
}

p.about__sub-title {
	font-size: clamp(1.1rem, 1.7vw, 1.4rem);
	color: var(--orange);
	text-align: center;
	padding-block: 2em;
}

.about__message {
	padding-top: 4em;
	text-align: justify;
}

.about__message p:last-child {
	margin-bottom: 0;
}


/*スライド---横方向に流れ続ける*/
/*全体サイズ設定*/
.slide-container2 {
	background: white;
	padding-top: 0.5em;
	margin:0 calc(50% - 50vw); 
}

/*スライド枠設定*/
.slide-container2 ul {
	display: flex;
	list-style: none;
	-webkit-animation: loop-slide 20s infinite linear 1s both;
	animation: loop-slide 20s infinite linear 1s both;
	padding: 0;
}

/*animation設定
animation-name: loop-slide;　＝アニメーション名
animation-duration: 20s;　＝開始から終了までの所要時間 
animation-iteration-count: infinite;　＝アニメーションのループ回数（無限ループを実行）
animation-timing-function: linear;　＝動きの加減速
animation-delay: 1s;　＝アニメーションが開始するまでの遅延時間
animation-fill-mode: both;  ＝アニメーション開始前・終了後の挙動（アニメーション開始前と終了後にキーフレームアニメーションで指定したプロパティが適用され、連続性を表現）
*/

.slide-container2-wrap {
	display: flex;
	align-items: center;
	height: 250px;
	overflow: hidden;
}

/*スライド画像設定*/
.slide-container2 li {
	width: 400px;
	height: 250px;
	background-size: cover;
	margin-right: 0.4em;
}

/*スライド画像個別設定*/
.slide-container2 li:nth-child(1) {
	background-image: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/about-img1.webp);
}

.slide-container2 li:nth-child(2) {
	background-image: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/about-img2.webp);
}

.slide-container2 li:nth-child(3) {
	background-image: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/about-img3.webp);
}

.slide-container2 li:nth-child(4) {
	background-image: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/about-img4.webp);
}

@keyframes loop-slide {
    /*開始地点の指定なし＝動かしていない状態*/
	from {
		transform: translateX(0);
	}
    /*親要素（slide-container2-wrap）の幅100％分左方向に移動させる状態／<ul>に入っている<li>がまるごと画面外に移動して消える、という指定*/
	to {
		transform: translateX(-100%);
	}
}
/*スライド---横方向に流れ続ける---ここまで*/

/* ◆◆◆ /当院についてP ◆◆◆ */


/* ◆◆◆ 料金P ◆◆◆ */
.first__inner {
	padding-block: 4em 3em;
}

.first__container {
	display: flex;
	max-width: 930px;
	align-items: center;
	margin: 0 auto;
}

.first__img {
	width: 35%;
}

.first__text {
	width: 65%;
	padding-left: 2em;
}

.offer {
	text-align: center;
	background: var(--green);padding-block: 3em 10.5em;
	margin:0 calc(50% - 50vw); 
}

.offer p {
	color: white;
	font-size: clamp(1rem, 1.8vw, 1.6rem);
	font-weight: 600;
	letter-spacing: 1px;
}

.offer p:last-child {
	margin-bottom: 0.5em;
}

.number {
	font-family: var(--number-font);
	font-weight: 700;
}

.offer__text .number {
	font-size: 150%;
}

.offer__text .number {
	position: relative;
	display: inline-block;
	padding: 0 4px;
}

.offer__text .number::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #ED6161;
	transform: rotate(-15deg);
	transform-origin: center;
}

p.offer__special{
	font-size: clamp(1.3rem, 2.4vw, 2.2rem);
	background: rgba(255,255,255,0.2);
}

.offer__special .number {
	font-size: 180%;
}

.page-id-124 .flow__02 {
	
	position: relative;
}

.page-id-124 .flow__02::before, .page-id-778 .flow__02::before {
	content:"";
	position:absolute;
	left:50%;
	top:0;
	width:120vw;
	height:15em;
	background: #F7F7F7;
	border-radius:50% 50% 0 0 / 100% 100% 0 0;
	transform:translate(-50%,-60%);
	z-index:-1;
}

.page-id-124 .flow__02 h2.title__orange-top, .page-id-778 .flow__02 h2.title__orange-top {
	margin-top: -4em;
}
/* ◆◆◆ /料金P ◆◆◆ */


/* ◆◆◆ 問い合わせP ◆◆◆ */
.clinic__read {
	text-align: center;
}

h2.clinic-list__title {
	margin-block: 4em 0.6em;
}

ul.clinic__items {
	padding: 0;
	list-style: none;
	margin-top: 4em;
}

li.clinic__item {
	border: solid 1px var(--orange);
	border-radius: 2em;
	padding: 2.5em 4em 1.5em;margin-bottom: 2em;
}

li.clinic__item h3 {
	color: var(--orange);
	font-size: clamp(1.4rem, 3vw, 2.8rem);
	text-align: center;
	font-weight: 400;
	letter-spacing: 2px;
	border-bottom: solid 1px;
	padding:0 0 1em;
	margin: 0 0 1em;
}

.clinic__item-flex {
	display: flex;
}

.clinic__item-img {
	width: 40%;
}

figure.clinic__item-img img {
	margin-bottom: 0.7em;
}

.clinic__item-text {
	width: 60%;
	padding-left: 2em;
}

.clinic__item-text dl {
	margin-bottom: 1em;
}

.clinic__item-text dt {
	color: var(--orange);
	font-weight: 600;
}

.clinic__item-text dd {
	margin-bottom: 0.3em;
}

.clinic__item-text a {
	position: relative;
	color: white;
	font-weight: 600;
	background: var(--orange);
	text-decoration: none;
	border-radius: 1em;
	padding: 0.3em 2em 0.3em 1.2em;
}

.clinic__item-text a::after {
	position: absolute;
	content: "";
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background: white;
	width: 0.4em;
	height: 0.7em;
	top: 50%;
	right: 1em;
	transform: translatey(-50%);
}

.gmap-btn {
	transition: 0.6s;
}

.gmap-btn:hover {
-webkit-transform: scale(1.05);
	transform: scale(1.05);
	transition-property: all;opacity: 0.7;
}
/* ◆◆◆ /問い合わせP ◆◆◆ */


/* ◆◆◆ オファー ◆◆◆ */
.offer {
	margin-top: 3em;
}

.offer figure {
	margin: 0;
}
/* ◆◆◆ /オファー ◆◆◆ */


/* ◆◆◆ フッターボタン ◆◆◆ */
.l-content {
	z-index: 1;
}

.footer__contact {
	display: none;
}

/*1つの場合
.footer__contact-btn1 {
	transition: 0.6s;
}

.footer__contact-btn1:hover {
	transform: scale(1.05,1.05);
}

/*2つの場合
.footer__contact-btn2 {}

.footer__btn2-item {
	transition: 0.6s;
	margin-bottom: 1.6em;
}

.footer__btn2-item:hover {
	transform: scale(1.05,1.05);
}
/* ◆◆◆ /フッターボタン ◆◆◆ */


/* ◆◆◆ フッター ◆◆◆ */
.bo-footer {
	background: var(--beige);
}

.bo-footer__title h2 {
	color: white;	
}

.bo-footer__list li a {
	color: white;
}

.l-footer__foot {
	background: var(--beige);
}

p.c-copyright {
	color: var(--black);
	padding-top: 3em;
}

/*フッターSNS*/
.footer__sns {
	display: flex;
	justify-content: center;
	gap:2rem;
	padding-block: 3em 1em;
}

.footer__sns img {
	width: 3em;
	height: auto;
	transition: 0.6s;
}

.footer__sns img:hover {
	opacity: 0.7;
}
/* ◆◆◆ /フッター ◆◆◆ */


/* ◆◆◆ 下層ページ ◆◆◆ */

.p-archive__title p.c-pageTitle__main, p.bo-page-title {
	color: var(--orange);
	font-size: clamp(1.8rem, 2.8vw, 2.3rem);
	font-weight: 600;
}

/* ◆◆◆ /下層ページ ◆◆◆ */


/* ◆◆◆ フォームエリア・cf7 ◆◆◆ */
.contact__form {
	background: var(--beige2);
	padding: 3em 10% 8em;
	width: 100%;
}

.contact__form p {
	margin-bottom: 0!important;
}

.contact__form-item {
	margin-bottom: 2em;
}

.contact__container {
	position: relative;
	background: var(--beige2);
	padding-block: 0 3em;
	margin:0 calc(50% - 50vw);
	margin-top: 19em;
}

.contact__container::before {
	position: absolute;
	content:"";
	left:50%;
	top:0;
	width:120vw;
	height:15em;
	background: var(--beige2);
	border-radius:50% 50% 0 0 / 100% 100% 0 0;
	transform:translate(-50%,-60%);
}

h2.contact__title {
	margin-bottom: 1em;
}

p.contact__read {
	position: relative;
	font-size: clamp(0.9rem, 1.4vw, 1.1rem);
	text-align: center;
}

a.contact-from__btn {
	color: var(--green);
	font-size: clamp(0.9rem, 1.4vw, 1.1rem);
	text-align: center;
	text-decoration: none;
	border: solid 1px;
	border-radius: 2em;
	padding: 0.5em 2em;
	transition: 0.6s;
}

a.contact-from__btn:hover {color: var(--orange);}

ul.contact__step {
	display: flex;
	list-style: none;
	text-align: center;
	justify-content: center;
	gap: 5em;
	position: relative; 
    width: 100%;padding-left: 0;
    max-width: 500px;
    margin: 0 auto; 
}

ul.contact__step li span {
	font-size: 80%;
	font-weight: 400;
}

ul.contact__step li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: white;
	font-weight: 600;
	background: var(--green);
	width: 6em;
	height: 6em;
	border-radius: 50%;
	text-align: center;
	line-height: 0.8;
	padding-bottom: 0.3em;
	z-index: 1;
}

ul.contact__step li:nth-child(2) {
    background: #fff;
    border: 2px solid var(--green);
    color: var(--green);
}

ul.contact__step::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8em;
	height: 1.5px;
	background: var(--green);
	z-index: 0;
}

/* 必須項目を対象 */
.contact__form-item:has(.wpcf7-validates-as-required) .label::after {
    content: "*";
    color: #d94133;
    font-weight: bold;
    margin-left: 0.3em;
}


/*サンクスページ*/
.thanks__message {
	text-align: center;
	padding-block: 4em 10em;
}

.thanks .contact__container {
	background: white;
	margin-top: 8em;
}

.thanks .contact__container::before {
	display: none;
}

.thanks ul.contact__step li:nth-child(1) {
    background: #fff;
    border: 2px solid var(--green);
    color: var(--green);
}

.thanks ul.contact__step li:nth-child(2) {
    background: var(--green);
	color: white;
}

.wpcf7-submit {
	color: white;
	background: var(--green);
	border-radius: 0.5rem;
	padding: 1em 2em;
	margin-top: 3em;
	transition: 0.6s;
}

.wpcf7-submit:hover {
	opacity: 0.7;
	box-shadow: 2px 2px 2px gray;
}

textarea, input {
	background: white;
	width: 100%;
	box-shadow: 0 0 2px #c8c2c6;
}

span.wpcf7-list-item-label {
	font-size: clamp(0.9rem, 1.4vw, 1.2rem);
}

.contact__consent-check input {
	width: 2rem;
}
/* ◆◆◆ /cf7 ◆◆◆ */


/* ◆◆◆ パンくず ◆◆◆ 
.p-breadcrumb {
	display: none;
}
/* ◆◆◆ /パンくず ◆◆◆ */

.p-breadcrumb {background: var(--beige);}









/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */
/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ TB ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */
/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */



@media (max-width: 1024px) {
	/* ◆◆◆ ハンバーガーメニュー ◆◆◆ */
	/*ボタン背景色*/
	.l-header__drawerBtn {
		background: var(--green);
		border-radius: 3px;
	}

	
	/*ボタン３本線*/
	.c-iconBtn__icon {
		color: white;
	}
	
	/*メニュー背景色*/
	.p-drawer{ 
		background: var(--beige);
	}
	
	.p-drawer__close {
	color: var(--black);
	}

	.menu-item-57 {
		background: none;
	}

	/* ◆◆◆ ハンバーガーメニュー ◆◆◆ */
	
	.l-header__logo {
		padding-left: 1em;
	}
	
	
}



/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */
/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ SP ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */
/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */

@media (max-width: 768px) {
	.l-header__logo {
		padding: 0.2em 20%;
	}
	
	.l-header__logo img {
		width: 100%;
	}
	
	/*言語スイッチ*/
	.bo-header__right-box {
		justify-content: center;
	}
		
	/* ◆◆◆ TOP ◆◆◆ */
	/*シェアNo.1*/
	.no1 {
		margin:0;
	}

	.no1__inner {
		flex-wrap: wrap;
	}

	.no1__left-box {
		width: 100%;
		text-align: center;
		padding-bottom: 0.4em;
	}
	
	.no1__center-box {
		width: 40%;
		padding: 0.4em 1em 0;
	}

	.no1__right-box {
		width: 60%;
		padding: 0.4em 1em 0;
	}
	
	.no1__right-box2 {
	width: 100%;
	padding: 0.5em 3em 0;
	border-left: none;
}
	/* ◆◆◆ /TOP ◆◆◆ */
	
	/* ◆◆◆ 日本の整体から ◆◆◆ */
	.read {
		padding: 3.5em 0;
		margin:0;
	}

	.read h2 {
		margin-bottom: 0.2em;
	}

	.read p {
		text-align: left;
	}
	/* ◆◆◆ /日本の整体から ◆◆◆ */
	
	/* ◆◆◆ 整体とは ◆◆◆ */
	.what__inner {
		padding-block: 2em 0;
	}

	.what__img {
		width: 100%;
		padding: 0;
		margin-bottom: 1.5em;
	}

	.what__text {
		width: 100%;
		padding-bottom: 1em;
	}
	/* ◆◆◆ /整体とは ◆◆◆ */
	
	/* ◆◆◆ 施術メニュー ◆◆◆ */
	.menu {
		margin-top: 0;
	}
	
	.menu::before{
		height:7em;
	}

	ul.menu__items {
		gap: 0.6em;
		padding-bottom: 4em;
		margin-block: 1em;
	}

	li.menu__item {
		flex: 0 0 calc((100% - 0.6em) / 2);
	}

	li.menu__item h3 {
		margin: 0.2em 0;
	}
	/* ◆◆◆ 施術メニュー ◆◆◆ */
	
	/* ◆◆◆ 理由 ◆◆◆ */
	.reason {
		padding-block: 1.4em 1em;
	}

	ul.reason__items {
		padding: 0;
	}

	li.reason__item {
		padding: 1em 1.5em;
		margin-bottom: 1em;
	}

	li.reason__item h3{line-height: 1.3;
		padding: 0 0 1em 3em;
	}

		li.reason__item:nth-of-type(4) h3, li.reason__item:nth-of-type(5) h3{
		padding: 0.5em 0 1.6em 3em;
	}

	li.reason__item::before {
		position: absolute;
		content: "";
		width: 2.7em;
		height: 2.7em;
		top: 1.2em;
		left: 1.4em;
		transform: none;
	}

	li.reason__item h3::after {
		bottom: 0.5em;
		background-image: linear-gradient(to right, #8BBA2A 8px, transparent 6px);
		background-size: 14px;
	}

	li.reason__item figure {
		position: static;
		padding-block: 0.5em;
		width: 100%;
		transform: none;
	}

	.reason__item p {
		margin-bottom: 0;
	}
	/* ◆◆◆ /理由 ◆◆◆ */
	
	/* ◆◆◆ 施術の流れ◆◆◆ */
	.flow__02 {
		padding-block:3.5em 1.5em;
		margin:0;
		margin-top: ;
	}

	.flow__02 h2.flow-title {

	}

	.flow__02 ul.flow__items {
		gap: 1em 2em;
	}

	.flow__02 li.flow__item {
		flex: 0 0 calc((100% - 2em) / 2);
		box-sizing: border-box;
	}

	.flow__02 li.flow__item:nth-of-type(2) figure::after,
	.flow__02 li.flow__item:nth-of-type(4) figure::after {
		display: none
	}

	.flow__02 li.flow__item:nth-of-type(1) figure::after,
	.flow__02 li.flow__item:nth-of-type(3) figure::after,
	.flow__02 li.flow__item:nth-of-type(5) figure::after {
		position: absolute;
		content: "";
		background: url(https://xs986046.xsrv.jp/irodori/wp-content/uploads/2026/02/flow-arrow.png);
		background-size: cover;
		width: 1.8em;
		height: 0.4em;
		top: 50%;
		right: -1.8em;
	}

	.flow__02 li.flow__item figure {
		padding-right: 0.4em;
		margin: 0;
	}

	.flow__02 li.flow__item h3 {
		letter-spacing: 1px;
		margin-block: 1em 0.8em;
	}


	.flow__02 li.flow__item p {
		padding-top: 0.5em;
		margin-inline: 0.4em;
	}
	/* ◆◆◆ /流れ◆◆◆ */
	
	/* ◆◆◆ CTA ◆◆◆ */
	.contact {
		padding-block: 4em;
		margin: 0;
	}
	
	.contact::before {
		top:0.5em;
	}

	.contact::after {
		bottom:0.5em;
	}

	/* ◆◆◆ /CTA ◆◆◆ */
	
	
	/* ◆◆◆ フッターボタン ◆◆◆ */
	.footer__contact {
		display: block;
		position: fixed;
		z-index: 10;
	}
	
	.footer__contact-btn {
		text-align: center;
		background: var(--green);
		border-bottom: solid 1.5px var(--beige2);
		padding-block: 1em;
		transition: 0.6s;
	}

	.footer__contact-btn a {
		color: white;
		text-decoration: none;
		font-weight: 600;
	}

	.footer__contact-btn:hover {
		background: var(--orange);
	}
	/* ◆◆◆ フッターボタン ◆◆◆ */
	
	/* ◆◆◆ 下層FV ◆◆◆ */
	.fv__other .bo-page-title {
		left: 0;
	}

	.page-id-45 .fv__other p.bo-page-title {
		top: 70%;
		left: 50%;
	}
	/* ◆◆◆ /下層FV ◆◆◆ */
	
	/* ◆◆◆ 私たちについて ◆◆◆ */
	.slide-container2 ul, .slide-container2-wrap {
		height: 220px;
	}
	
	.slide-container2 {
		padding-top: 0.1em;
	}
	
	.about {
		padding-block: 3em;
	}
	
	/* ◆◆◆ 料金P ◆◆◆ */
	.first__inner {
		padding-block: 0;
	}

	.first__container {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	
	.first__img {
		width: 100%;
		padding-bottom: 2em;
	}
	
	.first__text {
		width: 100%;
		padding-left: 0;
	}
	
	.offer {
		padding-block: 1.5em 5em;
	}
	
	.page-id-124 .what__inner {
		padding-top: 0;
	}

	.offer p {
		margin-bottom: 1.5em;
	}

	p.offer__special {
		line-height:1.3;
		padding-block: 1.5em;
	}

	.offer__special .number {
		font-size: 270%;
	}
	
	.page-id-124 .flow__02::before, .page-id-778 .flow__02::before {
		height:5em;
	}
	
	.page-id-124 .flow__02 h2.title__orange-top, .page-id-778 .flow__02 h2.title__orange-top {
		margin-top: -0.5em;
	}
	/* ◆◆◆ /料金P ◆◆◆ */
	
	/* ◆◆◆ 問い合わせP ◆◆◆ */
	.clinic__read {
		text-align: center;
	}

	h2.clinic-list__title {
		margin-block: 2em 0.3em;
	}

	ul.clinic__items {
		margin-top: 3em;
	}

	li.clinic__item {
		border-radius: 1em;
		padding: 1.5em 1.5em 1.5em;
		margin-bottom: 1em;
	}

	li.clinic__item h3 {
		padding:0 0 0.5em;
	}

	.clinic__item-flex {
		display: block;
	}

	.clinic__item-img {
		width: 100%;
	}
	.clinic__item-text {
		width: 100%;
		padding-left: 0;
	}

	.clinic__item-text dl {
		margin-top: 1em;
	}

	.clinic__item-text a {
		background: var(--orange);
		border-radius: 1em;
		padding: 0.3em 2em 0.3em 1.2em;
	}

	.clinic__item-text a::after {
		right: 1em;
	}

	.gmap-btn {
		text-align: center;
	}
	/* ◆◆◆ /問い合わせP ◆◆◆ */
	

	/* ◆◆◆ サンクスP ◆◆◆ */
	.thanks__message {
		text-align: justify;
		padding-block: 3em 6em;
	}
	/* ◆◆◆ /サンクスP ◆◆◆ */

	
	/* ◆◆◆ フッターボタン ◆◆◆ */
	.footer__contact {
		bottom: 0;
		right: 0;
		width: 100%;
	}

	/*1つの場合
	.footer__contact-btn1 {
		transition: 0.6s;
	}

	/*2つの場合
	.footer__contact-btn2 {
		display: flex;
		}

	.footer__btn2-item {
		width: 50%;
		padding: 0.1em;
		margin-bottom: 0;
	}
	/* ◆◆◆ フッターボタン ◆◆◆ */
	
	.entry_title {
		padding-inline: 5%;
	}	
	
	/* ◆◆◆ cf7 ◆◆◆ */
	.contact__form {
		padding: 2em 5%;
	}

	.contact__form-item {
		margin-bottom: 1em;
	}
	
	p.contact__read {
		text-align: justify;
	}
	
	.contact__container {
		margin-top: 10em;
	}
	
	.contact__container::before {
		height:10em;
	}

	.wpcf7-submit {
		margin-top: 1em;
	}


	/* ◆◆◆ /cf7 ◆◆◆ */
	
}


/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */
/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ インドネシア語 ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */
/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */
.indonesian .read h2 {
	font-size: clamp(1.3rem, 2.6vw, 2.4rem);
}

.indonesian .what__text p {
	text-align: left;
}

/* ◆◆◆ TOP ◆◆◆ */
/*シェアNo.1*/
.indonesian .no1__left-box {
	width: 75%;
}

.indonesian .no1__right-box2 {
	width: 45%;
	padding: 0 3em 0 4em;
}

.indonesian .no1__left-box {
    line-height: 1;
}

/*施術メニュー*/
.indonesian li.menu__item p {
	text-align: left;
}

.indonesian .menu__message {
	background: var(--orange);
	margin:0 calc(50% - 50vw);
}

.indonesian .menu__message .inner {
	padding: 3em 6em;
}

.indonesian .menu__message p {
	color: white;
	margin-bottom: 0;
}

.indonesian ul.menu__items {
    padding: 0 0 3em;
}

/*選ばれる理由*/
.indonesian .reason__item p {
	text-align: left;
}

/*文字数が少ない項目の調整*/
.indonesian .height-adjustment {
	margin-bottom: 2em;
}

/*流れ*/
.indonesian .flow__02 li.flow__item p {
	text-align: left;
}

.indonesian .flow__02 li.flow__item h3 {
	line-height: 1.4;
}

.indonesian .flow__message {
	background: var(--green);
	margin:0 calc(50% - 50vw);
}

.indonesian .flow__message .inner {
	padding: 3em 6em;
}

.indonesian .flow__message p {
	color: white;
	text-align: center;
	margin-bottom: 0;
}

.indonesian .flow__02 {
	padding-block: 6em 0;
}

.indonesian .about__message {
	text-align: left;
}

@media (max-width:768px) {
	.indonesian p {
		margin-bottom: 1rem;
	}
	
	.indonesian .read h2 {
		letter-spacing: 2px;
		padding-left: 0;
	}
	
	.indonesian .read {
		padding: 3em 0;
    }

	/* ◆◆◆ TOP ◆◆◆ */
	/*シェアNo.1*/
	.indonesian .no1__left-box {
		width: 100%;
	}

	.indonesian .no1__right-box2 {
		width: 100%;
		padding: 0.5em 3em 0;
	}

	.indonesian .no1__left-box {
		line-height: 1;
	}
	
	.indonesian .what {
		padding-bottom: 1em;
    }	
	
	.indonesian .what__inner {
        padding-block: 2.5em 0;
    }
	
	.indonesian .about__message {
		padding-top: 2em;
	}
	
	.indonesian .height-adjustment {
		margin-bottom: 0;
	}
	
	.indonesian .flow__02 li.flow__item h3 {
		letter-spacing: 0;
    }
	
	.indonesian .flow__02 {
		padding-block: 3em 0;
	}

	h2.title__orange-top {
		margin-block: 2.4em 1rem;
	}
	
	.indonesian .flow__message .inner {
		padding: 2.5em 2em;
	}
	
	.indonesian .menu__message .inner {
		padding: 3em 2em;
	}
	
	.indonesian .reason {
		padding-block: 2.5em 1em;
	}
	
	.indonesian .offer {
		margin-top: 2em;
	}

	.indonesian .contact p {
		text-align: left;
	}
	
	.indonesian .contact__btn {
		margin-top: 0;
	}
	
	.indonesian .fv__other {
		line-height: 0;
		margin-bottom: 0.5em;
	}	
	
	.indonesian .first {
		padding-top: 2.5em;
	}
	
	.indonesian .clinic {
		padding-top: 2.5em;
		padding-bottom: 0.2em;
	}
	
	.indonesian .clinic__read {
		text-align: left;
		margin-bottom: 2em;
	}
	
	.indonesian p.contact__read {
		text-align: left;
    }
	
	.indonesian .contact p {
		margin-bottom: 3em;
	}
}

