@charset "UTF-8";

@font-face {
	font-family: 'GenShinGothic-P';
	src: url("/css/font/GenShinGothic-P-Regular.ttf") format("opentype");
	font-weight: normal; }

@font-face {
	font-family: 'GenShinGothic-P';
	src: url("/css/font/GenShinGothic-P-Medium.ttf") format("opentype");
	font-weight: 500; }

@font-face {
	font-family: 'GenShinGothic-P';
	src: url("/css/font/GenShinGothic-P-Bold.ttf") format("opentype");
	font-weight: bold; }

@font-face {
	font-family: 'GenShinGothic-P';
	src: url("/css/font/GenShinGothic-P-Heavy.ttf") format("opentype");
	font-weight: 900; }

/* ------------------------------------------------
  reset
------------------------------------------------ */
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}

sup {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 60%;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
caption, th{
	text-align:left;
	font-weight: 500;
}

h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:500;
}
area {
	border:none;
	outline:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset, img{
	border:0;
	vertical-align:bottom;
}


/* ------------------------------------------------
  common
------------------------------------------------ */

html,body {
	height: 100%;
}

html {
	scroll-behavior: smooth;
}
html.lock {
	overflow: hidden;
}

@media screen and (min-width: 600px) {
	html.lock body {
		overflow: hidden;
	}
}

body {
	color: #555;
	font-size: 18px;
	font-family: "GenShinGothic-P", "游ゴシック", "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height:1.4;
	letter-spacing: 0.02em;
	background-color: #FFF;
	-webkit-text-size-adjust: 100%;
	font-feature-settings : "palt";
}

#wrapper {
	width: 100%;
	overflow: hidden;
	position: relative;
	padding-top: 60px;
}
@media screen and (max-width: 767px) {
	#wrapper {
		min-width: 375px;
		/*display: none;*/
	}
}

img.liquid {
	width: 100%;
	height: auto;
}


#wrapper .inner {
	max-width: 1040px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}
#wrapper .inner.small {
	max-width: 940px;
}
#wrapper .inner.x-small {
	max-width: 840px;
}
#wrapper .inner.large {
	max-width: initial;
}

/* ----------------------------
  タブレット以下 改行なし
---------------------------- */

@media screen and (max-width: 1000px) {
	.ttl-uborder br,
	#contents-head-sub h1 br,
	#contents-body .lead br {
		display: none;
	}
}




a {
	color: inherit;
	/*outline: none;*/
	text-decoration:none;
}
a:active,
a:focus {
	text-decoration: underline;
}
a:focus {
	outline: solid 2px #f49c24;
}


a:hover,
a:hover span {
	text-decoration: underline;
	outline: none;
}

a.underline {
	text-decoration: underline;
}
a.underline:hover {
	opacity: 0.7;
}

.fade {
	opacity: 1;
	transition: opacity 0.3s ease;
}
.fade:hover {
	opacity: 0.5;
}

.push {
	transform: scale(1);
	transition: transform 0.1s ease;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
.push:hover {
	transform: scale(0.98);
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}

.move {
	transform: translateX(0);
	transition: transform 0.2s ease;
}
.move:hover {
	transform: translateX(10px);
}
@media screen and (max-width: 800px) {
	.fade {
		opacity: 1;
		transition: opacity 0.3s ease;
	}
	.fade:hover {
		opacity: 1!important;
	}

	.push {
		transform: scale(1);
		transition: transform 0.1s ease;
	}
	.push:hover {
		transform: scale(1);
	}

	.move {
		transform: translateX(0);
		transition: transform 0.2s ease;
	}
	.move:hover {
		transform: translateX(0);
	}
}

.cf::before,
.cf::after,
.clearfix::after {
	content: " ";
	display: table;
}
.cf::after,
.clearfix::after {
	clear: both;
}
.cf {
	*zoom: 1;
}

.cb {
	clear: both;
}

@media screen and (max-width: 767px) {

}


/* ------------------------------------------------
  ヘッダー
------------------------------------------------ */
#header {
	background-color: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	border-bottom: 1px solid #dddddd;
}
#header .inner {
	max-width: 1200px;
	padding: 10px 0;
	padding-left: 20px;
	padding-right: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#pc-menu {
	border-top: 1px solid #dddddd;
}


#header a {
	color: #323f4a;
	text-decoration: none;
}

