/* KV（キービジュアル） */

.p-medical-kv {
	background-color: #c4e2f0;
	background-image: url(/assets/img/papeople/medical/img_kv_bg_sp.png);
	background-size: cover;
	background-position: center;
	overflow: hidden;
	/* height: 880px; */
}
@media screen and (min-width: 1024px) {
	.p-medical-kv{
		/* height: 600px; */
		background-image: url(/assets/img/papeople/medical/img_kv_bg.png);
		background-size: cover;
		background-position: center;
		overflow: hidden;
	}
}

.p-medical-kv__inner {
	max-width: 1120px;
	margin: 0 auto;
	padding: 47px 9px 20px;
	display: flex;
	flex-direction: column;
}

@media screen and (min-width: 1024px) {
	.p-medical-kv__inner {
		padding: 77px 0 0;
		display: grid;
		grid-template-columns: 48.93% 45.09%;
		grid-template-areas:
			"text visual"
			"buttons visual";
		column-gap: 60px;
	}
}

.p-medical-kv__logo-sp {
	display: block;
	margin:  0 auto 20px;
}

.p-medical-kv__logo-sp img {
	width: 100%;
	max-width: 310px;
	height: auto;
}

@media screen and (min-width: 1024px) {
	.p-medical-kv__logo-sp {
		display: none;
	}
}

.p-medical-kv__text {

	margin-left: 24px;
}

@media screen and (min-width: 1024px) {
	.p-medical-kv__text {
		grid-area: text;
		margin-bottom: 0;
		margin-left: 0;
		max-width: 548px;
		position: relative;
		z-index: 1;
	}
	.p-medical-kv__text::after{
		content: "";
		display: block;
		border-radius: 16px;
		background: rgba(183, 183, 183, 0.10);
		width: 191px;
		height: 178px;
		position: absolute;
		top: -38px;
		left: -50px;
		z-index: -1;
	}
	.p-medical-kv__text::before{
		content: "";
		display: block;
		border-radius: 16px;
		background: rgba(183, 183, 183, 0.10);
		width: 174px;
		height: 123px;
		position: absolute;
		top: 89px;
		left: 108px;
		z-index: -1;
	}

}

.p-medical-kv__heading {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
	color: #1a1a2e;
	margin: 0 0 25px;
}

@media screen and (min-width: 1024px) {
	.p-medical-kv__heading {
		font-size: 32px;
		margin: 0 0 33px;
	}
}

.p-medical-kv__desc {
	font-size: 16px;
	line-height: 1.8;
	color: #333;
	margin: 0 0 20px;
	margin-right: 24px;
}

@media screen and (min-width: 1024px) {
	.p-medical-kv__desc {
		font-size: 16px;
		margin: 0 0 20px;

	}
}

.p-medical-kv__stats {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 4px;
}
@media screen and (min-width: 1024px) {
	.p-medical-kv__stats{
		gap: 30px;
	}
}

.p-medical-kv__stat {
	display: flex;
	align-items: baseline;
}
@media screen and (min-width: 1024px) {
	.p-medical-kv__stat{
		align-items: center;
	}
}

.p-medical-kv__stat-label {
	font-size: 14px;
	color: #333;
	font-weight: 700;
}

@media screen and (min-width: 1024px) {
	.p-medical-kv__stat-label {
		font-size: 14px;
	}
}

.p-medical-kv__stat-num {
	font-size: 20px;
	font-weight: 900;
	color: #f5a320;
	line-height: 1;
	font-family: "Lato", sans-serif;
	font-style: italic;
	margin: 0 2px;
}

@media screen and (min-width: 1024px) {
	.p-medical-kv__stat-num {
		font-size: 43px;
		margin: 0 5px;
	}
}

.p-medical-kv__stat-unit {
	font-size: 14px;
	color: #333;
	font-weight: 700;
}

@media screen and (min-width: 1024px) {
	.p-medical-kv__stat-unit {
		font-size: 14px;
	}
}

.p-medical-kv__stats-sep {
	display: block;
	width: 1px;
	height: 20px;
	background-color: #000;
	flex-shrink: 0;
}
@media screen and (min-width: 1024px) {
	.p-medical-kv__stats-sep {
		height: 40px;
	}
}

.p-medical-kv__stats-note {
	font-size: 11px;
	color: #000;
	margin: 0;
	font-weight: 400;
	text-align: right;
	margin-right: 10px;
}

@media screen and (min-width: 1024px) {
	.p-medical-kv__stats-note {
		font-size: 11px;
		margin-right: 50px;
	}
}

.p-medical-kv__visual {
	display: flex;
	flex-direction: column;

}

@media screen and (min-width: 1024px) {
	.p-medical-kv__visual {
		grid-area: visual;
		grid-row: 1 / span 2;
		margin-bottom: 0;
	}
}

.p-medical-kv__logo-pc {
	display: none;
}

@media screen and (min-width: 1024px) {
	.p-medical-kv__logo-pc {
		display: block;

		position: relative;
		margin-bottom: 16px;
		z-index: 1;
		max-width: 368px;
	}
	.p-medical-kv__logo-pc::after{
		content: "";
		filter: blur(6.5px);
		width: 105%;
		height: 105%;
		background-color: #EDF4FB;
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 0;
	}
}

.p-medical-kv__logo-pc img {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
}

.p-medical-kv__visual-imgs {
	position: relative;
	flex: 1;

}
@media screen and (min-width: 1024px) {
	.p-medical-kv__visual-imgs{
		z-index: 1;
	}
	.p-medical-kv__visual-imgs::after{
		position: absolute;
		content: "";
		width: 337px;
		height: 242px;
		top: 58px;
		left: -29px;
		border-radius: 16px;
		background: rgba(255, 255, 255, 0.40);
		z-index: -1;
	}
}
.p-medical-kv__phone {
	display: block;
	width: 100%;
	height: auto;
}

