@charset "UTF-8";
/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

.sp{display: none!important;}
a[href^="tel:"] {
    cursor: default;
    pointer-events:none;
}
/* !wrapper
---------------------------------------------------------- */
#wrapper {
	overflow: hidden;
	width: 100%;
	background: #F4F2F1;
	padding-top: 14rem;
}
.menuOpen{
	overflow: hidden;
	height: 100vh;
}
.menuOpen #wrapper{
	position: fixed;
}
.overlay{
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background: none;
	z-index: 97;
	text-indent: -999rem;
	pointer-events: auto;
}
.inner,
.inner02 {
	margin: 0 auto;
	width: 100%;
	max-width: 138rem;
	padding: 0 5rem;
	position: relative;
	z-index: 3;
}
.inner02 {
	max-width: 106rem;
}
/* !header
---------------------------------------------------------- */
#header {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	transition: transform .3s ease;
	will-change: transform;
	z-index: 99;
	width: 100%;
	background: #fff;
	/*box-shadow: 0 .3rem 1rem rgba(0,0,0,.04);*/
}

/* WordPress管理ツールバー対応 */
.admin-bar #header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar #header {
		top: 46px;
	}
}

/* scroll-hide header */
#header.is-hidden {
	transform: translate(-50%, -14rem);
}
.admin-bar #header.is-hidden {
	transform: translate(-50%, -14rem);
}

#headerIn {
	display: flex;
	justify-content: space-between;
	align-items: center;
    margin: 0 auto;
    max-width: 172rem;
	height: 14rem;
	padding: 0 3rem;
}

#headerLogo a{
	display: flex;
	justify-content: center;
	align-items: center;
	grid-gap: 3rem;
	font-size: 1.6rem;
	font-weight: 500;
	transition: opacity .3s!important;
}

#headerLogo span{
	color: #000;
}

#headerLogo img{
	width: 15.6rem;
}

#headerLogo font{
	display: block;
	letter-spacing: .06em;
	font-size: 2.8rem;
	font-weight: bold;
	color: #4D4D4D;
}

#headerLinks {
	display: none;
}

/* !breadcrumb
---------------------------------------------------------- */
.breadcrumb {
    width: 100%;
    padding: 1.5rem 0 8.5rem;
	font-size: 1.4rem;
}

/* teaser直下に置かれたパンくずの下余白をゼロにする（該当ページのみの見え方調整） */
#teaser + .breadcrumb {
    padding-bottom: 0;
}

.breadcrumb ul {
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.breadcrumb ul li {
  word-break: keep-all;
  white-space: nowrap;
  position: relative;
  color: #4D4D4D;
}

.breadcrumb ul li + li:before {
  content: '>';
  z-index: 2;
  width: 2.5rem;
  color: transparent;
  text-align: center;
  display: inline-block;
  text-indent: 0;
	background: url(../img/outline/icon_before.svg)no-repeat center center;
	background-size: .6rem auto;
}

.breadcrumb ul li + li {
  padding-left: 2rem;
  text-indent: -2rem;
}

.breadcrumb ul li:last-child {
  word-break: break-all;
  white-space: unset;
}

.breadcrumb ul li:first-child a{
	padding-left: 2.1rem;
	background: url(../img/outline/icon_home.svg)no-repeat left center;
	background-size: 1.5rem auto;
}

.breadcrumb ul li a{
  text-indent: 0;
  color: #4D4D4D;
}

/* !gNavi
---------------------------------------------------------- */
		
/* ナビゲーション関連のスタイルは必要に応じて追加 */
.nav_list{
	grid-gap: 1.5rem;
	display: flex;
	padding-bottom: .8rem;
	position: relative;
}
.nav_list li a{
	color: #8A9AB0;
	font-size: 1.6rem;
	padding: 0 .8rem 1.8rem;
	min-width: 13.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align-last: center;
	white-space: nowrap;
	opacity: 1!important;
	position: relative;
	transition: color 0.3s ease;
}
.nav_list > li > a:before{
	content: '';
	position: absolute;
	left: 0;
	top: calc(100% - var(--line-height, 1px) / 2);
	width: 100%;
	height: var(--line-height, 1px);
	background: #4B6BB0;
	border-radius: calc(var(--line-height, 1px) / 2);
	transition: height 0.3s ease, top 0.3s ease, border-radius 0.3s ease;
}
.nav_list > li > a.is_active:before{
	height: .6rem;
	top: calc(100% - .6rem / 2);
	border-radius: calc(.6rem / 2);
}

.nav_list > li > a:hover{
	color: #00459C;
}
.nav_list > li > a.is_active{
	pointer-events: none;
	color: #000;
}

@media screen and (min-width: 768px) and (max-width: 1700px) {
	#headerIn{
		margin: 0 auto;
		max-width: 138rem;
		padding: 0 5rem;
		justify-content: flex-start;
	}
	#headerLogo a span{
		display: none;
	}

	.nav_list{
		grid-gap: 1rem;
		padding: 1.5rem 0 0;
	}
}

	
/* !mainVisual
---------------------------------------------------------- */
#mainVisual {
	position: relative;
}
.scroll_down{
	position: absolute;
	right: calc(50% - 64rem);
	bottom: 0;
	z-index: 9;
	width: 7.6rem;
}
.scroll_down:before{
	content: 'Scroll Down';
	font-size: 1.25rem;
	letter-spacing: .2em;
	position: absolute;
	left: 50%;
	top: calc(100% + .5rem);
	transform: translateX(-50%);
	white-space: nowrap;
	color: #6E7996;
}
.mv_slider_item{
	display: flex!important;
}
.mv_slider_item .bg_color{
	overflow: hidden;
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-bottom: 3rem;
	color: #fff;
}
.mv_slider_item .img_box{
	width: 50%;
	height: 40rem;
	padding-top: 0;
}
.mv_slider_item .img_box img{
	object-position: left center;
}
.mv_item_cont{
	width: 64rem;
	font-weight: bold;
}
.mv_item01{
	background: #4B6BB0;
}
.mv_item02{
	background: #5A78B9;
}
.mv_item03{
	background: #6EB38E;
}
.mv_item04{
	background: #DD9743;
}
.mv_item05{
	background: #D06639;
}
.mv_item06{
	background: #7879B5;
}