#header .logo {
	width: 197px;
	font-size: 0;
	margin-right: 55px;
}
#header .logo img {
	width: 100%;
	height: auto;
}

#header .chugai-logo {
	font-size: 0;
}
@media screen and (min-width: 768px) and (max-width: 1219px) {
	#header .inner {
		flex-wrap: wrap;
		padding: 10px 0;
	}
	#header nav {
		order: 2;
		width: 100%;
	}
	#header .logo {
		margin-left: 20px;
	}
	#header .chugai-logo {
		border: none;
		padding-right: 10px;
	}
	#header .chugai-logo img {
		width: 100%;
		height: auto;
	}
}
@media screen and (max-width: 767px) {
	#header {
		background-color: #FFF;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		width: 100%;
	}
	#header .inner {
		max-width: 1200px;
		padding: 0;
		position: relative;
		background-color: #FFF;
		flex-wrap: nowrap!important;
	}
	#header a {
		color: #435363;
		text-decoration: none;
	}

	#header .logo {
		width: 37.86666%;
		padding: 0;
		margin-right: 0;
		padding-left: 4%;
	}
	#header .chugai-logo {
		width: 36.53333%;
		width: 27.53333%;
		font-size: 0;
		border: none;
		margin-bottom: 0;
	}
	#header .logo img,
	#header .chugai-logo img {
		max-width: 100%;
		height: auto;
	}
}

#header.simple .inner {
	padding: 18px 0;
}
#header.simple .inner .logo {
	margin: 0 auto;
}


/* ----------------------------
  メニュー
---------------------------- */

@media screen and (min-width: 768px) {
	#sp-menu {
		display: none!important;
	}
}
@media screen and (max-width: 767px) {
	#pc-menu {
		display: none!important;
	}
	#sp-menu {
		display: none;
	}
}



#header nav {
	line-height: 1;
}


#header nav ul.main {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

@media screen and (min-width: 1220px) {
	#header nav ul.main.except {
		padding: 0 30px;
		box-sizing: border-box;
	}
}

#header nav ul.main > li {
	padding: 0 14px;
	text-align: center;
	position: relative;
}
@media screen and (min-width: 768px) {
	#header nav ul.main {
		width: 900px;
		margin: 0 auto;
	}
	#header nav ul.main li a:not(.btn) {
		display: block;
		font-size: 13px;
		font-weight: bold;
		line-height: 1.4;
		padding: 22px 0;
	}
}
#header nav ul.main li a:not(.btn) i {
	display: inline-block;
	width:0;
	height:0;
	clip:rect(0,0,0,0);
	overflow:hidden;
}

/*アクティブ ＆ ホバー*/
#header:not(.isMobile) nav ul.main li > a:hover::after,
#header nav ul.main li.act > a::after {
	content: "";
	display: block;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	pointer-events: none;
}

#header nav ul.main li#p01.act > a,
#header:not(.isMobile) nav ul.main li#p01 > a:hover {
	color: #e94908;
}
#header nav ul.main li#p01.act > a::after,
#header:not(.isMobile) nav ul.main li#p01 > a:hover::after {
	border-color: #e94908;
}

#header nav ul.main li#p02.act > a,
#header:not(.isMobile) nav ul.main li#p02 > a:hover {
	color: #f48d00;
}
#header nav ul.main li#p02.act > a::after,
#header:not(.isMobile) nav ul.main li#p02 > a:hover::after {
	border-color: #f48d00;
}

#header nav ul.main li#p03.act > a,
#header:not(.isMobile) nav ul.main li#p03 > a:hover {
	color: #5dc6ca;
}
#header nav ul.main li#p03.act > a::after,
#header:not(.isMobile) nav ul.main li#p03 > a:hover::after {
	border-color: #5dc6ca;
}

#header nav ul.main li#p04.act > a,
#header:not(.isMobile) nav ul.main li#p04 > a:hover {
	color: #449ebc;
}
#header nav ul.main li#p04.act > a::after,
#header:not(.isMobile) nav ul.main li#p04 > a:hover::after {
	border-color: #449ebc;
}

#header nav ul.main li#p05.act > a,
#header:not(.isMobile) nav ul.main li#p05 > a:hover {
	color: #7abf85;
}
#header nav ul.main li#p05.act > a::after,
#header:not(.isMobile) nav ul.main li#p05 > a:hover::after {
	border-color: #7abf85;
}

