@charset "UTF-8";

#wrapper{
	display: grid;
	grid-template-columns: 360px 1fr;
}

#contents{
  display: flex;
	justify-content: space-between;
	flex-direction: column;
}

@media screen and (max-width: 1200px){
	#wrapper{
		grid-template-columns: 280px 1fr;
	}
}
@media screen and (max-width: 767px){
	#wrapper{
		display: block;
	}
	#contents{
	  display: block;
		position: relative;
		margin-top: 120px;
	}
}

/* #header
-------------------------------------------------- */
#header .header_in{
	padding: 30px 50px 0 50px;
	position: sticky;
	top: 0;
}

#header .logo{
	margin: 0 0 30px 0;
}

#header .logo a{
  display: flex;
  align-items: center;
  justify-content: center;
}

#header .logo a img{
	flex: 0 1 90px;
}

#header .logo a span{
	flex: 0 1 auto;
	margin-left: 15px;
	line-height: 1.2;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 3rem;
}

.btn_login a{
  display: flex;
  align-items: center;
  justify-content: center;
	text-align: center;
	color: #0068B7;
	background: #FDD000;
	line-height: 1.3;
	padding: 10px;
}

.nav1{
	margin-top: 20px;
}
.nav1 > li{
	margin-top: 10px;
}

.nav1 > li > a{
	display: block;
	padding: 4px 0;
	position: relative;
	color: #102D43;
	font-size: 1.7rem;
	font-weight: 600;
}

.nav1 > li a.current,
.nav1 li a:hover{
	color: #1087E2;
}

.nav1 > li > a::before,
.nav1 > li > a::after{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: ease .2s;
}

.nav1 > li > a::before{
	width: 34px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 1px solid #102D43;
	z-index: 3;
	right: 0;
}

.nav1 > li > a:hover::before{
	background: #FDD000;
	border: 1px solid #FDD000;
}

.nav1 > li > a::after{
	width: 13.168px;
	height: 4.729px;
	background: #102D43;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_arrow.svg);
	mask-size: contain;
	right: 10px;
	z-index: 3;
}

.nav1 > li > a:hover::after{
	background: #1087E2;
}

.nav1 > li > ul{
	margin-top: 10px;
}

.nav1 > li > ul li{
	margin-top: 6px;
}

.nav1 > li > ul li a{
	display: block;
	font-size: 1.6rem;
	padding-left: 20px;
	position: relative;
}

.nav1 > li > ul li a::before{
	content: "";
	display: block;
	width: 10px;
	height: 1px;
	background: #102D43;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.nav2{
	margin-top: 20px;
	padding: 20px;
	border-top: 1px solid #ADADAD;
}

.nav2 li a{
	display: block;
	position: relative;
	padding: 3px 0 3px 25px;
}

.nav2 > li > a.current,
.nav2 li a:hover{
	color: #1087E2;
}

.nav2 li a::before{
	content: "";
	display: block;
	width:0;
	height:0;
	border-style:solid;
	border-width: 8px 0 8px 9px;
	border-color: transparent transparent transparent #14466B;
	position: absolute;
	top: calc(3px + 0.9em);
	left: 0;
	transform: translateY(-50%);
}

.nav2 li a span{
	font-size: 1.2rem;
}

.nav2 li a img{
	display: inline-block!important;
	vertical-align: middle;
	width: 16px;
	margin: 0 0 0 3px;
}

#hamburger{
	display:none;
}

@media screen and (max-width: 1200px){
	#header .header_in{
		padding: 0 30px;
		overflow: hidden;
	}
	#header .logo{
		margin: 20px 0 20px 0!important;
	}
	#header .logo a span{
	  font-size: 2.6rem;
	}
	.btn_login a{
		font-size: 1.5rem;
	}
	.nav1 > li > a{
		padding: 0;
		font-size: 1.5rem;
	}
	.nav1 > li > a::before{
		width: 26px;
	}
	.nav1 > li > a::after{
		right: 8px;
	}
	.nav1 > li > ul li a{
		font-size: 1.4rem;
	}
	.nav2{
		padding: 20px 0 40px 0;
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 767px) {
	#header{
		width: 100%;
		height: 120px;
		position: fixed;
		top: 0;
		left: 0;
		background: #fff;
		z-index: 1000;
	}
	body.open #header{
		z-index: 1000;
	}
	#header .header_in{
		padding: 0;
		position: static;
	}
	#header .logo{
		width: 50vw;
		position: fixed;
		top: 0;
		left: 0;
		margin: 0!important;
	}
	#header .logo a{
		flex-direction: column;
		height: 120px;
	}
	#header .logo a img{
		width: 60px;
		flex: 0 1 auto;
		height: auto;
		margin: 0 auto 5px auto;
	}
	#header .logo a span{
		margin-left: 0;
		line-height: 1.2;
	  font-size: 2rem;
	}
	#hamburger{
		display: block;
	  width: 50vw;
	  height: 120px;
		padding-bottom: 10px;
	  background-color: transparent;
	  border-color: transparent;
	  position: fixed;
	  top: 0;
	  right: 0;
		cursor: pointer;
	  z-index: 9999;
		background: #0068B7;
	}
	#hamburger::after{
		content: "MENU OPEN";
		display: block;
		width: 100%;
		position: absolute;
		bottom: 24px;
		color: #fff;
		font-size: 1.5rem;
	}
	#hamburger.active::after{
		content: "MENU CLOSE";
	}
	#hamburger span {
	  width: 51%;
	  height: 1px;
		margin-left: auto;
		margin-right: auto;
	  background-color: #fff;
	  position: relative;
	  transition: ease .4s;
	  display: block;
	}
	#hamburger span:nth-child(1) {
	  top: 0;
	}
	#hamburger span:nth-child(2) {
	  margin: 10px auto;
	}
	#hamburger span:nth-child(3) {
	  top: 0;
	}
	#hamburger.active span:nth-child(1) {
	  top: 5px;
	  transform: rotate(15deg);
	}
	#hamburger.active span:nth-child(2) {
	  opacity: 0;
	}
	#hamburger.active span:nth-child(3) {
	  top: -15px;
	  transform: rotate(-15deg);
	}
	#nav{
		display: block;
	  position: fixed;
	  left: 0;
	  top: 120px;
		width: 100%;
    height: 0;
    overflow: hidden;
  	padding: 6vw 10vw 6vw 10vw;
	  background: #fff;
	  transition: ease .4s;
		opacity: 0;
		z-index: -2000!important;
	}
	#nav.active {
    height: 100vh;
    overflow-y: scroll;
	  opacity: 1;
		z-index: 3100!important;
	}
	#nav .nav_in{
    height: 100vh;
	}
	.nav2{
		padding: 5vw 0;
	}
	#nav small{
		text-align: center;
		border-top: 1px solid #ADADAD;
		padding-top: 5vw;
		font-size: 2vw;
	color: #14466B;
	}
}
@media screen and (max-width: 375px) {
	#header{
		height: 32vw;
	}
	#header .logo a{
		height: 32vw;
	  font-size: 5vw;
	}
	#header .logo a img{
		width: 19.2vw;
		margin: 0 auto 5px auto;
	}
	#hamburger{
	  height: 32vw;
		padding-bottom: 7vw;
	}
	#hamburger::after{
		bottom: 9vw;
		font-size: 4vw;
	}
	#nav{
	  top: 32vw;
  	padding: 6vw 10vw 6vw 10vw;
	}
	#nav.active {
    height: 100vh;
	}
	#nav .nav_in{
    height: 100vh;
	}
	.nav2{
		padding: 5vw 0;
	}
	#nav small{
		padding-top: 5vw;
		font-size: 2vw;
	}
}

/* #footer
-------------------------------------------------- */
#footer{
	position: relative;
	padding: 130px 8%;
	color: #fff;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 6%;
	background: #102D43;
	border-top: 15px solid #0068B7;
}

@media screen and (max-width: 1600px){
	#footer{
		padding: 130px 3%;
		gap: 3%;
	}
}

#footer address{
	white-space: nowrap;
	font-style: normal;
	font-size: 1.5rem;
}

#footer address h3{
	color: #FDD000;
	font-size: 2.9rem;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  margin-bottom: 10px;
}

#footer address p{
	padding-left: 10px;
	border-left: 1px solid #FDD000;
}

#footer address p:first-child{
	font-size: 1.6rem;
}

#footer address p img{
	display: inline-block!important;
	width: auto;
	margin-right: 3px;
}

#footer nav ul{
	display: grid;
	grid-template-columns: auto auto auto auto;
	gap: 10px;
	line-height: 1.4;	
}

#footer nav ul li a:hover{
	color: #FDD001;
}

#footer nav .bottom{
	display: grid;
	grid-template-columns: auto 40%;
	gap: 20px;
	margin-top: 20px;
	padding-top: 30px;
	border-top: 1px solid #14466B;
}

#footer nav .bottom ul{
	grid-template-columns: auto auto auto;
}

#footer nav .bottom li a{
	font-size: 1.4rem;
}

#footer nav .bottom li a span{
	font-size: 1.1rem;
}

#footer nav .bottom p a{
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.3;
  padding: 10px;
	color: #FDD000;
	border: 1px solid #FDD000;
}

