:root {
	--play-icon-ccl-w: 52px;
	--play-icon-tri-w: 16px;
	--play-icon-tri-h: 20px;

	box-sizing: border-box;
}

/* ----------------------------------------------------------------
    from /resource-ren/css/contents_pc.css
----------------------------------------------------------------- */

/* ----------------------------------------------------------------
    Modal
----------------------------------------------------------------- */
/* .modal
----------------------------------------------- */
.modal>.modal-inner {
	padding: 20px;
	background: #fff;
}

.modal>.modal-inner> :last-child {
	margin-bottom: 0;
}

/* .modal-overlay
----------------------------------------------- */
.modal-overlay {
	background: #000;
}

/* ----------------------------------------------------------------
    Function Modal (JavaScript)
----------------------------------------------------------------- */
/* .fn-modal-overlay
----------------------------------------------- */
.fn-modal-overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 400;
	transition: opacity .5s cubic-bezier(.23, 1, .32, 1);
	-webkit-transition: opacity .5s cubic-bezier(.23, 1, .32, 1);
	will-change: transform;
}

.fn-modal-overlay.is-overlay-render {
	opacity: 0;
}

.fn-modal-overlay.is-overlay-show {
	opacity: .6;
}

.fn-modal-overlay.is-overlay-hide {
	transition-delay: .2s;
	-webkit-transition-delay: .2s;
}

/* .fn-modal-content
----------------------------------------------- */
.fn-modal-content {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 500;
	display: none;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	transition: all .5s cubic-bezier(.23, 1, .32, 1) .2s;
	-webkit-transition: all .5s cubic-bezier(.23, 1, .32, 1) .2s;
	will-change: transform;
}

.fn-modal-content.is-modal-render {
	display: block;
	overflow-x: hidden;
	overflow-y: auto;
}

.fn-modal-content.is-modal-show {
	opacity: 1;
}

.fn-modal-content.is-modal-hide {
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
}

/* .fn-modal-inner
----------------------------------------------- */
.fn-modal-inner {
	position: relative;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	max-width: 960px;
	transition: all .5s cubic-bezier(.23, 1, .32, 1) .2s;
	-webkit-transition: all .5s cubic-bezier(.23, 1, .32, 1) .2s;
	-webkit-transform: translateY(-30px);
	-ms-transform: translateY(-30px);
	transform: translateY(-30px);

	will-change: transform;
}

.is-modal-open .fn-modal-inner {
	overflow-y: auto;
}

.is-modal-render .fn-modal-inner {
	margin: 95px auto;
}

.is-modal-show .fn-modal-inner {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}

.is-modal-hide .fn-modal-inner {
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
}

/* .is-modal-open
----------------------------------------------- */
.is-modal-open,
.is-modal-open body {
	overflow: hidden;
}

/* ----------------------------------------------------------------
    from /nisa.html
----------------------------------------------------------------- */
.fn-modal-content {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 500;
	display: none;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
	will-change: transform;
}

.fn-modal-content.is-modal-render {
	display: block;
	overflow-x: hidden;
	overflow-y: auto;
}

.fn-modal-content.is-modal-show {
	opacity: 1;
}

.fn-modal-content.is-modal-hide {
	transition-delay: 0s;
}

.fn-modal-inner {
	position: relative;
	box-sizing: border-box;
	max-width: 960px;
	transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
	-webkit-transform: translateY(-30px);
	-ms-transform: translateY(-30px);
	transform: translateY(-30px);
	will-change: transform;
}

.is-modal-open .fn-modal-inner {
	overflow-y: auto;
}

.is-modal-render .fn-modal-inner {
	margin: 95px auto;
}

.is-modal-show .fn-modal-inner {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	padding: 0;
}

.is-modal-hide .fn-modal-inner {
	transition-delay: 0s;
}

.is-modal-open,
.is-modal-open body {
	overflow: hidden;
	overflow: visible;
}

.youtubeBox {
	position: relative;
	height: 0;
	overflow: hidden;
	padding-bottom: 56.3%;
	padding-top: 0;
}

.youtubeBox video,
.youtubeBox iframe,
.youtubeBox object,
.youtubeBox embed {
	border: none;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.js-youtube-modal {
	cursor: pointer;
}

.js-youtube-modal .modal>.modal-inner {
	padding: 0;
	position: relative;
	overflow: initial;
	overflow: visible;
	width: 960px;
	max-width: 95%;
}

.js-close-youtube-modal {
	position: absolute;
	right: 0;
	top: -50px;
	margin: 0;
	display: block;
	width: 30px;
	height: 30px;
}

.js-close-youtube-modal .button {
	position: relative;
	display: block;
	width: 30px;
	height: 30px;
	padding: 0;
	margin: 0;
}

.js-close-youtube-modal .button::before,
.js-close-youtube-modal .button::after {
	content: '';
	position: absolute;
	top: 50%;
	background: #1d395b;
	-webkit-transform: translateY(-50%) rotate(45deg);
	-ms-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	background: #ffffff;
	display: block;
}

.js-close-youtube-modal .button::before {
	left: 14px;
	width: 3px;
	height: 38px;
}

.js-close-youtube-modal .button::after {
	left: -3px;
	width: 38px;
	height: 3px;
}

/* ----------------------------------------------------------------
	D-port App Help Specific
----------------------------------------------------------------- */

.movie {
	display: block;
	margin-inline-start: auto;
	margin-inline-end: auto;
	width: 354px;
}

.movie:first-child {
	padding-block-start: 0;
}

.movie_link {
	position: relative;
	display: block;
}

.movie_inner::after {
	/* hover時に明るくするため */
	content: "";
	display: block;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	opacity: 0;
	transition: opacity 0.3s;
}

.movie_link:hover .movie_inner::after {
	opacity: 0.3;
}

.play_icon,
.play_icon:before {
	position: absolute;
	content: "";
	display: block;
}

.play_icon {
	top: calc(50% - var(--play-icon-ccl-w) / 2);
	left: calc(50% - var(--play-icon-ccl-w) / 2);
	width: var(--play-icon-ccl-w);
	height: var(--play-icon-ccl-w);
	border: 3px solid #fff;
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 0.2);
}

.play_icon:before {
	top: calc(50% - var(--play-icon-tri-h) / 2);
	left: calc(50% - var(--play-icon-tri-w) /3);
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: calc(var(--play-icon-tri-h) / 2) 0 calc(var(--play-icon-tri-h) / 2) calc(var(--play-icon-tri-w));
	border-color: transparent transparent transparent #fff;
	transform: rotate(0deg);
}