@charset "utf-8";

/*****************************************************************
	トップページ＆共通レイアウト定義
*****************************************************************/

/* ====== BASE Module SET ===== */


*{
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html,
body{
	margin: 0;
	padding: 0;
	font-size: 13px;
} 

main{
	display: block;
}

@media screen and (min-width: 961px) {
	html,
	body{
		font-size: 18px;
	} 
}

html{
	overflow-y:auto;
}

h1,h2,h3,h4,h5,h6,
p,ul,ol,dl,dt,dd,li,
table,td,th,
address,
blockquote,form,fieldset,legend,div,hr,pre{
	margin: 0;
	padding: 0;
	font-style: normal;
	text-align: left;
	font-size: 100%;
	line-height: 1.2;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}


body,
input,
select,
textarea
{
	background: #FFF;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","meiryo","MS P Gothic","ＭＳ Ｐゴシック","Osaka", sans-serif;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body {
		text-align: center;
}


table {
	border-collapse: collapse;
	border-spacing: 0;
}

th,td{
	vertical-align: top;
}

img,
object,
embed{
	border: 0;
	vertical-align: top;
	outline: none;
	max-width: 100%;
	height: auto;
}

object:focus{
	outline: none;
}

embed:focus{
	outline: none;
}

img,
input,
select,
textarea{
	margin-top: 0;
	margin-bottom: 0;
	vertical-align: middle;
	font-size: 16px;
}
.contact_page input,
.contact_page select,
.contact_page textarea{
	font-size: 13px;
}
@media screen and (min-width: 961px) {
	.contact_page input,
	.contact_page select,
	.contact_page textarea{
		font-size: 18px;
	}
}

input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
textarea{
	-webkit-appearance: none;
   border-radius: 0;
}


button{
	background-color: transparent;
	border: 0;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

::-webkit-input-placeholder{
    color: #E4E6E6;
}
::-moz-placeholder{
    color: #E4E6E6;
}
:-moz-placeholder{
    color: #E4E6E6;
}
:-ms-input-placeholder{
    color: #E4E6E6;
}

abbr,
acronym,
fieldset{
	border: 0;
}

hr{
	margin: 2em 0;
	display: block;
	border: 0;
	border-bottom: 1px solid #ddd;
	clear: both;
}

img{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-user-select: none; 
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-drag: none; 
	user-drag: none;
	-moz-transition: 0.5s;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	vertical-align: top;
}

iframe{
	display: block;
	vertical-align: top;
}

i,
em{
	font-style: normal;
}

a{
	color: #000;
	background: transparent;
	transition:  all 1s ease-out;
}
.point_txt{ font-weight: bold;}
@media screen and (max-width: 1024px) {
	a{
		transition: none !important;
	}
}

a:hover,
a:focus{
	color: #666;
}

a:hover img{
	opacity: 0.8;
}

.site a:hover img{
	opacity: 1;
}


ul li{
	list-style: none;
}

.nav{ }
.place{ }
.clr{
	width: 0;
	height: 0;
	line-height: 0;
	font-size: 0;
	clear: both;
}

.cf{
	width: 100%;
	overflow: hidden;
}

.cf:after{
	display: block;
	clear: both;
	content: "";
}

::selection{background-color:#000; color: #fff; }
::-moz-selection {background-color:#000; color: #fff; }
input::selection,
textarea::selection{background-color:#b6d6fd; color: #000; }
input::-moz-selection,
textarea::-moz-selection{background-color:#b6d6fd; color: #000; }

div,
ul,
section,
article{
	width: auto;
	zoom: 1;
}


aside,
li,
dd,
ul,
section,
article{
	zoom: 1;
}

aside:after,
div:after,
ul:after,
li:after,
dd:after,
section:after,
article:after{
	display: block;
	clear: both;
	content: "";
}

.return{
	display: block;
	width: 0;
	height: 0;
	clear: both;
	overflow: hidden;
	visibility: hidden;
}

.tel_dis{ cursor: default; }

.sp_i{ display: none; }
.sp_b{ display: none; }

.pc_i{ display: inline; }
.pc_b{ display: block; }

.sp_ib{ display: none; }
.pc_ib{ display: inline-block; *display: inline; zoom: 1; }

.txt_c{ text-align: center;}
.txt_r{ text-align: right;}

/*============================================================
	TopContentsStyle
============================================================*/

/*============================================================
	Page / column
============================================================*/
#page{
	width: 100%;
	margin: 0 auto;
	text-align: left;

}
/* サイドバーあり */
.inner{
	width: 90%;
	margin: 0 auto;
}

.hedline{
	background: linear-gradient(transparent calc(100% - 2px), #003988 2px);
}

@media screen and (min-width: 961px) {
	.inner{
		margin: 0 auto;
		padding: 0 50px;
	}
	.inner.inner_single {
		padding: 0;
	}
}
@media screen and (min-width: 1601px) {
	.inner{
		margin: 0 auto;
		max-width: 1490px;
		padding: 0;
	}
	.inner.inner_single {
		max-width: 1320px;
	}
}
/* common_inner */
.common_inner {
	width: 84%;
	margin: 0 auto;
}
.top_image_main {
	width: 100%;
	margin: 0;
}
@media screen and (min-width: 961px) {
	.common_inner {
		margin: 0 auto;
		padding: 0 50px;
	}
}
@media screen and (min-width: 1368px) {
	.common_inner {
		margin: 0 auto;
		max-width: 1318px;
		padding: 0;
	}
}
/* サイドバーなし */
.page_body_01{
	width: 82%;
	text-align: left;
	margin: 0 auto;
	position: relative;
	max-width: 1320px;
}

.about_page .page_body_01{
	max-width: 1520px;
}

@media screen and (max-width: 960px) {
	.page_body_01{
	width: auto;
	padding:  0 7%;
	}
}
/* サイドバーあり */
.page_body_02{
	width: auto;
	padding: 0 7%;
	margin: 0 auto;
}

@media screen and (min-width: 961px) {
	.page_body_02{
		margin: 0 auto;
		padding: 0 8%;
	}
}
@media screen and (min-width: 1701px) {
	.page_body_02{
		margin: 0 auto;
		max-width: 1490px;
		padding: 0;
	}
}
/*============================================================
	Header
============================================================*/
#page_header{
	width: 100%;
	position: fixed;
	text-align: center;
/*
	border-bottom: 2px solid #003988;
*/
	font-size: 14px;
	overflow: hidden;
	line-height: 1;
	background:  rgba(255,255,255,0.90);
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.25);
	top: 0;
	left: 0;
	z-index: 101;
}
.main_menu_area .inner,
#page_header .inner{
	padding: 0 0 0 2%;
	position: relative;
	max-width: 1920px;
	width: 100%;
}
#page_header:after{
	display: block;
	clear: both;
	content: "";
}
#page_header a{
	display: block;
	text-decoration: none;
}
.main_menu_area .site,
#page_header .site{
	max-width: 285px;
	width: 100%;
	float: left;
	padding: 32px 0 0 0;
}
.main_menu_area .site img,
#page_header .site img{
	width: 100%;
}
.main_menu_area .site img{ fill: #fff;}
#page_header .main_manu{
	position: absolute;
	top: 44px;
	left: 20%;
	width: 45%;
	font-weight: 400;
}
#page_header .main_manu ul{
	text-align: center;
}
#page_header .main_manu li{
	display: inline-block;
}
#page_header .main_manu a{
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	padding: 0 42px 33px;
	position: relative;
}
#page_header .main_manu a:hover{
	color: #000;
}
#page_header .main_manu a:before{
	display: block;
	content: '';
	width: 15px;
	height: 13px;
	top: 40px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}