#footer small{
	position: absolute;
	bottom: 20px;
	right: 8%;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 767px){
#footer small{
	width: 100%;
	text-align: center;
	font-size: 2.5vw;
	right: 0;
	letter-spacing: 0;
}
}

#pagetop{
	position: fixed;
	bottom: 120px;
	right: 40px;
	writing-mode: vertical-rl;
}

#pagetop a{
	display: block;
	color: #CBCBCB;
	font-size: 1.5rem;
	font-weight: 400;
	padding-top: 115px;
}

#pagetop a::before{
	content: "";
	display: block;
	width: 1px;
	height: 100px;
	background: #CBCBCB;
	position: absolute;
	top: 0;
	left: 50%;
}

@media screen and (max-width: 1600px){
	#pagetop{
		bottom: 15px;
		right: 10px;
		}
}
@media screen and (max-width: 1500px){
	#footer nav .bottom ul{
		grid-template-columns: auto auto;
	}
}
@media screen and (max-width: 1400px){
	#footer nav ul{
		grid-template-columns: auto auto auto;
	}
	#footer address h3{
		font-size: 2.4rem;
	}
}
@media screen and (max-width: 1200px){
	#footer nav ul{
		grid-template-columns: auto auto;
	}
	#footer nav .bottom{
		grid-template-columns: 1fr;
	}
}
@media screen and (max-width: 1100px){
	#footer{
		padding: 80px 5vw 100px 5vw;
		grid-template-columns: 1fr;
		gap: 30px;
	}
}

/* 
-------------------------------------------------- */
.page_body{
	padding: 80px 8% 150px 8%;
	overflow: hidden;
}

.page_body .sec{
	padding-top: 150px;
}

.sec2{
	margin-top: 80px;
}

.page_body .sec.pt0{
	padding-top: 0;
}

.page_body h2{
	margin-bottom: 80px;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
	font-size: 4rem;
	line-height: 1.4;
	padding-bottom: 35px;
	border-bottom: 1px solid #ADADAD;
}

.article_body h2{
	margin-top: 150px;
}

.page_body h3{
	margin: 80px 0 40px 0;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.3;
	padding-left: 35px;
	border-left: 1px solid #102D43;
}

.page_body h4{
	margin: 40px 0 20px 0;
	font-weight: 700;
	font-size: 1.8rem;
}

.mv_wrap::before, .single_mv_bg{
	content: "";
	display: block;
	width: 100%;
	aspect-ratio: 1560 / 600;
	background: url(../img/mv.webp) no-repeat center center / cover;
}
.single_mv_bg{ background-image: url(../img/obog-map/mv.webp);}
.page-contact .mv_wrap::before, .page-contact-child .mv_wrap::before{ background-image: url(../img/contact/mv.webp);}
.page-news .mv_wrap::before, .category .mv_wrap::before{ 	background-image: url(../img/news/mv.webp);}
.page-about .mv_wrap::before{ 	background-image: url(../img/about/mv.webp);}
.page-unit-manager .mv_wrap::before{ 	background-image: url(../img/unit-manager/mv.webp);}
.page-hoyou .mv_wrap::before{ 	background-image: url(../img/hoyou/mv.webp);}
.page-terms .mv_wrap::before{ 	background-image: url(../img/terms/mv.webp);}
.page-bulletin .mv_wrap::before{ 	background-image: url(../img/bulletin/mv.webp);}
.page-gallery .mv_wrap::before{ 	background-image: url(../img/gallery/mv.webp);}
.page-registration .mv_wrap::before,
.page-mypage .mv_wrap::before
{ 	background-image: url(../img/registration/mv.webp);}
.page-link .mv_wrap::before{ 	background-image: url(../img/link/mv.webp);}
.page-privacy .mv_wrap::before{ 	background-image: url(../img/privacy/mv.webp);}
.page-kiyaku .mv_wrap::before{ 	background-image: url(../img/kiyaku/mv.webp);}
.post-type-archive-obog-map .mv_wrap::before, .page-search-prefecture .mv_wrap::before{	background-image: url(../img/obog-map/mv.webp);}

.single .mv_wrap::before{ display: none!important;}

@media screen and (max-width: 767px){
	.mv_wrap::before, .single_mv_bg{
		aspect-ratio: 750 / 512;
		background-image: url(../img/mv_sp.webp);
	}
.single_mv_bg{ background-image: url(../img/obog-map/mv_sp.webp);}
	.page-contact .mv_wrap::before, .page-contact-child .mv_wrap::before{ background-image: url(../img/contact/mv_sp.webp);}
	.page-news .mv_wrap::before, .category .mv_wrap::before{ 	background-image: url(../img/news/mv_sp.webp);}
	.page-about .mv_wrap::before{ 	background-image: url(../img/about/mv_sp.webp);}
	.page-unit-manager .mv_wrap::before{ 	background-image: url(../img/unit-manager/mv_sp.webp);}
	.page-hoyou .mv_wrap::before{ 	background-image: url(../img/hoyou/mv_sp.webp);}
	.page-terms .mv_wrap::before{ 	background-image: url(../img/terms/mv_sp.webp);}
	.page-bulletin .mv_wrap::before{ 	background-image: url(../img/bulletin/mv_sp.webp);}
	.page-gallery .mv_wrap::before{ 	background-image: url(../img/gallery/mv_sp.webp);}
	.page-registration .mv_wrap::before,
	.page-page .mv_wrap::before{ 	background-image: url(../img/registration/mv_sp.webp);}
	.page-link .mv_wrap::before{ 	background-image: url(../img/link/mv_sp.webp);}
	.page-privacy .mv_wrap::before{ 	background-image: url(../img/privacy/mv_sp.webp);}
	.page-kiyaku .mv_wrap::before{ 	background-image: url(../img/kiyaku/mv_sp.webp);}
	.post-type-archive-obog-map .mv_wrap::before, .page-search-prefecture .mv_wrap::before{	background-image: url(../img/obog-map/mv_sp.webp);}
}

.mv_wrap .title{
	padding: 50px 7%;
  display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	color: #fff;
	line-height: 1;
	background: #102D43;
}

.mv_wrap .title h1{
	font-size: 4.8rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
}

.mv_wrap .title h1 span{
	display: inline-block;
	margin-left: 50px;
	font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	color: #FDD000;
}

@media screen and (max-width: 1500px){
	.mv_wrap .title{
		padding: 50px 3%;
	}
}
@media screen and (max-width: 1400px){
	.mv_wrap .title h1{
		font-size: 4.2rem;
	}
	.mv_wrap .title h1 span{
		margin-left: 20px;
	}
}

.page_body p{
	margin-bottom: 20px;
}

.page_body a{
	color: #1087E2;
}

.page_body a:hover{
	text-decoration: underline;
}

@media screen and (max-width: 767px){
	.page_body{
		padding: 16vw 8vw 40vw 8vw;
	}
	.page_body .sec{
		padding-top: 16vw;
	}
	.page_body .sec:first-child{
		padding-top: 0;
	}
	.page_body h2{
		margin-bottom: 40px;
		font-size: 2.5rem;
		padding-bottom: 20px;
	}
	.page_body h3{
		margin: 40px 0 20px 0;
		font-size: 2rem;
		padding-left: 20px;
	}
	.mv_wrap .title{
		padding: 5vw 8vw;
	  display: block;
	}
	.mv_wrap .title h1{
		font-size: 2.5rem;
		margin-bottom: 3vw;
	}
	.mv_wrap .title h1 span{
		display: block;
		margin-left: 0;
		margin-top: 6px;
		font-size: 1.1rem;
	}
}

