@charset "utf-8";

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video,input,textarea,select {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	text-decoration: none;

	-webkit-text-size-adjust: 100%;
	list-style: none;
	letter-spacing: 1;
}

q, 
blockquote {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

.clearfix:after {
	content: "."; 
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
* html .clearfix { height: 1%; }
.clearfix{ display:block; }

html {
	font-size:100%;
	-ms-text-size-adjust:100%;
	-webkit-text-size-adjust:100%
	font-weight: 300;
}

/*--------------------------------------------------------------------------------------
 common
--------------------------------------------------------------------------------------*/

body {
	font-family: "Sawarabi Mincho","HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, 'Noto Sans Japanese', 'Hiragino Kaku Gothic Pro', Arial, sans-serif;
	font-weight: 300;
	-webkit-font-smoothing: antialiased;
	font-size: 16px;
	margin: 0;
	padding: 0;
}
body::before {
	content:"";
	display:block;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	height:100vh;
	background-repeat:no-repeat;
	background-position: top;
	background-image:url("/img/about-history.webp");
	background-size:cover;
	opacity: 0.6;
}

/* スマホ用
--------------------------------------*/
@media screen and (max-width: 719px){
	.wrap {
		padding: 0 10px;
	}
}

/* PC用
--------------------------------------*/
@media screen and (min-width:720px){
	#wrapper {
		min-width: 980px;
		position: relative;
	}
	.wrap {
		width: 980px;
		margin: 0 auto;
		padding: 0;
		position: relative;
	}
}

#contents {
}

/* スマホ用
--------------------------------------*/
@media screen and (max-width: 719px){
	#contents {
	}
}


/* #to_top
----------------------------------------------------------------------------------------------*/
#to_top {
	position: fixed;
	bottom: 10px;
	right: 15px;
	z-index: 100;
}
#to_top a {
	width: 40px;
	height: 40px;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;

	color: #666;
	background: #f5f5f5;
	font-size: 11px;

	opacity: 0.8;

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;

	-webkit-transition: 1s;
	-moz-transition: 1s;
	transition: 1s;
}
#to_top a:hover {
	background: #eee;
	opacity: 0.6;
}

/* 500px以上の記述
--------------------------------------*/
@media screen and (min-width: 500px) {
	#to_top a {
	}
}


/* 720px以上の記述
--------------------------------------*/
@media screen and (min-width: 720px) {
	#to_top {
		bottom: 30px;
		right: 50px;
	}
}


#footer {
	border-top: 1px solid #aaa;
	padding: 5px 0 0;
}
#footer p {
	text-align: center;
	font-size: 60%;
	color: #aaa;
}


main {
	margin: 0 auto;
	max-width: 600px;
}

@media screen and (min-width: 720px) {
	main {
	}
}



.about_block {
	background: #fff;
	border-radius: 5px;
	margin: 10px 10px 40px;
	padding: 20px;
}
.about_block h2 label {
	white-space: nowrap;
}

.line_block {
	background: #fff;
	border-radius: 10px;
	margin: 40px 10px 40px;
	padding: 30px;
	text-align: center;
}
.line_block h2 {
	font-size: 14px;
	margin-bottom: 20px;
}
.line_block .btn_block {
	margin-top: 20px;
}



.btn-yes {
	background: #f38b69;
	color: #fff;
	border: 1px solid #f38b69;
	margin-right: 5px;
}
.btn-yes:hover,
.btn-yes:active {
	background: #fff;
	color: #f38b69;
	border: 1px solid #f38b69;
}
.btn-no {
	background: #58a9f2;
	color: #fff;
	border: 1px solid #58a9f2;
	margin-left: 5px;
}
.btn-no:hover,
.btn-no:active {
	color: #58a9f2;
	background: #fff;
	border: 1px solid #58a9f2;
}

.quest_block {
	background: #fff;
	border-radius: 10px;
	margin: 10px 10px 40px;
	padding: 15px 30px 30px;
}
.quest_block dl {
	display: table;
	width: 100%;
}
.quest_block dl dt {
	font-size: 18px;
	height: 140px;
	padding: 20px 0 0;
	text-align: center;
	font-weight: normal;
	display: table-cell;
	vertical-align: middle;
}

.quest_block dl dd {
	width: 100%;
	padding: 10px 0;
	text-align: center;
}

.result_block {
	background: #fff;
	border-radius: 10px;
	margin: 10px 10px 40px;
	padding: 15px 30px 5px;
	tex-align: center;
}
.result_block .btn_block {
	margin: 20px auto;
	width: 100%;
	display: block;
	text-align: center;
}