#page_header .main_manu .menu_1 a:before{
	background: url(../images/menu_1_icon.svg) center center/15px 13px no-repeat;
}
#page_header .main_manu .menu_2 a:before{
	background: url(../images/menu_2_icon.svg) center center/15px 13px no-repeat;
}
#page_header .utl_manu{
	top: 35%;
	position: absolute;
	right: 390px;
	width: 100%;
	max-width: 160px;
	font-weight: bold;
	font-family: "Mr Eaves Mod OT",Verdana, Geneva, "sans-serif";
}
#page_header .utl_manu li{
	float: left;
	width: 50%;
}
#page_header .utl_manu a{
	text-align: center;
	padding: 12px 10px;
	color: #fff;
}
#page_header .utl_manu .menu_jp a{
	background: #003988;
}
#page_header .utl_manu .menu_en a{
	background: #666;
}

#page_header .login_manu{
	top: 35%;
	right: 135px;
	max-width: 240px;
	width: 100%;
	position: absolute;
}
#page_header .login_manu a{
	width: 100%;
	text-align: center;
	padding: 10px 10px 12px;
	background: #f89e04;
	color: #fff;
	border: 1px solid #f89e04;
	position: relative;
	font-weight: 400;
}
#page_header .login_manu a:after{
	display: block;
	content: "";
	top: 50%;
	right: 10px;
	margin-top: -4px;
	width: 5px;
	height: 5px;
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	transition: all 1s ease-out;
}

#page_header .login_manu a:hover{
	background: #fff;
	color: #f89e04;
}
.main_menu_area .btn_menu,
#page_header .btn_menu{
	display: flex;
	justify-content: center;
	align-items: center;
	float: right;
	width: 120px;
	height: 120px;
	background: #003988 url(../images/menu_pc.svg) no-repeat center center/29px 27px;
}
.menu_on .main_menu_area .btn_menu {
	position: fixed;
	right: 0;
}
.main_menu_area .btn_menu{
	background: #fff url(../images/menu_on_pc.svg) no-repeat center center/31px 27px;
}
#main a{
	color: #003988;
	word-break: break-all;
}
#main a{
	color: #003988;
}
#main a[target^="_blank"]:after{
	content: " ";
	font: normal normal normal 14px/1 FontAwesome;
}
@media only screen and (min-width: 961px) {
	.main_menu_area .btn_menu,
	#page_header .btn_menu{
		background: #003988 url(../images/menu_pc.svg) no-repeat center center/45px 40px;
	}
	.main_menu_area .btn_menu{
		background: #fff url(../images/menu_on_pc.svg) no-repeat center center/49px 43px;
	}
}
@media only screen and (min-width: 1025px) {
	#page_header .login_manu a:hover{
		transition: all 1s ease-out;
	}
	#page_header .login_manu a:hover:after{
		border-right: 2px solid #f89e04;
		border-top: 2px solid #f89e04;
	}
}
/*============================================================
	btn_more
============================================================*/
.btn_more{
	display: block;
	line-height: 1;
	background: #ccc;
	text-align: center;
	width: 100%;
	padding: 30px 20px;
	position: relative;
	text-decoration: none;
	font-weight: bold;
	font-size: 18px;
}
.btn_more i{
	position: absolute;
	display: block;
	right: 20px;
	top: 50%;
	margin-top: -0.75em;
	font-size: 150%;
}
@media screen and (max-width: 960px) {
	.btn_more{
		font-size: 14px;
	}
}
/*============================================================
	main_menu_on
============================================================*/
.main_menu_on{
	position: fixed;
	left: 0;
	width: 100%;
	background: #fff;
	z-index: 100;
	padding: 0;
	line-height: 1;
	font-weight: bold;
	overflow: hidden;
	max-height: 0;
	transition: .5s max-height;
}
.html_menu_on_1 .main_menu_on_1,
.html_menu_on_2 .main_menu_on_2{
	max-height: 545px;
}
.main_menu_on ul{
	text-align: center;
	font-size: 0;
	margin: auto;
	max-width: 1318px;
	padding: 50px 0;
}
.main_menu_on li{
	display: inline-block;
	margin: 50px 0 0 2%;
	max-width: 405px;
	width: 32%;
	vertical-align: top;
	font-size: 14px;
}
.main_menu_on li:nth-child(-n+3){
	margin: 0 0 0 2%;
}
.main_menu_on a{
	display: block;
	position: relative;
	overflow: hidden;
	text-decoration: none;
}
.main_menu_on a:hover img,
.main_menu_on a:hover{
	opacity: 1;
}
.main_menu_on p{
	position: absolute;
	bottom: 0;
	left: 0;
	background: #fff;
	padding-right: 10px;
}
.main_menu_on i{
	padding: 6px 8px;
	font-size: 112.5%;
	background: #999;
	color: #fff;
	line-height: 1;
	margin-right: 5px;
	font-weight: normal;
}
.main_menu_on_1 i{
	background: #003988;
}
.main_menu_on_2 i{
	background: #02845c;
}
.main_menu_on .btn_more{
	background: #02845c;
	color: #fff;
}
.main_menu_on .btn_more i{
	background: none;
}
.main_menu_area .sub_cont_menu{
	background: #fff;
	padding: 54px 10px;
	margin: 0;
	text-align: center;
}
.main_menu_area .sub_cont_menu li{
	display: inline-block;
	margin-right: 1em;
	vertical-align: top;
}
.main_menu_area .sub_cont_menu li::after{
	display: inline-block;
	content: "/";
	margin-left: 1em;
}
.main_menu_area .sub_cont_menu li:last-child::after{
	display: none;
	content: "";
	margin-left: 0;
}
.main_menu_area .sub_cont_menu a::before{
	display: none;
}
.main_menu_area .sub_cont_menu a{
	color: #000;
}
.main_menu_area .sub_cont_menu a:hover{
	color: #999;
}
@media screen and (max-width: 1450px) {
	#page_header .main_manu{
		display: none;
	}
}