/* link
-------------------------------------------------- */
.link_list{
	width: min(100%, 1040px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 35px 40px;
}

.link_list li a{
  display: flex;
  align-items: center;
	height: 100%;
	padding: 20px 55px 20px 25px;
	position: relative;
	color: #0068B7;
	line-height: 1.4;
	font-size: 1.8rem;
	border: 1px solid #0068B7;
}

.link_list li a:after{
	content: "";
	display: block;
	width: 14px;
	height: 5px;
	background: url(../img/icon_arrow.svg) no-repeat right center / contain;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
}

.link_list li a:hover{
	background: #FDD001;
}

@media screen and (max-width: 767px){
	.link_list{
		grid-template-columns: 1fr;
		gap: 25px;
	}
	.link_list li a{
		font-size: 1.8rem;
	}
}

/* bulletin
-------------------------------------------------- */
.bulletin_new{
  display: flex;
	justify-content: space-between;
}

.bulletin_new .img{
	flex: 0 1 27%;
	min-width: 250px;
	margin-right: 5%;
}

.bulletin_new .txt{
	flex: 1 1 0%;
}

.bulletin_new h3{
	font-size: 4.6rem;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 30px;
}

.bulletin_new h3 span{
	display: inline-block;
	font-size: 2.8rem;
}

.bulletin_new .btn{
	width: 230px;
}

@media screen and (max-width: 1000px){
.bulletin_new .img{
	min-width: 200px;
	margin-right: 5%;
}
	.bulletin_new h3{
		font-size: 4rem;
	}
	.bulletin_new h3 span{
		font-size: 2.2rem;
	}
}
@media screen and (max-width: 767px){
	.bulletin_new{
	  display: block;
	  width: 82%;
	  margin: 0 auto;
	  font-size: 1.5rem;
	}
	.bulletin_new .img{
		min-width: auto;
	}
	.bulletin_new h3{
		font-size: 2.5rem;
		margin: 15px 0;
	}
	.bulletin_new h3 span{
		font-size: 1.6rem;
	}
	.bulletin_new .btn{
		margin-top: 20px;
	}
	.bulletin_new .btn a{
	  padding: 18px 30px;
		font-size: 1.6rem;
	}
	.bulletin_new .btn a::after{
		width: 17px;
		right: 30px;
	}
}

.bulletin_list{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 60px;
}

.bulletin_list li img{
	display: block;
	max-width: 220px;
	margin: 0 auto;
}

.bulletin_list li p{
	max-width: 220px;
	margin: 15px auto 0 auto;
	font-size: 1.8rem;
}

.bulletin_list li p span{
	display: block;
}

.bulletin_list li .btn{
	max-width: none;
	margin: 30px auto 0 auto;
}

.bulletin_list li .btn a{
	display: block;
}

@media screen and (max-width: 1600px){
	.bulletin_list li .btn a{
	  padding: 18px 30px;
	}
	.bulletin_list li .btn a::after{
		right: 30px;
	}
}
@media screen and (max-width: 1300px){
	.bulletin_list{
		grid-template-columns: 1fr 1fr 1fr;
	}
}
@media screen and (max-width: 1100px){
	.bulletin_list{
		grid-template-columns: 1fr 1fr;
		gap: 16vw 9vw;
	}
}
@media screen and (max-width: 767px){
	.bulletin_list li p{
		max-width: none;
		margin: 10px auto 0 auto;
		font-size: 1.2rem;
	}
	.bulletin_list li p span{
		display: block;
		font-size: 1.5rem;
	}
	.bulletin_list li .btn{
		margin-top: 20px;
	}
	.bulletin_list li .btn a{
	  padding: 13px 20px;
		font-size: 1.5rem;
	}
	.bulletin_list li .btn a::after{
		width: 17px;
		right: 15px;
	}
}

/* unit-manager
-------------------------------------------------- */
.unit-manager_body .wrap{
	padding: 0 10%;
}

.unit-manager_tb table tbody tr td:nth-child(2),
.unit-manager_tb table tbody tr td:nth-child(4),
.unit-manager_tb table tbody tr td:nth-child(5){
	width: 15%;
	white-space: nowrap;
}

.unit-manager_tb table thead tr td:nth-child(2),
.unit-manager_tb table tbody tr td:nth-child(2){
	padding-left: 30px;
}

@media screen and (max-width: 1300px) {
	.unit-manager_tb table th, .unit-manager_tb table td{
		font-size: 1.5rem;
		padding: 20px 10px!important;
	}
}
@media screen and (max-width: 1000px){
	.unit-manager_tb table th, .unit-manager_tb table td{
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 767px){
	.unit-manager_body .wrap{
		padding: 0;
	}
	.unit-manager_tb table thead tr td:nth-child(3),
	.unit-manager_tb table tbody tr td:nth-child(3){
		white-space: normal!important;
	}
}

/* contact
-------------------------------------------------- */
.form_txt{
	max-width: 800px;
	margin: 0 auto 40px auto;
}

.form_wrap{
	display: flex;
	flex-wrap: wrap;
}

.form_wrap dt{
	padding: 30px 0 30px 10px;
	width: 250px;
	border-top: 1px solid #707070;
}

.form_wrap dd{
	width: calc(100% - 250px);
	padding: 30px 10px 30px 0;
	border-top: 1px solid #707070;
}

.form_wrap dt p,
.form_wrap dd p{
	margin: 0!important;
}

.p-postal-code{
	width: 120px!important;
}

.wpcf7-form-control-wrap{
	display: inline-block!important;
}

span[data-name="your-message"]{
	display: block!important;
	margin-top: .5em;
}

input[name="your-address"]{
	display: block;
	margin-top: 10px;
}

.select_item .wpcf7-form-control-wrap{
	display: block!important;
}

span.req{
	margin-left: .2em;
	color: red;
}

@media screen and (max-width: 767px){
	.form_wrap{
		display: block;
	}
	.form_wrap dt{
		width: auto;
		padding: 0;
		border: none;
	}
	.form_wrap dd{
		width: auto;
		border: none;
		padding: 0;
	margin: 6px 0 30px 0;
	}
}

/* news
-------------------------------------------------- */
.news_cate{
  display: flex;
  justify-content: center;
  text-align: center;
  margin-bottom: 60px;
}

.news_cate li{
	width: 120px;
	margin: 0 10px;
}

.news_cate li a{
	display: block;
	line-height: 1;
	padding: 8px;
	font-size: 1.4rem;
	text-decoration: none!important;
	background: #E5E9EC;
}

.news_cate li a:hover,
.news_cate li a.current{
	background: #FDD000;
}

@media screen and (max-width: 767px){
	.news_cate{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px 15px;
	  margin-bottom: 40px;
	}
	.news_cate li{
		width: auto;
		margin: 0;
	}
	.news_cate li a{
		padding: 11px;
	}
}

.news_list li{
	margin-top: 20px;
	border-bottom: 1px solid #B7C0BF;
}

.news_list li.noitem{
	padding: 15px 0;
	border-bottom: none;
}

.news_list li a{
	display: grid;
	grid-template-columns: 230px 1fr;
	gap: 20px;
	padding: 15px 60px 15px 0;
	text-decoration: none!important;
	position: relative;
}

.news_list li a::before{
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 2px solid #FDD001;
  border-right: 2px solid #FDD001;
  transform: translateY(-50%) rotate(45deg);
}

.news_list li a::after{
	content: "";
	display: block;
	width: 5.5em;
	height: 1px;
	background: #FDD000;
	position: absolute;
	bottom: -1px;
	left: 0;
}

.date_cate{
	position: relative;
	display: flex;
	align-items: center;
}

.date_cate time{
	width: 5.5em;
	white-space: nowrap;
	margin-right: 20px;
	color: #102D43;
}

.date_cate .cate{
	display: flex;
	flex-wrap: wrap;
}

.date_cate .cate span{
	display: inline-block;
	text-align: center;
	width: 120px;
	margin: 2px 10px 2px 0;
	font-size: 1.4rem;
	color: #14466B;
	background: #FDD000;
}

.news_list li a p{
	margin-bottom: 0;
 	overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

@media screen and (max-width: 767px){
	.news_list li a{
		display: block;
		padding-right: 0;
	}
	.news_list li a::before{
		display: none;
	}
	.date_cate time{
		font-size: 1.2rem;
		margin-right: 10px;
	}
	.date_cate .cate span{
		width: 65px;
		line-height: 1;
		margin: 0 10px 0 0;
		padding: 3px;
		font-size: 1.0rem;
	}
	.news_list li a p{
	  -webkit-line-clamp: 2;
	}
}


/* gallery
-------------------------------------------------- */
.gallery_wrap{
	margin-top: 250px;
	position: relative;
	display: grid;
	grid-template-columns: 27% 1fr;
	gap: 3%;
}

.gallery_wrap:nth-child(1){
	margin-top: 0!important;
}

.gallery_wrap:nth-child(even){
	grid-template-columns: 1fr 27%;
}

.gallery_wrap .wrap{
  display: flex;
	justify-content: space-between;
	flex-direction: column;
	padding-top: 160px;
	z-index: 2;
	position: relative;
}

.gallery_wrap:nth-child(even) .wrap{
	order: 2!important;
	padding-top: 90px;
}

.gallery_wrap .wrap .tt{
	font-style: italic;
	position: absolute;
	top: 40px;
	left: 0;
}

.gallery_wrap:nth-child(even) .wrap .tt{
	text-align: center;
	left: auto;
	right: 0;
}

.gallery_wrap .wrap .tt h2{
	border: none;
	line-height: 1;
	white-space: nowrap;
	margin: 0;
	padding: 0;
	font-size: 5.8rem;
	font-family: Cambria, "Shippori Mincho", serif;
	font-weight: 500;
}

.gallery_wrap .wrap .tt p,
.gallery_wrap .wrap p.txt span.year{
	display: block;
	line-height: 1;
	font-style: italic;
	font-size: 3.7rem;
	font-family: Cambria, "Shippori Mincho", serif;
	font-weight: 500;
	margin: 10px 0 0 0;
}

.gallery_wrap .wrap p.txt span.year{
	margin-bottom:  30px;
}

.gallery_wrap .wrap .tt p::before,
.gallery_wrap .wrap p.txt span.year::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-right: .2em;
	width: 30px;
	height: 1px;
	background: #102D43;
}

.gallery_wrap .wrap p.txt{
	margin: 20px 10% 30px 0;
	font-size: 1.5rem;
	line-height: 2;
	text-align: justify;
}

.gallery_wrap .wrap p.year_old{
	margin: auto 0 0 0;
	font-family: Cambria, "Shippori Mincho", serif;
	font-weight: 500;
	font-size: 2rem;
	font-style: italic;
}

@media screen and (max-width: 1350px){
	.gallery_wrap .wrap{
		padding-top: 100px;
	}
	.gallery_wrap .wrap .tt{
		top: 20px;
	}
	.gallery_wrap .wrap .tt h2{
		font-size: 4rem;
	}
	.gallery_wrap .wrap .tt p{
		font-size: 2.6rem;
	}
}
@media screen and (max-width: 1000px){
	.gallery_wrap{
		display: block!important;
		margin-top: 120px;
	}
	.gallery_wrap .wrap{
	  display: block!important;
		padding-top: 0!important;
	}
	.gallery_wrap .wrap .tt{
		position: static;
		text-align: left!important;
	}
	.gallery_wrap .wrap .tt h2{
		font-size: 6vw;
	white-space: normal;
	}
	.gallery_wrap .wrap .tt p,
	.gallery_wrap .wrap p.txt span.year{
		font-size: 1.6rem;
	}
	.gallery_wrap .wrap p.txt span.year{
		margin: 0 0 10px 0!important;
	}
	.gallery_wrap .wrap .tt p::before,
	.gallery_wrap .wrap p.txt span.year::before{
		width: 17px;
	}
	.gallery_wrap .wrap p.txt{
		margin: 10px	 0 15px 0;
	}
	.gallery_wrap .wrap p.year_old{
		font-size: 1.3rem;
	}
	.gallery_wrap .wrap img{
		width: 50%;
		margin: 0;
	}
	.gallery_wrap .img{
		width: 93%;
		margin: 20px 0 0 auto;
	}
}

/* about
-------------------------------------------------- */
.about_body{
	padding: 0 0 150px 0;
}

.body_inner{
	padding: 0 8%;
}

@media screen and (max-width: 767px){
	.about_body{
		padding: 0 0 40vw 0;
	}
	.body_inner{
		padding: 0 8vw;
	}
}

.sub_menu{
	padding: 90px 20px;
	background: #0068B7;
}

.sub_menu ul{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.sub_menu ul li{
	margin: 8px;
}

.sub_menu ul li a{
	display: block;
	text-align: center;
	padding: 6px 50px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #14466B;
	background: #FDD000;
}

.sub_menu ul li a:hover{
	opacity: 0.8;
	text-decoration: none;
}

@media screen and (max-width: 767px){
	.sub_menu{
		padding: 30px 8vw;
	}
	.sub_menu ul{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2.7vw 4vw;
	}
	.sub_menu ul li{
		margin: 0;
	}
	.sub_menu ul li a{
	  display: flex;
	  align-items: center;
	  justify-content: center;
		height: 100%;
		padding: 5px;
		line-height: 1.4;
	}
}

#greeting{
	font-family: "Shippori Mincho", serif;
	background: #E5EFF8;
}

#greeting .wrap{
	padding: 0 10% 80px 10%;
}

#greeting .sign{
	text-align: right;
	margin: 40px 0 0 0;
}