#header nav ul.main li#p06.act > a,
#header:not(.isMobile) nav ul.main li#p06 > a:hover {
	color: #608099;
}
#header nav ul.main li#p06.act > a::after,
#header:not(.isMobile) nav ul.main li#p06 > a:hover::after {
	border-color: #608099;
}



#btn-menu {
	display: none;
}
@media screen and (min-width: 768px) and (max-width: 1219px) {
	#header nav ul.main li {
		width: 25%;
		padding: 0 5px;
	}
}

@media screen and (max-width: 767px) {
	#btn-menu {
		display: block;
		width: 12%;
	}
	#btn-menu a {
		display: block;
		width: 100%;
		height: 0;
		padding-top: 100%;
		text-indent: -500%;
		overflow: hidden;
		background-repeat: no-repeat;
		background-image: url(/img/common/sp/btn_menu.png);
		background-size: contain;
	}
	#btn-menu a > .cl {
		display: none;
	}
	#btn-menu.open a {
		background-image: url(/img/common/sp/btn_menu_cl.png);
	}
	#btn-menu.open a > .op {
		display: none;
	}
	#btn-menu.open a > .cl {
		display: inline;
	}


	#header nav {
		text-align: left;
		line-height: 1;
		background-color: #d0d9d0;

		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;

		height: 120vh;
		overflow: auto;
		padding-top: 12%;
		padding-bottom: 20%;
		box-sizing: border-box;
	}


	#header nav ul.main {
		display: block;
		margin-top: 0;
	}
	#header nav ul.main > li,
	#header nav ul.main > li:last-child {
		text-align: left;
		width: auto;
		display: block;
		background: #e7ebe4 url(/img/common/sp/bg_rough.png);
		background-size: 100%;
		padding: 0;
	}
	#header nav ul.main > li + li {
		border-top: 2px solid #FFF;
	}




	#header nav ul.main .major + .major {
		border-top: 2px solid #FFF;
	}
	#header nav ul.main .major a:not(.btn) {
		display: block;
		font-size: 15.5px;
		font-weight: bold;
		position: relative;
		padding: 20px 10px;
		padding-right: 0;
		margin-right: 40px;
	}

	#header nav ul.main ul.minor {
		display: none;
	}

	#header nav ul.main ul.minor li {
		width: 100%;
		background-color: #FFF;
		padding: 18px;
		padding-left: 35px;
		box-sizing: border-box;
	}

	#header nav ul.main ul.minor li + li {
		margin-top: 2px;
	}
	#header nav ul.main > li.dead {
		display: none;
	}
	#header nav ul.main > li .major {
		position: relative;
		padding: 2px;
	}
	#header nav ul.main > li .major.parent .btn {
		display: block;
		width: 19px;
		height: 19px;
		position: absolute;
		top: 20px;
		right: 10px;
		text-decoration: none;
		font-size: 0;
		border: 1px solid #76828b;
		border-radius: 3px;
		box-sizing: border-box;
		margin-top: -1px;
	}
	#header nav ul.main > li .major.parent .btn::before,
	#header nav ul.main > li .major.parent .btn::after {
		content: "";
		display: block;
		background-color: #76828b;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 10;
	}
	#header nav ul.main > li .major.parent .btn::before {
		width: 9px;
		height: 1px;
	}
	#header nav ul.main > li .major.parent .btn::after {
		width: 1px;
		height: 9px;

		top: 0;
		transition: height 0.3s ease;
	}
	#header nav ul.main > li.show .major.parent .btn::after {
		height: 0px;
	}

	#header nav ul.main > li .major.parent .btn > span {
		font-size: 14px;
		text-indent: -1000px;
		display: block;
		overflow: hidden;
	}
	#header nav ul.main > li .major.parent .btn > .cl {
		display: none;
	}
	#header nav ul.main > li.show .major.parent .btn > .op {
		display: none;
	}
	#header nav ul.main > li.show .major.parent .btn > .cl {
		display: block;
	}

	#header nav ul.main .minor a {
		display: block;
		font-size: 14px;
		font-weight: bold;
		line-height: 1.4;
		text-indent: -0.9em;
		padding: 0;
		padding-left: 0.9em;
	}
}

/* ------------------------------------------------
  パンくず
------------------------------------------------ */
#breadcrumbs {
	box-sizing: border-box;
	padding: 0 15px;
	color: #333;
	background-color: #f5f5f5;
	margin-bottom: 43px;
}
#breadcrumbs ol {
	max-width: 1000px;
	margin: 0 auto;
	padding: 5px 0;
}

