@charset "UTF-8";
.main {
  font-family: "Noto Sans JP", sans-serif;
}

.main article,
.sub_header_nav,
.breadcrumb,
.localnavi {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Helvetica, Arial, sans-serif;
}

.sub_header_nav {
  background-color: #00a0e9;
  font-weight: bold;
  margin: 0;
}
.sub_header_nav img {
  vertical-align: bottom;
}
@media only screen and (max-width: 1000px) {
  .sub_header_nav img {
    max-width: 96px;
  }
}
.sub_header_nav dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  padding: 16px clamp(10px, 3vw, 40px);
}
.sub_header_nav dt {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "メイリオ", Meiryo, Helvetica, Arial, sans-serif;
  font-size: 1.25rem;
  flex: 0 0 100%;
  text-align: center;
  margin-bottom: 24px;
}
.sub_header_nav dt a {
  color: #fff;
  text-decoration: none;
}
.sub_header_nav dt a:hover, .sub_header_nav dt a:active {
  opacity: 0.8;
}
html[lang=en] .sub_header_nav dt {
  font-size: clamp(1.13rem, 2vw, 1.25rem);
}
.sub_header_nav dd {
  position: relative;
  font-size: clamp(0.94rem, 2vw, 1rem);
  display: flex;
  align-items: center;
  justify-content: center;
}
.sub_header_nav dd a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.3s;
  color: #000;
}
.sub_header_nav dd a:hover, .sub_header_nav dd a:active {
  color: #fff;
}
.sub_header_nav dd:not(.sub_header_nav_lang) a {
  line-height: 1.3;
}
.sub_header_nav dd:not(.sub_header_nav_lang)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-left: 1px solid #34bfff;
  height: 20px;
  display: block;
}
@media only screen and (max-width: 392px) {
  .sub_header_nav dt {
    padding-right: 60px;
    text-align: left;
  }
  .sub_header_nav dd {
    flex: 0 0 50%;
    margin-top: 5px;
    padding: 0 clamp(0.5em, 2.5vw, 24px);
  }
  .sub_header_nav dd:nth-of-type(2n+1):not(.sub_header_nav_lang)::before {
    display: none !important;
  }
  .sub_header_nav dd:not(.sub_header_nav_lang) a {
    width: auto;
  }
}
@media only screen and (min-width: 393px) and (max-width: 1000px) {
  .sub_header_nav dl {
    max-width: 1000px;
  }
  .sub_header_nav dd {
    flex: 0 0 33.333%;
    margin-top: 5px;
    padding: 0 clamp(0.5em, 2.5vw, 24px);
  }
  .sub_header_nav dd:nth-of-type(3n+1):not(.sub_header_nav_lang)::before {
    display: none !important;
  }
}
@media only screen and (min-width: 393px) and (max-width: 475px) {
  .sub_header_nav dt {
    text-align: left;
    padding: 0 4px;
  }
  .sub_header_nav dl {
    padding: 16px 4px;
  }
  .sub_header_nav dd {
    padding: 0 2px;
  }
}
@media only screen and (max-width: 540px) {
  html[lang=en] .sub_header_nav dt {
    text-align: left;
  }
}
@media only screen and (max-width: 480px) {
  html[lang=en] .sub_header_nav dt {
    margin-bottom: 8px;
    padding-right: 55px;
  }
  html[lang=en] .sub_header_nav dd {
    flex: 0 0 auto;
    padding: 0 8px;
  }
  html[lang=en] .sub_header_nav dd a {
    font-size: 0.81rem;
  }
  html[lang=en] .sub_header_nav dd:nth-child(2):not(.sub_header_nav_lang)::before, html[lang=en] .sub_header_nav dd:nth-child(4):not(.sub_header_nav_lang)::before {
    display: none !important;
  }
  html[lang=en] .sub_header_nav dd:nth-child(5):not(.sub_header_nav_lang)::before {
    display: block !important;
  }
}
@media only screen and (min-width: 1001px) {
  .sub_header_nav dl {
    display: grid;
    grid-template-columns: 1fr repeat(7, auto);
    gap: 8px 0;
    max-width: 1180px;
    padding: 23px 20px;
  }
  .sub_header_nav dt {
    grid-row: 1/3;
    grid-column: 1/2;
    flex: none;
    margin: 0 clamp(10px, 4.6vw, 60px) 0 0;
    text-align: left;
    display: flex;
    align-items: center;
  }
  .sub_header_nav dd {
    display: contents;
  }
  .sub_header_nav dd::before {
    display: none !important;
  }
  .sub_header_nav dd:not(.sub_header_nav_lang) a {
    grid-row: 2/3;
    align-self: flex-start;
    margin-bottom: -0.4em;
  }
  :not(.sub_header_nav_lang) + :not(.sub_header_nav_lang) .sub_header_nav dd:not(.sub_header_nav_lang) a {
    margin-left: clamp(10px, 3vw, 48px);
  }
  html[lang=ja] .sub_header_nav dt {
    white-space: nowrap;
  }
  html[lang=en] .sub_header_nav dt {
    min-width: 17em;
  }
}
@media only screen and (min-width: 1141px) {
  html[lang=en] .sub_header_nav dt {
    white-space: nowrap;
  }
  html[lang=en] .sub_header_nav dd:nth-of-type(1) a {
    white-space: nowrap;
  }
}
.sub_header_nav .sub_header_nav_lang {
  display: contents;
}
.sub_header_nav .sub_header_nav_lang a {
  color: #fff;
}
.sub_header_nav .sub_header_nav_lang a:hover, .sub_header_nav .sub_header_nav_lang a:active {
  opacity: 0.8;
}
@media only screen and (max-width: 1000px) {
  .sub_header_nav .sub_header_nav_lang a {
    position: absolute;
    top: 18px;
    right: 20px;
    width: 48px;
    height: 48px;
    background: #6c6c6c url(../img/lang_jp_black.svg) center no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
  }
  .sub_header_nav .sub_header_nav_lang a[href*="/english/"] {
    background-image: url(../img/lang_en_black.svg);
  }
}
@media only screen and (min-width: 1001px) {
  .sub_header_nav .sub_header_nav_lang a {
    grid-column: 2/11;
    grid-row: 1/2;
    justify-self: end;
    align-self: start;
    background-color: #333;
    font-size: 0.75rem;
    line-height: 20px;
    padding: 0 10px;
  }
}

