@charset "utf-8";

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pc{display:block!important;}
.sp{display:none!important;}

p{
    font-family: "Noto Sans JP";
	color: #444;
}

img{
	width: 100%;
	height: auto;
	margin: 0 auto;
	display:block;
}

a{font-family: "Noto Sans JP";}

p,ul,ol,table{
	margin-bottom:0.8em;
	overflow-wrap: anywhere; /* 収まらない場合に折り返す */
	word-break: normal; /* 単語の分割はデフォルトに依存 */
	line-break: strict; /* 禁則処理を厳格に適用 */
}


/*header
----------------------------------------------------*/
header{
	position: relative;
	width:100%;
	color: #FFF;
	z-index:99999;
	overflow: hidden;
}

header.top{
    height: 38vw;
}

header #headIn{
	position: fixed;
	width: 100%;
    height: 90px;
	transition: .3s;
}

header.fixnavi #headIn,
header #headIn:has(.accessible-megamenu-panel.open){
	background:#1D3574;
}

header h1{
	float:left;
	width: 420px;
	margin:0 0 0 2%;
}

header.fixnavi h1{
	margin:0 0 0 2%;
}


/*navigation
----------------------------------------------------*/
header #headIn{
	width: 100%;
	display:flex;
    justify-content: space-between;
}

.megamenu {
    width: 650px;
    margin-right: 2%;
}

.megamenu ol {
	width: 100%;
	margin-bottom: 0;
	list-style: none;
	display:flex;
	justify-content: center;
	align-items: center;
}

.megamenu ol li{
	padding: 15px 0;
	flex: 1;
}

.megamenu ol li a{
    padding: 5px 0;
    font-family: "Noto Sans JP";
    color: #FFF;
	text-align: center;
	display: block;
}

.megamenu ol li.btn_contact{
    width: 4em;
    flex:auto;
}

.megamenu ol li.btn_contact a{
    border: 1px solid #FFF;
}


/*mv
----------------------------------------------------*/
header .splide{
    position: relative;
    z-index: -1;
}
header .splide__slide{
    position: relative;
    width: 100%;
    height: 38vw;
}

header .splide__slide h2{
	position: absolute;
    bottom:50px;
	left:8vw;
	font-size: 45px;
	font-weight: 500;
    line-height: 1.6;
	/*text-shadow: #000 1px 0 10px;*/
    z-index: 2;
}

header .splide__slide h2 .blue1{
	font-size: 1.5em;
	/*color: #5BD3FF;*/
}

header .splide__slide h2 .blue2{
	padding-left: 1em;
	display: block;
}

header .splide__slide img{
	position: relative;
    min-width: 100%;
	width: auto;
	height: 38vw;
    /*height: 100vh;
    object-fit: cover;*/
    display: block;
    z-index: 0;
}

header .mask{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
    height: 38vw;
	background:url("../img/top/dmy02.png") no-repeat center top / 100% 100%;
	z-index: 1;	
}