#breadcrumbs li {
	display: inline-block;
	vertical-align: middle;
}
#breadcrumbs li::after {
	content: "＞";
	display: inline-block;
	vertical-align: middle;
	margin: 0 6px;
	margin-top: 3px;
	font-size: 10px;
	line-height: 1;
}
#breadcrumbs li:last-child::after {
	display: none;
}
#breadcrumbs a {
	color: #333;
	font-size: 12px;
	text-decoration: underline;
}
#breadcrumbs a:hover {
	opacity: 0.6;
}

#breadcrumbs li:last-child a,
#breadcrumbs li:last-child a:hover span {
	text-decoration: none;
	opacity: 1;
	color: #323f4a;
}


/*ホーム*/
#breadcrumbs li:first-child a {
	display: inline-block;
	vertical-align: middle;
	overflow: hidden;
	width: 14px;
	height: 13px;
	background: url(/img/common/bread_home.png) no-repeat;
	background-size: contain;
	text-indent: 200%;
	/*margin-top: -2px;*/
}


@media screen and (max-width: 767px) {
	#breadcrumbs {
		display: none;
	}
}


/* ------------------------------------------------
  コンテンツ
------------------------------------------------ */
#contents {
	padding-bottom: 140px;
}
#contents.pb0 .bg_tracery {
	padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
	#contents {
		padding-bottom: 80px;
	}
	#contents.pb0 .bg_tracery {
		padding-bottom: 50px;
	}
}

#contents.pb0 {
	padding-bottom: 0;
}
#contents img {
	max-width: 100%;
	height: auto;
}

.springboard {
	position: relative;
	z-index: 10;
}




/* ------------------------------------------------
  フッターメニュー
------------------------------------------------ */

#footer-menu {
	background: #323f4a url(/img/common/footer_menu_bg.png) no-repeat 50% 50%;
	background-size: cover;
}
#footer-menu .inner {
	position: relative;
}
#footer-menu nav {
	padding: 60px 0;
}

#footer-menu nav > ul.main {
	display: flex;
	flex-wrap:wrap;
	color: #FFF;
	font-size: 16px;
}
#footer-menu nav > ul.main > li {
	width: 33.33333%;
	padding-left: 40px;
	box-sizing: border-box;
}

#footer-menu nav > ul.main > li:nth-child(n+4) {
	margin-top: 40px;
}
@media screen and (max-width: 767px) {
	#footer-menu {
		background: #323f4a url(/img/common/sp/footer_menu_bg.png) no-repeat 50% 50%;
		background-size: cover;
	}
	#footer-menu .inner {
		position: relative;
		padding: 0 5.33333%;
	}
	#footer-menu nav {
		padding: 45px 0;
	}

	#footer-menu nav > ul.main {
		display: block;
		flex-wrap:wrap;
		color: #FFF;
		font-size: 16px;
	}
	#footer-menu nav > ul.main > li,
	#footer-menu nav > ul.main > li:nth-child(3n + 1),
	#footer-menu nav > ul.main > li:nth-child(3n + 2),
	#footer-menu nav > ul.main > li:nth-child(3n + 3) {
		width: auto;
		padding-left: 0;
		box-sizing: border-box;
	}
	#footer-menu nav > ul.main > li.dead {
		display: none;
	}
	#footer-menu nav > ul.main > li + li,
	#footer-menu nav > ul.main > li:nth-child(n+4) {
		margin-top: 25px;
	}
}



#footer-menu ul.main .major {
	text-indent: -1.8em;
	padding-left: 1.8em;
}
#footer-menu ul.main .major + .major {
	margin-top: 20px;
}
#footer-menu ul.main .major a:not(.btn) {
	font-size: 15px;
	font-weight: bold;
}
#footer-menu ul.main .major a:not(.btn) i {
	display: inline-block;
	width: 0;
	height: 0;
	clip: rect(0,0,0,0);
	overflow: hidden;
}
ul.main .major a:not(.btn)::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 18px;
	height: 16px;
	background-repeat: no-repeat;
	background-size: contain;
	margin-top: -3px;
	margin-right: 10px;
}
@media screen and (max-width: 767px) {
	#footer-menu ul.main .major {
		text-indent: -1.4em;
		padding-left: 1.4em;
	}
	#footer-menu ul.main .major a:not(.btn) {
		font-size: 13px;
		font-weight: bold;
	}
	ul.main .major a:not(.btn)::before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		width: 12px;
		height: 11px;
		background-repeat: no-repeat;
		background-size: contain;
		margin-top: -4px;
		margin-right: 10px;
	}
}

