

/*html { font-size: 62.5%; }  1rem=10px *//* https://www.pc-koubou.jp/magazine/23912 */

/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

	/* 25/05 追記 */
	.Sec0 h1,
	.Sec figcaption,
	.Sec.Sec3 .text {
		/* 翻訳対応、文字折り返し可能に */
		word-break: break-word;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

.fadein_L-to-R,
.fadein_R-to-L,
.fadein_B-to-T,
.fadein_T-to-B,
.fadein_UpperLeft,
.fadein_UpperRight
{
	opacity : 0;
}
.fadein_L-to-R.animate-on,
.fadein_R-to-L.animate-on,
.fadein_B-to-T.animate-on,
.fadein_T-to-B.animate-on,
.fadein_UpperLeft.animate-on,
.fadein_UpperRight.animate-on
{
	opacity : 1;
}
.fadein_L-to-R.animate-on,
.fadein_R-to-L.animate-on {
	transform: translateX(0);
}
.fadein_B-to-T.animate-on,
.fadein_T-to-B.animate-on {
	transform: translateY(0);
}
.fadein_UpperLeft.animate-on,
.fadein_UpperRight.animate-on {
	transform: translate(0);
}

.fadein_L-to-R {
	transform: translateX(-30px);
	transition: all 0.7s;
}
.fadein_B-to-T {
	transform: translateY(20px);
	transition: all 1s;
}

.fadein_R-to-L {
	transform: translateX(30px);
	transition: all 0.7s;
}
.fadein_T-to-B {
	transform: translateY(-20px);
	transition: all 1s;
}


.fadein_UpperLeft {
	transform: translate(-30px, -30px);
	transition: all .7s;
}
.fadein_UpperRight {
	transform: translate(30px, -30px);
	transition: all .7s;
}


.delay100ms {
	transition-delay: .1s;
}
.delay200ms {
	transition-delay: .2s;
}
.delay300ms {
	transition-delay: .3s;
}
.delay400ms {
	transition-delay: .4s;
}
.delay500ms {
	transition-delay: .5s;
}
.delay600ms {
	transition-delay: .6s;
}
.delay700ms {
	transition-delay: .7s;
}
.delay800ms {
	transition-delay: .8s;
}
.delay900ms {
	transition-delay: .9s;
}
.delay1000ms {
	transition-delay: 1s;
}
.delay1100ms {
	transition-delay: 1.1s;
}
.delay1200ms {
	transition-delay: 1.2s;
}
.delay1300ms {
	transition-delay: 1.3s;
}
.delay1400ms {
	transition-delay: 1.4s;
}
.delay1500ms {
	transition-delay: 1.5s;
}



/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

body#GALLERY #wrapper {
    width: 100%;
    height: auto !important;
    min-height: 100dvh;
    box-sizing: border-box;
    display: block;
    margin: 0;
    padding: 0;
}

body#GALLERY {
	background: black;
	color: lightgray;
}
body#GALLERY * figure,
body#GALLERY * figcaption
{
	padding: 0;
}

body#GALLERY header {
	position: initial !important;
	width: 100%;
	height: auto;
}
#ForFlicker {
	display: none;
}

#gallery_body {
	width: 100%;
	height: auto;
    padding: 40px 50px;
	font-family: serif;
	overflow-x: hidden;
}

/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

.Sec {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 250px 0;
	gap: 40px;
}
.Sec1 {
	margin-top: 100px;
}



.Sec h2 {
	width: 100%;
	margin: 0;
	line-height: 1;
}
.Sec p {
	margin: 20px 0;
}
.Sec figcaption, .Sec .text {
	font-weight: bold;
	margin: 0;
}
	.Sec strong {
		font-size: 170%;
	}

.Sec figure {
	margin: 0;
	/* ちらつき対策 */
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform; 
}
	.Sec figcaption {
		    line-height: 1.3;
	}
	.Sec figcaption.capL {
		text-align: left;
	}
	.Sec figcaption.capR {
		text-align: right;
	}
	.Sec img {
		width: 100%;
		height: auto;
	}

.Sec .text {/* https://takechi-web.com/flex1-meaning-usage/ */
	flex: 1;/* figureの横幅固定、あまりがテキストのスペースになる */
	width: auto;
	/* ちらつき対策 */
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform; 
}





/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
.Sec0 {
	display: flex;
    /*grid-template-columns: 80px auto 80px;
    grid-template-rows: 100%;*/
    align-items: center;
    justify-content: center;
}
	.Sec0 img.BG_SP01 {
		grid-column: 1;
	}
	.Sec0 .h1wrap {
		grid-column: 2;
	}
	.Sec0 img.BG_SP02 {
		grid-column: 3;
	}

.Sec0 img.BG_SP {/* 月アイコン */
	width: 80px;
	height: auto;
	display: block;
	opacity: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transition: .5s ease-in-out .2s;
	transition-delay: 1s;
}

.Sec0 h1 {
	position: relative;
	margin: 0;
}
.Sec0 img.RedBorder {
    width: 100%;
    height: auto;
    position: absolute;
    left: 0;
	/* ちらつき対策 */
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform;
}
.Sec0 img.RedBorder01 {
    bottom: -10px;
}
.Sec0 img.RedBorder02 {
    bottom: -20px;
}

/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

.Sec.Sec3 {/*『運命』移動用スタイル*/
	position: relative;
}
.Sec.Sec3 figure {
}
	.Sec.Sec3 .text {/* 『運命』を画像の中に移動 */
	    position: absolute;
		top: 25%;
	}
	.Sec.Sec3 strong.destiny {
		font-size: 200%;
	}

/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

