@charset "utf-8";
/* ===========================================================

	Title: common.css
	Created: 2018-1-25

=========================================================== */
/*

	body
	header
	global-navigation
	contens
	main
	aside
	topicpath
	btPageTop
	footer


=========================================================== */
/*

	body

=========================================================== */
	
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Noto+Sans+JP:wght@300;400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap');

html {
	font-size: 62.5%
}
body {
	font-family: 'Noto Sans JP', "游ゴシック", "YuGothic", "メイリオ", Meiryo, sans-serif;
	font-weight: 500;
	color: #111;
	text-align: center;
	font-size: 16px;
	font-size: 1.3rem;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-feature-settings : "palt" 1;
}
html * {
	max-height: 999999px;
} /* Chrome font size adjust  */

.contents p{
	font-size: 16px;

}
/* ===========================================================

	header

=========================================================== */
header {
	position: relative;
	background: #fff;
	height: 170px;
}
/* header
----------------------------------------------------------- */
.header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	z-index: 99999;
	max-width: 1240px;
	margin: 0 auto;
	height: 96px;
}
@media screen and (max-width: 820px) {
	header {
		position: fixed;
		border-bottom: solid 1px #ddd;
		background: #fff;
		width: 100%;
		height: 56px;
		z-index: 99999;
		top: 0;
		left: 0;
	}
	.header {
		width: 100%;
		height: 1px;
	}
}

/* logo
----------------------------------------------------------- */
.header h1 {
	margin: 0;
	padding: 0;
	font-size: 11px;
}
@media screen and (max-width: 820px) {
	.header h1 {
		padding: 60px 0 0 30px;
	}
	.header h1 a img {
		width: auto;
		height: 40px;
	}
}

/* header--group
----------------------------------------------------------- */
/* @media screen and (min-width: 819px) { */
	.header .header-group{
		display: flex;
		align-items: center;
	}
	.header .header--sponsor{
		padding: 0;
		margin: 0;
		position: relative;
		font-size: 16px;
	}
	.header .header--ponsor-logo {
		margin: 0;
		width: 371px;
	}
	.header .header--ponsor-logo img{
		width: 100% !important;
		height: 100% !important;
		vertical-align: bottom;
	}
	/* .header .header--apply a {
		display: block;
		padding: 15px 37px 15px 30px;
		border-radius: 45px;
		line-height: 25px;
		text-align: center;
		background-color: var(--deepGrey);
		color: #fff;
		font-size: 16px;
		position: relative;
	} */
	/* .header .header--apply a:hover{
		transform: translateX(5px);
	}
	.header .header--apply a:after{
		content: '';
		width: 10px;
		height: 10px;
		border: 0;
		border-top: solid 2px var(--white);
		border-right: solid 2px var(--white);
		position: absolute;
		top: 50%;
		right: 7%;
		margin-top: -5px;
		transform: rotate(45deg);
	}
	.header .header--apply a:hover {
		text-decoration: none;
		background-color: var(--red);
	} */
/* } */
@media screen and (max-width: 820px) {
	.header .header-group{
		display: none;
	}
	.header--apply {
		position: absolute;
		top: 0;
		right: 45px;
		font-size: 13px;
		font-size: 1.3rem;
	}
	.header--apply a, .header--apply a:link, .header--apply a:visited {
		display: block;
		width: 30px;
		height: 30px;
		line-height: 30px;
		color: #fff;
		background-color: transparent;
		border-bottom: none;
	}
	.header--apply a:hover {
		text-decoration: none;
	}
	.header--apply a span {
		display: block;
		/*　Scott Kellum Method */
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
	}
	.header--apply a:before {
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		width: 30px;
		height: 30px;
		line-height: 30px;
		content: "EN";
		font-weight: bold;
		display: inline-block;
		text-indent: 0;
		z-index: 1;
	}
}

/* -----------------------------------------------------------

	global-navigation

----------------------------------------------------------- */
.global-navigation {
	display: flex;
	align-items: center;
	height: 74px;
	width: 100%;
	background-color: var(--red);
}
.global-navigation ul.gn {
	width: 1240px;
	margin: 0 auto;
	min-width: 820px;
	display: flex;
	justify-content: center;
}
.global-navigation ul.gn a:hover {
	text-decoration: none;
}

/* gn__primary
........................................................... */
.global-navigation > ul.gn > li {
	position: relative;
	float: left;
}
.global-navigation > ul.gn > li:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 1px;
	height: 25px;
	margin-top: -10px;
	background-color: #dddddd69;
}
/* .global-navigation > ul.gn > li:last-child:after{
	display: none;
} */
.global-navigation > ul.gn > li:last-of-type:after{
	display: none;
}

