@media (orientation: portrait){

	.landscape{
		display: none !important;
	}
	.indent{
		margin: 0;
	}


	#wrap{
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	#cover{
		position: relative;
		height: 100vh;
		/*margin-top: 4vh;*/
	}
	#coverText01{
		width: 100%;
		height: 6em;
		position: absolute;
		top: 0;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-content: center;
		background-color: rgba(255,255,255,0.5);
	}
	#coverText02{
		width: 100%;
		position: relative;
		bottom: 27vh;
		line-height: 0.7;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		/*align-content: center;*/
		text-shadow: 0px 2px 4px #fff;
	}
	#coverText03{
		width: 100%;
		position: relative;
		text-align: right;
		bottom: 4em;
	}
	#coverText01 span{
		display: block;
	}
	#cover .h1, #cover h1{
		font-size: 9vw;
		margin-top: 0.3em;
		line-height: 1.1;
	}
	#cover h2{
		font-size: 4vw;
		line-height: 1.2;
	}
	#cover h3{
		font-size: 4vw;
		text-align: center;
	}
	#cover .coverImg{
		/*width: 100%;
		height: auto;*/
		width: auto;
		height: 100vh;
		overflow: hidden;
		position: relative;
		display: flex;
		justify-content: center;
	}
	#cover .coverImg img{
		position: absolute;
		top: 0;
		width: auto;
		height: 100%;
	}


	.headLine{
		padding: 1em 0.5em;
	}
	.headLine h2{
		font-size: 7vw;
		margin-bottom: 0.2em;
	}
	.textArea{
		position: relative;
		margin-left: 0.5rem;
		margin-right: 0.5rem;
		padding-bottom: 2em;
	}

	.textArea h3{
		font-size: 1em;
	}
	.textArea h4{
		font-size: 1em;
	}
	.textArea img{
		width: 100%;
		height: auto;
	}
	.textArea ul{
		margin: 0;
		padding-left: 1.2em;
	}

	.half{
		width: 45%;
		margin-bottom: 2em;
	}
	.half h3{
		font-size: 0.8em;
		color: #fff;
		text-align: center;
		font-weight: normal;
	}

	.notice .h1block{
		font-size: 2.5vw;
		margin-bottom: 1em;
	}
	.notice .n1{
		position: relative;
		display: block;
		width: 3.5em;
		font-size: 0.9em;
		background: linear-gradient(transparent 80%, var(--color-red2) 90%);
		transform: rotate(-10deg);
		z-index: 1;
	}
	.notice .h1block{
		position: relative;
		padding: 0.2em 0.4em;
		background: var(--color-sky);
		color: #fff;
		border-radius: 10px;
	}
	.notice .h1block:after{
		position: absolute;
		content: '';
		top: 99%;
		left: 50px;
		border: 15px solid transparent;
		border-top: 15px solid var(--color-sky);
		width: 0;
		height: 0;
	}
	.notice h2{
		font-size: 1.2em;
	}
	.notice h3{
		margin-top: 1em;
	}
	.notice .flex{
		display: flex;
		flex-direction: column;
	}
	.notice .blockL, .notice .blockR{
		width: 90%;
		padding: 1em;
		background-color: var(--bg-gray2);
		border-top: 4px solid var(--color-blue);
		margin: 1em 0;
	}
	.notice th, .notice td{
		text-align: left;
		vertical-align: top;
		padding-right: 1em;
	}

	#attendFlow .flow{
		margin-bottom: 2em;
	}


	#supernatant{
		position: relative;
		display: flex;
		justify-content: space-around;
		align-items: center;
		flex-wrap: wrap;
		margin-top: -2em;
	}
	#supernatant .inner{
		display: block;
		width: 40%;
		text-align: center;
	}
	#supernatant .right{
		text-align: right;
	}
	#supernatant .inner.arrow{
		padding: 3em 0;
	}
	#supernatant .arrow img{
		width: 8vw;
		height: auto;
	}
	#supernatant .arrow img.rotate90{
		transform: rotate(90deg);
	}
	#supernatant .arrow img.rotate180{
		transform: rotate(180deg);
	}
	#supernatant h4{
		font-size: 0.9em;
	}
	#supernatant h5{
		font-size: 0.8em;
	}


	blockquote {
		position: relative;
		background: #CDE7EE;
		padding: 2em;
		margin: 0 0.5rem 4em 0.5rem;
	}
	blockquote:before {
		position: absolute;
		top: -24px;
		color: #3CAAB1;
		box-sizing: border-box;
		font-family: 'FontAwesome';
		content: '\f10d';
		line-height: 1;
		padding-top: 12px;
		text-align: left;
		font-size: 40px;
	}
	blockquote:after {
		position: absolute;
		right: 1em;
		bottom: -25px;
		color: #3CAAB1;
		box-sizing: border-box;
		font-family: 'FontAwesome';
		content: '\f10e';
		line-height: 1;
		padding-bottom: 10px;
		text-align: left;
		font-size: 40px;
		z-index: 1;
	}

	.all{
		width: 90%;
		margin-bottom: 2em;
	}



	.movie{
		position: relative;
		width: 100%;
		padding-top: 56.25%;
	}
	.movie iframe{
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
	}

	#toc{
		display: none;
	}
	#tocSP ol > li > ol{
		display: none;
	}
	#tocSP{
		position: relative;
		margin: 1em 1em 3em 1em;
		display: block;
		padding: 1em;
		border: 1px solid #ccc;
		line-height: 1.52;
		font-size: 0.9em;
		box-shadow: 1px 1px 10px 1px #bbb;
		background-color: rgba(255,255,255,0.7);
	}
	#tocSP ol{
		counter-reset: toc;
		padding-left: 1em;
		margin: 0.5em;
	}

	#stemcell06{
		background-image: url(../images/stemcell06.webp);
		background-size: contain;
	}
	#stemcell06 h2, #stemcell06 h3, #stemcell06 li{
		text-shadow: 0px 2px 4px #fff;
	}

	#footer{
		position: relative;
		display: flex;
		justify-content: center;
		padding: 2em;
	}

	/* トップ以外で使用 */
	.headLine00{
		margin: 14vw 0 0 0.5rem;
	}
	.headLine00 h1{
		font-size: 1.6rem;
	}
}
@media screen and (orientation: landscape) and (max-width: 1280px){
	#tocOuter.oN{
		top: 5vw !important;
	}
	#toc ol > li > ol{
		display: none !important;
	}
}