@media screen and (max-width: 1025px) {
	#page_header .utl_manu,
	#page_header .main_manu,
	#page_header .login_manu{
		display: none;
	}
}
@media screen and (max-width: 960px) {
	.main_menu_area .sub_cont_menu{
		background: #fff;
		padding: 30px 36px 70px 36px;
	}
	.main_menu_area .sub_cont_menu li{
		display: block;
		margin-right: 0;
		margin-bottom: 1em;
	}
	.main_menu_area .sub_cont_menu li::after{
		display: none;
		content: "";
		margin-left: 0;
	}
}
/*============================================================
	Nav
============================================================*/

/*============================================================
	Content
============================================================*/
#content{
	width: 100%;
}

#content:after{
	display: block;
	clear: both;
	content: "";
}
/*============================================================
	main_menu_area
============================================================*/
.main_menu_area_wrap {
	width: 100%;
	overflow-x: hidden;
}
.main_menu_area{
	position: fixed;
	top: 0;
	left: 0;
	width: calc(100% + 17px);
	z-index: 110;
	/* max-height: 0; */
	display: none;
	height: 100vh;
	overflow: hidden;
	transition: 1s max-height;
	overflow: auto;
}
.menu_on .main_menu_area{
	/* max-height: 100vh; */
}
.menu_inner {
  animation: menu_inner 0.5s linear;
}
@keyframes menu_inner {
  0% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
.main_menu_area .main_menu_area_head{
	position: absolute;
	width: 100%;
}
.main_menu_area .grp{
	display: flex;
	justify-content: space-between;
	width: 100%;
	color: #fff;
}
.main_menu_area .grp:after{
	content: normal;
}
.main_menu_area a{
	display: flex;
	align-items: center;
	text-decoration: none;
	color: #fff;
}
.main_menu_area a:hover{
	color: #666;
}
.main_menu_area_1,
.main_menu_area_2{
	width: 50%;
}
.main_menu_area_1{
	background: #003988;
}
.main_menu_area_2{
	background: #02845c;
}
.menu_inner{
	padding: 200px 0 60px 0;
	max-width: 625px;
	width: 66%;
	margin: auto;
}
.main_menu_area_1 .menu_inner{
}
.main_menu_area_2 .menu_inner{
}
.main_menu_area_2 .hid{
	visibility: hidden;
	padding: 0 0 20px;
}
.main_menu_area h3{
	margin-bottom: 33px;
	font-size: 25px;
	line-height: 1.2;
}
.main_menu_area h3.menu_is_home a{
	display: flex;
	align-items: center;
}
.main_menu_area h3.menu_is_home {
	padding: 0 0 20px;
	border-bottom: 1px solid #fff;
}
.main_menu_area .medical_link{
	padding-bottom: 20px;
	border-bottom: 1px solid #fff;
}
.main_menu_area h3 i{
	font-size: 68%;
	margin: 3px 0 0 14px;
}
.main_menu_area h3.menu_is_home i{
	margin: 3px 0 0 29px;
}
.main_menu_area h2{
	border-bottom: 1px solid #fff;
	padding: 0 0 20px;
	margin: 1.5em 0 23px;
	font-size: 34px;
	line-height: 1;
}

.main_menu_area .gohome{
	margin-bottom: 2em;
	border-bottom: 1px solid #fff;
	padding-bottom: 20px;
}
.main_menu_area ul{
	font-size: 18px;
	margin-bottom: 1.25em;
	border-bottom: 1px solid #fff;
	padding-bottom: 30px;
}

.main_menu_area .menu_type_2{
	padding-bottom: 50px;
}
.main_menu_area li{
	margin-bottom: 1.25em;
}
.main_menu_area .navi_info{
	font-size: 14px;
	padding-top: 50px;
	font-weight: bold;
	clear: both;
}
.main_menu_area li:last-child{
	margin-bottom: 0;
}
.main_menu_area ul a{
	position: relative;
	display: inline-block;
	padding-left: 45px;
}
.main_menu_area .sub_cont_menu  a{
	padding-left: 0;
}
.main_menu_area ul a:before{
	content: "";
	width: 18px;
	margin: .5px 0 0;
	border-bottom: 1px solid #fff;
	position: absolute;
	top: 50%;
	left: 0;
}
.main_menu_area .btn_more{
	padding: 10px 24px 12px;
	max-width: 180px;
	color: #02845c;
	background: #fff;
	display: inline-block;
	margin-right: 22px;
	text-align: left;
}
.main_menu_area .btn_more+.btn_more{
	margin-right: 0;
}
.main_menu_area .btn_more i{
	margin-top: -0.5em;
    margin-top: -0.4em;
    font-size: 100%;
}
.main_menu_area .btn_more:hover{
	color: #666;
}

@media screen and (max-width: 960px) {
	.main_menu_area .grp{
		display: block;
	}
	.main_menu_area_1,
	.main_menu_area_2{
		width: 100%;
	}
	.main_menu_area h3{
		font-size: 20px;
	}
	.main_menu_area h3.menu_is_home{
		width: 45%;
	}
	.main_menu_area h3.menu_is_home a{
		position: relative;
	}
	.main_menu_area h3.menu_is_home i{
		position: absolute;
		right: 0;
		top: calc( 50% - 0.4em );
	}
	.main_menu_area h2{
		padding-bottom: 20px;
		margin-bottom: 20px;
		font-size: 24px;
	}
	.main_menu_area .gohome{
		margin-bottom: 2em;
		padding-bottom: 10px;
	}
	.main_menu_area ul{
		font-size: 14px;
		padding-bottom: 20px;
	}
	.main_menu_area li{
		margin-bottom: 1.8em;
	}
	.main_menu_area .col{
		width: 45%;
		float: left;
	}
	.main_menu_area .col+.col{
		float: right;
	}
	.main_menu_area .navi_info{
		font-size: 12px;
		padding-top: 27px;
	}
	.menu_inner{
		padding: 10% 5% 30px 5%;
		max-width: none;
		width: 100%;
	}
	.main_menu_area_1 .menu_inner{
		float: none;
		padding-left: 80px;
		padding-right: 80px;
	}
	.main_menu_area_2 .menu_inner{
		padding-top: 20px;
		padding-left: 80px;
		padding-right: 80px;
	}
	.main_menu_area_2 .hid{
		display: none;
	}
	.main_menu_area .navi_info{
		text-align: center;
	}
	.main_menu_area .btn_more{
		margin: 0 0.5em;
	}

	.main_menu_area .inner, #page_header .inner{
		padding: 0 0 0 10px;
	}
	.main_menu_area .site,
	#page_header .site{
		max-width: 205px;
		width: 100%;
		float: left;
		padding: 10px 0 0 0;
	}
	
	.main_menu_area  .btn_menu,
	#page_header .btn_menu{
		float: right;
		width:60px;
		height: 60px;
	}
	.menu_inner{
		padding-top: 80px;
	}
}