#greeting .sign img{
	display: block;
	width: 180px;
	margin: 0 0 10px auto;
}

@media screen and (max-width: 767px){
	#greeting .wrap{
		padding: 0 0 16vw 0;
	}
	#greeting .sign{
		margin: 20px 0 0 0;
	}
}

#officers .wrap{
	padding: 0 10%;
}

#officers table th, #officers table td{
	padding: 10px 20px;
}

#officers table tbody tr th{
	width: 85px;
}

#officers table tbody tr td:nth-child(2),
#officers table tbody tr td:nth-child(3){
	width: 25%;
	padding-left: 30px;
}

@media screen and (max-width: 767px){
	#officers .wrap{
		padding: 0;
	}
	#officers table th, #officers table td{
		padding: 7px!important;
		width: auto!important;
		font-size: 1.4rem!important;
	}
}

#reports{
	padding-bottom: 150px;
}

#reports .wrap{
	padding: 0 10%;
}

.icon_pdf{
	width: auto!important;
	display: inline-block!important;
	vertical-align: middle!important;
	margin: 0 0 0 4px!important;
}

@media screen and (max-width: 767px){
	#reports{
		padding-bottom: 16vw;
	}
	#reports .wrap{
		padding: 0;
	}
}

#schedule{
	background: #E5EFF8;
}

#schedule .wrap1{
	position: relative;
}

#schedule .wrap1::before{
	content: "";
	display: block;
	width: 30%;
	height: 100%;
	background: url(../img/about/schdule_01.webp) no-repeat center bottom / cover;
	position: absolute;
	top: 0;
	right: 0;
}

#schedule h3{
	font-family: Cambria, "Shippori Mincho", serif;
	font-weight: 500;
	font-style: italic;
	font-size: 4rem;
	color: #1087E2;
	margin: 0;
	padding: 0;
	border: none;
	position: absolute;
	top: 0;
	left: 8%;
}

#schedule dl{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-left: 60px;
	position: relative;
	z-index: 3;
}

#schedule dt{
	margin-bottom: 90px;
	flex: 0 1 110px;
	color: #1087E2;
	font-family: Cambria, "Shippori Mincho", serif;
	font-weight: 500;
	font-style: italic;
	font-size: 10rem;
	line-height: 1;
	position: relative;
	padding-right: 5px;
	text-align: right;
}

#schedule dt::before{
	content: "";
	display: block;
	width: 2px;
	height: 125px;
	background: #1087E2;
	position: absolute;
	right: 0;
	bottom: -25px;
	transform: rotate(25deg);
}

#schedule dd{
	margin-bottom: 90px;
	flex: 0 1 calc(100% - 110px);
	padding-left: 100px;
	font-size: 2.6rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-style: normal;
}

#schedule dd ul li {
  list-style:disc;
  margin: 0;
}

#schedule .wrap2{
	margin-top: 150px;
	position: relative;
}

#schedule .wrap2::after{
	content: "";
	display: block;
	width: 45%;
	height: 100%;
	background: url(../img/about/schdule_02.webp) no-repeat center bottom / cover;
	position: absolute;
	top: 0;
	left: 0;
}

#schedule .wrap2 .body_inner{
	position: relative;
	margin-left: 48%;
	padding-left: 0!important;
	z-index: 2;
	padding: 0 40px 0 0;
}

#schedule .wrap2 .body_inner h3{
	position: absolute;
	top: 0;
	left: 0;
}

#schedule .wrap2 .body_inner dl{
	padding-left: 40px!important;
}

.sch_note{
	padding: 40px 20px;
	text-align: center;
}

.sch_note p{
	display: inline-block;
	padding: 10px 30px;
	text-align: left;
	background: #fff;
	border-radius: 20px;
}

@media screen and (max-width: 1400px){
	#schedule .wrap2 .body_inner dl{
		padding-left: 20px!important;
	}
	#schedule dt{
		font-size: 8rem;
	}
	#schedule dt::before{
		height: 100px;
	}
	#schedule dd{
		flex: 0 1 calc(100% - 110px);
		padding-left: 100px;
		font-size: 2rem;
	}
	#schedule .wrap2::after{
		width: 45%;
	}
	#schedule .wrap2 .body_inner{
		margin-left: 22%;
		padding: 0 20px 0 0;
	}
}
@media screen and (max-width: 767px){
	#schedule{
		padding-bottom: 20vw;
	}
  #schedule .body_inner {
    padding: 0 4vw 0  6vw;
  }
	#schedule dl{
		padding-left: 0px!important;
	}
	#schedule h3{
		position: static!important;
	}
	#schedule .wrap1::before{
		width: 50%;
		height: 90%;
	}
	#schedule .wrap2 .body_inner dl{
		padding-left: 0px!important;
	}
	#schedule dt{
		font-size: 4rem;
		margin-bottom: 45px;
		flex: 0 1 50px;
	}
	#schedule dt::before{
		height: 50px;
		bottom: -6px;
	}
	#schedule dd{
		margin-bottom: 45px;
		flex: 0 1 calc(100% - 50px);
		padding-left: 40px!important;
		font-size: 1.5rem;
	}
	#schedule dd ul li {
	  line-height: 1.5;
	  margin: 0;
	}
	#schedule .wrap2{
		margin-top: 0;
	}
	#schedule .wrap2::after{
		width: 92%;
		height: auto;
		aspect-ratio: 1232 / 844;
		position: static;
	}
	#schedule .wrap2 .body_inner{
		margin-left: 0;
		padding: 0 4vw 0 6vw!important;
	}
	.sch_note{
		padding-bottom: 0;
	}
}

#secretariat .flex{
	display: grid;
	grid-template-columns: 1fr 44%;
	gap: 6%;
	font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 767px){
	#secretariat .flex{
		display: block;
	}
	#secretariat .flex .img{
		margin-top: 12vw;
		width: 100vw;
		transform: translateX(-8vw);
	}
}

/* single
-------------------------------------------------- */
.post_contact_wrap{
	display: inline-block;
	margin: 180px 0;
	min-width: 437px;
	border: 1px solid #102D43;
}

.post_contact_wrap h3{
  font-family: "Noto Sans JP", sans-serif;
  margin: 0;
	padding: 17px 50px;
	line-height: 1;
	font-size: 1.8rem;
	border-left: none;
	border-bottom: 1px solid #102D43;
}

.post_contact_wrap .wrap{
	padding: 20px 50px;
	line-height: 1.8;
}

.post_contact_wrap .wrap .name{
	display: flex;
	flex-wrap: wrap;
}

.post_contact_wrap .wrap .name p:first-child{
	margin-right: 1em;
}

.post_contact_wrap .wrap p{
	margin: 0;
}

.post_contact_wrap .wrap p span{
	display: inline-block;
	margin-right: 1em;
	font-weight: bold;
	position: relative;
}