@media screen and (orientation: landscape) {

	.portrait{
		display: none !important;
	}

	#wrap{
		position: relative;

	}

	.indent{
		margin-left: 1.2em;
	}

	#cover{
		position: relative;
		width: 100%;
		height: 100%;
	}
	#coverText01{
		width: 100%;
		position: absolute;
		top: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		background-color: rgba(255,255,255,0.5);
	}
	#coverText02{
		width: 100%;
		position: absolute;
		bottom: 1em;
		line-height: 0.7;
		display: flex;
		align-items: center;
		flex-direction: column;
		text-shadow: 0px 4px 4px #fff;
	}
	#coverText03{
		width: 100%;
		position: relative;
		text-align: right;
		bottom: 2em;
	}
	#cover .h1{
		font-size: 3.2vw;
		width: auto;
	}
	#cover h2{
		font-size: 1.5vw;
		display: block;
	}
	#cover h3{
		font-size: 1.5vw;
		text-align: center;
	}
	#cover .coverImg{
		height: 100vh;
		overflow: hidden;
		position: relative;
		display: flex;
		justify-content: center;
	}
	#cover .coverImg img{
		position: absolute;
		top: 0;
		width: 100%;
		height: 100%;
		transform: stale(1.3);
		opacity: 0;
	}


	.headLine h2{
		font-size: 3rem;
	}
	h2.left{
		max-width: 1280px;
		margin: 0 auto;
	}
	.headLine{
		padding: 3em 0;
		box-sizing: border-box;
	}

	.notice .h1block{
		position: relative;
		padding: 0.2em 0.4em;
		background: var(--color-sky);
		color: #fff;
		border-radius: 10px;
	}
	.notice .h1block:after{
		position: absolute;
		content: '';
		top: 99%;
		left: 50px;
		border: 15px solid transparent;
		border-top: 15px solid var(--color-sky);
		width: 0;
		height: 0;
	}
	.notice h1{
		font-size: 2.5vw;
		margin-bottom: 0.5em;
	}
	.notice .n1{
		position: relative;
		display: block;
		width: 3.5em;
		font-size: 0.7em;
		background: linear-gradient(transparent 80%, var(--color-red2) 90%);
		margin-bottom: 0.2em;
		transform: rotate(-10deg);
		z-index: 1;
	}
	.notice .n2{
		border-radius: 15px 0 0 15px;
	}
	.notice .n3{
		margin-left: -1px;
		border-radius: 0 15px 15px 0;
	}
	.notice .n2, .notice .n3{
		position: relative;
		padding: 0.2em 0.4em;
		background: var(--color-sky);
		color: #fff;
	}
	.notice .n2:after{
		position: absolute;
		content: '';
		top: 100%;
		left: 50px;
		border: 15px solid transparent;
		border-top: 15px solid var(--color-sky);
		width: 0;
		height: 0;
	}
	.notice h2{
		font-size: 1.4em;
	}
	.notice h3{
		margin-top: 1em;
	}
	.notice .flex{
		display: flex;
		justify-content: space-around;
	}
	.notice .blockL, .notice .blockR{
		width: 49%;/* 27% */
		padding: 2em;
		background-color: var(--bg-gray);
		border-top: 4px solid var(--color-blue);
	}
	.notice th, .notice td{
		text-align: left;
		padding-right: 1em;
	}

	#attendFlow .flow{
		width: 25%;
	}


	#supernatant{
		position: relative;
		display: flex;
		justify-content: space-around;
		align-items: center;
		margin-top: 2em;
	}
	#supernatant .inner{
		display: block;
		width: 22%;
		text-align: center;
	}
	#supernatant .right{
		text-align: right;
	}
	#supernatant .arrow img{
		width: 3vw;
		height: auto;
	}
	#supernatant h5{
		font-size: 0.9em;
	}

	.textArea{
		position: relative;
		width: var(--base-width);
		max-width: calc(100% - var(--pc-base-padding)* 2);
		margin: 0 auto;
		box-sizing: border-box;
		margin-bottom: 4em;
	}

	.textArea img{
		width: 100%;
		height: auto;
	}
	.headLine h3, .textArea h3{
		font-size: 1.2rem;
	}
	.textArea ul{
		margin: 0.2em;
		padding-left: 1.2em;
	}


	.half{
		width: 28%;
		margin-bottom: 2em;
	}
	.half h3{
		font-size: 1em;
		color: #fff;
		text-align: center;
		font-weight: normal;
	}

	blockquote {
		position: relative;
		background: #CDE7EE;
		padding: 2em;
		max-width: 960px;
		margin: 0 auto 4em auto;
		box-sizing: border-box;
	}
	blockquote:before {
		position: absolute;
		top: -24px;
		color: #3CAAB1;
		box-sizing: border-box;
		font-family: 'FontAwesome';
		content: '\f10d';
		line-height: 1;
		padding-top: 12px;
		text-align: left;
		font-size: 40px;
	}
	blockquote:after {
		position: absolute;
		right: 1em;
		bottom: -25px;
		color: #3CAAB1;
		box-sizing: border-box;
		font-family: 'FontAwesome';
		content: '\f10e';
		line-height: 1;
		padding-bottom: 10px;
		text-align: left;
		font-size: 40px;
		z-index: 1;
	}
	.all{
		max-width: 960px;
		margin: 0 auto 4em auto;
		box-sizing: border-box;
	}
	.livesChange{
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-top: 2em;
	}
	.livesChange h3{
		font-size: 1.6em;
		color: #fff;
		font-weight: normal;
	}

	.movie{
		position: relative;
		width: 50%;
		padding-top: 28%;
		margin-left: 30vw;
	}
	.movie iframe{
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
	}
	.movie ~ p{
		padding-left: 30vw;
		padding-top: 1em;
	}

	#hpb-main{
		/*display: flex;
		justify-content: center;*/
	}
	#sectionR{
		/*width: 60vw;*/
	}
	#hpb-main .textArea{
		/*margin-left: 30vw;*/
		width: auto;
		max-width: none;
		padding: 0 5vw 0 30vw;
	}
	#tocSP{
		display: none;
	}
	#toc ol{
		counter-reset: toc;
		padding-left: 1em;
		margin: 0;
		text-align: left;
	}
	#tocOuter ol > li > ol{
		/*display: none;
		opacity: 0;*/
		transition: opacity 2s 1s ease;
	}
	#tocOuter.oN ol > li > ol{
		/*display: block;*/
		opacity: 1;
		transition: opacity 2s 1s ease;
	}
	#toc a, #tocSP a{
		/*color: rgba(18,18,18,1);*/
		color: #1a1406;
		/*text-decoration: none;*/
	}
	#toc .active{
		background-color: aqua;
	}
	#tocOuter{
		position: sticky;
		display: block;
		top: 0;
		z-index: 2;
	}
	#tocOuter.oN{
		top: 3.3vw;
		width: 25vw;
	}
	#toc{
		position: relative;
		margin-top: 0;
		margin-bottom: 3em;
		margin-left: 23vw;
		display: block;
		padding: 3em;
		border: 1px solid #ccc;
		width: 50vw;
		line-height: 1.2;
		font-size: 0.8em;
		box-shadow: 1px 1px 10px 1px #bbb;
		background-color: rgba(255,255,255,0.7);
		transition: all 2s 0.5s ease;
	}
	.oN #toc{
		margin-left: 5vw;
		margin-right: 0;
		padding: 1em;
		width: 20vw;
		transition: all 2s 0.5s ease;
	}
	#tocTitle{
		text-align: center;
		font-size: 1.1em;
		font-weight: bold;
		margin-bottom: 0.5em;
	}

	#stemcell01, #stemcell02{
		float: right;
		width: 30vw;
		max-width: 580px;
		margin-left: 1em;
	}
	#stemcell03, #stemcell04{
		float: right;
		width: 20vw;
		max-width: 380px;
		margin-left: 1em;
	}
	#stemcell06{
		background-image: url(../images/stemcell06.webp);
		background-size: cover;
	}


	#footer{
		position: relative;
		display: flex;
		justify-content: center;
		padding: 2em;
		/*margin-top: 2rem;*/
	}

	/* トップ以外で使用 */
	.headLine00{
		padding-top: 6vw;
		padding-bottom: 6vw;
	}
	.headLine00 h1{
		font-size: 3rem;
	}
}
