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

@import url("reset.css");

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
/*Gotham代替フォント - Montserrat*/
@import url('https://fonts.googleapis.com/css?family=Montserrat:700&display=swap');
/*condenceフォント*/
@import url('https://fonts.googleapis.com/css2?family=Antonio:wght@600&display=swap');

body {
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
/*=====共通小物=====*/
.align-right {text-align: right;}
.align-left {text-align: left;}
.align-center {text-align: center;}
.bold {font-weight: bold;}
ol {
	display: block;
	list-style-position: outside;
	list-style-type: decimal;
	padding-left: 2em;
	margin-bottom: 2em;
}
ol li {margin-bottom:1em;line-height: 1.5;}
.red {color:#FF0004;}
.indent {padding-left:2em;}

/*テーマカラー*/
/*hover色　濃：#0070e1　淡い：#aad4fe*/
.themeColor {color:#0152a4;}

/*
pc/スマホ用改行
<br class="br-wide" /><br class="br-narrow" />
*/
@media screen and (min-width: 900.001px){	
  .br-wide { display:block; }
  .br-narrow { display:none; }
}
@media screen and (max-width: 900px){	
  .br-wide { display:none; }
  .br-narrow { display:block; }
}

/*page-top ボタン--*/
#page-top {
    position: fixed;
    bottom: 20px;
    right: 10px;
    font-size: 50%;
	z-index:75;
}
#page-top a {
    background-color: #0152a4;
    text-decoration: none;
    color: #fff;
    width: auto;
    padding: 5px;
    text-align: center;
    display: block;
    border-radius: 5px;
	opacity:0.7;
}
#page-top a:hover {
	text-decoration: none;
	opacity:1;
}



/*
=================================
menubar start
=================================
*/