.p-medical-kv__phone.-pc {
	display: none;
}
.p-medical-kv__phone.-sp{
	width: 182px;
	margin: 0 auto;
}

@media screen and (min-width: 1024px) {
	.p-medical-kv__phone.-sp {
		display: none;
	}
	.p-medical-kv__phone.-pc {
		display: block;
	}
}

.p-medical-kv__illust {
	display: block;
	width: 100%;
	height: auto;
}

.p-medical-kv__buttons {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

@media screen and (min-width: 1024px) {
	.p-medical-kv__buttons {
		grid-area: buttons;
		flex-direction: row;
		align-items: center;
		gap: 20px;
		padding-top: 0;
		margin-top: -70px;
		z-index: 2;
	}
}
.p-medical-kv__buttons .btn{
	min-width: 250px !important;
	font-size: 18px !important;
	min-height: 54px !important;
}

.p-medical-kv__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 250px;
	height: 54px;
	border-radius: 27px;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	transition: opacity 0.2s;
}

.p-medical-kv__btn:hover {
	opacity: 0.85;
	text-decoration: none;
}

.p-medical-kv__btn--dl {
	background-color: #FF9E00 !important;
	border: 2px solid #FF9E00 !important;
	/* padding-right: 25px; */
}
@media screen and (min-width: 1024px) {
	.p-medical-kv__btn--dl{
		padding-right: 25px;
	}
}

.p-medical-kv__btn--dl:hover {
	background-color: #FFF !important;
	border: 2px solid #FF9E00 !important;
	color: #FF9E00 !important;
}

.p-medical-kv__btn--dl::after {
	background: url(/assets/img/common/icon_download_white_third.svg) no-repeat !important;
	width: 23px !important;
	height: 23px !important;
	top: calc(50% - 7px) !important;
	right: 15px !important;
}

.p-medical-kv__btn--dl:hover::after {
	background: url(/assets/img/common/icon_download_orange_third.svg) no-repeat !important;
}

.p-medical-kv__btn--contact::after {
	width: 22px;
	height: 18px;
	right: 45px !important;
}

.p-medical-kv__icon-arrow {
	display: inline-block;
	width: 0;
	height: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 11px solid #fff;
}

/* ロゴ一覧 */
.p-medical-logos {
	background-color: #fff;

}
@media screen and (min-width: 1024px) {
	.p-medical-logos{
		background: #FFF;
		box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.25);
	}
}

.p-medical-logos__inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 24px 13px;
}
@media screen and (min-width: 1024px) {
	.p-medical-logos__inner {
		padding: 10px 0 17px;
	}
}

.p-medical-logos__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 25px 0;
}
@media screen and (min-width: 1024px) {
	.p-medical-logos__list {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 55px;
	}
}

.p-medical-logos__item {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 15px;
}
@media screen and (min-width: 1024px) {
	.p-medical-logos__item {
		padding: 0;
	}
	.p-medical-logos__item:nth-child(1) {
		width: 180px;
	}
	.p-medical-logos__item:nth-child(2) {
		width: 329px;
	}
	.p-medical-logos__item:nth-child(3) {
		width: 297px;
	}
	.p-medical-logos__item:nth-child(4) {
		width: 245px;
	}
}

.p-medical-logos__item img {
	display: block;
	max-width: 100%;
	height: auto;
	max-height: 55px;
}
@media screen and (min-width: 1024px) {
	.p-medical-logos__item img {
		max-height: none;
	}
}

/* お困りごとセクション */
.p-medical-problems {
	padding: 38px 0 0;
	margin-bottom: -30px;
}
@media screen and (min-width: 1024px) {
	.p-medical-problems {
		padding: 72px 0 0;
		margin-bottom: 0;
	}
}

.p-medical-problems__inner {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 20px;
}
@media screen and (min-width: 1024px) {
	.p-medical-problems__inner {
		padding: 0;
	}
}

.p-medical-problems__heading {
	text-align: center;
	margin: 0;
	line-height: 1.4;
}

.p-medical-problems__heading-pre {
	display: block;
	font-size: 20px;
	font-weight: 700;
	color: #333;
}
@media screen and (min-width: 1024px) {
	.p-medical-problems__heading-pre {
		display: inline;
		font-size: 32px;
		font-weight: 700;
		color: #333333;
	}
}

.p-medical-problems__heading-main {
	display: block;
	font-size: 20px;
	font-weight: 700;
	color: #333333;
}
@media screen and (min-width: 1024px) {
	.p-medical-problems__heading-main {
		display: inline;
		font-size: 32px;
	}
}

.p-medical-problems__divider {
	width: 25px;
	height: 4px;
	border-radius: 10px;
	background: #333;
	margin: 20px auto 30px;
}
@media screen and (min-width: 1024px) {
	.p-medical-problems__divider {
		margin-bottom: 82px;

	}
}

.p-medical-problems__body {
	display: flex;
	flex-direction: column;
}
@media screen and (min-width: 1024px) {
	.p-medical-problems__body {
		position: relative;
		min-height: 210px;
	}
}

.p-medical-problems__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.p-medical-problems__item {
	background-color: #E0F5F9;
	border-radius: 10px;
	padding: 11px 28px;
	font-size: 16px;
	color: #333;
	line-height: 1.6;
}
.p-medical-problems__item.-graysp {
	background-color: #EEF5F6;
}
.p-medical-problems__item .c-br.-pc{
	display: none;
}