.mv_item_cont .ttl{
	font-size: 6.1rem;
	line-height: 1.3;
	margin-bottom: 1.5rem;
}
.mv_item_cont .position{
	font-size: 2rem;
	line-height: 1.33;
	margin-bottom: 3rem;
}
.mv_item_cont .txt{
	font-size: 1.7rem;
	line-height: 1.5;
	position: relative;
	z-index: 2;
	padding: 1rem 0;
}
.mv_item_cont .txt:before{
	content: '';
	position: absolute;
	z-index: -1;
	right: 0;
	top: 0;
	width: 100vw;
	height: 100%;
	min-height: 5.4rem;
	background: #666666;
}

/* !teaser
---------------------------------------------------------- */
#teaser {
	position: relative;
}
.teaser_bg.img_box{
	width: 100%;
	padding-top: 40rem;
}
.teaser_hd{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 22rem;
	background: rgba(255,255,255,.8);
	padding-top: 6rem;
}
.teaser_hd+.scroll_down {
    right: calc(50% - 64rem);
    bottom: auto;
    top: 100%;
}

.teaser_bg02.img_box{
	border-top: 2rem solid #808080;
	width: 100%;
	padding-top: 0;
	height: 17rem;
}

.teaser_ttl{
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 14.7rem;
	font-size: 7rem;
	color: #fff;
	background: #DD9743;
}
.teaser_target{
	padding: 2.3rem 0;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.57;
	text-align: center;
	background: #808080;
	color: #fff;
}

#genkyodo .teaser_ttl{
	background: #D27143;
}
#keieido .teaser_ttl{
	background: #4063AB;
}
#keieido_ex .teaser_ttl{
	background: #4BA67C;
}
/* !contents
---------------------------------------------------------- */
#contents {
	
}

#main {
	
}

#side {
	
}

.inner {
	
}

/* !pageTop
---------------------------------------------------------- */
.pageTop {
	
}

/* !footer
---------------------------------------------------------- */
#footer {
}

.footer_contact{
	text-align: center;
	padding: 8rem 0 7.5rem;
}
.footer_contact a{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	grid-gap: 1rem;
	font-size: 1.125rem;
	font-weight: bold;
	letter-spacing: .3em;
	color: #6E7996;
}
.footer_contact a img{
	width: 7.5rem;
}

#footer .footerIn {
	padding: 4rem 0;
	background: #E6E6E6;
}
.footer_list{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 10rem;
}
.footer_list li{
	border-bottom: 1px solid #D2D3D4;
}
.footer_list a{
	display: flex;
	align-items: center;
	height: 4rem;
	padding-left: 3.8rem;
	background: url(../img/common/btn_blue.svg)no-repeat left center;
	background-size: 1.6rem auto;
	font-size: 1.5rem;
	color: #6E7996;
}
.footer_list a.is_black{
	color: #4D4D4D;
	background: none;
	padding-left: 0;
	font-weight: bold;
}

	
#copyright {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 8rem;
	color: #fff;
	background: #4B6BB0;
	font-size: 1.4rem;
	letter-spacing: .08em;
}

/* !h(n)eading
---------------------------------------------------------- */
.hdL {
	
}

.hdM {
	
}

.hdS {
	
}

.hd01 {
	
}



/* !common
---------------------------------------------------------- */
.img_box {
    position: relative;
    width: 100%;
    padding-top: 66%;
    overflow: hidden;
}
.img_box img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    object-fit: cover;
    transition: transform .4s ease;
}
a:hover .img_box img{
	transform: scale(1.05);
}

/*top*/
.top_news{
	padding-top: 5rem;
}
.tabLink{
	display: flex;
	margin-bottom: 3.6rem;
}
.tabLink li{
	width: 100%;
}
.tabLink li a{
	display: flex;
	justify-content: center;
	align-items: center;
	background: #EBEBEB;
	color: #4B6BB0;
	height: 4.4rem;
	font-size: 1.6rem;
	position: relative;
}
.tabLink li a.is_active{
	background: #4B6BB0;
	color: #fff;
	pointer-events: none;
}
.tabLink li a:before{
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 1;
	width: 2rem;
	height: 2rem;
	background: url(../img/top/before_news.png)no-repeat;
	background-size: 100% auto;
	opacity: 0;
	transition: all .3s;
}
.tabLink li a.is_active:before{
	opacity: 1;
}
.tabBox{
	display: none;
}
.tabBox.is_active{
	display: block;
}
.top_news_list{
	background: url(../img/top/line_news.png)no-repeat top center;
	background-size: 100% 2px;
}
.top_news_list .p-topNews__item{
	background: url(../img/top/line_news.png)no-repeat bottom center;
	background-size: 100% 2px;
}
.p-topNews__title {
	display: flex;
	align-items: center;
	padding: 1.5rem 0 2rem;
}
.top_news_list .date{
	padding-left: 2rem;
	background: url(../img/top/icon_date.svg)no-repeat left center;
	background-size: 1.3rem auto;
	font-size: 1.6rem;
	color: #4D4D4D;
	white-space: nowrap;
}
.top_news_list .txt{
	font-size: 1.8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
	margin-left: 2rem;
}

