#bread_crumb li:last-child span {
	color: #000000 !important;
}

#bread_crumb li::before {
	top: 8%;
}

#side_col {
	position: sticky !important;
	top: 110px;
}


/* 施術メニュー一覧ページ */

#bread_crumb span,
#page_header_catch p span,
#archive_service .bottom_area .link_button a {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
}

.service_post_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2em 28px;
}

.service_post_list li {
	float: none !important;
	width: calc(50% - 14px);
	margin: 0 !important;
}

.service_post_list li .title_area {
	background: #f7f7f8;
}

#archive_service .top_area .title {
	font-family: 'Noto Serif JP', serif !important;
}

/* アンカーリンクの到達位置を調整（ヘッダーの高さ分だけ上に余白を作る） */
#archive_service article {
    scroll-margin-top: 130px;
}

@media screen and (max-width: 1250px) {
#archive_service article {
    /* ブラウザに「この中のレイアウトは外に影響しない」と伝え、計算を安定させる */
    contain: layout;
    /* 各項目の境界を明確にする */
    overflow: visible; 
    /* 前回の設定も維持 */
}

    #archive_service article {
        scroll-margin-top: 70px;
    }
}

.pum-title, .pum-theme-enterprise-blue {
	font-family: 'Noto Serif JP', serif !important;
}

.link.animate_background {
	height: auto !important;
    display: flex;
    flex-direction: column;
}

.service_post_list .title_area {
	height: 156px;
}

.img_fl_r {
	display: block;
	margin: .5em 0 1em 1em !important;
	width: min(240px, 60%);
	float: right !important;
}

.img_top {
	margin-top: -5rem !important;
}

.img625 {
    display: flex;
    margin: 1.5rem auto 3rem !important;
    width: min(520px, 100%);
}

.img_full {
    display: flex;
    margin: 1.5rem 0 3rem !important;
    width: 100%;
}

.img_border {
    border: 1px solid #cccccc;
}

.service_post_list li .title_area p {
	font-size: 10px;
}

.service_post_list .title span {
	font-weight: 600 !important;
}

.service_post_list .desc span {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 13px;
    -webkit-line-clamp: 2;
}

#single_service_related_post .headline {
	padding: 1em 0 1em 22px !important;
	border-bottom: none;
	border-left: 3px solid #d19bc4;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 20px !important;
	text-align: left !important;
}

#archive_service .bottom_area .sub_category ul li:first-child {
	display: none;
}

#archive_service .top_area .title span {
	margin: 32px 0 0 !important;
}


/* 施術メニュー詳細ページ */

#single_service_title_area .image {
	height: auto;
	aspect-ratio: 25/9;
}

#single_service h2 {
	padding: .5em 0 .5em 1.25em;
	border-left: 2px solid #d19bc4;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
}

.cf_price_list .headline {
	font-weight: 400;
}

#single_service h1.title.rich_font,
.item h3.headline {
        display: flex;
        flex-wrap: wrap;
        line-height: 1.5;
        align-items: center;
        margin-bottom: 20px;
}

:is(#single_service, #single_campaign) .cf_data_list li,
:is(#single_service, #single_campaign) .cf_data_list li span,
.item h3.headline,
.item h3.headline span {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
}

#single_campaign .cf_data_list li {
	font-size: 14px !important;
}

#single_service .post_content > a {
	display: flex;
	margin: 2em auto;
	padding: 1em .5em;
	width: min(400px, 100%);
	border: 1px solid #000000;
	background: #000000;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.5;
	justify-content: center;
	align-items: center;
	text-align: center;
	transition: .3s all;
}

#single_service .cf_catch .post_content > p+a {
	margin-top :0;
}

.post_content p,
.post_content p a,
.post_content p strong {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
}

.post_content p strong {
    font-weight: 600;
}

h3.catch.rich_font {
	font-size: 24px !important;
}

.cf_data_list .headline {
	font-size: 18px !important;
}

.item h3.headline {
        height: 3em;
	font-size: 20px !important;
}

.item h3.headline:has(span) {
	margin-bottom: 0;
	padding: 0 1em !important;
	background: #d19bc4 !important;
	border-left: none;
	color: #ffffff !important;
	font-size: 18px !important;
	font-weight: 400;
	line-height: 1.5 !important;
	position: relative;
}

.item h3.headline:has(span)::after {
	content: '※表示価格は全て税込';
	color: #ffffff;
	font-size: 12px;
	position: absolute;
	top: calc(50% - .75em);
	right: 1rem;	
}

#single_service .post_content > h4,
#single_campaign .post_content > h4 {
	margin-bottom: 1.25em;
	padding: 0 0 .25em 1em;
	color: #d19bc4;
	border-bottom: 1px solid #EDE9DD;
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 18px;
	font-weight: 400;
	text-indent: -1.25em;
	position: relative;
}

#single_service .post_content > h4::before,
#single_campaign .post_content > h4::before {
	content: '・';
	margin-right: .25em;
	color: #d19bc4;
	font-weight: 900;
}

:is(#single_service, #single_campaign) .post_content > h5 {
	padding-left: 1.25em;
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 15px;
	font-weight: 500;
	text-indent: -1.25em;
	line-height: 1.75;
	position: relative;
}

:is(#single_service, #single_campaign) .post_content > p+h5 {
	margin-top: -.5em !important;
}

:is(#single_service, #single_campaign) .post_content > h5+p.ans {
	padding-left: 1.15em;
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	text-indent: -1.15em;
}

:is(#single_service, #single_campaign) table tr :is(th, td) {
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-feature-settings: "palt";
	line-height: 1.75;
	vertical-align: middle;
}

.page_price table tr :is(th, td) sup,
.page_price table tr :is(th, td) small,
#single_service table tr :is(th, td) sup,
#single_service table tr :is(th, td) small {
	font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-size: 65% !important;
}

