@charset 'UTF-8';

/*-----------------------------------------------
12px:60.0%
14px:70.0%
16px:80.0%
17px:85.0%
18px:90.0%
19px:95.0%
20px:100%
21px:105.0%
22px:110.0%
23px:115.0%
24px:120.0%
-----------------------------------------------*/
body, address, div, h1, h2, h3, h4, h5, h6, p, hr, ul, ol, li, dl, dt, dd, table, th, td, form, fieldset, span {
	font-size: 20px;
	color: #2c2c2c;
	font-weight: 400;
	/*font-family: '游ゴシック', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, sans-serif, 'メイリオ', Meiryo;*/
	font-family: 'Noto Sans Jp', sans-serif;
}
html,body {
	width: 100%;
	height: 100%;
	background-color: #ffffff;
}
html{
	font-size: 62.5%;
}
a:link, a:visited {
	color: inherit;
	text-decoration: none;
}
#wrap{
	overflow: hidden;
}
#analysisScriptArea+a,
#analysisScriptArea+a img#_ullogimgltr {
	display: block;
	width: auto;
	height: 1px;
	font-size: 1px;
	line-height: 1px;
	margin: -1px 0 0 0;
}
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
.inner {
	max-width: 1200px;
	margin: 0 auto;
}
a:hover {
	opacity: 0.8;
}
.en,
.en span {
	font-family: 'Sorts Mill Goudy', serif;
	font-weight: 400;
}
.vh {
	visibility: hidden;
}
.fl_r {
	float: right;
}
.fl_l {
	float: left;
}
/* -------------------------------------
	header
----------------------------------------*/

header {
	background-color:rgba(255,255,255,0.7);
	width: 100%;
	position: fixed;
	z-index: 10000;
	top: 0;
}
header>hr {
	display: block;
	height: 2px;
	background-image: url(/rd/img/common/header_bd.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	border: 0;
}
header>div {
	position: relative;
	height: 78px;
}
header .logo img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
header span {
	font-size: 110.0%;
}
header span.en {
	font-weight: 600;
	letter-spacing: 0;
	font-size: 110.0%;
}
header h1 {
	margin: 21px 0 0;
	letter-spacing: 0.25em;
	font-size: 90.0%;
}
.menu_btn,
.menu_btn span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu_btn {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 53px;
	height: 43px;
	cursor:pointer;
}
.menu_btn span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #2f2e2e;
}
.menu_btn span:nth-of-type(1) {
	top: 0;
}
.menu_btn span:nth-of-type(2) {
	top: 20px;
}
.menu_btn span:nth-of-type(3) {
	bottom: 0;
}
.menu_btn.open span:nth-of-type(1) {
	-webkit-transform: translateY(20px) rotate(-45deg);
	transform: translateY(20px) rotate(-45deg);
}
.menu_btn.open span:nth-of-type(2) {
	opacity: 0;
}
.menu_btn.open span:nth-of-type(3) {
	-webkit-transform: translateY(-20px) rotate(45deg);
	transform: translateY(-20px) rotate(45deg);
}

/* -------------------------------------
	nav
----------------------------------------*/
#nav_menu {
	background-image: url(/rd/img/common/nav_bg.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% 100%;
	width: 100%;
	position: fixed;
	z-index: 1000;
	padding: 110px 0;
	display: none;
	overflow: auto;
}
nav li {
	font-size: 80.0%;
	margin: 50px 0 0;
}
nav li first-child {
	margin: 40px 0 0;
}
nav span.en {
	display: block;
	font-size: 46px;
	margin: 0 0 6px;
}

/* -------------------------------------
	footer
----------------------------------------*/

footer {
	background-image: url(/rd/img/common/footer_bd.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: contain;
	padding: 20px 0;
}
footer p {
	font-size: 70.0%;
}

@media screen and (min-width:768px) {
	.mode_sp {
		display: none;
	}
}

/* -------------------------------------
	pagetop
----------------------------------------*/
#totop {
	position: fixed;
	bottom: 100px;
	right: 3%;
	z-index:1000;
	display: none;
}
#totop:hover {
	cursor: pointer;
}

