/*-------------------------------------------------------------

 共通CSS

-------------------------------------------------------------*/
body{
	font-size: 16px;
	width:100%;
	color:#000;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	line-height: 1.75;
}
/* 全要素にbox-sizing: border-box;をかける　*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
img{
	width: 100%;
	max-width: 100%;
	vertical-align:top;
	height: auto;
}
/* リンク（デフォルト） */
a{
	color: #4983b5;
	cursor: pointer;
	text-decoration: none;
}
a:hover,a:active{
	color: #4983b5;
	text-decoration: none;
}
/* リンク（装飾） */
a.link, a.link:active{
	color: #4983b5;
	cursor: pointer;
	text-decoration: none;
	border-bottom: dashed 1px #4983b5;
}
a.link:hover{
	color: #4983b5;
	border-bottom: 0px;
}

p{ line-height: 1.75; }

.row{ margin: 0; }

/* 明朝体 */
.serif{ font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

/* 文字装飾 */
.red{ color:#f00; } /* 赤文字 */
.bold{ font-weight: bold; } /* 太文字 */
.line{ text-decoration: line-through; } /* 取消線 */
.small{ font-size:14px; } /* 文字サイズ小さめ */

/* 文字の行の揃え位置 */
.txt_right { text-align: right; }
.txt_center { text-align: center; }
.txt_left { text-align: left; }

/* リンクが貼ってある画像は透過する */
a img{
	transition: 0.3s;
}
a img:hover{
    filter:alpha(opacity=70);/* IE 6,7*/
    -ms-filter: "alpha(opacity=70)";/* IE 8,9 */
    -moz-opacity:0.7;/* FF , Netscape */
    -khtml-opacity: 0.7;/* Safari 1.x */
    opacity:0.7;
    zoom:1;/*IE*/
}

/* clear */
.clear { clear: both; }

/* pc/sp切り替え */
.pc_view{ display:inline-block;}
.sp_view{ display:none;}

/* pc/sp 改行 */
.br_pc { display:block; }
.br_sp { display:none; }

@media screen and (max-width: 768px) {
	html{ height:100%; }
	body{
		min-width: 100%;
		height:100%;
	}
	.pc_view{ display:none;}
	.sp_view{ display:block;}

	.br_pc { display:none; }
	.br_sp { display:block; }
}

/*-------------------------------------------------------------
  余白
-------------------------------------------------------------*/
.mt10{ margin-top: 10px !important; }
.mt20{ margin-top: 20px !important; }
.mt30{ margin-top: 30px !important; }
.mt40{ margin-top: 40px !important; }
.mt50{ margin-top: 50px !important; }
.mt60{ margin-top: 60px !important; }
.mt70{ margin-top: 70px !important; }
.mt80{ margin-top: 80px !important; }
.mt90{ margin-top: 90px !important; }
.mt100{ margin-top: 100px !important; }

.mb10{ margin-bottom: 10px !important; }
.mb20{ margin-bottom: 20px !important; }
.mb30{ margin-bottom: 30px !important; }
.mb40{ margin-bottom: 40px !important; }
.mb50{ margin-bottom: 50px !important; }
.mb60{ margin-bottom: 60px !important; }
.mb70{ margin-bottom: 70px !important; }
.mb80{ margin-bottom: 80px !important; }
.mb90{ margin-bottom: 90px !important; }
.mb100{ margin-bottom: 100px !important; }

/*-------------------------------------------------------------
  color -- デフォルトカラー設定
-------------------------------------------------------------*/
/* 背景 */
.bg_col_light{ background-color: #87cefa; }
.bg_col_deep{ background-color: #00bfff; }
.bg_col_main{ background-color: #EDF6F9; }

/* 文字色 */
.font_col_light{ color: #87cefa; }
.font_col_deep{ color: #00bfff; }

/*-------------------------------------------------------------
  m-plus-rounded-1c-bold -- Google font
-------------------------------------------------------------*/
.m-plus-rounded-1c-bold {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
}

/*-------------------------------------------------------------
  wrapper
-------------------------------------------------------------*/
#wrapper {
  width:100%;
  overflow:hidden;
}

/*-------------------------------------------------------------
  section
-------------------------------------------------------------*/
section {
	width: 100%;
	margin: 0;
}

/*-------------------------------------------------------------
  inner
-------------------------------------------------------------*/
.inner{
	width: 94%;
	max-width: 1200px;
	height: auto;
	margin: 0 auto;
}

/*-------------------------------------------------------------
  main_margin
-------------------------------------------------------------*/
.main_margin{
	margin: 50px 0 100px 0;
}
@media screen and (max-width: 768px) {
	.main_margin{
		margin: 25px 0 50px 0;
	}	
}

/*-------------------------------------------------------------
  header -- 各ページ用ヘッダーCSS
-------------------------------------------------------------*/
header{
	width:100%;
	height: auto;
	margin: 0;
	padding: 0;
}
header .page_header{
	width: 100%;
	height: 100px;
	padding: 10px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
header .page_header .page_header_logo{
	width: 400px;
}
header .page_header .page_header_navi{
	flex: 1;
}
header .page_header .page_header_navi ul.page_header_navi_list{
	width: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	list-style: none;
}
header .page_header .page_header_navi ul.page_header_navi_list li{
	width: auto;
	padding: 0 15px;
	text-align: center;
}
header .page_header .page_header_navi ul.page_header_navi_list a.page_menu_link{
	font-weight: bold;
	color: #000;
	transition: 0.3s;
}
header .page_header .page_header_navi ul.page_header_navi_list a.page_menu_link:hover{
	color: #1d7ca0;
}
header .page_header .page_header_navi ul.page_header_navi_list a.page_menu_contact{
	font-weight: bold;
	color: #fff;
	background-color:rgba(29,124,160,0.7);
	border-radius: 20px;
	padding: 15px 30px;
	transition: 0.3s;
}
header .page_header .page_header_navi ul.page_header_navi_list a.page_menu_contact:hover{
	background-color:rgba(29,124,160,0.9);
}
header .page_header .page_header_navi ul.page_header_navi_list a.page_menu_contact span{
	position:relative;
	line-height:20px;
	padding-left:30px;
}
header .page_header .page_header_navi ul.page_header_navi_list a.page_menu_contact span:before{
	position:absolute;
	top: 0;
	left:0;
	content:"";
	display:inline-block;
	width:20px;
	height:20px;
	background:url(../img/common/icon_mail.svg) no-repeat;
	background-size:contain;
}

@media screen and (max-width: 768px) {
	header .page_header{
		height: auto;
	}
	header .page_header .page_header_logo{
		width: 70%;
		margin-top: 10px;
	}
	header .page_header .page_header_navi{
		display: none;
		flex: 0 1 auto;
	}
}

/*-------------------------------------------------------------
  page_cover -- 各ページ用カバーCSS
-------------------------------------------------------------*/
.page_cover{
	width: 100%;
	height: 250px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	position: relative;
}
.page_cover.page_cover_common{
	background-image: url("./../img/common/page_cover_common.jpg");
}
.page_cover h2.page_title{
	width: 90%;
	top: 50%;
	left: 10%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	color: #00bfff;
	position: relative;
    padding: 0 0 0 30px;
    vertical-align: middle;
}
.page_cover h2.page_title::before{
    position: absolute;
    top: 20px;
    left: 0;
    content: '';
    width: 20px;
    height: 2px;
    background-color: #00bfff;
}
@media screen and (max-width: 768px) {
	.page_cover{
		height: 125px;
	}
	.page_cover h2.page_title{
		font-size: 1.2rem;
	}
}

/*-------------------------------------------------------------
  footer
-------------------------------------------------------------*/
footer{
	width:100%;
	height: auto;
	padding: 0;
	margin-top: 100px;
	background-color: #EDF6F9;
}
footer .footer_area{
	width: 94%;
	margin: 0 auto;
	padding: 50px 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
footer .footer_area .box_left{
	width: 400px;
}
footer .footer_area .box_left h4{
	width: 100%;
	margin-bottom: 10px;
}
footer .footer_area .box_right{
	flex: 1;
}
footer .footer_area .box_right ul.foot_menu{
	width: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	list-style: none;
}
footer .footer_area .box_right ul.foot_menu li{
	width: auto;
	padding: 0 10px;
}
footer .footer_area .box_right ul.foot_menu li a{
	color: #000;
	font-weight: bold;
	text-decoration: none;
}
footer .footer_area .box_right .linkbox{
	width:100%;
	margin-top: 15px;
	text-align: right;
}
footer .footer_area .box_right .linkbox a.foot_contact{
	display: inline-block;
	width: 400px;
	padding: 15px;
	border-radius: 10px;
	background-color: #fff;
	color: #00bfff;
	font-weight: bold;
	text-align: center;
	border: 2px solid #fff;
	transition: 0.3s;
}
footer .footer_area .box_right .linkbox a.foot_contact:hover{
	border: 2px solid #87cefa;
}
footer .footer_area .box_right .linkbox a.foot_contact span{
	position:relative;
	line-height:20px;
	padding-left:30px;
}
footer .footer_area .box_right .linkbox a.foot_contact span:before{
	position:absolute;
	top: 50%;
	left:0;
	content:"";
	display:inline-block;
	width:20px;
	height:20px;
	background:url(../img/common/ico_foot_mail.svg) no-repeat;
	background-size:contain;
	margin-top: -12px;
}
footer .footer_copy{
	width: 100%;
	padding: 10px 0;
	background-color: #00bfff;
	color: #fff;
	text-align: center;
	font-size: 12px;
}

@media screen and (max-width: 768px) {
	footer .footer_area .box_left{
		width: 100%;
		margin-bottom: 15px;
		text-align: center;
	}
	footer .footer_area .box_right{
		flex: initial;
		width: 100%;
	}
	footer .footer_area .box_right ul.foot_menu li{
		width: 50%;
		text-align: center;
		padding: 5px 10px;
	}
	footer .footer_area .box_right .linkbox{
		text-align: center;
	}
	footer .footer_area .box_right .linkbox a.foot_contact{
		width: 80%;
	}
}

/*-------------------------------------------------------------
  page_contents_title
-------------------------------------------------------------*/
h3.page_contents_title{
	width: 100%;
	margin: 100px 0;
	text-align: center;
	position: relative;
	font-size: 24px;
}
h3.page_contents_title::before{
	border-bottom: 8px solid #87cefa;
	bottom: -15px;
	content: "";
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 50px;
}
@media screen and (max-width: 768px) {
	h3.page_contents_title{
		margin: 50px 0;
		font-size: 20px;
	}	
}

/*-------------------------------------------------------------
  SP MENU
-------------------------------------------------------------*/
/* menu -------------------------------- */
.menu{
    height: 20px;
    position: fixed;
    right: 20px;
    top: 20px;
    width: 30px;
    z-index: 20001;
}
.menu__line{
    background: #87cefa;
    display: block;
    height: 2px;
    position: absolute;
    transition:transform .3s;
    width: 100%;
}
.menu__line--center{
    top: 9px;
}
.menu__line--bottom{
    bottom: 0;
}
.menu__line--top.active{
    top: 8px;
    transform: rotate(45deg);
	background: #00bfff;
}
.menu__line--center.active{
    transform:scaleX(0);
}
.menu__line--bottom.active{
    bottom: 10px;
	transform: rotate(135deg);
	background: #00bfff;
}

/* gnav -------------------------------- */
.gnav{
    background: rgba(255, 255, 255, 0.9);
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 20000;
}
.gnav__wrap{
    align-items:center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    width: 100%;
}
.gnav__menu{
	width: 90%;
	text-align:center;
}
.gnav__menu__item{
    padding: 8px 0;
	border-bottom: 1px dashed #ccc;
}
.gnav__menu__item a{
    color: #000;
    font-size: 1.1em;
    font-weight: bold;
    padding: 8px;
    text-decoration: none;
    transition: .5s;
}
.gnav__menu__item a:hover{
    color: #666;
}
/* gnav_menu_original ------------ */
.gnav_menu_original{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.gnav_menu_original .gnav_menu_btn{
	width:100%;
	margin: 0 0 10px 0;
	text-align: center;
	padding: 10px;
	position: relative;
	color: #000;
}
.gnav_menu_original .gnav_menu_btn .icon_img{
	width:40%;
}
.gnav_menu_original .gnav_menu_btn .menu_txt{
	margin-top:5px;
	font-weight: bold;
}
.gnav_menu_original .gnav_menu_btn a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent:-999px;
}
.gnav_menu_original .gnav_tel_btn{
	width:100%;
	margin-top: 10px;
}
.gnav_menu_original .gnav_tel_btn a{
	width:80%;
	display: block;
	text-align: center;
	border-radius: 10px;
	padding: 15px;
	margin: 0 auto;
	background-color: #6495ed;
	color: #fff;
}
.gnav_menu_original .gnav_tel_btn a span{
	font-weight: bold;
	font-size: 20px;
}

/*-------------------------------------------------------------
  breadcrumb_area -- 各ページぱんくずリスト
-------------------------------------------------------------*/
.breadcrumb_area {
	margin: 0;
	padding: 5px 0;
}
.breadcrumb_area .bread_inner {
	max-width: 1200px;
	margin: 0 auto;
}
/* ぱんくずデザイン */
.breadcrumb {
	margin: 0;
	padding: 0;
	list-style: none;
}
.breadcrumb li {
	display: inline;/*横に並ぶように*/
	list-style: none;
	font-size: 12px;
}
.breadcrumb li:after {
	/* >を表示*/
	content: '»';
	padding: 0 0.2em;
	color: #555;
}
.breadcrumb li:last-child:after {
  content: '';
}
.breadcrumb li a {
  text-decoration: none;
  color: #00826d;/*色*/
}
.breadcrumb li a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
	.breadcrumb_area .bread_inner {
		max-width: initial;
		width: 96%;
	}
}

/*-------------------------------------------------------------
  pager
-------------------------------------------------------------*/
.news_pager_area{
	width:100%;
	margin: 30px 0 0 0;
}
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
.pagination .nav-links {
	text-align: center;
}
.pagination .nav-links .current {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 5px;
	border: 1px solid #083b10;
	border-radius: 50%;
	background: #083b10;
	color: #fff;
	font-size: 0.8rem;
	line-height: 30px;
}
.pagination .nav-links .dots {
	display: inline-block;
	margin: 5px;
	font-size: 0.8rem;
	font-weight: bold;
	line-height: 30px;
}
.pagination .nav-links a.page-numbers {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 5px;
	border: 1px solid #083b10;
	border-radius: 50%;
	font-size: 0.8rem;
	text-decoration: none;
	line-height: 30px;
}
.pagination .nav-links a.page-numbers:hover {
	background: #083b10;
	color: #fff;
	transition: all .3s;
}
.pagination .nav-links a.prev.page-numbers,
.pagination .nav-links a.next.page-numbers {
	width: auto;
	padding-right: 6px;
	padding-left: 6px;
	border: 0;
	border-radius: 0;
	background: transparent;
}
.pagination .nav-links a.prev.page-numbers:hover,
.pagination .nav-links a.next.page-numbers:hover {
	color: #083b10;
}

/*-------------------------------------------------------------
  前ページに戻るボタン
-------------------------------------------------------------*/
.back_page_btn{
	width: 100%;
	margin: 50px 0 100px 0;
}
.back_page_btn a.back_btn{
	width: 70%;
	max-width: 300px;
	display: block;
	margin: 0 auto;
	text-align: center;
	color: #00bfff;
	border: 2px solid #00bfff;
	text-align: center;
	padding: 15px;
	border-radius: 10px;
	position: relative;
	transition: 0.3s;
}
.back_page_btn a.back_btn::after{
    content: '';
    display: inline-block;
    border-style: solid;
    border-width: 8px 8px 8px 0;
    border-color: transparent #00bfff transparent transparent;
    display: inline-block;
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
}
.back_page_btn a.back_btn:hover{
	color: #fff;
	background-color: #00bfff;
}
.back_page_btn a.back_btn:hover::after{
    border-color: transparent #fff transparent transparent;
}

/*-------------------------------------------------------------
  リストタグ（数字なし）
-------------------------------------------------------------*/
ul.list_style{
    width: 100%;
    list-style: none;
    padding:0;
    margin:10px 0;
}
ul.list_style li{
    list-style-type: none;
    position: relative;
    padding-left: 0.6em;
}
ul.list_style li:before{
    border-radius: 50%;
    width: 5px;
    height: 5px;
    display: block;
    position: absolute;
    left: 0;
    top: 0.6em;
    content: "";
    background: #00bfff;
}

/*-------------------------------------------------------------
  リストタグ（数字あり）
-------------------------------------------------------------*/
ol.list_number_style{
	counter-reset:list;
	list-style-type:none;
	padding: 10px 0;
}
ol.list_number_style li{
	position:relative;
	padding: 7px 5px 7px 40px;
	margin: 7px 0 10px 10px;
}
ol.list_number_style li:before{
	counter-increment: list;
	content: counter(list);
	position: absolute;
	left: 0px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	color: #fff;
	background: #00bfff;
	border-radius: 50%;
	top: 5px;
	font-weight: bold;
}

/*-------------------------------------------------------------
  囲み
-------------------------------------------------------------*/
.box_style{
	width:100%;
	margin:0;
	padding: 30px;
	background-color: #fffaed;
}

@media screen and (max-width: 768px) {
	.box_style{
		margin: 0;
		padding: 15px;
	}
}

/*-------------------------------------------------------------
  h4
-------------------------------------------------------------*/
h4.h4_style{
	width:100%;
	margin-bottom:30px;
	padding-bottom: 10px;
	border-bottom: 3px solid #00bfff;
	font-size: 120%;
}

/*-------------------------------------------------------------
  h5
-------------------------------------------------------------*/
h5.h5_style{
	width: 100%;
	margin-bottom: 10px;
	padding-left: 30px;
	position: relative;
}
h5.h5_style::before {
	content: "";
	position: absolute;
	background: #00bfff;
	top: 4px;
	left: 0px;
	height: 20px;
	width: 20px;
	border-radius: 50%;
  }

/*-------------------------------------------------------------
  PDFアイコンを前につける
-------------------------------------------------------------*/
span.pdf_link{
	position:relative;
	padding-left:25px;
}
span.pdf_link:before{
	content: '';
	display: block;
	width: 20px; 
	height: 20px;
	background-image: url('../img/common/icon_pdf.svg');
	background-size: contain;
	background-repeat:no-repeat;
	position:absolute;
	top:0;
	left:0;
}