#footer-menu ul.main .minor {
	margin-top: 20px;
	padding-left: 30px;
}
#footer-menu ul.main .minor li {
	text-indent: -1em;
	padding-left: 1em;
}
#footer-menu ul.main .minor li + li {
	margin-top: 10px;
}

#footer-menu ul.main .minor a {
	font-size: 14px;
}
ul.main .minor a::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 10px;
	height: 0;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	margin-right: 5px;
	margin-top: -4px;
}

@media screen and (max-width: 767px) {
	#footer-menu ul.main .minor {
		margin-top: 10px;
		padding-left: 25px;
	}
	#footer-menu ul.main .minor li {
		text-indent: -0.8em;
		padding-left: 0.8em;
	}
	#footer-menu ul.main .minor li + li {
		margin-top: 5px;
	}

	#footer-menu ul.main .minor a {
		font-size: 13px;
	}
	ul.main .minor a::before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		width: 8px;
		height: 0;
		border-bottom-style: solid;
		border-bottom-width: 1px;
		margin-right: 5px;
		margin-top: -4px;
	}
}

/* ----------------------------
  個別
---------------------------- */

/*col01*/
.col01 .major a:not(.btn)::before {
	background-image: url(/img/common/cate_01_arrow.png);
}
.col01 .minor a:not(.btn)::before {
	border-bottom-color: #e94908;
}
@media screen and (max-width: 767px) {
	.col01 .major a:not(.btn)::before {
		background-image: url(/img/common/sp/cate_01_arrow.png);
	}
	.col01 .minor a:not(.btn)::before {
		border-bottom-color: #e94908;
	}
}

/*col02*/
.col02 .major a:not(.btn)::before {
	background-image: url(/img/common/cate_02_arrow.png);
}
.col02 .minor a:not(.btn)::before {
	border-bottom-color: #f49c24;
}
@media screen and (max-width: 767px) {
	.col02 .major a:not(.btn)::before {
		background-image: url(/img/common/sp/cate_02_arrow.png);
	}
	.col02 .minor a:not(.btn)::before {
		border-bottom-color: #f49c24;
	}
}

/*col03*/
.col03 .major a:not(.btn)::before {
	background-image: url(/img/common/cate_03_arrow.png);
}
.col03 .minor a:not(.btn)::before {
	border-bottom-color: #78c9cc;
}
@media screen and (max-width: 767px) {
	.col03 .major a:not(.btn)::before {
		background-image: url(/img/common/sp/cate_03_arrow.png);
	}
	.col03 .minor a:not(.btn)::before {
		border-bottom-color: #78c9cc;
	}
}

/*col04*/
.col04 .major a:not(.btn)::before {
	background-image: url(/img/common/cate_04_arrow.png);
}
.col04 .minor a:not(.btn)::before {
	border-bottom-color: #449ebc;
}
@media screen and (max-width: 767px) {
	.col04 .major a:not(.btn)::before {
		background-image: url(/img/common/sp/cate_04_arrow.png);
	}
	.col04 .minor a:not(.btn)::before {
		border-bottom-color: #449ebc;
	}
}

/*col05*/
.col05 .major a:not(.btn)::before {
	background-image: url(/img/common/cate_05_arrow.png);
}
.col05 .minor a:not(.btn)::before {
	border-bottom-color: #aad6b1;
}
@media screen and (max-width: 767px) {
	.col05 .major a:not(.btn)::before {
		background-image: url(/img/common/sp/cate_05_arrow.png);
	}
	.col05 .minor a:not(.btn)::before {
		border-bottom-color: #aad6b1;
	}
}

/*col06*/
.col06 .major a:not(.btn)::before {
	background-image: url(/img/common/cate_06_arrow.png);
}
.col06 .minor a:not(.btn)::before {
	border-bottom-color: #aad6b1;
}
@media screen and (max-width: 767px) {
	.col06 .major a:not(.btn)::before {
		background-image: url(/img/common/sp/cate_06_arrow.png);
	}
	.col06 .minor a:not(.btn)::before {
		border-bottom-color: #aad6b1;
	}
}


/* ------------------------------------------------
  汎用パーツ
------------------------------------------------ */