/* -------------------------------------
	foot_nav
----------------------------------------*/
#foot_nav {
	background-color: #f4f4f4;
}
#foot_nav>div {
	max-width: 1090px;
	margin: 0 auto 136px;
}
#foot_nav li {
	text-align: left;
}
#foot_nav h2,
#foot_nav span {
	font-size: 16px;
}
#foot_nav h2,
#foot_nav #pearent>li {
	padding: 30px 0;
	border-bottom: 1px dotted #000;
	line-height: 1.4;
}
#foot_nav .bg_arrow {
	background-image: url(/rd/img/common/footer_arrow.png);
	background-repeat: no-repeat;
	background-position: left 2px;
	background-size: 16px;
	padding: 0 0 0 24px;
}
#foot_nav #pearent li p {
	display: inline;
}
#foot_nav #pearent>li>a>span {
	font-size: 14px;
	margin: 0 0 0 30px;
}
#foot_nav .children {
	margin-top: 30px;
}
#foot_nav .children li {
	background-image: url(/rd/img/common/footer_arrow02.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 9px;
	padding: 0 0 0 22px;
	font-size: 70%;
	line-height: 1.4;
	width: 320px;
	float: left;
	display: table;
	margin-bottom: 20px;
}
#foot_nav .children li:nth-child(3n+1){
	width: 336px;
}
#foot_nav .children li:nth-child(3n+2){
	width: 338px;
}
#foot_nav .children li:nth-child(3n+3){
	width: 343px;
}
#foot_nav .children .cl {
	clear: left;
	width: 380px;
}
#foot_nav .children li span {
	background-image: url(/rd/img/common/footer_bg.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 66px;
	vertical-align: middle;
	font-size: 14px;
	padding: 6px 0 5px 0;
	width: 66px;
	text-align: center;
	display: table-cell;
}
#foot_nav #pearent .children li p {
	vertical-align: middle;
	font-size: 14px;
	display: table-cell;
	padding: 0 0 0 18px;
	line-height: 1.4;
}
/* -------------------------------------
	crossfade
----------------------------------------*/
.crossfade {
	position: relative;
}
.crossfade img {
	margin: auto;
	position: relative;
	z-index: 1;
	display: inline-block;
}
.crossfade .fade_on,
.fade_on{
	position: absolute;
	z-index: 2;
	display: inline-block;
	opacity: 0;
	left: 0;
	right: 0;
}

/* -------------------------------------
	#topic
----------------------------------------*/
#topic {
	border: 1px solid #dcdcdc;
	margin: 30px auto 20px;
	padding: 12px 22px;
}
#topic li,
#topic span {
	font-size: 14px;
	line-height: 1.8;
	text-align: left;
}
#topic li {
	float: left;
}
#topic span {
	margin: 0 20px;
}