.post_contact_wrap .wrap p span::after{
	content: "／";
	color: #FDD001;
	margin-left: 3px;
}

.post_contact_wrap .wrap p a{
	color: #102D43;
}

@media screen and (max-width: 767px){
	.post_contact_wrap{
		display: block;
		margin: 80px 0;
		min-width: auto;
	}
	.post_contact_wrap h3{
		padding: 4vw 5vw;
		font-size: 1.6rem;
	}
	.post_contact_wrap .wrap{
		padding: 4vw 5vw;
	}
}

/* hoyou
-------------------------------------------------- */
.hoyou_body .wrap{
	padding: 0 10%;
}

.hoyou_tb table tbody tr th{
	white-space: nowrap;
}

.hoyou_tb table tbody tr td:nth-child(2) p{
	font-weight: bold;
	white-space: nowrap;
}

@media screen and (max-width: 767px){
	.hoyou_body .wrap{
		padding: 0;
	}
}

/* TOPページ
-------------------------------------------------- */
h2.tt{
	margin-bottom: 40px;
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	color: #0068B7;
	line-height: 1;
}
h2.tt.w{ color: #FDD000;}

h2.tt span{
	margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
	color: #102D43;
	font-size: 4.8rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
	position: relative;
}
h2.tt.w span{ color: #fff;}

h2.tt span::before, h2.tt span::after{
	content: "";
	display: block;
	width: 2px;
	height: 80px;
	background: #0069B7;
	transform: rotate(45deg);
}
h2.tt.w span::before, h2.tt.w span::after{ background: #FDD001;}
h2.tt span::before{ margin-right: 60px;}
h2.tt span::after{ margin-left: 60px;}

@media screen and (max-width: 1200px){
	h2.tt span{
		font-size: 4rem;
	}
	h2.tt span::before, h2.tt span::after{
		height: 60px;
	}
	h2.tt span::before{ margin-right: 50px;}
	h2.tt span::after{ margin-left: 50px;}
}
@media screen and (max-width: 1000px){
	h2.tt span{
		font-size: 3.6rem;
	}
	h2.tt span::before, h2.tt span::after{
		height: 60px;
	}
	h2.tt span::before{ margin-right: 40px;}
	h2.tt span::after{ margin-left: 40px;}
}
@media screen and (max-width: 767px){
	h2.tt{
		margin-bottom: 20px;
		font-size: 1.1rem;
	}
	h2.tt span{
		margin-top: 18px;
		font-size: 7vw;
	}
	h2.tt span::before, h2.tt span::after{
		height: 40px;
	}
	h2.tt span::before{ margin-right: 5vw;}
	h2.tt span::after{ margin-left: 5vw;}
}

#mv{
  position: relative;
	overflow: hidden;
}

#mv .swiper-slide{
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	aspect-ratio: 1560 / 1080;
	overflow: hidden;
}

#mv .mv1{ background-image: url(../img/home/mv1.webp);}
#mv .mv2{ background-image: url(../img/home/mv2.webp);}
#mv .mv3{ background-image: url(../img/home/mv3.webp);}
#mv .mv5{ background-image: url(../img/home/mv5.webp);}

.mv_txt_wrap{
  position: absolute;
  color: #fff;
  top: 60px;
	left: 9%;
	right: 0;
	display: flex;
	align-items: flex-start;
}

.mv2 .mv_txt_wrap,
.mv3 .mv_txt_wrap{
	left: 0;
	right: 9%;
	justify-content: flex-end;
}

.mv5 .mv_txt_wrap{
	left: 4%;
}

.mv_link{
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	opacity: 0;
	transition: opacity .2s ease 0s;
	z-index: 3;
}

.mv_link:hover{
	opacity: 0.2;
}

.mv_txt_wrap span{
	display: block;
	flex: 0 0 auto;
	width: 2.8em;
	font-size: 7.4rem;
	line-height: 1.4;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
	writing-mode: vertical-rl;
	text-shadow: 0 0 22px #102D43;
	transition: ease .3s;
}

#mv .swiper-pagination{
	width: 233px;
	height: 80px;
	padding: 0 50px;
  display: flex;
	justify-content: space-between;
	align-items: center;
	position: absolute;
	bottom: 0;
	left: auto;
	right: 0!important;
	color: #102D43;
	background: #102D43;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
}

#mv .swiper-pagination span{
	color: #fff;
}

#mv .swiper-pagination span::before{
	content: "0";
}

#mv .swiper-pagination::before{
	content: "";
	display: block;
	width: 28%;
	height: 1px;
	background: #FDD000;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
}

@media screen and (max-width: 1550px){
	.mv5 .mv_txt_wrap{
		top: 40px;
		left: 3%;
	}
	.mv5 .mv_txt_wrap span{
		font-size: 6.4rem;
	}
}
@media screen and (max-width: 1400px){
	.mv5 .mv_txt_wrap{
		top: 30px;
	}
	.mv5 .mv_txt_wrap span{
		font-size: 4vw;
	}
}
@media screen and (max-width: 1300px){
	.mv_txt_wrap span{
		font-size: 6rem;
	}
}
@media screen and (max-width: 1100px){
	.mv_txt_wrap{
	  top: 30px;
	}
	.mv_txt_wrap span{
		font-size: 4rem;
	}
}
@media screen and (max-width: 1000px){
	#mv .swiper-pagination{
		width: 233px;
		height: 60px;
		padding: 0 50px;
	}
}
@media screen and (max-width: 767px){
	#mv .swiper-slide{
		aspect-ratio: 754 / 1260;
	}
	#mv .mv1{ background-image: url(../img/home/mv1_sp.webp);}
	#mv .mv2{ background-image: url(../img/home/mv2_sp.webp);}
	#mv .mv3{ background-image: url(../img/home/mv3_sp.webp);}
	#mv .mv4{ background-image: url(../img/home/mv4_sp.webp);}
	#mv .mv5{ background-image: url(../img/home/mv5_sp.webp);}
	.mv2 .mv_txt_wrap,
	.mv3 .mv_txt_wrap{
		right: 9%;
	}
	.mv5 .mv_txt_wrap{
		top: 8vw;
		left: 6vw;
	}
	.mv5 .mv_txt_wrap span{
		font-size: 10vw;
	}
	#mv .swiper-pagination{
		width: 37vw;
		height: 12.5vw;
		padding: 0 6vw;
	}
}

#information{
	/* padding: 130px 40px; バナー設置しない場合*/
	padding:60px 40px; /*バナー設置する場合*/
	color: #fff;
	background: #0068B7;
}

/* .banner-wrapper {
	width: 300px;
    margin: 0 auto;
    padding-bottom: 60px;
} */

#information .inner{
	width: min(100%, 960px);
}

#information .date_cate time{
	color: #fff;
}

#information .btn{
	max-width: 260px;
	margin: 65px auto 0 auto;
}

@media screen and (max-width: 767px){
	#information{
		padding: 30vw 8vw;
		padding-top: 10vw; /*バナー設置する場合*/
	}
	#information .btn{
		max-width: 260px;
		margin: 65px auto 0 auto;
	}

	/* .banner-wrapper {
		width: 100%;
	} */
}

#obog_map{
	padding: 200px 40px;
	color: #fff;
	background: url(../img/home/obog_map_img.webp) no-repeat right top / 76% auto #004479;
}

#obog_map h2.tt{
	display: inline-block;
	transform: translateX(30px);
}

#obog_map .inner{
	width: min(100%, 1300px);
}

#obog_map .inner .wrap{
  display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

#obog_map .inner .wrap .obog_list{
	flex: 1 1 0%;
}

#obog_map .inner .wrap .obog_list li a{
	color: #fff;
}

#obog_map .inner .wrap .btn{
	flex: 0 1 260px;
	margin: 0 0 0 50px!important;
}

#obog_map p.txt{
	font-size: 2.6rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  line-height: 1.76;
  letter-spacing: .05em;
  text-shadow: 0 0 0.6em #102D43;
  margin-bottom: 80px;
}

@media screen and (max-width: 1400px){
	#obog_map .inner .wrap{
	  display: block;
	}
	#obog_map .inner .wrap .btn{
		margin: 60px auto 0 auto!important;
	}
}
@media screen and (max-width: 767px){
	#obog_map{
		padding: 57vw 5vw 40vw 5vw;
		background: url(../img/home/obog_map_img_sp.webp) no-repeat right top / 82% auto #004479;
	}
	#obog_map p.txt{
		font-size: 1.8rem;
	  margin-bottom: 13vw;
	}
	#obog_map .btn a{
		justify-content: center;
	}
}

#about{
	padding: 13vw 40px 200px 40px;
	position: relative;
	background: #0068B7;
	overflow: hidden;
}

#about::before{
	content: "";
	display: block;
	width: 100%;
	aspect-ratio: 1560 / 544;
	background: url(../img/home/about_img.webp) no-repeat center center / cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

#about .title_wrap{
	display: block;
	width: min(100%, 800px);
	margin: 0 auto;
	position: relative;
	padding: 65px 20px 80px 20px;
	text-align: center;
	color: #fff;
	overflow: hidden;
}

#about .title_wrap::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #004479;
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.9;
	z-index: 1;
}

#about .title_wrap h2, #about .title_wrap p{
	position: relative;
	z-index: 2;
}