.global-navigation ul.gn > a {
	display: none;
}
.global-navigation ul.gn li a.gn__primary {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 200px;
	line-height: 20px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--white);
	height: 74px;
}
.global-navigation ul.gn li a.gn__primary:hover{
	
}
.global-navigation ul.gn li a.gn__primary .global-navigation__menu--ja {
	font-weight: 500;
	font-size: 16px;
	display: block;
}
.global-navigation ul.gn li a.gn__primary .global-navigation__menu--en {
	font-weight: 500;
	font-size: 12px;
	display: block;
}
.global-navigation ul.gn li a.gn__primary:hover,
.global-navigation ul.gn li a.gn-over {
	opacity: .7;
	transition: all .2s ease-in-out;
}

#about .global-navigation ul.gn li#gn__about a.gn__primary, 
#company .global-navigation ul.gn li#gn__company a.gn__primary, 
#archive .global-navigation ul.gn li#gn__archive a.gn__primary, 
#braodcast .global-navigation ul.gn li#gn__braodcast a.gn__primary, 
#schedule .global-navigation ul.gn li#gn__schedule a.gn__primary,
#sponsors .global-navigation ul.gn li#gn__sponsors a.gn__primary {
	position: relative;
}
#about .global-navigation ul.gn li#gn__about a.gn__primary:after, 
#company .global-navigation ul.gn li#gn__company a.gn__primary:after, 
#archive .global-navigation ul.gn li#gn__archive a.gn__primary:after, 
#broadcast .global-navigation ul.gn li#gn__broadcast a.gn__primary:after, 
#schedule .global-navigation ul.gn li#gn__schedule a.gn__primary:after,
#sponsors .global-navigation ul.gn li#gn__sponsors a.gn__primary:after {
	content: "";
	position: absolute;
	height: 1px;
	width: 80%;
	bottom: 15%;
	left: 10%;
	background-color: var(--white);
}
@media (820px < width < 1216px ) {
	.global-navigation ul.gn li a.gn__primary{
		width: 130px;
	}
	.global-navigation ul.gn li a.gn__primary .global-navigation__menu--ja{
		font-size: 12px;
	}
	.global-navigation ul.gn li a.gn__primary .global-navigation__menu--en{
		font-size: 11px;
	}
}