.tab_content table tr td mark,
#single_service table tr td mark {
        background: none;
        color: #ff0000;
	font-family: "Zen Kaku Gothic New", sans-serif !important;
        font-style: normal;
	font-weight: 400;
}

#single_service table tr :is(td.sub_tit, td.sub_tit2) {
        background: #e8e8e8 !important;
	font-weight: 600;
}

#single_service table tr td.sub_tit span {
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 16px !important;
}

#single_service table tr td.sub_tit span:last-child {
       display: none;
}

:is(#single_service, #single_campaign, .page_price) table tr td:nth-child(n+2) {
	text-align: right;
	white-space: nowrap;
}

.tattoo-removal tr td.sub_tit2,
.tattoo-removal tr th,
.tattoo-removal tr:last-child td:last-child {
	white-space: normal !important;
}

.tattoo-removal tr:last-child td:last-child {
	text-align: left !important;
}

#single_service table + table {
	margin-top: -25px;
}

#single_service .table-container {
	margin: 2.5em 0;
	padding: 0;
}

#single_service table.tb_treat01 {
	margin: 0;
}

#single_service table.tb_treat01 tr :is(th, td) {
	font-size: 12px !important;
}

#single_service table.tb_treat01 tr th,
#single_service table.tb_treat01 tr td:first-child {
	background: #d19bc4;
	color: #ffffff;
}

#single_service table.tb_treat01 tr td {
	text-align: left !important;
}

:is(#single_service, #single_campaign, .page_price) .note {
	margin: -.75em 0 2.5em;
	font-size: 12px !important;
	line-height: 1.75 !important;
}

#single_service table.tb_pantogar tr td {
	white-space: wrap;
}


.wrap_price,
.wrap_price2 {
	overflow-x: auto;
	margin: 0 0 24px;
	width: 100%;
}

#single_service .ul_hairfiller {
	display: flex;
	flex-wrap: wrap;
	margin: 2em 0 3em;
	padding: 0;
	width: 100%;
	justify-content: center;
	gap: 1em 2%;
}

#single_service .ul_hairfiller li {
	padding: 1em 0;
	width: 23.5%;
	background: #d7eaa5;
	border-radius: 50%;
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}

.post_content > img {
        display: flex;
        margin: 2rem 0;
        clear: both;
}

h3 + .post_content:has(.ul_img_case) {
	margin-top: 2rem;
}

ul.ul_img_case {
	display: flex;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	gap: 2em 6rem;
}

ul.ul_img_case:last-child {
	margin-bottom: 3rem;
}

ul.ul_img_case > li {
	margin: 0;
	padding: 0;
	width: calc((100% - 6rem)/2);
}

ul.ul_img_case > li p {
	margin: 0 0 .25em;
	padding: 0;
	color: #d19bc4;
	font-size: 18px;
}

ul.ul_img_case + ul {
	margin-top: 2rem;
	padding-top: 1rem;
	border-top: 1px solid #E0E0E0;
}

ul.ul_img_case > li ul {
	display: flex;
	margin: 0;
	padding: 0;
	column-gap: 1.5rem;
}

ul.ul_img_case > li ul li {
	width: calc((100% - 1.5rem)/2);
	position: relative;
}

ul.ul_img_case > li ul li:first-child::after {
	content: '▼';
	color: #d19bc4;
	font-size: 1.25rem;
	transform: rotate(-90deg);
	position: absolute;
	top: calc(50% - 1em);
	right: -1.05em;
	z-index: 1;
}

ul.ul_img_case > li ul li img {
	display: flex;
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
}

table.tb_infusion {
	margin: 1.5em 0 2em;
}

table.tb_infusion tr td {
	font-size: 14px !important;
	white-space: wrap !important;
}

table.tb_infusion tr td:first-child {
	width: 25%;
	background: #f2f2f2 !important;
}

table.tb_infusion tr td:nth-child(2) {
	text-align: left !important;
}

.flow_agnes {
	margin: 2em 0 3em !important;
	padding: 0;
	text-align: center;
}

.flow_agnes div {
	margin: 0 auto !important;
	padding: .5em 0;
	width: min(600px, 100%);
	background: #d19bc4;
	border-radius: 1.5em;
	color: #ffffff;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
}

.flow_agnes p {
	margin: 1em auto 3em !important;
	padding: 0;
	line-height: 1.75 !important;
	position: relative;
}

.flow_agnes p:not(:last-of-type)::after {
	content: '';
	margin: 0 auto;
	background: #000000;
	width: 36px;
	height: 18px;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	position: absolute;
	bottom: -2em;
	right: 0;
	left: 0;
}

.flow_agnes strong {
	display: block;
	margin: -.5em 0 0 !important;
	padding: 0;
	color: #dd0000;
	font-size: 24px;
	font-weight: 600;
}

.flow_agnes strong span {
	color: #000000;
	font-size: 12px;
	font-weight: 400;
}

.ul_juvederm {
	display: flex;
	flex-wrap: wrap;
	margin: 3em 0 2em !important;
	padding: 0;
	width: 100%;
	gap: 1em 2%;
}

.ul_juvederm li {
	width: 32%;
	text-align: center;
}

.ul_juvederm li :is(p,small) {
	display: block;
	margin: 0;
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	line-height: 1.5;
}

.ul_juvederm li p {
	margin-top: .5em;
	font-weight: 600;
}

.ul_juvederm li small {
	font-size: 12px;
}

.ul_allergan {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 2em !important;
	padding: 0 !important;
	width: 100% !important;
}

.ul_allergan li:first-child {
	padding: 0 5em;
	width: 50%;
}

.ul_allergan li:last-child {
	width: 50%;
}

.ul_allergan strong {
	display: block;
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 16px;
	font-weight: 600;
}

.ul_allergan p {
	margin: 0;
	padding: 0 0 0 1.25em;
	position: relative;
}

.ul_allergan p::before {
	content: '・'
}

