@charset "utf-8";
@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);
/*
Template:jmdm
Theme Name:jmdm-child
Theme URI:http://www.jmdm.co.jp/
Description:jmdm
Author:AIOSL
Author URI:https://corp.aiosl.jp
Version:1.5
*/

/*フォント調整*/
body,
.rich_font, .p-vertical, .pb_headline, .pb_catchcopy {
     font-family: 'Noto Sans JP', sans-serif !important;
}
.rich_font {
	font-weight: 600;
}
/*コンテンツ幅*/
@media screen and (min-width: 1180px) {
/* レイアウト */
#main_contents { width:1180px; }
/* アーカイブページ --------------------------------- */
#archive_work { width:1180px; }
/* カテゴリーページ ----------------------------------- */
#category_work { width:1180px; }
/* 関連記事 */
#related_work_list { width:1180px; }
/* キャッチフレーズと文章の組み合わせ */
.dc_content { width:1180px; }
/* 画像コンテンツ */
.dc_image_content_inner { width:1180px; }
/* メッセージリスト */
.dc_message_list { width:1180px; }
/* データリスト */
.dc_data_list { width:1180px; }
/* Google Map */
#access_data { width:1180px; }
/* ニュースティッカー */
#index_news { width:1180px; }
/* コンテンツ1 */
.index_content1 { width:1180px; }
/* コンテンツ2 */
.index_content2  { width:1180px; }
/* 実績一覧 */
.index_work_list  { width:1180px; }
/* パララックスコンテンツ */
.index_parallax .caption { width:1180px; }
/* キャプション */
#index_slider .caption { width:1180px; }
#page_header_catch { width:1180px; }
#archive_blog { width:1180px; }
#bread_crumb ul { width:1180px; }
#footer { min-width:1180px;}
#footer_inner { width:1180px; }
#widget_area_inner  { width:1180px; }
}
/*フッターバナー調整*/
#footer_banner .item {
	width: calc(33.3% - 10px)/*386px*/;
	height: 144px;
}
#footer_banner .item:nth-child(2n) {
	margin-right: 10px;
}
#footer_banner .item:nth-child(3n) {
	margin-right: 0;
}
@media screen and (max-width: 950px) {
	#footer_banner .item:nth-child(3n) {
	margin-right: 10px;
	}
	#footer_banner .item:nth-child(2n) {
	margin-right: 0;
	}
}