@media screen and (max-width: 640px) {
		.main_menu_area_2 .menu_inner{
		padding-left: 35px;
		padding-right: 35px;
	}
}
@media screen and (max-width: 480px) {
	.main_menu_area_1 .menu_inner{
		padding-left: 36px;
		padding-right: 36px;
	}
	.main_menu_area_2 .menu_inner{
		padding-left: 36px;
		padding-right: 36px;
	}

	.main_menu_area_2 .hid{
		display: none;
	}
	.main_menu_area .col{
		width: 100%;
		float: none;
	}
	.main_menu_area .col+.col{
		float: none;
	}
	.main_menu_area .navi_info{
		display: flex;
		justify-content: space-between;
		padding-top: 35px;
	}
	.main_menu_area .btn_more{
		margin: 0;
		max-width: 48%;
	}
	.main_menu_area h3.menu_is_home{
		width: 100%;
	}
}

/*============================================================
	Main
============================================================*/
#main{
	width: 100%;
	overflow: hidden;
}

#main:after{
	display: block;
	clear: both;
	content: "";
}

/* Main Design */
#main p,
#main ul,
#main dl,
#main ol,
#main blockquote,
#main pre{
	line-height: 2;
	font-size: 18px;
	margin-bottom: 1em;
}

#main td,
#main th{ margin: 0;}
@media screen and (max-width: 960px) {
	#main p,
	#main ul,
	#main dl,
	#main ol,
	#main blockquote,
	#main pre,
	#main td,
	#main th{
		font-size: 13px;
	}
}
.sec_page #main p,
.sec_page #main ul,
.sec_page #main dl,
.sec_page #main ol,
.sec_page #main blockquote,
.sec_page #main pre{
	margin-bottom: 20px;
}
@media only screen and (min-width: 1025px) {
	.sec_page #main p,
.sec_page #main ul,
.sec_page #main dl,
.sec_page #main ol,
.sec_page #main blockquote,
.sec_page #main pre{
	margin-bottom: 30px;
}
}
.sec_page #main td,
.sec_page #main th{ margin: 0;}
#main ol+h2, #main ol+h3, #main ol+h4, #main ol+h5, #main ol+h6,
#main p+h2, #main p+h3, #main p+h4, #main p+h5, #main p+h6,
#main ul+h2, #main ul+h3, #main ul+h4, #main ul+h5, #main ul+h6{
	margin-top:  50px;
}
@media only screen and (min-width: 1025px) {
	.medical #main p+h4 {
		margin-top: 80px;
	}
}
#main table{
	margin-bottom: 1em;
}

#main td,
#main th{
	margin-bottom: 0;
}

#main h1,
#main h2,
#main h3,
#main h4,
#main h5,
#main h6{
	font-size: 100%;
	line-height: 1.5;
	margin-bottom: 1em;
}

/* default */
#main ul ul,
#main ul p,
#main ul blockquote,
#main ul pre,
#main ul dl,
#main dl dl,
#main dl p,
#main dl ul,
#main dl ol,
#main blockquote p,
#main blockquote ul,
#main blockquote dl,
#main blockquote ol,
#main ol blockquote,
#main ol pre,
#main ol p,
#main td p,
#main td ul,
#main td dl{
	font-size: 100%;
}

#main *:last-child{
	margin-bottom: 0;
}

/*============================================================
	TOP
============================================================*/

/* ===== top_image ===== */
#main .top_image{
	padding-bottom: 50px;
	background: #f2f3f3;
}
#main .top_image li{
	padding: 0 1px;
}
#main .top_image li a {
	position: relative;
	display: block;
}

#main .top_image_main .owl-prev,
#main .top_image_main .owl-next{
	color: #003988;
	position: absolute;
	top: 50%;
	font-size: 40px;
	margin-top: -0.5em;
}
#main .top_image_main .owl-prev{ left: -5%;}
#main .top_image_main .owl-next{ right: -5%;}
#main .top_image .inner{
	max-width: 1600px;
	width: 82%;
}
#main .top_image_main ul{
	margin-bottom: 45px;
}
#main .top_image_main a:hover img{ opacity: 1;}
#main .top_image_main .txt{
	position: absolute;
	top: 50%;
	right: 0;
	transform : translateY(-50%);
	width: 409px;
	height: 409px;
	background: #003988;
	color: #fff;
	padding: 0 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#main .batch,
#main .top_image_main .txt i{
	background: #fff;
	color: #003988;
	font-size: 30px;
	width: 80px;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#main .top_image_main .txt:after{ content: normal;}
#main .top_menu_btn .batch,
#main .top_image_main .txt i{
	position: absolute;
	bottom: 0;
	right: 0;
}

#main .top_image_s ul{
margin: 0;
font-size: 14px;
color: #808080;
font-weight: bold;
}
#main .top_image_s ul img{
	margin-bottom: 10px;
}

#main .top_image_main .txt h3{
	font-size: 24px;
	margin-bottom: 1em;
	line-height: 1.5;
}
#main .top_image_main .txt p{
	font-size: 18px;
}
#main .top_image_s{
	font-size: 78%;
}
#main .top_image_s li{
	width: 14%;
	max-width: 178px;
	margin-right: 1%;
	cursor: pointer;
	text-align: center;
	float: left;
}
#main .top_image_s img{
	margin-bottom: 5px;
	outline: 5px solid transparent;
	outline-offset: -5px;
}
#main .top_image_s .on img{
	outline: 5px solid #003988;
}
	#main .pickup .owl-pagination,
	#main .foot_bnr_area .owl-pagination{
		text-align: center;
		margin-top: 20px;
	}
	#main .pickup  .owl-page,
	#main .foot_bnr_area .owl-page{
		display: inline-block;
		margin: 0 6.5px;
		background: #ccc;
		width: 12px;
		height: 12px;
		border-radius: 50%;
	}
	#main .pickup .active,
	#main .foot_bnr_area .active{
		background: #003988;
	}
@media screen and (max-width: 960px) {
	#main .top_image_main .pic{
		width: 100%;
	}
	#main .top_image_main .txt{
		position: relative;
		display: block;
		width: 90%;
		height: auto;
		left: 5%;
		bottom: -45px;
		right: auto;
		padding: 30px 25px 50px 25px;
	}
	#main .top_image .inner{
		width: 100%;
		padding: 0;
	}
	#main .top_image_main .owl-prev,
	#main .top_image_main .owl-next{ display: none;}
	#main .top_image_s{ display: none;}
	#main .top_image_main ul{ margin: 0;}
	#main .top_image{ padding-bottom: 20px;}

	#main .top_image .owl-pagination{
		text-align: center;
		margin-top: 0;
		padding-bottom: 20px;
	}
	#main .top_image .owl-page{
		display: inline-block;
		margin: 0 6.5px;
		background: #ccc;
		width: 10px;
		height: 10px;
		border-radius: 50%;
	}
	#main .top_image .active{
		background: #003988;
	}

	#main .top_image_main .txt h3{
		font-size: 16px;
	}
	#main .top_image_main .txt p{
		font-size: 12px;
	}
}
#main .top_sec{
	padding: 100px 0;
}