.top_message{
}
.border_box{
	margin-top: 8.5rem;
	background: #fff;
	position: relative;
}
.border_box:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: .8rem;
	height: 100%;
	background: #A5B5D7;
}
.border_box:after{
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: .8rem;
	height: 100%;
	background: #7D94C6;
}
.border_inner{
	position: relative;
	padding: 4.4rem 7rem 5.4rem;
}
.border_inner:before{
	content: '';
	position: absolute;
	left: .8rem;
	bottom: 100%;
	width: calc(100% - 1.6rem);
	height: .8rem;
	background: #A5B5D7;
}
.border_inner:after{
	content: '';
	position: absolute;
	left: .8rem;
	top: 100%;
	width: calc(100% - 1.6rem);
	height: .8rem;
	background: #5A78B9;
}
.hd_m .eng{
	display: block;
	font-size: 5rem;
	font-weight: bold;
	letter-spacing: .23em;
	color: #6E7996;
}
.hd_m .jap{
	font-size: 1.9rem;
	letter-spacing: .15em;
	color: #6E7996;
}

.top_message_ttl{
	font-size: 2.6rem;
	letter-spacing: .1em;
	color: #6E7996;
	margin: 4.9rem 0 1rem;
}
.border_txt{
	font-size: 1.8rem;
	line-height: 1.83;
}
.top_message_name{
	position: absolute;
	right: 34.4rem;
	bottom: 15.8rem;
	z-index: 3;
	font-size: 1.6rem;
	line-height: 3.3rem;
	text-align: right;
}
.top_message_name span{
	font-size: 2rem;
}
.top_message_btn{
	position: absolute;
	right: 50%;
	transform: translateX(50%);
	bottom: 0;
	z-index: 2;
}
.btn_link01{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
	padding: 0 2rem;
	height: 5rem;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: .2em;
	background: #5a78b9;
}
.btn_link01 span{
	padding-left: 2.6rem;
	background: url(../img/common/btn_link01.svg)no-repeat left center;
	background-size: 1.6rem auto;
}

.top_business .border_txt{
	margin: 3rem 0;
}
.top_business_list{
	padding: 2.2rem 0;
	margin: 0 -7rem;
	background: #fff;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 6.5rem 10rem;
	position: relative;
	z-index: 5;
	text-align: center;
}
.top_business_list li{
	border: .8rem solid #5A78B9;
	border-top: 0;
	padding-bottom: 6.6rem;
	position: relative;
}
.top_business_list .hd{
	display: flex;
	justify-content: center;
	align-items: center;
	background: #5A78B9;
	color: #fff;
	height: 6.8rem;
}
.top_business_list .ttl{
	font-size: 2.7rem;
	font-weight: bold;
}
.top_business_list .position{
	font-size: 2rem;
	font-weight: bold;
	padding-top: 1.5rem;
	display: block;
	color: #5A78B9;
}
.top_business_list .img_box{
	padding-top: 14rem;
}
.top_business_list .txt{
	font-size: 1.7rem;
	line-height: 1.5;
}
.top_business_list .btn{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
}

.top_business_list li:nth-of-type(1) .btn_link01{
	background:  #5A78B9;
}

.top_business_list li:nth-of-type(2){
	border-color: #6EB38E;
}
.top_business_list li:nth-of-type(2) .btn_link01{
	background: #6EB38E;
}
.top_business_list li:nth-of-type(2) .hd{
	background: #6EB38E;
}
.top_business_list li:nth-of-type(2) .position{
	color: #6EB38E;
}

.top_business_list li:nth-of-type(3){
	border-color: #DD9743;
}
.top_business_list li:nth-of-type(3) .btn_link01{
	background: #DD9743;
}
.top_business_list li:nth-of-type(3) .hd{
	background: #DD9743;
}
.top_business_list li:nth-of-type(3) .position{
	color: #DD9743;
}

.top_business_list li:nth-of-type(4){
	border-color: #D06639;
}
.top_business_list li:nth-of-type(4) .btn_link01{
	background: #D06639;
}
.top_business_list li:nth-of-type(4) .hd{
	background: #D06639;
}
.top_business_list li:nth-of-type(4) .position{
	color: #D06639;
}

.top_business_list li:nth-of-type(5){
	border-color: #7879B5;
}
.top_business_list li:nth-of-type(5) .btn_link01{
	background: #7879B5;
}
.top_business_list li:nth-of-type(5) .hd{
	background: #7879B5;
}
.top_business_list li:nth-of-type(5) .position{
	color: #7879B5;
}

.top_business_list li:nth-of-type(6){
	border-color: #B5A778;
}
.top_business_list li:nth-of-type(6) .btn_link01{
	background: #B5A778;
}
.top_business_list li:nth-of-type(6) .hd{
	background: #B5A778;
}
.top_business_list li:nth-of-type(6) .position{
	color: #B5A778;
}


.top_company .border_txt{
	margin: 3rem 0;
}
.top_company_list{
	margin-top: 2.5rem;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 1.4rem 5rem;
}
.top_company_list a{
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../img/common/btn_link01.svg)no-repeat left 2.4rem center #4B6BB0;
	background-size: 1.6rem auto;
	color: #fff;
	font-size: 1.6rem;
	height: 4.7rem;
}
.btn_link02{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	max-width: 33.7rem;
	width: 100%;
	height: 4.7rem;
	font-size: 1.6rem;
	color: #6E7996;
	background:url(../img/common/btn_blue.svg)no-repeat right 1.8rem center,
	url(../img/top/border_btn_link02.png)no-repeat;
	background-size: 1.6rem auto,100% 100%;
}

