@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
body {
	font-family: 'Noto Sans Japanese', serif;
	color: #1a1a1a;
	font-weight: normal;
	line-height: 1.66;
	text-align: justify;
	text-justify: inter-ideograph;
	background: #fff;
	overflow-x: hidden;
}
a {
	color: inherit;
	text-decoration: none;
	transition: 0.2s;
}
img {
	max-width: 100%;
	height: auto;
}
.bgPattern01 {
	background: url(../img/bg_pattern01.jpg) repeat top left;
}
.contentIn {
	padding: 0 15px;
	margin: 0 auto;
	position: relative;
}
.container .contentIn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: flex-start;
	flex-direction: row-reverse;
}
.w700 {
	max-width: 730px;
}
.w750 {
	max-width: 780px;
}
.w980 {
	max-width: 1010px;
}
.w1020 {
	max-width: 1050px;
}
.w1050 {
	max-width: 1080px;
}
.w1080 {
	max-width: 1110px;
}
.w1100 {
	max-width: 1130px;
}
.w1120 {
	max-width: 1150px;
}
.w1200 {
	max-width: 1230px;
}
section:after,
ul:after,
.clearfix:after,
.contentIn:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

@media screen and (max-width:768px) {
	.bgPattern01 {
		background: none;
	}
	.contentIn {
		padding: 0 7%;
	}
	.container .contentIn {
		flex-direction: unset;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  ヘッダー
* --------------------------------------------------------------------------------------------------*/

@media screen and (min-width:769px) {
	#header {
		padding: 18px 0 25px;
		font-size: 0;
	}
	#header .logo {
		width: 10%;
		float: left;
	}
	#header .logo img{
		max-height: 72px;
	}
	#header #btnMenu {
		display: none;
	}
}

@media screen and (max-width:768px) {
	#header {
		padding: 12px 0;
	}
	#header .contentIn:after {
		display: none;
	}
	#header .logo img,
	#header #btnMenu img {
		height: 35px;
	}
	#header #btnMenu {
		position: fixed;
		top: 12px;
		right: 5%;
		z-index: 9990;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  グローバルナビゲーション
* --------------------------------------------------------------------------------------------------*/
@media screen and (min-width:769px) {
	#gNavi {
		float: right;
		padding-top: 22px;
	}
	#gNavi .navHead,
	#gNavi #btnClose02 {
		display: none;
	}
	
	/* pc navi
	--------------------------------------------------*/
	.pcNavi li {
		float: left;
	}
	.pcNavi li:nth-child(1) {
		width: 20.4%;
	}
	.pcNavi li:nth-child(2) {
		width: 18.8%;
	}
	.pcNavi li:nth-child(3) {
		width: 24.4%;
	}
	.pcNavi li:nth-child(4) {
		width: 17.4%;
	}
	.pcNavi li:nth-child(5) {
		width: 18.7%;
	}
	
	/* sp navi
	--------------------------------------------------*/
	.spNavi {
		display: none;
	}
}

@media screen and (max-width:768px) {
	#gNavi {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		padding: 0 7%;
		width: 100%;
		background: #e51a29;
		z-index: 9999;
    overflow: auto;
    height: 100%;
	}
	#gNavi.open {
		display: block;
	}
	#gNavi img {
		height: 35px;
	}
	#gNavi .navHead {
		padding: 12px 0;
	}
	#gNavi .navHead:after {
		content: "";
		display: block;
		height: 0;
		clear: both;
		visibility: hidden;
	}
	#gNavi #btnClose01 {
		float: right;
		margin-right: -2%;
	}
	#gNavi #btnClose02 {
		text-align: center;
		padding: 12px 0;
	}
	
	/* pc navi
	--------------------------------------------------*/
	.pcNavi {
		display: none;
	}
	
	/* sp navi
	--------------------------------------------------*/
	.spNavi li {
		color: #fff;
		font-size: 10px;
	}
	.spNavi > li {
		border-top: solid 1px #cbcbcb;
	}
	.spNavi > li:last-child {
		border-bottom: solid 1px #cbcbcb;
	}
	.spNavi > li a,
	.spNavi > li span {
		display: block;
		padding: 9px 10px 9px 35px;
		background: url(../img/ico_arrow01.png) no-repeat center left 13px;
		background-size: auto 12px;
	}
	.spNavi > li span.open {
		background: url(../img/ico_arrow02.png) no-repeat center left 13px;
		background-size: auto 12px;
	}
	.spNavi .drawer {
		display: none;
	}
	.spNavi .drawer li {
		border-top: dotted 1px #cbcbcb;
	}
	.spNavi .drawer a {
		padding-left: 55px;
		background-position: center left 35px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  2カラムデザイン
* --------------------------------------------------------------------------------------------------*/

.container {
	position: relative;
}
.container .bgContainer {
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
	content: "";
	background: #fff;
}
.container #side {
	width: 28.5%;
	float: left;
	padding: 90px 50px 90px 0;
	position: sticky;
	top: 0;
}
.container #main {
	width: 71.5%;
	padding: 90px 0 120px 70px;
	float: right;
	background: #fff;
	z-index: 2;
	position: relative;
	word-break: break-word;
}
.member .container #main {
	padding: 90px 0 550px 70px;
}
@media screen and (max-width:768px) {
	.container:before {
		display: none;
	}
	.member .container #main,.container #main {
		width: auto;
		float: none;
		padding: 35px 0 65px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  サイド
* --------------------------------------------------------------------------------------------------*/
#side {
	color: #4d4d4d;
}
#side.fixed {
	max-width: 290px;
	position: fixed;
	top: 0;
	padding-top: 50px;
	z-index: 100;
}
#side h2 {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
}
#side ul {
	background: #fff;
}
#side ul li + li {
	border-top: solid 1px #f1f1f1;
}
#side ul li a {
	display: block;
	font-size: 14px;
	line-height: 1.2;
	padding: 26px 10px 26px 36px;
	background: url(../img/ico_arrow05.png) no-repeat center left 12px;
}
#side ul li.current a {
	color: #0071bb;
	background: url(../img/ico_arrow06.png) no-repeat center left 12px;
}
#side ul.type02 li a {
	background: url(../img/ico_arrow10.png) no-repeat center left 12px;
}
#side ul.type02 li.current a {
	color: inherit;
	background: url(../img/ico_arrow11.png) no-repeat center left 12px;
}