/* ===== into ===== */
#main .sec_info_top{
	padding: 50px 0 0px;
}
#main .top_head{
	color: #003988;
	font-size: 27px;
	margin-bottom: 1.5em;
}
#main .sec_info_top h2{
	color: #003988;
	font-size: 27px;
	background: url(../images/ico_head_info.png) no-repeat left center;
	background-size: 40px 40px;
	padding: 5px 0 5px 50px;
	margin-bottom: 0.5em;
}
@media screen and (max-width: 960px) {
	#main .top_head{ font-size: 21px;}
}
#main .info_list_top{
	margin: 0;
	background: #f2f3f3;
	padding: 10px 0;
	font-weight: bold;
}

#main .info_list_bana_top{
	margin: 0;
	background: #f2f3f3;
	padding: 50px 4.8558% 30px;
	font-weight: bold;
	display: flex;
	flex-flow: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .info_list_bana_top li{
	width: 48%;
	max-width: 572px;
	margin: 0 0 20px;
}
#main a.important_top_bana{
	border: 0.3em solid red;
	display: flex;
	justify-content: center;
	align-items: center;
	color: red;
	padding: 1em;
	background: #fff;
	text-decoration: none;
}

#main ul.info_list_bana_top::after,#main .info_list_bana_top li::after{
	display: none;
}

#main .info_list_top a{
	color: #003988;
	margin: 0;
	display: block;
	text-decoration: none;
	padding: 15px 0;
	background: repeat-x bottom left url("../images/bg_b_line_2.svg");
	margin: 0 20px;
}
#main .info_list_top li:last-child a{
	border-bottom: 0;
	background:none;
}
@media screen and (max-width: 960px) {
	#main .sec_info_top h2{ font-size: 21px}
}
/* ===== news_list_top ===== */
#main .top_tab_news .tab_area{
	margin-bottom: 70px;
	font-weight: bold;
	font-size: 18px;
}
#main .top_tab_news .tab_area li{
	width: 33.333%;
	float: left
}
#main .top_tab_news .tab_area a{
	display: block;
	padding: 15px;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	color: #003988;
}
#main .top_tab_news .tab_area a{
	border: 2px #003988 solid;
	border-right: 0;
	color: #003988;
}
#main .top_tab_news .tab_area li:last-child a{
	border-right: 2px #003988 solid;
}
#main .top_tab_news .tab_area .on{
	background: #003988;
	color: #fff;
}
.tab_item {
	min-height: 350px;
}
#main .news_list_top{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#main .news_list_top::after{ content: normal;}
#main .news_list_top li{
	width: 25%;
	position: relative;
}
#main .news_list_top li:first-child{
	padding-top: 0;
}
#main .news_list_top li:nth-of-type(4n){
	border-right: 0;
	padding-right: 0;
}
#main .news_list_top li{
	padding-top: 35px;
	background: url(../images/bg_b_line_2.svg) repeat-x top left;
	background-size: 12px 3px;
}
.meeting #main .news_list_top li{
	background: none;
}
#main .news_list_top li:first-of-type{
	background: none;
}
@media only screen and (max-width: 480px) {
	.meeting #main .news_list_top li + li::after{
		content: "";
		display: block;
		position: absolute;
		background: url(../images/bg_g_line_2.svg) repeat-x top left;
		top: -20px;
		left: 0;
		width: 100%;
		height: 3px;
	}
		.meeting #main .news_list_top li:nth-last-child(-n+4)::after{
			display: none;
	}
}
@media only screen and (min-width: 480px) and (max-width: 1024px) {
	.meeting #main .news_list_top li{
	background: none;
	position: relative;
	}
	.meeting #main .news_list_top li:nth-of-type(2n) {
			background: url(../images/bg_g_line_1.svg) repeat-y top left;
			background-size: 3px 12px;

	}
	.meeting #main .news_list_top li + li::after{
		display: none;
	}
	.meeting #main .news_list_top li:nth-of-type(2n+1)::after{
		content: "";
		display: block;
		position: absolute;
		background: url(../images/bg_g_line_2.svg) repeat-x top left;
		top: -20px;
		left: 0;
		width: 200%;
		height: 3px;
	}
	.meeting #main .news_list_top li:nth-of-type(1)::after{
		display: none;
	}
	.meeting #main .news_list_top li:nth-last-child(-n+4)::after{
			display: none;
	}
}
@media only screen and (min-width: 1025px) {
		#main .news_list_top li{
			background: none;
			margin-top: 20px;
			padding-right: 3%;
			padding-left: 3%;
		}
		#main .news_list_top li{
			padding-top: 0;
		}
		#main .news_list_top li:nth-of-type(4n+1)::after{
			content: "";
			display: block;
			position: absolute;
			background: url(../images/bg_b_line_2.svg) repeat-x top left;
			top: -20px;
			left: 0;
			width: 400%;
			height: 3px;
		}
		#main .news_list_top li:nth-of-type(1)::after{
			display: none;
		}

	#main .news_list_top li {
			background: url(../images/bg_b_line_1.svg) repeat-y top left;
			background-size: 3px 12px;
	}
	.meeting #main .news_list_top li {
			background: url(../images/bg_g_line_1.svg) repeat-y top left;
			background-size: 3px 12px;
	}	
	#main .news_list_top li:nth-of-type(4n+1) {
			background: none;
	}
		#main .news_list_top li:nth-of-type(4n+1){
			padding-left: 0;
		}
	#main .news_list_top li:nth-last-child(-n+4)::after{
		display: none;
	}

}
#main .news_list_top p{
	margin-bottom: 0.5em;
	font-weight: bold;
}
#main .news_list_top a{
	text-decoration: none;
}
#main .news_list_top{
	margin-bottom: 50px;
}
#main .news_list_top .title{
	font-weight:  bold;
	font-size: 18px;
	text-decoration: underline;
	color: #000;
}
.meeting #main .news_list_top .title{
	font-size: 100%;
	font-size: 18px;
}
.ico_cate{
	display: inline-block;
	padding: 6px 1em 9px;
	background: #003988;
	color: #fff;
	line-height: 1;
	font-size: 15px;
	margin-right: 5px;
	min-width: 128px;
	text-align: center;
	font-weight: 500;
}
.ico_cate.ico_cate_news_scientific,
.ico_cate.ico_cate_news_public,
.ico_cate.ico_cate_news_seminars,
.ico_cate.ico_cate_news_life_training{
	background-color: #02845C;
}