@media screen and (min-width: 1024px) {
	.p-medical-problems__item {
		position: absolute;
		font-size: 24px;
		font-weight: 700;
		padding: 15px 26px;
		line-height: 1.6;
		z-index: 1;
		border-radius: 20px;
	}
	.p-medical-problems__item .c-br.-pc{
		display: inline;
	}
	.p-medical-problems__item.-graysp {
	background-color: #E0F5F9;
	}
	.p-medical-problems__item.-graypc {
	background-color: #EEF5F6;
}
	/* 詳しい人が分からず（上段中央） */
	.p-medical-problems__item:nth-child(1) {
		top: -32px;
    left: 34%;
		/* width: 280px; */
	}
	/* 連絡先がバラバラ（右下） */
	.p-medical-problems__item:nth-child(2) {
		top: 138px;
        right: -45px;
		/* width: 340px; */
		padding-left: 37px;
	}
	/* 共有スマホ（右上） */
	.p-medical-problems__item:nth-child(3) {
		top: 7px;
    right: 177px;
		/* width: 178px; */
	}
	/* 人探し（左上） */
	.p-medical-problems__item:nth-child(4) {
		top: 25px;
    left: 69px;
		width: 295px;
		padding-left: 37px;

	}
	/* 誰が担当か（左下） */
	.p-medical-problems__item:nth-child(5) {
		top: 154px;
    left: 31px;
		width: 300px;
		text-align: center;
	}
}

.p-medical-problems__illust {
	text-align: center;
	margin-top: -23px;
}
.p-medical-problems__illust img {
	max-width: 335px;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
}
@media screen and (min-width: 1024px) {
	.p-medical-problems__illust {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 0;
		margin-top: 0;
		width: 640px;
		z-index: 1;
	}
	.p-medical-problems__illust img {
		max-width: 100%;
		width: 100%;
	}
}

/* 機能紹介セクション */
.p-medical-problems {
	position: relative;
	z-index: 1;
	overflow-x: clip;
}

.p-medical-features {
	padding: 110px 0 40px;
	position: relative;
	background: #F5F9FA;
	/* overflow: hidden; */
}
@media screen and (min-width: 1024px) {
	.p-medical-features {
		padding: 290px 0 115px;
	}
}

.p-medical-problems::before {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 50%;
	transform: translateX(-50%);
	width: 108vw;
	height: 130px;
	background: #FFF;
	border-radius: 50%;
	z-index: 1;
}
@media screen and (min-width: 1024px) {
	.p-medical-problems::before {
		width: 130vw;
		height: 100%;
		border-radius: 50%;
		bottom: -200px;
	}
}

.p-medical-features__inner {
	max-width: 1210px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
	z-index: 1;
}
@media screen and (min-width: 1024px) {
	.p-medical-features__inner {
		padding: 0;
	}
}

.p-medical-features__heading {
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	color: #333;
	margin: 0;
	line-height: 1.5;
}
@media screen and (min-width: 1024px) {
	.p-medical-features__heading {
		font-size: 32px;
		white-space: nowrap;
	}
	.p-medical-features__heading br{
		display: none;
	}
}


.p-medical-features__divider {
	width: 25px;
    height: 4px;
    border-radius: 10px;
    background: #333;
    margin: 20px auto 30px;
}

.p-medical-features__desc {
	text-align: left;
	font-size: 14px;
	color: #333;
	line-height: 1.9;
	margin: 0 0 40px;
}
.p-medical-features__desc .c-br.-pc{
	display: none;
}

@media screen and (min-width: 1024px) {
	.p-medical-features__desc {
		text-align: center;
		font-size: 16px;
		margin-bottom: 50px;
	}
	.p-medical-features__desc .c-br.-sp{
		display: none;
	}
	.p-medical-features__desc .c-br.-pc{
		display: inline;
	}
}

.p-medical-features__groups {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
@media screen and (min-width: 1024px) {
	.p-medical-features__groups {
		flex-direction: row;
		gap: 23px;
		align-items: stretch;
	}
}

.p-medical-features__group {
	display: flex;
	flex-direction: column;
	border-radius: 10px;
	background: #FFF;
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
	padding: 22px 15px 23px;

}
@media screen and (min-width: 1024px) {
	.p-medical-features__group {
		flex: 1;
			padding: 30px 22px;
		border-radius: 10px;
		overflow: hidden;
	}
}

.p-medical-features__group-label {
	text-align: center;
	font-size: 20px;
	font-weight: 900;
	color: #333;
	margin-top: 0;
	margin-bottom: 18px;
	letter-spacing: -0.05em;
}
@media screen and (min-width: 1024px) {
	.p-medical-features__group-label {

		font-size: 20px;
		margin-top: 0;
		margin-bottom: 28px;
	}
}

.p-medical-features__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	flex: 1;
}
@media screen and (min-width: 1024px) {
	.p-medical-features__list {

	}
}

.p-medical-features__item {
	border-radius: 5px;
	background: #E0F5F9;

	padding: 22px 20px 35px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
@media screen and (min-width: 1024px) {
	.p-medical-features__item {
		padding: 20px 0 35px;
	}
}

.p-medical-features__item-head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	justify-content: center;
}

@media screen and (min-width: 768px){
	.p-medical-features__item-head {
		margin-bottom: 20px;
	}
}
.p-medical-features__item-icon {
	width: 42px;
	height: 42px;
	flex-shrink: 0;
	border-radius: 10px;
background: #389BCF;
justify-content: center;
align-items: center;
display: flex;

}

.p-medical-features__item-title {
	font-size: 20px;
	font-weight: 700;
	color: #101828;
	letter-spacing: -0.05em;
}
@media screen and (min-width: 1024px) {
	.p-medical-features__item-title {
		font-size: 24px;
	}
}