/* -------------------------------------
	img_fit
----------------------------------------*/
.page #main .img_fit,
#top .img_fit,
.content .img_fit {
	position: relative;
	height: 100%;
	left: 0;
	width: 100%;
}
.page #main .img_fit img,
#top .img_fit img,
.content .img_fit img {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	height: auto;
	min-height: 100%;
	width: auto;
	min-width: 100%;
	left: -300%;
	right: -300%;
	height: 100%;
}
@media screen and (min-width:1900px) {
	.page #main .img_fit img,
	#top .img_fit img,
	.content .img_fit img {
	height: auto;
}
}
@media screen and (max-width:1200px) {
	/* nav
	-------------------------------*/
	#nav_menu {
		padding: 0 0 0px;
		display: none;
	}
	nav ul {
		padding: 0 0 80px;
	}
	nav li {
		font-size: 60.0%;
		margin: 50px 0;
	}
	nav span.en {
		display: block;
		font-size: 32px;
		margin: 0 0 6px;
	}
	header .logo img {
		left: 1%;
	}
	.menu_btn {
		right: 1%;
	}
	#foot_nav>div {
		min-width: auto;
		width: 94%;
		margin: 0 auto 126px;
	}
	#foot_nav .children li,
	#foot_nav .children li:nth-child(3n+1),
	#foot_nav .children .cl {
		width: 45%;
		clear: none;
	}
	#foot_nav #pearent .children li p,
	#foot_nav .children li span {
		display: block;
	}
	#foot_nav #pearent .children li p {
		padding: 0;
		margin-top: 5px;
	}
	#foot_nav h2, #foot_nav #pearent>li {
		padding: 20px 0;
	}
	#foot_nav .children {
		margin-top: 20px;
	}
	#foot_nav .children>li:last-child {
		margin-bottom: 0;
	}
}
@media screen and (max-width:768px) {
	#totop {
		bottom: 70px;
		right: 0%;
	}
	#totop img {
		width: 60%;
	}
}
@media screen and (max-width:640px) {

	/* common
	-------------------------------*/
	img {
		width: 100%;
	}
	.inner {
		margin: 0 auto;
	}
	/* header
	-------------------------------*/
	header>div {
		height: auto;
	}
	header .logo img{
		width: 15%;
		margin: auto 1%;
	}
	header span {
		font-size: 70.0%;
	}
	header h1 {
		margin: 12px 0;
		line-height: 1.5;
		font-size: 60.0%;
	}
	header span.en {
		font-size: 80.0%;
	}

	/* menu btn
	-------------------------------*/
	.menu_btn,
	.menu_btn span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu_btn {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto 2%;
		width: 30px;
		height: 26px;
		cursor:pointer;
	}
	.menu_btn span:nth-of-type(2) {
		top: 11px;
	}
	.menu_btn.open span:nth-of-type(1) {
		-webkit-transform: translateY(11px) rotate(-45deg);
		transform: translateY(11px) rotate(-45deg);
	}
	.menu_btn.open span:nth-of-type(3) {
		-webkit-transform: translateY(-11px) rotate(45deg);
		transform: translateY(-11px) rotate(45deg);
	}

	/* nav
	-------------------------------*/
	#nav_menu {
		padding: 0 0 0px;
		display: none;
	}
	nav li {
		font-size: 60.0%;
		margin: 30px 0 40px;
	}
	nav span.en {
		display: block;
		font-size: 32px;
		margin: 0 0 6px;
	}
	/* totop
	-------------------------------*/
	#totop {
		bottom: 60px;
		right: 1%;
		width: 16%;
	}
	#totop img{
		width: 80%;
	}
	/* その他
	-------------------------------*/
	.more img {
		width: 56.25%;
	}
	footer p {
		font-size: 60%;
	}
	#foot_nav h2,
	#foot_nav span {
		font-size: 14px;
	}
	#foot_nav .children li {
		float: none;
	}
	#foot_nav #pearent>li>a>span {
		display: block;
		margin: 0 0 0 22px;
	}
	#foot_nav .children li,
	#foot_nav .children li:nth-child(3n+1),
	#foot_nav .children .cl {
		width: 85%;
		margin-left: 16px
	}
	#foot_nav {
		margin: 0 auto 0px;
	}
	/* topic
	-------------------------------*/
	#topic {
		margin: 12px auto 20px;
		padding: 10px 4%;
	}
	#topic span {
		margin: 0 10px;
	}
	.result_inner #topic {
		width: 86%;
	}
}

@media screen and (max-width: 320px) {
	header h1 {
		margin: 10px 0;
		line-height: 1.5;
		font-size: 55%;
	}
	#foot_nav .children li,
	#foot_nav #pearent .children li p {
		font-size: 12px;
	}
}
/* -------------------------------------
	clearfix
----------------------------------------*/
/* For modern browsers */

