@charset 'UTF-8';

/* //////////////////////////////////////////////////////////////////// */
/* ///// 全ページ共通CSS //////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// */


/* ==================================================
font
================================================== */

html {
	font-size: 62.5%;
}


/*基本フォントサイズ10px*/

body {
	/*明朝系*/
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', serif;
	font-size: 10px;
	font-size: 1.0rem;
	line-height: 1.8;
	letter-spacing: 1px;
	color: #000;
	background: #f4f4f4;
	font-style: normal;
}

#wrapper {
	font-size: 14px;
	font-size: 1.4rem;
}

h1 {
	display: none;
}


/* ==================================================
link
================================================== */

a:link {
	text-decoration: none;
	color: #000;
}

a:visited {
	text-decoration: none;
	color: #000;
}

a:hover {
	text-decoration: none;
	color: #000;
}

a:active {
	text-decoration: none;
	color: #000;
}

a:hover img.csshover {
	opacity: .6;
	filter: alpha(opacity=60);
	-moz-opacity: .6;
}

a {
	/* FireFoxのリンク選択時の点線を消す */
	overflow: hidden;
	outline: none;
}

a img,
a {
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	outline: none;
}

a:active,
a:hover,
a:focus {
	outline-width: 0;
}


/* ==================================================
base (reset)
================================================== */

html {
	margin: 0;
	padding: 0;
}

body {
	position: relative;
	width: 100%;
	min-width: 925px;
	/* サイトに応じて */
	margin: 0;
	padding: 0;
	text-align: center;
}

@media screen and (min-width:641px) {
.pc_only {}
.sp_only {
	display: none !important;
}
}

@media screen and (max-width:640px) {
	.pc_only {
		display: none !important;
	}
	.sp_only {}
	body {
		width: 100% !important;
		min-width: 100%;
		background: #fff;
		/*Androidのブロック幅バグ回避*/
	}
}

#wrapper {
	position: relative;
	width: 100%;
	min-width: 640px;
	min-height: 100vh;
	background-image: url("/?originalUrl=https%3A%2F%2Fdadaray.com%2Fhome%2Fimg%2Fbg_visual_202107.jpg");
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center center;
	background-size: cover;
}

@media screen and (max-width:640px) {
	#wrapper {
		background-image: none;
		background-attachment: inherit;
	}
	#wrapper::before {
		position: fixed;
		z-index: -1;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		min-height: 100vh;
		content: '';
		background-image: url("/?originalUrl=https%3A%2F%2Fdadaray.com%2Fhome%2Fimg%2Fbg_visual_202107_sp.jpg");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	font-size: 100%;
	font-weight: normal;
	margin: 0;
	padding: 0;
}

ul,
ol {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	background: transparent;
}

ol,
li {
	list-style: none;
}

img {
	font-size: 0;
	line-height: 0;
	vertical-align: text-bottom;
	border: none;
}

img,
object,
embed,
video {
	max-width: 100%;
}

a {
	font-size: inherit;
	margin: 0;
	padding: 0;
	background: transparent;
}

th,
td {
	font-size: inherit;
	font-weight: normal;
	font-style: normal;
	empty-cells: show;
}

input,
select {
	vertical-align: middle;
}

input,
textarea,
select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	/*border:0;*/
}

pre {
	white-space: -moz-pre-wrap; /* Mozilla */
	white-space: -pre-wrap; /* Opera 4-6 */
	white-space: -o-pre-wrap; /* Opera 7 */
	white-space: pre-wrap; /* CSS3 */
	word-wrap: break-word; /* IE 5.5+ */
}

* {
	-webkit-box-sizing: border-box; /* ボックス内のwidth優先 */
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

i {
	font-style: inherit;
	font-weight: inherit;
	display: inline-block;
}


/* ==================================================
header
================================================== */

#hdr {
	position: relative;
	width: 100%;
	height: calc(100vh - 60px);
	min-height: 550px;
	background-image: url("/?originalUrl=https%3A%2F%2Fdadaray.com%2Fhome%2Fimg%2Fbg_mask.png");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
}

@media screen and (max-width: 640px) {
#hdr {
	height: calc(90vh - 200px);
}
}

#hdr .main_logo {
	position: absolute;
	/*top: -50%;*/
	top: -62%;
	right: 0;
	bottom: 0;
	left: 0;
	width: 35%;
	margin: auto;
}

#hdr .gnavi {
	padding: 25px 0 0 0;
	/*letter-spacing: -.45rem;*/
}

#hdr .gnavi li {
	display: inline-block;
	margin: 0 20px;
	letter-spacing: normal;
}

#hdr .gnavi li:last-child {
	/*margin: 0;*/
}

#hdr .gnavi li a {
	font-family: 'PT Sans', sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	/*or 700*/
	line-height: 1;
	position: relative;
	display: block;
	overflow: initial;
	transition: all .4s ease-out 0s;
	letter-spacing: .3rem;
	opacity: 1;
	background: #fff;
	padding: 5px 15px;
}

#hdr .gnavi li.new a::before {
	content: "NEW!!";
	position: absolute;
	top: -13px;
	left: 0;
	right: 0;
	margin: auto;
	font-size: 11px;
	color: #fff;
}

#hdr .gnavi li a::after {
	position: absolute;
	right: 0;
	bottom: -5px;
	left: 0;
	display: block;
	width: 0;
	height: 1px;
	margin: 0 auto;
	content: '';
	transition: all .4s ease-out 0s;
	opacity: 0;
	background: #fff;
}

#hdr .gnavi li a:hover::after {
	width: 100%;
	opacity: 1;
}

#hdr .gnavi li a:hover {
	/*filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;*/
}

@media screen and (max-width:640px) {
	#hdr .gnavi li {
		margin: 0 27px 0 0;
	}
	#hdr .gnavi li:last-child {
		margin: 0;
	}
	#hdr .main_logo {
		width: 70%;
	}
}


/* ==================================================
contents
================================================== */

.anchor_link {
	padding-top: 40px !important;
	margin-top: -40px !important;
}


/* PAGETOP
------------------------------ */


/* ==================================================
footer
================================================== */

#footer {
	padding: 30px 0 25px;
	background: #f4f4f4;
}

#footer .footer_link {
	font-size: 1.2rem;
	display: inline-block;
	padding: 0 0 5px 0;
	color: #bdbdbd;
}

#footer .footer_link:hover {
	text-decoration: underline;
}

#footer .copy {
	font-size: 1.2rem;
}

@media screen and (max-width:640px) {
	#footer .footer_link {
		font-size: 1.6rem;
	}
	#footer .copy {
		font-size: 1.6rem;
	}
}


/* //////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// */


/* ==================================================
Other
================================================== */


/* --------------------------------------------------
clrfix
フロートした子要素しかもたない親ブロック要素の高さを確立する
-------------------------------------------------- */


/*親ブロック要素のclassにclrfixを追加*/

.clrfix:before,
.clrfix:after {
	display: table;
	content: '';
}

.clrfix:after {
	clear: both;
}


/* //////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// */


/* ==================================================
ANIMATION
================================================== */
#wrapper {
	will-change: animation;
	animation: accessFadein 1.2s linear 0.2s both;
}

@keyframes accessFadein {
	0% { opacity: 0; }
	30% { opacity: 0; }
	100% { opacity: 1; }
} 