.p-medical-features__item-desc {
	font-size: 15px;
	color: #4A5565;
	line-height: 26px;
	margin: 0;
}
@media screen and (min-width: 768px){
	.p-medical-features__item-desc {
		font-size: 16px;
		line-height: 26px;
		padding-left: 25px;
		padding-right: 25px;
	}
}

/* CTAセクション */
.p-medical-cta {
	/* opacity: 0.85; */
	background: linear-gradient(90deg, rgba(34, 173, 200, 0.85) 0%, rgba(12, 119, 143, 0.85) 100%);
	padding: 50px 0 55px;
}
@media screen and (min-width: 1024px) {
	.p-medical-cta {
		padding: 0;
		background: linear-gradient(90deg, rgba(34, 173, 200, 0.85) 0%, rgba(12, 119, 143, 0.85) 100%), url(/assets/img/papeople/medical/img_cta_bg.png) center / cover no-repeat;
    overflow-x: clip;
	}
}

.p-medical-cta__inner {
	max-width: 1120px;
	margin: 0 auto;
}
@media screen and (min-width: 1024px) {
	.p-medical-cta__inner {
		display: flex;
		align-items: flex-end;
		position: relative;
		z-index: 2;
	}
}

.p-medical-cta__content {
	flex: 1;
}
@media screen and (min-width: 1024px) {
	.p-medical-cta__content {
		padding: 27px 0 45px;
	}
}

.p-medical-cta__heading {
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	margin: 0;
	line-height: 1.5;
}
@media screen and (min-width: 1024px) {
	.p-medical-cta__heading {
		font-size: 32px;
		white-space: nowrap;
	}
	.p-medical-cta__heading br{
		display: none;
	}
}

.p-medical-cta__divider {
	width: 30px;
	height: 4px;
	background-color: #fff;
	margin: 20px auto 20px;
	border-radius: 10px;
}
@media screen and (min-width: 1024px) {
	.p-medical-cta__divider{
		margin: 20px auto 30px;
	}
}

.p-medical-cta__buttons {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
}
@media screen and (min-width: 1024px) {
	.p-medical-cta__buttons {
		flex-direction: row;
		justify-content: center;
		gap: 37px;
		margin-left: 50px;
	}
}

.p-medical-cta__btn-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.p-medical-cta__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 300px;
	height: 70px;
	border-radius: 50px;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.5s;
	position: relative;
}
.p-medical-cta__btn:hover {
	text-decoration: none;
}

.p-medical-cta__btn.-download {
	background-color: #FF9E00;
	color: #fff;
	border: 5px solid #FFF;
	padding-right: 20px;
}
.p-medical-cta__btn.-download::after {
	content: "";
	transition: all 0.5s;
	display: block;
	width: 22px;
	height: 22px;
	position: absolute;
	top: calc(50% - 7px) !important;
    right: 45px !important;
	background: url(/assets/img/common/icon_download_white_third.svg) no-repeat !important;
}
.p-medical-cta__btn.-download:hover{
	background-color: #FFF;
	border: 5px solid #FF9E00;
	color: #FF9E00;
}

.p-medical-cta__btn.-download:hover::after{
	background: url(/assets/img/common/icon_download_orange_third.svg) no-repeat !important;
}

.p-medical-cta__btn.-contact {
	background-color: #1a6b7a;
	color: #fff;
	border: 5px solid #fff;
	position: relative;
}
.p-medical-cta__btn-icon{
	display: block;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,<svg width='8' height='12' viewBox='0 0 8 12' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M7.56847 5.04976C8.14384 5.52097 8.14384 6.47903 7.56847 6.95024L1.68453 11.7689C0.985792 12.3412 4.38532e-07 11.7851 4.80774e-07 10.8187L9.02038e-07 1.18131C9.4428e-07 0.214911 0.985792 -0.341169 1.68453 0.231071L7.56847 5.04976Z' fill='%23FFFFFF'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
		position: absolute;
    top: 50%;
    right: 54px;
    transform: translateY(-50%);
}
.p-medical-cta__btn.-contact:hover {
	background-color: #FFF;
	color: #1a6b7a;
	border: 5px solid #1a6b7a;
}
.p-medical-cta__btn.-contact:hover .p-medical-cta__btn-icon{
	background-image: url("data:image/svg+xml,<svg width='8' height='12' viewBox='0 0 8 12' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M7.56847 5.04976C8.14384 5.52097 8.14384 6.47903 7.56847 6.95024L1.68453 11.7689C0.985792 12.3412 4.38532e-07 11.7851 4.80774e-07 10.8187L9.02038e-07 1.18131C9.4428e-07 0.214911 0.985792 -0.341169 1.68453 0.231071L7.56847 5.04976Z' fill='%230B768D'/></svg>");
}
/* .p-medical-cta__btn.-contact::after {
	content: "";
	transition: all 0.5s;
	background: url(https://phoneappli.net/_images/icon_btn_white.svg) no-repeat center / contain;
	width: 13px;
	height: 20px;
	top: calc(50% - 8px);
	right: 13px !important;
	position: absolute;

		transform: scale(0.9) !important;
}
.p-medical-cta__btn.-contact:hover::after{
	background: url(https://phoneappli.net/_images/icon_btn_cadetblue.svg) no-repeat;
    top: calc(50% - 8px);
} */

.p-medical-cta__btn-note {
	color: #fff;
	font-size: 16px;
	text-align: center;
	font-weight: 500;
	line-height: 1.7;
	margin: 0;
}
@media screen and (min-width: 768px){
	.p-medical-cta__btn-note {
		font-size: 20px;
	}
}