.result_block .user {
	text-align: center;
	color: #f38b69;
}
.result_block .business {
	text-align: center;
	color: #58a9f2;
}
.result_block .user label,
.result_block .business label {
	font-size: 40px;
}
.result_block .text {
	margin: 20px 0;
}
.result_block .text h3 {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 20px;
}

/*--------------------------------------------------------------------------------------
 header
--------------------------------------------------------------------------------------*/

#daig_header h1 {
	padding: 0;
	margin: 0;
	line-height: 1;
	font-size: 120%;
}
#daig_header h1 a {
	text-decoration: none;
	color: #fff;
	padding: 5px;
}

#daig_header .wrap {
	padding: 0;
}

#daig_header {
	height: 48px;
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 100;
	background: #000;
	border-bottom: 1px solid #ccc;
}
#daig_header #logo {
	position: relative;
	text-align: center;
	padding: 12px 0 0;
	height: 48px;
}



#diag_menu {
	display: none;
}

#diag_gnavi .menu_btn {
	position: absolute;
	display: block;
	z-index: 100;
	top: 0;
	left: 0;
	width: 48px;
	height: 48px;
}

#diag_gnavi .menu_btn label {
	display: block;
	position: absolute;
	z-index: 100;
	top: 0;
	width: 48px;
	height: 48px;
	cursor: pointer;
	-webkit-transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),-webkit-transform 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
	transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
	-webkit-tap-highlight-color: transparent;
}

#diag_menu:checked ~ #diag_gnavi .menu_btn label {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

#diag_gnavi .menu_btn .icon {
	position:absolute;
	z-index:100;
	top:0;
	left:0;
	width:48px;
	height:48px;
	-webkit-transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition:opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#diag_gnavi .menu_btn .icon.top {
	-webkit-transition:-webkit-transform 0.25s cubic-bezier(0.4, 0.01, 0.165, 0.99);
	transition:transform 0.25s cubic-bezier(0.4, 0.01, 0.165, 0.99);
	-webkit-transform:rotate(0);
	transform:rotate(0);
	z-index:100;
}
#diag_menu:checked ~ #diag_gnavi .menu_btn .icon.top {
	-webkit-transition:-webkit-transform 0.25s 0.2s cubic-bezier(0.4, 0.01, 0.165, 0.99);
	transition:transform 0.25s 0.2s cubic-bezier(0.4, 0.01, 0.165, 0.99);
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}

#diag_gnavi .menu_btn .icon.bottom {
	-webkit-transition:-webkit-transform 0.25s cubic-bezier(0.4, 0.01, 0.165, 0.99);
	transition:transform 0.25s cubic-bezier(0.4, 0.01, 0.165, 0.99);
	-webkit-transform:rotate(0);
	transform:rotate(0);
}
#diag_menu:checked ~ #diag_gnavi .menu_btn .icon.bottom {
	-webkit-transition:-webkit-transform 0.25s 0.2s cubic-bezier(0.4, 0.01, 0.165, 0.99);
	transition:transform 0.25s 0.2s cubic-bezier(0.4, 0.01, 0.165, 0.99);
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}

#diag_gnavi .menu_btn .crust {
	display: block;
	width: 17px;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 16px;
	z-index: 100;
	-webkit-transition: -webkit-transform 0.2s;
	transition: transform 0.2s;
}

#diag_gnavi .menu_btn .crust.top {
	top:23px;
	-webkit-transition:-webkit-transform 0.2s 0.2s;
	transition:transform 0.2s 0.2s;
	-webkit-transform:translateY(-3px);
	transform:translateY(-3px);
}
#diag_menu:checked ~ #diag_gnavi .menu_btn .crust.top {
	-webkit-transform:translateY(0);
	transform:translateY(0);
	-webkit-transition-delay:0;
	transition-delay:0;
}

#diag_gnavi .menu_btn .crust.bottom {
	bottom:23px;
	-webkit-transform:translateY(3px);
	transform:translateY(3px);
}
#diag_menu:checked ~ #diag_gnavi .menu_btn .crust.bottom {
	-webkit-transition:-webkit-transform 0.2s;
	transition:transform 0.2s;
	-webkit-transform:translateY(0);
	transform:translateY(0);
}

#diag_gnavi .alert_sign {
	background: #d00;
	color: #fff;
	position: fixed;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	top: 27px;
	left: 33px;
}
#diag_gnavi nav li div {
	display: inline-block;
	position: relative;
}
#diag_gnavi nav li label {
	background: #d00;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	display: table;
	position: absolute;
	left: 5px;
	bottom: -3px;
	cursor: pointer;
}
#diag_gnavi nav li label span {
	display: table-cell;
	font-size: 9px;
	color: #fff;
	vertical-align: middle;
	text-align: center;
}

#diag_menu:checked ~ #diag_gnavi {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	height: 100%;
	width: 100%;
	z-index: 100;
	overflow: hidden;
}

