@charset "utf-8";

/*===============================================
 各ページ用 css/info.css
===============================================*/
/*=======================================================
 - ～559.9px	：スマートフォン画面(ヘッダーメニューはハンバーガーのみ)
 - 560px ～		：タブレット(小)環境に切り替え(ヘッダーメニューはハンバーガーのみ)
 - ～767.9px	：スマートフォン画面(ヘッダーメニューはハンバーガーのみ)
 - 768px ～		：タブレット・PC環境に切り替え(ヘッダーメニューはハンバーガーのみ)
 - 960px ～		：ヘッダーメニューが2種類に(ハンバーガー + オープン状態)
 - ～1099.9px	：コンテンツ幅最大値(ニュース記事など)
 - ～1399.9px	：サイトデザイン最大幅
●基本割合
・2等分：width:48%
・3等分：width:30.6%;
・4等分：width:22%;
・2分割：width:30%＆66% or 38%＆58%
=======================================================*/
@media screen and (max-width: 559.9px) {
}
@media print, screen and (min-width: 560px) {
}
@media screen and (max-width: 767.9px) {
}
@media print, screen and (min-width: 768px) {
}
@media print, screen and (min-width: 960px) {
}
@media print, screen and (min-width: 1100px) {
}
@media print, screen and (min-width: 1400px) {
}



/*===============================================
 R&D Lab
===============================================*/
/* アニメーション定義 */
@keyframes colorbox {
	0% {
		opacity: 0;
		translate: 0 50%;
	}
	100% {
		opacity: 1;
		translate: 0 0;
	}
}

@keyframes toptitle {
	0% {
		opacity: 0;
		scale: 0;
	}
	70% {
		opacity: 1;
		scale: 1.1;
	}
	100% {
		scale: 1;
	}
}


@keyframes fuwafuwa {
	0% {
		translate: 0 0;
	}
	50% {
		translate: 0 -10px;
	}
	100% {
		translate: 0 0;
	}
}

/* .rdlab 上書き */
.contents:has(.rdlab) {
	margin: 0;
}

/* .rdlab 専用記述開始 */
.rdlab .sblock {
	z-index: 1;
}

/* inview */
.rdlab .sblock,
.rdlab .between {
	opacity: 0;
	translate: 0 20%;
	transition: all .3s ease-in-out;
}

.rdlab .sblock.inview,
.rdlab .between.inview {
	opacity: 1;
	translate: 0 0;
}

/* トップ */
.rdlab .introduction {
	background: url(../images/info/rdlab/back01.png) no-repeat top center #fff95d;
	background-size: 100%;
	padding: 3em 0 13em;
	position: relative;
	transition: all .3s ease-in-out;
}

.rdlab .introduction .title {
	margin: 0 auto 3em;
	transform-origin: center;
	width: 80%;
}

.rdlab .introduction p {
	background: #fff;
	color: #0c2e91;
	line-height: 2.3;
	margin: 0 0 4em;
	padding: 1.25em 2em;
	width: 100%;
}

@media print, screen and (min-width: 560px) {
	.rdlab .introduction p {
		padding: 2em;
	}
}

/* トップ inview */
.rdlab .introduction {
	opacity: 0;
}

.rdlab .introduction.inview {
	opacity: 1;
}

.rdlab .introduction .title {
	opacity: 0;
	scale: 0;
	transform-origin: center;
}

.rdlab .introduction .title.inview {
	animation: toptitle .7s ease-in-out;
	opacity: 1;
	scale: 1;
}

.rdlab .introduction p {
	opacity: 0;
	translate: 0 20%;
	transition: all .3s ease-in-out;
}

.rdlab .introduction p.inview {
	font-weight: bold;
	opacity: 1;
	translate: 0 0;
}

@media print, screen and (min-width: 768px) {
	.rdlab .introduction {
		padding: 5em 0 15em;
	}

	.rdlab .introduction .title {
		width: 75%;
	}

	.rdlab .introduction p {
		text-align: center;
	}

	.rdlab .introduction p span {
		display: inline-block;
	}
}

/* ギャラリー */
.rdlab .gallery_inner {
	flex-direction: column;
	width: 100%;
}

.rdlab .gallery_sub {
	width: 100%;
}