/*TCD*/
#index_slider .desc {
	line-height: 2;
}
.post_content [class^="well"] *:first-child:not(a) {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.post_content [class^="well"] *:last-child {
	margin-bottom: 0 !important;
}
.post_content [class^="well"] { 
	padding: 1.2em;
}
.post_content .style4a,
.post_content .style5a {
	margin-top: 30px !important;
}
.post_content .style5a {
	border-right: 0;
	border-left: 0;
}
.post_content .bt_purple{ background:#542989; color:#fff; }
/*.post_content .bt_purple:hover, .bt_purple:focus { background-color:#6A34AD; color:#fff; }*/

/*TABLE*/
.post_content table {
    border-collapse: separate;
    border-spacing: 0;
    border-top: 1px solid #CCCCCC;
    border-left: 1px solid #CCCCCC;
    font-size: 100%;
    line-height: 141.7%;
    margin: 10px -1px 24px 0;
    width: 100%;
    text-align:left;
}
.post_content table th, .post_content table td {
	line-height: 1.8;
	padding: 8px;
}
.post_content table th {
    box-shadow: 1px 1px 0 #FFFFFF inset;
    border: 0;
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    vertical-align: top;
    font-weight: bold;
    background-color: #F0F0F0;
    white-space: nowrap;
    text-align:left;
}
.post_content table td {
    border: 0;
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    vertical-align: middle;
    text-align:left;
}
.post_content table thead th{
    text-align:center;
	background: #ddd;
}
.post_content table.flat,
.post_content table.flat th,
.post_content table.flat td {
  border: 0;
  background: none;
  box-shadow: none;
  font-weight: normal;
}
.post_content table.border,
.post_content table.border th,
.post_content table.border td {
  border: 0;
  background: none;
  box-shadow: none;
}
.post_content table.border th {
  	border-bottom: 1px solid #666;
	padding: 10px 16px;
}
.post_content table.border td {
  	border-bottom: 1px solid #ddd;
	padding: 10px 16px;
}
@media only screen and (max-width: 767px){
	.post_content table.border th, .post_content table.border td {
    display: block;
	}
	/*横スクロール*/	
	.scroll{
		overflow: auto;
		white-space: nowrap;
	}
	.scroll::-webkit-scrollbar{
	 height: 5px;
	}
	.scroll::-webkit-scrollbar-track{
	 background: #F1F1F1;
	}
	.scroll::-webkit-scrollbar-thumb {
	 background: #BCBCBC;
	}
}
.post_content table.stripe tr:nth-child(odd) {
	background: #fafafa;
}
.post_content table.tbl_history th span {
	display: inline-block;
	text-align: right;
	min-width: 40px;
}
.post_content table.tbl_small th, .post_content table.tbl_small td {
	 padding: 2px 6px;
	font-size: 14px;
}
.post_content table.tbl_finance td {
	text-align: right;
}
.post_content table.sup span {
	display: inline-block;
	font-size: 80%;
	font-weight: normal;
	color: #666;
}
.post_content table tr.bgcolor th, .post_content table tr.bgcolor td {
	background: #EDE6F9;
}
.post_content table.txt_c th, .post_content table.txt_c td  {
	text-align: center;
}
.post_content table th.txt_r {
	text-align: right;
}
.post_content table.f_td tr td:first-child {
	text-align: left;
}
/* フォーム
------------------------------------------------------------*/
input[type="text"], input[type="tel"], input[type="email"], textarea{
	vertical-align:middle;
width:100%;
line-height:35px;
height:35px;
padding:5px;
margin-bottom: 5px;
border:1px solid #d4d4d7;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
font-size:100%;
color:#555;
background:#fcfcfc;
box-sizing: border-box;
}
textarea{
height:auto;
line-height:1.5;
}
select {
padding: 8px 5px;
}
input[type="submit"],input[type="reset"],input[type="button"]{
padding:8px 15px;
border: none !important;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
line-height:1.5;
font-size:120%;
color:#fff;
height:48px;
	margin:30px auto 0;
	background-color:#333333; 
	cursor:pointer;
	text-align:center; 
	text-decoration:none;
	line-height:1.5;
	outline:none;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.wpcf7 input.wpcf7-back,
.wpcf7 input.wpcf7-confirm { 
	position:relative;
	width:225px;
}
.wpcf7 form,.wpcf7 {
	margin: 0 !important;
	background: none !important;
	border: 0 !important;
}
.wpcf7 p {
	font-size: inherit !important;
}
*:first-child+html input[type="submit"]{padding:3px;}

.zip input[type="text"],
.tel input[type="text"] {
  width: 20%;
}
span.yubin,
form input[type="submit"], input[type="reset"], input[type="button"] {
  margin: 0 auto;
  padding: 10px 20px;
  background: #542989;
  border: 0;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  line-height: 1.5;
  font-size: 120%;
  color: #fff;
  cursor: pointer;
}
span.yubin,
span.yubin:hover { font-size: 80%;padding: 7px 10px; }
form input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, span.yubin:hover {
  background: #8248C8;
}
#searchform input[type="submit"] {
    line-height: 1;
    padding: 6px;
    vertical-align: top;
}
.submit-button{
  text-align:center;
}
#no_post {
	padding: 30px 0;
}
/* 確認画面用CSS */
/*枠線消す*/
form .wpcf7c-conf {
  background-color: transparent !important;
  border: none !important;
}
.wpcf7-form table p {
  padding-bottom: 5px;
}
textarea.wpcf7-form-control {
  max-height: 100px;
}
.wpcf7 .wpcf7-submit {
	background-color: #542989;
}
.wpcf7 .wpcf7-submit:hover {
	background-color: #8248C8;	
}
/*確認画面でradioが見え難い*/
input[type="hidden"] + span {
  font-weight: bold;
}
/*確認画面セレクトボックスヤジルシ消す*/
select.wpcf7c-conf {
   -webkit-appearance: none;
   -moz-appearance:    none;
   -ms-appearance:    none;
   appearance:         none;
   /*Firefox用*/
    text-indent: .01px; 
    text-overflow: "";
}
select.wpcf7c-conf::-ms-expand {
  display: none;
}
.wpcf7-form table p {
    padding-bottom: 0;
}
.zip input[type="text"],
.s_size input[type="text"] {
  width: 20%;
}
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"]{
  width: 40%;
}
span.required {
    display: inline-block;
    padding: 4px 6px;
    border-radius: 6px;
    background: red;
    color: #fff;
    font-size: 90%;
    line-height: 1.2;
    text-align: center;
    margin: 0 4px;
}
form table .txt_s {
    font-size: 80%;
    color: #666;
}
@media only screen and (max-width: 767px) {
	.post_content form.wpcf7-form table th, .post_content form.wpcf7-form table td {
	  display: block;
	}
	.post_content form.wpcf7-form table th {
	  border-top: 0;
	  border-bottom: 0;
	}
}
/*flowフロー*/
.post_content ul.box_flow {
  overflow: hidden;
  margin-left: 0;
}
.post_content ul.box_flow li {
  	position: relative;
  	display: inline-block;
  	vertical-align: top;
  	width: 100%;
	padding: 20px;
 	margin: 0 0 40px;
	background: #fafafa;
	box-sizing: border-box;
	text-align: center;
}
.post_content ul.box_flow li:last-child {
  margin-bottom: 0;
}
.post_content ul.box_flow li:before {
  content: '';
  position: absolute;
  border-color: #FFB900 transparent transparent transparent;
  border-style: solid;
  border-width: 20px;
  bottom: -50px;
  left: calc(50% - 20px);
}
.post_content ul.box_flow li:last-child:before {
  border: 0;
}
.post_content ul.box_flow li p {
  	padding: 0;
	margin: 20px 0 0;
}
.post_content ul.box_flow h5 {
  	background-color: #FFB900;
  	color: #ffffff;
  	padding: 8px 12px;
  	margin: 0;
	border-radius: 6px;
 	-webkit-border-radius: 6px;
  	-moz-border-radius: 6px;
  	letter-spacing: 0.05em;
}