.p-medical-cta__illust {
	display: none;
}
@media screen and (min-width: 1024px) {
	.p-medical-cta__illust {
		display: block;
		flex-shrink: 0;
		width: 236px;
		position: absolute;
		bottom: -65px;
		right: -90px;
	}
	.p-medical-cta__illust img {
		display: block;
		width: 100%;
		height: auto;
	}
}

/* 運用シーン・機能紹介セクション */
.p-medical-usecase {
	padding: 45px 26px 54px;
}
@media screen and (min-width: 1024px) {
	.p-medical-usecase {
		padding: 93px 0 135px;

	}
}

.p-medical-usecase__inner {
	max-width: 920px;
	margin: 0 auto;
}

.p-medical-usecase__header {
	text-align: center;
	margin-bottom: 48px;
}
@media screen and (min-width: 1024px) {
	.p-medical-usecase__header {
		margin-bottom: 92px;
	}
}

.p-medical-usecase__heading {
	font-size: 20px;
	font-weight: 700;
	color: #1a1a2e;
	margin: 0 0 20px;
	line-height: 1.5;
	letter-spacing: -0.01em
}
@media screen and (min-width: 1024px) {
	.p-medical-usecase__heading {
		font-size: 32px;
		margin-bottom: 25px;
	}
}

.p-medical-usecase__label {
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 22px;
}

@media screen and (min-width: 1024px) {
	.p-medical-usecase__label{
		font-weight: 700;
	}
	.p-medical-usecase__label-cross {
		font-weight: 400;
	}
}
.p-medical-usecase__block {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 56px;
}
.p-medical-usecase__block:last-child {
	margin-bottom: 0;
}
@media screen and (min-width: 1024px) {
	.p-medical-usecase__block {
		flex-direction: row;
		align-items: flex-start;
		gap: 20px;
		margin-bottom: 17px;
	}
	.p-medical-usecase__block.-reverse {
		flex-direction: row-reverse;
	}
	.p-medical-usecase__block:nth-of-type(3){
		margin-bottom: 37px;
	}
	.p-medical-usecase__block:nth-of-type(3) .p-medical-usecase__block-text{
		margin-left: 40px;

	}
}


.p-medical-usecase__block-text {
	/* SP: 子要素をblockの直接flex itemとして扱い、illustと混在させる */
	display: contents;
}
@media screen and (min-width: 1024px) {
	.p-medical-usecase__block-text {
		display: block;
		flex: 1;
	}
}

.p-medical-usecase__block-illust {
	order: 2;
	border-radius: 20px;
	background-color: rgba(219, 234, 254, 0.9);
}
.p-medical-usecase__block:nth-child(2) .p-medical-usecase__block-illust {
	padding: 42px 25px 0;
}
.p-medical-usecase__block:nth-child(3) .p-medical-usecase__block-illust {
	padding: 73px 38px 23px 30px;
}
.p-medical-usecase__block:nth-child(4) .p-medical-usecase__block-illust {
	padding: 48px 65px 0 45px;
}
@media screen and (min-width: 1024px) {
	.p-medical-usecase__block:nth-child(2) .p-medical-usecase__block-illust {
		padding: 19px 39px 0 45px;
	}
	.p-medical-usecase__block:nth-child(2) .p-medical-usecase__block-illust img{
		margin-top: -4px;
	}
	.p-medical-usecase__block:nth-child(3) .p-medical-usecase__block-illust {
		padding: 73px 23px 37px 24px;
	}
	.p-medical-usecase__block:nth-child(4) .p-medical-usecase__block-illust {
		padding: 66px 84px 0 65px;
	}
}

.p-medical-usecase__block-illust img {
	display: block;
	width: 100%;
	height: auto;
}
@media screen and (min-width: 1024px) {
	.p-medical-usecase__block-illust {
		flex: 1;
		flex-shrink: 0;
		max-width: 440px;
	}
}

.p-medical-usecase__block-heading {
	order: 1;
	font-size: 20px;
	font-weight: 700;
	color: #1a1a2e;
	line-height: 1.5;
	text-align: center;
	letter-spacing: -0.05em;
	margin: 0;

}
.p-medical-usecase__block-heading .c-br.-pc{
	display: none;
}

@media screen and (min-width: 1024px) {
	.p-medical-usecase__block-heading {
		font-size: 32px;
		margin-bottom: 15px;
		letter-spacing: 0;
		text-align: left;
	}
	.p-medical-usecase__block-heading .c-br.-pc{
		display: inline;
	}
}

.p-medical-usecase__tags {
	order: 3;
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}
@media screen and (min-width: 1024px) {
	.p-medical-usecase__tags{
		margin-bottom: 15px;
	}
}

.p-medical-usecase__tag {
	background-color: #389BCF;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	color: #FFF;
	display: inline-flex;
	padding: 1px 20px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 100px;
}

.p-medical-usecase__block-desc {
	order: 4;
	font-size: 14px;
	line-height: 26px;
	margin: 0;

}
@media screen and (min-width: 1024px) {
	.p-medical-usecase__block-desc {
		font-size: 16px;

	}
}

/* ===== p-medical-cases ===== */
.p-medical-cases {
	background-color: #F3F8F9;
	padding: 52px 27px 0;
	position: relative;
	overflow-x: clip;
}
@media screen and (min-width: 1024px) {
	.p-medical-cases {
		padding: 80px 0 0;
	}
}

.p-medical-cases::before {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 50%;
	transform: translateX(-50%);
	width: 108vw;
	height: 130px;
	background: #F3F8F9;
	border-radius: 50%;
	z-index: 1;
}
@media screen and (min-width: 1024px) {
	.p-medical-cases::before {
		width: 130vw;
		height: 100%;
		border-radius: 50%;
		bottom: -200px;
	}
}