.rdlab .gallery_sub:not(:nth-last-of-type(1)) {
	margin: 0 0 1em;
}

.rdlab .gallery_sub .colorbox {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.rdlab .gallery_sub .colorbox:before {
	background: url(../images/info/rdlab/gallery_btn.png);
	background-size: contain;
	bottom: 8px;
	content: '';
	display: block;
	height: 2em;
	pointer-events: none;
	position: absolute;
	right: 8px;
	width: 2em;
	z-index: 1;
}

.rdlab .gallery_sub.first .colorbox,
.rdlab .gallery_sub.fourth .colorbox {
	border-radius: 1em;
	width: 100%;
}

.rdlab .gallery_sub.second .colorbox,
.rdlab .gallery_sub.third .colorbox,
.rdlab .gallery_sub.third .colorbox_wrap,
.rdlab .gallery_sub.last .colorbox {
	width: calc((100% - 1em) / 2);
}

.rdlab .gallery_sub.second .colorbox:first-child,
.rdlab .gallery_sub.last .colorbox:first-child {
	border-radius: 0 0 2em 0;
}

.rdlab .gallery_sub.second .colorbox:last-child,
.rdlab .gallery_sub.last .colorbox:last-child {
	border-radius: 2em 0 0 0;
}

.rdlab .gallery_sub.third .colorbox.left {
	border-radius: 2em 0 0 0;
	height: calc((90vw - 1.5em) / 2 * .53);
}

.rdlab .gallery_sub.third .colorbox_wrap .colorbox {
	border-radius: 1em;
}

@media print, screen and (min-width: 560px) {
	.rdlab .gallery_sub .colorbox:before {
		bottom: 1.25em;
		height: 2.5em;
		right: 1.25em;
		width: 2.5em;
	}

	.rdlab .gallery_sub.first .colorbox,
	.rdlab .gallery_sub.fourth .colorbox {
		border-radius: 2em;
	}

	.rdlab .gallery_sub.second .colorbox:first-child,
	.rdlab .gallery_sub.last .colorbox:first-child {
		border-radius: 0 0 4em 0;
	}

	.rdlab .gallery_sub.second .colorbox:last-child,
	.rdlab .gallery_sub.last .colorbox:last-child {
		border-radius: 4em 0 0 0;
	}

	.rdlab .gallery_sub.third .colorbox.left {
		border-radius: 4em 0 0 0;
	}

	.rdlab .gallery_sub.third .colorbox_wrap .colorbox {
		border-radius: 2em;
	}
}

@media print, screen and (min-width: 768px) {
	.rdlab .gallery_sub:not(:nth-last-of-type(1)) {
		margin: 0 0 1.5em;
	}

	.rdlab .gallery_sub.first .colorbox,
	.rdlab .gallery_sub.fourth .colorbox {
		border-radius: 1.25em;
	}

	.rdlab .gallery_sub.second .colorbox,
	.rdlab .gallery_sub.third .colorbox,
	.rdlab .gallery_sub.third .colorbox_wrap,
	.rdlab .gallery_sub.last .colorbox {
		width: calc((100% - 1.5em) / 2);
	}

	.rdlab .gallery_sub.second .colorbox:first-child,
	.rdlab .gallery_sub.last .colorbox:first-child {
		border-radius: 0 0 4em 0;
	}

	.rdlab .gallery_sub.second .colorbox:last-child,
	.rdlab .gallery_sub.last .colorbox:last-child {
		border-radius: 4em 0 0 0;
	}

	.rdlab .gallery_sub.third .colorbox.left {
		border-radius: 4em 0 0 0;
		height: calc((90vw - 1.5em) / 2 * .53);
	}

	.rdlab .gallery_sub.third .colorbox_wrap .colorbox {
		border-radius: 1.25em;
	}
}

@media print, screen and (min-width: 1100px) {
	.rdlab .gallery_sub:not(:nth-last-of-type(1)) {
		margin: 0 0 2em;
	}

	.rdlab .gallery_sub.first .colorbox,
	.rdlab .gallery_sub.fourth .colorbox {
		border-radius: 1.25em;
		width: 100%;
	}

	.rdlab .gallery_sub.second .colorbox,
	.rdlab .gallery_sub.third .colorbox,
	.rdlab .gallery_sub.third .colorbox_wrap,
	.rdlab .gallery_sub.last .colorbox {
		width: calc((100% - 2em) / 2);
	}

	.rdlab .gallery_sub.second .colorbox:first-child,
	.rdlab .gallery_sub.last .colorbox:first-child {
		border-radius: 0 0 4em 0;
	}

	.rdlab .gallery_sub.second .colorbox:last-child,
	.rdlab .gallery_sub.last .colorbox:last-child {
		border-radius: 4em 0 0 0;
	}

	.rdlab .gallery_sub.third .colorbox.left {
		border-radius: 4em 0 0 0;
		height: calc((90vw - 1.5em) / 2 * .51);
	}

	.rdlab .gallery_sub.third .colorbox_wrap .colorbox {
		border-radius: 2em;
	}
}

@media print, screen and (min-width: 1255px) {
	.rdlab .gallery_sub.third .colorbox.left {
		border-radius: 4em 0 0 0;
		height: 290px;
	}
}

.rdlab .colorbox.show {
	animation: colorbox .3s ease-in-out 0s normal forwards;
}

.rdlab .colorbox img {
	transition-duration: .2s;
	transform-origin: center;
	width: 100%;
}

.rdlab .colorbox:hover img {
	scale: 1.05;
}

.rdlab .between {
	margin: 0 auto;
	position: relative;
	width: 90vw;
	max-width: 1100px;
	z-index: 2;
}

/* アクセスマップ */
.rdlab .address {
	background: url(../images/info/rdlab/back02.png) repeat top center #fff;
	background-size: 20px;
	border-radius: 50% 50% 0 0;
	margin: -10em 0 0;
	overflow: hidden;
	padding: 5em 0;
	position: relative;
	translate: -25% 0;
	width: 200%;
	z-index: 1;
}

@media print, screen and (min-width: 768px) {
	.rdlab .address {
		padding: 10em 0;
		translate: calc(-17.5% + 20px) 0;
		width: 150%;
	}
}

.rdlab .address .sblock {
	margin: 0 auto;
	width: 90vw;
}

@media print, screen and (min-width: 960px) {
	.rdlab .address .sblock {
		margin: 0 auto;
		width: calc(100vw - 140px);
	}
}

.rdlab .address .title2 {
	margin: 0 auto 3em;
	width: 70%;
}

@media print, screen and (min-width: 560px) {
	.rdlab .address .title2 {
		width: 45%;
	}
}

.rdlab .address dl {
	margin: 0 auto 2.5em;
	text-align: center;
	width: 100%;
}

.rdlab .address dt {
	font-size: max(1.6rem, min(2.2vw, 2.1rem));	/* 古いSafari用 */
	font-size: clamp(1.6rem, 2.2vw, 2.1rem);
	font-weight: bold;
	margin: 0 0 1em;
}

.rdlab .address .iframe {
	border: 2px solid #0c2e91;
	border-radius: 1.25em;
	height: 90vw;
	overflow: hidden;
	width: 100%;
}

@media print, screen and (min-width: 768px) {
	.rdlab .address .iframe {
		height: 400px;
	}
}

.rdlab .address iframe {
	border-radius: 1.25em;
	height: 100%;
	width: 100%;
}

/* 周りの画像 */
.rdlab .parts_bigimg,
.rdlab .parts_img {
	opacity: 0;
	position: absolute;
	scale: 0;
	transform-origin: center;
	z-index: 1;
}

.rdlab .parts_bigimg.img_man,
.rdlab .parts_img.img01,
.rdlab .parts_img.img03,
.rdlab .parts_img.img05,
.rdlab .parts_img.img06 {
	left: 50%;
	top: 50%;
}

.rdlab .parts_bigimg.img_woman,
.rdlab .parts_img.img02,
.rdlab .parts_img.img04,
.rdlab .parts_img.img07 {
	right: 50%;
	top: 50%;
}

.rdlab .parts_bigimg.inview,
.rdlab .parts_img.inview {
	opacity: 1;
	scale: 1;
	transition-duration: .2s;
}

@media screen and (max-width: 559.9px) {
	.rdlab .parts_bigimg.inview.img_man {
		left: -7%;
		top: -2em;
		width: 18%;
	}

	.rdlab .parts_bigimg.inview.img_woman {
		right: -8%;
		top: 5em;
		width: 16%;
	}

	.rdlab .parts_img.inview.img01 {
		left: 15%;
		top: -2em;
		width: 5%;
	}

	.rdlab .parts_img.inview.img02 {
		right: -2%;
		top: -2em;
		width: 16%;
	}

	.rdlab .parts_img.inview.img03 {
		left: -5%;
		top: 16em;
		width: 13%;
	}

	.rdlab .parts_img.inview.img04 {
		right: -5%;
		top: 22em;
		width: 11%;
	}

	.rdlab .parts_img.inview.img05 {
		left: 40%;
		top: 30em;
		width: 9%;
	}

	.rdlab .parts_img.inview.img06 {
		left: -5%;
		top: 41em;
		width: 10%;
	}

	.rdlab .parts_img.inview.img07 {
		right: -8%;
		top: 50em;
		width: 10%;
	}

	/* アクセスマップ */
	.rdlab .parts_img.img08 {
		left: 0;
		top: 0;
		width: 10%;
	}

	.rdlab .parts_img.inview.img08 {
		left: 0;
		top: -8em;
		width: 9%;
	}

	.rdlab .parts_img.img09 {
		right: 0;
		top: 0;
		width: 8%;
	}

	.rdlab .parts_img.inview.img09 {
		right: 0;
		top: -9em;
		width: 8%;
	}
}

@media screen and (min-width: 560px) {
	.rdlab .parts_bigimg.inview.img_man {
		left: -10%;
		top: -2em;
		width: 18%;
	}

	.rdlab .parts_bigimg.inview.img_woman {
		right: -6%;
		top: 5em;
		width: 14%;
	}

	.rdlab .parts_img.inview.img01 {
		left: 0;
		top: 9em;
		width: 4%;
	}

	.rdlab .parts_img.inview.img02 {
		right: -2%;
		top: -2em;
		width: 13%;
	}

	.rdlab .parts_img.inview.img03 {
		left: -4%;
		top: 22em;
		width: 13%;
	}

	.rdlab .parts_img.inview.img04 {
		right: 0;
		top: 21em;
		width: 10%;
	}

	.rdlab .parts_img.inview.img05 {
		left: 30%;
		top: 20em;
		width: 8%;
	}

	.rdlab .parts_img.inview.img06 {
		left: -7%;
		top: 39em;
		width: 10%;
	}

	.rdlab .parts_img.inview.img07 {
		right: -7%;
		top: 55em;
		width: 10%;
	}

	/* アクセスマップ */
	.rdlab .parts_img.img08 {
		left: 0;
		top: 0;
		width: 10%;
	}

	.rdlab .parts_img.inview.img08 {
		left: 0;
		top: -5em;
		width: 10%;
	}

	.rdlab .parts_img.img09 {
		right: 0;
		top: 0;
		width: 7%;
	}

	.rdlab .parts_img.inview.img09 {
		right: 0;
		top: -5em;
		width: 7%;
	}

	.rdlab .gallery_sub .colorbox:before {
		bottom: 1em;
		height: 2.25em;
		right: 1.2em;
		width: 2.25em;
	}

	.rdlab .introduction p {
		padding: 1.25em 2em;
	}
}

@media print, screen and (min-width: 768px) {
	.rdlab .parts_bigimg.inview.img_man {
		left: -7%;
		top: -2em;
		width: 17%;
	}

	.rdlab .parts_bigimg.inview.img_woman {
		right: -5%;
		top: 3em;
		width: 15%;
	}

	.rdlab .parts_img.inview.img01 {
		left: 15%;
		top: -3em;
		width: 4%;
	}

	.rdlab .parts_img.inview.img02 {
		right: -5%;
		top: -3em;
		width: 12%;
	}

	.rdlab .parts_img.inview.img03 {
		left: -5%;
		top: 20em;
		width: 11%;
	}

	.rdlab .parts_img.inview.img04 {
		right: -5%;
		top: 23em;
		width: 10%;
	}

	.rdlab .parts_img.inview.img05 {
		left: 39%;
		top: 21em;
		width: 5.5%;
	}

	.rdlab .parts_img.inview.img06 {
		left: -9%;
		top: 37em;
		width: 9%;
	}

	.rdlab .parts_img.inview.img07 {
		right: -9%;
		top: 52em;
		width: 9%;
	}

	/* アクセスマップ */
	.rdlab .parts_img.img08 {
		left: 0;
		top: -5em;
		width: 10%;
	}

	.rdlab .parts_img.inview.img08 {
		left: 0;
		top: -6em;
		width: 7%;
	}

	.rdlab .parts_img.img09 {
		right: 0;
		top: -5em;
		width: 7%;
	}

	.rdlab .parts_img.inview.img09 {
		right: 0;
		top: -7em;
		width:6%;
	}
}

@media print, screen and (min-width: 960px) {
	.rdlab .parts_img.inview.img05 {
		top: 23em;
	}
}


@media print, screen and (min-width: 1100px) {
	.rdlab .parts_img.inview.img05 {
		top: 27em;
	}

	/* アクセスマップ */
	.rdlab .parts_img.img08,
	.rdlab .parts_img.inview.img08 {
		left: -7%;
	}

	.rdlab .parts_img.img09,
	.rdlab .parts_img.inview.img09 {
		right: -7%;
	}
}

/* 画像アニメーション */
.rdlab .parts_img figure {
	animation: fuwafuwa 4s ease-in-out infinite alternate;
}

.rdlab .parts_img.img01 figure {
	animation-delay: 1.5s
}

.rdlab .parts_img.img02 figure {
	animation-delay: 2s
}

.rdlab .parts_img.img03 figure {
	animation-delay: 0s
}

.rdlab .parts_img.img04 figure {
	animation-delay: 1s
}

.rdlab .parts_img.img05 figure {
	animation-delay: 1.5s
}

.rdlab .parts_img.img06 figure {
	animation-delay: 2s
}

.rdlab .parts_img.img07 figure {
	animation-delay: 0s
}

.rdlab .parts_img.img08 figure {
	animation-delay: 0s
}

.rdlab .parts_img.img09 figure {
	animation-delay: 1.5s
}
/* .rdlab 専用記述終了 */

/* Colorbox上書き */
#colorbox,
#cboxWrapper {
	overflow: initial !important;
}