#diag_menu:checked ~ #diag_gnavi #logo {
	background: #000;
}





#daig_header nav ul {
	display: none;
}

#daig_header nav .profile img {
	overflow: hidden;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}




#diag_gnavi nav {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 99;

	margin: 48px 0 0;
	width: 100%;

	-webkit-transition: background 0.35s linear,height 0.35s ease-in;
	transition: background 0.35s linear,height 0.35s ease-in;

	height: 0;
	cursor: default;
	overflow: auto;
	background: #000;
}

#diag_menu:checked ~ #diag_gnavi nav {
	height: 100%;

	-webkit-transition: background 0.35s linear,height 0.35s ease-in 200ms;
	transition: background 0.35s linear,height 0.35s ease-in 200ms;
}

#diag_gnavi nav li {
	position: relative;
	z-index: 100;
	vertical-align: middle;
	display: block;

	opacity: 0;

	-webkit-transform: scale(1.1) translateY(-24px);
	transform: scale(1.1) translateY(-24px);
	-webkit-transition: opacity 0.35s ease-out, -webkit-transform 0.35s ease-out;
	transition: opacity 0.35s ease-out, transform 0.35s ease-out;

	padding: 0 22px;
}

#diag_menu:checked ~ #diag_gnavi nav li {
	opacity: 1;
	-webkit-transform: none;
	transform: none;
}

#diag_menu:checked ~ #diag_gnavi nav li a {
	text-decoration: none;
	color: #fff;
}

#diag_menu:checked ~ #diag_gnavi nav li:nth-child(1){-webkit-transition-delay:200ms,200ms;transition-delay:200ms,200ms}
#diag_menu:checked ~ #diag_gnavi nav li:nth-child(2){-webkit-transition-delay:250ms,250ms;transition-delay:250ms,250ms}
#diag_menu:checked ~ #diag_gnavi nav li:nth-child(3){-webkit-transition-delay:300ms,300ms;transition-delay:300ms,300ms}
#diag_menu:checked ~ #diag_gnavi nav li:nth-child(4){-webkit-transition-delay:350ms,350ms;transition-delay:350ms,350ms}
#diag_menu:checked ~ #diag_gnavi nav li:nth-child(5){-webkit-transition-delay:400ms,400ms;transition-delay:400ms,400ms}
#diag_menu:checked ~ #diag_gnavi nav li:nth-child(6){-webkit-transition-delay:450ms,450ms;transition-delay:450ms,450ms}
#diag_menu:checked ~ #diag_gnavi nav li:nth-child(7){-webkit-transition-delay:500ms,500ms;transition-delay:500ms,500ms}
#diag_menu:checked ~ #diag_gnavi nav li:nth-child(8){-webkit-transition-delay:550ms,550ms;transition-delay:550ms,550ms}
#diag_menu:checked ~ #diag_gnavi nav li:nth-child(9){-webkit-transition-delay:600ms,600ms;transition-delay:600ms,600ms}

#diag_gnavi nav li i {
	margin-right: 5px;
	font-size: 16px;
}

#diag_gnavi nav li.profile a.sub {
	width: 100%;
	border-bottom: 1px dotted #aaa;
	display: table;
	padding: 10px 0;
}

#diag_gnavi nav li.profile a.sub span {
	display: table-cell;
	text-align: left;
	font-size: 120%;
	font-weight: 500;
	vertical-align: middle;
	color: #fff;
}

#diag_gnavi nav li.profile span.full_name {
	display: block;
}
#diag_gnavi nav li.profile span.name {
	display: none !important;
}

#diag_gnavi nav li.profile a.sub span.pict {
	width: 50px;
	padding: 10px;
}
#diag_gnavi nav li.profile img {
	width: 40px;
	height: 40px;
	margin: 0 5px 0 0;
}

#diag_gnavi nav li.message a.sub {
	font-size: 70%;
	border-bottom: 1px dotted #aaa;
	padding: 10px;
	display: block;
}
#diag_gnavi nav li.message label {
	font-weight: 300;
}

#diag_gnavi nav li.message span {
	background: #d00;
	color: #fff;
	font-size: 10px;
	padding: 3px 5px;
	line-height: 1;
	margin-left: 5px;
}

#diag_gnavi nav li.message svg.message {
	width: 16px;
	height: 14px;
	fill: #fff;
}

#diag_gnavi nav li a {
	font-size: 100%;
	border-bottom: 1px dotted #aaa;
	padding: 10px;
	display: block;
}


#diag_gnavi nav li.dashboard ul {
	display: block;
	margin-top: 20px;
}
#diag_gnavi nav li.dashboard ul li {
	padding: 0;
}
#diag_gnavi nav li.dashboard ul li a {
	font-size: 70%;
	border-bottom: 1px dotted #aaa;
	padding: 10px;
	display: block;
	margin: 0;
}