.splide__arrow {
    position: absolute;
    top: 50%;
    width: 3em!important;
    height: 3em!important;
    background: none!important;
    border-radius: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.splide__arrow svg {
    fill: #FFF!important;
    height: 3em!important;
    width: 3em!important;
}

.splide__pagination {
    bottom: 1em!important;
}

.splide__pagination__page {
  opacity: 1.0!important;
}

.mv_ttl{
	position: relative;
    height: 450px;
	z-index: -1;
}

.mv_ttl.about{ background: url("../img/about/mv.jpg") no-repeat center / cover;}
.mv_ttl.research{ background: url("../img/research/mv.jpg") no-repeat center / cover;}
.mv_ttl.examine{ background: url("../img/examine/mv.jpg") no-repeat center / cover;}
.mv_ttl.recruit{ background: url("../img/recruit/mv.jpg") no-repeat center / cover;}
.mv_ttl.related{ background: url("../img/related/mv.jpg") no-repeat center / cover;}
.mv_ttl.union{ background: url("../img/union/mv.jpg") no-repeat center / cover;}

.mv_ttl h2{
	position: absolute;
    bottom:0;
	left:2%;
	font-size: 30px;
	font-weight: 500;
    line-height: 1.6;
	color: #FFF;
	z-index: 1;
}

.mv_ttl h2 span{
	margin-right: 0.3em;
	font-size: 100px;
}

.mv_ttl .mask{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
    height: 450px;
	background:url("../img/top/dmy02.png") no-repeat center top / 100% 100%;
}

.union .mv_ttl .mask{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
    height: 450px;
	background:url("../img/union/mask.png") no-repeat center top / 100% 100%;
}


/*common
----------------------------------------------------*/
article{
	background: linear-gradient(to bottom, #E8EAF0, #FFF 640px);
}

article.union{
	background: linear-gradient(to bottom, #FFF9E6, #FFF 640px);
}

section{
	padding: 100px 0;
}

.contents{
	width: 1200px;
	margin: 0 auto;
}

@media screen and (max-width:1280px){
.contents{
	width: 94%;
}
}

.article_inner{
	position: relative;
	padding: 0 0 150px 0;
}

.article_inner:before{
	position: absolute;
	top: 0;
	right: 0;
	width: calc( (100% - 1200px) / 2 );
	border-top: 1px solid #CCC;
	content: "";
	display: block;
}

.article_inner .contents{
	display: grid;
	grid-template-columns: 1fr 250px;
	grid-gap: 50px;
}

.side{
	padding: 50px 0 50px 40px;
	border-top: 1px solid #CCC;
	border-left: 1px solid #CCC;
}

.union .side{
	padding: 50px 0 50px 30px;
}

.path{
	padding: 30px 2% 50px 2%;
}

.path a{
	text-decoration:underline;
}

.path ul li{
	position:relative;
	padding:0 1em;
	font-family: "Noto Sans JP";
	font-size:14px;	
	display:inline;
}

.path ul li:nth-of-type(1){
	padding:0 1em 0 0;
}

.path ul li a:after,
.path ul li span:after{
	position:absolute;
	top:-0.25em;
	right:-0.5em;
	content:">";
	font-family: "Noto Sans JP";
	font-size:14px;
	transform: scale(0.7, 1);
	display:block;
	z-index:0;
}


/*top news
----------------------------------------------------*/
.sec_top_news{
	background:linear-gradient(rgba(29, 53, 116, 1.0), rgba(60, 155, 203, 1.0));
	color: #FFF;
}

.sec_top_news .contents{
	width: 1000px;
	display: grid;
	grid-template-columns: 300px 1fr;
}

@media screen and (max-width:1100px){
.sec_top_news .contents{
	width: 94%;
}
}

.sec_top_news .contents h2{
	font-size: 60px;
}

.sec_top_news .contents h2 span{
	font-size: 26px;
	display: block;
}

.sec_top_news .contents a{
	padding-right: 1.5em;
	background: url("../img/icon_link.png") no-repeat right 0.3em center / 0.8em;
	color: #FFF;
	transition: all .3s;
}

@media (any-hover: hover) {
.sec_top_news .contents a:hover{
	padding-right: 1.5em;
	background: url("../img/icon_link.png") no-repeat right center / 0.8em;
	color: #FFF;
}
}

.sec_top_news .contents dl{
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #FFF;
	display: grid;
	grid-template-columns: 6em 1fr;
}

.sec_top_news .contents dl:nth-child(1){ animation-delay: 0.2s; }
.sec_top_news .contents dl:nth-child(2){ animation-delay: 0.4s; }
.sec_top_news .contents dl:nth-child(3){ animation-delay: 0.6s; }
.sec_top_news .contents dl:nth-child(4){ animation-delay: 0.8s; }
.sec_top_news .contents dl:nth-child(5){ animation-delay: 1.0s; }


/*top about
----------------------------------------------------*/
.sec_top_about{
    position: relative;
	background:linear-gradient(rgba(229, 235, 245, 1.0), rgba(245, 245, 245, 1.0));
}

.sec_top_about .contents{
    padding: 100px 700px 100px 0;
}

@media screen and (max-width:1280px){
.sec_top_about .contents{
    padding: 100px 50% 100px 0;
}
}

.sec_top_about .ph{
    position: absolute;
    top:100px;
    right: 0;
    width: 50%;
    height: 600px;
    background: url("../img/top/ph_about.jpg") no-repeat center / cover;
}

.sec_top_about .contents h2{
    margin-bottom: 80px;
	font-size: 120px;
    color: #0E368D;
}

.sec_top_about .contents h2 span{
	font-size: 26px;
    color: #000;
	display: block;
}


/*top field
----------------------------------------------------*/
.sec_top_field{
	position: relative;
	padding-top: 400px;
}

.sec_top_field .ph{
    position: absolute;
    top:0;
    width: 100%;
	height: 450px;
    background: url("../img/top/dmy03.jpg") no-repeat center / cover;
}

.sec_top_field .contents{
	position: relative;
	padding: 50px;
	background: #FFF;
	z-index: 1;
}

.sec_top_field .box_ttl{
	margin-bottom: 80px;
	display: grid;
	grid-template-columns: 300px 450px;
	grid-gap:0 50px;
}

@media screen and (max-width:1000px){
.sec_top_field .box_ttl{
	grid-template-columns: 300px 1fr;
}
}

.sec_top_field .box_ttl h2{
	font-size: 120px;
	font-weight: normal;
	color: #0E368D;
}

.sec_top_field .box_ttl h2 span{
	font-size: 26px;
	color: #222;
	display: block;
}

.sec_top_field .box_ttl p{
	padding-top: 75px;
}

.sec_top_field .box_field{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 0 30px;
}

.sec_top_field .box_field dl{
	box-shadow:0 0 12px rgba(0, 0, 0, .15);
}

.sec_top_field .box_field dl dt{
	padding: 15px 0;
	background: linear-gradient(#1D3675, #1382AA);
	font-size: 30px;
	color: #FFF;
	text-align: center;
}

.sec_top_field .box_field dl dd{
	padding: 30px;
	background: #FFF;
}

.sec_top_field .box_field dl dd p{
	margin-bottom: 30px;
}

.sec_top_field .box_field dl dd ul{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 0 20px;
}

.sec_top_field .box_field dl dd ul li{
	border: 1px solid #0E368D;
	border-radius: 5px;
	background: #FFF;
	box-shadow:0 0 12px rgba(0, 0, 0, .15);
	text-align: center;
}

.sec_top_field .box_field dl dd ul li:nth-of-type(1){
	background: url("../img/top/icon_research.png") no-repeat center top 20px / auto 40px;
	transition: .3s;
}

.sec_top_field .box_field dl dd ul li:nth-of-type(2){
	background: url("../img/top/icon_examine.png") no-repeat center top 20px / auto 40px;
	transition: .3s;
}

@media (any-hover: hover) {
.sec_top_field .box_field dl dd ul li:nth-of-type(1):hover{
	background: url("../img/top/icon_research.png") no-repeat center top 17px / auto 46px;
}
.sec_top_field .box_field dl dd ul li:nth-of-type(2):hover{
	background: url("../img/top/icon_examine.png") no-repeat center top 17px / auto 46px;
}
}

.sec_top_field .box_field dl dd ul li a{
	padding: 70px 0 50px 0;
	background: url("../img/icon_link2.png") no-repeat center bottom 20px / 18px;
	color: #0E368D;
	display: block;
}

@media (any-hover: hover) {
.sec_top_field .box_field dl dd ul li a:hover{
	opacity: 0.7;
}
}


/*top recruit
----------------------------------------------------*/
.sec_top_recruit{
	position: relative;
	padding-top: 400px;
}

.sec_top_recruit .ph{
    position: absolute;
    top:0;
    width: 100%;
	height: 640px;
    background: url("../img/top/dmy05.jpg") no-repeat center / cover;
}

.sec_top_recruit .contents{
	position: relative;
	margin: 0 0 0 auto;
	padding: 30px 50px 50px 50px;
	background: #FFF;
	display: grid;
	grid-template-columns: 400px 1fr;
	grid-gap: 0 100px;
	z-index: 1;
}

.sec_top_recruit h2{
	padding-top: 20px;
	font-size: 120px;
	font-weight: normal;
	color: #0E368D;
}

.sec_top_recruit h2 span{
	font-size: 26px;
	color: #222;
	display: block;
}

.sec_top_recruit ul li{
	border-bottom: 1px solid #0E368D;
}

.sec_top_recruit ul li:nth-of-type(1){background: url("../img/top/icon_recruit01.png") no-repeat left center / 30px;}
.sec_top_recruit ul li:nth-of-type(2){background: url("../img/top/icon_recruit02.png") no-repeat left center / 30px;}
.sec_top_recruit ul li:nth-of-type(3){background: url("../img/top/icon_recruit03.png") no-repeat left center / 30px;}

.sec_top_recruit ul li a{
	padding: 20px 0 20px 45px;
	background: url("../img/top/icon_recruit_link.png") no-repeat right 3px center / 40px;
	font-size: 26px;
	color: #0E368D;
	display: block;
	transition: .3s;
}

@media (any-hover: hover) {
.sec_top_recruit ul li a:hover{
	background: url("../img/top/icon_recruit_link.png") no-repeat right center / 40px;
}
}


/*top bana
----------------------------------------------------*/
.sec_top_bana{
	position: relative;
	background:linear-gradient(rgba(229, 235, 245, 1.0), rgba(245, 245, 245, 1.0));
}

.sec_top_bana .contents ul{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap:0 40px;
}

.sec_top_bana ul li{
	padding-top: 140px;
	border-radius: 5px;
	background: #FFF;
	box-shadow:0 0 12px rgba(0, 0, 0, .15);
}

.sec_top_bana ul li:nth-of-type(1){background: #FFF url("../img/top/ph_bana01.jpg") no-repeat center top / contain;}
.sec_top_bana ul li:nth-of-type(2){background: #FFF url("../img/top/ph_bana02.jpg") no-repeat center bottom 70px / contain;}
.sec_top_bana ul li:nth-of-type(3){background: #FFF url("../img/top/ph_bana03.jpg") no-repeat center bottom 70px / contain;}
.sec_top_bana ul li:nth-of-type(4){background: #FFF url("../img/top/ph_bana04.jpg") no-repeat center bottom 70px / contain;}

.sec_top_bana ul li a{
	padding: 10px 0 70px 0;
	background: url("../img/icon_link2.png") no-repeat bottom 30px center / 18px;
    font-family: "Noto Sans JP";
	text-align: center;
	display: block;
}


/*main
----------------------------------------------------*/
.main h2{
	margin-bottom: 60px;
	font-size: 42px;
	color: #0E368D;
}

.main h3{
	margin: 80px auto 30px auto;
	padding-bottom: 15px;
	border-bottom: 2px solid;
	border-image: linear-gradient(to right, #0E368D, #23C4FF 50%) 1;
	font-size: 26px;
	font-weight: bold;
	color: #0E368D;
}

.main h4{
	margin: 3em auto 0.8em auto;
	padding-left: 0.8em;
	border-left: 4px solid #23C4FF;
	font-size: 20px;
	font-weight: bold;
	color: #0E368D;
}

.union .main h2{
	color: #623900;
}

.union .main h3{
	border-image: linear-gradient(to right, #5B3119, #D3B300 50%) 1;
	color: #623900;
}

.union .main h3 span{
	width: 6em;
	margin-bottom: 0.5em;
	padding: 0.3em 0 0.2em 0;
	background: #F8F1CF;
	border-radius: 3px;
	font-size: 0.7em;
	text-align: center;
	display: block;
}

.union .main h4{
	border-left: 4px solid #F5BF0E;
	color: #623900;
}

.main img{
	max-width: 100%;
	width: auto;
	margin: 1.8em auto;
	border-radius: 3px;
	/*box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);*/
}

.main li{
	margin-bottom: 0.5em;
}

.main .f_right{
	float: right;
	width: 30%;
	margin: 0 0 30px 50px;
	display: inline;
}

.main .f_left{
	float: left;
	width: 30%;
	margin: 0 50px 30px 0;
	display: inline;
}

.main .btn{
	padding: 5px 2.2em;
	background: url("../img/icon_link4.png") no-repeat center right 0.5em / 1.2em;
	border: 1px solid #0E368D;
	border-radius: 1.5em;
	text-align: center;
	color: #0E368D;
}

.main .btn_large{
	padding: 15px 2.5em;
	background: url("../img/icon_link4.png") no-repeat center right 0.5em / 1.2em;
	border: 1px solid #0E368D;
	border-radius: 1.5em;
	font-size: 1.2em;
	text-align: center;
	color: #0E368D;
}

.union .main .btn_large{
	background: url("../img/union/icon_link4.png") no-repeat center right 0.5em / 1.2em;
	border: 1px solid #623900;
	color: #623900;
}

.btn_back{
	background: url("../img/icon_link5.png") no-repeat center left 0.5em / 1.2em!important;
}

.btn_ex{
	background: url("../img/icon_ex.png") no-repeat center right 0.5em / 1.2em!important;
}

@media (any-hover: hover) {
.main .btn:hover{
	background: #0E368D url("../img/icon_link2.png") no-repeat center right 0.5em / 1.2em;
	color: #FFF!important;
}

.main .btn_large:hover{
	background: #0E368D url("../img/icon_link2.png") no-repeat center right 0.5em / 1.2em;
	color: #FFF!important;
}

.union .main .btn_large:hover{
	background: #623900 url("../img/union/icon_link2.png") no-repeat center right 0.5em / 1.2em;
	color: #FFF!important;
}

.main .btn_back:hover{
	background: #0E368D url("../img/icon_link6.png") no-repeat center left 0.5em / 1.2em!important;
	color: #FFF!important;
}

.main .btn_ex:hover{
	background: #0E368D url("../img/icon_ex_w.png") no-repeat center right 0.5em / 1.2em!important;
	color: #FFF!important;
}
}

.link{
	padding-left: 1.4em;
	background: url("../img/icon_link2.png") no-repeat left center / 1.0em;
}

.union .link{
	background: url("../img/union/icon_link2.png") no-repeat left center / 1.0em;
}

.union .link_btn{
	padding: 5px 2.2em;
	background: url("../img/union/icon_link4.png") no-repeat center right 0.5em / 1.2em;
	border: 1px solid #623900;
	border-radius: 1.5em;
	text-align: center;
	color: #623900;
}

@media (any-hover: hover) {
.link:hover,
.union .link:hover{
	text-decoration: underline;
}

.union .link_btn:hover{
	background: #623900 url("../img/union/icon_link2.png") no-repeat center right 0.5em / 1.2em;
	color: #FFF;
}
}


.main .kakomi{
	padding: 50px;
	background: #EFF2F8;
}

.union .main .kakomi{
	background: #F8F1CF;
}

.main .kakomi_attention{
	padding: 50px;
	background: #FFF;
	border: 1px solid #D51D24;
}


.main .kakomi h3,
.main .kakomi h4{
	margin-top: 0;
}

.main .link_pdf{
	padding-left: 0!important;
	padding-right: 2.1em;
	background: url("../img/icon_pdf.png") no-repeat right center / 1.3em;
}

.main .btn_pdf{
	padding: 10px 4em;
	background: url("../img/icon_pdf.png") no-repeat right 2em center / 1.3em;
	border: 1px solid #0E368D;
	border-radius: 1.5em;
	text-align: center;
	color: #0E368D;
	transition: .3s;
}

@media (any-hover: hover) {
.main .btn_pdf:hover{
	padding: 10px 4em;
	background: #0E368D url("../img/icon_pdf_w.png") no-repeat right 2em center / 1.3em;
	border: 1px solid #0E368D;
	border-radius: 1.5em;
	text-align: center;
	color: #FFF;
}
}

.main table th,
.main table td{
	padding: 0.8em;
	border-bottom: 1px solid #D9D9D9;
    font-family: "Noto Sans JP";
}

.main table th{
	background: #EFF2F8;
	font-weight: normal;
	color: #0E368D;
}

.union .main table th{
	background: #F8F1CF;
	font-weight: normal;
	color: #623900;
}


/*side
----------------------------------------------------*/
.is-fixed div{
	position: sticky;
	top:140px;
	right:0;
}

.side h2{
	position: relative;
	margin-bottom: 40px;
	font-size: 26px;
	color: #0E368D;	
}

.side h2:before{
	position: absolute;
	top:0.6em;
	left:-40px;
	width: 25px;
	height: 3px;
	background: #0E368D;
	content: "";
	display: block;
}

.union .side h2{
	margin-left: 10px;
	color: #623900;	
}

.union .side h2:before{
	background: #D3B300;
}

.side ul li{
	position: relative;
	margin-bottom: 1em;
}

.side ul li a{
	padding: 0 1.2em 0.5em 0;
	background: url("../img/icon_link3.png") no-repeat right center / 0.8em;
    font-family: "Noto Sans JP";
	font-size: 14px;
	display: block;
}

.union .side ul li a{
	padding: 0 0 0.5em 2.5em;
	background: none;
	font-size: 16px;
}

.union .side ul li a.icon01{background: url("../img/union/icon_top.png") no-repeat left center / 1.6em;}
.union .side ul li a.icon02{background: url("../img/union/icon_officer.png") no-repeat left center / 1.6em;}
.union .side ul li a.icon03{background: url("../img/union/icon_history.png") no-repeat left center / 1.6em;}
.union .side ul li a.icon04{background: url("../img/union/icon_data.png") no-repeat left center / 1.6em;}
.union .side ul li a.icon05{background: url("../img/union/icon_prize.png") no-repeat left center / 1.6em;}
.union .side ul li a.icon06{background: url("../img/union/icon_schedule.png") no-repeat left center / 1.6em;}
.union .side ul li a.icon07{background: url("../img/union/icon_minutes.png") no-repeat left center / 1.6em;}
.union .side ul li a.icon08{background: url("../img/union/icon_journal.png") no-repeat left center / 1.6em;}
.union .side ul li a.icon09{background: url("../img/union/icon_secretariat.png") no-repeat left center / 1.6em;}

.side ul li:before{
	position: absolute;
	bottom:0;
	left:0;
	width: 0;
	height: 1px;
	background: linear-gradient(to right, #0E368D, #23C4FF 50%);
	content: "";
	display: block;
	transition: .3s;
	visibility: visible;
}

.union .side ul li:before{
	background: linear-gradient(to right, #5B3119, #D3B300 50%);
}

@media (any-hover: hover) {
.side ul li:hover:before{
	position: absolute;
	bottom:0;
	left:0;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, #0E368D, #23C4FF 50%);
}

.union .side ul li:hover:before{
	background: linear-gradient(to right, #5B3119, #D3B300 50%);
}
}


/*about
----------------------------------------------------*/
.box_about_mission{
	margin-bottom: 100px;
	padding: 300px 0 0 0;
	background: url("../img/about/ph_mission-vision01.jpg") no-repeat left top / 90%;
}

.box_about_vision{
	padding: 300px 0 0 0;
	background: url("../img/about/ph_mission-vision02.jpg") no-repeat right top / 90%;
}

.box_about_mission div,
.box_about_vision div{
	width: 70%;
	margin: 0 0 0 auto;
	padding: 50px;
	background: #FFF;
	border-radius: 5px;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
}

.box_about_vision div{
	margin: 0 auto 0 0;
}

.box_about_mission div h3,
.box_about_vision div h3{
	margin-top: 0;
}

.box_about_history{
	padding-top: 2.5em;
}

.box_about_history dl{
	position: relative;
	margin-top: -2.5em;
	padding-bottom: 40px;
	background: url("../img/bg_history.gif") repeat-y 6px top / 1px;
}

.box_about_history dl:nth-of-type(1){
	position: relative;
	padding-bottom: 40px;
	background: url("../img/bg_history.gif") no-repeat left 6px top 2.5em / 1px;
}

.box_about_history dl:last-of-type{
	position: relative;
	padding-bottom: 0;
	background: none;
}

.box_about_history dl:before{
	position: absolute;
	top:32px;
	left:0;
	width: 12px;
	height: 12px;
	background: #0E368D;
	border-radius: 6px;
	content: "";
	display: block;
}

.box_about_history dl dt{
	margin-left: 30px;
	padding-bottom: 2em;
	background: url("../img/bg_history2.png") no-repeat top 1.2em left 6.2em / 60px;
}

.box_about_history dl dt span{
	padding: 0 0.1em;
	font-size: 34px;
	font-weight: bold;
	color: #0E368D;
}

.box_about_history dl dd{
	margin: -3em 0 0 11em;
	padding-bottom: 3em;
}

.box_about_staff h2{
	margin-top: 80px!important;
	padding: 15px 20px;
	background: #0E368D;
	border-radius: 3px;
	font-size: 26px;
	font-weight: bold;
	color: #FFF;
}

.box_about_staff .h3_staff{
	margin-bottom: 50px;
}

.box_staff{
	margin-bottom: 50px;
	padding-bottom: 20px;
	border-bottom: 1px solid #D9D9D9;
	display: grid;
	grid-template-columns: 160px 1fr;
	grid-gap: 0 50px;
}

.box_staff img{
	margin: 10px auto 15px auto;
	border-radius: 3px;
}

.box_staff .reserchmap img{
	border-radius: 0;	
}

.box_staff .name{
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-size: 30px;
	font-weight: bold;
	color: #0E368D;
}

.box_staff .name span {
	position: relative;
	top: -4px;
	margin-left: 10px;
	padding: 2px 12px 4px 12px;
	border-radius: 3px;
	font-family: "Noto Sans JP";
	font-size: 14px;
	font-weight: normal;
  color: #FFF;
}

.box_staff .name span:nth-of-type(1){
	margin-left: 25px;
}

.box_staff .name span.field01 {background: #F38C90;}
.box_staff .name span.field02 {background: #92C7EB;}
.box_staff .name span.field03 {background: #F4BD00;}
.box_staff .name span.field04 {background: #79CCA5;}
.box_staff .name span.field05 {background: #CF91D0;}

.box_staff dl{
	margin-bottom: 30px;
    font-family: "Noto Sans JP";
}

.box_staff dl dt{
	margin-bottom: 20px;
	padding: 5px 15px;
	background: #EFF2F8;
	border-radius: 3px;
	font-size: 18px;
	font-weight: bold;
	color: #0E368D;
}

.box_staff dl dd{
	position: relative;
	padding-left: 1.2em;
}

.box_staff dl dd:before{
	position: absolute;
	top: 0;
	left:0;
	content: "・";
	display: block;
}

.box_staff.detail{
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

.box_staff.detail h2{
	margin-top: 0!important;
	padding: 0 0 30px 0;
	background: none;
	border-bottom: 2px solid;
	border-image: linear-gradient(to right, #0E368D, #23C4FF 50%) 1;
}

.box_staff.detail h3{
	margin-top: 40px!important;
	border-bottom: 1px solid #CCC;
	border-image: none;
	font-size: 22px;
}

.box_staff.detail ul li{
	margin-left: 20px;
	list-style: disc;
    font-family: "Noto Sans JP";
}

.box_archives{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 40px 20px;
}

.box_archives div{
	padding: 30px 30px 20px 30px;
	background: #FFF;
	border-radius: 3px;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
}

.box_archives h3{
	margin: 0 auto;
	padding-bottom: 10px;
	border: 0;
	font-size: 20px;
	font-weight: bold;
	color: #0E368D;
}

.box_archives h3 span{
	padding-right: 0.1em;
	font-size: 26px;
	color: #23C4FF;
}

.box_archives ul li{
	position: relative;
	width: 9em;
	margin-bottom: 0.5em;
}

.box_archives ul li:before{
	position: absolute;
	bottom:0;
	left:0;
	width: 0;
	height: 1px;
	background: linear-gradient(to right, #0E368D, #23C4FF 50%);
	content: "";
	display: block;
	transition: .3s;
	visibility: visible;
}

@media (any-hover: hover) {
.box_archives ul li:hover:before{
	position: absolute;
	bottom:0;
	left:0;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, #0E368D, #23C4FF 50%);
}
}

.box_archives ul li a{
	background: url("../img/icon_link4.png") no-repeat center right / 1em;
	display: block;
}

.box_archives_past{
	margin-top: 50px;
	padding-top: 50px;
	border-top: 1px solid #CCC;
}

.box_archives_past ul{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-gap: 40px 20px;
}

.box_archives_past ul li a{
	padding: 10px 20px;
	background: #FFF;
	border-radius: 3px;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
	background: url("../img/icon_link4.png") no-repeat center right 20px / 1em;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	display: block;
}

.box_archives_past ul li a span{
	padding-right: 0.1em;
	font-size: 20px;
	color: #23C4FF;
}

.box_archives_detail .box_archives{
	display: block;
}

.box_archives_detail h2{
	padding: 15px 20px;
	background: #0E368D;
	border-radius: 3px;
	font-size: 26px;
	font-weight: bold;
	color: #FFF;	
}

.box_archives_detail h3{
	margin-top: 30px;
}

.box_archives_detail h4{
	margin-bottom: 1.5em;
}

.box_archives_detail ol{
	padding:0;
	counter-reset:my-counter;
	list-style:none;
}

.box_archives_detail ol li{
	margin: 0 0 20px 0;
	padding-bottom: 20px;
	padding-left: 2.2em;
	border-bottom: 1px solid #CCC;
}

.box_archives_detail ol li:before {
  float: left;
  width: 1.8em;
  height: 1.8em;
  margin-left: -2.6em;
  margin-right: 0.5em;
  margin-top: 0.3em;
  border-radius: 50%;
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #0E368D;
  color: #FFF;
  font-size: 0.8em;
  line-height: 1.8;
  text-align: center;
  vertical-align: middle;
  display: block;
}

#archives_choice{
	margin-bottom:40px;
	clear: both;
	color: #23C4FF;
}

#archives_choice #arrow_inner{
	padding: 30px;
	border: 1px solid #23C4FF;
	background: #FFF;
}

#archives_choice #arrow_item{
	margin: 0 auto 0;
	padding: 0 auto;
	background: #FFF;
	border: 1px solid #23C4FF;
	line-height: 3;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	cursor:pointer;
}

#archives_choice #arrow_inner h3{
	margin-top: 0!important;
}

#archives_choice #arrow_inner .box_archives div{
	padding: 20px;
}


/*examine
----------------------------------------------------*/
.box_examine{
	margin-top: 50px;
	/*display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 30px;*/
}

.box_examine div{
	margin-bottom: 50px;
	padding: 30px;
	box-shadow:0 0 12px rgba(0, 0, 0, .15);	
}

.box_examine div h4{
	margin-top: 0;
}

.box_examine .kakomi{
	margin-bottom: 0;
	box-shadow:0 0 12px rgba(0, 0, 0, 0);
}

.box_disease_name table td{
	text-align: right;
}


/*recruit
----------------------------------------------------*/
.btn_recruit{
	width: 600px;
	margin: 50px auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 30px;
	text-align: center;
}

.btn_recruit a{
	width: 100%;
	display: block;
}

.box_recruit_message.list{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 60px 50px;
}

.box_recruit_message.list dl{
	display: grid;
	grid-template-columns: 0.6fr 1fr;
	grid-gap: 30px;	
}

.box_recruit_message dl dt img{
	width: 100%;
	margin: 0;
}

.box_recruit_message.list dl dd h4{
	margin-top: 0;
	padding: 0;
	border: 0;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif !important;
}

.box_recruit_message dl dd p{
	margin-bottom: 1.2em;
	line-height: 1.6;
	font-weight: bold;
}

.box_recruit_message dl dd p span{
	font-size: 14px;
	font-weight: normal;
	display: block;
}

.box_recruit_message.list dl dd a{
	font-size: 14px;
}

.box_recruit_message.detail{
}

.box_recruit_message.detail dl{
	margin-bottom: 50px;
	display: grid;
	grid-template-columns: 0.2fr 1fr;
	grid-gap: 50px;	
}

.box_recruit_message.detail dl dd h4{
	margin-top: 0;
	padding: 0;
	border: 0;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif !important;
	line-height: 1.6;
	font-size: 26px;
}


/*related
----------------------------------------------------*/
#map{
	height: 100%;
	width: 100%;
}

.related_map{
	height: 100%;
	padding: 0;
}

.related_map h1{
	margin: 30px auto 0 auto;
	padding: 0 0 15px 0;
	border-bottom: 2px solid;
	border-image: linear-gradient(to right, #0E368D, #23C4FF 50%) 1;
	font-size: 20px;
	font-weight: bold;
	color: #0E368D;
}

.related_map .box_list_ttl,
.related_map #hospital-list{
	padding: 10px 20px;
}

.related_map #hospital-list .p-4{
	padding: 15px;
	border-bottom: 1px solid #D9D9D9;
}

.related_map #hospital-list h2{
	position: relative;
	margin-bottom: 0.8em;
	padding-left: 3.6em;
	background: url("../img/related/icon_map.png") no-repeat left 2.4em center / 1.2em;
}

.related_map #hospital-list h2:hover{
	text-decoration: underline;
}

.related_map #hospital-list h2 span{
	position: absolute;
	left: 0;
	width: 2em;
	padding: 7px 0;
	background: #EA4335;
	border-radius: 3px;
	line-height: 1.0;
	font-size: 0.8em;
	text-align: center;
	color: #FFF;
	display: inline-block;
}

.related_map #hospital-list .text-sm{
	margin: 0.5em 0 0 2.5em;
	/*padding: 5px;
	background: #FFF;*/
	line-height: 1.4;
	font-size: 0.8em;
}

.related_map #hospital-list ul li{
	list-style: none;
}

.related_map #hospital-list ul li a{
	width: 100%;
	padding: 5px;
	margin: 0 auto;
	border: 1px solid #0E368D;
	border-radius: 30px;
	text-align: center;
	display: block;
}

@media (any-hover: hover) {
.related_map #hospital-list ul li a:hover {
	background: #0E368D;
	color: #FFF !important;
	text-decoration: none;
}
}






/*ポップアップCloseボタン
-------------------------*/
.gm-style-iw{
	position: relative;
	padding: 15px!important;
	overflow: visible!important;
}

.gm-style-iw-chr{
	position: absolute;
	width: 30px!important;
	height: 30px!important;
	top: -15px;
	right: -15px;
	z-index: 9;
}

.gm-ui-hover-effect{
	width: 30px!important;
	height: 30px!important;
	background: #FFF!important;
	border: 1px solid #D9D9D9!important;
	border-radius: 15px;
	opacity: 1.0!important;
}

.gm-ui-hover-effect span{
	width: 20px!important;
	height: 20px!important;
	margin: 5px!important;
}

/*ポップアップ枠内
-------------------------*/
.gm-style-iw h3{
	position: relative;
	margin-bottom: 15px;
	padding-left: 2.0em;
	line-height: 1.4;
	font-size: 18px;
}

.gm-style-iw h3 span{
	position: absolute;
	left: 0;
	width: 2em;
	padding: 7px 0;
	background: #EA4335;
	border-radius: 3px;
	line-height: 1.0;
	font-size: 0.7em;
	text-align: center;
	color: #FFF;
	display: inline-block;
}

.gm-style-iw ul{
	margin-bottom: 15px;
	list-style: none;
}

.gm-style-iw ul li{
	margin-bottom: 0.8em;
}

.gm-style-iw a{
	width: 100%;
	padding: 5px;
	margin: 0 auto;
	border: 1px solid #0E368D;
	border-radius: 30px;
	text-align: center;
	display: block;
}

@media (any-hover: hover) {
.gm-style-iw a:hover{
	background: #0E368D;
	color: #FFF!important;
	text-decoration: none;
}
}

.box_ph{
	margin-bottom: 50px;
    font-family: "Noto Sans JP";
	text-align: center;
}

.box_ph .box_left {
  float: left;
  width: 48%;
  margin-bottom: 4%;
}

.box_ph .box_right {
  float: right;
  width: 48%;
  margin-bottom: 4%;
}

.box_ph img{
	margin-bottom: 0.5em;
}

.box_ph .box_left img,
.box_ph .box_right img{
	width: 100%;
	margin: 0;
}

.btn_link_hospital{
	margin-top: 50px;
	text-align: center;
}

.btn_link_hospital a{
	margin: 0 0.5em;
}


/*link
----------------------------------------------------*/
.box_link h2{
	margin: 0 0 50px 0;
	padding: 15px 20px;
	background: #0E368D;
	border-radius: 3px;
	font-size: 26px;
	font-weight: bold;
	color: #FFF;
}

.box_link h3{
	margin-top: 50px;
}


/*union
--------------------------------------------*/
.btn_logout{
	margin-top:30px;
	padding-top:10px;
	border-top:1px solid #CCC;
	text-align:right;
}

.btn_logout a{
	padding:3px 12px;
	background:#0E368D;
	color:#FFF;
	display:inline-block!important;
}

.ul_list li{
	margin-bottom:10px;
	padding-bottom:10px;
	border-bottom:1px solid #CCC;
}

.table_list td{
	padding:10px 0!important;
	border:0!important;
	border-bottom:1px solid #CCC!important;
}

.box_journal a{
	display:block;
}

.box_journal dl{
	margin-bottom:10px;
	padding-bottom:10px;
	border-bottom:1px solid #CCC;
	clear:both;
}

.box_journal dl dt{
	float:left;
	width:70%;
}

.box_journal dl dd{
	float:right;
	width:30%;
	clear:right;
}

.box_journal img{
	max-width:100%;
	height:auto;
}

.box_journal .ph_face{
	float:right;
	width:150px;
	margin:0 0 0 30px;
}

.box_journal .ph_face img{
	margin-bottom:10px;
}

.ph_list ul li{
	float:left;
	width:31%;
	margin:0 3.5% 3.5% 0;
}

.ph_list ul li:nth-of-type(3n){
	margin:0 0 3.5% 0;
}

.ph_list ul li img{
	width:100%;
	height:auto;
	display:block;
}

.ttl_gallery{
	padding: 40px 0 50px 0;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 40px;
	color: #0D358C;
	text-align: center;
}

.gallery_navi{
	margin-bottom: 40px;
	border-bottom: 1px solid #0E368D;
	display: grid;
	grid-template-columns: 1fr 18em;
}

.gallery_navi ul{
	margin-bottom: -1px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.gallery_navi ul li a{
	padding: 5px 15px;
	background: #FFF;
	border: 1px solid #0E368D;
	border-bottom: 0;
	border-left: 0;
	text-align: center;
	display: block;
}

.gallery_navi ul li:nth-of-type(1) a{
	border-left: 1px solid #0E368D;
}

.gallery_navi ul li.current a{
	background: #0E368D;
	border: 1px solid #0E368D;
	color: #FFF!important;
}

.box_gallery{
	padding: 20px 40px 40px 40px;
}

.modula-gallery{
	margin-bottom: 40px;
}

.box_gallery .btn{
	padding:3px 12px;
	background:#0E368D;
	color:#FFF;
	display:inline-block!important;
}


/*footer
----------------------------------------------------*/
footer{
	padding: 50px 0;
	background: #0E368D;
	color: #FFF;
}

footer p{
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	color: #FFF;
}

footer a{
	color: #FFF!important;
}

footer .contents{
	display: grid;
	grid-template-columns: 1fr 600px;
	grid-gap: 0 50px;
}

@media screen and (max-width:1280px){
footer .contents{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 0 50px;
}
}

footer h2{
	width: 410px;
	margin-bottom: 10px;
}

footer .box_contact{
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #FFF;
	line-height: 1.4;
	display: grid;
	grid-template-columns: 1fr 130px;
	grid-gap:0 20px;
	align-items: center;
}

footer p{
	margin-bottom: 0;
}

footer .box_contact span{
	font-size: 40px;
	font-weight: bold;
}

footer .box_contact .btn{
	padding: 3px 0;
	border: 1px solid #FFF;
    font-family: "Noto Sans JP";
	text-align: center;
	display: block;
}

footer .box_link{
    font-family: "Noto Sans JP";
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-gap: 0 10px;
}

footer .box_link h3{
	margin: 0 auto 0.5em auto;
	font-size:16px;
}

footer .box_link ul li a{
	position: relative;
	margin-bottom: 0.5em;
	padding-left: 1.0em;
	line-height: 1.4;
	font-size:14px;
	display: block;
}

footer .box_link ul li a:before{
	position: absolute;
	top:-0.3em;
	left:0;
	content: "-";
	color: #FFF!important;
	display: block;
	z-index: 0;
}

footer .box_link2{
	margin-top: 1.5em;
}

footer .box_link2 ul li{
	margin-right: 1.5em;
	display: inline;
}

footer iframe{
	width: 100%;
	height: 100%;
}

footer .copyright{
	width: 1200px;
	margin: 0 auto;
	padding-top: 30px;
	font-size: 13px;
}

@media screen and (max-width:1280px){
footer .copyright{
	width: 94%;
}
}


/*page top
----------------------------------------------------*/
#page-top{
	position: fixed;
	right: 2%;
	z-index:999;
}

#page-top a{
	width:50px;
	height:50px;
	display:block;
}

#page-top a:hover{
	opacity:0.70;
	filter: alpha(opacity=70);
}

#page-top a img{
	width:100%;
	height:auto;
	margin:auto;
	display:block;
}
