/**
 * =========================================
 * ● サイト PC用 (2021.05.17)
 * =========================================
 */
	@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;700;900&display=swap');
	/****************************
	 * タグの初期設定
	****************************/
	html,body{font-size:62.5%}

	body
	{
		width:100%;
		height:100%;
		margin:0px;
		padding:0px;
		color:#333;
		font-size:1.4rem;
		line-height:1.6;
		letter-spacing:1px;
		background:#FFFFFF;
		font-family: sans-serif;
	}
	/* @media (min-width:769px) {
		body
		{
			animation: fadeIn 3s ease 0s 1 normal;
			-webkit-animation: fadeIn 3s ease 0s 1 normal;
		}
	}

	@keyframes fadeIn {
		0% {opacity: 0}
		100% {opacity: 1}
	}

	@-webkit-keyframes fadeIn {
		0% {opacity: 0}
		100% {opacity: 1}
	} */
	::-webkit-input-placeholder /* WebKit, Blink, Edge */
	{
		color:#ccc;
	}
	:-ms-input-placeholder /* Internet Explorer 10-11 */
	{
	color:#ccc;
	}
	::placeholder /* Others */
	{
	color:#ccc;
	}
	b, strong, .bold{
		/* font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif; */
		font-weight:bold;
	}
	.pc
	{
		display:block;
	}
	.pc_inline
	{
		display:inline-block;
	}
	.pc_table
	{
		display:table-cell;
	}
	.sp
	{
		display: none;
	}
	.sp_br
	{
		margin-left:2em;
	}
	@media(min-width: 896px){
		a[href^="tel:"]
		{
			pointer-events: none;
			color: inherit;
			display: inline-block;
			text-decoration: none;
		}
	}
	.mt-none
	{
		margin-top:0!important;
	}

	/****************************
	* レイアウト
	****************************/
	main > article,
	main > section
	{
		width:100%;
		background:#fff;
		display:block;
	}
	/* main:not(.index) > *:nth-child(odd)
	{
		background:#f3f3f3;
	} */
	.wrapper
	{
		max-width:1200px;
		width:100%;
		margin:0 auto;
		padding:30px 30px 50px;
		position: relative;
	}
	article > .wrapper
	{
		padding:0px 30px 50px;
	}
	footer .wrapper
	{
		padding:50px 30px 50px;
	}
	main
	{
		display:block;
		width:100%;
		padding-top:110px;
	}

	/****************************
	* ヘッダ
	****************************/
	header
	{
		width:100%;
		height:110px;
		z-index:1000;
		position: fixed;
		background:#fff;
/*
		border-bottom:1px solid #0070C1;
*/
		border-bottom:1px solid #aaa;
	}

	header > div.pc_navi
	{
		padding:20px 50px 20px 20px;
		height:100%;
		display:flex;
		align-items: center;
		margin:auto;
		position: relative;
		z-index:inherit;
	}
	header > div.sp_navi
	{
		display:none;
	}
	header > div > .logo
	{
		width:100%;
		margin-right:auto;
		display:block;
		text-align:left;
	}
	header > div > .logo img
	{
		max-height: 70px;
		margin-top:10px;
		width:auto;
	}

	/****************************
	* グローバルメニュー
	****************************/
	nav
	{
		width:50%;
		display:flex;
		justify-content:flex-end;
		align-items: right;
	}
	nav ul
	{
		display:flex;
		justify-content: space-between;
		align-items: right;
		margin:0px;
/*
		width:100%;
*/
	}
	nav ul li
	{
		display:inline-block;
		padding:5px 0px;
		text-align: right;
		white-space: nowrap;
	}
	nav ul a
	{
		display: block;
		margin: 0 0px;
		padding:10px 15px;
		text-decoration: none;
		color: #333;
		font-size: 1.8rem;
		position: relative;
	}
	nav ul a:hover
	{
		text-decoration: none;
		opacity: 0.6;
		color: #333;
	}
	nav ul a i
	{
/*
		color:#FFF;
*/
		font-size:1.3em;
	}

	nav ul a::after
	{
		position: absolute;
		top: 0px;
		left: 0;
		content: '';
		width: 100%;
		height: 2px;
		background: #0071C1;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform .3s;
	}
	nav ul a:hover:after
	{
		transform: scale(1, 1);
	}

	/****************************
	* パンくずリスト
	****************************/
	main > .breadcrumb_list
	{
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 0px 30px 10px 30px;
		max-width:1200px;
		margin:0px auto 50px;
		background:#fff;
	}
	.breadcrumb_list li
	{
		position: relative;
		z-index: 0;
		margin-right: 25px;
		line-height: 1;
		font-size: 1.3rem;
	}
	.breadcrumb_list li:after
	{
		position: absolute;
		z-index: 0;
		top: 0;
		right: -13px;
		content: "/";
		color: #999;
	}
	.breadcrumb_list li:last-child
	{
		margin-right: 0;
	}
	.breadcrumb_list li:last-child:after
	{
		content:none;
	}
	.breadcrumb_list li a
	{
		color: #999;
		text-decoration:underline;
	}

	/****************************
	* ブランディング
	****************************/
	.top_branding
	{
		display:block;
		width:100%;
		background: url("../images/top_branding.jpg") no-repeat transparent;
		background-position:top;
		background-attachment: fixed;
		background-size: cover;
		background-repeat: no-repeat;
		position: relative;
	}
	.top_branding:after
	{
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: rgba(0,0,0,0.6);
		z-index: 1;
	}
	.top_branding > div
	{
		height: 600px;
		color:#fff;
		padding-top:130px;
		display:flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items:center;
		text-align: center;
		position: relative;
		z-index:2;
	}

	/* text */
	.top_branding > div h2
	{
		width:100%;
		font-size:4.5rem;
		margin-bottom:0.3em;
		font-family: 'Noto Serif JP', serif;
		font-weight: 700;
		letter-spacing: 0.2em;
	    text-shadow: 2px 2px 3px #333;
	}
	.top_branding > div p
	{
		font-size:2rem;
		margin-top:1em;
		padding-top:1em;
		position: relative;
	}
	.top_branding > div p:before
	{
		content:"";
		width:200px;
		height:1px;
		background:#fff;
		margin:auto;
		position: absolute;
		z-index: 100;
		top:-0.5em;
		left:50%;
		transform: translate(-50%, 0);
	}

	.branding
	{
/*
		background: url("../images/branding.jpg") no-repeat #FFF right;
*/
		color:#fff;
		position: relative;
/*
		background-size: cover;
*/
		z-index: 0;
	}
	.branding:after
	{
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
/*
		background-color: rgba(0,113,193,0.6);
*/
		z-index: 1;
	}
	.branding > h1
	{
		width: 100%;
		min-height: 160px;
		margin: 0 auto 10px;
		padding: 20px 10px 10px;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		font-size: 3.8rem;
		overflow: hidden;
		font-weight: normal;
		line-height: 1.3;
		letter-spacing: 0.1em;
		position: relative;
		z-index: 2;
	}
	.branding > h1 span
	{
		font-size: 1.6rem;
		color: #ccc;
		margin-top: 0.5em;
		display: block;
		line-height: 1;
	}

	/****************************
	* フッタ
	****************************/
	footer
	{
		background:#002f5b;
		color:#fff;
	}
	footer .wrapper
	{
		display:flex;
		padding-bottom:50px;
	}
	footer .company
	{
		width:28%;
		padding-right:3%;
		margin-right:3%;
		border-right:2px solid #fff;
	}
	footer .company h2
	{
		font-size:2.4rem;
		line-height: 1.5;
		text-align:left;
		color:#fff;
		font-weight: bold;
		margin:0 0 20px;
		border:none;
	}
	footer .company p
	{
		font-size:1.6rem;
		line-height:1.6;
		margin-bottom:10px;
	}

	footer .company aside
	{
		width:40%;
		margin:0 0 25px;
		display:block;
	}
	footer .company aside ul
	{
		display:flex;
	}
	footer .company aside ul li
	{
		width:28px;
		height:28px;
		margin-right:15px;
	}
	footer .company aside ul li img
	{
		width:100%;
		height:100%;
		object-fit: contain;
	}

	footer .company .map iframe
	{
		width:100%;
		margin-bottom:25px;
	}
	footer .company .ft_navi
	{
		width:100%;
		display:flex;
		flex-wrap: wrap;
	}
	footer .company .ft_navi li
	{
		margin-bottom:0.8em;
	}
	footer .company .ft_navi li a
	{
		margin-right:1em;
		margin-bottom:0.8em;
		font-size:1.5rem;
		color:#fff;
		text-decoration: underline;
	}

	footer .ft_link
	{
		width:70%;
		display:flex;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	footer .ft_link > div
	{
		width:calc( ( 100% - 20px * 3 ) / 4 );
		margin-right:20px;
	}
	footer .ft_link > div:nth-child(4n)
	{
		margin-right:0px;
	}
	footer .ft_link > div h3
	{
		font-size:1.7rem;
		padding-bottom:3px;
		margin-bottom:10px;
		border-bottom:1px dotted #fff;
	}
	footer .ft_link > div li
	{
		margin-bottom:5px;
	}
	footer .ft_link > div li a
	{
		color:#fff;
		display:inline-block;
		opacity: 0.7;
	}
	footer .ft_link > div li a:hover
	{
		color:#fff;
		text-decoration: none;
	}
	footer .ft_link > div li a:before
	{
		display:inline-block;
		content: "\f105";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		margin-right: 5px;
		color: #54b3f2;
		font-size: 1.2em;
	}
	footer .ft_link > div li a:hover:before
	{
		margin-right: 3px;
		margin-left: 2px;
		transition: all 0.3s;
	}


	footer .copyright
	{
		text-align:center;
		background:#001121;
		color:#fff;
		padding:1px 0
	}


	/****************************
	* リンク
	****************************/
	a,
	button
	{
		transition: 0.3s;
		color:#2170da;
	}

	a:hover,
	button:hover
	{
		opacity: 0.6;
	}
	/* main a
	{
		text-decoration: underline;
		color:#df2e59;
	}

	main a:hover
	{
		text-decoration:none;
	} */

	a.link_btn
	{
		display: block;
		width: 60%;
		padding: 5px 0;
		border-radius: 8px 10px;
		text-decoration: none;
		line-height:1.5;
		color: #0071C1;
		border: 1px solid #0071C1;
		background: #fff;
		text-align: center;
		margin:30px auto;
	}
	a.link_btn:hover
	{
		color: #fff;
		background: #0071C1;
		opacity: 1;
	}

	a figure.link
	{
		display:block;
		overflow:hidden;
		position: relative;
	}
	a figure.link:after
	{
		content: "\f0c1";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		display: inline-block;
		background:#0071C1;
		color:#fff;
		border-radius: 70% 0 0 0;
		font-size:2.5rem;
		width:40px;
		height:40px;
		line-height: 43px;
		padding-left:8px;
		position: absolute;
		right:0px;
		bottom:0px;
		box-shadow: 0 0 3px #fff;
		transition: all 0.5s;
	}
	a figure.link:hover:after
	{
		transform: translate(40px, 40px);
	}

	/****************************
	* hタグ
	****************************/
	article h1
	{
		text-align:center;
		font-size:3.5rem;
		overflow: hidden;
		font-weight:normal;
		line-height: 1.3;
	}

	article > .wrapper > h2
	{
		font-size:2.5rem;
		font-weight:normal;
		text-align: left;
		padding:0 20px 0px 10px;
		margin-bottom:20px;
		border-bottom:1px solid #0071C1;
		color:#0071C1;
		line-height: 1.5;
	}
	article > .wrapper > h2.group:before
	{
		content:"";
		background:url(../images/icon/japan.svg) no-repeat;
		background-size: contain;
		width:40px;
		height:40px;
		display: inline-block;
		margin-right:0.5em;
		margin-bottom:-3px;
	}
	article > .wrapper > h2.mygroup:before
	{
		content:"";
		background:url(../images/icon/group.svg) no-repeat;
		background-size: contain;
		width:40px;
		height:40px;
		display: inline-block;
		margin-right:0.5em;
		margin-bottom:-3px;
	}
	article > .wrapper > h2.team:before
	{
		content:"";
		background:url(../images/icon/team.svg) no-repeat;
		background-size: contain;
		width:40px;
		height:40px;
		display: inline-block;
		margin-right:0.5em;
		margin-bottom:-10px;
	}
	article > .wrapper > h2.member:before
	{
		content:"";
		background:url(../images/icon/human.svg) no-repeat;
		background-size: contain;
		width:40px;
		height:40px;
		display: inline-block;
		margin-right:0.5em;
		margin-bottom:-3px;
	}
	article > .wrapper > h2.report:before
	{
		content:"";
		background:url(../images/icon/ambulance.svg) no-repeat;
		background-size: contain;
		width:40px;
		height:40px;
		display: inline-block;
		margin-right:0.5em;
		margin-bottom:-10px;
	}
	article > .wrapper > h2.news:before
	{
		content:"";
		background:url(../images/icon/document.svg) no-repeat;
		background-size: contain;
		width:40px;
		height:40px;
		display: inline-block;
		margin-right:0.5em;
		margin-bottom:-7px;
	}
	article > .wrapper > h2.support:before
	{
		content:"";
		background:url(../images/icon/hands-helping-solid.svg) no-repeat;
		background-size: contain;
		width:40px;
		height:40px;
		display: inline-block;
		margin-right:0.5em;
		margin-bottom:-15px;
	}

	article h3
	{
		font-size:4.5rem;
		font-weight: bold;
		text-align: center;
		color:#0071C1;
		line-height: 1.5;
	}
	article h3 span
	{
		font-size:2.3rem;
		font-weight: normal;
		display:block;
		color:#666;
		letter-spacing: 0;
	}

	article h4
	{
		text-align:left;
		font-size:1.5rem;
		color:#333;
		line-height: 1.6;
		margin:0 0 5px 20px;
	}

	article h5
	{
		font-size:1.9rem;
		margin: 10px 0 25px;
		padding: 15px 70px;
		font-weight:normal;
		position:relative;
		display:inline-block;
		letter-spacing: 0.3em;
		left:50%;
		transform: translate(-50%, 0);

	}
	article h5:before,
	article h5:after {
	  position: absolute;
	  top: 0;
	  content: '';
	  width: 20px;
	  height: 100%;
	  border-top: 1px solid #555;
	  border-bottom: 1px solid #555;
	  -webkit-box-sizing: border-box;
	  box-sizing: border-box;
	}
	article h5:before {
	  left: 0;
	  border-left: 1px solid #555;
	}
	article h5:after {
	  right: 0;
	  border-right: 1px solid #555;
	}

	article h6
	{
		font-weight: normal;
	}


	article h4.category
	{
		display:inline-block;
		text-align:left;
		font-size:1.5rem;
		color:#fff;
		background:#0071C1;
		line-height: 1.6;
		margin:0 0 15px 0;
		padding:0.1em 1em;
		border-radius: 15px;
	}

	/****************************
	* 画像
	****************************/
	.pic_r
	{
		float:right;
		margin:20px 0 20px 20px;
		width:35%;
	}
	.pic_r img
	{
		width:100%;
	}

	/****************************
	* tableタグ
	****************************/
	table.tbl_h
	{
		width: 100%;
		margin: 0px auto 30px;
		border: none;
		border-collapse: collapse;
		font-size: 1.3rem;
		line-height: 1.8;
		border-top:1px solid #ccc;
		border-right:1px solid #ccc;
		border-left:1px solid #ccc;
	}
	table.tbl_h caption
	{
		text-align: right;
	}
	table.tbl_h tr
	{
		width: 100%;
		border-bottom:1px solid #ccc;
		background:#fff;
	}
	table.tbl_h tr:nth-child(odd)
	{
		width: 100%;
		border-bottom:1px solid #ccc;
		background:#f9f9f9;
	}
	table.tbl_h th
	{
		margin: 0;
		padding:1em;
		border-top: 1px solid #ccc;
		border-right:1px solid #ccc;
		border-bottom: 1px solid #ccc;
/*
		position: relative;
*/
		background-clip: padding-box;
		vertical-align: top;
		font-size:1.3rem;
		font-weight: bold;
	}
	table.tbl_h tr:first-child th
	{
		margin: 0;
		padding:1px 10px;
		color:#333;
		background: #ededed;
		border-top: 1px solid #cccccc;
		border-bottom: 1px solid #cccccc;
/*
		background: #efefef;
		position: relative;
*/
		background-clip: padding-box;
		vertical-align: middle;
	}
	table.tbl_h td
	{
		margin: 0;
		text-align: left;
		vertical-align: middle;
		border-right:1px solid #ccc;
		padding:10px 15px;
		background-clip: padding-box;
		/* font-size:1.3rem; */
		font-size:1.5rem;
	}
	table.tbl_h td[data-label="メールアドレス"] > p
	{
		word-break: break-all;
		line-height: 1.5;
	}
	table.tbl_h tr td:first-child a
	{
		display:block;
		font-size:1.9rem;
	}
	table.tbl_h tr td button
	{
		display: block;
		width:100%;
		text-align: center;
		padding: 5px 0;
		border-radius: 8px;
		text-decoration: none;
		color: #0071C1;
		border:1px solid #0071C1;
		background:#fff;
	}
	table.tbl_h tr td button:hover
	{
		color: #fff;
		background:#0071C1;
		opacity:1;
	}

	table.tbl_h tr th:last-child,
	table.tbl_h tr td:last-child
	{
		border-right: none;
	}
	.tbl_tab
	{
		display:flex;
		justify-content:flex-start;
		align-items: stretch;
		margin:30px 0 15px;
		width:100%;
		border-bottom:1px solid #ccc;
	}
	.tbl_tab li
	{
		display:inline-block;
		/* width:calc( 100% / 5 ); */
		text-align: center;
		white-space: nowrap;
		letter-spacing: 0.2em;
		border-left:1px solid #ccc;
		border-right:1px solid #ccc;
		border-top:1px solid #ccc;
		margin: 0 20px 0 0;
	}
	.tbl_tab li a,
	.tbl_tab li span
	{
		display: block;
		padding:15px 30px 10px;
		text-decoration: none;
		color: #666;
		font-size: 1.5rem;
		position: relative;
	}
	.tbl_tab li p
	{
		display: inline-block;
	}
	.tbl_tab li a
	{
		/* background: #f3f3f3; */
		color:#ccc;
	}
	.tbl_tab li a::after
	{
		position: absolute;
		top: 0px;
		left: 0;
		content: '';
		width: 100%;
		height: 5px;
		background: #0071C1;
		transform: scale(0, 1);
		transform-origin: center top;
		transition: transform .3s;
	}
	.tbl_tab li a:hover
	{
		text-decoration: none;
		opacity:1;
		color: #666;
	}
	.tbl_tab li a:hover::after
	{
		transform: scale(1, 1);
	}
	.tbl_tab li span
	{
		color: #333;
	}
	.tbl_tab li span:after
	{
		position: absolute;
		top: 0px;
		left: 0;
		content: '';
		width: 100%;
		height: 5px;
		background: #0071C1;
	}

	table.tbl_w
	{
		width:100%;
		margin: 0px auto 20px;
		border: none;
		border-collapse: collapse;
		font-size:1.3rem;
		border-top:1px solid #ccc;
		border-left:1px solid #ccc;
		table-layout: fixed;
	}
	table.tbl_w th {
		margin: 0;
		vertical-align:middle;
		font-weight: bold;
		padding: 10px 20px;
		background:#f3f3f3;
		border-right:1px solid #ccc;
		border-bottom:1px solid #ccc;
		vertical-align: top;
		border-left:none;
		width:230px;
	}
	table.tbl_w td
	{
		padding: 10px 20px;
		margin: 0;
		text-align: left;
		vertical-align: middle;
		background:#fff;
		border-right:1px solid #ccc;
		border-bottom:1px solid #ccc;
		/* font-size:1.3rem; */
		font-size:1.5rem;
		line-height: 1.6;
	}
	table.tbl_w th.short {
		width:140px;
	}
	table.tbl_w td.short
	{
		width:240px;
	}
	table.tbl_w td aside
	{
		color:#aaa;
		display: inline-block;
	}
	table.tbl_w td aside:after
	{
		content:" ） ";
	}

	.nowrap
	{
		white-space:norap;
	}

	/****************************
	* tableタグ(form用)
	****************************/
	.form_tbl
	{
		width: 100%;
		/* margin: 30px auto; */
		margin: 0px auto;
		border: none;
		border-collapse: collapse;
		font-size: 1.3rem;
		line-height: 1.8;
		/* border-top:1px solid #ccc; */
	}
	.form_tbl .bo_top
	{
		border-top:1px solid #ccc;
	}
	.form_tbl caption
	{
		text-align: right;
	}
	.form_tbl tr
	{
		width: 100%;
		border-bottom:1px solid #ccc;
	}
	.form_tbl th
	{
		width:30%;
		margin: 0;
		padding:calc(1.5em + 10px) 5em 1.5em 1em;
		background: #f3f3f3;
		border-top: 1px solid #cccccc;
		border-bottom: 1px solid #cccccc;
		position: relative;
		background-clip: padding-box;
		vertical-align: top;
	}
	.form_tbl th .fix
	{
		position: absolute;
		top:calc(1.5em + 15px);
		right:2em;
		color:#fff;
		background:#CC0000;
		padding:0.1em 0.3em;
		font-size:1rem;
		border-radius: 3px;
	}
	.form_tbl td
	{
		margin: 0;
		text-align: left;
		background: #fff;
		font-size:1.5rem;
		padding:1.5em 1em 1.5em 2em;
		background: #fff;
		background-clip: padding-box;
	}
	.form_tbl td > div
	{
		margin:0;
	}
	.form_tbl td.title h3
	{
		text-align: center;
		font-size: 2.5rem;
		color: #0071C1;
		line-height: 1.6;
		margin: 0px auto;
		font-weight: bold;
		display: flex;
		align-items: center;
	}
	.form_tbl td.title h3:before,
	.form_tbl td.title h3:after {
	border-top: 1px solid;
	content: "";
	flex-grow: 1;
	}
	.form_tbl td.title h3:before {
	margin-right: 2rem;
	}
	.form_tbl td.title h3:after {
	margin-left: 2rem;
	}
	.form_tbl td p
	{
		font-size:10px;
		color:#666;
		line-height:1.3;
	}
	.form_tbl td span
	{
		color:#aaa;
	}
	.form_tbl td label span
	{
		color:#333;
	}

	/****************************
	* ステップフロー
	****************************/
	.step_flow{margin: 60px 0 ;}
	.step_br{
		width: 420px;
		margin: 9px auto -17px;
		border-bottom: 1px solid #dfdfdf;
	}
	.step{width: 520px; margin:auto;}
	.step li{
		display: inline-block;
		height: 35px;
		line-height: 36px;
		margin: 0 5px;
		padding: 0 12px;
		border-radius: 3px;
		background: #e4e4e4;
		font-size: 1.5rem;
	}
	.step li.on {
		background: #7f9fef;
		color: #fff;
	}

	.step li.on:last-child:after {
		content: "";
		position: absolute;
		width: 0;
		height: 0;
		margin: 0 11px;
		padding: 0 18px;
		border: 18px solid transparent;
			border-left-width: 18px;
			border-left-style: solid;
			border-left-color: transparent;
		border-left: 18px solid #7f9fef;
	}
	.ta_center {
		text-align: center !important;
	}
	.sublink
	{
		margin:1em 0 0;
		font-size:1.8rem;
		text-align: right;
	}
	.sublink div
	{
		font-size:1.3rem;
	}
	.sublink ul
	{
		margin-bottom:1em;
	}
	.sublink ul li a
	{
		border-radius: 4px;
		border: solid 1px #0071C1;
		padding: 5px 10px;
		background: #fff;
		color: #0071C1;
		text-decoration: none;
	}
	.sublink ul li a:hover
	{
		background: #0071C1;
		color: #fff;
	}

	.taglink
	{
		max-width: 1200px;
		width: 100%;
		margin: 0 auto;
		padding: 20px 30px 1px;
		margin-bottom:30px;
		position: relative;
		background:#f3f3f3;
		border-radius: 5px;
	}
	.taglink ul
	{
		display:flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
	}
	.taglink a,
	.taglink span
	{
		display:inline-block;
		font-size:1.5rem;
		border:1px solid #0071C1;
		padding:5px 1em;
		margin-right:15px;
		margin-bottom:20px;
		border-radius: 20px;
		background:#fff;
	}
	.taglink span
	{
		color:#fff;
		background:#0071C1;
	}
	.taglink a:hover
	{
		color:#fff;
		background:#0071C1;
		opacity:1;
		text-decoration: none;
	}
	.taglink center
	{
		padding:5px 0 10px;
		/* max-width:300px; */
		margin:0 auto 0px;
		font-weight:bold;
		cursor: pointer;
		/* background:#cccccc; */
		color:#666;
		border-radius: 3px;
		display:block;
	}
	.taglink center::after
	{
		display:inline-block;
		content: "\f103";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		margin-left:0.5em;
	}


	/****************************
	* ページャー
	****************************/
	.page_number
	{
		text-align: center;
		font-size: 1.5rem;
		font-weight: bold;
		margin-bottom:20px;
		margin-top:-10px;
		/* font-family: 'Noto Serif JP', "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; */
	}
	.pager
	{
		display:flex;
		flex-wrap:wrap;
		justify-content: center;
		align-items: center;
		margin-bottom:30px;
		font-size:1.6rem;
	}
	.pager a, .pager span.active {
		margin-right: 20px;
		margin-bottom: 20px;
		padding: 10px 12px;
		border: 1px solid #cccccc;
		white-space: nowrap;
		text-decoration: none;
		color:#333
	}
	.pager a:hover {
		background: #bcc9ec;
	}
	.pager span.active {
		background: #cccccc;
		color: white;
	}
	.pager span {
		margin-right: 20px;
	}


	/****************************
	* エラーメッセージ
	****************************/
	#message .pageMessage
	{
		width:100%;
		margin:30px auto 10px;
		border-radius: 10px;
		position: relative;
		text-align:center;
		padding:0 1em;
	}
	#message .pageMessage.success
	{
		border:solid 3px #3cb371;
		color:#3cb371;
	}
	#message .pageMessage.error
	{
		border:solid 3px #cc0000;
		color:#cc0000;
	}
	#message .pageMessage .nextToggle
	{
		font-size:1.5rem;
		display:inline-block;
		padding:0 20px;
		background:#fff;
		font-weight:bold;
		/* font-family: 'M PLUS 1p', "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; */
		position: relative;
		top:-0.5em;
	}
	#message .pageMessage p
	{
		font-size:1.4rem;
		line-height: 1.8;
		text-align: left;
		display:flex;
		justify-content: center;
		align-items: center;
		margin:0 auto 0.8em;
	}
	#message .pageMessage p > span
	{
		display: inline-block;
		margin-right:1em;
	}

	#message .orderthanks div
	{
		width:100%;
		margin:80px auto 0;
		text-align:center;
		font-size:1.6rem;
		font-weight:bold;
		color:#333;
		line-height: 2em;
	}
	#message .orderthanks div div
	{
		font-size:3.5rem;
		color:#000;
	}
	#message .orderthanks div span
	{
		display:block;
		margin:10px auto;
		font-size:1.5rem;
		font-weight:normal;
		color:#666;
	}
	#message .orderthanks div span.cvs_no
	{
		font-size:1.8rem;
		font-weight:bold;
		color:#000;
	}
	.login_success
	{
		width:100%;
		margin:0px auto 20px;
		border-radius: 20px;
		position: relative;
		text-align:center;
		padding:5px 1em;
		border:solid 3px #3cb371;
		color:#3cb371;
	}
	.login_error
	{
		width:100%;
		margin:0px auto 20px;
		border-radius: 20px;
		position: relative;
		text-align:center;
		padding:5px 1em;
		border:solid 3px #cc0000;
		color:#cc0000;
	}

	/****************************
	* form
	****************************/
	.form_area
	{
		width: 100%;
		margin:0px auto 50px;
	}
	.form_area input[type="text"],
	.form_area input[type="search"],
	.form_area input[type="date"],
	.form_area input[type="tel"],
	.form_area input[type="mail"],
	.form_area input[type="time"],
	.form_area input[type="password"]
	{
		padding:10px;
		border: #999 solid 1px;
		border-radius: 4px;
		background: #fff;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		font-size:16px;
		width:95%;
	}
	.form_area select
	{
		padding:9px 0px 9px 10px;
		border: #999 solid 1px;
		border-radius: 4px;
		background: #fff;
		font-size:1.5rem;
		position: relative;
		width:95%;
	}

	.form_area textarea
	{
		padding:10px;
		border: #999 solid 1px;
		border-radius: 4px;
		background: #fff;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		font-size:1.8rem;
		line-height:1.5;
		width:95%;
	}
	.form_area input[type="radio"],
	.form_area input[type="checkbox"]
	{
		margin-bottom:1em;
	}
	.form_area .zip
	{
		width:30%;
	}
	.form_area .zip > div:first-child
	{
		display:inline-block;
		width:1.5em;
	}
	.form_area .zip > div:nth-child(3)
	{
		display:inline-block;
	}
	.form_area .zip > input
	{
		display:inline-block;
		width:calc( 100% - 1.9em );
	}

	.form_area .flex > div
	{
		display: inline-block;
		margin-right:1em;
	}

	.form_area .reserve_shop aside
	{
		margin-top:0;
		font-weight: normal;
		color:#666;
	}
	.form_area .reserve_shop ul
	{
		display:flex;
		flex-wrap: wrap;
		justify-content: start;
		align-items: flex-start;
	}
	.form_area .reserve_shop ul li
	{
		width:calc(( 100% - 40px ) / 2 );
		margin: 10px 15px 10px 5px;
	}
	.form_area .reserve_shop ul li:nth-child(2n)
	{
		margin-left:0;
		margin-right:10px;
	}
	.form_area .reserve_shop ul li:nth-child(n + 3)
	{
		margin-top:0;
	}
	.form_area .reserve_shop ul li p
	{
		border-radius: 4px;
		border: 1px solid #666;
		padding:0.8em;
		display:block;
		cursor: pointer;
		width:100%;
		height:130px;
	}
	.form_area .reserve_shop ul li p span
	{
		font-size:1.8rem;
		margin-bottom:0.8rem;
		padding-bottom:0.3rem;
		border-bottom:dotted 1px #666;
		font-weight: normal;
		display:block;
		position: relative;
	}
	.form_area .reserve_shop ul li p span:after
	{
		font-size:1.3rem;
		color:#666;
		position:absolute;
		top:3.5em;
		left:0;
		white-space:pre;
		line-height: 1.5;
		width:100%;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.form_area .reserve_shop ul li label input[type=radio]
	{
		display:none;
	}
	.form_area .reserve_shop ul li label input[type=radio]:checked + span p
	{
		background: #0071C1;
		color: #fff;
	}
	.form_area .reserve_shop ul li label input[type=radio]:checked + span p span
	{
		border-bottom:dotted 1px #fff;
	}
	.form_area .reserve_shop ul li label input[type=radio]:checked + span p span:after
	{
		color: #fff;
	}
	.form_area .reserve_datetime
	{
		margin-top:1rem;
		padding-top:1rem;
		border-top:1px dotted #0071C1;
	}
	.form_area .reserve_datetime strong
	{
		color:#666;
		font-weight:normal;
		display:block;
		margin-bottom:0.5em;
	}
	.form_area .reserve_datetime:first-child
	{
		margin-top:0;
		padding-top:0;
		border-top:none;
	}
	.form_area .reserve_datetime > div
	{
		display:flex;
		width:70%;
	}
	.form_area .reserve_datetime > div > div:first-child input
	{
		width:40%;
		min-width:230px;
		margin-left:5px;
	}
	.form_area .reserve_datetime > div > div:last-child select
	{
		width:80%;
		min-width:100px;
		margin-left:1em;
	}
	.form_area .reserve_datetime > div > div > div
	{
		width:auto;
		margin-right:1.5em;
	}
	.form_area .reserve_bra
	{
		margin:0;
	}
	.form_area .reserve_bra strong
	{
		color:#666;
		font-weight:normal;
		display:inline-block;
	}
	.form_area .reserve_bra select
	{
		margin-top:0.5em;
	}

	.form_area aside
	{
		font-size:1.3rem;
		line-height: 1.5;
		color:#666;
		display:block;
		margin-top:1em;
	}
	.form_area .mail_attention
	{
		background:#ffece0;
		border:2px solid #f4b8b8;
		padding:1em;
		border-radius: 4px;
	}

	.form_btn
	{
		display:flex;
		flex-direction: row-reverse;
		align-items: center;
		justify-content: center;
		text-align:center;
		margin:30px auto;
	}
	.form_btn button,
	.form_btn a
	{
		display:block;
		padding:15px 50px;
		margin:0 15px;
		border: #999 solid 1px;
		border-radius: 4px;
		background: #fff;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		font-size:1.8rem;
		text-decoration: none;
	}

	.form_btn button:hover,
	.form_btn a:hover
	{
		/* border-color:#CC0000; */
		border-color:#999;
	}

	.form_btn .submit
	{
		background:#0071C1;
		color:#fff;
	}
	.form_btn .submit:hover
	{
		background:#ffff;
		color:#0071C1;
		border-color:#0071C1;
	}
	.form_btn .back
	{
		background:#fff;
		color:#333;
	}
	.form_btn .back:hover
	{
		background:#333;
		color:#fff;
	}
	.form_btn .member_entry
	{
		background:#fff;
		color:#333;
	}
	.form_btn .member_entry:hover
	{
		background:#fff;
		color:#666;
		border-color:#666;
	}
	.form_btn .del
	{
		background:#CC0000;
		color:#fff;
	}

	.form_btn.group
	{
		flex-direction: row;
		justify-content: flex-end;
		text-align:center;
		margin:0px auto 30px;
		font-size:1.5rem;
		padding:0;
	}
	.form_btn.group .submit
	{
		padding: 5px 20px;
		margin: 0;
		font-size: 1.5rem;
	}

	.thanks
	{
		min-height:200px;
		line-height: 200px;
		text-align: center;
		/* display: flex;
		align-items: center;
		justify-content: center; */
	}
	.thanks > p
	{
		font-weight: bold;
		font-size:1.8rem;
	}
	.thanks > .box
	{
		width:70%;
		margin-bottom:50px;
	}


	/* form内エラー */
	.form_area td
	{
		position:relative;
	}
	.form_area td input + div span,
	.form_area td textarea + div span,
	.form_area td ul + div span,
	.form_area td select + div span
	{
		display: inline-block;
		background:#cc0000;
		padding:0.5em 1em;
		margin-bottom:1em;
		color:#fff;
		margin-top:1em;
		border-radius: 4px;
		position: relative;
		white-space: nowrap;
	}
	.form_area td input + div span:after,
	.form_area td textarea + div span:after,
	.form_area td ul + div span:after,
	.form_area td select + div span:after
	{
		content:"";
		position: absolute;
		top:-10px;
		left:1em;
		border-right: 7px solid transparent;
		border-bottom: 10px solid #cc0000;
		border-left: 7px solid transparent;
	}


	/****************************
	* post_contents
	****************************/
	.entry_time
	{
		display: block;
		text-align: right;
	}
	.entry_time:before
	{
		content:"\f304";
		font-family:"Font Awesome 5 Free";
        font-weight:900;
		display: inline-block;
		margin-right:0.5em;
	}
	#post_contents
	{
		display:block;
		width:100%;
		height:auto;
		padding:30px 0 50px;
		font-size:1.5rem;
		line-height: 1.6em;
	}
	#post_contents h3
	{
		position: relative;
		padding: 0.5em 1rem 0.5em 30px;
		background: #7f9fef;
		background: linear-gradient(to right, #0071C1 0%,#7f9fef 100%);
		color: #fff;
		font-size: 2.4rem;
		font-weight: normal;
		letter-spacing: 0;
		line-height: 1.6;
		margin: 0 auto 25px;
		display:block;
		left:0;
		transform: translate(0, 0);
		text-align: left;
		/* font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; */
		overflow: hidden;
		max-width:100%;
	}
	#post_contents h3:before
	{
		content:'';
		height:110%;
		width:2px;
		display:block;
		position:absolute;
		left:14px;
		top:-3px;
		margin:auto;
		background-color:#7f9fef;
		transform:rotate(3deg);
	}
	#post_contents h3:after
	{
		content:'';
		height:116%;
		width:2px;
		display:block;
		position:absolute;
		right:100%;
		left:14px;
		top:-6px;
		margin:auto;
		background-color:#7f9fef;
		transform:rotate(-20deg);
	}
	#post_contents h4
	{
		display: block;
		line-height: 1;
		margin-top: 24px;
		margin: 16px 0;
		padding: 20px 1rem 20px 30px;
		background: linear-gradient(to right, #ebf0f5 0%,#fff 100%);
		color:#333;
		font-weight: normal;
		font-size: 2.2rem;
		font-feature-settings: "palt";
		position: relative;
		overflow: hidden;
		max-width:100%;
	}
	#post_contents h4:before
	{
		content:'';
		height:110%;
		width:2px;
		display:block;
		position:absolute;
		left:14px;
		top:-3px;
		margin:auto;
		background-color:#7f9fef;
		transform:rotate(3deg);
	}
	#post_contents h4:after
	{
		content:'';
		height:116%;
		width:2px;
		display:block;
		position:absolute;
		right:100%;
		left:14px;
		top:-6px;
		margin:auto;
		background-color:#7f9fef;
		transform:rotate(-20deg);
	}
	#post_contents h5
	{
		margin:0;
		font-size:2rem;
		padding:0 0 0 1rem;
		padding-bottom:3px;
		margin-bottom:1.3em;
		position:relative;
		font-weight:normal;
		color:#0071C1;
		z-index:2;
		display: block;
		letter-spacing: 0.3em;
		left: 0;
		transform: translate(0, 0);
	}
	#post_contents h5:before
	{
		content:'';
		width:100px;
		height:3px;
		background-color:#0071C1;
		display:inline-block;
		position:absolute;
		left:0;
		bottom:-6px;
		z-index:1;
		border:none;
		top:calc( 100% - 1px );
	}
	#post_contents h5:after
	{
		content:'';
		width:100%;
		height:3px;
		background-color:#ccc;
		display:block;
		position:absolute;
		right:0;
		bottom:-6px;
		z-index:0;
		border:none;
		top:calc( 100% - 1px );
	}
	#post_contents img
	{
		width:auto!Important;
		max-width:100%!Important;
		height:auto!Important;
		margin:0em auto 2em;
	}
	#post_contents strong
	{
		font-weight: bold;
	}
	#post_contents a
	{
		color:#014b92;
		text-decoration: none;
		display: inline-block;
		/* line-height:1.3; */
	}
	#post_contents a[name]
	{
		margin-top:-150px;
		padding-top:150px;
		position: relative;
		z-index: -1;
	}
	#post_contents a[target="_blank"]:after
	{
		content:"\f35d";
		font-family:"Font Awesome 5 Free";
		font-weight:900;
		display: inline;
		padding:0 0.5em;
	}

	#post_contents a:hover
	{
		color:#999;
		text-decoration: underline;
	}

	#post_contents a:visited
	{
		color:#d25266;
		text-decoration: underline;
	}

	#post_contents hr
	{
		border-color:#eee;
		margin-top:30px;
	}

	/* ul */
	#post_contents ul
	{
		padding: 10px 0 10px;
		list-style: none;
		margin: 16px auto 20px;
		width:100%;
		padding:0 1rem;
		counter-reset: number 0;
	}
	#post_contents ul li
	{
		position: relative;
		z-index: 0;
		padding-left: 1.5em;
		margin-bottom: 10px;
	}
	#post_contents ul li:before
	{
		position: absolute;
		z-index: 0;
		top: 0.5em;
		left: 0;
		width: 10px;
		height: 10px;
		background:#0071C1;
		border-radius: 50%;
		content: "";
	}

	/* ol */
	#post_contents ol
	{
		padding: 10px 0 10px;
		list-style: none;
		margin: 16px auto 20px;
		width:100%;
		padding:0 1rem;
		counter-reset: number 0;
	}
	#post_contents ol li
	{
		position: relative;
		z-index: 0;
		padding-left: 1.5em;
		margin-bottom: 10px;
	}
	#post_contents ol li:before
	{
		counter-increment: number 1;
		content: counter(number) ". ";
		position: absolute;
		z-index: 0;
		top: 0;
		left: -0em;
		color:#0071C1;
		font-weight: bold;
	}

	#post_contents p
	{
		/* font-size:1.1em; */
		/* line-height: 2.0; */
		line-height:1.8;
		color:#222;
		margin: 0 0 0.8em 0;
		padding: 0 1rem;
		text-align: justify;
	}
	#post_contents p:last-child
	{
		margin-bottom:0;
	}

	#post_contents div
	{
		padding: 0 1rem;
		text-align: justify;
	}

	#post_contents table
	{
		border-collapse: collapse;
		border-spacing: 0;
		border-top: 1px solid #ccc;
		border-left: 1px solid #ccc;
		width:calc( 100% - 2rem);
		margin:0 auto 20px;
		table-layout: fixed;
		padding-top:16px;
	}
	#post_contents table th
	{
		text-align: left;
		vertical-align: middle;
		font-weight: bold;
		background: #eee;
		border-bottom: 1px solid #ccc;
		border-right: 1px solid #ccc;
		/* padding: 16px; */
		padding: 10px;
		width:30%;
	}
	#post_contents table td
	{
		text-align: left;
		font-weight: normal;
		vertical-align: middle;
		background: #fff;
		border-bottom: 1px solid #ccc;
		border-right: 1px solid #ccc;
		/* padding: 16px; */
		padding: 10px;
	}
	.recruit_text
	{
		margin-bottom:2em;
	}

	.subnavi
	{
		background:#fff;
		border:solid 3px #f3f3f3;
		padding:20px 20px 10px 15px;
		border-radius: 8px;
		/* font-size:2.1rem; */
		/* font-size:1.9rem; */
		position: relative;
		margin:10px auto 35px;
		background:#f3f3f3;
	}
	.subnavi:after
	{
		content:"\f0c1";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		display:inline-block;
		color:#666;
		position: absolute;
		top:-0.5em;
		left:0;
		text-align:center;
		font-size:3rem;
	}
	.subnavi ul
	{
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		overflow: hidden;
	}
	.subnavi ul li
	{
		display:inline-block;
		border-left:1px solid #d1d1d1;
		margin:0 26px 10px -1px;
	}
	.subnavi ul li a
	{
		color:#333;
		font-size:1.7rem;
		margin-left:25px;
		text-indent:-25px;
		display: inline;
		padding-left:15px;
		border-bottom:1px solid #666;
		text-decoration: none;
	}
	.subnavi ul li span
	{
		color:#ccc;
		margin-left:25px;
		border-bottom:1px solid #ccc;
		cursor:not-allowed;
	}
	.subnavi ul li span:hover
	{
		border-bottom:none;
	}
	.subnavi ul li a i
	{
		position:relative;
		left:10px;
	}

	.subnavi.download:before
	{
		content:"関連ファイル";
		font-size:2rem;
		position: absolute;
		top:-1.2em;
		left:0.3em;
		background:#fff;
		padding:0 0.5em 0 2.3em;
		border-radius: 10px;
	}
	.subnavi.download:after
	{
		content:"\f56d";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		display:inline-block;
		color:#666;
		position: absolute;
		top:-1.2em;
		left:0.6em;
		text-align:center;
		font-size:3rem;
	}
	.subnavi.download:after object.pdf_preview
	{
		width:48%;
		margin-right:1%;
		display:inline-block;
		height:200px;
	}


	/****************************
	* お知らせ
	****************************/

	.news_category
	{
		display:flex;
		justify-content:flex-start;
		align-items:flex-start;
		font-size:1.6rem;
		border-bottom:1px solid #333;
		padding:30px 0 5px;
		background:#fff;
	}
	.news_category.link
	{
		display:flex;
		justify-content:flex-start;
		align-items:flex-start;
		font-size:1.6rem;
		border-bottom:1px solid #333;
		padding:15px 0 5px;
		margin:15px auto 20px;
		background:#fff;
	}
	.news_category li
	{
		width:calc(100% / 4);
	}
	.news_category li a
	{
		display:block;
		text-align:center;
		background:#eeeeee;
		padding:10px 10px 8px 10px;
		margin-right:1em;
		color:#333;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.news_category li a:hover
	{
		opacity: 1;
		text-decoration: none;
		transform: scale(1.05);
	}
	.news_category li.on a
	{
		border-top:1px solid #333;
		border-left:1px solid #333;
		border-right:1px solid #333;
		background:#fff;
		position: relative;
		cursor: default;
	}

	/* .news_category li.on a:after
	{
		content:"";
		width:104%;
		height:5px;
		background:#fff;
		position: absolute;
		bottom:-6px;
		left:-2%;
		z-index:100
	} */

	.search_box
	{
		padding: 15px 30px 15px 30px;
		border-radius: 8px;
		position: relative;
		margin: 30px auto 0px;
		background: #eee;
		width:100%;
	}
	.search_box:after
	{
		content: "\f002";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		display: inline-block;
		color: #666;
		position: absolute;
		top: -0.5em;
		left: 0;
		text-align: center;
		font-size: 3rem;
	}
	.search_box form
	{
		display:flex;
		align-items: center;
		justify-content: space-between;
	}
	.search_box form > div
	{
		display:flex;
		align-items: center;
		margin-right:1.5em;
	}
	.search_box form > div.prefecture
	{
		width:30%;
	}
	.search_box form > div.name
	{
		width:55%;
	}
	.search_box form > div.title
	{
		width:100%;
	}
	.search_box form > div.btn
	{
		width:10%;
		text-align: right;
		margin-right:0;
	}

	.search_box form > div > p
	{
		margin-right:0.5em;
		width:6em;
	}
	.search_box form > div > select,
	.search_box form > div > input
	{
		width:calc( 100% - 6em );
		font-size:1.6rem;
		padding:3px 5px;
	}
	.search_box form > div.title > p
	{
		width:8em;
	}
	.search_box form > div.title > input
	{
		width:calc( 100% - 8em );
	}
	.search_box form > div.btn button
	{
		width: 95%;
		background: #0071C1;
		color: #fff;
		padding: 0.3em;
		font-size: 1.6rem;
	}

	.news_list
	{
		/* max-width:750px; */
		width:100%;
		margin:0 auto 30px;
	}
	.news_list li:nth-child(even)
	{
		background: #f3f3f3;
	}
	.news_list li a
	{
		padding:10px 1em 0.5em;
		font-size:1.6rem;
		display: flex;
		align-items: center;
		color:#333;
		border-bottom:1px dotted #666;
		/* margin-bottom:0.5em; */
	}
	.news_list li a:hover
	{
		text-decoration: none;
	}
	.news_list li .time_wrap
	{
		display:flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		margin-right:2em;
		/* width:18em; */
	}
	.news_list li .time_wrap time
	{
		padding:0 1em;
		margin-right:1em;
		white-space: nowrap;
	}
	.news_list li .time_wrap > span
	{
		display:block;
		padding:5px 0.5em;
		color:#fff;
		/* margin-right:2em; */
		background:#ff66b3;
		width:100px;
		font-size:1.3rem;
		text-align: center;
	}
	.news_list li .time_wrap > span.mark_2
	{
		background:#45e645;
	}
	.news_list li .time_wrap > span.mark_3
	{
		background:#ffb366;
	}
	.news_list li .time_wrap > span.mark_4
	{
		background:#6666ff;
	}
	.news_list li .time_wrap > span.mark_5
	{
		background:#ffbf7f;
	}
	.news_list li .time_wrap > span.mark_6
	{
		background:#0074bf;
	}
	.news_list li .time_wrap > span.mark_7
	{
		background:#c93a40;
	}
	.news_list li a > .news_ttl
	{
		width:calc( 100% - 20em );
		color:#3570da;
	}
	.news_list li a:hover > .news_ttl
	{
		text-decoration: underline;
	}

	.news_list.recruit
	{
		margin:10px auto 30px;
	}
	.news_list.recruit li .time_wrap > span
	{
		background:#0071C1;
		font-size:1.6rem;
	}
	.news_list.link li a
	{
		display:block;
	}
	.news_list.link li a div
	{
		width:100%;
	}
	.news_list.link li a span
	{
		font-size:1.3rem;
		color:#0071C1;
		margin-left:1em;
	}
	.news_list.link li a aside
	{
		color:#999;
	}
	.news_detail h2
	{
		display:flex;
		align-items:center;
		font-size:3.3rem;
	}
	.news_detail h2:before,
	.news_detail h2:after
	{
		content: "";
		height: 1px;
		flex-grow: 1;
		background-color: #666;
	}
	.news_detail h2:before
	{
		margin-right:3rem;
	}
	.news_detail h2:after
	{
		margin-left:3rem;
	}

	.news_detail .time_wrap
	{
		text-align:right;
		margin-bottom:1em;
	}
	.news_detail time
	{
		font-size:1.5rem;
		position: relative;
		line-height: 1.4;
		padding:0.15em 1em;
		display: inline-block;
		top:0;
	}
	.news_detail time:before,
	.news_detail time:after
	{
		position: absolute;
		top: 0;
		content:'';
		width: 8px;
		height: 100%;
		display: inline-block;
	}
	.news_detail time:before
	{
		border-left: solid 1px #666;
		border-top: solid 1px #666;
		border-bottom: solid 1px #666;
		left: 0;
	}
	.news_detail time:after
	{
		content: '';
		border-top: solid 1px #666;
		border-right: solid 1px #666;
		border-bottom: solid 1px #666;
		right: 0;
	}




	/****************************
	* main
	****************************/
	.aboutus
	{
		background:#f1f1f1;
		margin-top:-100px;
		padding-top:50px;
		padding-bottom:30px;
		position:relative;
		z-index: 3;
	}
	.summary
	{
		font-size:1.8rem;
		line-height: 1.8;
		text-align: left;
		margin:30px auto 50px;
		text-align: center;
	}
	.summary strong
	{
		text-align:center;
		font-size:2rem;
		color:#0071C1;
		line-height: 1.6;
		margin:10px auto;
		font-weight:bold;
		display:block;
	}
	.summary p
	{
		margin-bottom:0.3em;
		line-height:1.5;
	}

	.group_toggle
	{
		width:350px;
		margin:0 auto 50px;
		display:flex;
		justify-content: center;
		align-items: center;
		background-clip: padding-box;
		color:#fff;
	}
	.group_toggle li span
	{
		border:solid 2px #0071C1;
		background: #0071C1;
		font-weight: bold;
		width:175px;
		padding:5px;
		display:block;
		text-align: center;
		border-radius:20px 0 0 20px;
	}
	.group_toggle li a
	{
		border:solid 2px #0071C1;
		background:#fff;
		font-weight: bold;
		width:175px;
		padding:5px;
		display:block;
		text-align: center;
		border-radius:0 20px 20px 0;
	}
	.group_toggle li a:hover
	{
		color:#0071C1;
		text-decoration: none;
		background:#a7d8f9;
		opacity: 1;
	}
	.group_toggle li a.invalid
	{
		pointer-events: none;
		color:#DDD;
	}

	.group_toggle.wide li span
	{
		border-radius:0 20px 20px 0;
	}
	.group_toggle.wide li a
	{
		border-radius:20px 0 0 20px;
	}

	.group_toggle.long
	{
		width:600px;
	}
	.group_toggle.long li span
	{
		width:300px;
	}
	.group_toggle.long li a
	{
		width:300px;
	}

	.special_info > div
	{
		background:#fff4f6;
		outline-offset:10px;
		max-width:calc( 1200px - 100px * 2);
		width: 100%;
		margin: 0px auto 30px;
		padding:0;
	}
	.special_info > div h3
	{
		font-size: 1.5rem;
		background:#e60000;
		color:#fff;
		padding:8px 20px;
		margin-bottom:0px;
		text-align:left;
		border-radius:5px 5px 0 0;
	}
	.special_info > div > div
	{
		background:#fff4f6;
		border-left:3px solid #e60000;
		border-right:3px solid #e60000;
		border-bottom:3px solid #e60000;
		padding:15px 20px;
		border-radius: 0 0 5px 5px;
		color:#e60000
	}


	.link_add
	{
		position:absolute;
		margin-top:-53px;
		right:30px;
	}
	.link_add a
	{
		display: inline-block;
		color: #333;
		padding: 0;
		font-size:1.5rem;
		margin-left:20px;
	}
	.link_add a::before
	{
		content: "\f138";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		margin-right: 5px;
		color: #0071C1;
		font-size: 1.2em;
	}
	.link_add a:hover
	{
		color:#0071C1;
		text-decoration: none;
	}
	.link_add a:hover:before
	{
		margin-right:2px;
		margin-left:3px;
		transition: all 0.3s;
	}

	.link_more
	{
		display:flex;
		justify-content: flex-end;
		margin:-10px 0 30px;
	}
	.link_more a
	{
		display: inline-block;
		color: #333;
		padding: 0;
		font-size:1.5rem;
		margin-left:20px;
	}
	.link_more a::before
	{
		content: "\f138";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		margin-right: 5px;
		color: #0071C1;
		font-size: 1.2em;
	}
	.link_more a:hover
	{
		color:#0071C1;
		text-decoration: none;
	}
	.link_more a:hover:before
	{
		margin-right:2px;
		margin-left:3px;
		transition: all 0.3s;
	}

	/** 個別アイコン **/
	.link_add a.mail::before
	{
		content: "\f0e0";
	}

	.link_add a.user::before
	{
		content: "\f234";
		font-size: 1.1em;
	}
	.link_add a.moving::before
	{
		content: "\f4df";
		font-size: 1.1em;
	}

	/****************************
	* column
	****************************/

	.column2 ul
	{
		max-width:1200px;
		display:flex;
		align-items: flex-start;
		justify-content: space-around;
		margin:20px auto 80px;
		padding:0 0px;
	}
	.column2 ul li
	{
		width:43%;
		text-align: center;
	}
	.column2 ul li a:hover
	{
		text-decoration: none;
	}
	.column2 ul li h3
	{
		display:flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		width:100%;
		height:300px;
		background-color:#ccc;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: top center;
		font-size:3.5rem;
		color:#fff;
		position:relative;
		margin-bottom:15px;
		transition: all 0.3s;
	}
	.column2 ul li:first-child h3
	{
		background-image: url("../images/top_branding2.jpg");
	}
	.column2 ul li:last-child h3
	{
		background-image: url("../images/top_branding3.jpg");
	}

	.column2 ul li h3:after
	{
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: rgba(0,0,0,0.5);
		z-index: 1;
	}
	.column2 ul li a h3 div
	{
		position: relative;
		z-index: 10;
		color:#fff;
		width:100%;
		padding:0.5em 0;
		background:rgba(255,255,255,0.25);
		line-height: 1.3;
		font-size:3rem;
		font-weight: normal;
		transition: all 0.3s;
	}
	.column2 ul li a h3 div span
	{
		font-size:1.8rem;
		color:#ccc;
	}
	.column2 ul li a h3:hover div span
	{
		color:#666;
	}
	.column2 ul li a,
	.column2 ul li h3:hover
	{
		opacity:1;
	}
	.column2 ul li h3:hover:after
	{
		background-color: rgba(0,0,0,0);
		opacity:1;
	}
	.column2 ul li h3:hover div
	{
		transition: all 0.3s;
		background:rgba(255,255,255,0.9);
		overflow: hidden;
		color:#0071C1
	}



	/* バナーリスト */
	.bn_list
	{
		display:flex;
		justify-content: center;
		flex-wrap: wrap;
		width:100%;
	}
	.bn_list div
	{
		width:calc( 100% / 3 );
		margin-bottom:2em;
	}
	.bn_list div figure img
	{
		width:100%;
		height:200px;
		/*object-fit:cover;*/
		object-fit:contain;
		background:#fff;
	}
	.bn_list.top_event div figure img
	{
		object-fit:cover;
	}
	.bn_list div > a:link,
	.bn_list div > a:visited
	{
		width:90%;
		margin:auto;
		padding:0;
		display:block;
		font-size:1.4rem;
		color:#333
	}
	.bn_list .ttl
	{
		display:block;
		margin:0 auto 50px;
		font-size:1.6rem;
		line-height: 1.5;
		text-align: left;
		font-weight: normal;
		padding:1em;
		color:#333;
		background:#eeeeee;
		border-radius:0 0 8px 8px;
		width:100%;
		max-width:100%;
		height:6em;
		/* font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; */
	}
	.bn_list.item_detail
	{
		flex-wrap: nowrap;
	}
	.bn_list.item_detail > div
	{
		width:calc( 100% - 60px ) ;
		margin:0 auto 0px;
		font-size:1.6rem;
		line-height: 1.5;
		text-align: left;
		font-weight: normal;
		padding:1em;
		color:#000;
		background:transparent;
	}
	.bn_list.item_detail > div h4.ttl
	{
		margin:10px auto 0px;
		font-size:1.6rem;
		line-height: 1.5;
		text-align: left;
		font-weight: normal;
		padding:1em 1em 0 1em;
		color:#333;
		background:transparent;
		height:auto;
	}
	.bn_list.item_detail > div p
	{
		margin:0 auto 10px;
		font-size:1.3rem;
		line-height: 1.8;
		text-align: left;
		font-weight: normal;
		padding:1em 1em 0 1em;
		color:#333;
		background:transparent;
	}
	.bn_list .ttl span
	{
		position:absolute;
		bottom:5px;
		right:5px;
		z-index:2;
		font-size:1.2rem;
		line-height: 1.3;
		text-align: center;
		font-weight: normal;
		padding:0.3em 0.5em;
		color:#0071C1;
		display:inline-block;
		border-radius: 0 0 8px 0;
	}
	.bn_list .ttl span:after
	{
		font-family:"Font Awesome 5 Free";
		font-weight:900;
		content: "\f35a";
		padding-left:0.3em;
	}
	.bn_list .ttl:before,
	.bn_list .ttl:after
	{
		content:none;
	}
	.bn_list a:hover
	{
		text-decoration: none;
	}

	.spec
	{
		width:95%;
		margin:30px auto;
		font-size:1.4em;
		padding:2rem;
		background:#fff;
		border-radius:10px;
	}
	.spec dl
	{
		display:flex;
		font-size:1.5rem;
		margin-bottom:1em;
	}
	.spec dt
	{
		width:8em;
		margin-right:1em;
	}
	.spec dd
	{
		width:calc(100% - 8em);
		line-height:1.8;
	}

	.recommend_container
	{
		width:100%;
		margin:0 auto 0px;
	}
	.recommend_container.column
	{
		display:flex;
		flex-wrap: wrap;
	}
	.recommend_block
	{
		display:flex;
		align-items: flex-start;
		padding:30px;
		background:#f1f4fb;
		border-radius: 20px;
		margin-bottom:30px;
	}
	.recommend_container.column .recommend_block
	{
		width:calc(( 100% - 30px ) / 2 );
		margin-right:30px;
	}
	.recommend_container.column .recommend_block:nth-child(2n)
	{
		margin-right:0;
	}
	.recommend_block h4
	{
		font-size:1.8rem;
		margin-bottom:1em;
	}
	.recommend_block p
	{
/*
		font-size:1.3rem;
*/
		font-size:1.6rem;
		margin:0;
		line-height:1.8;
	}
	.recommend_block h5
	{
		width:150px;
		margin-right:30px;
		font-size:1.3rem;
		text-align: center;
	}
	.recommend_block h5 figure
	{
		display:block;
		margin-bottom:10px;
	}
	.recommend_block h5 figure img
	{
		width:150px;
		height:150px;
		object-fit: cover;
		object-position: 0 0;
		background:#fff;
	}

	.voice_container
	{
		width:100%;
		margin:0 auto 0px;
	}

	.voice_container dl
	{
		margin:0 auto 20px;
		display:flex;
		justify-content: center;
		font-size:1.3rem;
		line-height: 2;
	}
	.voice_container dt
	{
		width:23%;
		margin-right:30px;
		padding:10px 0px 10px 120px;
		position: relative;
		text-align: left;
		font-size:1.5rem;
		line-height: 1.8;
	}
	.voice_container dl.customer dt:before
	{
		content:"";
		width:110px;
		height:90px;
		display: inline-block;
		background-image:url(../images/common/customer.png);
		background-repeat:no-repeat;
		background-size:100% auto;
		display:block;
		position:absolute;
		background-color:#fff;
		top:10px;
		left:0px;
	}
	.voice_container dl.staff
	{
		margin-bottom:30px;
		/* color:#0071C1; */
	}
	.voice_container dd
	{
		width:70%;
		border-left:solid 2px #0071C1;
		padding:10px 0px 10px 30px;
		position: relative;
		font-size:1.3rem;
		line-height: 2;
	}

	.contact_btn
	{
		display:flex;
		align-items: center;
		justify-content: space-around;
		text-align:center;
		margin:-30px auto;
		font-size:2rem;
	}

	.contact_btn a
	{
		border:2px solid #9bacde;
		background-image:url(../images/common/box_1.svg),
						url(../images/common/box_2.svg),
						url(../images/common/box_3.svg),
						url(../images/common/box_4.svg);
		background-repeat:no-repeat,
						no-repeat,
						no-repeat,
						no-repeat;
		background-position:left 6px top 6px,
						right 6px top 6px,
						left 6px bottom 6px,
						right 6px bottom 6px;
		background-size:20px 20px,
						20px 20px,
						20px 20px,
						20px 20px;
		background-color:#fff;
		width:35%;
		padding:20px 50px;
		margin:0px auto 0;
		color:#0071C1;
	}
	.contact_btn a:hover
	{
		text-decoration: none;
	}

	.more_btn
	{
		margin:-1em auto 0;
		text-align:center;
		font-size:1.6rem;
	}
	.more_btn a:link,
	.more_btn a:visited
	{
		color:#fff;
		background: #9fa0a0;
		max-width:450px;
		padding:8px;
		display:block;
		margin:auto;
		border-radius: 1.5rem;
	}
	.more_btn a:hover
	{
		text-decoration: none;
	}

	.box
	{
		border:2px solid #9bacde;
		background-image:url(../images/common/box_1.svg),
						url(../images/common/box_2.svg),
						url(../images/common/box_3.svg),
						url(../images/common/box_4.svg);
		background-repeat:no-repeat,
						no-repeat,
						no-repeat,
						no-repeat;
		background-position:left 12px top 12px,
						right 12px top 12px,
						left 12px bottom 12px,
						right 12px bottom 12px;
		background-color:#fff;
		width:100%;
		padding:50px 60px;
		margin:0px auto 0;
	}
	.box p
	{
		font-size:1.6rem;
		line-height: 2;
		text-align: left;
		/* display:flex;
		justify-content: center;
		align-items: center; */
		margin:0 auto 0.8em;
	}



	/****************************
	* ログイン
	****************************/
	main.index .login
	{
		display:block;
		max-width:800px;
		margin:0 auto 0px;
		position:relative;
		top:-150px;
		z-index:100;
		background: transparent;
	}

	.login_inner
	{
		display:flex;
		border-radius:5px;
		box-shadow: 0px 0px 8px #666;
	}
	.login_inner .login_title
	{
		display:flex;
		justify-content: center;
		align-items: center;
		width:35%;
		padding:50px;
		text-align:center;
		flex-direction: column;
		color:#fff;
		/* background:rgba(0, 113, 193, 1); */
		background-image: radial-gradient(#0071C1 80%, #0567ac);
		margin:0;
		border-radius:5px 0 0 5px;
	}
	.login_inner .login_title dt
	{
		font-size:4rem;
		letter-spacing: 0.1em;
		text-shadow:2px 2px 3px #333;
	}
	.login_inner .login_title dt:before
	{
		content:"\f023";
		display:block;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		font-size:2.3rem;
	}
	.login_inner .login_title dd
	{
		opacity: 0.6;
	}
	.login_inner .login_box
	{
		display:block;
		width:65%;
		padding:50px;
		border-radius:0 5px 5px 0;
		background:#fff;
		text-align: center;
	}

	.login_inner div.form-item
	{
		position: relative;
		display: block;
		margin-bottom: 30px;
	}
	.login_inner input
	{
		transition: all .2s ease;
	}
	.login_inner input.form-style
	{
		color:#8a8a8a;
		display: block;
		width: 100%;
		height: 44px;
		padding: 5px 5%;
		border:1px solid #ccc;
		/* border-radius: 27px; */
		border-radius: 5px;
		background-clip: padding-box;
		background-color: #fff;
		/* font-family:'HelveticaNeue','Arial', sans-serif; */
		font-size: 105%;
		letter-spacing: .8px;
	}
	.login_inner div.form-item .form-style:focus
	{
		outline: none;
		border:1px solid #0071C1;
		color:#0071C1;
		box-shadow: none;
	}
	.login_inner div.form-item p.formLabel
	{
		position: absolute;
		left:10px;
		top:12px;
		transition:all .4s ease;
		color:#bbb;
	}
	.login_inner .formTop
	{
		top:-11px !important;
		left:20px;
		background: #fff;
		padding:0 5px;
		font-size: 14px;
		color:#0071C1 !important;
		font-size:0.9em;
		margin:0;
		line-height: 1;
	}
	.login_inner .formStatus
	{
		color:#8a8a8a !important;
	}
	.login_inner button
	{
		width: 60%;
		height: 37px;
		border-radius: 19px;
		background-clip: padding-box;
		background: #0071C1;
		border:1px solid #0071C1;
		border:none;
		color: #fff;
		font-weight: bold;
		margin:10px auto 0;
	}
	.login_inner button:hover
	{
		background: #fff;
		border:1px solid #0071C1;
		color:#0071C1;
		cursor:pointer;
	}
	.login_inner button:focus
	{
		outline: none;
	}
	.darken-bg
	{
		background: rgba(0,0,0,.5) !important;
		transition:all .3s ease;
	}

	.pw_forget
	{
		margin-top:0.5em;
		padding:1em 0;
		text-align:right;
	}
	.pw_forget a
	{
		display:inline-block;
		border-left:1px solid #333;
		color:#333;
		padding:0 2em;
	}
	.pw_forget a::before
	{
		content:"\f138";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		margin-right:5px;
		color:#0071C1;
		font-size:1.2em;
	}
	.pw_forget a:hover
	{
		color:#0071C1;
		text-decoration: none;
	}
	.pw_forget a:hover:before
	{
		margin-right:2px;
		margin-left:3px;
		transition: all 0.3s;
	}
	.pw_forget a:first-child
	{
		border-left:none;
	}


	.togroup > a
	{
		width: 60%;
		border-radius: 25px;
		background-clip: padding-box;
		background: #0071C1;
		border: 1px solid #0071C1;
		color: #fff;
		font-weight: bold;
		margin:0px auto 0;
		padding: 10px 20px;
		font-size:1.8rem;
		display:block;
		text-align: center;
		position: relative;
		top:-20px;
	}
	.togroup > a:hover
	{
		opacity: 1;
		text-decoration: none;
		background: #fff;
		color: #0071C1;
		font-weight: bold;
		margin: 0px auto 0;
		padding: 10px 20px;
		font-size:1.8rem;
		display:block;
		text-align: center;
	}

	/* form */
	.form_block > table th,
	.form_block > table td
	{
		padding:10px 30px;
	}
	.form_block > table th
	{
		background:#eee;
	}

	/****************************
	* Contents
	****************************/
	.lead
	{
		font-size: 1.6rem;
		margin:0 auto 1em;
		line-height: 1.8;
		text-align: justify;
	}
	.lead strong
	{
		color:#0071C1;
	}
	.contents
	{
		margin-bottom:50px;
		font-size:1.6rem;
		text-align: justify;
	}
	.contents .contents_inner
	{
		margin-top:80px;
	}
	.contents h2
	{
		position: relative;
		padding: 0.5em 1rem 0.5em 30px;
		background: #0071C1;
		/* background: url(../images/branding.jpg) no-repeat #0071C1 right;
		background-size: 50%; */
		background: linear-gradient(to right, #0071C1 0%,#46aaf2 100%);
		color: #fff;
		font-size: 2.4rem;
		font-weight: normal;
		letter-spacing: 0;
		line-height: 1.6;
		margin: 0 auto 25px;
		display: block;
		left: 0;
		transform: translate(0, 0);
		text-align: left;
		overflow: hidden;
		max-width: 100%;
	}
	.contents .contents_inner h3
	{
		font-size:2.3rem;
		color: #0071C1;
		text-align: left;
		padding:0 30px;
		margin-top:50px;
		margin-bottom:20px;
	}
	.contents .contents_inner h3.mt-none
	{
		margin-top:0px;
	}
	.contents .contents_inner h3 span
	{
		display:inline-block;
		margin-right:0.5em;
		color: #0071C1;
		font-weight: bold;
	}
	.contents .contents_inner h3 span:before
	{
		content:"[";
		display: inline-block;
		font-weight:normal;
	}
	.contents .contents_inner h3 span:after
	{
		content:"]";
		display: inline-block;
		font-weight:normal;
	}
	.contents .contents_inner h4
	{
		font-size:1.8rem;
		margin:0 0 10px 0;
		padding:0 30px;
	}
	.contents .contents_inner p
	{
		font-size:1.6rem;
		padding:0 30px;
		margin-bottom:1em;
	}
	.contents .lead
	{
		padding:0 30px;
	}
	.contents .lead > dl
	{
		display:flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.contents .lead > dl dt
	{
		display: inline-block;
	}
	.contents .lead > dl dd
	{
		margin-left:30px;
	}
	.contents .dpatPDF
	{
		width: 80%;
		margin:30px auto 50px;
		display:flex;
		justify-content: center;
		background:#f1f1f1;
		padding:30px;
	}
	.contents .dpatPDF > div
	{
		width:30%;
		text-align: center;
	}
	.contents .dpatPDF > div a:hover
	{
		text-decoration: none;
	}

	.contents ul
	{
		margin:0px 30px 0px 55px;
		list-style-type: disc;
	}
	.contents ul li
	{
		margin-bottom:0.8em;
		color:#0071C1;
	}
	.contents ul li span
	{
		color:#333;
	}
	.contents ul li > span > ul
	{
		margin:20px 0px 30px 20px;
		list-style-type: circle
	}
	.contents ul li > span > ul li
	{
		margin-bottom:0.5em;
	}
	.contents ol
	{
		margin:0px 30px 0px 55px;
		list-style-type: decimal
	}
	.contents ol li
	{
		margin-bottom:0.8em;
		color:#0071C1;
	}
	.contents ol li span
	{
		color:#333;
	}

	.doc_link_wrap
	{
		margin: 50px auto 30px;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		font-size: 1.9rem;
		line-height: 1.8;
	}
	.doc_link_wrap > .link_inner 
	{
		width:calc( ( 100% - 60px ) / 3 );
		margin-right: 30px;
		margin-bottom: 50px;
	}
	.doc_link_wrap > .link_inner:nth-child(3n)
	{
		margin-right:0;
	}
	.doc_link_wrap > .link_inner h2
	{
		padding:0 5px 2px 10px;
		border-left:10px solid #0071C1;
		border-bottom:2px solid #0071C1;
		background: transparent;
		color:#0071C1;
		font-size:1.8rem;
	}
	.doc_link_wrap > .link_inner p
	{
		padding:0 20px;
	}
	.doc_link_wrap > .link_inner ul
	{
		font-size:1.5rem;
		margin:0 20px 0 35px;
	}
	.doc_link_wrap > .link_inner li
	{
		color:#333;
	}
	.doc_link_wrap > .link_inner ul > li > ul
	{
		margin-top: 0.8em;
	}
	.doc_link_wrap > .link_inner .more a
	{
		text-align: center;
		font-size:1.3rem;
		background:#0071C1;
		color:#fff;
		padding:5px 50px 10px;
		margin:20px auto;
		width:80%;
		display:flex;
		flex-direction: column;
		position: relative;
	}
	.doc_link_wrap > .link_inner .more a::after
	{
		content: "\f078";
		display: inline-block;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		color: #fff;
		position: absolute;
		top:18px;
		left:50%;
		transform: translate(-50%,0);
		opacity: 0.6;
	}
	.doc_link_wrap > .link_inner .more a:hover
	{
		text-decoration: none;
	}
	
	/****************************
	* 規約
	****************************/
	.contents.terms > h2
	{
		font-size:2rem;
		display:inline-block;
		margin:30px auto 0;
		text-align: center;
		background: none;
		padding:0 30px;
		color:#333;
		font-weight: bold;
	}

	.contents.terms > p
	{
		margin-bottom:1em;
		padding:0 30px;
	}
	.contents.terms ol
	{
		margin:0px 30px 0px 55px;
		list-style-type: decimal
	}
	.contents.terms ol > li > span > ol
	{
		list-style-type: upper-roman;
		margin-top:0.5em;
		margin-left:1.5em;
	}
	.contents.terms ol > li > span > ol > li > span > ol
	{
		list-style-type: lower-roman;
		margin-left:1.5em;
	}
	.contents.terms ol ol
	{
		margin-right:0;
	}

	.contents.terms .tR
	{
		text-align: right;
	}




	/****************************
	* トップのスペシャル告知
	****************************/
	.top_banner
	{
		max-width:1220px;
		margin:50px auto -30px;
		display:flex;
		/* justify-content:space-around; */
		/* justify-content:flex-start; */
		justify-content:center;
		flex-wrap: wrap;
		background:#fff!Important;
	}

	.top_banner a
	{
		width:calc( (100% - 80px ) / 4 );
		height:90px;
		margin:0 10px 20px;
		display:block;
	}
	.top_banner a img
	{
		width:100%;
		height:100%;
		object-fit: cover;
	}


	/* よくある質問 */
	.anker_navi
	{
		margin: 50px auto 30px;
		display: flex;
		flex-wrap: wrap;
		font-size:1.4rem;
		position: relative;
		z-index: 1;
	}
	.anker_navi a
	{
		display: inline-block;
		padding: 0.8em 1.5em;
		border: 2px solid #0071C1;
		margin-right: 1em;
		margin-bottom: 20px;
		border-radius: 1em;
		color:#333;
	}
	.anker_navi a:hover
	{
		background: #0071C1;
		color: #fff;
		text-decoration: none;
	}
	.faq_category
	{
		padding:170px 0 0 0;
		margin:-170px 0 10px 0;
		background:transparent;

	}
	.faq_list li
	{
		position: relative;
		margin: 0 0 3em 1em;
		padding: 0.5em 0.5em;
		border-radius: 10px;
		font-size:1.6rem;
		background: #ebf0f3;
		margin: 0 0 3em 1em;
	}
	.faq_list dt
	{
		position: relative;
		background: #fff;
		padding: 10px 5px 10px 40px;
		color: #454545;
		border-radius: 10px;
		line-height: 1.8;
		font-weight: bold;
	}
	.faq_list dt::before
	{
		content: "Q";
		display: inline-block;
		line-height: 33px;
		position: absolute;
		padding: 0em;
		color: #fff;
		background: #0071C1;
		font-weight: bold;
		font-size: 2rem;
		width: 40px;
		text-align: center;
		height: 40px;
		left: -1.2em;
		top: 20px;
		-moz-transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		border: solid 3px white;
		border-radius: 50%;
	}
	.faq_list dt::after
	{
		content: "A";
		display: inline-block;
		line-height: 33px;
		position: absolute;
		padding: 0em;
		color: #fff;
		background: #9ad8e8;
		font-weight: bold;
		font-size: 2rem;
		width: 40px;
		text-align: center;
		height: 40px;
		left: -1.2em;
		bottom: -80px;
		-moz-transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		border: solid 3px white;
		border-radius: 50%;
	}
	.faq_list dd
	{
		padding: 20px 20px 15px 40px;
		margin: 0;
		line-height: 1.8;
	}
	.faq_list dd a
	{
		display:inline;
		color: #31acc6;
	}
	.faq_list dd a:hover
	{
		opacity: 1;
	}
	.faq_list dd a.btn
	{
		display:inline-block;
		padding:0.3em 1em;
		background:#fff;
		border: 2px solid #31acc6;
		color: #31acc6;
		text-shadow: 0 1px 0 rgba(0, 0, 0, .05);
		border-radius: .25em;
		margin-top:1em;
		text-align: center;
	}
	.faq_list dd a.btn:hover
	{
		background:#31acc6;
		color: #fff;
		text-decoration: none;
	}

	/* マークの切り替え */
	.img_gray
	{
		filter:grayscale(100%);
	}

	 /****************************
	  * ページ内リンク調整
	  ****************************/
	 .btm_space
	 {
		 margin-bottom:50px;
	 }

	 /* ページ内リンク */
	 a[name] { display:block; position:relative; visibility:hidden; top:-110px; }

	 /****************************
	  * その他
	  ****************************/
	.scroll_fix
	{
		position:-webkit-sticky;
		position:sticky;
		top:109px;
		z-index:10;
		background:#fff;
		padding:5px 0 20px;
	}
	.scroll_fix.search_box
	{
		top:200px;
	}
	.scroll_fix::after
	{
		content:'';
		width:100%;
		position:absolute;
		border-bottom:1px solid #ccc;
		left:0px;
		bottom:-1px;
		z-index:1;
	}