.p-medical-cases__inner {
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
@media screen and (min-width: 1024px) {
	.p-medical-cases__inner {
		max-height: 650px;
	}
}

.p-medical-cases__heading {
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	margin: 0;
}
@media screen and (min-width: 1024px) {
	.p-medical-cases__heading {
		font-size: 32px;
		margin: 0 0 16px;
	}
}

.p-medical-cases__divider {
		width: 25px;
    height: 4px;
    border-radius: 10px;
    background: #333;
    margin: 20px auto 30px;
}

.p-medical-cases__desc {
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	margin: 0 0 40px;
	text-align: center;
}

@media screen and (min-width: 1024px) {
	.p-medical-cases__desc {
		font-size: 15px;
		margin: 0 0 48px;
	}
	.p-medical-cases__desc .c-br.-sp{
		display: none;
	}
}

.p-medical-cases__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 32px;
}
@media screen and (min-width: 1024px) {
	.p-medical-cases__list {
		flex-direction: row;
		gap: 68px;
		align-items: stretch;
		justify-content: center;
	}
}

.p-medical-cases__item {

	overflow: hidden;
	transition: all 0.5s;
	display: flex;
	flex-direction: column;
	background-color: #fff;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
	border-radius: 10px;

}
@media screen and (min-width: 1024px) {
	.p-medical-cases__item {
		max-width: 400px;
		flex: 1;
		background-color: #fff;
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
		border-radius: 10px;
		cursor: pointer;

	}
}

.p-medical-cases__thumb {
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
}

.p-medical-cases__thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.p-medical-cases__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 52px;
	height: 52px;
	background-color: rgba(47, 174, 203, 0.9);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-medical-cases__play::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 0 9px 16px;
	border-color: transparent transparent transparent #fff;
	margin-left: 4px;
}

.p-medical-cases__caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.55);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	padding: 8px 12px;
	margin: 0;
}

.p-medical-cases__body {
	padding: 16px 0 0;
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 12px 20px 20px;
}
@media screen and (min-width: 1024px) {
	.p-medical-cases__body {
		padding: 16px 36px 0px;
	}
}


.p-medical-cases__name {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 5px;
}
@media screen and (min-width: 1024px) {
	.p-medical-cases__name {
		font-size: 24px;
	}
}

.p-medical-cases__meta {
	margin: 0 0 5px;
	padding: 0;
}

.p-medical-cases__meta-row {
	display: flex;
	gap: 0;
	font-size: 16px;
	line-height: 1.8;
}

.p-medical-cases__meta-row dt {
	font-weight: 400;
}

.p-medical-cases__meta-row dd {
	margin: 0;
	font-weight: 700;
}

.p-medical-cases__text {
	font-size: 15px;
	line-height: 1.8;
	margin: 0 0 16px;
	flex: 1;
}
@media screen and (min-width: 768px){
	.p-medical-cases__text{
		margin: 0 0 16px;
	}
}

.p-medical-cases__btn {
		display: flex;
		width: 250px;
		height: 54px;
		justify-content: center;
		align-items: center;
		gap: 17px;
		border-radius: 30px;
		background: #0E6B82;
		color: #fff !important;
		font-size: 18px;
		font-style: normal;
		font-weight: 700;
		line-height: normal;
		line-height: 54px;
		position: relative;
		margin: 0 auto;
		transition: all 0.5s;
		border: 2px solid #0b768d;
	}
	.p-medical-cases__btn::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 30px;
		transform: translateY(-50%);
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 7px 0 7px 11px;
		border-color: transparent transparent transparent #fff;
		transition: all 0.5s;
	}
	.p-medical-cases__item{
		position: relative;
	}
@media screen and (min-width: 768px){
	.p-medical-cases__btn {
		display: flex;
		width: 250px;
		height: 54px;
		justify-content: center;
		align-items: center;
		gap: 17px;
		border-radius: 30px;
		background: #0E6B82;
		color: #fff !important;
		font-size: 18px;
		font-style: normal;
		font-weight: 700;
		line-height: normal;
		line-height: 54px;
		position: relative;
		margin: 0 auto;
		transition: all 0.5s;
		border: 2px solid #0b768d;
	}
	.p-medical-cases__btn::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 30px;
		transform: translateY(-50%);
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 7px 0 7px 11px;
		border-color: transparent transparent transparent #fff;
		transition: all 0.5s;
	}

	.p-medical-cases__item{
		position: relative;

	}
	.p-medical-cases__item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(35, 24, 21, 0.20);
    pointer-events: none; /* クリックを透過させる */
    opacity: 0;
    transition: opacity 0.5s;
		border: 2px solid #0E6B82;
		border-radius: 10px;
}
.p-medical-cases__item:hover::after {
    opacity: 1;
}
.p-medical-cases__item:hover .p-medical-cases__btn{
		background: #FFF;
		color: #0E6B82 !important;
	}
	.p-medical-cases__item:hover .p-medical-cases__btn::after{
		border-color: transparent transparent transparent #0E6B82;
	}
}

.p-medical-cases__time{
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 22px;
	margin-top: 5px;
	text-align: center;
}

/* 1件パターン */
@media screen and (min-width: 1024px) {
	.p-medical-cases__list.-single {
		flex-direction: column;
	}

	.p-medical-cases__list.-single .p-medical-cases__item {
		flex-direction: row;
		flex: none;
		overflow: auto;
		max-width: 1050px;
		margin: 0 auto;
		padding: 34px 56px;
		gap: 47px;
		align-items: flex-start;
	}
	.p-medical-cases__list.-single .p-medical-cases__item  .p-medical-cases__movie{
		width: 505px;
		height: 283px;
		aspect-ratio: 207/116;
	}



	.p-medical-cases__list.-single .p-medical-cases__body {
		padding: 0;
		width: 386px;
	}
}