/*
.sub_header_nav{
	background-color: #00a0e9;
	font-weight: bold;
	margin: 0;
	img {
		vertical-align: bottom;
	}
	dl {
		align-items: center;
		display: grid;
		margin: 0 auto;
		max-width: 1180px;
		padding: 16px clamp(10px, 3vw, 40px);
	}
	dt {
		font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Noto Sans JP', 'メイリオ', Meiryo, Helvetica, Arial, sans-serif;
		font-size: b.$font-20px;
		a {
			color: #fff;
			text-decoration: none;
			&:hover,
			&:active {
				opacity: .8;
			}
		}
	}
	dd {
//		display: contents;
		font-size:clamp(b.$font-15px, 2vw, 1rem);
		position: relative;
		a {
			align-items: center;
			color: b.$color-link;
			display: flex;
			justify-content: center;
			text-decoration: none;
			transition: all .3s;
			&:hover, 
			&:active {
				color: #fff;
			}
		}
		&:not(.sub_header_nav_lang) a {
			line-height: 1.3;
//			html[lang='en'] & {
//				line-height: 1.3;
//			}
		}
		&.sub_header_nav_lang {
			display: contents;
			a {
				color: #fff;
				&:hover, 
				&:active {
					opacity: .8;
				}
			}
		}
	}
	@include b.mqMin-Max(479px, 1000px) {
		dl {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: 0;
			max-width: 1000px;
			margin: 0 auto;
		}
		dt {
			flex: 0 0 100%;
			text-align: center;
		}
		dd {
			align-items: center;
			display: flex;
			flex: 0 0 33.333%; 
			justify-content: center;
			margin-top: 5px;
		}
		dd:not(.sub_header_nav_lang) a {
			grid-column: auto;
			grid-row: auto;
		}
		dd:not(.sub_header_nav_lang)::before {
			content: "";
			position: absolute;
			left: 0;
			top: 50%;
			transform: translateY(-50%);
			border-left: 1px solid #34bfff;
			height: 20px;
			display: block;
		}
		dd:nth-of-type(3n+1)::before {
			display: none !important;
		}
	}
	@include b.mqMax(1000px) {
		img {
			max-width: 96px;
		}
		dt {
			margin-bottom: 24px;
		}
		dd {
			&.sub_header_nav_lang {
				a {
					background: #6c6c6c url(../img/lang_jp_black.svg) center center no-repeat;
					display: block;
					height: 48px;
					overflow: hidden;
					position: absolute;
					right: 20px;
					text-indent: 50px;
					top: 18px;
					white-space: nowrap;
					width: 48px;
					&:hover,
					&:active {
						color: #fff;
						opacity: .8;
					}
					&[href*='/english/']{
						background-image: url(../img/lang_en_black.svg);
					}
				}
			}
		}
	}
	@include b.mqMax(640px) {
		dd {
			&.sub_header_nav_lang {
				dl {
					display: flex;
					flex-wrap: wrap;
					justify-content: center;
				}
				dt {
					margin-bottom: 16px;
					min-height: 48px;
					text-align: center;
					width: 100%;
				}
				dd {
					&:not(.sub_header_nav_lang) a {
						box-sizing: border-box;
						padding: 0 10px;
						html[lang='jp'] & {
							width: calc(33.333% - 2px);
						}
					}
					&:nth-of-type(n+2):not(.sub_header_nav_lang)::before {
						margin: 0;
						min-height: 1em;
					}
					&:nth-of-type(3n+1):not(.sub_header_nav_lang)::before {
						border-style: none;
						min-height: 16px;
						width: 100%;
					}
					a {
						right:10px;
					}
				}
			}
		}
	}
	@include b.mqMax(479px) {
		dd {
			align-items: center;
			display: flex;
			flex: 0 0 auto; 
			justify-content: center;
			margin-top: 5px;
			padding: 0 clamp(.5em, 2.5vw, 24px);
			&:not(.sub_header_nav_lang) a {
				min-width: 25%;
				width: auto;
			}
		}
	}
	@include b.mqMax(375px) {
		dt{
			padding-right: 60px;
			text-align: left;
		}
		dd {
			flex: 0 0 50%; 
		}
	}
	@include b.mqMin(1000px) {
		dl {
			gap: 8px 0;
			grid-template-columns: 1fr repeat(7, auto);
			padding: 23px 20px;
		}
		dt {
			align-items: center;
			display: flex;
			grid-row: 1 / 3;
			grid-column: 1 / 2;
			margin-right: clamp(10px, 4.6vw, 60px);
			white-space: nowrap;
		}
		dd {
			display: contents;
			&:nth-of-type(n+2):not(.sub_header_nav_lang)::before {
				display: none;
			}
			&::before {
				align-self: end;
				grid-column: auto;
				grid-row: 2/3;
				margin-bottom: -.4em;
			}
			&:not(.sub_header_nav_lang) a {
				align-self: flex-start;
				grid-column: auto;
				grid-row: 2/3;
				margin-bottom: -.4em;
				:not(.sub_header_nav_lang) + :not(.sub_header_nav_lang) & {
					margin-left: clamp(10px, 3vw, 48px);
				}
			}
		}
		dd.sub_header_nav_lang a {
			align-self: start;
			background-color: #333;
			color: #fff;
			font-size: b.$font-12px;
			grid-column: 2/11;
			grid-row: 1/2;
			justify-self: end;
			line-height: 20px;
			padding: 0 10px;
		}
	}
}
*/
.sub_header_nav.js_float {
  left: 0;
  position: absolute;
  width: 100%;
}
@media only screen and (max-width: 800px) {
  .sub_header_nav.js_float {
    z-index: 2000;
  }
  .js_navi_open .sub_header_nav.js_float {
    z-index: 900;
  }
}