@media screen and (min-width: 480.001px) {
	body > .menubar {
		display:block;
		width:100%;
		height:114px;
		background: rgba(255,255,255,0.9);
		box-shadow:0px 10px 10px -10px #cccccc;
		position: relative;
		z-index: 80;
		border-top: solid #0152a4 4px;
		position: fixed;
		top:0;
	}
	body > .menubar .inner_block {
		display:block;
		position:relative;
		max-width:1500px;
		height:114px;
		margin:0 auto;
		padding-left: 30px;
		overflow:visible;
	}
	body > .menubar .logo {
		display:block;
		width:22%;
		max-width: 231px;
		height:70px;
		background-image:url(../images/logo.png);
		background-repeat:no-repeat;
		background-size: contain;
		background-position: center;
		text-indent:-9999px;
		position:absolute;
		top:0;bottom:0;left:auto;right:auto;
		margin: auto;
		z-index:5;
		transition-property: margin;
		transition: 0.5s;
	}
	/*メインナビ*/
	.menubar nav {
		width: calc(75% - 60px);
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		-webkit- transform: translateY(-50%);
	}
	body > .menubar ul {
		float:right;
		width:auto;
		margin: auto;
		margin-top: -10px;
	}
	body > .menubar ul li {
		float:left;
		/*2025.5*/
		padding: 0;
		margin: 0.5vw min(1.2vw,20px);
		transition-property: margin;
		transition: 0.5s;
		height: 36px;
		display: flex;
		align-items: center;
	}
	body > .menubar ul li a,
	body > .menubar ul li span {
		position: relative;
		display: inline-block;
		line-height:1;
		color:#000;
		font-size: 14px;
		letter-spacing: 0.1em;
		height: auto;
		text-decoration: none;
	}
	body > .menubar ul li .current,
	body > .menubar ul li a:hover {
		color:#000;
	}
	/*下線*/
	body > .menubar ul li a::after,
	body > .menubar ul li span::after {
		position: absolute;
		bottom: 2px;
		left: 0;
		content: '';
		width: 100%;
		height: 2px;
		background: #0152a4;
		opacity: 0.3;
		visibility: hidden;
		transition: .3s;
	}
	body > .menubar ul li a:hover::after,
	body > .menubar ul li span:hover::after,
	body > .menubar ul li a.current::after,
	body > .menubar ul li span.current::after{
		bottom: -4px;
		opacity: 1;
		visibility: visible;
	}
	/*ボタン型*/
	body > .menubar ul li.button {
		/*margin-top: 0px;*/
	}
	body > .menubar ul li.button a {
		background-color: #0152a4;
		color:#FFF;
		font-size: 12px;
		height: 31px;
		/*標準値：
		padding:5px 10px;
		margin: 3px 12px;*/
		padding:10px 15px 3px 50px;
		border-radius: 3px;
		background-image: url("../images/icon_online.png");
		background-repeat: no-repeat;
		background-position: 14px 7px;
	}
	body > .menubar ul li.button .current,
	body > .menubar ul li.button a:hover {
		color:#FFF;
		background-color: #0070e1;
	}
	/*下線*/
	body > .menubar ul li.button a::after,
	body > .menubar ul li.button span::after {
		display: none;
	}
	/*sns 2025.5*/
	body > .menubar ul li.sns {
		display: flex;
		align-items:center;
	}
	body > .menubar ul li.sns a {
		display: flex;
		align-items:center;
		margin: auto;
		padding: 0;
	}
	body > .menubar ul li.sns a:first-child {
		margin-right: max(14px,1.4vw);
	}
	body > .menubar ul li.sns a:hover {
		opacity: 0.8;
	}
	body > .menubar ul li.sns a:hover::after {
		display: none;
	}
	body > .menubar ul li.sns a img {
		height: clamp(24px,3vw,36px);
		width: clamp(24px,3vw,36px);
	}
}
@media screen and (min-width: 480.001px) and (max-width: 760px) {
	body > .menubar ul li {
		/*2025.5*/
		margin: 0.2vw 1.2vw;
		height: 32px;
	}
	body > .menubar ul li a,
	body > .menubar ul li span {
		height: 1.5em;
	}
	body > .menubar .logo {
		margin-left: 10px;
		width: 25%;
	}
	/*ボタン型*/
	body > .menubar ul li.button a {
		height: 27px;
		/*標準値：
		padding:5px 10px;
		margin: 3px 12px;*/
		padding:7px 15px 5px 50px;
		background-position: 10px 6px;
	}
}
@media screen and (min-width: 480.001px) and (max-width: 645px) {
	/*3行*/
	body > .menubar ul {
		padding-left: 20px;
	}
	body > .menubar ul li {
		margin: 0px 1.7vw;
	}
	body > .menubar ul li a,
	body > .menubar ul li span {
		letter-spacing: 0;
	}
}
@media screen and (max-width: 480px) {
	body > .menubar {
		display:block;
		width:100%;
		height:90px;
		background: rgba(255,255,255,1.0);
		overflow:visible;
		position:fixed;top:0px;
		z-index:12;
		box-shadow:0px 10px 10px -10px #cccccc;
		border-top: solid #0152a4 4px;
		background-color: rgba(255,255,255,0.9);
		/*border-bottom: solid #CCC 1px;*/
	}
	/*body > .menubar.fixed  {
		position: absolute;
		top:0px;
	}*/
	body > .menubar .logo {
		display:block;
		width:210px;
		height:68px;/*48+20*/
		background-size:100%;
		background-image:url(../images/logo.png);
		background-repeat:no-repeat;
		background-position:center;
		text-indent:-9999px;
		position:absolute;
		top:10px;left:10px;
	}
	/*メインナビ*/
	/*drawr menu start*/
	.drawr_btn {
		display: block;
		width:32px;
		height:32px;
		border:solid #666 1px;
		position: absolute;
		top:37px;/*17+20*/
		right:20px;
		cursor: pointer;
		z-index:99;
	}
	.drawr_btn.close {
		background-position: 0 -33px;
	}
	body > .menubar .drawr {
		display: none;/*初期はdisplay:none*/
		position: absolute;
		top:90px;/*70*/
		right:0;left:0;
		width:100%;
		height:auto;
		padding:0;
		z-index:95;
	}
	body > .menubar ul {
		display:block;
		float:none;
		border:none;
		border-top:solid #666 2px;
		border-bottom:solid #FFF 2px;
	}
	body > .menubar ul li a {
		display:block;
		float:none;
		width:100%;
		text-align:center;
		text-decoration:none;
		margin:0;
		padding:20px 0;
		list-style:none;
		background-color:inherit;
	}
	body > .menubar ul li a.current {
		background-color:rgba(1,82,164,1);
		color:#FFF;
	}
	body > .menubar ul li a:hover {
		background-color:rgba(1,82,164,0.3);
		color:#000;
	}
	/*sns 2025.5*/
	body > .menubar ul li.sns {
		text-align: center;
	}
	body > .menubar ul li.sns a {
		display: inline-block;
		width: auto;
		margin: auto 0.4em;
	}
	/*drawr menu end*/
}
/*
=================================
menubar end
=================================
*/