/* 施術料金表ページ */

.page_price .h3_price {
	margin-bottom: 1.5em !important;
}

.page_price table tr :is(th, td) {
	font-family: "Zen Kaku Gothic New", sans-serif !important;
/*	font-size: 16px !important;*/
	font-feature-settings: "palt";
	vertical-align: middle;
}

.page_price table tr td.sub_tit {
	background: #d19bc4 !important;
	color: #ffffff;
	font-size: 16px !important;
}

.page_price table tr td.sub_tit span:first-child {
       display: none;
}

.page_price table tr td.sub_tit span {
	font-family: "Zen Kaku Gothic New", sans-serif !important;
       font-weight: 600 !important;
}

.page_price table tr td.sub_tit span a {
	margin: 0 .35em 0 0;
       padding-bottom: 0;
       border-bottom: 1px solid #ffffff;
       color: #ffffff;
	font-family: "Zen Kaku Gothic New", sans-serif !important;
       font-weight: 600 !important;
}

.page_price table tr td.sub_tit span b {
	display: inline-flex;
	margin: 0;
	padding: 0 .25em;
	background: #fcfaf4;
	border-radius: 0;
	color: #d19bc4;
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 87.5%;
	font-weight: 600 !important;
	line-height: 1.5;
}

.page_price table tr td.sub_tit2 {
        background: #e8e8e8 !important;
	font-weight: 600;
}

.page_price table tr td img {
	display: flex;
	width: 100%;
}

.page_price table + table {
	margin-top: 3em !important;
}

.vertical {
	padding: 0 !important;
	background: #f2f2f2 !important;
	text-align: center;
}

.vertical span {
	display: inline-flex;
	white-space: pre;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	text-orientation: upright;
	line-height: 1 !important;
	letter-spacing: .03em;
}

.note_right {
	display: flex;
	margin: 0;
	padding: 0;
	width: 100%;
	justify-content: flex-end;
}

.note,
.note_right {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 12px;
}


/* ドクター一覧ページ */

#archive_staff #staff_list ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 10px;
/*	line-height: 2;*/
}

#archive_staff #staff_list ul li {
	padding: 10px;
	width: calc(100%/3);
	border: 1px solid #dddddd;
}

#archive_staff #staff_list ul li:first-child {
	border-right: none;
}

#archive_staff #staff_list ul li h2 {
	margin: 1em 0;
	color: #d19bc4;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
}

#archive_staff #staff_list ul li img {
	display: block;
	margin: 0 auto;
	width: 40%;
}

#archive_staff #staff_list ul li p {
	margin: 0 auto;
	width: 90%;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 13px;
	line-height: 2;
}

#archive_staff #staff_list ul li h3 {
	margin: 2.5em 0 0;
	padding: 2.5em;
	width: 100%;
	background: #F6F6F8;
	font-size: 13px;
	font-weight: 400;
	line-height: 3;
}

@media screen and (min-width:1053px) {
#staff_list ul li:nth-child(2) .about_me {
	margin-top:60px !important;
	padding-bottom:70px !important;
}
}

@media screen and (max-width:1052px) {
#staff_list ul li:nth-child(2) .about_me {
	margin-top:85px !important;
	padding-bottom:70px !important;
}
}

@media screen and (min-width:1001px) and (max-width:1003px) {
#staff_list ul li:nth-child(2) .about_me {
	padding-bottom:30px !important;
}
}

@media screen and (max-width:1000px) {
#staff_list ul li:nth-child(2) .about_me {
	padding-bottom:70px !important;
}
}

@media screen and (min-width:926px) and (max-width:966px) {
#staff_list ul li:nth-child(2) .about_me {
	margin-top:110px !important;
}
}

@media screen and (max-width:925px) {
#staff_list ul li:nth-child(2) .about_me {
	margin-top:85px !important;
}
}

@media screen and (min-width:845px) and (max-width:847px) {
#staff_list ul li:nth-child(2) .about_me {
	padding-bottom:30px !important;
}
}

@media screen and (min-width:806px) and (max-width:844px) {
#staff_list ul li:nth-child(2) .about_me {
	padding-bottom:70px !important;
}
}

@media screen and (min-width:793px) and (max-width:805px) {
	#staff_list ul li:nth-child(2) .about_me {
	padding-bottom:110px !important;
}
}

@media screen and (min-width:768px) and (max-width:792px) {
#staff_list ul li:nth-child(2) .about_me {
	margin-top:110px !important;
	padding-bottom:110px !important;
}
}

@media screen and (min-width:768px) and (max-width:790px) {
#archive_staff #staff_list ul li:nth-child(2) img {
	margin-top:50px !important;
}
}

#archive_staff #staff_list ul li h3 b {
	display: block;
	margin: 0 auto 1em;
	color: #d19bc4;
	text-align: center;
}

/* クリニック一覧ページ */

#archive_service p.desc {
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 14px !important;
}

#archive_service .sub_category a {
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 12px;
}

#clinic_list h2 span {
	font-size: 21px;
}

#clinic_list h3 span {
	font-size: 18px;
}

#clinic_list .bottom_area {
	height: 400px;
}

#clinic_list p.desc {
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 13px;
}

#clinic_list .link_button a {
	border: 1px solid #000000;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 16px;
}

/* クリニックページ */

.title_area.frost_bg:before {
    background: rgba(255, 255, 255, 0.9);
}

#single_clinic p {
	font-size: 14px;
}

/* ドクターページ */
/*
.single #main_col {
	padding-top: 0;
}
*/

#single_staff {
	margin-top: -60px !important;
}

#single_staff h1 {
	position: absolute;
	top: 250px;
	left: 1em;
}

#single_staff h1 span {
	font-weight: 600 !important;
}

.img_doctor {
	display: flex;
	margin: 60px 0 2rem;
	padding: 0;
	width: 100%;
	aspect-ratio: 1250/452;
	justify-content: center;
	position: relative;
}