/* ----------------------------
  下線タイトル
---------------------------- */
.ttl-uborder {
	font-size: 26px;
	font-weight: 500;
	color: #666e7c;
	padding-bottom: 23px;
	margin-bottom: 20px;
	position: relative;
	text-indent: -2.1em;
	padding-left: 2.1em;
}
.ttl-uborder::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 44px;
	height: 25px;
	background-image: url(/img/common/ttl-uborder-icon.png);
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 10px;
	margin-top: -4px;
}
.ttl-uborder::after {
	content: "";
	display: block;
	width: 100%;
	height: 4px;
	border-radius: 10px;
	background-repeat: repeat-y;
	background-position: 0 0;
	background-size: contain;
	position: absolute;
	bottom: 0;
	left: 0;
	text-indent: 0;
}

@media screen and (max-width: 767px) {
	.ttl-uborder {
		font-size: 18px;
		font-weight: 500;
		color: #666e7c;
		padding-bottom: 15px;
		margin-bottom: 13px;
		position: relative;
		text-indent: -2.25em;
		padding-left: 2.25em;
	}
	.ttl-uborder::before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		width: 30px;
		height: 17px;
		background-image: url(/img/common/ttl-uborder-icon.png);
		background-repeat: no-repeat;
		background-size: contain;
		margin-right: 10px;
		margin-top: -4px;
	}
	.ttl-uborder::after {
		content: "";
		display: block;
		width: 100%;
		height: 4px;
		border-radius: 10px;
		background-repeat: repeat-y;
		background-position: 0 0;
		background-size: 100px;
		position: absolute;
		bottom: 0;
		left: 0;
		text-indent: 0;
	}
}


/* ----------------------------
  ポイントカラータイトル
---------------------------- */
.pointcolor-ttl {
	font-size: 20px;
	font-weight: 500;
	color: #666e7c;
	margin-bottom: 10px;
}
* + .pointcolor-ttl {
	margin-top: 25px;
}
.pointcolor-ttl::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 15px;
	height: 15px;
	border-radius: 4px;
	margin-top: -4px;
	margin-right: 8px;
}

#contents.category-04 .pointcolor-ttl::before {
	background-color: #449ebc;
}
#contents.category-05 .pointcolor-ttl::before {
	background-color: #7abf85;
}
@media screen and (max-width: 767px) {
	.pointcolor-ttl {
		font-size: 14px;
		font-weight: 500;
		color: #666e7c;
		margin-bottom: 10px;
	}
	* + .pointcolor-ttl {
		margin-top: 25px;
	}
	.pointcolor-ttl::before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		width: 10px;
		height: 10px;
		border-radius: 2px;
		margin-top: -4px;
		margin-right: 8px;
	}

	#contents.category-04 .pointcolor-ttl::before {
		background-color: #449ebc;
	}
	#contents.category-05 .pointcolor-ttl::before {
		background-color: #7abf85;
	}
}


/* ----------------------------
  汎用リスト
---------------------------- */
* + ul.list {
	margin-top: 20px;
}

ul.list li {
	font-size: 18px;
	font-weight: normal;
	color: #555;
	margin-bottom: 10px;
	text-indent: -1.1em;
	padding-left: 1.2em;
}
ul.list li::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 7px;
	height: 7px;
	background-color: #a2abb2;
	border-radius: 100px;
	margin-top: -2px;
	margin-right: 15px;
}
@media screen and (max-width: 767px) {
	* + ul.list {
		margin-top: 20px;
	}

	ul.list li {
		font-size: 13px;
		font-weight: normal;
		color: #555;
		margin-bottom: 10px;
		text-indent: -0.9em;
		padding-left: 0.9em;
	}
	ul.list li::before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		width: 5px;
		height: 5px;
		background-color: #a2abb2;
		border-radius: 100px;
		margin-top: -3px;
		margin-right: 7px;
	}
}

* + ol.list {
	margin-top: 20px;
}

ol.list li {
	font-size: 18px;
	font-weight: normal;
	color: #555;
	margin-bottom: 10px;
	text-indent: -1.1em;
	padding-left: 1.2em;
}
ol.list li::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 7px;
	height: 7px;
	background-color: #a2abb2;
	border-radius: 100px;
	margin-top: -2px;
	margin-right: 15px;
}
@media screen and (max-width: 767px) {
	* + ol.list {
		margin-top: 20px;
	}

	ol.list li {
		font-size: 13px;
		font-weight: normal;
		color: #555;
		margin-bottom: 10px;
		text-indent: -0.9em;
		padding-left: 0.9em;
	}
	ol.list li::before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		width: 5px;
		height: 5px;
		background-color: #a2abb2;
		border-radius: 100px;
		margin-top: -3px;
		margin-right: 7px;
	}
}