#about .wrap{
	width: min(100%, 1020px);
	margin: 65px auto 0 auto;
  display: flex;
	justify-content: space-between;
}

#about .wrap a{
	flex: 1 1 0%;
	position: relative;
	overflow: hidden;
}

#about .wrap a img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: ease .3s;
	position: relative;
	z-index: 2;
}

#about .wrap a:hover img{
	transform: scale(1.05, 1.05);
}

#about .title_wrap::after,
#about .wrap a::before{
	content: "";
	display: block;
	width: 50px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: url(../img/icon_arrow.svg) no-repeat center center rgba(253,208,0,1);
	background-clip: padding-box;
	border: 10px solid rgba(253,208,0,0);
	position: absolute;
	right: 10px;
	bottom: 20px;
	z-index: 3;
	transition: ease .5s;
}

#about .title_wrap:hover::after,
#about .wrap a:hover::before{
	border: 10px solid rgba(253,208,0,.5);
}

#about .wrap .txt{
	flex: 0 1 36%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
	padding: 40px;
	background: #fff;
}
#about .wrap.re .txt{ order: -2;}

#about .wrap .txt h3{
  font-family: "Shippori Mincho", serif;
  font-size: 3rem;
  color: #0068B7;
  text-align: center;
  margin: 0 0 50px 0;
  letter-spacing: .05em;
  line-height: 1.3;
}

@media screen and (max-width: 1200px){
	#about .wrap .txt{
		padding: 40px 20px;
	}
	#about .wrap .txt h3{
	  font-size: 2.4rem;
	margin: 0 0 30px 0;
	}
}
@media screen and (max-width: 767px){
	#about{
		padding: 82vw 5vw 32vw 5vw;
	}
	#about::before{
		aspect-ratio: 750 / 1088;
		background-image: url(../img/home/about_img_sp.webp);
	}
	#about .title_wrap{
		padding-bottom: 100px;
	}
	#about .wrap{
		margin: 13vw auto 0 auto;
	  display: block;
	}
	#about .wrap a{
		display: block;
	}
	#about .wrap a::before{
		width: 40px;
		bottom: 10px;
		border: none;
	}
	#about .wrap .txt{
		padding: 30px;
	}
	#about .wrap .txt h3{
	  font-size: 2.2rem;
	  margin: 0 0 20px 0;
	}
}

#gallery{
	padding: 150px 40px 0 40px;
}

#gallery .swiper {
	margin-left: -40px;
	margin-right: -40px;
}

#gallery .swiper-wrapper {
  transition-timing-function: linear;
}

#gallery .swiper-slide img {
	display: block;
  height: min(42.7vw, 820px);
  width: auto;
	max-width: initial !important;
	aspect-ratio: 7901 / 820;
}

#gallery .btn{
	max-width: 260px;
	margin: 100px auto 0 auto;
}

#sns{
	padding: 160px 40px;
}

.sns_wrap{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 64px;
	max-width: 1100px;
	margin: 0 auto;
}

.sns_wrap.sns_wrap_left {
	justify-content: flex-start;
}

.sns_item a{
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: 2rem;
}

.sns_item a img{
	width: 40px !important;
	height: 40px !important;
	object-fit: contain;
	margin: 0!important;
}
@media screen and (max-width: 767px){
	#sns{
		padding: 80px 20px;
	}
	.sns_wrap{
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
		width: fit-content;
		transform: translateX(-12px); /* 視覚的に中央に見えるよう少し左へ */
	}
}
@media screen and (max-width: 767px){
	#gallery .swiper-slide img {
		height: min(87vw, 326px) !important;
	}
}

/* obog-map
-------------------------------------------------- */
.search_area{
	margin-top: 80px;
  display: flex;
	justify-content: space-between;
}

.search_area .search_box{
	flex: 0 1 30%;
	min-width: 400px;
	margin-right: 4%;
	padding: 50px 40px;
	background: #e5eff8;
}

@media screen and (max-width: 1000px){
	.search_area{
		display:block;
	}
	.search_area .search_box{
		margin-right: 0;
	}
}

.search_area .vkfs__label-name{
	font-size: 2rem;
	font-weight: 500!important;
	line-height: 30px;
	padding-left: 38px;
	margin: 20px 0 10px 0!important;
	position: relative;
}

.search_area .vkfs__taxonomy:nth-child(1) .vkfs__label-name{
	margin-top: 0!important;
}

.search_area .vkfs__label-name::before{
	content: "";
	display: block;
	width: 30px!important;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: 0;
	left: 0;
}

.search_area .vkfs__taxonomy:nth-child(1) .vkfs__label-name::before{
	background: url(../img/icon_marker.svg) no-repeat center center / contain;
}

.search_area .vkfs__taxonomy:nth-child(2) .vkfs__label-name::before{
	background: url(../img/icon_bag.svg) no-repeat center center / contain;
}

.search_area .vkfs__keyword .vkfs__label-name::before{
	background: url(../img/icon_lenz.svg) no-repeat center center / contain;
}

.search_area .vkfs__label-name img{
	display: inline-block;
	vertical-align: middle;
	width: auto;
	margin-right: 10px;
}

.vkfs_submit-text{
	margin: 0 auto;
}

.search_area .search_box .vkfs input[type=text],
.search_area .search_box	.vkfs select:not(.does-not-exist) {
    background-clip: padding-box;
    background-color: #fff;
    border: 1px solid #707070;
    border-radius: 0;
    color: #102D43;
    display: block;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    max-width: 100%;
    padding: .375rem .75rem;
    width: 100%;
    height: 50px;
    cursor: pointer;
}

@media screen and (max-width: 767px){
	.search_area .vkfs__label-name{
		font-size: 1.8rem;
		padding-left: 30px;
		margin: 15px 0 10px 0!important;
	}
	.search_area .vkfs__label-name::before{
		transform: scale(0.8, 0.8);
	}
	.search_area .search_box form{
		margin-bottom: 0!important;
	}
}

.search_area .search_box .vkfs__search-result-title{
	display: none;
}

#search_area_submit{
	display: block!important;
	width: 100%;
	margin-top: 20px;
	padding: 15px;
	font-size: 2rem;
	color: #fff;
	background: #0068B7;
	border-radius: 0;
	border: none!important;
}

#search_area_submit:hover{
	opacity: 0.8;
}
	
.area_box{
	flex: 1 1 0%;
	position: relative;
	line-height: 1;
	aspect-ratio: 819 / 598;
	background: url(../img/obog-map/map_ttl.svg) no-repeat 0 0 / 70% auto;
}

.area_box dl{
	width: 39%;
	position: absolute;
	top: 10%;
	left: 0;
	z-index: 3;
}

.area_box dt{
	margin: 30px 0 10px 0;
	font-size: 2rem;
	font-weight: 500;
}

.area_box dd a{
	display: block;
	padding: 15px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
	color: #102D43;
	background: #fff;
	border: 1px solid #707070;
}

@media screen and (max-width: 1650px){
	.area_box dl{
		width: 50%;
		top: 3%;
	}
}
@media screen and (max-width: 1400px){
	.area_box{
		background-size: 90% auto;
	}
	.area_box dl{
		width: auto;
		position: static;
		margin-top: 20px;
	}
}
@media screen and (max-width: 1000px){
	.area_box{
		background: none;
		aspect-ratio: auto;
	}
}

.area_box dd a:hover{
	text-decoration: none;
	background: #FDD000;
}

@media screen and (max-width: 1700px){
	.search_area .search_box .select_wrap select {
		font-size: 1.4rem;		
	}
}
@media screen and (max-width: 767px){
	.search_area{
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.search_area .search_box{
		min-width: auto;
		padding: 8vw;
	}
	.search_area .search_box p{
		font-size: 1.8rem;
	}
}

#jp_map{
	width: 94%;
	margin-left: 6%;
	aspect-ratio: 771 / 598;
	z-index: 2;
}

@media screen and (max-width: 1650px){
	#jp_map{
		width: 100%;
		margin-left: 0%;
		margin-top: 50px;
	}
}
@media screen and (max-width: 1400px){
	#jp_map{
		margin-top: 30px;
	}
}
@media screen and (max-width: 1000px){
	#jp_map{
		margin-top: 60px;
		background: url(../img/obog-map/map_ttl.svg) no-repeat 0 0 / 70% auto;
	}
}

#jp_map a:hover path{
	transition: fill 0.3s linear;
}

#jp_map #area01 a:hover path{ fill: #4699D3;}
#jp_map #area02 a:hover path{ fill: #96B728;}
#jp_map #area03 a:hover path{ fill: #2AA8CB;}
#jp_map #area04 a:hover path{ fill: #F2C403;}
#jp_map #area05 a:hover path{ fill: #F27996;}
#jp_map #area06 a:hover path{ fill: #FF8E00;}
#jp_map #area07 a:hover path{ fill: #9C60A2;}
#jp_map #area08 a:hover path{ fill: #ad8064;}

h2.shibu_ttl{
	margin: 80px 0 10px 0;
	padding: 0;
	font-size: 2rem;
  font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	border: none;
}

.unit_list{
	border-bottom: 1px solid #CBCBCB;
}

.search h2.shibu_ttl,
.search .unit_list,
.page-search-prefecture  h2.shibu_ttl,
.page-search-prefecture .unit_list{
	display: none;
}