/*outline*/
.outline_item+.outline_item{
	padding-top: 8rem;
}
.outline_hd{
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: .4em;
	color: #6E7996;
	display: flex;
	align-items: center;
	grid-gap: 1.5rem;
	margin-bottom: 4rem;
}
.outline_hd:before{
	content: '';
	width: 1.8rem;
	height: 1.8rem;
	background: currentColor;
}
.outline_sec01_p01{
	font-size: 2.4rem;
	letter-spacing: .05em;
	margin-bottom: 2.2rem;
}
.outline_sec01_p02{
	font-size: 1.8rem;
	letter-spacing: .2em;
	margin-bottom: 2.4rem;
}
.outline_list01{
	border-top: 1px solid #B3B3B3;
}
.outline_list01 li{
	border-bottom: 1px solid #B3B3B3;
	padding: 1.7rem 0;
	display: flex;
	align-items: center;
}
.outline_list01 span{
	width: 6rem;
	font-size: 2.2rem;
	line-height: 1.1;
	color: #9199AF;
}
.outline_list01 p{
	width: calc(100% - 6rem);
	font-size: 1.6rem;
}
.outline_sec01_note{
	font-size: 1.4rem;
	margin-top: 2rem;
}
.outline_sec01_note span{
}

.outline_sec02_table{
	width: 100%;
}
.outline_sec02_table th,
.outline_sec02_table td{
	padding: 1.7rem 0;
	font-size: 1.6rem;
	border-top: 1px solid #B3B3B3;
	text-align: left;
	vertical-align: top;
	font-weight: 500;
}
.outline_sec02_table th{
	width: 22rem;
}
.outline_sec02_table li+li{
	padding-top: 1.7rem;
	margin-top: 1.7rem;
	border-top: 1px solid #B3B3B3;
}
.outline_sec02_table li{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.btn_link03{
	display: inline-block;
	padding-left: 2.5rem;
	background: url(../img/common/btn_blue.svg)no-repeat left center;
	background-size: 1.6rem auto;
	color: #6E7996;
	font-size: 1.4rem;
}
.outline_sec02_table .btn_link03{
	letter-spacing: .4em;
	white-space: nowrap;
}
.outline_sec02_table .small_row{
	width: 100%;
	text-align: right;
}
.outline_sec02_table .small_row .btn_link03{
	letter-spacing: -.02em;
}
.outline_sec02_table dl{
	width: 100%;
	display: flex;
}
.outline_sec02_table dt{
	width: 14rem;
}
.outline_sec02_table tr:last-of-type li:last-of-type{
	border-bottom: 1px solid #B3B3B3;
	padding-bottom: 1.7rem;
}

.outline_sec03_top{
	display: flex;
	align-items: flex-end;
	flex-direction: row-reverse;
}
.outline_sec03_top dt{
	width: 38rem;
	display: flex;
	letter-spacing: .15em;
}
.outline_sec03_top dd{
	width: calc(100% - 38rem);
	position: relative;
}
.outline_sec03_top dd:after{
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 9;
	width: 100%;
	height: 100%;
	background: url(../img/outline/before_img.png)no-repeat bottom center;
	background-size: 100% 53rem;
}
.outline_sec03_top .position{
	font-size: 2.3rem;
	font-weight: 500;
}
.outline_sec03_top .name{
	font-size: 2.3rem;
	font-weight: 500;
}
.outline_sec03_top .date{
	font-size: 1.6rem;
}
.outline_sec03_p01{
	font-size: 2.3rem;
	letter-spacing: .15em;
	margin: 4rem 0 2rem;
}
.outline_sec03_p02{
	font-size: 1.6rem;
	line-height: 2;
}

.outline_sec04_list{
	border-top: 1px solid #B3B3B3;
}
.outline_sec04_list li{
	border-bottom: 1px solid #B3B3B3;
	display: flex;
	align-items: center;
	height: 6rem;
}
.outline_sec04_list .number{
	width: 8rem;
	font-size: 2rem;
	color: #9199AF;
	letter-spacing: .05em;
}
.outline_sec04_list .year{
	width: 13rem;
	font-size: 1.4rem;
}
.outline_sec04_list .txt{
	width: calc(100% - 8rem - 13rem);
	font-size: 1.6rem;
}

.outline_sec05_list{
	display: flex;
	justify-content: space-between;
}
.outline_sec05_list li+li{
	padding-left: 2rem;
	margin-left: 2rem;
	border-left: 1px solid #B3B3B3;
}
.outline_sec05_list .ttl{
	font-size: 1.7rem;
	font-weight: bold;
	letter-spacing: .1em;
	margin-bottom: 2.5rem;
}
.outline_sec05_list .txt{
	font-size: 1.4rem;
	line-height: 2;
}

.outline_sec06_list{
	font-size: 1.6rem;
	line-height: 2;
}
.outline_sec06_list li+li{
	margin-top: 3.2rem;
}
.outline_sec06_list b{
	display: block;
}

.outline_sec07_list{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	border-right: 1px solid #B3B3B3;
}
.outline_sec07_list li{
	padding: 0 4.8rem 2rem;
	text-align: center;
	border-left: 1px solid #B3B3B3;
}
.outline_sec07_list .ttl{
	font-size: 1.7rem;
	font-weight: bold;
	margin: 2.7rem 0 2rem;
}
.outline_sec07_list .txt{
	font-size: 1.2rem;
	line-height: 1.8;
}
.outline_sec07_p01{
	text-align: center;
	margin-top: 8.5rem;
	font-size: 2.3rem;
	letter-spacing: .14em;
}
.outline_sec07_p02{
	text-align: center;
	margin-top: 1.6rem;
	font-size: 1.7rem;
}

/*message*/
.message_ttl{
	font-size: 2.7rem;
	line-height: 1.75;
	margin-bottom: 5rem;
}
.message_txt{
	font-size: 1.6rem;
	line-height: 2.25;
}
.message_txt .name{
	text-align: right;
	margin-top: 2rem;
}
.message_txt .name span{
	font-size: 2.4rem;
}

/*paradim*/
.paradim_wrap .inner{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-top: 8rem;
}
.paradim_wrap #main{
	width: 96rem;
}
.paradim_wrap #side{
	width: 28rem;
}
.side_banner{
	background: #fff;
	margin-bottom: 3.4rem;
}
.side_link{
	display: grid;
	grid-gap: 1.5rem;
}