/* gn__secondary
........................................................... */
.global-navigation ul.gn .gn__secondary {
	display: none;
	position: absolute;
	top: 71px;
	left: 50%;
	z-index: 999900;
	width: 240px;
	margin: 0 0 0 -120px;
	text-align: left;
	background-color: var(--white);
	border: 1px solid #dddddd69;
	border-top: 2px solid var(--red);
	padding: 15px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.global-navigation ul.gn li#gn-ir .gn__secondary {
	left: inherit;
	right: 0;
	margin: 0 -20px 0 0;
}
.global-navigation ul.gn .gn__secondary li {
	margin: 0;
	font-size: 13px;
	font-size: 1.3rem;
}
.global-navigation ul.gn .gn__secondary li ul {
	display: none;
}
.global-navigation ul.gn .gn__secondary li a {
	display: block;
	padding: 6px 10px 6px 20px;
	color: var(--deepGrey);
	position: relative;
}
.global-navigation ul.gn .gn__secondary li a:before {
	position: absolute;
	top: 12px;
	left: 5px;
	content: "";
	vertical-align: middle;
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: 1px solid var(--deepGrey);
	border-right: 1px solid var(--deepGrey);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.global-navigation ul.gn .gn__secondary li a:hover:before{
	border-top: 1px solid var(--white);
	border-right: 1px solid var(--white);
}
.global-navigation ul.gn .gn__secondary li a:link, .global-navigation ul.gn .gn__secondary li a:visited {
	color: var(--deepGrey);
	text-decoration: none;
}
.global-navigation ul.gn .gn__secondary li a:hover {
	color: var(--white);
	background-color: var(--red);
	/* background-color: rgba(228,17,28,0.5); */
}
.global-navigation ul.gn .gn__secondary li a.current {
	background-color: rgba(255,255,255,1.00);
	color: #018ccf;
}
.global-navigation ul.gn .gn__secondary li a.current:before {
	border-top: 1px solid #018ccf;
	border-right: 1px solid #018ccf;
}

/* ===========================================================


	slicknav_nav


=========================================================== */
.slicknav_menu {
	display: none;
}
.slicknav-sponsor {
	display: none;
}
@media screen and (max-width: 820px) {
	.global-navigation {
		position: static;
		top: 0;
		right: 0;
		width: 100%;
		margin: 0;
		height: 56px;
		background-color: var(--white);
	}
	.gn {
		display: none !important;
	}
	/* -----------------------------------------------------------

		slicknav_menu

	----------------------------------------------------------- */
	.slicknav_menu {
		font-size: 16px;
		position: absolute;
		top: 0;
		right: 0;
	 	zoom: 1;
		display: block;
		padding: 0;
		min-width: 100%;
		z-index: 10;
	}
	.slicknav_menu * {
		box-sizing: border-box;
	}
	.slicknav_menu * {
		box-sizing: border-box;
	}
	.slicknav_menu:before {
		content: " ";
		display: table;
	}
	.slicknav_menu:after {
		content: " ";
		display: table;
		clear: both;
	}
	.slicknav_menu_inner {
		height: 100%;
		position: relative;
		overflow: scroll;
		overflow-x: hidden;
		overflow-y: auto;
	}
	/* -----------------------------------------------------------

		slicknav_btn

	----------------------------------------------------------- */
	.slicknav_btn {
		position: relative;
		z-index: 2;
		text-decoration: none;
		display: block;
		vertical-align: middle;
		float: right;
		width: 56px;
		height: 56px;
		cursor: pointer;
	}
	.slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar {
		margin-top: 7px;
	}
	.slicknav_menu .slicknav_menutxt {
	}
	.slicknav_menu .slicknav_icon {
		position: absolute;
		display: block;
		width: 50px;
		height: 50px;
		top: 5px;
	}
	.slicknav_menu .slicknav_no-text {
		margin: 0;
	}
	.slicknav_menu .slicknav_icon-bar {
		display: block;
		width: 30px;
		height: 2px;
		margin: 14px 0 0 5px;
		transition: .3s ease-in-out;
		background-color: var(--red);
	}
	/* slicknav_open
	........................................................... */
	.slicknav_menu .slicknav_open {
	}
	.slicknav_menu .slicknav_open .slicknav_icon-bar {
		background-color: var(--red);
	}
	.slicknav_menu .slicknav_open .slicknav_icon-bar:first-child {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		margin-top: 22px;
	}
	.slicknav_menu .slicknav_open .slicknav_icon-bar:nth-of-type(2) {
		opacity: 0
	}
	.slicknav_menu .slicknav_open .slicknav_icon-bar:last-child {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		margin-top: -11px;
	}
	/* -----------------------------------------------------------

		slicknav_nav

	----------------------------------------------------------- */
	.slicknav_nav {
		clear: both;
		text-align: left;
		background-color: var(--red);
		color: #fff;
		/*navi scroll*/
		width: 100% !important;
		height: 100%;
		position: fixed;
		z-index: 99999;
		margin: 0;
		padding: 0 0 80px;
		top: 56px;
		left: 0;
		overflow: scroll !important;
		display: block;
	}
	.slicknav_nav li {
		display: block;
		margin: 0;
		padding: 0;
		clear: both;
	}
	.slicknav_nav a.gn__primary {
		display: block !important;
		padding: 15px 20px !important;
		color: #fff;
		font-weight: bold;
		border-bottom: 1px solid rgba(255, 255, 255, .3);
		font-size: 15px;
	}
	.slicknav_nav a.gn__primary br {
		display: none;
	}
	.slicknav_nav a.gn__primary:hover {
		text-decoration: none !important;
	}
	.slicknav_nav a.gn__primary span {
		color: #fff;
	}
	.slicknav_nav ul.gn__secondary {
		display: block;
		overflow: hidden;
		width: 100% !important;
		margin: 0 !important;
		padding: 0;
		background-color: #fff;
	}
	.slicknav_nav ul li + li {
		/* border-top: solid 1px #ddd; */
	}
	.slicknav_nav ul li a {
		position: relative;
		display: block;
		padding: 15px 40px 15px 35px;
		text-decoration: none;
		color: #111;
		line-height: 18px;
	}
	.slicknav_nav ul li a:before {
		position: absolute;
		content: " ";
		vertical-align: middle;
		top: 53%;
		left: 10px;
		width: 6px;
		height: 6px;
		margin: -5px 0 0;
		border-top: 1px solid var(--deepGrey);
		border-right: 1px solid var(--deepGrey);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	/* 3rd */
	.slicknav_nav ul li ul {
		border-top: solid 1px #245897;
		padding-left: 20px;
	}
	/* slicknav option */
	.slicknav_nav .slicknav_arrow {
	}
	.slicknav_nav .slicknav_item {
		position: relative;
		cursor: pointer;
	}
	.slicknav_nav .slicknav_item .slicknav_arrow i {
		position: absolute;
		right: 6px;
		bottom: 0;
		width: 50px;
		height: 100%;
		line-height: 45px;
		text-align: center;
		color: #fff;
		/* border: solid 1px rgba(255,255,255,0.2); */
		font-size: 25px;
		/* background-color: var(--grey); */
	}
	.slicknav_nav .slicknav_item .slicknav_arrow i.icon-plus:before {
		content: "+" !important;
	}
	.slicknav_nav .slicknav_item .slicknav_arrow i.icon-minus:before {
		content: "-" !important;
	}
	.slicknav_nav .slicknav_item a {
		display: inline;
		padding: 0;
		margin: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .3);
	}
	.slicknav_nav .slicknav_row {
		display: block;
	}
	.slicknav_nav .slicknav_row:hover {
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		border-radius: 0;
		background: none;
		color: inherit;
		text-decoration: none;
	}
	.slicknav_nav .slicknav-sponsor {
		display: block;
	}
	.slicknav_nav .slicknav-sponsor{
		width: 311px;
		margin: 0 auto;
	}
	.slicknav_nav .slicknav-sponsor p{
		margin: 30px 0 5px 5px;
	}
	.slicknav_nav .global-navigation__menu--ja {
		font-weight: 500;
		font-size: 16px;
	}
	.slicknav_nav .global-navigation__menu--en {
		font-weight: 500;
		font-size: 12px;
		margin-left: 5px;
	}
}

/* ===========================================================

	title

=========================================================== */
/* .title {
	position: absolute;
	top: 135px;
	left: 0;
	width: 100%;
	min-width: 1200px;
	height: 200px;
	background-color: #aaa;
	text-align: center;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url(../img/common/title/title_other.jpg);
	background-size: cover;
	z-index: -1;
} */


/* #about .title {background-image: url(../img/common/title/title_about.jpg);}
#portfolio .title {background-image: url(../img/common/title/title_portfolio.jpg);}
#finance .title {background-image: url(../img/common/title/title_finance.jpg);}
#ir .title {background-image: url(../img/common/title/title_ir.jpg);}
#other .title {background-image: url(../img/common/title/title_other.jpg);}
#esg .title {background-image: url(../img/common/title/title_esg.jpg);}
.title h1 {
	position: relative;
	width: 1200px;
	color: #fff;
	font-size: 30px;
	font-size: 3.0rem;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 200px;
	display: block;
	margin: 0 auto;
	z-index: 10;
} */
/* @media screen and (max-width: 820px) {
	.title {
		top: 80px;
		left: 0;
		width: 100%;
		min-width: 320px;
		display: table;
		table-layout: fixed;
	}
	.title h1 {
		width: 100%;
		height: 200px;
		display: table-cell;
		vertical-align: middle;
		font-size: 24px;
		font-size: 2.4rem;
		letter-spacing: 2px;
		line-height: 1.4;
	}
	.title h1:after {
		top: 130px;
	}
} */

/* ===========================================================

	main

=========================================================== */
main {
	width: 1240px;
	margin: 0;
}
main section, .cont-margin {
	margin-bottom: 50px !important;
}
@media screen and (max-width: 820px) {
	main {
		width: auto;
		margin: 0;
		float: none;
		padding: 20px 32px;
	}
}
/* tit
----------------------------------------------------------- */
main h2 {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	margin: 0 0 20px;
	padding: 0 0 0 12px;
	border-left: solid 4px var(--red);
	position: relative;
	color: var(--black);
}
main h3 {
	font-size: 19px;
	font-size: 1.8rem;
	font-weight: bold;
	margin: 0 0 20px;
	padding: 0 0 5px;
	color: var(--black);
	border-bottom: dotted 1px var(--red);
}
main h3 span {
	font-weight: bold;
}
main h4 {
	margin: 0 0 10px;
	color: var(--black);
	font-weight: bold;
}
h4 {
}
h5 {
}
h6 {
}
em {
	color: var(--black);
	font-weight: bold;
}
strong {
	font-weight: bold!important;
}
.read {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 32px;
	letter-spacing: 1px;
	color: #018ccf;
}
p.emphasis {
	display: inline-block;
	padding: 5px 10px;
	border-radius: 3px;
	background-color: #555;
	color: #fff;
}
.ffReset {
	font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace !important;
}

@media screen and (max-width: 820px) {
	main h2 {
		font-size: 16px;
		font-size: 1.6rem;
	}
	main h3 {
		padding: 0;
	}
}
/* text
----------------------------------------------------------- */
p, ul, ol, dl, .indent-table {
	margin: 0 0 20px;
}
ul li, ol li {
	margin: 0;
}
ol ol {
	padding: 5px 0 0;
}
/* link
----------------------------------------------------------- */
a:link, a:visited {
	text-decoration: none;
	color: var(--black);
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all .2s ease-in-out;
}
a:hover {
	text-decoration: underline;
}
.link-reverse a:link, .link-reverse a:visited, a.link-reverse:link, a.link-reverse:visited {
	color: #111;
	text-decoration: underline;
}
.link-reverse a:hover, a.link-reverse:hover {
	color: var(--red);
	text-decoration: none;
}
/* link-arrow */
.link-a, .link-a a {
	position: relative;
	padding-left: 10px;
}
.link-a:before, .link-a a:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 0;
	height: 0;
	margin-top: -3px;
	border-style: solid;
	border-width: 3.5px 0 3.5px 4px;
	border-color: transparent transparent transparent #018ccf;
}
.link-b, .link-b a {
	position: relative;
	padding-left: 15px;
}
.link-b:before, .link-b a:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-top: 1px solid #018ccf;
	border-right: 1px solid #018ccf;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