.img_doctor::before {
	content: '';
	width: 100%;
	height: 100%;
	background: #f6f6f6;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.img_doctor::after {
	content: '';
	width: 100%;
	height: 27.3%;
	background: #ffffff;
	opacity: .9;
	position: absolute;
	bottom: 0;
	left: 0;
}

.img_doctor img {
	display: flex;
	width: 28%;
	height: 100%;
	object-fit: cover;
	object-position: 50% -10px;
}

.post_doctor p {
	margin: 0;
	padding: 0;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
}

@media screen and (min-width:951px) and (max-width:1150px) {
	.post_doctor p {
	position: relative !important;
	margin-top: 30px !important;
}
}
@media screen and (min-width:768px) and (max-width:950px) {
	.post_doctor p {
	margin-top: 0px !important;
}
}


.post_doctor h3 {
	margin: 1em 0 .75em !important;
	padding: 0 0 0 1em;
	border-left: 2px solid #d19bc4;

	font-weight: 400;
	line-height: 2.25;
}

.post_doctor h3.h3_gold {
	margin-top: 3.5em !important;
    font-family: 'Noto Serif JP', serif !important;
	color: #d19bc4;
	font-weight: 600 !important;
}

.post_doctor dl {
	display: flex;
	flex-wrap: wrap;
	margin: .5em 0 0;
	row-gap: .5em;
}

.post_doctor dl dt {
	margin: 0;
	padding: 0;
	width: 5em;
	font-weight: 400;
}

.post_doctor dl dd {
	margin: 0;
	padding: 0;
	width: calc(100% - 5em);
}

.post_doctor img.img_clinic {
	display: flex;
	margin: 1rem 0;
}

.post_doctor ul {
	display: flex;
	flex-wrap: wrap;
	margin: 1.5rem 0 1rem;
	width: 100%;
	border-top: 1px solid #E8E8E8;
    font-family: 'Noto Serif JP', serif !important;
	font-size: 13px;
}

.post_doctor ul li {
	padding: 1em 0;
	border-bottom: 1px solid #E8E8E8;
}

.post_doctor ul li:nth-child(2n+1) {
	width: 8%;
}

.post_doctor ul li:nth-child(2n) {
	width: 42%;
}

.post_doctor iframe {
	margin: 2rem 0;
}

.post_doctor h4 {
	margin: 2rem 0 1rem;
	padding: 1.25em 2em;
	background: #d19bc4;
	color: #ffffff;
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: 16px !important;
}

.side_category_list span {
	font-size: 10px !important;
}

.side_category_list li a {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
}

.side_category_list li.active a {
	color: #d19bc4 !important;
}


/* カレンダー */

.calendar {
	display: flex;
	column-gap: 2em;
	font-size: 14px;
}

.calendar b {
    font-weight: 600;
}

.calendar table {
    border-collapse: collapse;
    width: 100%;
    margin: .5rem auto 0;
    padding: 0;
}

.calendar table tr th {
    padding: .25em;
    border: 1px solid #ddcc98;
    background: #d19bc4;
    color: #ffffff;
    font-weight: 600;
    line-height: 2;
}

.calendar table tr td {
    padding: 0 .25em 1.5em 0;
    text-align: right;
    color: #000000;
    border: 1px solid #ddcc98;
    background: #ffffff;
    font-weight: 400;
    position: relative;
}

.calendar table tr :is(th, td) {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
}

.calendar table tr td:last-child,
.calendar table tr td.sat {
    color: #0000bc;
}

.calendar table tr td:first-child,
.calendar table tr td.sun,
.calendar table tr td.holiday {
    color: #ff0000;
}

.calendar table tr td.today {
    background: #e6e6e6;
}

/*
.calendar table tr td.today::before {
	content: '今日';
	display: flex;
	padding-left: 1px;
	width: 2.2em;
	height: 1.5em;
	background: #a8a8a8;
	border-radius: 0 .75em .75em 0;
	color: #ffffff;
	font-size: .75rem;
	line-height: 1;
	letter-spacing: -.03em;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: .5em;
	left: 0;
	z-index: 2;
}
*/

.calendar table tr td.close::before {
	content: '休診日';
	display: flex;
	width: 100%;
	height: 1.5em;
	background: #333333;
	color: #ffffff;
	font-weight: 600;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
}

.calendar p.note {
    margin: .25rem 0 0 0;
    font-size: min(28px, 3.733vw);
}

.calendar span {
    display: block;
    margin: .5rem 0 0;
    padding: 0 0 0 1em;
    font-size: min(28px, 3.733vw);
    text-align: left;
    text-indent: -1em;
}

/* 症例写真一覧ページ */

.page_price .h3_price,
.page_case h3,
.page_recruit h3 {
    margin: 0 0 2em;
    padding: 0 0 0 1em;
    border-left: 3px solid #d19bc4;
    font-size: 20px !important;
    font-weight: 400;
    line-height: 3;
}

.page_case ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    width: 100%;
    gap: 2em 3%;
}