.paradim_item+.paradim_item{
	padding-top: 7rem;
}
.paradim_p01{
	font-size: 1.9rem;
	font-weight: bold;
	line-height: 2.1;
	letter-spacing: -.01em;
}
.paradim_item_hd{
	background: url(../img/paradim/bg_hd.png)no-repeat right center;
	background-size: auto 100%;
	display: flex;
	align-items: center;
	height: 6.6rem;
	padding: 0 3.6rem;
	font-size: 2.3rem;
	font-weight: bold;
	color: #fff;
	margin-bottom: 3rem;
}

.paradim_list{
	border-top: 1px solid #B3B3B3;
}
.paradim_list li{
	padding: 2rem 0;
	border-bottom: 1px solid #B3B3B3;
}
.paradim_list .ttl{
	font-size: 2.1rem;
	font-weight: bold;
	margin-bottom: 1rem;
}
.paradim_list .txt{
	font-size: 1.6rem;
	line-height: 1.75;
}
.paradim_img{
	margin-top: 5rem;
}

.paradim_item_hd02{
	font-size: 2.8rem;
	font-weight: bold;
	letter-spacing: .4em;
	color: #6E7996;
	display: flex;
	align-items: center;
	grid-gap: 2rem;
	margin-bottom: .8rem;
}
.paradim_item_hd02:before{
	content: '';
	width: 2.4rem;
	height: 2.4rem;
	background: currentColor;
}
.paradim_table{
	width: 100%;
}
.paradim_table th,
.paradim_table td{
	font-size: 1.9rem;
	font-weight: bold;
	color: #6E7996;
	padding: 1.9rem 0;
	border-bottom: 1px solid #B3B3B3;
}
.paradim_table th{
	width: 16.6rem;
	padding-right: 1.6rem;
	position: relative;
	vertical-align: top;
}
.paradim_table th:after{
	content: '';
	position: absolute;
	right: 0;
	top: 100%;
	width: 1.6rem;
	border-bottom: 1px solid #F4F2F1;
}
.paradim_note{
	margin: 2.5rem 0 5rem;
	font-size: 1.4rem;
	line-height: 1.85;
}
#contents+.breadcrumb{
	padding: 2.4rem 0 0;
}

/*genkyodo*/
.paradim_p02{
	margin-top: 2rem;
	font-size: 1.6rem;
	line-height: 2;
}
.genkyodo_list01{
	border-top: 1px solid #B3B3B3;
}
.genkyodo_list01 li{
	border-bottom: 1px solid #B3B3B3;
	padding: 2.6rem 0;
	display: flex;
	align-items: center;
}
.genkyodo_list01 span{
	width: 6rem;
	font-size: 2.8rem;
	line-height: 1.1;
	color: #D27143;
}
.genkyodo_list01 p{
	width: calc(100% - 6rem);
	font-size: 1.8rem;
}

#genkyodo .paradim_item_hd{
	background: url(../img/genkyodo/bg_hd.png)no-repeat right center;
	background-size: auto 100%;
}
.genkyodo_p01{
	font-size: 1.6rem;
	padding-right: 15rem;
	text-align: right;
	margin-bottom: 1.5rem;
}
.genkyodo_list02{
	display: grid;
	grid-gap: 3rem;
	grid-template-columns: repeat(3,1fr);
}
.genkyodo_list02 li{
	position: relative;
	z-index: 5;
	padding: 3rem 1.8rem;
	min-height: 39rem;
	text-align: center;
}
.genkyodo_list02 li:before{
	content: '';
	z-index: -1;
	position: absolute;
	left: 0;
	top: 0;
	width: 36.4rem;
	height: 100%;
	background: url(../img/genkyodo/bg_li01.png)no-repeat left top;
	background-size: auto 100%;
}
.genkyodo_list02 li:nth-of-type(2){
	z-index: 4;
}
.genkyodo_list02 li:nth-of-type(2):before{
	background: url(../img/genkyodo/bg_li02.png)no-repeat left top;
	background-size: auto 100%;
}
.genkyodo_list02 li:nth-of-type(3){
	z-index: 3;
}
.genkyodo_list02 li:nth-of-type(3):before{
	background: url(../img/genkyodo/bg_li03.png)no-repeat left top;
	background-size: auto 100%;
}
.genkyodo_list02 .number span{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin: 0 .25rem;
	width: 4.2rem;
	height: 4.2rem;
	background: #D47C6F;
	border-radius: .6rem;
	color: #fff;
	font-size: 3rem;
	font-weight: bold;
}
.genkyodo_list02 li:nth-of-type(2) .number span{
	background: #94BF68;
}
.genkyodo_list02 li:nth-of-type(3) .number span{
	background: #8CA5D5;
}
.genkyodo_list02 .ttl{
	font-size: 2.7rem;
	line-height: 1.1;
	font-weight: 900;
	margin: 1.4rem 0 1rem;
	letter-spacing: -.025em;
	color: #D47C6F;
}
.genkyodo_list02 li:nth-of-type(2) .ttl{
	color: #94BF68;
}
.genkyodo_list02 li:nth-of-type(3) .ttl{
	color: #8CA5D5;
}
.genkyodo_list02 .intro{
	font-size: 2rem;
	line-height: 1.25;
	font-weight: bold;
	margin-bottom: 2.5rem;
}
.genkyodo_list02 .txt{
	font-size: 1.4rem;
	letter-spacing: -.025em;
	line-height: 1.5;
	text-align: left;
	display: grid;
	grid-gap: .8rem;
}
.genkyodo_list02 .txt span{
	padding-left: 1.2em;
	text-indent: -1.2em;
}