/*ヘッダー*/
.pc #header {
	background: #fff;
}
#header_logo {
	left: 0 !important;
}
#header_logo .desc {
	font-weight: bold;
}
.pc #global_menu > ul > li > a,
.pc #global_menu ul ul a {
	font-size: 16px;
	font-weight: 500;
}
@media screen and (max-width:1050px) {
	#mobile_menu a {
	font-size: 16px !important;
	}
}
@media screen and (max-width:650px) {
	#header_logo .mobile_logo_image {
		max-height: 60px;
		width: auto;
	}
}
/* ページヘッダー */
#page_header { 
	height:350px;
}
#page_header_catch {
	top: calc(50% + 50px);
}
@media screen and (max-width:900px) {
	#page_header_catch {
	top: 50%;
	}
}
@media screen and (max-width:650px) {
	#page_header_catch {
	top: 50%;
	}
}
/*NEWS*/
#index_news_c .catch {
    text-align: center;
    font-size: 30px;
    line-height: 1.5;
    margin: 0 0 35px 0;
}
#index_news_c {
	margin:auto;
	padding-top: 0;
}
#index_news_c .item a {
	display:block;
	width:100%;
	/*height:60px;*/
	/*line-height:60px;*/
	color: #333;
	padding:16px;
	font-size:16px;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	background: #fff;
	border: 1px solid #ddd;
	border-bottom: 0;
}
#index_news_c .item:last-of-type a {
	border-bottom: 1px solid #ddd;
}
#index_news_c .item a:hover {
	background: #f2f2f2;
}
#index_news_c .item .cat-name {
	width:130px;
	display: inline-block;
}
#index_news_c .item .cat-name span {
	display: inline-block;
	vertical-align: middle;
	background: #3CC3D2;
	color: #fff;
	font-size: 80%;
	text-align: center;
	padding: 6px 2px;
	margin-right: 20px;
	line-height: 1;
	box-sizing: border-box;
	width: calc(100% - 20px);
}
#index_news_c .cat-name span.securities-report {
	background: #E1855B;
}
#index_news_c .cat-name span.investor-briefing {
	background: #FEC803;
}
#index_news_c .cat-name span.business-report {
	background: #CDDA11;
}
#index_news_c .cat-name span.financial-summary {
	background: #8248C8;
}
#index_news_c .cat-name span.medium-term-plan {
	background: #FF9B23;
}
#index_news_c .date { 
	width:100px;
	font-size: 90%;
	color: #666;
	display: inline-block;
}
#index_news_c .title { 
	display: block;
	/*width:calc(100% - 230px);*/
	width: 100%;
	padding-top: 8px;
	margin-top: 0 !important;
	/*float:left;*/
	font-weight:normal; 
	overflow:hidden; 
	white-space:nowrap;
	text-overflow:ellipsis;
}
/*カルーセル*/
.index_carousel .caption {
	background: rgba(84,41,137, 0.9);
}
.index_carousel .catch {
	line-height: 2.4;
}
/*フッターバナー*/
#footer_banner .title,
#footer_banner .desc {
	text-shadow: 0 0 5px #000;
}
/*透明性のガイドライン*/
.post_content ul.public_list {
	margin-left: 0;
}
.post_content ul.public_list li {
	list-style: none;
	border-bottom: 1px solid #eee;
	padding: 10px 0;
	overflow: hidden;
}
.post_content ul.public_list li p {
	margin-bottom: 0;
	display: inline-block;
	width: 80%;
	padding-right: 3%;
	box-sizing: border-box;
	vertical-align: middle;
}
.post_content ul.public_list li p.btn_pdf {
	display: inline-block;
	width: 18%;
	padding: 0;
}
.post_content ul.public_list li p.btn_pdf a {
	width: 100%;
	max-width: 100%;
}
.post_content ul.public_list li .style4a {
	padding: .2em 0 .2em .8em;
	margin: 0 0 18px !important;
	font-size: 18px !important;
	line-height: 1;
}
/*IR*/
.ir .pb-widget-tab .resp-tabs-list li {
	width: 33.4%;
	box-sizing: border-box;
	float: none;
	text-align: center;
	background: #eeeeee;
	border: 1px solid #fff;
}
.ir .pb-widget-tab .resp-tabs-list li.resp-tab-active,
.ir .pb-widget-tab .resp-tabs-list li:hover {
	background: #542989;
	color: #fff;
}
/*アコーディオン faq*/
.faq {
	width: 100%;
  margin: 25px 0;
  padding: 0;
  box-sizing: border-box;
}
.faq dt,
.faq dd {
  padding: 12px;
  text-align: left;
}
.faq dt{
	display:block;
	border-bottom: 1px solid #542989;
	font-weight: bold;
	font-size: 1.1rem;
	margin-bottom: 5px;
	padding-right: 35px;
	position: relative;
	color: #542989;
    }