/* ===== p-medical-flow ===== */
.p-medical-flow {
	background-color: #fff;
	padding: 100px 27px 54px;
}
@media screen and (min-width: 1024px) {
	.p-medical-flow {
		padding: 270px 0 102px;
	}
}

.p-medical-flow__inner {
	max-width: 878px;
	margin: 0 auto;
}

.p-medical-flow__heading {
	font-size: 20px;
	font-weight: 700;
	color: #1a1a1a;
	text-align: center;
	margin: 0 0 12px;
}
@media screen and (min-width: 1024px) {
	.p-medical-flow__heading {
		font-size: 32px;
		margin: 0 0 16px;
	}
}

.p-medical-flow__divider {
	  width: 25px;
    height: 4px;
    border-radius: 10px;
    background: #333;
    margin: 20px auto 30px;
}

.p-medical-flow__desc {
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 26px;
	text-align: center;
	margin-bottom: 32px;
}
.p-medical-flow__desc .c-br.-pc{
	display: none;
}
@media screen and (min-width: 1024px) {
	.p-medical-flow__desc {
		font-size: 16px;
		margin: 0 0 43px;
	}
	.p-medical-flow__desc .c-br.-sp{
		display: none;
	}
	.p-medical-flow__desc .c-br.-pc{
		display: inline;
	}
}

.p-medical-flow__list {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: 400px;
}
@media screen and (min-width: 1024px) {
	.p-medical-flow__list {
		max-width: none;
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		position: relative;
		z-index: 0;
	}
	.p-medical-flow__list::after{
		content: "";
		position: absolute;
		top: 33px;
		left: 50%;
		transform: translateX(-50%);
		width: 80%;
		height: 1px;
		background-color: #2FAECB;
		z-index: -1;
	}
}

.p-medical-flow__item {
	display: grid;
	grid-template-columns: 68px 1fr;
	align-items: center;
	column-gap: 20px;
	margin-right: 27px;
}

@media screen and (min-width: 1024px) {
	.p-medical-flow__item {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		flex: 1;
		position: relative;
		margin-right: 58px;
		width: calc(100% / 5);
		max-width: 125px;
	}
	.p-medical-flow__item:last-child {
		margin-right: 0;
	}

}

.p-medical-flow__item:not(:last-child) {
	grid-template-rows: auto 40px;
}
@media screen and (min-width: 1024px) {
	.p-medical-flow__item:not(:last-child) {
		grid-template-rows: unset;
	}
}

.p-medical-flow__item:not(:last-child)::after {
	content: "";
	grid-column: 1;
	grid-row: 2;
	display: block;
	width: 26px;
	height: 22px;
	background: url('/assets/img/papeople/medical/icon-arrow-blue.svg') no-repeat center / contain;
	transform: rotate(90deg);
	margin: 0 auto;
}
@media screen and (min-width: 1024px) {
	.p-medical-flow__item:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 23px;
		right: -25px;
		transform: translateX(50%);
		display: block;
		width: 26px;
		height: 22px;
		background: url('/assets/img/papeople/medical/icon-arrow-blue.svg') no-repeat center / contain;
		border: none;
		z-index: 1;
	}
}

.p-medical-flow__num {
	grid-column: 1;
	grid-row: 1;
	width: 68px;
	height: 68px;
	background-color: #2FAECB;
	border-radius: 50%;
	color: #fff;
	font-size: 34px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 68px;
	font-family: "Noto Sans";
}
@media screen and (min-width: 1024px) {
	.p-medical-flow__num {

		align-self: center;
		margin-bottom: 27px;
	}
}

.p-medical-flow__text {
	grid-column: 2;
	grid-row: 1;
	padding-top: 3px;
}
@media screen and (min-width: 1024px) {
	.p-medical-flow__text {
		padding-top: 0;
	}
}

.p-medical-flow__title {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 16px;
	white-space: nowrap;
}
@media screen and (min-width: 1024px) {
	.p-medical-flow__title {
		font-size: 24px;
		margin: 0 0 38px;
	}
}

.p-medical-flow__desc-item {
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 22px;
	margin: 0;
}
@media screen and (min-width: 1024px) {
	.p-medical-flow__desc-item{
		font-size: 16px;
		text-align: left;
		max-width: 125px;
		margin: 0 auto;
	}

}


#faq {
  background-color: #f5f9fa;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 80px;
  color: #333;
}

#faq > h1 {
  margin-bottom: 41px;
}

#faq .faq-container {
  max-width: 870px;
}

#faq .faq-content:last-child {
  border-bottom: 1px solid #e8e8e8;
}

#faq .collapsible {
  background-color: unset;
  cursor: pointer;
  padding: 14px 25px;
  width: 100%;
  border: none;
  border-top: 1px solid #e8e8e8;
  outline: none;
  font: normal normal bold 16px/26px Noto Sans JP;
  color: #333;
  display: flex;
  align-items: center;
  text-align: justify;
}

#faq .collapsible:hover {
  opacity: unset;
  transition: unset;
  color: #0b4f8d;
}

#faq .collapsible > h1 {
  margin: 0 14px 0 0;
  color: #2faecb;
  font: normal normal bold 40px/56px urw-din;
  line-height: 1;
}

#faq .collapsible > span {
  width: calc(100% - 100px);
}

#faq .collapsible::after {
  content: "\002B";
  color: #fff;
  font-weight: normal;
  float: right;
  margin-left: auto;
  background-color: #0b4f8d;
  width: 32px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  border-radius: 50%;
  padding-bottom: 2px;
  padding-left: 1px;
}