.unit_list dl{
	display: flex;
	flex-wrap: wrap;
}

.unit_list dl dt{
	flex: 0 1 190px;
	padding-top: 25px;
	padding-bottom: 25px;
	padding-left: 25px;
	position: relative;
	border-top: 1px solid #CBCBCB;
}

@media screen and (min-width: 768px){
	.unit_list dl dt:nth-of-type(1),
	.unit_list dl dd:nth-of-type(1){
		border-top: none;
	}
}

.unit_list dl dt::before{
	content: "";
	display: block;
	width: 20px;
	aspect-ratio: 20.954 / 27.94;
	background: #76A800;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_marker.svg);
	mask-size: contain;
	position: absolute;
	top: 25px;
	left: 0;
}

.unit_list dl dt.area1{ color: #499CD8;} .unit_list dl dt.area1::before{ background: #499CD8;}
.unit_list dl dt.area2{ color: #AECA4E;} .unit_list dl dt.area2::before{ background: #AECA4E;}
.unit_list dl dt.area3{ color: #62C0D9;} .unit_list dl dt.area3::before{ background: #62C0D9;}
.unit_list dl dt.area4{ color: #FED833;} .unit_list dl dt.area4::before{ background: #FED833;}
.unit_list dl dt.area5{ color: #F8AFC1;} .unit_list dl dt.area5::before{ background: #F8AFC1;}
.unit_list dl dt.area6{ color: #FAA73E;} .unit_list dl dt.area6::before{ background: #FAA73E;}
.unit_list dl dt.area7{ color: #BC93C1;} .unit_list dl dt.area7::before{ background: #BC93C1;}
.unit_list dl dt.area8{ color: #C99D81;} .unit_list dl dt.area8::before{ background: #C99D81;}
.unit_list dl dt.area9{ color: #728DA2;} .unit_list dl dt.area9::before{ background: #728DA2;}

.unit_list dl dd{
	flex: 0 1 calc(100% - 190px);
	padding-top: 25px;
	padding-bottom: 25px;
	border-top: 1px solid #CBCBCB;
}

.unit_list dl dd ul{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 15px 1.5%;
}

.unit_list dl dd.area9_dd{
  display: flex;
  align-items: center;
}

.unit_list dl dd.area9_dd ul{
	grid-template-columns: 1fr;
}

.unit_list dl dd.area9_dd p{
	flex: 1 1 0%;
	margin-left: 40px;
	margin-bottom: 0;
	line-height: 1.4;
}

@media screen and (max-width: 767px){
	.unit_list dl dd.area9_dd{
	  display: none;
	}
	.unit_list dl dd.area9_dd p{
		margin-left: 0;
		margin-top: 10px;
		font-size: 1.4rem;
	}
}

.unit_list dl dd ul li a{
  display: flex;
  align-items: center;
	padding-left: 50px;
	height: 34px;
	line-height: 1.3;
	color: #004479;
	font-feature-settings: "palt";
	position: relative;
	text-decoration: none!important;
}

.unit_list dl dd ul li a::before{
	content: "";
	display: block;
	width: 32px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: url(../img/icon_arrow.svg) no-repeat center center #fff;
	border: 1px solid #14466B;
	position: absolute;
	top: 0;
	left: 0;
	transition: ease .3s;
}

.unit_list dl dd ul li a:hover::before{
	background: url(../img/icon_arrow.svg) no-repeat center center #FDD000;
}

@media screen and (max-width: 1600px){
	.unit_list dl dd ul{
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}
@media screen and (max-width: 1500px){
	.unit_list dl dd ul{
		grid-template-columns: 1fr 1fr 1fr;
	}
}
@media screen and (max-width: 1300px){
	.unit_list dl dt{
		flex: 0 1 150px;
	}
	.unit_list dl dd{
		flex: 0 1 calc(100% - 150px);
	}
	.unit_list dl dd ul{
		grid-template-columns: 1fr 1fr 1fr;
	}
}
@media screen and (max-width: 1100px){
	.unit_list dl dd ul{
		grid-template-columns: 1fr 1fr;
	}
}
@media screen and (max-width: 900px){
	.unit_list dl dd ul{
		grid-template-columns: 1fr;
	}
}
@media screen and (max-width: 767px){
	.unit_list dl{
		display: block;
	}
	.unit_list dl dt{
		margin-top: 30px;
	  display: flex;
	  align-items: center;
	  justify-content: center;
		padding: 10px;
		border: 1px solid #707070;
		cursor: pointer;
	}
	.unit_list dl dt::before{
		position: static;
		width: 17px;
		margin-right: 10px;
	}
	.unit_list dl dt::after{
		content: "";
		display: block;
		width: 14px;
		aspect-ratio: 1 / 1;
		background: url(../img/icon_plus.svg) no-repeat center center;
		position: absolute;
		top: 50%;
		right: 16px;
		transform: translateY(-50%);
	}
	.unit_list dl dt.active::after{
		background-image: url(../img/icon_minus.svg)
	}
	.unit_list dl dd{
		display: none;
		padding: 5vw 3vw;
		background: #E5E9EC;
	}
	.unit_list dl dd ul li.l{
		order: 3;
		width: 200%!important;
	}
	.unit_list dl dd ul li a{
		padding-left: 40px;
		height: 30px;
		font-size: 1.5rem;
	}
	
	.unit_list dl dd ul li a::before{
		width: 28px;
	}
}

.obog_list{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 80px 5.5%;
}

@media screen and (max-width: 1100px){
	.obog_list{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 80px 5.5%;
	}
}

@media screen and (max-width: 767px){
	.obog_list{
		grid-template-columns: 1fr;
		gap: 10vw;
	}
}
	
.obog_list li{
	position: relative;
	border-bottom: 1px solid #102D43;
}

#obog_map .obog_list li{
	border-bottom: 1px solid #fff;
}

.obog_list li::before{
	content: "";
	display: block;
	width: 34px;
	height: 1px;
	background: #FDD001;
	position: absolute;
	bottom: -1px;
	left: 0;
}


.obog_list li.noitem{
	border: none!important;
}
.obog_list li.noitem::before{
	display: none!important;
}

.obog_list li a{
	display: block;
	height: 100%;
	padding-bottom: 30px;
	color: #102D43;
	text-decoration: none!important;
}

.obog_list li a .img{
	overflow: hidden;
	position: relative;
	line-height: 1.3;
	aspect-ratio: 300 / 375;
}

.obog_list li .img img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: relative;
}

.obog_list li .img::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #FDD001;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	transition: ease .3s;
}

.obog_list li a:hover .img::before{
	opacity: 0.3;
}

.obog_list li p.unit_item{
	display: inline-block;
	margin: 0!important;
	color: #102D43;
	font-size: 1.3rem;
	padding: 2px 8px;
	background: #FDD000;
	line-height: 1.3;
	transform: translateY(-50%);
	position: relative;
	z-index: 3;
}

.prefecture_industry{
	display: flex;
	justify-content: space-between;
	font-size: 1.4rem;
	line-height: 1.3;
	margin: 0!important;
}

.prefecture_industry div{
	position: relative;
}

.prefecture_industry .area{
	flex: 0 1 auto;
}

.prefecture_industry .area{
	min-width: 3em;
	margin-right: 20px;
}

.prefecture_industry .area::after{
	content: "";
	display: block;
	width: 1px;
	height: 14px;
	background: #102d43;
	position: absolute;
	top: 3px;
	right: -11px;
}

#obog_map .obog_list li .prefecture_industry .area::after,
.obog-map_title .prefecture_industry .area::after{
	background: #fff;
}

.prefecture_industry .cate{
	flex: 1 1 0%;
}

.prefecture_industry .cate span::after{
	content: "/";
}

.prefecture_industry .cate span:last-child::after{
	content: "";
}

.obog_list li p.c_name{
	margin: 10px 0 0 0!important;
	font-size: 2rem;
}

.obog-map_title{
	line-height: 1;
}

.obog-map_title .wrap{
	display: flex;
	align-items: flex-start;
	font-size: 1.4rem;
	margin-bottom: 20px;
}

.obog-map_title .wrap .unit_item{
	flex: 0 1 auto;
	margin-right: 12px;
	color: #102D43;
	padding: 5px 8px;
	background: #FDD000;
	white-space: nowrap;
}

.obog-map_title .wrap .prefecture_industry{
	flex: 1 1 0%;
}

@media screen and (max-width: 767px){
	.obog-map_title .wrap {
		font-size: 1.2rem;
		margin-bottom: 10px;
	}
	.obog-map_title .wrap .unit_item{
		margin-right: 10px;
		padding: 5px;
		background: #FDD000;
	}
	.obog-map_title .wrap p{
		margin-top: 10px;
		}
}

.obog-map_single_body{
  font-family: "Shippori Mincho", serif;
}
	
.profile_wrap{
  display: flex;
	justify-content: space-between;
	font-weight: 600;
}

.profile_wrap .img{
	flex: 0 1 55%;
	overflow: hidden;
}

.profile_wrap .img img{
	display: block;
	width: 100%;
	aspect-ratio: 735 / 490;
	object-fit: cover;
	margin: 0;
}

.profile_wrap .txt{
	flex: 0 1 40%;
	line-height: 1.3;
}

.profile_wrap .txt dt{
	font-size: 2.6rem;
}

.profile_wrap .txt dt::after{
	content: "／";
	color: #FDD001;
	padding-left: 6px;
}

.profile_wrap .txt dd{
	font-size: 4rem;
	margin-top: 10px;
}

.profile_wrap .txt dd + dt{
	margin-top: 70px;
}

.profile_wrap .txt dd span{
	font-size: 2.6rem;
}

.profile_wrap .txt dd span.year{
	display: inline-block;
	font-size: 2rem;
}

.txt_wrap{
	line-height: 2;
}

.company_img{
	margin-top: 60px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6%;
}

@media screen and (max-width: 900px){
	.profile_wrap{
		margin-bottom: 30px;
	  display: block;
		justify-content: space-between;
	}
	.profile_wrap .txt{
		margin-top: 30px;
	}
}
@media screen and (max-width: 767px){
	.profile_wrap{
		width: 100vw;
		transform: translateX(-8vw);
	}
	.profile_wrap .txt{
		padding: 0 8vw;
	}
	.profile_wrap .txt dt{
		font-size: 2rem;
	}
	.profile_wrap .txt dd{
		font-size: 3.6rem;
		margin-top: 10px;
	}
	.profile_wrap .txt dd + dt{
		margin-top: 50px;
	}
	.profile_wrap .txt dd span{
		font-size: 2rem;
	}
	.profile_wrap .txt dd span.year{
		font-size: 1.6rem;
	}
	.company_img{
		margin-top: 30px;
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

.company_profile{
	margin: 180px 0;
	padding: 60px 6%;
  display: flex;
	justify-content: space-between;
	border: 1px solid #102D43;
}

.company_profile .txt table{
	max-width: 1100px;
	border: none;
}

.company_profile .txt th,
.company_profile .txt td{
	padding: 3px 0;
	border: none;
	background: none;
	font-weight: normal;
  font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	text-align: left;
	word-break: break-all;
}

.company_profile .txt th{
	width: 15%;
	white-space: nowrap;
	padding-right: 0;
}

.company_profile .txt th::after{
	content: "／";
	color: #FDD001;
	font-weight: 800;
}

.company_profile .txt td{
	padding-left: 0.5em;
}

.company_profile .img{
	flex: 0 1 auto;
	max-width: 420px;
}

.company_profile .img img{
	width: calc(100% - 40px);
	margin-left: 40px;
}

@media screen and (max-width: 1100px){
	.company_profile{
		padding: 40px 6%;
	  display: block;
	}
	.company_profile .img{
		margin-top: 30px;
		max-width: none;
	}
	
	.company_profile .img img{
		width: 100%;
		margin-left: 0;
	}
}
@media screen and (max-width: 767px){
	.company_profile{
		padding: 5vw 3vw;
		margin: 26vw 0;
	}
	.company_profile .txt th,
	.company_profile .txt td{
		font-size: 1.5rem;
		padding: 0;
	line-height: 1.4;
	}
	.company_profile .txt th{
		padding-right: 0;
	}
	.company_profile .txt th::after{
		padding-left: 5px;
	}
}

.relate_link{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.relate_link li{
	flex: 0 1 auto;
	margin: 10px;
}

.relate_link li a{
  display: flex;
	justify-content: space-between;
	align-items: center;
  padding: 10px 45px 10px 20px;
  line-height: 1.3;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif!important;
  color: #14466B!important;
  border: 1px solid #102D43;
  border-radius: 9999px;
  position: relative;
  text-decoration: none!important;
}

.relate_link li a:hover{
  background: #FDD001!important;
}

.relate_link li a::after{
	content: "";
	display: block;
	width: 19px;
	aspect-ratio: 13.168 / 4.729;
	background: #102D43;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_arrow.svg);
	mask-size: contain;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-60%);
	transition: ease .3s;
}

@media screen and (max-width: 767px){
	.relate_link{
	  display: block;
	  width: 70vw;
	  margin: 0 auto;
	}
	.relate_link li{
		margin: 10px 0;
	}
}

.obog_title{
	display: flex;
	align-items: center;
	margin-bottom: 80px;
	line-height: 1.4;
	padding-bottom: 35px;
	border-bottom: 1px solid #ADADAD;
}

.obog_title h2{
	flex: 0 1 auto;
	margin-bottom: 0;
	font-family: "Shippori Mincho", serif;
	font-weight: 700;
	font-size: 4rem;
	padding-bottom: 0;
	border-bottom: none;
}

.obog_title .num{
	flex: 0 1 auto;
	font-family: "Shippori Mincho", serif;
	font-weight: 700;
	font-size: 4rem;
	margin: 0 30px;
}

.post_count{
	display: none;
}

.obog_title .num .post_count_result{
	font-style: normal;
}

.obog_title .keyword{
	flex: 1 1 0%;
}

.obog_title .keyword span{
	display: inline-block;
	margin-right: 2px;
	padding: 2px 12px;
	font-size: 1.4rem;
  font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	line-height: 1.4;
	background: #E5E9EC;
	border-radius: 9999px;
}

.obog_title .keyword span:first-child{
	display: none;
}

@media screen and (max-width: 767px){
	.obog_title{
		flex-wrap: wrap;
		margin-bottom: 40px;
		padding-bottom: 20px;
	}
	.obog_title h2{
		font-size: 2.5rem;
	}
	.obog_title .num{
		font-size: 2.5rem;
		margin: 0 0 0 20px;
	}
	.obog_title .keyword{
		flex: 0 1 100%;
		margin-top: 20px;
	}
}

/* registration
-------------------------------------------------- */
.page-registration .sub_menu{
	margin-top: 80px;
}

#reg_merit ul{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5%;
	margin-top: 60px;
}

#reg_merit ul li{
	padding: 50px 8%;
	border: 5px solid #FDD001;
}

#reg_merit ul li h3{
	color: #0068B7;
	font-size: 2.4rem;
  font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	margin: 0;
	padding: 0;
	text-align: center;
	border: 0;
}

#reg_merit ul li h3::after{
	content: "／";
	display: block;
	margin: 10px 0;
	text-align: center;
	font-size: 6rem;
	color: #FDD001;
}

#reg_merit ul li p{
	margin-bottom: 0;
}

@media screen and (max-width: 1000px){
	#reg_merit ul{
		grid-template-columns: 1fr;
		gap: 30px;
	}
}
@media screen and (max-width: 767px){
	#reg_merit ul li{
		padding: 10vw 8vw;
	}
	#reg_merit ul li h3{
		font-size: 1.8rem;
		line-height: 1.7;
	}
	#reg_merit ul li h3::after{
		margin: 0;
		font-size: 5rem;
	}
}