.faq dd{
  display:none;
  margin-bottom: 20px;
  margin-top: 20px;
  padding-top: 0;
    }
.faq dt:before{
  position: absolute;
	content: '\e90e';
  font-family: 'design_plus';
  right: 0;
  width: 30px;
  height: 30px;
    }
.faq dt.active:before {
  content: none;
}
.faq dt.active:after{
  position: absolute;
  content: '\e911';
	font-family: 'design_plus';
  right: 0;
  width: 30px;
  height: 30px;
  background: #fff;
}
.faq dt:hover {
	cursor: pointer;
}
/*学会アイコン*/
.post_content p.ico_green {
	display: inline-block;
	padding: 0 6px;
	margin-right: 10px;
	background: #BED21E;
	color: #fff;
	font-size: 80%;
	font-weight: bold;
	border-radius: 6px;
}
.post_content p.ico_blue {
	display: inline-block;
	padding: 0 6px;
	margin-right: 10px;
	background: #3CC3D2;
	color: #fff;
	font-size: 80%;
	font-weight: bold;
	border-radius: 6px;
}
.post_content p.ico_orange {
	display: inline-block;
	padding: 0 6px;
	margin-right: 10px;
	background: #FFB900;
	color: #fff;
	font-size: 80%;
	font-weight: bold;
	border-radius: 6px;
}