@media screen and (max-width:768px) {
	#side {
		display: none;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  メインコンテンツ
* --------------------------------------------------------------------------------------------------*/
#pageTop {
	text-align: center;
	padding: 33px 0 31px;
}
#pageTop.gray {
	background: #b2b2b2;
}
#pageTop.blue {
	background: #0071bb;
}
#pageTop a {
	color: #fff;
	font-size: 15px;
}
#pageTop a:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 16px;
	height: 16px;
	margin-top: -2px;
	margin-left: 13px;
	background-size: 100% !important;
}
#pageTop.gray a:after {
	background: url(../img/ico_pagetop01.png) no-repeat center;
}
#pageTop.blue a:after {
	background: url(../img/ico_pagetop02.png) no-repeat center;
}

@media screen and (max-width:768px) {
	#pageTop {
		padding: 6px 0 13px;
	}
	#pageTop a {
		font-size: 10px;
	}
	#pageTop a:after {
		width: 12px;
		height: 12px;
		margin: 0 0 -2px 7px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  フッター
* --------------------------------------------------------------------------------------------------*/
#footer {
	color: #f1f1f1;
	padding: 60px 0 40px;
	background: #808080;
}
#fNavi {
	display: table;
	width: 100%;
	font-size: 13px;
}
#fNavi ul {
	display: table-cell;
	vertical-align: top;
	padding: 0 1em;
}
#fNavi ul:nth-child(1) {
	width: 15.3%;
}
#fNavi ul:nth-child(2) {
	width: 60.2%;
	padding: 0 4em;
	border-left: solid 1px #989898;
	border-right: solid 1px #989898;
}
#fNavi ul:nth-child(3) {
	width: 24.4%;
}
#fNavi ul:nth-child(1),
#fNavi ul:nth-child(3) {
	text-align: center;
}
#fNavi ul:nth-child(1) li,
#fNavi ul:nth-child(3) li {
	display: inline-block;
	text-align: left;
}
#fNavi ul li + li,
#fNavi ul p + p {
	margin-top: 23px;
}
#fNavi ul:nth-child(2) li {
	float: left;
}
#fNavi ul:nth-child(2) li:nth-child(1) {
	float: none;
}
#fNavi ul:nth-child(2) li:nth-child(2) {
	width: 62%;
	padding-right: 1em;
}
#fNavi ul:nth-child(2) li:nth-child(3) {
	width: 38%;
}
#footer .copyright {
	text-align: center;
	font-size: 12px;
	margin-top: 80px;
}

@media screen and (max-width:768px) {
	#footer {
		padding: 35px 0;
	}
	#fNavi {
		display: none;
	}
	#footer .copyright {
		font-size: 7px;
		margin: 0;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  20230606 修正追加
* --------------------------------------------------------------------------------------------------*/
/* pc navi
--------------------------------------------------*/
.pcNavi li:nth-child(1) {
	width: 17%;
	max-width: 125px;
}
.pcNavi li:nth-child(2) {
	width: 16.3%;
	max-width: 111px;
}
.pcNavi li:nth-child(3) {
	width: 20%;
	max-width: 151px;
}
.pcNavi li:nth-child(4) {
	width: 16.3%;
	max-width: 110px;
}
.pcNavi li:nth-child(5) {
	width: 16.3%;
	max-width: 100px;
}
.pcNavi li:nth-child(6) {
	width: 16.3%;
	max-width: 131px;
}
.pcNavi li {
	margin-right: 30px;
}