.sub_header_nav.js_fixed {
  position: fixed;
  top: 0;
}
@media only screen and (min-width: 801px) {
  .sub_header_nav.js_fixed {
    z-index: 2000;
  }
}

.sub_header_nav ~ .container {
  margin-top: 32px;
}
@media only screen and (max-width: 800px) {
  .sub_header_nav ~ .container {
    margin-top: 40px;
  }
}

article a {
  color: #0077c4;
}
article strong {
  color: #c5236e;
}
article .wm-border {
  border-color: #ccc;
}
article .wm-background {
  background-color: #eaf6fd;
}
article .wm-border-background {
  background-color: #fff0f7;
  border: 1px solid #e85197;
}
article table thead tr:last-of-type * {
  border-bottom-color: #eee;
}
article table tbody th:last-of-type {
  border-right-color: #eee;
}
article table th:last-child, article table td:last-child {
  border-right: none;
}
article table th:first-child, article table td:first-child {
  border-left: none;
}
article table th {
  background-color: #b9e3f9;
}
article table tbody th {
  background-color: #d3edfb;
}
article [class^=wm-button] a,
article [class^=wm-button] input,
article [class^=wm-button] button {
  background-color: #0077c4;
  border-color: #0077c4;
  border-radius: 8px;
  padding: 4px 10px;
  transition: background-color 0.3s;
  min-width: 240px;
}
article [class^=wm-button] a:hover, article [class^=wm-button] a:active,
article [class^=wm-button] input:hover,
article [class^=wm-button] input:active,
article [class^=wm-button] button:hover,
article [class^=wm-button] button:active {
  background-color: #fff !important;
  color: #0077c4;
  -o-opacity: 1;
  opacity: 1;
}
article [class^=wm-button].white a,
article [class^=wm-button].white input,
article [class^=wm-button].white button,
article [class^=wm-button] .white a,
article [class^=wm-button] .white input,
article [class^=wm-button] .white button {
  border-color: #222 !important;
  background-color: #fff !important;
  color: #222 !important;
}
article [class^=wm-button].white a:hover, article [class^=wm-button].white a:active,
article [class^=wm-button].white input:hover,
article [class^=wm-button].white input:active,
article [class^=wm-button].white button:hover,
article [class^=wm-button].white button:active,
article [class^=wm-button] .white a:hover,
article [class^=wm-button] .white a:active,
article [class^=wm-button] .white input:hover,
article [class^=wm-button] .white input:active,
article [class^=wm-button] .white button:hover,
article [class^=wm-button] .white button:active {
  background-color: #ccc !important;
  border-color: #ccc !important;
  -o-opacity: 1;
  opacity: 1;
}
article [class^=wm-button].more a {
  align-items: center;
  border-radius: 8px;
  display: inline-flex;
  font-weight: normal;
  justify-content: center;
  max-width: 240px;
  min-width: auto;
  padding: 8px;
  text-decoration: none;
  transition: background-color 0.3s;
  width: 100%;
}
article [class^=wm-button].more a::before {
  background-image: url("../img/icon_ojec_more.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  flex-shrink: 0;
  width: 20px;
  height: 16px;
  margin-right: 10px;
}
article [class^=wm-button].more a:hover, article [class^=wm-button].more a:active {
  -o-opacity: 1;
  opacity: 1;
}
article [class^=wm-button].more a:hover::before, article [class^=wm-button].more a:active::before {
  background-image: url("../img/icon_ojec_more_hv.png");
}
article .wm-ul-def > .wm-icon a::before,
article .wm-ul-circle > .wm-icon a::before,
article .wm-ul-list > .wm-icon a::before,
article .wm-ul-square > .wm-icon a::before {
  background: url(/assets/img/icon_arrow_ojec.png) center center no-repeat;
  -ms-background-size: contain;
  background-size: contain;
  content: url(/assets/img/icon_arrow_ojec_p.png);
  display: inline-block;
  height: 11px;
  margin: 0 15px 0 -30px;
  overflow: hidden;
  text-indent: 15px;
  width: 15px;
}
article .wm-ul-circle > li::before {
  background-image: url(/assets/img/icon_list_circle_ojec.png);
  content: url(/assets/img/icon_list_circle_ojec_p.png);
}
article .wm-list-column1 > li::before,
article .wm-list-column2 > li::before,
article .wm-list-column3 > li::before,
article .wm-list-column4 > li::before {
  background: url(/assets/img/icon_list_circle_ojec.png) center center no-repeat;
  background-size: contain;
  content: url(/assets/img/icon_list_circle__ojec_p.png);
  display: inline-block;
  float: left;
  height: 1.8em;
  margin: 0 11px 0 -25px;
  min-height: 14px;
  overflow: hidden;
  text-indent: 14px;
  vertical-align: top;
  width: 14px;
}
article .wm-link-column1 > li a::before,
article .wm-link-column2 > li a::before,
article .wm-link-column3 > li a::before {
  background: url(/assets/img/icon_arrow_ojec.png) center center no-repeat;
  -ms-background-size: contain;
  background-size: contain;
  content: url(/assets/img/icon_arrow_ojec_p.png);
  display: inline-block;
  height: 11px;
  margin: 0 15px 0 -30px;
  overflow: hidden;
  text-indent: 15px;
  width: 15px;
}
article .wm-ul-square > li::before {
  content: "";
  background-color: #00a0e9;
  background-image: none;
  display: inline-block;
  height: 8px;
  float: none;
  margin: -1px 11px 0 -20px;
  min-height: auto;
  overflow: visible;
  text-indent: 0;
  vertical-align: middle;
  width: 8px;
}
article .wm-ul-list > li::before {
  content: "";
  background-color: transparent;
  background-image: none;
  border-color: transparent transparent transparent #00a0e9;
  border-style: solid;
  border-width: 4px 0 4px 5px;
  display: inline-block;
  height: 0;
  float: none;
  margin: -2px 11px 0 -20px;
  min-height: auto;
  overflow: visible;
  text-indent: 0;
  vertical-align: middle;
  width: 0;
}

@media only screen and (min-width: 1350px), print {
  .wm-parallelL-large:after {
    content: "";
    display: block;
    clear: both;
  }
  .wm-parallelL-large-img {
    width: 520px;
  }
  .wm-parallelL-large-txt {
    width: calc(100% - 480px - 40px - 1px);
  }
  .wm-parallelR-large:after {
    content: "";
    display: block;
    clear: both;
  }
  .wm-parallelR-large-img {
    width: 520px;
  }
  .wm-parallelR-large-txt {
    width: calc(100% - 480px - 40px - 1px);
  }
  .wm-roundL-large:after {
    content: "";
    display: block;
    clear: both;
  }
  .wm-roundL-large-img {
    width: 520px;
  }
  .wm-roundR-large:after {
    content: "";
    display: block;
    clear: both;
  }
  .wm-roundR-large-img {
    width: 520px;
  }
}
@media only screen and (min-width: 1110px), print {
  .wm-parallelL-medium:after {
    content: "";
    display: block;
    clear: both;
  }
  .wm-parallelL-medium-img {
    width: 400px;
  }
  .wm-parallelL-medium-txt {
    width: calc(100% - 360px - 40px - 1px);
  }
  .wm-parallelR-medium:after {
    content: "";
    display: block;
    clear: both;
  }
  .wm-parallelR-medium-img {
    width: 400px;
  }
  .wm-parallelR-medium-txt {
    width: calc(100% - 360px - 40px - 1px);
  }
  .wm-roundL-medium:after {
    content: "";
    display: block;
    clear: both;
  }
  .wm-roundL-medium-img {
    width: 400px;
  }
  .wm-roundR-medium:after {
    content: "";
    display: block;
    clear: both;
  }
  .wm-roundR-medium-img {
    width: 400px;
  }
}
@media only screen and (min-width: 870px), print {
  .wm-parallelL-small:after {
    content: "";
    display: block;
    clear: both;
  }
  .wm-parallelL-small-img {
    width: 280px;
  }
  .wm-parallelL-small-txt {
    width: calc(100% - 240px - 40px - 1px);
  }
  .wm-parallelR-small:after {
    content: "";
    display: block;
    clear: both;
  }
  .wm-parallelR-small-img {
    width: 280px;
  }
  .wm-parallelR-small-txt {
    width: calc(100% - 240px - 40px - 1px);
  }
  .wm-roundL-small:after {
    content: "";
    display: block;
    clear: both;
  }
  .wm-roundL-small-img {
    width: 280px;
  }
  .wm-roundR-small:after {
    content: "";
    display: block;
    clear: both;
  }
  .wm-roundR-small-img {
    width: 280px;
  }
}
@media only screen and (min-width: 801px) {
  .content {
    max-width: 1040px;
  }
  .header {
    padding-bottom: 0;
  }
  .breadcrumb {
    margin-top: 30px;
  }
  #js_dropdown_menu {
    margin-top: 0;
  }
  .wm-button-column > li {
    flex: 1 0 50%;
  }
}
.institutions.ojec .main h2::before,
.institutions.ojec .main .wm-h2 h2::before,
.institutions.ojec .main h3::before,
.institutions.ojec .main .wm-h3 h3::before {
  border-color: #00a0e9;
}
.institutions.ojec .main h2,
.institutions.ojec .main .wm-h2 {
  color: #00a0e9;
}
.institutions.ojec .main h2::before,
.institutions.ojec .main .wm-h2::before {
  left: -20px;
  right: auto;
  width: 120px;
}
.institutions.ojec .main h3:before,
.institutions.ojec .main .wm-h3:before {
  left: 0;
}
.institutions.ojec .main h4:before,
.institutions.ojec .main .wm-h4:before {
  border-color: #697c87;
}
.institutions.ojec .main h5,
.institutions.ojec .main .wm-h5 {
  color: #5e737e;
}
.institutions.ojec .main h6,
.institutions.ojec .main .wm-h6 {
  color: #627a86;
}
@media only screen and (min-width: 1141px) {
  .institutions.ojec .main h2:before,
.institutions.ojec .main .wm-h2:before {
    left: -50px;
  }
}
@media only screen and (min-width: 1041px) {
  .institutions.ojec .main .wm-h1:not(:has(img))::before {
    height: auto;
    left: 50px;
    margin-left: -10px;
    position: -webkit-sticky;
    position: sticky;
    transform: translateX(-70px);
    box-sizing: border-box;
    position: relative;
  }
}
@media only screen and (min-width: 1176px) {
  .institutions.ojec .main .wm-h1:not(:has(img))::before {
    left: 0;
    margin-left: 0;
    transform: translateX(-60px);
  }
}

.ojec_contact {
  background-color: #f5f5f5;
  padding: 40px 20px;
}
.ojec_contact dl {
  align-items: center;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px;
  text-align: center;
}
.ojec_contact dl::before {
  background-color: #595757;
  background-image: url("../img/icon_ojec_contact.png");
  background-size: 45% auto;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%;
  content: "";
  flex-shrink: 0;
  height: 64px;
  width: 64px;
}
@media screen and (min-width: 801px) {
  .ojec_contact dl {
    align-items: center;
    -moz-column-gap: 40px;
         column-gap: 40px;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    padding: 40px;
    row-gap: 5px;
    text-align: left;
  }
  .ojec_contact dl::before {
    grid-column: 1/2;
    grid-row: 1/3;
    margin-bottom: 0;
    height: 80px;
    width: 80px;
  }
  .ojec_contact dl dt {
    align-self: end;
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .ojec_contact dl dd {
    align-self: start;
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
.ojec_contact dt {
  color: #000;
  font-size: 1.25rem;
  font-weight: bold;
  margin: 0;
}
.ojec_contact dd {
  color: #333;
  margin: 0;
  line-height: 1.7;
  font-size: 0.94rem;
  text-align: left;
}