@charset "UTF-8";


/*リンク===============================================*/
*[data-script],
*[data-link]{
	cursor: pointer;
}

*[data-bg_src],
*[data-bg_src_done]{
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==);
	opacity: 0;
	transition: opacity .5s;
}

/*inview==============================================*/
div.inview,
div.inview_tmp,
div.inview_stop{
	position: relative;
}
div.inview>div,
div.inview_tmp>div,
div.inview_stop>div{
	position: relative;
	opacity: 0;
	transition: top 1s,left 1s,right 1s,opacity 2s;
	transition-timing-function: ease-out;
}

div.inview.from_left>div,
div.inview_tmp.from_left>div,
div.inview_stop.from_left>div{
	left: -100px;
}
div.inview.from_right>div,
div.inview_tmp.from_right>div,
div.inview_stop.from_right>div{
	right: -100px;
}
div.inview.from_bottom>div,
div.inview_tmp.from_bottom>div,
div.inview_stop.from_bottom>div{
	top: 100px;
}

div.iv_delay,
div.iv_all,
div.iv_half{
}

div.inview_done{
	position: relative;
}
div.inview_done>div{
	position: relative;
	top: 0;
	left: 0;
	opacity: 1;
	transition: top 1s,left 1s,right 1s,opacity 2s;
	transition-timing-function: ease-out;
}
div.inview_done2>div{
	position: relative;
	top: 0;
	right: 0;
	opacity: 1;
	transition: top 1s,left 1s,right 1s,opacity 2s;
	transition-timing-function: ease-out;
}

/*scroll_delay============================================================*/
div.scroll_delay{
	position: relative;
	width: 100%;
	overflow: hidden;
}
div.scroll_delay>div{
	position: absolute;
	width: 100%;
	top: auto !important;
	left: 0 !important;
}

/*ツールチップ==========================================================*/
*[data-tooltip1],
*[data-tooltip2]{
	-webkit-touch-callout:none;
}
span[data-tooltip1],
span[data-tooltip2]{
}

div.tooltip{
	position: absolute;
	display: block;
	box-sizing: border-box;
	text-align: left;
	letter-spacing: 0;
	white-space: nowrap;
	left: 0;
	user-select : none;
	
	-webkit-transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
	
	opacity: 0;
	visibility: hidden;
}
div.tooltip.ttip_show{
	transition: opacity .3s;
	opacity: 1;
	visibility: visible;
}
*[data-tooltip1]>div.tooltip{
	font-size: 1rem;
	line-height: 1.2rem;
	font-weight: normal;
	padding: .3rem .3rem;
	background: #ffffdd;
	color: #000000;
	bottom: 100%;
	border: solid .1rem #000000;
}
*[data-tooltip2]>div.tooltip{
	font-size: 1.3rem;
	line-height: 1.6rem;
	font-weight: normal;
	text-align: center;
	padding: .8rem .8rem;
	margin-bottom: .8rem;
	background-color: rgba(0,0,0,.8);
	color: #ffffff;
	bottom: 100%;
}
.sm_view *[data-tooltip2]>div.tooltip{
	font-size: 1.2rem;
	line-height: 1.4rem;
	padding: .5rem .5rem;
}

*[data-tooltip2]>div.tooltip:before{
	content: "";
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	left: 50%;
	bottom: -1.6rem;
	margin-left: -.8rem;
	border: solid .8rem transparent;
	border-top: solid .8rem rgba(0,0,0,.8);
	color: rgba(0,0,0,.8);/*何故かAタグのmacで*/
}

/*OPEN TEXT====================================================*/
*[data-open_text]>span.open_text_span{
	cursor: pointer;
}
.display_device *[data-open_text]>span.open_text_span:hover{
	color: rgba(134,28,60,1);
}
*[data-open_text]>span.open_text_span:after{
	content: "▼";
	display: inline-block;
	margin-left: .3em;
	color: rgba(134,28,60,.7);
}
*.open_text_opened[data-open_text]>span.open_text_span:after{
	content: "▲";
}
.display_device *[data-open_text]>span.open_text_span:hover:after{
	color: rgba(134,28,60,1);
}

*[data-open_text]>span.open_text_inner{
	display: none;
}
*.open_text_opened[data-open_text]>span.open_text_inner{
	display: block;
}
*[data-open_text]>span.open_text_inner>span{
	display: inline-block;
	padding: .5rem;
	border: solid 1px rgba(134,28,60,.3);
	background:rgba(255,255,255,.5);
	margin: .3rem 0 1rem 0;
	font-size: 90%;
	line-height: 1.5;
	white-space: pre-wrap;
}

/*汎用=================================================================*/
/*noscroll*/
body.noscroll{
	overflow: hidden;
}
.ios_view body.noscroll{
	overflow: hidden;
	height: 100%;
	width: 100%;
	position: fixed;
}