.paradim_table td span{
	font-size: 1.5rem;
	letter-spacing: -.025em;
}
.paradim_table li+li{
	padding-top: 1.9rem;
	margin-top: 1.9rem;
	border-top: 1px solid #B3B3B3;
}
.paradim_table li{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.paradim_table dl{
	width: 40rem;
	max-width: 100%;
	display: flex;
	justify-content: space-between;
}

/*keieido*/
#keieido .paradim_item_hd{
	background: url(../img/keieido/bg_hd.png)no-repeat right center;
	background-size: auto 100%;
}
.keieido_hd{
	font-size: 2rem;
	line-height: 1.65;
	font-weight: bold;
	letter-spacing: 0;
	color: #5D71B2;
	display: flex;
	grid-gap: 2rem;
	margin-bottom: 1rem;
}
.keieido_hd:before{
	content: '';
	margin-top: .8rem;
	min-width: 1.7rem;
	width: 1.7rem;
	height: 1.7rem;
	background: currentColor;
}
.keieido_hd+.paradim_item_hd{
	margin-top: 2.5rem;
}


.keieido_note li{
	font-size: 1.4rem;
	line-height: 1.6;
	padding-left: 1em;
	text-indent: -1em;
}
.keieido_copy{
	margin-top: 2.3rem;
	font-size: 1.4rem;
}
#keieido .keieido_note li,
#keieido .keieido_copy{
	color: #5D71B2;
}
.keieido_p01{
	font-size: 1.7rem;
	line-height: 1.88;
	margin-bottom: 3rem;
}
.keieido_note_list{
	margin: 2.5rem 0;
}
.keieido_note_list li{
	font-size: 1.4rem;
	line-height: 1.85;
	padding-left: 2em;
	text-indent: -2em;
}


.yellow .keieido_hd{
	color: #A38E51!important;
}
.yellow .paradim_item_hd{
	background: url(../img/keieido/bg_hd_yellow.png)no-repeat right center!important;
	background-size: auto 100%!important;
}
.paradim_item_hd font{
	font-size: 1.9rem;
	margin-left: 5rem;
}
.keieido_list {
	border-top: 2px solid #CCCCCC;
}
.keieido_list a{
	border-bottom: 2px solid #CCCCCC;
	display: grid;
	position: relative;
	padding: 2.5rem 0;
}
.keieido_list .ttl{
	font-size: 1.9rem;
	font-weight: bold;
	color: #6E7996;
	margin-bottom: 1rem;
}
.keieido_list .txt{
	font-size: 1.6rem;
	line-height: 1.75;
}
.keieido_list .btn_link03{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}

/*keieido_ex*/
#keieido_ex .keieido_hd{
	color: #4BA67C;
}
#keieido_ex .paradim_item_hd{
	background: url(../img/keieido_ex/bg_hd.png)no-repeat right center;
	background-size: auto 100%;
}
.teaser_ttl img{
	width: 115.2rem;
}
.keieido_ex_hd{
	margin-bottom: 2.5rem;
}
.keieido_ex_p01{
	font-size: 1.9rem;
	font-weight: bold;
	line-height: 1.84;
	margin-bottom: 2.5rem;
	color: #5F90CC;
}
.red .keieido_ex_p01{
	color: #CD6055;
}
.keieido_ex_dot{
	font-size: 1.7rem;
	font-weight: bold;
	letter-spacing: 0;
	display: flex;
	align-items: center;
	grid-gap: 1.2rem;
	margin-bottom: 3rem;
}
.keieido_ex_dot:before{
	content: '';
	min-width: 1.6rem;
	width: 1.6rem;
	height: 1.6rem;
	background: #5F90CC;
}
.red .keieido_ex_dot:before{
	background: #CD6055;
}
.keieido_ex_list li{
	padding-left: 2em;
	text-indent: -2em;
	font-size: 1.6rem;
	line-height: 2;
}

/*0829*/
.top_message_img{
	position: absolute;
	right: 0;
	bottom: -.8rem;
	z-index: 1;
	width: 45.6rem;
}
.teaser_img{
	position: absolute;
	left: 42.7%;
	bottom: 0;
	z-index: 3;
	width: 64.4rem;
}
.paradim_item_hd{
	position: relative;
	z-index: 2;
}
.keieido_img01{
	margin: 0 0 1rem;
	position: relative;
	z-index: 1;
}
.paradim_item{
	position: relative;
}
.genkyodo_p02{
	position: absolute;
	right: -1rem;
	top: 3rem;
	width: 19.4rem;
	z-index: 2;
}