/* ------------------------------------------------
  フッター
------------------------------------------------ */
#footer {
	background-color: #3d424a;
	width: 100%;
}
#footer,
#footer a {
	font-size: 11px;
	color: #FFF;
}
#footer .inner {
	max-width: 1000px;
	padding: 15px;
}

#footer nav {
	float: left;
}
#footer nav li {
	display: inline-block;
	line-height: 1;
}
#footer nav li+ li {
	margin-left: 20px;
}
#footer .copy {
	float: right;
	font-size: 11px;
	text-align: right;
}


@media screen and (max-width: 767px) {
	#footer {
		background-color: #3d424a;
		width: 100%;
	}
	#footer,
	#footer a {
		font-size: 10px;
	}
	#footer .inner {
		max-width: 1000px;
		padding: 5.33333%;
	}

	#footer nav {
		float: none;
		text-align: center;
	}
	#footer nav li {
		display: inline-block;
		line-height: 1;
	}
	#footer nav li+ li {
		margin-left: 20px;
	}
	#footer .copy {
		float: none;
		font-size: 10px;
		text-align: center;
		margin-top: 10px;
	}
}


/* ------------------------------------------------
  汎用パーツ
------------------------------------------------ */





/* ----------------------------
  注釈箇条書き
---------------------------- */
ul.cap {
	margin-top: 20px;
}
ul.cap li {
	text-indent: -1.8em;
	padding-left: 1.8em;
	font-size: 13px;
}
ul.cap li + li {
	margin-top: 3px;
}
ul.cap.separate li + li {
	margin-top: 10px;
}

ul.cap .set_url {
	text-decoration: underline;
	word-break: break-all;
}

/*0桁*/
ul.cap li.d0 {
	text-indent: 0;
	padding-left: 0;
}

/*1桁*/
ul.cap li.d1 {
	text-indent: -1.1em;
	padding-left: 1.1em;
}
/*2桁*/
ul.cap li.d10 {
	text-indent: -2.2em;
	padding-left: 2.2em;
}
@media screen and (max-width: 767px) {
	ul.cap {
		margin-top: 10px;
	}
	ul.cap li {
		text-indent: -1.8em;
		padding-left: 1.8em;
		font-size: 11px;
		letter-spacing: 0;
	}
	ul.cap li + li {
		margin-top: 3px;
	}
}


/* ------------------------------------------------
  作成日
------------------------------------------------ */
#creation_date {
	margin-top: 20px;
	text-align: right;
}
#creation_date .date {
	font-size: 12px;
	font-weight: bold;
}


/*------------------------------------------------
その他
------------------------------------------------*/

#header noscript {
	display: block;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	background-color: #F00;
	padding: 5px;
	margin: 0 auto;
}

#pagetop {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 900;
	margin: auto;
	width: 100%;
	/*max-width: 1200px;*/
	height: 0;
	background-color: #F00;
	box-sizing: border-box;
}
#pagetop.dead-end {
	position: absolute;
}
#pagetop a {
	position: absolute;
	right: 10px;
	bottom: -150px;
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 100px;
	background: url(/img/common/pagetop.png) no-repeat;
	background-size: contain;
	overflow: hidden;
	text-indent: -300%;
	opacity: 1;
	transition: bottom 0.3s ease;
}
#pagetop a.show {
	bottom: 40px;
}
#pagetop.none {
	display: none !important;
}

/*ランドスケープ時*/
#wrapper.landscape #pagetop a {
	bottom: -150px;
}
#wrapper.landscape #pagetop a.show {
	bottom: 15px;
}

@media screen and (max-width: 767px) {
	#pagetop a {
		position: absolute;
		right: 10px;
		bottom: -150px;
		display: block;
		width: 45px;
		height: 45px;
		border-radius: 100px;
		background: url(/img/common/pagetop.png) no-repeat;
		background-size: contain;
		overflow: hidden;
		text-indent: -300%;
		opacity: 1;
		transition: opacity 0.3s ease,
			bottom 0.3s ease;
	}
	#pagetop a.show {
		bottom: 20px;
	}
}