.page_case ul li {
    width: calc(91%/4);
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-feature-settings: "palt";
    position: relative;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.page_case ul li span {
    display: inline-flex;
    margin: auto .25em auto 0;
    padding: 0 .5em;
    background: #eaeaea;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-size: 10px;
    line-height: 1.5;
    position: relative;
    top: -1px;
    bottom: 0;
    left: 0;
}


/* タブ切り替え */

.tabs {
    display: flex;
    flex-wrap: wrap;
    margin: 2em 0 0;
/*    font-size: 16px;*/
}

.tab_label {
    display: flex;
    flex-wrap: wrap;
    width: calc(100%/4);
    height: 4em;
    border: 1px solid #dedede;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    text-align: center;
    font-feature-settings: "palt";
    position: relative;
    z-index: 1;
    cursor: pointer;
    justify-content: center;
    align-items: center;
    transition: .3s all ease;
}

.page_case .tab_label {
    margin-bottom: -1px;
    width: calc(100%/4) !important;
}

.tab_content {
    margin: 3rem 0 0;
    width: 100%;
    display: none;
    animation: fadeIn .3s ease;
}

input[name="tab_switch"] {
  display: none;
}

.tabs input:checked + .tab_label {
  color: #ffffff;
  background: #d19bc4;
  border: 1px solid #d19bc4;
}

#tab01:checked ~ #tab01_content,
#tab02:checked ~ #tab02_content,
#tab03:checked ~ #tab03_content,
#tab04:checked ~ #tab04_content,
#tab05:checked ~ #tab05_content,
#tab06:checked ~ #tab06_content,
#tab07:checked ~ #tab07_content {
  display: block;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    top: 50px;;
  }
  100% {
    opacity: 1;
    top: 0;
  }
}

/* よくある質問 アコーディオン */

.toggle_contents {
    margin: 0;
    padding: 0;
}

.toggle_contents:nth-child(2n+1) .toggle_title {
    background: #ad8725;
}

.toggle_title {
    margin: 0;
    padding: 2em 4em 2em 6em;
    background: #d19bc4;
    color: #ffffff;
    line-height: 1.75 !important;
    position: relative;
    cursor: pointer;
}

.toggle_title::before,
.toggle_contents dd::before {
    content: 'Q';
    color: #ffffff;
    font-size: 2em;
    font-weight: 600;
    position: absolute;
    top: .55em;
    left: 1.2em;
}

.toggle_contents + .toggle_contents {
    margin-top: 1em !important;
}

.toggle_contents dd::before {
    content: 'A';
    font-family: 'Noto Serif JP', serif !important;
    color: #000000;
}

.toggle_btn {
    position: absolute;
    top: 50%;
    right: 1.5em;
    transform: translateY(-50%);
    background: #ffffff;
    display: block;
    width: 14px;
    height: 14px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    border-radius: 50%;
}

.toggle_btn::before,
.toggle_btn::after {
    display: block;
    content: '';
    background-color: #d19bc4;
    position: absolute;
    width: 8px;
    height: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.toggle_btn::before {
    width: 2px;
    height: 8px;
}

.toggle_title.selected .toggle_btn::before {
    content: normal;
}

.toggle_contents dd {
    display: none;
    margin: 0;
    padding: 2em 2em 2em 6em;
    background: #f7f7f8;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    position: relative;
}

.toggle_contents dd strong {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-weight: 600;
}

.toggle_contents dd table {
    margin: 2em 0 0;
}

.toggle_contents dd table th {
    background: #d19bc4;
    color: #ffffff;
    font-weight: 600;
}

.toggle_contents dd table tr td:first-child {
    white-space: nowrap;
}

.toggle_contents dd > img {
    display: flex;
    margin: 2em auto;
}

.toggle_contents dd ul {
    display: flex;
    flex-wrap: nowrap;
    margin: 1em 0;
    padding: 3em 1em;
    background: #ffffff;
    justify-content: center;
    align-items: center;
}

.toggle_contents dd ul li {
    width: auto;
}

.toggle_contents dd ul li img {
    display: flex;
    margin: 0;
    width: auto;
    height: 100% !important;
}


/* リクルート */

.page_recruit h3.sec_h3 {
    margin-top: 80px !important;
}

.page_recruit table tr td {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
/*    font-size: 16px;*/
}

.page_recruit table tr td:first-child {
    background: #efeff1;
    font-weight: 600;
    white-space: nowrap;
}

.page_recruit table tr td strong {
    display: block;
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-size: 125%;
    font-weight: 500;
    line-height: 1;
}

.page_recruit table tr td p {
    margin: .75em 0 0;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-weight: 400;
    text-align: left;
    line-height: inherit;
}

.page_recruit table tr td p + strong {
    margin-top: 1em;
}

.page_recruit p {
    margin: 0 auto;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
/*    font-size: 16px;*/
    font-weight: 600;
    text-align: center;
}

.page_recruit p a {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    color: #000000;
    font-weight: 600;
}

.page_recruit > a {
    display: flex;
    margin: 2em auto 0;
    width: 350px;
    height: 85px;
    background: #000000;
    border: 1px solid #000000;
    justify-content: center;
    align-items: center;
    position: relative;
}

.page_recruit > a p {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 600;
}

a.pdf_download {
    margin-top: 3em !important;
}

.page_recruit > a  p {
    mix-blend-mode: difference;
    z-index: 2;
}

.page_recruit > a::before {
    transform: scaleX(0);
    transform-origin: bottom right;
}

.page_recruit > a::before {
    content: '';
    display: block;
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0 0 0 0;
    background: #ffffff;
    z-index: 1;
    transition: transform .5s;
}

/* 美容コラム各ページ */

#column_post_title_area h1 small {
    display: flex;
    margin-bottom: .5em;
    font-size: 100%;
    justify-content: center;
}

#next_prev_post .title_area,
#column_list .desc,
#related_post .item .title {
    font-size: 14px;
}

.post_content.post_column {
    padding: 45px 0 20px !important;
}

.post_content.post_column p:has(strong) {
	padding: 2em;
	background: #f7f7f8;
}

.post_content.post_column p strong {
	font-weight: 400;
}

.post_content.post_column h2 {
	padding: 1em 0 1em 22px;
	border-bottom: none;
	border-left: 3px solid #d19bc4;
	font-size: 20px;
	font-weight: 400;
	text-align: left !important;
}

.post_content.post_column h3 {
	font-size: 18px;
	font-weight: 400;
}

.post_content.post_column h4 {
	margin-top: 0 !important;
	padding-bottom: .25em;
	color: #d19bc4;
	font-size: 16px;
	font-weight: 400;
	border-bottom: 1px solid #e0e0e0;
}


/* お問い合わせ・予約 */