.Sec.Sec4 {
	flex-direction: column;
}
.Sec4 p {
	text-align: center;
	line-height: 1;
}
.Sec4 a.btn-flat {/* https://jajaaan.co.jp/css/button/ */
	line-height: 1;
	overflow: hidden;
	position: relative;
	padding: 1.6rem 3.68rem;
	color: #FDFDFD;
	border-radius: 0;
	background: black;
	transition: all .5s ease-in-out;
}
.Sec4 a.btn-flat:hover {
	color: black;
}
.Sec4 a.btn-flat span {
	position: relative;/* z-index用と思われる */
	z-index: 1;
}
.Sec4 a.btn-flat:before,
.Sec4 a.btn-flat:after
{
	position: absolute;
	width: 150%;
	height: 500%;
	content: '';
	transition: all .5s ease-in-out;
	transform: rotate(45deg) translateX(0) translateY(0);
	background: #7f4ce5;
}
	.Sec4 a.btn-flat:before {
		top: 0;
		left: calc(-130% + 50px);
	}
	.Sec4 a.btn-flat:after {
		top: -400%;
		right: calc(-130% + 50px);
	}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
							/* ↓↓↓( 各種条件分岐 )↓↓↓ */
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

@media screen and (orientation: landscape) {

	/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

	.Sec {
	    flex-direction: row;
	}
	.Sec figure {
		width: 60%;
	}

	/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

	.Sec2 figure {
		order: 1;/* Sec2だけ画像が右 */
	}
	.Sec2 .text {
		order: 0;/* Sec2だけテキストが左 */
	}
	.Sec2 figure .capL {
		text-align: left;
	}
	.Sec2 figure .capR {
		text-align: right;
	}

	/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

	.Sec.Sec3 .text {
	    right: 15%;
	}


}

/*----------------------------------------------------------------------------------*/

@media screen and (orientation: portrait),
	   screen and (width < 933px) and (orientation: landscape) {
	/* ↑スマホ横でlandscapeのスタイルだと画面がせせこましいし、テキストがかぶったりするので… */
	/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

	.Sec {
	    flex-direction: column;
	}
	.Sec figure {
		width: 100%;
	}

	/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
	.Sec2 figure {
	    order: 0;
	}
	.Sec2 figure .capL {
		text-align: right;
	}
	.Sec2 figure .capR {
		text-align: left;
	}

	/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
	.Sec.Sec3 .text {
		right: 0;
	}

}
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
							/* ↓↓↓( font-size )↓↓↓ */
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

	.Sec0 h1 {/* MoonPrincess */
		font-size: 2.5rem;   /* 40px */
	}
	
	.Sec figcaption,
	.Sec.Sec3 .text {/* 私には〜,『運命』 */
		font-size: clamp(0.625rem, 8.5vw, 3rem);/* 特殊 */
	}

	.Sec0 img.BG_SP {/* 月アイコン */
    }

	/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

	.Sec h2, .Sec.Sec4 p,
	.Sec.Sec4 a.btn-flat {/* prifile,彼女の旅路,サイトに戻るボタン */
		font-size: 1.875rem; /* 30px */
	}
	.Sec p {/* 本文 */
		font-size: 1.125rem; /* 18px */
	}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
							/* ↑↑↑（共通スタイル）↑↑↑ */
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
							/* ↓↓↓特殊３カラム（ノートPC--iPadpro横）↓↓↓ */
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

@media screen and (1280px <= width <= 1366px) and (orientation: landscape) {


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
}							/* ↓↓↓２カラム（タブ）↓↓↓ */
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

@media screen and (933px <= width < 1280px) and (orientation: landscape),
       screen and (768px <= width < 1280px) and (orientation: portrait) {/* ２カラム共通スタイル */


/*:::::２カラム横向き::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
} @media screen and (933px <= width < 1280px) and (orientation: landscape) {


/*:::::２カラム縦向き::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
} @media screen and (768px <= width < 1280px) and (orientation: portrait) {


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
}							/* ↓↓↓１カラム（スマホ）↓↓↓ */
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

@media screen and (width < 933px) and (orientation: landscape),
       screen and (width < 768px) and (orientation: portrait) {/* １カラム共通スタイル */


/*:::::１カラム横向き::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
} @media screen and (width < 933px) and (orientation: landscape) {

	/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
	/* スマホ横だと「運命」が遅いので早く出るように */
	.text.delay1300ms  {
		transition-delay: .5s;
	}
	/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

} @media screen and (width < 700px) and (orientation: landscape) {/* iPhoneSE横 */

/*:::::１カラム縦向き::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
} @media screen and (width < 768px) and (orientation: portrait) {

	#gallery_body {
	    padding: 25px 15px;
	}

	.Sec0 {
	    grid-template-columns: auto 70px;
	}
		.Sec0 img.BG_SP01 {
			display: none;
		}
		.Sec0 .h1wrap {
			grid-column: 1;
		}
		.Sec0 img.BG_SP02 {
			grid-column: 2;
		}


} @media screen and (width <= 480px) and (orientation: portrait) {

} @media screen and (width <= 375px) and (orientation: portrait) {/* iPhoneSE縦 */

} @media screen and (width <= 320px) and (orientation: portrait) {

}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/


@media (hover: hover) {

	.Sec4 a.btn-flat:hover:before {
		transform: rotate(45deg) translateX(0) translateY(-50%);
	}
	.Sec4 a.btn-flat:hover:after {
		transform: rotate(45deg) translateX(0) translateY(50%);
	}

}


/*::::::::::::::::::::::::::::::( ホバーできない機種の挙動 )::::::::::::::::::::::::::::::::::*/

@media (hover: none) {

	.Sec4 a.btn-flat:active:before {
		transform: rotate(45deg) translateX(0) translateY(-50%);
	}
	.Sec4 a.btn-flat:active:after {
		transform: rotate(45deg) translateX(0) translateY(50%);
	}

}








































