body.modal-open {
	overflow: hidden;
}

.member_modal{
	position: fixed;
	inset: 0;
	z-index: 9999;
	background-color: #fff;
	color: #444;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .2s ease;
	cursor: pointer;
}

.member_modal.is-active{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity .2s ease;
}
.member_modal_inner{
	position: relative;
	height: 100%;
	background: #fff;
	display: flex;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	transform: translateX(60px);
	transition:
		opacity 0.4s ease,
		transform 0.8s ease;
}

.member_modal.is-active .member_modal_inner{
	opacity: 1;
	transform: translateX(0);
}

.member_modal_close{
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	background: none;
	border: none;
	cursor: pointer;
}
	.member_modal .fa-circle-xmark{
		color: #ea9310;
	}
.member_modal_close,
.member_modal_name,
.member_modal_position,
.member_modal_content{
	opacity: 0;
}
.member_modal_close{
	transform: scale(0.6);
	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
}

.member_modal.is-active .member_modal_close{
	opacity: 1;
	transform: scale(1);
	transition-delay: 0.1s;
}
.member_modal_name,
.member_modal_position,
.member_modal_content{
	transform: translateY(36px);
	transition:
		opacity 0.4s ease,
		transform 0.4s ease;
}
.member_modal.is-active .member_modal_name{
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.5s;
}

.member_modal.is-active .member_modal_position{
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.65s;
}

.member_modal.is-active .member_modal_content{
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.8s;
}

.member_content{
	overflow:hidden;
	cursor:pointer;
}
.member_info{
	bottom:0;
	left:0;
	z-index:1;
	background-color:rgba(0,148,211, .8);
}
.faq_summary{
	list-style: none;
	cursor: pointer;
	padding: .6em;
	border-bottom:1px solid #aaa;
    user-select: none;
}
.faq_summary::before {
	content: "Q";
	font-weight: bold;
	margin-top:-.1em;
	margin-right:.4em;
	font-size:1.1em;
}
.faq_summary::after{
  content: "\f0d7";
  font-weight: bold;
	margin-top:.2em;
	height:1em;
	line-height:1em;
	-webkit-transition:all .3s ease-in-out;
	transition:all .3s ease-in-out;
	transform:rotate(0deg);
}

.faq_details.active .faq_summary::after {
	-webkit-transition:all .3s ease-in-out;
	transition:all .3s ease-in-out;
	transform:rotate(180deg);
}
.faq_answer {
  overflow: hidden;
  height: 0;
  transition: height 0.4s ease;
}

/* twentytwenty 基本 */

.comparison-section{
	margin:4px 0
}
.compare {
	border-radius: 20em;   /* 好きな値でOK */
	overflow: hidden;      /* ← 必須 */
	border:6px solid #fff;
}

.twentytwenty-wrapper {
  position: relative;
  width: 100%;
}

.twentytwenty-container {
  position: relative;
  overflow: hidden;
}

.twentytwenty-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  user-select: none;
  pointer-events: none;
}

/* ハンドル */
.twentytwenty-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 8px;
  margin-left: -4px;
  background: #fff;
  cursor: ew-resize;
  z-index: 30;
  opacity: 1 !important;
  visibility: visible !important;
}
.twentytwenty-handle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 36px;
  height: 36px;

  background-color: #007bc7; /* 円の背景 */
  background-image: url('/wp-content/uploads/icon-drag.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;

  border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 4px 10px rgba(0,0,0,.25);
  z-index: 60;
}
/* active中 */
.twentytwenty-container.active {
  cursor: grabbing;
}

.twentytwenty-container {
  position: relative;
  overflow: hidden;
}

.twentytwenty-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

.twentytwenty-before {
  z-index: 20;
}

.twentytwenty-after {
  z-index: 10;
}

.process-step {
  text-align: center;
}

.process-animation {
  aspect-ratio: 1 / 1;
  width: 100%;
	border-radius:50%;
}
.process-step:nth-child(1) .process-animation {
	background:#0693e3;
}
.process-step:nth-child(2) .process-animation {
	background:rgb(0,174,239);
}
.process-step:nth-child(3) .process-animation {
	background:rgb(0,160,229);
}
.process-step:nth-child(4) .process-animation {
	background:rgb(0,148,211);
}