.p_contact {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
/*    font-size: 16px;*/
    margin-bottom: 4em !important;
}

.res_today {
	margin: -1.5em 0 3em !important;
	padding: 2em 1em;
	background: #f2f2f2;
	text-align: center;
}

.res_today span {
	display: inline !Important;
}

.res_today a {
	color: inherit !Important;
}

form,
.wpcf7,
.form_contact,
.form_contact dl :is(dt, dd) {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
/*    font-size: 16px !Important;*/
}

.form_contact table {
	border-collapse: collapse;
}

.form_contact table tr :is(th, td) {
	padding: 1em 0;
}

.form_contact table tr :is(th, td, label, div, .error-message) {
	background: none;
	border: none;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
	text-align: left;
	vertical-align: top;
}

.inner {
	margin: 1rem 0 3rem;
	padding: 1em;
	height: 25em;
	border: 1px solid #cccccc;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-size: .75rem;
	line-height: 1.75;
	overflow-y: scroll;
}

.form_contact dl {
    display: flex;
    margin-bottom: 2em !important;
    justify-content: flex-start;
}

.form_contact dl dt {
    width: 25%;
}

.form_contact dl.accept {
    justify-content: center;
}

.form_contact .must,
.form_contact dl dt em {
    margin: 0 0 0 3px;
    padding: .2em .5em;
    background: #000000;
    border: none;
    color: #ffffff;
    font-size: 10px;
    font-style: normal;
    position: relative;
    top: -.1em;
}

.form_contact dl dd {
    width: 75%;
}

.form_contact dl dd .form_select {
    display: inline;
    position: relative;
    -webkit-text-size-adjust: 100%;
}

.form_contact dl dd .form_select::after {
    content: '';
    width: .5em;
    height: .5em;
    border-bottom: 1px solid #000000;
    border-right: 1px solid #000000;
    transform: rotate(45deg);
    position: absolute;
    top: .5em;
    right: 1em;
    pointer-events: none;
}

.form_contact table tr td textarea,
.form_contact dl dd textarea {
	width: 100%;
    height: 10em;
}

.form_contact table tr th {
	font-weight: 600;
}

.form_contact .wpcf7-list-item {
  margin: 0;
}

.form_contact :is(input, textarea, select, span, a) {
  	border: 1px solid #cccccc;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.ui-datepicker.ui-widget.ui-widget-content.ui-helper-clearfix.ui-corner-all {
	font-size: 1rem;
}

.ui-datepicker .ui-datepicker-header {
    background: var(--lilac-color);
    border: none;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
}

.ui-datepicker-calendar th span,
.ui-datepicker-title span {
    font-family: sans-serif !important;
}

.ui-datepicker-title span {
    font-weight: 600;
}

td :has(.ui-state-default) {
	padding: .5em !important;

}

.ui-state-default {
    font-family: sans-serif !important;
    border: none !important;
    background: rgba(225, 225, 247, .75) !important;
}

.ui-state-default.ui-state-highlight {
    background: var(--purple-color) !important;
    color: #ffffff !important;
}

.ui-state-default.ui-state-active {
	background: var(--purple-color) !important;
	color: #ffffff !important;
	font-weight: 900 !important;
}

.acceptance_area {
	font-size: 18px;
	text-align: center;
}

.acceptance_area span {
	border: none !important;
}

.form_contact select {
	padding: .5em .5em;
}

.form_contact input {
	padding: .5em .5em;
	width: 100%;
}

.form_contact input.datepicker {
	width: auto;
}

.form_contact input[type="checkbox"] {
  position: relative;
  width: 1em;
  height: 1em;
  border: 1px solid #cccccc;
  vertical-align: -.47em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.form_contact input[type="checkbox"]:checked:before {
  content: '';
  transform: rotate(40deg);
  width: .6em;
  height: .8em;
  border-right: 2px solid #d19bc4;
  border-bottom: 2px solid #d19bc4;
  position: absolute;
  top: 0;
  left: .3em;
}

.form_contact input[type="radio"] {
  margin: auto 0;
  width: 1em;
  height: 1em;
  border: 1px solid #cccccc;
  border-radius: 50%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  top: .3em;
  left: 0;
}

.form_contact input[type="radio"]:checked:before {
  content: '';
  margin: auto;
  width: .8em;
  height: .8em;
  background: var(--purple-color);
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.form_contact input[type="date"] {
    margin-right: .5em;
    width: min(16em, 40%);
}

input#kashihara-date,
input#saidaiji-date {
    margin-right: .5em;
    width: min(16em, 40%) !important;
}

.form_contact dl dd select {
    padding-right: 2em;
    height: 2.5em;
    background: #ffffff;
    border-radius: 0;
    color: #000000;
    position: relative;
}

.form_contact p {
    margin: -1em 0 1em !important;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-size: 14px !important;
}

.pure-form-control.pure-submit.has-spinner {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 225px;
    height: 48px;
    margin: 50px auto 0;
    border: none !important;
    outline: none;
    background-color: #333333;
    color: #fff;
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all .3s;
}

.wpcf7 select, .wpcf7 .wpcf7-list-item-label {
/*    font-size: 16px !important;*/
}


.wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous {
    margin-top: 50px !important;
    font-size: 18px !important;
}

.flatpickr-day {
	color: #000000 !important;
}

.flatpickr-disabled {
	color: #a8a8a8 !important;
}

.line_wrapper {
	margin: 0 0 4em;
	padding: 2em 2em 2em;
	border: 1px solid #cccccc;
	text-align: center;
}

.line_wrapper ul {
	display: flex;
	margin: 0;
	pading: 0;
	width: 100%;
	gap: 0 4%;
}

.line_wrapper ul li {
	width: 48%;
}

.line_wrapper ul li :is(a, img) {
	display: block;
	margin: 0;
	pading: 0;
}

/* キャンペーン一覧 */

#archive_campaign {
    margin-top: 90px;
}

