@charset "utf-8";

p, dl, multicol {
	margin-block-start: 0;
	margin-block-end: 0;
} /* 2020 UA デフォルトをリセット */




.hidd { visibility: hidden; }

.text_center { text-align: center; }


a { color: #0066ff; }
a:hover { color: #003399; }

.maincontbot { margin-bottom: 48px; }

h1, h2, h3, h4, h5, h6 { color: #0b0342; }
h1, h2, h3, h4 { margin-bottom: 1rem; }

@media screen and (min-width: 992px) {
}
@media screen and (min-width: 768px) and (max-width: 992px) {
	h1 { fontsize: 32px; font-size: 2rem; }
	
}
@media screen and (min-width: 576px) and (max-width: 768px) {
}
@media screen and (max-width: 576px) {
}


/* body */
body { 	padding-bottom: 50px; margin: 0;
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; line-height: 1.7;
	/*background-image: url(images/header_back.jpg), url(images/BG.jpg);
	background-repeat: no-repeat, no-repeat;
	background-position: center 0px, center bottom;
	background-size: auto, cover;*/
	background: url(images/header_back.jpg) no-repeat center 0px; }


/* header */
.header_div { max-width: 1200px; margin: 0 auto; }
.headertitle_div { float: left; width: 300px; height: 70px; background: url(images/logo.jpg) no-repeat; }
h1.headertitlediv_h1 { height: 100%; margin: 0; padding: 0; font-size: 10px; }
h1.headertitlediv_h1 a { display: block; width: 100%; height: 100%; }
.headernav_div { height: 70px; margin-left: 300px; 
	background: rgb(18,104,95); background: linear-gradient(90deg, rgba(18,104,95,1) 0%, rgba(32,10,111,1) 100%); 
}
/* main navigation menu */
ul#mainnav { float: right; padding-top: 30px; margin: 0; list-style-type: none; font-size: 1.2rem; }
ul#mainnav > li { float: left; color: #ffffff; margin-right: 2em; position: relative; }
ul#mainnav li a { color: #ffffff; }
.subnav { display: block; position: absolute; top: 100%; left: 0px; width: 16em; line-height: 1.2; padding-left: 0; z-index: 100; }
/*li a#services_subnav a:hover > .subnav { display: block; }*/
.subnav li { padding: 0; background-color: #200A6F; color: #ffffff; border-bottom: none; height: 0; overflow: hidden; transition: 0.2s; }
.subnav li a { display: inline-block; margin-top: 6px; }
ul#mainnav > li:hover > ul.subnav > li { min-height: 2rem; padding: 2px 1em; overflow: visible; border-bottom: 1px solid #666633; }
.subnav_en { font-size: 14px; width: 26em; }

/* bootstrap navbar */
.navbar { max-width: 1200px; margin: 0 auto; padding: 0px; }
.bg-light { background-color: transparent !important; }
.navbar-light .navbar-nav .nav-link { color: #ffffff; }
#bs-navi { min-height: 70px; background: rgb(18,104,95); background: linear-gradient(90deg, rgba(18,104,95,1) 0%, rgba(32,10,111,1) 100%); }
@media screen and (max-width: 768px) {
	.navbar-light .navbar-toggler { background-color: #ffffff; margin-right: 8px; }
	.navbar-nav .nav-link { padding-right: 0.6em; padding-left: 0.6em; }
}
#bs-navi .navbar-nav > li { position: relative; }
#bs-navi .navbar-nav > li ul { list-style-type: none; }
#bs-navi .navbar-nav > li:hover > ul > li { min-height: 2rem; padding: 2px 1em; overflow: visible; border-bottom: 1px solid #666633; }
#bs-navi .navbar-nav a { color: #ffffff; }
#bs-navi .navbar-nav a:hover { color: #eeeeee; }

/* English, Japanese */
.langbtn { padding-top: 2px; padding-bottom: 2px; }
@media screen and (max-width: 768px) {
	.langbtn { margin-bottom: 6px; }
}

/* go to pagetop */
.pagetop { margin: 0px 0px 25px 0px; text-align: right; }
.pagetop a { padding: 0 4em 0 16px; background: url(images/pagetop.gif) no-repeat left center; color: #000000; }


/* footer */
.footerdiv { padding: 1em 0 2em; }
.footer_p { text-align: center; /*color: #ffffff;*/ }


/* index page */

/*
.mainimage_div { margin: 1em 0; width: 100%; height: 200px; padding: 20px 1em 0; 
	background-image: url(images/top_main.jpg); background-position: center; background-repeat: no-repeat; text-align: center; }
.mainimage_h2 { height: 80px; margin: 0; }
.gaiyo_div { padding: 1em; margin-bottom: 1em; border: 1px solid #200A6F; }
*/
#main_bridge_div { margin: 1em 0; padding: 32px 4em 1em 30%; height: 460px; color: #ffffff; text-shadow: 2px 2px #200A6F; z-index: 10; 
	background: url(images/bridge_green.jpg), no-repeat; /*background-size: cover;*/ }
@media screen and (max-width: 992px) {
	#main_bridge_div { padding: 20px 2em 1em 2em; }
}
@media screen and (max-width: 576px) {
	#main_bridge_div { padding: 20px 0.6em 1em 0.6em; }
}

#toptitle_h2 { text-align: right; font-family: serif; font-size: 40px; font-size: 2.5rem; color: #ffffff; }
.toptitlesub_p { margin-bottom: 1.6em; margin-right: -1em; text-align: right; }
#main_bridge_div p { font-size: 20px; font-size: 1.25rem; }
#main_bridge_div .services_top_div { height: 16em; overflow: hidden; position: relative; }
#main_bridge_div .services_top_div .services_top_anim_div { margin-top: 0px; }
#main_bridge_div .services_top_div .services_top_anim_div a { color: #ffffff; }
#main_bridge_div .services_top_div .services_top_anim_div p { min-height: 38px; margin-bottom: 4px; padding-left: 4em; font-size: 22px; font-size: 1.375rem; line-height: 1.2; }
#main_bridge_div .services_top_div .services_top_anim_div p.anim_p_en { font-size: 16px; font-size: 1rem; }
@media screen and (max-width: 768px) {
	#toptitle_h2 { text-align: center; font-size: 28px; font-size: 1.75rem; }
	#main_bridge_div p { font-size: 18px; font-size: 1.125rem; }
	.toptitlesub_p { text-align: center; margin-right: 0.0em; }
	#main_bridge_div .services_top_div .services_top_anim_div p { padding-left: 0em; font-size: 20px; font-size: 1.25rem; }
}
@media screen and (max-width: 576px) {
	#main_bridge_div .services_top_div .services_top_anim_div p { font-size: 18px; font-size: 1.125rem; }
}

/* 最新情報 What's New */
div.titlebox_blue { padding: 8px 12px; background: #200A6F; border-radius: 0.25rem; }
h2.whatsnew_h2 { font-size: 18px; font-size: 1.125rem; margin-bottom: 0px; color: #ffffff; line-height: 1.0; }
/* 最新情報のコンテンツ部分 height メディアによって調整! */
div.whatsnew_div { height: 144px; overflow: auto; }
@media screen and (min-width: 992px) {
	div.whatsnew_div { height: 144px; }
}
@media screen and (min-width: 768px) and (max-width: 992px) {
	div.whatsnew_div { height: 160px; }
}
@media screen and (min-width: 576px) and (max-width: 768px) {
	div.whatsnew_div { height: 192px; }
}
@media screen and (max-width: 576px) {
	div.whatsnew_div { height: 256px; }
}
dl.whatsnew_dl dt { padding: 0px 0px 0px 8px; margin-bottom: 0.4em; border-left: 6px solid #0b0342; line-height: 1.2; }
dl.whatsnew_dl dt .whatsnew_datediv { float: left; width: 8em; line-height: 1.2; }
dl.whatsnew_dl dd { line-height: 1.5; }


.mainbandiv { /*margin-bottom: 1em;*/ }
.mainbandiv .card { margin-bottom: 1em; }
.mainbandiv .cardgreen { background-color: #71B235; }
.mainbandiv .card_white { background-color: #ffffff; color: #200A6F; border: 1px solid #200A6F; }
.mainbandiv .card_white p { margin-bottom:2px; margin-bottom: 0.125rem; }

.mainbandiv .cardblue { background-color: #200A6F; color: #ffffff; }
.mainbandiv .cardblue h3 { color: #ffffff; }
.mainbandiv .card .cardh3div { min-height: 80px; height: 80px; margin-bottom: 8px; }
.mainbandiv .card .cardh3div h3 { margin-right: -6px; margin-bottom: 4px; font-size: 24px; font-size: 1.5rem; 
	/*text-justify: inter-character; text-justify: distribute;*/ }
.mainbandiv .card .cardh3div h3.midh3 { font-size: 22px; font-size: 1.375rem; }
.mainbandiv .card .cardh3div h3.lrgh3 { font-size: 36px; font-size: 2.25rem; }
.mainbandiv .card .cardh3div h3.mdlh3 { font-size: 28px; font-size: 1.75rem; }
.mainbandiv .card .cardh3div h3.mdmh3 { font-size: 25px; font-size: 1.5625rem; }
.maindiv_en h3 { font-size: 18px; font-size: 1.125rem; } /* English */
.maindiv_en p { line-height: 1.3; } /* English */
.mainbandiv .card .cardh3div p { margin-right: -6px; }
.mainbandiv .card .cardh3div p.midp { font-size: 18px; font-size: 1.125rem; line-height: 1.4; }
.mainbandiv .card .cardh3div p.smlp { font-size: 16px; font-size: 1.0rem; }
.mainbandiv .card .cardh3div p.ssmp { font-size: 14px; font-size: 0.875rem; }
.mainbandiv .card h3 { font-size: 20px; font-size: 1.25rem; }
.mainbandiv .card .servicescardimgp { margin-bottom: 0.5em; }
.mainbandiv .card .servicescardimgp img { width: 100%; }
@media screen and (min-width: 1200px) {
	.firstrow .mainbandiv .card { min-height: 484px; height: 484px; /* flex bug! */ }
	.firstrow .mainbandiv .card .cardh3div { min-height: 96px; height: 96px; }
}
@media screen and (min-width: 992px) and (max-width: 1200px) {
	.firstrow .mainbandiv .card { min-height: 508px; height: 508px; /* flex bug! */ }
	.firstrow .mainbandiv .card .cardh3div { min-height: 120px; height: 120px; }
	span.smoller { font-size: 90%; }
}
@media screen and (min-width: 992px) {
	.mainbandiv .card { min-height: 468px; height: 468px; /* flex bug! */ }
}
@media screen and (min-width: 768px) and (max-width: 992px) {
	.mainbandiv .card .servicescardimgp { float: left; width: 40%; height: 100%; margin-right: 1em; }
}
@media screen and (min-width: 576px) and (max-width: 768px) {
	.mainbandiv .card .servicescardimgp { float: left; width: 40%; height: 100%; margin-right: 1em; margin-bottom: 2em; }
}
@media screen and (max-width: 576px) {
	.mainbandiv .card .cardh3div { min-height: auto; height: auto; }
	.mainbandiv .card, 
	.firstrow .mainbandiv .card { min-height: auto; height: auto; }
}
.subbandiv .card { margin-bottom: 1em; background-color: /*#729fcf*/#200A6F; color: #ffffff; }
.subbandiv .card .card-body { padding: 12px; padding: 0.75rem; }
.subbandiv .card .card-body p { padding: 4px 8px; border: 1px solid #bbddff; }
.estim_div { max-width: 380px; margin: 0 auto; }
.mainbandiv .cardgreen a,
.mainbandiv .cardblue a,
.subbandiv a { color: #ffffff; }
a.toblogpage { color: #ffffff; }
.mainbandiv a:hover,
.subbandiv a:hover { color: /*#729fcf*/#9966ff; }
.aiglink p { margin-bottom: 1em; text-align: center; }

/* SNS*/
#snscard { background-color: transparent; }
.social {
	margin: 2px auto 64px; text-align: center; /*line-height: 4.0; */
}
.facebook { display: /*inline*/ block; position: relative; width: 80%; margin: 0 auto 16px; 
	background-color: #2e4a88; color: white; box-shadow: 0 4px 0 #1B3D82; text-shadow: 0 -1px -1px #1B3D82;
	font-family: Arial; font-size: 14px; font-weight: bold; text-align: center; text-decoration: none; 
	border-radius: 5px; padding: 14px; }
.facebook:hover { background-color: #354F84; }
.facebook:active { top: 2px; box-shadow: 0 2px 0 #1B3D82; }
.twitter { display: /*inline*/ block; position: relative; width: 80%; margin: 0 auto 16px; 
	background-color: #008DDE; box-shadow: 0 4px 0 #0078BD; font-family: Arial; font-size: 14px; font-weight: bold; 
	text-align: center; text-decoration: none; color: white;
	border-radius: 5px; padding: 14px; }
.twitter:active { top: 2px; box-shadow: 0 2px 0 #0078BD; }
.twitter:hover { background-color: #1397D8; }
.google { display: inline; position: relative;
	background-color: #CC3622; color: white; box-shadow: 0 4px 0 #BA2714;font-family: Arial; font-size: 14px; font-weight: bold; 
	text-align: center; text-decoration: none;
	border-radius: 5px; padding: 14px 80px; }
.google:active { top: 2px; box-shadow: 0 2px 0 #BA2714; }
.google:hover { background-color: #D04829; }

.social .subbandiv2 { width: 80%; /*min-width: 200px;*/ margin: 0 auto 12px; padding: 12px; padding: 0.75rem; border-radius: 5px; 
	background-color: #200A6F; color: #ffffff; }
.social .subbandiv2 a:hover { color: #bbddff; }
.social .subbandiv2 p { margin-bottom: 0px; padding: 4px 8px; border: 1px solid #bbddff; line-height: 1.8; border-radius: 5px; }


/* content page */

/* オリジナルサイト default.css より */
/* topic_path */
.topic_path { margin: 8px 0px 0px 0px; padding: 0px; clear: both; }
.topic_path ul { list-style-type: none; margin: 0px; padding: 0px; font-size: small; }
.topic_path li { float: left; padding-right: 4px; }
.topic_path li.bcmark { background-image: url(images/topic_path.gif); background-repeat: no-repeat; background-position: left center; padding-left: 9px; }
.topic_path_sp { height: 16px; height: 1rem; clear: both; overflow: hidden; }


h2.pageh2 { padding: 3px 0px 1px 8px; margin-bottom: 1em; border-left: 6px solid #0b0342; }
h3.pageh3 { margin-bottom: 1em; font-size: 20px; font-size: 1.25rem; font-weight: bold; }
h4.pageh4 { margin-bottom: 1em; font-size: 18px; font-size: 1.125rem; font-weight: bold; }
h4.pagecont_h4 { margin-top: 2.0rem; margin-top: 32px; margin-bottom: 1.0rem; margin-bottom: 16px; 
	font-size: 20px; font-size: 1.25rem; font-weight: bold; }
.content_ja h4.pagecont_h4:before { content: '◎ '; }
h5.pagecont_h5 { margin-top: 0.75rem; margin-top: 12px; margin-bottom: 4px; font-size: 18px; font-size: 1.125rem; font-weight: bold; }

/* オリジナルサイト default.css より */
/* titlebox */
.titlebox_wrapper { padding-bottom: 2px; margin-bottom: 1.5em;
	background: #2B8F37 url(images/title01_wrapper.gif) repeat-y right; }
.titlebox { padding: 8px 110px 6px 12px; background: #71B235 url(images/title01.gif) repeat-y right; }
.titlebox h3.pageh3 { margin-bottom: 0px; color: #FFFFFF; }


/* main contents */
.cont_div {  }

.maindescription_ul { /*margin-left: 0px; padding-left: 0px;*/ font-size: 18px; font-size: 1.125rem; line-height: 2.0; }
.maindescription_ul p { margin-bottom: 0.7em; line-height: 1.7; font-size: 16px; font-size: 1.0rem; }
.maindescription_ul li > ul { font-size: 16px; font-size: 1.0rem; }
.content_ja .maindescription_ul { list-style-type: none; }
.content_ja .maindescription_ul > li:before { content: '◎'; margin-left: -1.5em; }
.content_ja .maindescription_ul li > ul { list-style-type: disc; }
.pagedesc_ul { margin-top: 0.4em; margin-bottom: 1.2em; font-size: 16px; font-size: 1.0rem; }
.subdescription_div { margin-top: 1.6em; margin-bottom: 2em; }
.subdescription_narrowdiv { max-width: 960px; margin: 0 auto 0 0; }
.subdescription_ul li { line-height: 2.0; }

.lastdescdiv { margin-bottom: 4.0em; }

.pagedesc_ol {  }
.pagedesc_ol li { font-size: 18px; font-size: 1.125rem; line-height: 1.6; margin-bottom: 0.5rem; }
.pagedesc_ol li p { font-size: 16px; font-size: 1.0rem; }

/* About Us */
.title_st { margin-bottom: 10px; line-height: 130%; font-weight: bold; color: #0B0342;
	border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: #0B0342; }	/* オリジナルサイト default.css より */
table { border-collapse: collapse; border-spacing: 0; empty-cells: show; }
table.aboutus { width: 100%; max-width: 960px; margin: 0 auto 0 0; border: 1px solid #999999; line-height: 1.3; }
table.aboutus th { background-color: #e9e9e9; border-right: 1px solid #999999; border-bottom: none; }
table.aboutus th, 
table.aboutus td { padding: 8px 16px; border-top: none; border-bottom: none; vertical-align: top; }


/* 2025-04-06 Privacy Policy */
.textsection { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.textsection h2, h3 { color: #0070C0; font-weight: bold; }
.textsection h2 { font-size: 22px; font-size: 1.375rem; }
.textsection h3 { font-size: 18px; font-size: 1.125rem; margin-bottom: 0.5em; }
.subsection { margin-bottom: 1.25rem; }
.textsection blockquote { padding-left: 2.0rem; margin: 0.75rem 0; }