#diag_gnavi nav .profile .color {
	width:10px;
	height:10px;
	display: inline-block;
}

#diag_gnavi nav .btn_area {
	margin: 0 auto;
	width: calc( 100% - 20px );
	max-width: 600px;
	padding: 13px 10px 13px;
}
#diag_gnavi nav .btn_area p {
	margin: 7px 0;
}
#diag_gnavi nav .btn_area p a {
	background: #fff;
	width: 100%;
	display: block;
	border-radius: 15px;
	text-decoration: none;
	color: #000;
	position: relative;
	padding: 15px 20px 15px 60px;
}
#diag_gnavi nav .btn_area p a span {
	position: absolute;
	top: 12px;
	left: 20px;
	display: table;
}
#diag_gnavi nav .btn_area p a span label {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	background: #000;
	width: 30px;
	height: 30px;
	border-radius: 50%;
}
#diag_gnavi nav .btn_area p a span label i {
	color: #fff;
	font-size: 15px;
}

#diag_gnavi .bottom_link {
	margin: 0 auto;
	text-align: center;
	color: #fff;
	padding-top: 10px;
	padding-bottom: 80px;
}
#diag_gnavi .bottom_link a {
	color: #fff;
	text-decoration: none;
	font-size: 13px;
}

#diag_gnavi .qr {
	margin: 0 auto;
	text-align: center;
	padding: 20px 20px 5px;
}
#diag_gnavi .qr img {
	width: 100%;
	max-width: 250px;
}

#diag_gnavi .url_txt {
	padding: 0 20px 80px;
}
#diag_gnavi .url_txt input {
	margin-bottom: 10px;
	font-size: 20px;
}

#footer {
	border-top: 1px solid #fff;
	padding: 5px 0 0;
}
#footer p {
	text-align: center;
	color: #fff;
	font-size: 60%;
}

.container {
	padding-top: 58px;
	padding-bottom: 68px;
}

/* .page_area
----------------------------------------------------------------------------------------------*/

.page_area {
	padding: 10px;
	height: 70px;
	width: 100%;
	z-index: 1;
	margin: 0 auto;
	margin-bottom: 70px;
	max-width: 560px;
}
.page_area ul {
	display: table;
}
.page_area ul li {
	display: table-cell;
	vertical-align: middle;
}
.page_area .pagination {
	font-size: 80%;
}
.page_area .pagination span {
	padding: 0 5px;
	font-size: 120%;
}
.page_area .pagination .tx {
	padding: 15px 15px 15px 10px;
}

.page_area .pagination a {
	width: 50px;
	height: 50px;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;

	color: #539CFF;
	background: #C1DCFF;
	font-size: 160%;


	-webkit-border-radius: 5%;
	-moz-border-radius: 5%;
	border-radius: 5%;

	-webkit-transition: 1s;
	-moz-transition: 1s;
	transition: 1s;
}
.page_area .pagination a:hover {
	color: #fff;
	background: #ccc;
}

.contents.nologin .title_block {
	margin: 0 auto;
	text-align: center;
}
.contents.nologin h1 {
	padding-top: 40px;
}
.contents.nologin h1 img {
	width: 200px;
}
.contents.nologin .title_block p {
	color: #333;
	font-size: 14px;
	font-weight: bold;
}

.contents.nologin .login_block {
	margin: 20px auto;
	padding: 20px;
	background: #fff;
	border-radius: 5px;
	max-width: 350px;
}
.contents.nologin .login_block h2 {
	font-size: 18px;
	text-align: center;
	margin-bottom: 10px;
}

.contents.nologin .section dt {
	margin: 5px 0;
}
.contents.nologin .section dd {
	margin: 0 0 15px;
	position: relative;
	width: 100%;
	display: block;
}

.contents.nologin .section .btn_block {
	text-align: center;
	margin-bottom: 15px;
}

.contents.nologin .section .message {
	position: absolute;
	top: 25px;
	left: 20px;
	font-size: 80%;
	display: block;
	border: 1px solid #d00;
	padding: 2px 10px;
	background: #FFEBCD;
	color: #d00;
	z-index: 1;
}
.contents.nologin .section .form_error {
	top: 0;
	left: 20px;
}
.contents.nologin .section .form_error {
	top: -20px;
	left: 20px;
}

.contents.nologin .form_message {
}

.contents.nologin .top {
	text-align: center;
}

.btn_movie {
	margin: 10px 5px;
	padding: 15px;
	background: #fff;
	border-radius: 5px;
}
.btn_pdf {
	margin: 10px 5px;
	padding: 15px;
	background: #fff;
	border-radius: 5px;
}