/* blank */
.blank {
	background-image: url(../img/common/ic/ic_blank_a.png) !important;
	background-size: 8px auto!important;
	background-repeat: no-repeat !important;
	background-position: 100% 50% !important;
  padding-right: 12px;
}
a.blank-button-a, .blank-button-a a {
	height: 35px;
	line-height: 33px;
	padding: 0 40px 0 50px !important;
	display: inline-block;
	color: #111 !important;
	text-align: center;
	border: solid 1px #ddd;
	position: relative;
	overflow: hidden;
	/*transition */
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all .2s ease;
}
a.blank-button-a:hover, .blank-button-a a:hover {
	background: #018ccf;
	border: solid 1px #018ccf;
	text-decoration: none;
	color: #fff !important;
}
/* link-button */
.link-button-a li {
	display: inline-block;
	margin: 0 10px;
}
a.link-button-a, .link-button-a a {
	height: 35px;
	line-height: 33px;
	padding: 0 40px 0 50px;
	display: inline-block;
	color: #111 !important;
	text-align: center;
	border: solid 1px #ddd;
	position: relative;
	overflow: hidden;
	/*transition */
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all .2s ease;
}
a.link-button-a:hover, .link-button-a a:hover {
	background: #018ccf;
	border: solid 1px #018ccf;
	text-decoration: none;
	color: #fff !important;
}
a.link-button-a:before, .link-button-a a:before {
	position: absolute;
	content: " ";
	vertical-align: middle;
	top: 50%;
	left: 30px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: 1px solid #018ccf;
	border-right: 1px solid #018ccf;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
a.link-button-a:after, .link-button-a a:after {
	position: absolute;
	content: " ";
	top: 50%;
	left: 27px;
	width: 10px;
	height: 1px;
	background-color: #018ccf;
	margin: -1px 0 0;
}
a.link-button-a:hover:before, .link-button-a a:hover:before {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
a.link-button-a:hover:after, .link-button-a a:hover:after {
	background-color: #fff;
}
/* banner */
ul.banner {
}
.banner li {
	display: inline-block;
	margin: 0 10px 10px 0;
	background-color: #018ccf;
}
.banner a {
	transition: .2s ease-in-out;
}
.banner a:hover {
	opacity: 0.95;
}
.banner img {
	vertical-align: middle;
}
/* table
----------------------------------------------------------- */
table {
	max-width: 1240px;
	width: 100%;
	margin: 0 0 20px;
	border-top: solid 1px #ddd;
}
table caption {
	text-align: left;
	font-weight: bold;
	padding: 0 10px 10px;
	font-size: 16px;
	font-size: 1.6rem;
}
@media screen and (max-width: 820px) {
	table {
		width: 100%;
	}
}
table th {
	width: 25%;
	padding: 10px;
	border-bottom: solid 1px #fff;
	background: #FEECEC;
	color: #fff;
	font-weight: bold;
}
table td {
	border-bottom: solid 1px #ddd;
	border-right: solid 1px #ddd;
	padding: 1.5rem;
	vertical-align: top;
}
table tr:nth-child(odd) td {
}
table td:last-child {
	border-right: none;
}
table img {
	vertical-align: text-bottom;
}
table th.th-2nd, table tr.th-2nd th {
	background: #eeeeee !important;
}
table td.td-2nd {
	vertical-align: middle;
	text-align: center;
	background: #f5f5f5 !important;
}
table.td-padding-mini td {
	padding: 5px 10px;
}
table.padding-mini th, table.padding-mini td {
	padding: 5px 10px;
}
table .sub-total th, table .sub-total td, table .sub-total {
	background: #91005B !important;
}
table .total th, table .total td, table .total {
	background: #777 !important;
	color: #fff;
	font-weight: bold !important;
}
table .total th span, table .total td span {
	font-weight: bold;
}

table thead th {
	width: auto;
	background-color: #FEECEC;
	border-right: solid 1px #fff;
}
/* th-top */
table.th-top th {
	width: auto;
	text-align: center;
	border-right: solid 1px #ccc;
}
table.th-top th:last-child {
	border-right: none;
}
table.th-top td {
}
table.th-top th.firstChild, table.th-top td.firstChild {
}
table.th-top th.firstChild-none {
	border-left: solid 1px #fff !important;
}
table.th-top td.firstChild-none {
	border-left: solid 1px #ccc !important;
}
/* min-table */
table.min-table {
	width: 600px !important;
	margin-left: 300px !important;
}
/* scroll-table , responsive-table*/
.scroll-table {
}
.scroll-table-coution {
	display: none;
}
.responsive-table {
}

@media screen and (max-width: 820px) {
.table-wrap {
	overflow: auto;
	position: relative;
}
.scroll-table th, .scroll-table td {
	white-space: nowrap;
}
.scroll-table-coution {
	display: block;
	margin: 0 0 5px;
	font-size: 12px;
	color: #999;
	padding: 0 0 0 45px;
	background-image: url(../img/common/ic/ic_scroll_side.png);
	background-size: 40px auto;
	background-position: 0 50%;
	background-repeat: no-repeat;
}
.responsive-table {
	width: 100%;
	border-left: none;
}
.responsive-table th {
	display: block;
	width: auto !important;
	border-right: none;
}
.responsive-table td {
	display: block;
	width: auto !important;
	border-right: none;
}
.responsive-table .nbsp {
	display: none;
}
.responsive-table th.cell-width-1, .responsive-table td.cell-width-1,
.responsive-table th.cell-width-50, .responsive-table td.cell-width-50 {
	width: auto !important;
}
}
/* table-simple
----------------------------------------------------------- */
.table-simple{
	margin: 1rem 0;
	line-height: 1.4;
	width: 100%;
}
table th:first-child, table td:first-child{
	border-left: none;
}
.table-simple th{
	background-color: #FEECEC;
	border-right: solid 2px var(--red);
	vertical-align: middle;
	text-align: left;
	width: 10rem;
	white-space: nowrap;
	padding: 1.5rem;
	color: var(--black);
	font-size: 16px;
	font-family: 'Noto Sans JP';
	font-weight: 400;
}

.table-simple td{
	background-color: var(--white);
}
.table-simple p{
	margin: 0.25rem 0;
	font-size: 14px;
	font-family: 'Noto Sans JP';
	font-weight: 400;
}
@media screen and (max-width: 820px) {
	.table-simple th {
		white-space:normal;
		border-bottom: solid 1px #ddd;
		border-right: none;
	}
}

/* img
----------------------------------------------------------- */
.img img, .img {
	width: 100%;
	height: auto;
}
.responsive-img img, img.responsive-img {
	width: 100%;
	min-width: auto;
}

@media screen and (max-width: 820px) {
	.responsive-img {
		text-align:  center;
	}
	.responsive-img img, img.responsive-img {
		width: 100% !important;
		max-width: 900px;
		height: auto;
		margin: 0 auto;
	}
}
/* column
----------------------------------------------------------- */
.column-1 {
}
.column-2-left {
	width: 445px;
	float: left;
}
.column-2-right {
	width: 445px;
	float: right;
}
.column-3-left {
	width: 260px;
	float: left;
}
.column-3-center {
	width: 260px;
	margin: 0 0 0 35px;
	float: left;
}
.column-3-right {
	width: 260px;
	float: right;
}
.column-2w-left {
	width: 560px;
	float: left;
}
.column-2w-right {
	width: 560px;
	float: right;
}

@media screen and (max-width: 820px) {
	.column-1, .column-2-left, .column-2-right, .column-3-left, .column-3-center, .column-3-right, .column-2w-left, .column-2w-right {
		width: 100%;
		float: none;
		margin: 0 auto;
	}
	.column-2-left,
	.column-2-right {
		max-width: 435px;
	}
	.column-3-left,
	.column-3-right {
	}
}
/* ===========================================================

	aside

=========================================================== */
aside {
	float: left;
	width: 230px;
}
@media screen and (max-width: 820px) {
	aside {
		display: none;
	}
}
aside h1 {
	background-color: #018ccf;
	padding: 35px 20px;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 25px;
	text-align: center;
	color: #fff;
	letter-spacing: 0;
	font-weight: bold;
}
aside ul {
	margin: 0 0 10px;
}
aside ul li {
	margin: 0;
	font-size: 14px;
	font-size: 1.4rem;  
}
aside ul li a {
	position: relative;
	display: block;
	padding: 13px 0 13px 18px;
	color: #111 !important;
	background-color: #ffffff;
	border-bottom: solid 1px #dddddd;
}
aside ul li a:hover, aside ul li a.current {
	text-decoration: none;
	color: #018ccf !important;
}
aside ul li a.current {
	font-weight: bold;
}
aside ul li a:before {
	position: absolute;
	content: "";
	vertical-align: middle;
	margin: -4px 0 0;
	top: 22px;
	left: 0;
	width: 6px;
	height: 6px;
	border-top: 2px solid #018ccf;
	border-right: 2px solid #018ccf;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* ===========================================================

	topic path

=========================================================== */
.topic-path {
	width: 100%;
	height: 40px;
	background-color: #fff;
	border-top: solid 1px #ddd;
	border-bottom: solid 1px #ddd;
}
@media screen and (max-width: 820px) {
	.topic-path {
		display: none;
	}
}
.topic-path ol {
	width: 1200px;
	margin: 0 auto;
	font-size: 12px;
	font-size: 1.2rem;
}
.topic-path ol li {
	float: left;
	line-height: 40px;
	color: #666;
}
.topic-path ol li:before {
	content: "/";
	padding: 0 15px;
	color: #000;
	opacity: 0.5;
}
.topic-path ol li:first-child:before {
	display: none;
}
.topic-path ol a:link, .topic-path ol a:visited {
	text-decoration: none;
	color: #111;
}
.topic-path ol a:hover {
	text-decoration: underline;
}
/* ===========================================================

	bt-pagetop

=========================================================== */
body .bt-pagetop {
	clear: both;
	width: 50px;
	height: 50px;
	margin: 0;
	position: fixed;
	right: 15px;
	bottom: 15px;
	z-index: 100;
}
.bt-pagetop a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	background-color: #222;
	transition: .2s ease-in-out;
	/*　Scott Kellum Method */
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.bt-pagetop a:before {
	content: " ";
	position: absolute;
	top: 20px;
	left: 50%;
	margin: 0 0 0 -5px;
	width: 10px;
	border-top: solid 2px #fff;
}
.bt-pagetop a:after {
	content: " ";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0 0 0 -4px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 4px 6.9px 4px;
	border-color: transparent transparent #fff transparent;
}
.bt-pagetop a:hover {
	background-color: #018ccf;
}

@media screen and (max-width: 820px) {
	body .bt-pagetop {
		right: 5px;
		bottom: 10px;
		width: 30px;
		height: 30px;
	}
	.bt-pagetop a {
		width: 30px;
		height: 30px;
	}
	.bt-pagetop a:before {
		top: 11px;
	}
}
/* ===========================================================

	footer

=========================================================== */
.footer {
	clear: both;
	overflow: hidden;
}

/* footer-navi
----------------------------------------------------------- */
.footer-navi {
	width: 100%;
	margin: 0 auto;
	padding: 20px 0;
	text-align: center;
	background-color: var(--red);
}
.footer-navi__inner{
	width: 1200px;
	margin: 0 auto;
}
.footer-navi__inner ul{
	display: flex;
	justify-content: center;
	align-items: center;
	margin:0;
}
.footer-navi ul li{
	position: relative;
	width: 200px;
}
.footer-navi ul li:after,
.footer-navi-support ul li:after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 1px;
	height: 14px;
	margin-top: -7px;
	background-color: #dddddd69;
}
.footer-navi ul li:last-child:after,
.footer-navi-support ul li:last-child:after{
	display: none;
}
.footer-navi ul li a {
	padding: 20px;
	font-size: 14px;
}
.footer-navi ul li a:link, .footer-navi ul li a:visited {
	text-decoration: none;
	color: var(--white);
}
.footer-navi ul li a:hover {
	text-decoration: none;
	opacity: .7;
	transition: all .2s ease-in-out;
}

.footer-navi a:link, .footer-navi a:visited {
	text-decoration: none;
	color: var(--white);
}
.footer-navi a:hover {
	text-decoration: none;
	color: var(--white);
}
.footer-navi a.current {
	font-weight: bold;
}
@media (820px < width < 1216px ) {
	.footer-navi__inner{
		width: auto;
	}
	/* .footer-navi ul li{
		width: auto;
	} */
	.footer-navi ul li a{padding: 10px;}
}
@media screen and (max-width: 820px) {
	.footer-navi {
		display: block;
		padding: 0;
		text-align: left;
	}
	.footer-navi__inner {
		width: 100%;
		padding: 0;
		background: none;
	}
	.footer-navi ul {
		/* float: none;
		display: block; */
		display: flex;
		flex-direction: column;
	}
	.footer-navi ul li {
		/* width: auto; */
		width: 100%;
	}
	.footer-navi ul li a {
		display: block;
		height: 60px;
		border-top: solid 1px rgba(255, 255, 255, 0.20);
		position: relative;
		padding: 20px 0 20px 35px;
		font-size: 1.6rem;
	}
	.footer-navi ul li:first-child a {
		border: none;
	}

	.footer-navi li a:before {
		content: "";
		position: absolute;
		top: 50%;
		right: 35px;
		width: 6px;
		height: 6px;
		border-top: 1px solid var(--white);
		border-right: 1px solid var(--white);
		transform: translateY(-50%) rotate(45deg);
	}
	.footer-navi li a:after {
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 23px;
		width: 25px;
		height: 25px;
		border: 1px solid var(--white);
		border-radius: 20px;
	}
	.footer-navi ul li:after,
	.footer-navi-support ul li:after{
		display: none;
	}

	.footer-navi li:first-child a {
		border-top: none
	}
	
}
/* footer-navi-support
----------------------------------------------------------- */
.footer-navi-support {
	width: 100%;
	background: var(--grey);
	text-align: center;
	padding: 30px 0;
}
.footer-navi-support__inner {
	margin: 0 auto;
}

.footer-navi-support ul {
	display: flex;
	display: inline-block;
	margin: 0;
	margin-bottom: 20px;
}
.footer-navi-support ul li {
	display: inline-block;
	margin: 0;
	padding: 0;
	position: relative;
}
.footer-navi-support li a {
	font-size: 14px;
	padding: 0 35px;
}

.footer-navi-support li a:link, .footer-navi-support li a:visited {
	color: var(--white);
	text-decoration: none;
}
.footer-navi-support li a:hover {
	opacity: .7;
	transition: all .2s ease-in-out;
}
.footer-navi-support li a.current {
	/* color: #018ccf; */
	font-weight: bold;
}
@media screen and (max-width: 820px) {
	.footer-navi-support {
		padding: 0;
		text-align: left;
	}
	.footer-navi-support__inner {
		width: 100%;
		padding: 0;
		background: none;
	}
	.footer-navi-support ul {
		float: none;
		display: block;
	}
	.footer-navi-support ul li {
		display: block
	}
	.footer-navi-support li a,
	.footer-navi-support li:first-child a {
		border: none;
		display: block;
		padding: 0 30px 0 10px;
		line-height: 40px;
		height: 40px;
		border-top: solid 1px rgba(255, 255, 255, 0.20);
		position: relative;
		font-size: 1.4rem;
		font-weight: 400;
	}
	.footer-navi-support li:last-child a{
		border-bottom: solid 1px rgba(255, 255, 255, 0.20);
	}
	.footer-navi-support li a:before {
		content: "→";
		position: absolute;
		top: 0%;
		left: 35px;
		width: 10px;
		height: 10px;
		/* margin: -5px 0 0; */
		/* border-style: solid;
		border-width: 4px 0 4px 4px; */
		/* border-color: transparent transparent transparent #fff; */
		opacity: 0.8;
	}
	.footer-navi-support li a{
		
	}
	.footer-navi-support li a:link, .footer-navi-support li a:visited {
		color: #fff;
		background-color: var(--grey);
		padding-left: 60px;
	}
	.footer-navi-support li a:hover {
		color: #fff;
	}
	.footer-navi-support li a.current {
		color: #fff;
	}
}
/* footer-navi
----------------------------------------------------------- */
.copyright {
	margin: 0;
	font-size: 13px;
	font-size: 1.3rem;
	color: var(--white);
}
.copyright small{
	font-size: 13px;
	font-weight: 400;
}
@media screen and (max-width: 820px) {
	.copyright {
		float: none;
		display: block;
		text-align: center;
		line-height: 1.4;
		height: inherit;
		padding: 20px 20px 30px;
	}
}

.error-empty-display {
	display: block;
}

.error-length-display {
	display: block;
}

.error-nodisplay {
	display: none;
}

.error-display {
	display: block!important;
}

/* external-link
----------------------------------------------------------- */
.external-link::after{
	content: "";
	display: inline-block;
	position: absolute;
	background: url(/assets/img/common/ic_blank_a.png);
	width: 10px;
	height: 10px;
	background-repeat: no-repeat;
	background-size: 10px auto;
	margin: 7px 0 0 4px;
	vertical-align: bottom;
}