@charset "utf-8";
/* ------------------------------------- */
/* デフォルト設定(各種問題回避・ブラウザ毎の初期設定の影響回避) */
/* ------------------------------------- */
body, header, footer, address, p, h1, h2, h3, h4, h5, h6, ul, li, a, div, img, form, select, dl, dt, dd, ol, section, article, figure, figcaption {
    padding: 0;
    margin:  0;
}
figure, figcaption {
	display: block;
}
ul, li, dl, dt, dd {
	display: block;
}
li {
	list-style:none;
}
i {
	font-style: normal;
}
a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
	vertical-align: bottom;
}
img {
	backface-visibility: hidden;
	border: 0px;
	vertical-align: bottom;
}
h1,h2,h3,h4,h5,h6 {
	display: inline-block;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}
input, select {
	margin: 0;
	padding: 0;
	font-size: inherit;
	border: none;
	font-family: inherit;
}
textarea {
	font-size: inherit;
	font-family: inherit;
}
main, header, footer, nav, section {
	display: block;
}
#main {
	width: 100%;
	overflow: hidden;
	position: relative;
}
small {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}
svg {
	display: block;
}
/* ------------------------------------- */
/* iOSなどのプラットフォーム独自の装飾仕様をクリア */
/* ------------------------------------- */
* {
	-webkit-appearance: none;
	border-radius: 0;
}
input[type=radio] {
    -webkit-appearance: radio;
	border-radius: 0;
}
/* ------------------------------------- */
/* デフォルト設定(汎用演出用) */
/* ------------------------------------- */
/* Hover時:半透過 */
.hover,
.hover img,
.hover div {
	transition: 0.6s;
}
.hover:hover,
.hover:hover img,
.hover:hover div {
	opacity: 0.7;
}
/* Hover時:半透色 */
.hover2,
.hover2 img,
.hover2 div {
	transition: .3s ease-in-out;
}
.hover2:hover,
.hover2:hover div {
	background: #CCE2EF;
}
/* 常時:アンダーライン表示 */
.underline {
	text-decoration: underline;
}
/* Hover時:アンダーライン表示／非表示 */
.underlineN:hover {
	text-decoration: underline;
}
a:hover > .underlineN {
	text-decoration: underline;
}
.underlineU {
    text-decoration: underline;
    cursor: pointer;
}
.underlineU:hover {
	text-decoration: none;
}
a:hover > .underlineU {
	text-decoration: none;
}
.underlineMove {
	position: relative;
	transition: .3s;
	line-height: 1 !important;
}
.underlineMove::before,
.underlineMove::after {
	content: '';
	width: 0;
	height: 1px;
	background-color: #ffffff;
	transition: .3s;
	position: absolute;
	bottom: 0;
	left: 0;
}
.underlineMove::before,
.underlineMove:hover::after {
	width: 100%;
	z-index: -1;
}
.underlineMove:hover::before {
	display: none;
}
@media screen and (max-width: 750px) {
	.hover,
	.hover img,
	.hover div {
		transition: none 0 ease 0;
	}
	.hover:hover,
	.hover:hover img,
	.hover:hover div {
		opacity: 1;
	}
	.hover2,
	.hover2 img,
	.hover2 div {
		transition: none 0 ease 0;
	}
	.hover2:hover,
	.hover2:hover div {
		background: inherit;
	}
	.underlineMove {
		transition: 0;
	}
	.underlineMove::after {
		content: '';
		width: 100%;
		height: 1px;
		transition: 0;
	}
}
/* ------------------------------------- */
/* IE11読み込み時のtransition防止 */
/* ------------------------------------- */
.preload * {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
}
/* ------------------------------------- */
/* デフォルト設定(サイト毎) */
/* ------------------------------------- */
html {
	font-size: 625%; /* 100px(最小文字制限対策で大き目に設定) */
}
body {
	width:100%;
	height:100%;
	color: #333333;
	-webkit-text-size-adjust:100%;
	background: #ffffff;
	letter-spacing: normal;
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 0.1rem;
	line-height:1.4;
	position: relative;
}
@media screen and (min-width: 751px) {
	body { min-width: 1120px; }
}
@media screen and (max-width: 750px) {
	html {
		font-size: 625%;
	}
}
/* ------------------------------------- */
/* スマホ対応用 */
/* ------------------------------------- */
.cd_sp_only {
    display: none !important;
}
@media screen and (max-width: 750px) {
	body { width: 750px; min-width: auto; min-width: initial; }

	.cd_pc_only { display: none   !important; }
	div.cd_sp_only { display: block  !important; }
	ul.cd_sp_only { display: block  !important; }
	li.cd_sp_only { display: block  !important; }
	dd.cd_sp_only { display: block  !important; }

	br.cd_sp_only,
	span.cd_sp_only,
	img.cd_sp_only {
		display: inline !important;
	}
	svg.cd_sp_only {
		display: block !important;
	}
}
/* ================================================================ */
/* Adobe Font ちらつき対策                                          */
/* ================================================================ */
html {
	visibility: hidden;
}
html.wf-active {
	visibility: visible;
}