/*
=================================
header start
=================================
*/
@media screen and (max-width: 480px) {

}
/*
=================================
header end
=================================
*/
	
	

/*
=================================
contents start
=================================
*/
/*==大枠 PC*/
@media screen and (min-width: 480.1px) {
	.contents_box {
		display:block;
		overflow: hidden;
		width:auto;
		height:auto;
		margin:0 0 0 0;
		padding-top: inherit;
		padding-bottom:120px;
		background-image: url("../images/contents_bg.jpg");
		background-position: center top 135px;
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-size: cover;
	}
	.contents_box .inner_box {
		display: block;
		margin: 3em auto 0;
		max-width:990px;
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media screen and (max-width: 480px) {
	.contents_box {
		display:block;
		width:90%;
		height:auto;
		margin:0 auto 0;
		padding-left: 5%;
		padding-right: 5%;
		padding-bottom:60px;
		overflow: hidden;
		background-image: url("../images/contents_bg.jpg");
		background-position: center top;
		background-repeat: no-repeat;
		background-attachment: fixed;
	}
	.contents_box .inner_box {
		display: block;
		margin: 2em 0 0 0;
		
	}
}
/*==共通*/

/*見出し*/
h2 {
	font-size:1.25em;
	line-height:1;
	font-weight: bold;
	margin:64px auto 2em;
}
h3 {
	font-size:1.15em;
	line-height:1;
	font-weight: bold;
	margin:64px auto 1.5em;
}
h4 {
	display: inline-block;
	font-size:1em;
	font-weight: bold;
	padding-bottom: 0.25em;
	margin-bottom: 1.5em;
	color:#3C3C3C;
	padding-left: 0.5em;
	border-bottom: dotted #666 1px;
}

/*欧文titleスタイル*/
.title {
	font-size:36px;
	line-height:1.25;
	color:#000000;
	text-align:center;
	margin:auto;
	letter-spacing: 0;
	/*webフォント*/
	font-family: 'Montserrat', sans-serif;
}
/*子ページ日本語タイトル*/
.title_sub {
	font-size:1.2em;
	line-height:1.3;
	color:#0152a4;
	text-align:center;
	margin:3em auto 1.5em;
	letter-spacing: 0;
}
/*子ページタイトル ライン付き左寄せ*/
.title_line {
	font-size:1.2em;
	line-height:1.2;
	color:#0152a4;
	text-align:left;
	margin:3em auto 1.5em;
	padding-bottom: 0.75em;
	letter-spacing: 0;
	border-bottom: solid #0152a4 2px;
}

/*イメージヘッダ*/
.image_header {
	display: block;
	height: 305px;
	width: 100%;
	position: relative;
	background-image: url("../images/header_image.jpg");
	text-align: center;
	background-size: cover;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0;
}
.image_header div.dot {
	display: block;
	position: absolute;
	width:100%;
	height:100%;
	background-image: url("../../common/images/topimage_dot.png");
	background-repeat: repeat;
	z-index: 10;
	overflow: hidden;
}
/*子ページタイトルブロック*/
.image_header .title_wrap {
	display: flex;
	position: absolute;
	top:114px;
	width: 100%;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 191px;
}
@media screen and (max-width: 480px) {
	.image_header .title_wrap {
		top:90px;
		height: 215px;
	}
}
.image_header .title {
	display: block;
	margin: auto;
	text-shadow: 0 0 5px #FFF,0 0 10px #FFF,0 0 15px #FFF;
}

.obi {
	font-size:1em;
	font-weight: normal;
	padding:0.7em 1.5em;
	margin: 64px auto 2em;
	background-color:#0152a4;
	border-radius: 5px;
	color: #FFF;
	line-height: 1em;
}
.obi.align-center {
	text-align: center;
	letter-spacing: 0.2em;
}
/**/
section p {
	line-height: 1.8em;
	margin-bottom: 2em;
}


/*=====contents 汎用スタイル=====*/
/*標準リスト*/
section ul {
	list-style-type: disc;
	padding-left: 2em;
	margin-bottom: 2em;
}

/*==table start*/
table.type1 {
	margin-bottom: 3em;
	width:100%;
}
table.type1 caption {
	width: 100%;
	font-weight: bold;
	padding-left: 1em;
	padding-bottom: 0.5em;
	line-height: 1;
	position: relative;
	text-align: left;
	border-bottom: solid #999 1px;
}
table.type1 th {
	font-weight: bold;
	text-align: left;
	padding: 1em;
	width:auto;
	line-height:1.8em;
}
table.type1 th, table.type1 td {
	border-bottom: solid #E5E8EF 1px;
	padding: 1em;
	width:auto;
	line-height:1.8em;
	vertical-align: top;
}
@media screen and (max-width: 480px) {
	table.type1 th,
	table.type1 td
	{
		font-size: 0.9em;
	}
	table.type1 th {
		padding: 1em 0;
	}
}
/*==table end*/


/*-- contact*/
section.contact {
	background-color: #ededed;
	padding-bottom: 50px;
}
section.contact h1 {
	display: block;
	text-align: center;
	color:#FFF;
	font-size: 1.25em;
	padding: 1.2em 5%;
	background-color: #0152a4;
}
section.contact .arrow_under {
	display: block;
	margin: auto;
	left:0;right:0;
	width: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid #0152a4;
	clear: both;
}
section.contact .wrap {
	position:relative;
	overflow: hidden;
	clear: both;
	margin-top: 50px;
}
section.contact .atWeb,
section.contact .atTel
{
	text-align: center;
	width: 50%;
	font-weight: bold;
}
section.contact .atWeb {
	float: left;
}
section.contact .atTel {
	float: right;
}
section.contact .atWeb a,
section.contact .atTel a
{
	display: block;
	margin: auto 10%;
	background-color: #FFF;
	border-radius: 5px;
	padding: 2em;
	line-height: 1;
	font-size: 1.25em;
	text-decoration: none;
	color:#000;
	position:relative;
}
section.contact .atWeb a div,
section.contact .atTel a div
{
	display: table;
	margin: auto;
}
section.contact .atWeb a div img,
section.contact .atTel a div img,
section.contact .atWeb a div p,
section.contact .atTel a div p
{
	display: table-cell;
	width: auto;
	vertical-align: middle;
	line-height: 1.25em;
	font-weight: bold;
}
section.contact .atTel a div p {
	font-size: 1.3em;
}
section.contact .atWeb a div img,
section.contact .atTel a div img 
{
	margin-right: 18px;
}
section.contact .atWeb a:hover,
section.contact .atTel a:hover
{
	background-color: #aad4fe;
}

@media screen and (max-width: 1024px){
	section.contact .atWeb,
	section.contact .atTel
	{
		float: none;
		display: block;
		margin-bottom: 35px;
		width: 100%;
	}
	section.contact .atWeb p,
	section.contact .atTel p {
		margin-bottom: 0.75em;
	}
}
@media screen and (max-width: 480px){
	section.contact .wrap {
		margin-top: 25px;
	}
	section.contact .atWeb a,
	section.contact .atTel a
	{
		margin: auto 5%;
		padding: 1em 0.5em;
	}
	section.contact .atWeb a div p,
	section.contact .atTel a div p
	{
		text-align: left;
	}
}


/*
=================================
contents end
=================================
*/


/*
=================================
footer start
=================================
*/
#footer {
	background-color:#0152a4;
	color:#FFF;
}
#footer .wrap {
	display:block;
	width:90%;
	margin:0 auto;
	padding-bottom: 3em;
	overflow:hidden;
	max-width:1400px;
}
#footer .logo {
	margin-bottom: 30px;
}
#footer .left {
	display: block;
	float: left;
	width: 50%;
	font-size:75%;
	margin-top: 3em;
}
#footer .left h1 {
	font-size: 1.25em;
	margin-bottom: 0.25em;
}
#footer .left p {
	margin-bottom:1em;
	line-height: 200%;
	
}
#footer .right {
	float: right;
	width: auto;
	margin-right: 30px;
	margin-top: 1.5em;
	font-size:75%;
}

@media screen and (max-width: 800px) {
	#footer .left {
		float: none;
		width: 100%;
	}
	#footer .right {
		float: none;
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	#footer .left {
		float:none;
		display:block;
	}
	#footer .right {
		float:none;
		display:block;
	}
}
/*
=================================
footer end
=================================
*/