#faq .active:after {
  content: "\2212";
}

#faq .content {
  padding: 0 92px 0 28px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  text-align: justify;
}

#faq .content > p {
  margin: 0;
  margin-bottom: 30px;
}

@media only screen and (max-width: 425px) {
  #faq {
    padding-bottom: 48px;
  }

  #faq .content {
    padding: 0 28px;
  }

  #faq .content > p {
    font-size: 15px;
  }

  #faq .collapsible {
    font: normal normal bold 15px/24px Noto Sans JP;
  }

  #faq .collapsible > h1 {
    align-self: baseline;
  }
}

#contact {
  display: flex;
  flex-direction: column;
  background-color: #2faecb;
  align-items: center;
  padding-bottom: 64px;
}

#contact .contact-container {
  width: 100%;
  max-width: 1080px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#contact .contact-container .contact-info {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 45px;
  margin-bottom: 48px;
}

#contact .contact-container .contact-info .contact-item {
  background-color: #fff;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 29px 32px;
  min-height: 356px;
}

#contact .contact-container .contact-info .contact-item > img {
  width: fit-content;
}

#contact .contact-container .contact-info .contact-item > h3 {
  margin: 16px 0 8px;
  font-size: 22px;
}

#contact .contact-container .contact-info .contact-item > p {
  font: normal normal normal 16px/28px Noto Sans JP;
  text-align: justify;
  margin: 0 0 24px;
}

#contact .contact-container .contact-info .contact-item > .btn {
  margin-top: auto;
  padding: 0 26px 0 19px;
}

#contact .contact-container .contact-info .contact-item > .btn:after {
  right: 10px;
  top: calc(50% - 5px);
}

#contact .contact-container .contact-document {
  background-color: #fff;
  border-radius: 16px;
  width: 100%;
  max-width: 705px;
  display: flex;
  padding: 0 83px 0 67px;
}

#contact .contact-container .contact-document.pp-func {
  display: none;
}

#contact .contact-container .contact-document > img {
  flex: 1;

  max-width: 285px;
  padding: 42px 0 48px;
}

#contact .contact-container .contact-document .contact-document-info {
  flex: 1;
  padding: 30px 0 34px 24px;
}
#contact .contact-container .contact-document .contact-document-info > p {
  margin: 0;
  font-weight: bold;
}

#contact .contact-container .contact-document .contact-document-info > h3 {
  margin: 2px 0 16px;
  font: normal normal bold 22px/28px Noto Sans JP;
}

#contact .contact-container .btn:hover {
  opacity: 1;
  background-color: #0b768d;
  color: #ffffff;
}

@media only screen and (max-width: 1024px) {
  #contact .contact-container {
    padding: 0 32px;
  }

  #contact .contact-container .contact-info {
    grid-template-columns: repeat(1, 1fr);
    grid-column-gap: unset;
    grid-row-gap: 16px;
    margin-bottom: 16px;
  }

  #contact .contact-container .contact-info .contact-item {
    min-height: unset;
    padding: 24px 21px 32px;
  }

  #contact .contact-container .contact-document {
    flex-direction: column;
    padding: 0 0 32px;
  }

  #contact .contact-container .contact-document.pp-func {
  }

  #contact .contact-container .contact-document > img {
    max-width: unset;
    align-self: center;

    padding: 24px 0px 16px 0px;
    width: 261px;
    height: 128px;
  }

  #contact .contact-container .contact-document .contact-document-info {
    padding: 0 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  #contact .contact-container .contact-document .contact-document-info > h3 {
    margin-bottom: 24px;
    text-align: center;
  }

  #contact .contact-container .contact-info .contact-item > p {
    font: normal normal normal 15px/26px Noto Sans JP;
  }

  #contact .contact-container .contact-info .contact-item > .btn,
  #contact
    .contact-container
    .contact-document
    .contact-document-info
    > .btn {
    margin-top: auto;
    font: normal normal bold 15px/30px Noto Sans JP;
    min-width: 184px;
    min-height: 48px;
  }
  #contact .contact-container .contact-info .contact-item > .btn.--diff-pad {
    padding: 0 28px 0 21px;
  }

  #contact .contact-container .contact-info .contact-item > .btn:after,
  #contact
    .contact-container
    .contact-document
    .contact-document-info
    > .btn:after {
    right: 10px;
    top: calc(50% - 5px);
  }
}


.l-movieModal {
  width: 100%;
  height: 100%;
  z-index: 10001;
  pointer-events: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  visibility: hidden;
  opacity: 0;
  transition: 0.2s;
}
.l-movieModal.is-show {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.l-movieModal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 22px;
  background: rgba(51, 51, 51, 0.75);
}
.l-movieModal__content {
  width: calc(100% - 70px);
  max-width: 360px;
  max-height: calc(100vh - 50px);
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #FFF;
}
@media screen and (min-width: 1024px) {
  .l-movieModal__content {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 840px;
  }
}
@media screen and (min-width: 1366px) {
  .l-movieModal__content {
    max-width: 76.5625vw;
  }
}
.l-movieModal__close {
  position: absolute;
  z-index: 1;
  top: -23px;
  right: -23px;
  width: 46px;
  height: 46px;
  background: #0E6B82;
  border-radius: 50%;
  border: none;
}
@media screen and (min-width: 1024px) {
  .l-movieModal__close {
    top: -30px;
    right: -30px;
    width: 60px;
    height: 60px;
  }
}
.l-movieModal__close:before {
  content: "×";
  font-weight: 900;
  font-size: 28px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1024px) {
  .l-movieModal__close:before {
    content: "×";
    font-weight: 900;
    font-size: 30px;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.l-movieModal__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
body.modal-open {
    overflow: hidden;
}