/*COMMON*/
.post_content p {
    line-height: 1.8;
    margin: 0 0 1em 0;
}
.post_content p a,
.post_content li a {
	border-bottom: 1px dotted #542989;
}
.post_content p a.q_button {
	border-bottom: 0;
}
.post_content .weight_s {
	font-weight: 300;
	color: #666;
}
.post_content ul.li_border li a {
	border-bottom: 1px dotted #542989;
}
.post_content h4.style4a span {
	font-size: 70%;
	font-weight: normal;
}
.post_content .style5b {
	background: #542989;
}
.post_content h3.style_offices {
	font-size: 16px;
	padding-top: 0;
	line-height: 1.8;
}
[class*="index_content"] h2.catch.rich_font {
	font-weight: 600;
}
h3.pb_headline span,
[class*="index_content"] h2.catch.rich_font span {
	display: inline-block;
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 30px;
}
#index_news_c h3.pb_headline {
	color:#333333;
	font-size: 30px;
	text-align: center;
	margin-bottom: 30px;
}
h3.pb_headline span:before,
[class*="index_content"] h2.catch.rich_font span:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 100px;
  height: 5px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #542989;
  border-radius: 2px;
}
.index_content2 .image_content h2.catch.rich_font span {
	padding-bottom: 0;
	margin-bottom: 0;
}
.index_content2 .image_content h2.catch.rich_font span:before {
	display: none;;
}
.pb-widget-editor *:first-child { margin-top: 0 !important; }
@media screen and (max-width: 950px) {
	
}
.rec_box {
	margin: 40px auto;
	text-align: center;
}
.post_content .rec_box p {
	display: inline-block;
	margin: 1em;
	text-align: center;
}
@media only screen and (max-width: 767px){
	.pb-widget-tab h2.resp-accordion {
    margin-top: 0 !important;
	}
}
.tel_txt {
	font-size: 140%;
	padding-left: 16px;
}
.tel_txt:before {
	content: "tel.";
	font-size: 60%;
}
/*LAYOUT*/
@media only screen and (min-width:1180px) {
	#main_col.right_col, #index_news_c.right_col { width: calc(100% - 330px); float:right; }
	#main_col.left_col { width: calc(100% - 330px); float:left; }
	#side_col { width:260px; float:left; }
}
@media only screen and (max-width:1179px) {
	#main_col.right_col, #index_news_c.right_col, #main_col.left_col, #side_col { 
		width: 100%; float: none; }
	#side_col {
		margin-top: 60px;
	}
}
/*SIDE MENU*/
#side_col .side_headline {
    font-size: 16px;
    margin: 0;
    padding: 0 20px;
    font-weight: 400;
    color: #fff;
    background: #542989;
    height: 50px;
    line-height: 50px;
}
#side_col .menu li a {
  display:block;
	padding:15px;
	padding-right: 25px;
	line-height:1.4;
	overflow:hidden;
	border:1px solid #ddd;
	margin:-1px 0 0 0;
	text-decoration:none;
	background:#fff;
	position:relative;
  -moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
#side_col .menu li a:after {
  font-family:'design_plus'; content:'\e910'; color:#aaa; font-size:12px; display:block; position:absolute; top: calc(50% - 5px); right:15px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#side_col .menu li:first-child > a { border-top:none; }
/*#side_col .menu li a {
  display:block;
	padding:0 15px;
	height:55px;
	line-height:55px;
	overflow:hidden;
	border:1px solid #ddd;
	margin:-1px 0 0 0;
	text-decoration:none;
	background:#fff;
	position:relative;
  -moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}*/
/*#side_col .menu li a:after {
  font-family:'design_plus'; content:'\e910'; color:#aaa; font-size:12px; display:block; position:absolute; top:2px; right:15px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}*/
#side_col .menu li a:hover { background: #888; color: #fff; }
#side_col .menu li a:hover:after { color:#fff; }

#side_col .menu li ul {
  display:none; margin:0 !important; padding:0 !important; background:none;
  z-index:9; position:relative;
}