#colorbox {
	position: fixed !important;
	top: 50vh !important;
	transform: translate(0,-50%);
	z-index: 99999;
}

#cboxTopLeft,
#cboxTopRight,
#cboxBottomLeft,
#cboxBottomRight,
#cboxMiddleLeft,
#cboxMiddleRight,
#cboxTopCenter,
#cboxBottomCenter,
#cboxCurrent {
	height: 1px;
	opacity: 0;
	width: 12.5vw;
}

#cboxOverlay {
	background: #000;
	opacity: .85 !important;
	z-index: 99998;
}

#cboxLoadedContent{
	margin-bottom: 0;
}

#cboxContent,
.cboxPhoto {
	max-height: 90vh;
	overflow: visible;
}

#cboxTitle {
	color: #fff;
	bottom: -2.5em;
}
#cboxClose {
	background: none;
	height: 3em;
	right: -3.5em;
	top: 0;
	width: 3em;
	z-index: 99999;
}

#cboxClose:before,
#cboxClose:after {
	background: #fff;
	content: '';
	display: block;
	height: 2px;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%) rotate(45deg);
	transform-origin: center;
	width: 100%;
}

#cboxClose:after {
	transform: rotate(-45deg);
}

#cboxPrevious,
#cboxNext {
	background: none;
	height: 2em;
	left: -1em;
	top: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
	width: 2em;
	z-index: 99999;
}

#cboxPrevious {
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
}

#cboxNext {
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	left: inherit;
	right: -3em;
}

@media screen and (max-width: 559.9px) {
	#cboxTopLeft,
	#cboxTopRight,
	#cboxBottomLeft,
	#cboxBottomRight,
	#cboxMiddleLeft,
	#cboxMiddleRight,
	#cboxTopCenter,
	#cboxBottomCenter,
	#cboxCurrent {
		width: 5vw;
	}

	#cboxClose {
		right: -.5em;
		top: -3em;
	}

	#cboxPrevious,
	#cboxNext {
		bottom: -3em;
		left: 2vw;
		top: inherit;
		transform: translate(0, 0) rotate(-45deg);
	}

	#cboxNext {
		left: inherit;
		right: 2vw;
	}
}