/* mypage
-------------------------------------------------- */
.mypage_btnwrap {
	display: flex;
	justify-content: flex-start;
	gap: 24px;
	margin-bottom: 20px;
}

.mypage_btnwrap .btn {
	width: 280px;
	margin-top: 0;
	margin-bottom: 0;
}

@media screen and (max-width: 980px) {
	.mypage_btnwrap {
	flex-direction: column;
	}

}

.email_btxt{
	font-size: 2.5rem;
}

table.kaihi tbody tr td:nth-child(1){
	text-align: center;
}

table.kaihi tbody tr td:nth-child(1),
table.kaihi tbody tr td:nth-child(3){
	white-space: nowrap;
}

.page-registration .btn{
	display: inline-block;
	max-width: none;
}

.page-registration .btn a{
	padding-right: 80px;
}

#reg_step ul li{
	display: grid;
	grid-template-columns: 30% 1fr;
	border: 2px solid #0068B7;
	margin-bottom: 110px;
	position: relative;
}

#reg_step ul li:last-child{
	margin-bottom: 60px;
}

#reg_step ul li::after{
	content: "";
	display: block;
	width: 100%;
	height: 27px;
	background: url(../img/registration/down.svg) no-repeat center center / auto 100%;
	position: absolute;
	left: 0;
	bottom: -70px;
}

#reg_step ul li:last-child::after{
	display: none;
}

#reg_step ul li h3{
	position: relative;
	font-size: 2.6rem;
	font-family: "Shippori Mincho", serif;
	color: #0068B7;
	margin: 0;
	padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
}

#reg_step ul li h3 img{
	width: 105px;
	position: absolute;
	top: 0;
	left: -2px;
	transform: translateY(-60%);
	background: #fff;
}

#reg_step ul li p{
	margin: 0;
  display: flex;
  align-items: center;
	padding: 40px;
	background: #e4eff7;
}

#reg_step .btn{
	display: block;
	max-width: 300px;
	margin: 20px auto 0 auto;
}

@media screen and (max-width: 767px){
	#reg_step ul li{
		display: block;
		margin-bottom: 90px;
	}
	#reg_step ul li:last-child{
		margin-bottom: 30px;
	}
	#reg_step ul li::after{
		height: 25px;
		bottom: -60px;
	}
	#reg_step ul li h3{
		padding: 30px 10px;
	}
	#reg_step ul li h3 img{
		width: 90px;
	}
	#reg_step ul li p{
		font-size: 1.5rem;
		padding: 5vw;
	}
	.page-registration .btn{
		display: block;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}

.page_body .kiyaku_section h3{
	padding-left: 0;
	border: none;
}

.kiyaku_section h4{
	font-weight: 400;
	line-height: 1.8;
	font-size: 1.6rem;
	margin-bottom: 0;
}