@media screen and (max-width: 1025px) {

	.ico_cate{
		min-width: 102px;
		font-size: 11px;
	}
	#main .top_tab_news .tab_area{
		margin-bottom: 34px;
		font-size: 14px;
	}
	#main .news_list_top li p:last-child{
		margin-bottom: 0;
	}
	#main .news_list_top li{
		width: 100%;
		float: none;
		border-right:none;
		padding-right: 0;
		padding-left: 0;
		margin-bottom: 20px;
		margin-top: 20px;
	}
	.meeting #main .news_list_top li{
		width: 50%;
		padding-right: 1em;
		padding-left: 1em;
	}
	.meeting #main .news_list_top li:nth-of-type(2n){
		border-right: 0;
		padding-right: 0;
	}
	#main .news_list_top .title{ text-decoration: none;}
	.meeting #main .news_list_top .title{
	font-size: 14px;
}

}
#main .btn_more_b,
#main .top_sec_news .btn_more{
	margin: auto;
	width: 100%;
	max-width: 600px;
	border: 2px solid #003988;
	color: #003988;
	background: none;
	padding: 22px 25px 22px 20px;
	position: relative;
	z-index: 1;
}
#main .btn_more_b{
	width: 80%;
	max-width: none;
}

.about_page #main .btn_more_b{
	max-width: 600px;
}

@media screen and (max-width: 960px) {
	#main .btn_more_b, #main .top_sec_news .btn_more{
		max-width: 302px;
	}
	#main .news_list_top .date{
		color: #003988;
		font-size: 12px;
	}
}


#main .btn_more_b:hover,
#main .top_sec_news .btn_more:hover{
	color: #fff;
}

/*hov*/
#main .btn_more_b:before,
#main .top_sec_news .btn_more:before{
	position: absolute;
	top: -2px;
	left: 0;
	width: 0;
	bottom: 0;
	background: #003988;
	content: "";
	z-index: -1;
	transition: 0.25s width;
}
#main .btn_more_b:hover:before,
#main .top_sec_news .btn_more:hover:before{
	width: 100%;
}

#main .btn_more_b i,
#main .top_sec_news .btn_more i {
    margin-top: -0.5em;
}
/* ===== top_menu_btn_s ===== */
#main .top_sec_menu{
	padding: 0 0 100px 0;
	border-bottom: 2px solid #F2F3F3;
}
#main .top_menu_btns{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#main .top_menu_btns:after{
	content: normal;
}
#main .top_menu_btn{
	width: 50%;
	position: relative;
	border-left: 1px solid #F2F3F3;
	border-right: 1px solid #F2F3F3;
	border-bottom: 1px solid #F2F3F3;
}
#main .top_menu_btn:nth-child(2n+1){
	border-right: 0;
}
#main .top_menu_btn:nth-child(2n+1):after{
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	height: 100%;
	border-right: 1px solid #F2F3F3;
}
#main .top_menu_btn:nth-child(2n){
	border-left: 0;
}
#main .top_menu_btn:nth-child(-n+2){
	border-top: 1px solid #F2F3F3;
}
#main .top_menu_btn .txt{
	padding: 20px 40px 40px 40px;
}
#main .top_menu_btn .pic{
    overflow: hidden;
    position: relative;
}
#main .top_menu_btn a{
	text-decoration: none;
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
}
#main .top_menu_btn a:hover{
	text-decoration: none;
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.25);
	z-index: 2;
}

#main .top_menu_btn a:hover img{
	transform: scale(1.05,1.05)
}
#main .top_menu_btn h3{
	font-size: 27px;
	margin-bottom: 0.5em;
}
#main .top_menu_btn p{ line-height: 1.5; }
#main .top_menu_btn a{
	margin: 0;
	color: #000;
}
#main .top_menu_item_1 .top_menu_btn .batch{
	color: #fff;
	background: #003988;
	width: 40px;
	height: 40px;
	margin-top: 0;
	font-size: 15px;
}
#main .top_menu_item_2	 .top_menu_btn .batch{
	color: #fff;
	background: #02845c;
	width: 40px;
	height: 40px;
	margin-top: 0;
	font-size: 15px;
}
#main .top_menu_btn_map{
	margin-top: 100px;
	width: 100%;
	color: #fff;
}
#main .top_menu_btn_map a{
	color: #fff;
	display: flex;
	justify-content: space-between;
	text-decoration: none;
}
#main .top_menu_btn_map:after{
}
#main .top_menu_btn_map .txt{
	padding: 82px 44px 90px 60px;
	width: 50%;
	background: url(../images/bg_japana_map.png) no-repeat 95% center/70% #003988;
}
@media screen and (max-width: 960px) {
	#main .top_menu_btn_map a{
		background-image: url(../images/item_1_img_03.jpg) ;
	}
	#main .top_menu_btn_map .txt {
    padding: 49px 28px 30px 28px;
	}
	#main .top_menu_btn_map .batch{ float: left}
}
#main .top_menu_btn_map .pic{
	width: 50%;
	background: url(../images/item_1_img_03.jpg) no-repeat right center;
	background-size: cover;
}
#main .top_menu_btn_map .batch{
	font-size: 100%;
	width: 40px;
	height: 40px;
	line-height: 40px;
	padding: 0;
	margin-right: 1.25em;
}
#main .top_menu_btn_map h2{
	font-size: 188%;
	margin-bottom: .9em;
}
#main .top_menu_btn_map h2+p{
	margin-bottom: 3em;
	line-height: 1.5;
}

#main .top_menu_tab .tab_area{
	display: flex;
	justify-content: space-between;
	margin-bottom: 64px;
	font-size: 27px;
	font-weight: bold;
}
@media screen and (max-width: 960px) {
	#main .top_menu_tab .tab_area{
		font-size: 21px;
	}
}
#main .top_menu_tab .tab_area:after{
	content: normal;
}

#main .top_menu_tab .tab_area li{
	width: 48%;
	line-height: 1.5;
}
#main .top_menu_tab .tab_area li a{
	background: #f2f3f3;
	color: #003988;
	display: flex;
	text-decoration: none;
	text-align: center;
	padding: 17px 10px;
	position: relative;
	border-bottom: 5px solid #E4E6E6;
	height: 100%;
	align-items: center;
	justify-content: center;
}

#main .top_menu_tab .tab_area li a:before{
	content: "";
	display: none;
	border: 20px transparent solid;
	border-top-color: red;
	width: 0;
	position: absolute;
	bottom: -39px;
	left: 50%;
	margin-left: -20px;
}
#main .top_menu_tab .tab_area li a:before{ border-top-color: #003988;}