.process-animation lottie-player {
  width: 100%;
  height: 100%;
}
.design_bar-01{
	pointer-events:none;
	margin-top:-9svw;
	width:82svw
}
.content_box-01{
	background-image: url('/wp-content/uploads/Mask-group-6.webp');
	background-repeat: no-repeat;
	background-position: right 16px bottom 16px;
	background-size: 96px auto;
	padding-bottom:7em;
}
.content_box-02{
	background-color: #666;
	color:#fff;
}
.content_box-03{
	background-color: #444;
	color:#fff;
}
.content_box-04{
	overflow-x: hidden;
	background-color: #ff611e;
	color:#fff;
}
.content_box-05{
	overflow-x: hidden;
	background-color:#fff;
	background-image: url('/wp-content/uploads/doctor-in-office-fade-2.webp');
	background-repeat: no-repeat;
	background-position: 50% 100%;
	background-size: cover;
}
.content_box-06{
	overflow-x: hidden;
	background-color: rgb(0,174,239);
	color:#fff;
}
.content_box-07{
	background-color: #eee;
	border-radius:0 1em 1em 0;
}
.content_box-08{
	background-color: rgb(102,102,102);
	color:#fff;
}
.content_box-09{
	z-index:1;
	color:#fff;
}
.content_box-11{
	background-color: #b0bec7;
	color:#fff;
}
.slick_gallery_img.img_before_after::before,
.slick_gallery_img.img_before_after::after{
	left:50%;
	transform:translateX(-50%);
	position:absolute;
	z-index:1;
	display:block;
	border:1px solid #fff;
	border-radius:4px;
	padding:.1em .4em;
	line-height:1.2;
}
.slick_gallery_img.img_before_after::before{
	top:-4px;
	margin-left:-136px;
	content:'before';
	background:rgb(204,103,69);
}
.slick_gallery_img.img_before_after::after{
	bottom:-4px;
	margin-left:142px;
	content:'after';
	background:rgb(0,100,224);
}
.slick_gallery .slick-prev,
.slick_gallery .slick-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;               /* ← サイズ */
  height:48px;
  border-radius:50%;
  background:rgba(0,0,0,.6);
  color:#fff;
  cursor:pointer;
  z-index:10;
  transition:all .3s ease;
}
.slick_gallery .slick-prev i,
.slick_gallery .slick-next i{
  font-size:2em;
  line-height:1;
}
.slick_gallery .slick-prev.arrow-B,
.slick_gallery .slick-next.arrow-B{
  top:50%;
  width:24px;               /* ← サイズ */
  height:24px;
}
.slick_gallery .slick-prev.arrow-B i,
.slick_gallery .slick-next.arrow-B i{
  font-size:1.4em;
  line-height:1;
}
.slick_gallery .slick-prev{ left:0; }
.slick_gallery .slick-next{ right:0; }

/* 768px未満だけ横スクロール */
@media (max-width:767px){
  .chart_scroll{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .chart{
    min-width:768px; /* ← ここが超重要 */
  }
}

table.chart{
  border-collapse: separate;   /* ← 重要 */
  border-spacing: 2px;         /* ← セルの間隔 */
  width:100%;
}
table.chart th,
table.chart td{
  text-align:center;
	font-weight:400;
	color:#111;
}
table.chart th{
	color:#fff;
	vertical-align: bottom
}
table.chart td{
  padding:.4em;
  background:#ccc;             /* 仮 */
}
table.chart td img{
  max-width:2.4em;
}
table.chart tbody tr:nth-child(odd) td{
  background:#999;
}
table.chart tbody tr:nth-child(even) td{
  background:#ccc;
}
table.chart tbody tr td:nth-child(1){
	width:50vw;
	text-align:left
}
table.chart tbody tr:nth-child(odd) td:nth-child(3){
  background:#00B1EB;
	color:#fff;
}
table.chart tbody tr:nth-child(even) td:nth-child(3){
  background:#007BB8;
	color:#fff;
}
table.chart tbody tr td:nth-child(4),
table.chart tbody tr td:nth-child(5){
  background:#fff;
}

.video-thumb {
  position: relative;
  cursor: pointer;
  display: inline-block;
}

.play-btn {
  position: absolute;
  inset: 0;
}
.play-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: 3rem;
  color: #fff;
}

.video-modal {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;

  background: rgba(0,0,0,.85);
  z-index: 99999;

  display: none;
}

.video-modal.is-open {
  display: flex;
  align-items: center;
  justify-content: center;
}

.video-modal-inner {
  position: relative;
  width: min(90vw, 960px);
}

.video-modal video {
  width: 100%;
  height: auto;
}

.video-close {
  position: absolute;
  top: -40px;
  right: 0;
  font-size: 2rem;
  background: none;
  color: #fff;
  border: 0;
  cursor: pointer;
}
.future_line_spacing{
	display:block;
	content:"";
	width:4em;
	height:1.4em;
	background: rgb(39,185,247);
}
.title_h2{
	font-weight:700;
	padding:0 .6em .4em;
}
#main-content #cat_topics-1 h2,
#main-content #cat_topics-2 h2,
#main-content #cat_topics-3 h2,
#main-content #cat_topics-4 h2{
	border:none;
}
.title_h3{
	font-weight:700;
	padding:0 .6em .4em;
}