/* ----------------------------
  モーダル
---------------------------- */
.remodal {
	max-width: 864px;
	width: 100%!important;
	font-size: 0;
}
.remodal-overlay {
	background: rgba(0,0,0,0.6) !important;
}

.remodal-wrapper.remodal-is-opened {
    padding-top: 60px;
    padding-bottom: 60px;
}

.internal {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.internal .btn_close {
	position: absolute;
	top: -40px;
	right: 0;
	z-index: 10;
}
.internal .btn_close:hover {
	opacity: 0.7;
}

.internal iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
@media screen and (max-width: 767px) {
	.remodal-wrapper.remodal-is-opened {
	    padding-top: 30px;
	    padding-bottom: 30px
	}

	.internal .btn_close {
		width: 15px;
		height: 15px;
		position: absolute;
		top: -20px;
		right: 0;
		z-index: 10;
	}
	.internal .btn_close img {
		width: 100%;
		height: auto;
	}
}


/* ----------------------------
  外部サイトリンク
---------------------------- */
#modal-link {
	max-width: 880px;
	box-sizing: border-box;
	padding: 65px 30px;
	background-color: #FFF;
	position: relative;
}
#modal-link .ex-ttl {
	font-size: 22px;
	font-weight: bold;
	color: #596875;
	text-align: center;
	margin-bottom: 25px;
}
#modal-link .ex-txt {
	font-size: 18px;
	line-height: 1.8;
	text-align: center;
	margin-bottom: 30px;
}

#modal-link .ex-btn {
	color: #e94a08;
	text-align: center;
}
#modal-link .ex-btn a {
	display: inline-block;
	min-width: 350px;
	border: 1px solid #e94a08;
	padding: 17px 25px;
	box-sizing: border-box;
	font-size: 14px;
	font-weight: bold;
	color: #e94a08;
	text-align: center;
	text-decoration: none;
}
#modal-link .ex-btn a:hover {
	text-decoration: underline;
}
#modal-link .ex-btn a::after {
	content: "";
	display: inline-block;
	background: url(/img/common/btn_link_arrow.png) no-repeat;
	width: 15px;
	height: 7px;
	vertical-align: middle;
	margin-left: 8px;
	margin-top: -2px;
}

#modal-link .btn-close {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 10;
}

.remodal-overlay {
	background-color: rgba(122,138,152,0.3);
}
@media screen and (max-width: 767px) {
	#modal-link {
		width: 100%;
		box-sizing: border-box;
		padding: 30px 20px;
		background-color: #FFF;
		position: relative;
	}
	#modal-link .ex-ttl {
		font-size: 16px;
		font-weight: bold;
		color: #596875;
		text-align: center;
		margin-bottom: 15px;
	}
	#modal-link .ex-txt {
		font-size: 13px;
		line-height: 1.8;
		text-align: center;
		margin-bottom: 20px;
	}

	#modal-link .ex-btn {
		color: #e94a08;
		text-align: center;
	}
	#modal-link .ex-btn a {
		display: block;
		min-width: 0;
		border: 1px solid #e94a08;
		padding: 10px;
		box-sizing: border-box;
		font-size: 12px;
		font-weight: bold;
		color: #e94a08;
		text-align: center;
		text-decoration: none;
	}
	#modal-link .ex-btn a:hover {
		text-decoration: underline;
	}
	#modal-link .ex-btn a::after {
		content: "";
		display: inline-block;
		background: url(/img/common/sp/btn_link_arrow.png) no-repeat;
		background-size: contain;
		width: 10px;
		height: 6px;
		vertical-align: middle;
		margin-left: 5px;
		margin-top: -2px;
	}

	#modal-link .btn-close {
		display: block;
		width: 30px;
		height: 30px;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 10;
	}
	#modal-link .btn-close img {
		width: 100%;
		height: auto;
	}

	.remodal-overlay {
		background-color: rgba(122,138,152,0.3);
	}
}


.sp_disp {
	display: none!important;
}

@media screen and (max-width: 767px) {
	.pc_disp {
		display: none!important;
	}
	.sp_disp {
		display: block!important;
	}
	table.sp_disp {
		display: table!important;
	}
	tbody.sp_disp {
		display: table-row-group!important;
	}
	img.sp_disp {
		display: inline-block!important;
	}
	br.sp_disp {
		display: inline!important;
	}
}