#main .top_menu_tab .tab_area li+li a{
	color: #02845c;
}

#main .top_menu_tab .tab_area li+li a:before{ border-top-color: #02845c;}
#main .top_menu_tab .tab_area li a.on,
#main .top_menu_tab .tab_area li a:hover{
	background: #003988;
	color: #fff;
	border-bottom: 5px solid transparent;
}
#main .top_menu_tab .tab_area li+li a.on,
#main .top_menu_tab .tab_area li+li a:hover{
	background: #02845c;
	color:#fff;
}
#main .top_menu_tab .tab_area li .on:before{ display: block;}
#main .top_menu_mem ul{
	display:  flex;
	justify-content:  space-between;
	margin-bottom:  50px;
}
#main .top_menu_mem ul::after{
	content: normal;
}
#main .top_menu_mem li{
	width:  50%;
}

#main .top_menu_mem a{
	display:  block;
	width:  100%;
	height:  100%;
	padding:  50px 0 100px 0;
	background:  no-repeat center center;
	background-size: cover;
	color: #02845C;
	text-decoration:  none;
}
#main .top_menu_mem li a{ background-image: url("../images/img_top_mem_1.jpg");}
#main .top_menu_mem li+li a{ background-image: url("../images/img_top_mem_2.jpg");}
#main .top_menu_mem h2{
	text-align:  center;
}
#main .top_menu_mem p{
	text-align:  center;
}
#main .top_menu_mem .btn_more{
	max-width: 405px;
	width: 50%;
	margin: auto;
	color: #02845C;
	background: #fff;
	border-left: 2px solid #02845C;
	padding: 16px;
}
#main .top_menu_mem .btn_more .batch{
	right: 0;
	color: #02845C;
	width: 50px;
	height: 50px;
	margin-top: 0;
	background: none;
	transform: translateY(-50%);
}

@media screen and (max-width: 960px) {
	/* ===== top_menu_btn_s ===== */
	#main .top_sec_menu{
		padding: 0 0 70px 0;
	}

	#main .top_menu_btns:after{
		content: normal;
	}
	#main .top_menu_btn .txt{
		padding: 25px 20px 30px 20px;
	}
	#main .top_menu_btn .pic{}
	#main .top_menu_btn a{
		text-decoration: none;
		display: block;
	}
	#main .top_menu_btn a:hover{
		text-decoration: none;
	}
	#main .top_menu_btn h3{
		font-size: 100%;
	}
	#main .top_menu_btn p{
		font-size: 14px;
	}
	
	#main .top_menu_tab .tab_area{
		margin-bottom: 45px;
	}
	#main .top_menu_tab .tab_area{
		font-size: 100%;
	}
	#main .top_menu_tab .tab_area li a{
		padding: 15px;
		height: 100%;
	}
	#main .top_menu_tab .tab_area li a:before{
		content: "";
		display: none;
		border: 20px transparent solid;
		border-top-color: red;
		width: 0;
		position: absolute;
		bottom: -39px;
		left: 50%;
		margin-left: -20px;
	}
	#main .top_menu_tab .tab_area li a:before{ border-top-color: #003988;}
	
	#main .top_menu_tab .tab_area li+li a{
		color: #02845c;
	}
	
	#main .top_menu_tab .tab_area li+li a:before{ border-top-color: #02845c;}
	#main .top_menu_tab .tab_area li a.on,
	#main .top_menu_tab .tab_area li a:hover{
		background: #003988;
		color: #fff;
	}
	#main .top_menu_tab .tab_area li+li a.on,
	#main .top_menu_tab .tab_area li+li a:hover{
		background: #02845c;
		color:#fff;
	}
	#main .top_menu_tab .tab_area li .on:before{ display: block;}
	#main .top_menu_mem ul{
		display: block;
	}
	#main .top_menu_mem li{
		width:  100%;
	}

	#main .top_menu_mem a{
		padding:  30px 0 35px 0;
	}
	#main .top_menu_mem .btn_more{
		width:  75%;
	}
}
@media screen and (max-width: 480px) {
	#main .top_menu_tab .tab_area{
		margin-bottom: 64px;
	}
	#main .top_menu_item_1 .top_menu_btn .batch{
		width: 30px;
		height: 30px;
		font-size: 12px;
	}
	#main .top_menu_item_2	 .top_menu_btn .batch{
		width: 30px;
		height: 30px;
		font-size: 12px;
	}
}
/* ===== XXXXX ===== */

/* ===== XXXXX ===== */

/* ===== XXXXX ===== */

/* ===== foot_bnr ===== */
#main .foot_bnr{
	padding: 50px 0 55px;
	background: #f2f3f3;
}
#main .foot_bnr .inner{
	padding: 0 5px;
}
#main .foot_bnr_area{
	max-width: 1340px;
	margin: auto;
}
#main .foot_bnr li{
	text-align: center;
}
@media screen and (max-width: 960px) {
	#main .foot_bnr{
		padding: 38px 0 64px;
	}
}
@media screen and (max-width: 768px) {
	#main .foot_bnr li{
		width: 302px;
	}
}
/*============================================================
	Footer
============================================================*/
#page_footer{
	width: 100%;
	position: relative;
	text-align: center;
	background: #000;
	color: #fff;
	padding: 40px 0 50px 0;
	font-size: 14px;
}
#page_footer a{
	text-decoration: none;
	color: #fff;
}
#page_footer a:hover{
	color: #666;
}
#page_footer:after{
	display: block;
	clear: both;
	content: "";
}

#page_footer dl{
	margin-bottom: 1em;
}
#page_footer dt,
#page_footer dd{
	display: inline-block;
}
#page_footer dt{
	font-weight: bold;
	margin-right: 41px;
}
#page_footer dl li{
	display: inline-block;
}
#page_footer dl li:after{
	content: "　/　";
	display: inline-block;
}
#page_footer dl li:last-child::after{
	content: normal;
}
#page_footer .foot_utl_menu{
	margin: 5em 0 0 0;
	background: url("../images/bg_w_line_2.svg") repeat-x 0 0;
	padding-top: 22px;
	position: relative;
	z-index:1;
}
#page_footer .copy{
	width: 100%;
	float: right;
	margin-top: -1.25em;
	position: relative;
	text-align: right;
	font-size: 13px;
}
#page_footer .foot_logo{
	width: 115px;
	margin-bottom: 40px;
}
#main.notfond_page{
	padding: 100px 0;
}
#page_footer a.member_contents_link {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 240px;
	height: 30px;
	border: solid #fff 2px;
	background: #fff;
	color: #000;
}
#page_footer a.member_contents_link:hover {
	background: #000;
	color: #fff;
}
@media screen and (max-width: 480px) {
	#page_footer a.member_contents_link {
		margin: auto;
	}
}
/*
ページトップ
*/
body{
	position: relative;
}
.page_top a {
    width: 64px;
    height: 64px;
    margin: 0 0 27px;
    display: block;
		background:#003988 url(../images/pagetop.svg) no-repeat center center;
    background-size: 24px auto;
	text-decoration: none;
	position: absolute;
}
.page_top {
    position: fixed;
    right: calc( 3% + 80px );
/*
    bottom: 30px;
*/
    z-index: 10;
}
 @media only screen and (min-width: 1025px) {
	.page_top a {
	    width: 80px;
	    height: 80px;
	    margin: 0 0 10px;
			background:#003988 url(../images/pagetop.svg) no-repeat center center;
	    background-size: 30px auto
	}
}
/*
#page_footer .pagetop{
	display: block;
	background:#003988 url(../images/pagetop.svg) no-repeat center center;
	background-size: 30px auto;
	width: 80px;
	height: 80px;
	text-decoration: none;
	position: absolute;
	top: -80px;
	right: 0;
}
*/