.title_h2.engTitle{
    padding-top: .6em;
    position: relative;
}
.title_h2.engTitle::before {
	content: attr(data-en);
    position: absolute;
	display:block;
    top: -.4em;
	left: 0;
    transform:rotate(-6deg) translateX(0);
    font-size: .9em;
    z-index: -1;
	opacity:.4
}
.title_h2.fh-center.engTitle::before {
	left: 50%;
	transform: rotate(-4deg) translateX(-50%);
}
.title_h2.fh-end.engTitle::before {
	left: 100%;
	transform: rotate(4deg) translateX(-100%);
}


#wrapper p{margin:.8em .4em}

#breadcrumb{
	border-bottom:1px solid #ddd
}
#breadcrumbList{font-size:0}
#breadcrumbList li{
	min-width:80px
}
#breadcrumbList a{
	border-right:1px solid #ddd;
	font-size:0.9rem;
	padding:.6em .4em;
	margin:0
}
#breadcrumbList li:last-child a{
	border:none;
	cursor:default
}
#breadcrumbList li:last-child a:hover{background:none}
.wpcf7Btn,
.mLink a{
	text-align:center;
	min-width:12em;
	padding:1em 2em;
	line-height:1;
	border:1px solid #fff;
}
.topic-title{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}
.topic-exc{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	margin:.4em .4em 0
}
#home-topics-4 .topic-exc.img_aspect-16_9,
#home-topics-4 .topic-exc.img_aspect-2_1{
	-webkit-line-clamp: 1;
}
#home-topics-4 .topic-exc.img_aspect-4_3,
#home-topics-4 .topic-exc.img_aspect-1_1{
	-webkit-line-clamp: 2;
}
#home-topics-4 .topic-exc.img_aspect-1_1{
	-webkit-line-clamp: 3;
}
.content_slider .slick-prev,
.content_slider .slick-next{
	color:#fff;
	background:rgba(0,0,0,.8)!important;
	text-shadow:1px 1px 0 #111,-1px 1px 0 #111,1px -1px 0 #111,-1px -1px 0 #111;
}
.content_slider .slick-prev{
	border-radius:0 2px 2px 0;
}
.content_slider .slick-next{
	border-radius:2px 0 0 2px;
}
.gallery_alt_text.pos-abs{
	position:absolute;
	z-index:1;
	bottom:0;
	left:0;
	color:#fff;
	background:rgba(0,0,0,.8)!important;
}
.rounded-circle .gallery_alt_text.pos-abs{
	bottom:calc(50% - 1.1em);
}
.easy_steps_no {
	width:2em;
}
@media all and (min-width:576px),print{
	#breadcrumb{
		margin:0.1em 0;
	}
	#breadcrumbList li{min-width:0;flex:0 0 auto;position:relative}
	#breadcrumbList li:last-child{flex:0 1 auto}
	#breadcrumbList a{
		border:none;
		padding:.2em 0;
		position:relative;
	}
	#breadcrumbList span{
		position:relative;
		padding:0 .3em
	}
	#breadcrumbList li,
	#breadcrumbList a,
	#breadcrumbList span {
	}
	#breadcrumbList li a::after{content:">"}
	#breadcrumbList li:last-child a::after{content:"";padding:0}
	#breadcrumbList li span::before,
	#breadcrumbList li span::after{
		padding:0;
		position:absolute;
		bottom:.1em;
		content:"";
		display:inline-block;
		width:0;
		height:1px;
		background:#888;
		-webkit-transition:.6s;
		transition:.6s;
		opacity:0
	}
	#breadcrumbList li:last-child span::before,
	#breadcrumbList li:last-child span::after{
		display:none;
	}
	#breadcrumbList li span::before{left:50%}
	#breadcrumbList li span::after{right:50%}
	#breadcrumbList li span:hover::before,
	#breadcrumbList li span:hover::after{width:50%;opacity:1}
	#home-topics-4 .topic-exc.img_aspect-16_9,
	#home-topics-4 .topic-exc.img_aspect-2_1{
		-webkit-line-clamp: 1;
	}
	#home-topics-4 .topic-exc.img_aspect-4_3{
		-webkit-line-clamp: 3;
	}
	#home-topics-4 .topic-exc.img_aspect-1_1{
		-webkit-line-clamp: 4;
	}
}
@media all and (min-width:768px),print{
	.member_modal_inner{
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;

		display: flex;
		align-items: stretch;

		overflow: hidden; /* 全体はスクロールさせない */
	}

	.member_modal_left{
		background:#eee;
		height: 100vh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch; /* iOS対策 */
		/* Firefox */
		scrollbar-width: none;

		/* IE / Edge (旧) */
		-ms-overflow-style: none;
	}

	/* Chrome / Safari */
	.member_modal_left::-webkit-scrollbar{
		display: none;
	}
	#home-topics-4 .topic-exc.img_aspect-1_1{
		-webkit-line-clamp: 5;
	}
	.content_box-01{
		padding-bottom:4em;
	}
	.content_box-11{
		background-image: url('/wp-content/uploads/Group-1000002405-1-1.png');
		background-size: auto 100%;
		background-position: 50%;
		background-repeat: no-repeat;
	}
}
@media all and (min-width:992px),print{
	.member_info{
		bottom:12px;
		opacity:0;
		transition: opacity 0.4s ease, transform 0.4s ease;
		transform: translateY(50%);
	}
	.member_content:hover .member_info{
		opacity:1;
		transform: translateY(0);
	}
	.member_content_img{
		filter: grayscale(50%);
		transform: scale(1);
		transition:
			filter 0.3s ease,
			transform 0.4s ease;
	}
	.member_content:hover .member_content_img{
		filter: grayscale(0);
		transform: scale(1.05);
	}
	.member_modal_img{
		object-position: top center;
	}
	.content_box-10{
		background-image: url('/wp-content/uploads/Updated-Website-Copy-1.webp');
		background-size: cover;
		background-position: 100% 0;
		display: flow-root;   /* ← 決定打 */
	}
	.process-animation {
		position: relative;
		border-radius:0;
		overflow: hidden;
	}
	.process-step:nth-child(1) .process-animation,
	.process-step:nth-child(2) .process-animation,
	.process-step:nth-child(3) .process-animation,
	.process-step:nth-child(4) .process-animation {
		background: none;
		background-size:100%;
	}
	.process-step:nth-child(1) .process-animation::before {
		content: "";
		position: absolute;
		inset: -1px;
		background-image: url('/wp-content/uploads/anim-1.webp');
		background-size: cover;
		background-position: center;
	}
	.process-step:nth-child(2) .process-animation::before {
		content: "";
		position: absolute;
		inset: -1px;
		background-image: url('/wp-content/uploads/anim-2.webp');
		background-size: cover;
		background-position: center;
	}
	.process-step:nth-child(3) .process-animation::before {
		content: "";
		position: absolute;
		inset: -1px;
		background-image: url('/wp-content/uploads/anim-2.webp');
		background-size: cover;
		background-position: center;
		transform: scaleX(-1);
	}
	.process-step:nth-child(4) .process-animation::before {
		content: "";
		position: absolute;
		inset: -1px;
		background-image: url('/wp-content/uploads/anim-1.webp');
		background-size: cover;
		background-position: center;
		transform: scaleX(-1);
	}

	.content_box-01{
		background-size: 128px auto;
		padding-bottom:5em;
	}
	table.chart{
		border-spacing: 8px;         /* ← セルの間隔 */
	}
	table.chart td:first-child{
		border-top-left-radius:1em;
	}
	table.chart td{
		padding:1em .4em;
	}
	table.chart tbody tr td:nth-child(1){
		width:auto;
		text-align:center
	}
	table.chart td img{
		max-width:100%;
	}
	.future_line_spacing{
		width:8em;
	}
	.pointer-none{color:inherit;text-decoration:none}
	.topic-exc{
		-webkit-line-clamp: 2;
	}
	#home-topics-4 .topic-exc.img_aspect-1_1{
		-webkit-line-clamp: 6;
	}
	.gallery_alt_text.pos-abs{
		z-index:1;
		bottom:-3em;
		left:0;
		opacity:0;
	}
	.gallery_img_area:hover .gallery_alt_text.pos-abs{
		bottom:0;
		opacity:1;
	}
	.rounded-circle .gallery_alt_text.pos-abs{
		bottom:50%;
		transform: translate(0, 50%);
		opacity:0;
	}
	.rounded-circle.gallery_img_area:hover .gallery_alt_text.pos-abs{
		bottom:50%;
		transform: translate(0, 50%);
		opacity:1;
	}
	.over_large img{
		-webkit-transform:translate(0, 0) scale(1);
		transform:translate(0, 0) scale(1);
		-webkit-transition:all .4s;
		transition:all .4s;
	}
	.over_large:hover img{
		-webkit-transform:translate(0, 0) scale(1.1);
		transform:translate(0, 0) scale(1.1);
	}
}
@media all and (min-width:1280px),print{
	.figure-why-brava{
		transition-delay: .4s;
		bottom:0;
	}
	.content_box-01{
		background-size: 180px auto;
		padding-bottom:5em;
	}
	.content_box-08{
		border-radius:0 20em 20em 0;
	}
	.content_box-09{
		border-radius:20em 0 0 20em;
	}
	.content_box-11{
		background: none;
		background-image: url('/wp-content/uploads/Group-1000002405-1-1.png');
		background-size: 100%;
		background-position: 50%;
		background-repeat: no-repeat;
	}
	.future_line_spacing{
		width:20em;
	}
}