/*
カテゴリーを使う場合
#archive_campaign #campaign_list .item:nth-last-child(-n+6) {
    display: none;
}
*/

.campaign_list_widget {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
}

.campaign_list_widget .side_headline {
    background: #d19bc4;
    font-weight: 400;
}

.campaign_list_widget .category a {
    top: 0;
    bottom: auto;
}

.campaign_list_widget .title {
    font-size: 12px;
}



/* ニュース一覧 */

#news_archive .item {
    margin-bottom: 45px;
    height: 200px;
    border: none;
}

#news_archive .item a {
    padding: 0 !important;
}

#news_archive .title {
    font-size: 16px;
}

#news_archive .date {
    color: #d19bc4;
}

/* サイドメニュー */

.child_menu a {
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    pointer-events: auto !important;
}

.textwidget div {
    display: flex;
    flex-wrap: wrap;
}

.h3_widget {
    width: 100%;
    aspect-ratio: 16/9;
    margin: 0 !important;
    padding: .5em 1.5rem !important;
    background: #f7f7f8;
    position: relative;
    overflow: hidden;
}

.h3_widget p {
    margin: 0 !important;;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-size: 24px;
    font-weight: 400;
    line-height: 2;
}

.h3_widget p span {
    display: block;
    margin: 0 !important;;
    font-size: 10px;
}

.h3_widget img {
    margin: auto;
    object-fit: cover;
    transition: .75s all ease;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}






.top_contact .ul_contact > p {
	font-family: unset !important;
}

