/* CSS Document */

/* ALL_setting
================================================== */
*{
	margin:0;
	padding:0;
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	box-sizing: border-box;
}

.clear{clear:both;}

html , body {
	min-height: 100%;
	height: auto;
	height: 100%;
	word-break: break-all;
	background-attachment: fixed;
	background-size: cover;
	background-position: top;
}

li{	text-decoration: none; }

a { outline: none; }

a:focus, *:focus { outline:none; }

a { text-decoration: none; }

.link_style1{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

#wrapper{
	width: 100%;
	height: 100%;
	min-height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

img{
	vertical-align: top left;
}

.pcimg_delete{
}

.pc{ display: inherit!important; }
.sp{ display: none!important; }
@media screen and (max-width: 799px){
.pc{ display: none!important; }
.sp{ display: inherit!important; }
}

/* loading_setting
================================================== */
#loader {
	width: 100%;
	height: 100vh;
	display: table;
	position: fixed;
	_position: absolute; /* IE6対策 */
	z-index: 999;

}

.loader_box{
	width: 40%;
	margin: auto;
	height: 100vh;
	display: table;
}

.loader_table_cell{
	display: table-cell;
	vertical-align: middle;
}


#fade {
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	-moz-background-size:cover;
	-webkit-background-size:cover;
	-o-background-size:cover;
	-ms-background-size:cover;
	width:100%;
	height:100%;
	display: none;
	background-color: #ffffff;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 998;
}

@media screen and (max-width: 799px){
	.loader_box{
		width: 80%;
		margin: auto;
		height: 100vh;
		display: table;
	}
}

/* MENU_setting
================================================== */

.menu_box_wrapper{
	width: 100%;
	position: fixed;
	z-index: 100;
	padding:0% 0 0% 0;
	background-color: rgba(50, 50, 50, 0.92);/* メニュー色 */
	border-bottom: 1px solid #000000;
}

.menu_box{
	text-align: center;
}

.menu_box ul{
	margin:0;
	padding:0;
}

.menu_box ul li{
	list-style: none;
	display: inline-block;
	padding-left:1.2%;
	padding-right:1.2%;
}

.menu_text_style2 img{
	width: 50%;
	vertical-align: top;
}

.menu_text_style1{
	padding-top: 0.8%;
	padding-bottom: 0.7%;
	display: block;
}

.menu_text_style2{
	padding-bottom: 0.5%;
	display: block;
}

.menu_box ul li a{
	text-decoration: none;
	color: #ffffff;/* メニュー文字色 */
font-family: "source-han-sans-japanese", sans-serif;
font-weight: 400;
font-style: normal;
	font-size: 1.2em;
	letter-spacing: 3px;
	
}

.menu_box ul li a:hover{
	color: #8c8c8c;
}

/* MAIN_setting
================================================== */

.title_style{
	position: relative;
	width: 91%;
	max-width: 990px;
	margin: auto;
	padding: 0% 0 1% 0;
}

.txt_style1{
	letter-spacing: normal;
	line-height: 1.8em;
	color: #373737;
	padding: 2% 0 0% 0;
}

.border_style1{
	border-top: solid 1px #dcdcdc;
	margin: 3% auto 3% auto;
}

.border_style_ch{
	border-top: solid 1px #dcdcdc;
	margin: 3% auto 3% auto;
}

/* MAIN */
.main_wrapper {
	position: relative;
	margin: 0 0 -7% 0;
}

.main_img {
	position: relative;
	width: 100%;
	min-width: 1360px;
	max-width: 1800px;
	left: 50%;
	transform: translateX(-50%);
}

.main_logo_switch{
	z-index: 10;
	width: 8%;
	max-width: 100px;
	position: absolute;
	margin: 80px 0 0 20px;
}

.main_img_sp{
	display: none;
}

/* INTRODUCTION */
.introduction_wrapper{
	position: relative;
	width: 90%;
	margin: auto auto 5% auto;
	max-width: 980px;
}

.introduction_chatch{
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 500;
font-style: normal;
	position: relative;
	z-index: 15;
	font-size: 1.6em;
	text-align: center;
	line-height: 90%;
	color: #323232;
	text-shadow:0 0 4px #ffffff;
	padding: 0 0 1% 0;
}