.cf:before,
.cf:after,
header:before,
header:after,
footer:before,
footer:after,
nav:before,
nav:after,
section:before,
section:after,
article:before,
article:after,
div:before,
div:after,
dl:before,
dl:after,
ul:before,
ul:after {
		content: "";
		display: table;
}

.cf:after,
header:after,
footer:after,
nav:after,
section:after,
article:after,
div:after,
dl:after,
ul:after {
	clear: both;
}
/* For IE 6/7 (trigger hasLayout) */

.cf,
header,
footer,
nav,
section,
article,
div,
dl,
ul {
	zoom: 1;
}

/* SignInButton */
#incFavoriteButtonArea {
	right: 90px;
	top: 15px;
	z-index: 10001;
}
@media screen and (min-width: 1200px) {
	#incFavoriteButtonArea {
		right: calc(((100% - 1200px) / 2) + 90px);
	}
}
@media screen and (max-width: 640px) {
	#incFavoriteButtonArea {
		right: 45px;
		top: 7px;
	}
}
@media screen and (max-width: 320px) {
	#incFavoriteButtonArea {
		right: 40px;
		top: 12px;
	}
	#incFavoriteButtonArea .subnavSignin .menuParent .signout span,
	#incFavoriteButtonArea .subnavSignin .menuParent .signin span,
	#incFavoriteButtonArea .subnavSignin .menuParent .signout a,
	#incFavoriteButtonArea .subnavSignin .menuParent .signin a {
		font-size: 15px;
		padding: 7px;
	}
}
#onetrust-consent-sdk *{
	font-size: 16px;
}
#onetrust-consent-sdk #onetrust-policy-text{
	font-feature-settings: "palt";
}
/* Consent Banner と Privacy Setting Bannerの行間調整(自動) */
.cookie_consent-consent_banner__description,
.cookie_consent-privacy_setting_banner__description,
.cookie_consent-privacy_setting_banner--left .cookie_consent-privacy_setting_banner__description,
.cookie_consent-privacy_setting_banner__category-item-description,
.cookie_consent-vendor_cookie_banner__category-settings-service-description,
.cookie_consent-vendor_cookie_banner__category-settings-service-purpose,
.cookie_consent-vendor_cookie_banner__category-settings-label--nested {
    line-height: normal;
	color: #000;
	text-align: left;
	font-size: 12px;
	font-feature-settings: "palt";
}
/* .cookie_consent-toggle--off,
#cookie_consent_banner_main_app .cookie_consent-toggle--off {
    border-color: #D9D9D9!important;
    background-color: #D9D9D9!important;
    box-shadow: inset 0 0 0 1px #D9D9D9!important;
}
.cookie_consent-toggle--off:before,
#cookie_consent_banner_main_app .cookie_consent-toggle--off::before {
    border-color: #A6A6A6!important;
    background-color: #A6A6A6!important;
} */
.cookie_consent-toggle--on,
#cookie_consent_banner_main_app .cookie_consent-toggle--on {
    border-color: #ccc!important;
    background-color: #ccc!important;
    box-shadow: inset 0 0 0 1px #ccc!important;
}
.cookie_consent-toggle--on:before,
#cookie_consent_banner_main_app .cookie_consent-toggle--on::before {
    border-color: #333!important;
    background-color: #333!important;
}
.cookie_consent-privacy_setting_banner--left .cookie_consent-privacy_setting_banner__category-settings-body,
.cookie_consent-privacy_setting_banner--left .cookie_consent-privacy_setting_banner__category-settings-body div,
.cookie_consent-privacy_setting_banner__category-item-name{
	font-size: 12px;
	text-align: left;
	color: #000;
}
.cookie_consent-privacy_setting_banner--left .cookie_consent-privacy_setting_banner__category-settings-body div.cookie_consent-toggle-wrapper{
	color: #000;
	font-size: 12px;
}
.cookie_consent-toggle-wrapper{
	font-size: 12px;
}
.cookie_consent-privacy_setting_banner__category-item-actions .cookie_consent-toggle-wrapper{
	color: #000;
	font-size: 12px;
}