@media (any-hover: hover) {

	.side_category_list li a:hover {
		color: #d19bc4 !important;
	}

	#single_service .post_content > a:hover {
		background: #ffffff;
		color: #000000;
	}

	.page_recruit > a:hover::before {
	    transform: scaleX(1);
	    transform-origin: bottom left;
	}

	.h3_widget img:hover {
	    transform: scale(1.2);
	}

}


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

	/* サイドメニュー */

	.h3_widget {
		width: calc(100%/3);
	}

}

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

}


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

	#one_col {
		padding: 30px 20px 40px !important;
	}

	/* 施術メニュー一覧ページ */

	#single_service_title_area .title {
		font-size: 18px !important;
	}

	#single_service_title_area .title::after {
		font-size: 12px !important;
	}

	#archive_service p.desc {
		margin-top: 2em !important;
		font-size: 14px !important;
	}

	#archive_service .sub_category a {
		font-size: 10px;
	}

	.service_post_list .title br {
		display: none !important
	}

	.service_post_list {
        	gap: 0 0;
	}

	.service_post_list li {
		width: 100%;
	}

	.service_post_list .desc span {
    		-webkit-line-clamp: 3;
	}

	#single_service_related_post .headline {
		padding: 1em 0 1em 22px !important;
	}

	.service_post_list li {
		margin-bottom: 0 !important;
	}

	.link.animate_background {
		height: 292px;
	}

	#archive_service .top_area .title span {
		margin: 8px 0 0 !important;
	}


	/* 施術メニュー詳細ページ */

	#single_service_title_area .image {
		height: calc((100vw - 40px)*9/25) !important;
	}

	.item h3.headline {
		font-size: 18px !important;
	}

	.cf_data_list .headline {
		font-size: 16px !important;
	}

	h3.catch.rich_font {
		font-size: 18px !important;
	}

	.item h3.headline:has(span) {
		font-size: 16px !important;
	}

	#single_service .post_content > h4 {
		font-size: 16px;
	}

	ul.ul_img_case {
		padding-bottom: 0;
		gap: 0;
	}

	ul.ul_img_case:last-child {
		margin-bottom: 1.5rem;
	}

	ul.ul_img_case > li {
		width: 100%;
		padding: 1rem 0 2rem;
		border-bottom: 1px solid #e0e0e0;
	}

	ul.ul_img_case:last-child > li {
		border-bottom: none;
	}

	ul.ul_img_case + ul {
		margin-top: 0;
		padding-top: 0;
		border-top: none;
	}

	ul.ul_img_case > li ul {
		column-gap: 1.5rem;
	}

	table.tb_infusion tr td {
		font-size: 14px !important;
	}

	table.tb_infusion tr td:first-child {
		width: 35%;
	}

	.table-container {
		overflow-x: auto;
		width: 100%;
	}

	.wrap_price table {
		padding: 0;
		width: 200vw !important;
	}

	.wrap_price2 table {
		padding: 0;
		width: 150vw !important;
	}

	#single_service table.tb_treat01 {
		width: auto !important;
	}

	#single_service table.tb_treat01 tr :is(th, td) {
		white-space: nowrap;
	}

	#single_service table.tb_treat01 tr :is(th, td):first-child {
		position: sticky;
		left: -1px;
	}

	.img_top {
		margin-top: .5em !important;
	}

	.ul_juvederm {
		margin: 2em 0 !important;
		width: 100% !important;
		gap: 1em 4%;
	}

	.ul_juvederm li {
		width: 48%;
	}

	.ul_allergan li:first-child {
		padding: 0;
		width: 100%;
		text-align: center;
	}

	.ul_allergan li img {
		height: 60vw;
	}

	.ul_allergan li:last-child {
		width: 100%;
	}

	.ul_allergan strong {
		font-size: 14px;
	}

	.line_wrapper {
		margin: 0 0 3em;
		padding: 1.5em;
		text-align: left;
	}

	.line_wrapper p {
		margin: 0 0 1em;
	}

	.line_wrapper ul {
		flex-wrap: wrap;
		gap: 1em 0;
	}

	.line_wrapper ul li {
		width: 100%;
	}

	#single_service .ul_hairfiller {
		gap: 1em 4%;
	}

	#single_service .ul_hairfiller li {
		width: 48%;
	}

	/* 施術料金表ページ */

	.page_price .h3_price {
    	    	margin-bottom: 1.25em !important;
	}

	:is(#single_service, #single_campaign, .page_price) table tr :is(th, td) {
		padding: .5em .75em !important;
		font-size: 14px;
		line-height: 1.75;
	}

	.page_price table + .h3_price {
    	    	margin: 2.5em 0 1.25em !important;
	}

	.page_price table + table {
		margin-top: 2em !important;
	}

	.hair-removal2 td:has(img) {
		padding: 0 !important;
	}

	.tattoo-removal tr :is(th, td):not(.sub_tit,.sub_tit2),
	.hair-removal2 td:not(.sub_tit) {
		padding: .5em !important;
	}


	/* クリニック一覧ページ */

	#clinic_list .item + .item {
		margin-top: 2em !important;
	}

	/* クリニック一覧ページ */

	#single_clinic p {
		font-size: 14px;
	}

	/* ドクター一覧ページ */

	#archive_staff #staff_list ul {
		row-gap: 2em;
	}

	#archive_staff #staff_list ul li {
		width: 100%;
	}

	#archive_staff #staff_list ul li:first-child {
		border: 1px solid #dddddd;
	}

	#archive_staff #staff_list ul li img {
		display: block;
		margin: 0 auto;
		width: 60%;
	}

	/* ドクターページ */

	#single_staff {
		margin-top: -50px !important;
	}

	#single_staff h1 {
		margin: 0 auto;
		top: 66vw;
		right: 0;
		left: 0;
		text-align: center;
	}

	.img_doctor {
		margin: 0 0 2rem;
		aspect-ratio: 1250/1000;
	}

	.img_doctor::before {
		content: '';
		width: 100%;
		height: 100%;
		background: #f6f6f6;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}

	.img_doctor::after {
		height: 16%;
	}

	.img_doctor img {
		width: 60%;
	}

	.post_doctor ul li:nth-child(2n+1) {
		width: 20%;
	}

	.post_doctor ul li:nth-child(2n) {
		width: 80%;
	}

	/* カレンダー */

	.calendar {
		flex-wrap: wrap;
		margin: 1em 0 2em;
		column-gap: 0;
		row-gap: 1.5em;
	}

	/* 症例写真一覧ページ */

	.page_price .h3_price,
	.page_case h3,
	.page_recruit h3 {
	    font-size: 18px;
	}

	.page_case ul {
	    gap: 2em 5%;
	}

	.page_case ul li {
	    width: 47.5%;
	}

	/* タブ切り替え */

	.tabs {
	    font-size: 14px;
	}

	.tab_label {
	    width: calc(100%/2);
	}

	.tab_label.fourth_label,
	.page_case .tab_label.fifth_label {
    		border-left: 1px solid #dedede;
	}

	.page_case .tab_label.fourth_label {
    		border-top: 1px solid #dedede;
    		border-left: none;
	}
    
/*
	:is(.first_label, .second_label, .third_label) {
    		border-bottom: none;
	}
*/
	:is(.fourth_label, .fifth_label, .sixth_label) {
    		border-top: none;
	}

    /* よくある質問 アコーディオン */

    .toggle_title {
        padding: 1.5em 3em 1.5em 4em;
    }

    .toggle_title::before,
    .toggle_contents dd::before {
        position: absolute;
        top: .3em;
        left: .7em;
    }

    .toggle_btn {
        right: 1em;
        width: 14px;
        height: 14px;
    }

    .toggle_btn::before,
    .toggle_btn::after {
        width: 10px;
        height: 2.5px;
    }

    .toggle_btn::before {
        width: 2.5px;
        height: 10px;
    }

    .toggle_contents dd {
        padding: 1.5em 1.5em 1.5em 4em;
    }

    .sp_wrap {
        flex-wrap: wrap !important;
    }

    .sp_wrap li {
        width: 100% !important;
    }

    /* リクルート */

    .page_recruit table tr td {
        display: block;
        width: 100%;
        font-size: 14px;
    }

    .page_recruit table tr td {
        border-bottom: none;
    }

    .page_recruit table tr:last-child td:last-child {
        border-bottom: 1px solid #cccccc;
    }

    .page_recruit p {
        font-size: 14px;
    }

    /* お問い合わせ */

    .p_contact {
        font-size: 14px;
       margin-bottom: 3em !important;
    }

    form,
    .wpcf7,
    .form_contact,
    .form_contact dl :is(dt, dd) {
        font-size: 14px !Important;
    }

    .form_contact table tr th {
    	padding: 1.5em 0 .5em !important;
    }

	.form_contact table tr :is(th, td) {
		display: block;
		padding: 0;
		width: 100%;
	}

     .form_contact dl dt em {
        font-size: 10px;
    }

    .form_contact dl {
        flex-wrap: wrap;
        margin-bottom: 1.5em;
    }

    .form_contact dl :is(dt, dd) {
        width: 100%;
    }

    .form_contact dl dt {
        margin-bottom: .5em !important;
    }

    .form_contact p,
    .wpcf7 select, .wpcf7 .wpcf7-list-item-label {
        font-size: 14px !important;
    }

    .wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous {
        margin-top: 50px !important;
        font-size: 16px !important;
    }


	/* 予約 */

	.res_today {
		padding: 1.5em 2em 1.5em 3em;
		text-align: left;
		text-indent: -1em
	}

	.form_contact dl dd select {
		max-width: 100% !important;
		height: 2.85em;
	}

	/* キャンペーン一覧 */

	#archive_campaign {
    		margin-top: 80px;
	}

	/* ニュース一覧 */

	#news_archive .item {
		margin-bottom: 30px !important;
    		height: 85px !important;
	}

	/* サイドメニュー */

	.h3_widget {
		width: 100%;
	}

	/*
	.h3_widget p {
    		font-size: 18px;
    		line-height: 1.5;
	}

	.h3_widget p span {
    		font-size: 8px;
	}
	*/

}