/*client*/
.client_txt{
	font-size: 1.8rem;
	line-height: 2;
}

/*kae*/
#kae .teaser_ttl{
	background: #A4986D;
}
#kae .paradim_item_hd{
	background: url(../img/kae/bg_hd.png)no-repeat right center;
	background-size: auto 100%;
}
#kae .keieido_hd{
	color: #A4986D;
}
.kae_img01{
	width: 62rem;
	margin-top: 3rem;
}
.kae_item{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 40.2rem;
	margin: -45rem -2.5rem 0 auto;
	padding-top: 0!important;
}
.kae_img02{
	margin-top: 4rem;
}
.kae_list {
	border-top: 2px solid #CCCCCC;
}
.kae_list li{
	border-bottom: 2px solid #CCCCCC;
	display: grid;
	position: relative;
	padding: 2.5rem 0;
}
.kae_list .ttl{
	font-size: 1.9rem;
	font-weight: bold;
	color: #A4986D;
	margin-bottom: 1rem;
}
.kae_list p{
	font-size: 1.7rem;
	line-height: 2;
	letter-spacing: 0;
	display: flex;
	grid-gap: 1.4rem;
}
.kae_list p:before{
	content: '';
	margin-top: .9rem;
	min-width: 1.7rem;
	width: 1.7rem;
	height: 1.7rem;
	background: #A4986D;
}

/*syogaigenneki*/
#syogaigenneki .teaser_ttl{
	background: #7879B5;
}
#syogaigenneki .paradim_item_hd{
	background: url(../img/syogaigenneki/bg_hd.png)no-repeat right center;
	background-size: auto 100%;
}
#syogaigenneki .keieido_hd{
	color: #7879B5;
}
.syogaigenneki_img01{
	margin-top: 5rem;
}

.syogaigenneki_list{
	border-top: 1px solid #B3B3B3;
}
.syogaigenneki_list dl{
	border-bottom: 1px solid #B3B3B3;
	padding: 2.6rem 0;
	display: flex;
}
.syogaigenneki_list dt{
	width: 7rem;
	font-size: 2.8rem;
	line-height: 1.3;
	color: #7879B5;
}
.syogaigenneki_list dd{
	width: calc(100% - 7rem);
	font-size: 1.7rem;
	line-height: 1.7;
}
.syogaigenneki_list dd .ttl{
	font-size: 2rem;
	margin-bottom: .5rem;
	font-weight: bold;
	color: #7879B5;
}

.side_link a{
	display: flex;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
	padding: 0 2rem;
	height: 4.6rem;
	color: #fff;
	font-size: 1.6rem;
	background: url(../img/common/btn_link01.svg)no-repeat left 1.8rem center #4B6BB0;
	background-size: 1.6rem auto;
}
.side_link a.is_disabled{
	opacity: .5;
	filter: grayscale(100%);
	pointer-events: none;
	cursor: default;
}
.side_link a.is_download span{
	padding-right: 2.6rem;
	background: url(../img/common/btn_download.svg)no-repeat right center;
	background-size: 1.7rem auto;
}

/* Business page backgrounds (PC) */
#keieido #wrapper{
	background: #EDF6FD;
}
#keieido_ex #wrapper{
	background: #F7FAF2;
}
#paradim #wrapper{
	background: #FCF5E5;
}
#genkyodo #wrapper{
	background: #F8ECEB;
}
#syogaigenneki #wrapper{
	background: #EDEEF5;
}

#keieido_ex .side_link a{
	background-color: #4BA67C;
}

#paradim .side_link a{
	background-color: #DD9743;
}

#genkyodo .side_link a{
	background-color: #D27143;
}

#syogaigenneki .side_link a{
	background-color: #7879B5;
}

.message_wrap{
	padding-top: 10rem;
}
#message .teaser_img{
	width: 50rem;
	bottom: -20rem;
	left: 52.7%;
}
.message_txt p{
	text-align: justify;
}
.teaser_img .name{
	padding-right: 6.5rem;
	text-align: right;
	margin-top: 2rem;
	font-size: 1.6rem;
}
.teaser_img .name span{
	font-size: 2.4rem;
}

.iframe_box {
    position: relative;
    width: 100%;
    padding-top: 56%;
    margin: 1.7rem 0;
}
.iframe_box iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.history_table{
	width: 100%;
	border-bottom: 1px solid #B3B3B3;
}
.history_table th,
.history_table td{
	padding: 1.7rem 0;
	font-size: 1.6rem;
	border-top: 1px solid #B3B3B3;
	text-align: left;
	vertical-align: top;
	font-weight: 500;
}
.history_table th{
	white-space: nowrap;
	padding-right: 2em;
}
.anchor_link{
    position: relative;
}
.anchor_link span{
    position: absolute;
    top: -16rem;
}

.parentLi{
	position: relative;
}
.subBox{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: calc(100% + 1px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s;
	padding: 1rem 0;
	background: #fff;
	box-shadow: 0 .3rem 1rem rgba(0,0,0,.03);
}
.parentLi:hover .subBox{
	opacity: 1;
	pointer-events: auto;
}
.nav_list li .subLi a:before{
	background: #ccc;
	z-index: 2;
}
.nav_list li .subLi:last-of-type a:before{
	content: none;
}
.nav_list li .subLi a{
	background: #f7f7f7;
	color: #6E7996;
	width: 22rem;
	display: block;
	text-align: center;
	font-size: 1.4rem;
	padding: 1.5rem 1rem;
	white-space: nowrap;
	border: 0;
}
.nav_list li .subLi a:hover{
	background-color: #edecec;
}
/*------------------------------------------------------------
gNavi
------------------------------------------------------------*/
/* gNavi text color definition based on souce file */
#gNavi ul.nav_list > li > a {
    color: #000000;
}
#gNavi ul.nav_list > li:hover > a,
#gNavi ul.nav_list > li .subBox .subLi a {
    color: #6E7996;
}