@media screen and (max-width: 960px) {
/*
	#page_footer .pagetop{
		background-size: 24px auto;
		width: 64px;
		height: 64px;
		top: -60px;
	}
*/

	#page_footer .copy{
		width: 100%;
		float: none;
		margin-top: 1em;
		font-size: 10px;
	}
}

/*
トグルメニュー
*/
.tg_area {
  background: #fff;
}
.information_page .tg_area{
	background: #F2F3F3;
}

.tg_bt {
  position: relative;
  cursor: pointer;
}
.tg_bt .link_title .txt_tgbt_wrap{
	position: relative;
	width: 100%;
}
.tg_bt .link_title .txt_tgbt_wrap span{
	margin: 0 30px 0 0;
}
.tg_ttl {
  background-color: #02845C;
  color: #fff;
  padding: 6.5px 2em;
}
.information_page .tg_ttl {
  background-color: #003988;
}

.sec_page #main p.tg_ttl {
  margin-bottom: 0;
}
#main .link_area.tg_item {
  margin-top: 0;
  padding: 0 2em 2em;
}
@media screen and (min-width: 1591px) {
	#main .link_area.tg_item {
		padding: 2em;
	}
}
#main .link_area.flex_item.tg_item li {
  margin-top: 20px;
}
#main .link_area.flex_item.tg_item li:first-child,
#main .link_area.flex_item.tg_item li:nth-child(2)
{
  margin-top: 0;
}
@media screen and (min-width: 961px) {
	#main .link_area.flex_item.tg_item li {
		margin-top: 50px;
	}
	#main .link_area.flex_item.tg_item li:nth-child(3) {
		margin-top: 0;
	}
}
/* トグルアイコン */
.tg_bt i:before,
.tg_bt i:after{
    content:'';
    display:block;
    position:absolute;
    top:50%;
    right: 2%;
    width:10px;
    height:2px;
    background-color: #fff; 
}
@media screen and (min-width: 961px) {
	.tg_bt i:before,
	.tg_bt i:after{
			width:20px;
			height:2px;
	}
}
/* トグルアイコン カラーバリエーション */
.tg_bt.tg_bt_color_01 i:before,
.tg_bt.tg_bt_color_01 i:after
{
  background-color: #003988; 
}
.tg_bt.tg_bt_color_02 i:before,
.tg_bt.tg_bt_color_02 i:after
{
  background-color: #02845C; 
}
.tg_bt i:after {
  opacity: 0;
}
.tg_bt.close i:after {
  opacity: 1;
}
.tg_bt.close i:before {
    transform:translate(0,-50%) rotate(90deg);
}
.tg_bt.close i:after {
    transform:translate(0,-50%);
}

.tg_bt i,
.tg_bt i:before,
.tg_bt i:after
{
    transition: .4s;
}

/* トグルアイコン２ */
.tg_bt2{
	position: relative;
  cursor: pointer;
}
.tg_bt2 i {
	position: absolute;
	transform: translate(-28px, 0);
/*
	margin-top: 16px;
*/
	top:calc( 50% - 16px ); /* TOPの位置は調整 */
	right: 0;
}
.tg_bt2 i:before, .tg_bt2 i:after {
	content: "";
	position: absolute;
/*
	background-color: #2E3B51;
*/
	width: 2px;
	height: 10px;
	transition: all 0.25s ease-in-out;
}
/* 色の定義 */
.tg_bt2_cl1 i:before,.tg_bt2_cl1 i:after {
	background-color: #fff;
}
.tg_bt2 i:before {
	transform: translate(-3.5px, 9px) rotate(45deg);
}
.tg_bt2 i:after {
	transform: translate(2.5px, 9px) rotate(-45deg);
}
/* ---- */
.tg_bt2.active i:before {
	transform: translate(2.5px, 9px) rotate(45deg);
}
.tg_bt2.active i:after {
	transform: translate(-3.5px, 9px) rotate(-45deg);
}
/* ---- */
@media only screen and (min-width: 769px) {
	.tg_bt2 i:before, .tg_bt2 i:after {
		width: 3px;
		height: 13px;
	}
	.tg_bt2 i:before {
		transform: translate(-4.5px, 9px) rotate(45deg);
	}
	.tg_bt2 i:after {
		transform: translate(3.5px, 9px) rotate(-45deg);
	}
	.tg_bt2.active i:before {
		transform: translate(3.5px, 9px) rotate(45deg);
	}
	.tg_bt2.active i:after {
		transform: translate(-4.5px, 9px) rotate(-45deg);
	}
}

/* トグル */
img.img_markpos {
    vertical-align: baseline;
    width: 1em;
    height: 1em;
    margin: 0 0.2em;
}

.member .tg_ttl{
	background-color: #F2B306;
}

.member .tg_item_wrap{
	padding: 45px 2%;
}

.member .tg_wrap{
	margin: 0 0 0.3em;
}

/* 投稿内ボタン */
.post_link_btn {
	position: relative;
	display: inline-block;
	min-width: 322px;
	text-decoration: none;
	border: 1px solid #000;
/*
	max-width: 300px;
*/
	padding: 5px 36px 5px 10px;
	margin-top: 30px;
	margin-bottom: 10px;
	background: #fff;
	color: #000 !important;
	font-weight: bold;
}
.post_link_btn:after {
	display: block;
	content: "";
	top: 50%;
	right: 10px;
	margin-top: -4px;
	width: 5px;
	height: 5px;
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	border-color: #F2B306;
	transform: rotate(45deg);
	position: absolute;
	transition: all 1s ease-out;
}

#main a[target="_blank"].post_link_btn{
	background-position: 98% 50% !important;
}

a[target="_blank"].post_link_btn:after {
	display: none;
}

.pgj{
	margin: -150px 0 0;
	padding: 150px 0 0;
}