.introduction_hdtext{
font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 500;
font-style: normal;
    display: flex;
    align-items: center;
	font-size: 1.4em;
	background: linear-gradient(90deg, #e696dc 0%, #a59bd7 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	width: 100%;
}

.introduction_hdtext img{
    display: block;
    width: 22px;
}

.introduction_box{
	width: 100%;
	margin: auto;
	letter-spacing: -1em;
	text-align: left;
	margin-bottom: 3%;
}

.introduction_box2{
	width: 100%;
	margin: auto;
	letter-spacing: -1em;
	text-align: left;
}

.introduction_box_bottom{
	width: 100%;
	margin: auto;
	letter-spacing: -1em;
	text-align: left;
}

.introduction_txt{
	width: 50%;
	line-height: 1.8em;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	color: #373737;
	padding-right: 20px;
}

.introduction_txt2{
	width: 100%;
	line-height: 1.8em;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	color: #373737;
}

.introduction_image{
	width: 50%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	text-align: right;
	margin: 0px 0px 5px 0px;
}

.introduction_image2_left{
	width: 50%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	text-align: left;
	margin: 5px 0px;
}

.introduction_image2_right{
	width: 50%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	text-align: right;
	margin: 5px 0px;
}

/* STORY */
.story_wrapper{
	position: relative;
	margin: auto auto 5% auto;
}

.story_txt {
	width:90%;
	max-width: 980px;
	margin: auto;
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 300;
font-style: normal;
	font-size: 1.1em;
	line-height: 1.8em;
	color: #373737;
}

.story_txt2 {
	width:100%;
	margin:0 0 1.3% 0;
font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 500;
font-style: normal;
	display:flex;
	align-items:center;
	font-size: 1.15em;
	line-height: 1.4em;
}

.story_txt2::before{
	content:"";
	width:5px;
	height:1em;
	background:#e6e6e6;
	margin-right:8px;
	display:inline-block;
	vertical-align:-0.1em;
}

.story_txt_bg {
	width:100%;
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 300;
font-style: normal;
	background: linear-gradient(to right, #ffffff, #ffd2eb, #fadcff);
	padding: 1% 0 0 0 ;
	margin-bottom: 1%;
}

/* CHARACTER */
.character_wrapper{
	position: relative;
	width: 90%;
	margin: auto auto 3% auto;
	max-width: 980px;
	overflow: hidden;
}

.character_box1{
	float:left;
	width: 49%;
	margin-bottom: 20px;
}

.character_box2{
	float:right;
	width: 49%;
	margin-bottom: 20px;
}

.character_txt_box{
	width: 67%;
	display: inline-block;
	vertical-align: middle;
	position: relative;
}

.character_image_box{
	width: 30%;
	vertical-align: middle;
	display: inline-block;
	letter-spacing: normal;
	margin-right: 2%;
}

.character_txt_name{
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 600;
	font-style: normal;
	font-size: 1.8em;
	color: #000000;
	line-height: 1.3em;
	margin-bottom: 10px;
}

.character_cv_txt{
font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 1.3em;
	line-height: 1.4em;
	color: #a59bd7;
	margin-bottom: 10px;
}

.character_cv{
font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 0.7em;
	letter-spacing: 0.05em;
	width: 60px;
	text-align: center;
	background-color: #a59bd7;
	color: #ffffff;
	float: left;
	margin-right: 10px;
}

/* VIDEO */
.video_wrapper{
	width: 90%;
    margin: 0 auto 5%;
	max-width: 980px;
}

	iframe{
    display: block;
    width: 95%;
    aspect-ratio: 16 / 9;
    border: none;
    margin: 1% auto 0 auto;
	}

/* SYSTEM */
.system_wrapper{
	width: 90%;
	margin: auto auto 5% auto;
	max-width: 980px;
}

.system_option_txt{
font-weight: 600;
font-style: normal;
	font-size: 1.em;
	color: #00beff;
	width: 100%;
	padding: 1% 2%;
  filter:
    drop-shadow(0 0 2px #ffffff)
    drop-shadow(0 0 2px #ffffff)
    drop-shadow(0 0 4px rgba(255, 255, 255, 0.9))
}

/* SPEC */
.spec_wrapper{
	width: 90%;
	margin: auto auto 5% auto;
	max-width: 980px;
}

.spec_hdtext{
font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 500;
font-style: normal;
    display: flex;
    align-items: center;
	font-size: 1.4em;
	background: linear-gradient(90deg, #e696dc 0%, #a59bd7 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	width: 100%;
}

.spec_package_box{
	width: 37%;
	display: inline-block;
	text-align: center;
	vertical-align: top;
	position: relative;
}

.spec_txt_box{
	width: 60%;
	margin: 0 0 0 2%;
	display: inline-block;
	text-align: left;
	vertical-align: top;
	position: relative;
}

.spec_table_style1{
font-family: "source-han-sans-japanese", sans-serif;
font-weight: 500;
font-style: normal;
	font-size: 1em;
	color: #9b91d2;
	text-align: left;
	width: 27%;
vertical-align: top;
}

.spec_table_style3{
	text-align: left;
	letter-spacing : -0.6px;
	color: #373737;
	width: 63%;
	vertical-align: top;
}

th,td {
    padding: 5px 6px;
}

.spec_cero{
    float:  left;
	text-align: center;
	margin-right: 10px;
}

.spec_cero_txt{
	font-size: 0.6em;
}

/* FOOTER */
.footer_wrapper {
	margin-top: 20px;
	height: 94px;
	width: 100%;
 	position: relative;
 	left: 0;
 	bottom: 0;
 	text-align: center;
	background-color: rgba(50,50,50, 0.95);
 	box-sizing: border-box;
}

.footer_box{
	display: flex;
 	justify-content: center;
 	align-items: center;
	width: 100%;
}

.footer_copyright{
	text-align: center;
	font-size: 0.8em;
	color:#ffffff;
	padding: 1% 0% 1% 1%;
}

.footer_logo{
	width: 96px;
	padding: 10px 12px 0px 10px;
}



/* SMART_PHONE_setting
================================================== */

@media screen and (max-width: 799px){
	
*{
	font-size: 15px;
}
	
html , body {
	background-image:url("../image/swdreaminher_bg_sp.webp");
	background-attachment: scroll;
}
	
.txt_style{
	line-height: 1.5em;
}
	
.border_style1{
	margin: 6% auto 6% auto;
}
	
.menu_box_wrapper{
	display: none;
}

.pcimg_delete{
	display: none;
}

/* MAIN */
.main_img {
	display: none;
}
	
.main_logo {
	display: none;
}
	
.main_img_sp{
	display: block;
	margin-bottom: 5%;
}
	
.main_logo_switch{
	margin: 2%;
	width: 10%;
}
	
.main_logo{
	display: none;
}

/* INTRODUCTION */
.introduction_wrapper{
	width: 80%;
	margin: auto auto 6% auto;
}
	
.introduction_chatch{
	font-size: 1.2em;
	line-height: 140%;
	margin: 1% 0 1% 0; 
}

.introduction_hdtext{
	font-weight: 400;
	font-size: 1.2em;
	margin-bottom: 1%;
}
	
.introduction_hdtext img{
	align-self: flex-start;
	flex-shrink: 0;
	margin-top: 0.15em;
}
	
.introduction_txt{
	width: 100%;
	line-height: 1.5em;
}

.introduction_txt2{
	width: 100%;
	line-height: 1.5em;
}

.introduction_image{
}
	
.introduction_image2{
	width: 100%;
	margin: 1.5% 0 4% 0;
}
	
.introduction_box{
	margin: 2% 0 4% 0;
}
	
.introduction_box_bottom{
	margin: 2% 0 4% 0;
}
	
/* STORY */
.story_wrapper{
	width: 90%;
	margin: auto auto 8% auto;
}
	
.story_txt {
	margin: auto;
	font-size: 16px;
	line-height: 1.6em;
}
	
.story_txt_bg {
	padding: 2% 0 0 0 ;
}
	
/* CHARACTERS */
.character_wrapper{
	width: 90%;
	margin: auto auto 4% auto;
}

.character_box1{
	width: 100%;
	display: inline-block;
}

.character_box2{
	width: 100%;
	display: inline-block;
}

.character_txt_name{
	font-size: 1.5em;
}

.character_cv_txt{
	font-size: 1em;
}
	
/* VIDEO */
.video_wrapper{
	width: 90%;
	margin: auto auto 8% auto;
}

/* SYSTEM */	
.system_wrapper{
	width: 80%;
	margin: auto auto 6% auto;
}
	
.system_option_txt{
	line-height: 1.8em;
}

/* SPEC */	
.spec_wrapper{
	width: 80%;
	margin: auto auto 6% auto;
}
	
.spec_package_box{
	width: 70%;
	display: block;
	text-align: center;
	margin: auto;
	padding-bottom: 5%;
}
	
.spec_txt_box{
	width: 100%;
	display: block;
	text-align: center;
}
	
.spec_limited_txt{
	width: 80%;
	font-size: 1.1em;
}
	
/* FOOTER */
.footer_wrapper {
	padding: 10px 0;
}

.footer_box{
	display: flex;
	justify-content: center;
	align-items: center;
}
	
.footer_copyright{
	font-size: 0.7em;
	padding: 1% 10px 1% 1%;
}
	
.footer_logo{
	width: 90px;
}

}