#gNavi ul.nav_list > li.parentLi {
	position: relative;
}

#gNavi ul.nav_list > li .subBox {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	background-color: #fff;
	border: 1px solid #ddd;
	z-index: 10;
	padding: 10px 0;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	border-radius: 5px;
	overflow: hidden;
}
#gNavi ul.nav_list > li:hover .subBox {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
#gNavi ul.nav_list > li .subBox .subLi {
	width: 100%;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity .3s ease, transform .3s ease;
	background-color: #f0f2f5;
	border-bottom: 1px solid #e6e9ef;
}
#gNavi ul.nav_list > li .subBox .subLi:last-child {
	border-bottom: none;
}

#gNavi ul.nav_list > li:hover .subBox .subLi {
	opacity: 1;
	transform: translateY(0);
}

#gNavi ul.nav_list > li .subBox .subLi a {
	display: block;
	padding: 12px 20px;
	font-size: 15px;
	white-space: nowrap;
	text-decoration: none;
	position: relative;
	transition: background-color 0.3s;
	font-weight: normal; /* Ensure font-weight is not bold */
}

#gNavi ul.nav_list > li:hover .subBox .subLi:nth-child(1) { transition-delay: 0.05s; }
#gNavi ul.nav_list > li:hover .subBox .subLi:nth-child(2) { transition-delay: 0.1s; }
#gNavi ul.nav_list > li:hover .subBox .subLi:nth-child(3) { transition-delay: 0.15s; }
#gNavi ul.nav_list > li:hover .subBox .subLi:nth-child(4) { transition-delay: 0.2s; }
#gNavi ul.nav_list > li:hover .subBox .subLi:nth-child(5) { transition-delay: 0.25s; }
#gNavi ul.nav_list > li:hover .subBox .subLi:nth-child(6) { transition-delay: 0.3s; }
#gNavi ul.nav_list > li:hover .subBox .subLi:nth-child(7) { transition-delay: 0.35s; }
#gNavi ul.nav_list > li:hover .subBox .subLi:nth-child(8) { transition-delay: 0.4s; }


#gNavi ul.nav_list > li .subBox .subLi a:hover {
	color: #00459C;
	background-color: #e6e9ef;
}

/*
#gNavi ul.nav_list > li .subBox .subLi a::after {
	content: '';
	position: absolute;
	bottom: 5px;
	left: 20px;
	width: calc(100% - 40px);
	height: 1px;
	background-color: #00459C;
	transition: transform .3s;
	transform: scaleX(0);
	transform-origin: center;
}

#gNavi ul.nav_list > li .subBox .subLi a:hover::after {
	transform: scaleX(1);
}
*/

/* --------------------------------------------------------------------------------
 media Queries
 -------------------------------------------------------------------------------- */
@media screen and (max-width: 1023px) {
	.hd_m {
		margin-bottom: 20px;
	}
}

/* --------------------------------------------------------------------------------
 accordion for top news
 -------------------------------------------------------------------------------- */
.p-topNews__title.has-content {
	position: relative;
	cursor: pointer;
}
.p-topNews__icon {
	position: absolute;
	top: 50%;
	right: 10px;
	width: 10px;
	height: 10px;
	border-right: 2px solid #6E7996;
	border-bottom: 2px solid #6E7996;
	transform: translateY(-70%) rotate(45deg);
	transition: transform 0.3s ease;
}
.p-topNews__item.is-open .p-topNews__icon {
	transform: translateY(-30%) rotate(-135deg);
}
.p-topNews__content {
	display: none;
	padding: 20px 15px;
	background: #f7f7f7;
	border-top: 1px solid #e0e0e0;
}
.p-topNews__content > *:first-child {
	margin-top: 0;
}
.p-topNews__content > *:last-child {
	margin-bottom: 0;
}
.p-topNews__title.has-content .txt {
	color: #4B6BB0;
	text-decoration: underline;
}

/* Top: フォーラム情報・お知らせの本文内リンクをタイトルと同じ見た目に */
.p-topNews__content a,
.p-topNews__content a:visited {
	color: #4B6BB0;
	text-decoration: underline;
	font-weight: bold;
}
.p-topNews__content a:hover {
	color: #4B6BB0;
	text-decoration: underline;
	font-weight: bold;
}

/* Outline & Clients: add top spacing above contents to match business pages */
body[class*="page-template-page-outline"] #contents,
body[class*="page-template-page-clients"] #contents { padding-top: 8rem; }
/* Outline & Clients: ensure spacing between breadcrumb and contents (template-agnostic) */
.outline_wrap { margin-top: 8rem; }
.client_wrap { margin-top: 8rem; }

/* genkyodo: teaser_ttl size adjustment (smaller on this page only) */
#genkyodo .teaser_ttl { font-size: 7rem; }
#genkyodo .teaser_ttl span { font-size: .85em; }

/* KAE: fix figure wrapper effects on key diagram layout */
#kae .wp-block-image { margin: 0; }
#kae .wp-block-image img { max-width: none; width: auto; }
#kae .kae_img01 img { width: 62rem; }
#kae .kae_item { width: 40.2rem; margin: -45rem -2.5rem 0 auto; padding-top: 0!important; }