@charset "utf-8";

/* テーブルブロックの figure にだけ適用 */
/*:where(figure.wp-block-table) {
  margin-inline: 0;
  padding: 0;
}*/
figure {
  margin-inline: 0;
  padding: 0;
}

/* まず全セルの共通（block-libraryより強くするためにスコープ付け） */
.outline .wp-block-table td {
  padding: 15px 30px;
  line-height: 1.6;
  border-bottom: 1px solid #3e3a39;
}

/* 左列（2行目以降だけ）— ここで1行目との競合を避ける */
.outline .wp-block-table tbody > tr:not(:first-child) > td:first-child {
  position: relative;
  width: 200px;
  padding: 15px 10px;
  background-color: #dce1e5;
  border-bottom: 1px solid #3e3a39;
  text-align: center;
}
@media screen and (min-width:901px){
/* 1行目（全セル）— 最後に書いて確実に勝たせる */
.outline .wp-block-table tbody > tr:first-child > td {
	border-bottom: 3px double #3e3a39;
}

/* 念のため：1行目・左セルをピンポイントでさらに上書きしたい時 */
.outline .wp-block-table tbody > tr:first-child > td:first-child {
	border-bottom: 3px double #3e3a39;
}
}

@media screen and (max-width:900px){
.wp-block-table td{
	display:list-item;
	list-style:none;
	border: none;
}
.outline .wp-block-table tbody > tr:not(:first-child) > td:first-child {
	width:auto;
	margin-bottom: 5px;
	padding:5px 10px;
	text-align:left;
	line-height:180%;
    font-weight: 500;
	border: none;
}
.outline .wp-block-table td  {
	padding:5px 15px 15px;
    font-size:0.9rem;
}
}

/*===============================================
	outline
===============================================*/
.outline {
    max-width: 960px;
    margin: 0 auto 120px;
}
.outline .outline-table  {
	width:100%;
	margin-bottom:50px;
	border-top: 1px solid #3e3a39;
    background-color: #FFF;
}
.outline .outline-table tr.btm td{
	border-bottom: 3px double #3e3a39;
}
.outline .outline-table td:first-child  {
	position: relative;
	width:200px;
	padding:15px 10px;
	background-color: #dce1e5;
	border-bottom: 1px solid #3e3a39;
	text-align:center;
	line-height: 1.6;
}
.outline .outline-table td {
	padding:15px 30px;
	line-height: 1.6;
	border-bottom: 1px solid #3e3a39;
}


.outline dl.office {
	display: flex;
	flex-flow: row wrap;
	justify-content:space-between;
}
.outline dl.office dt {
    width:30%;
}
.outline dl.office dt span {
    display: block;
    padding:2px 0;
    text-align: center;
    font-size:0.9rem;
    color:#FFF;
    border-radius: 5px;
    background-color: var(--main-bg1);
}
.outline dl.office dd {
    width:68%;
}
.outline dl.member {
	display: flex;
	flex-flow: row wrap;
	justify-content:space-between;
}
.outline dl.member dt {
    width:20%;
}
.outline dl.member dd {
    width:78%;
}

@media screen and (max-width:900px){
.outline {
    margin: 0 5% 90px;
}

.outline .outline-table  {
	border:none;
}
.outline table tr{
	display: block;
}
.outline .outline-table td{
	display:list-item;
	list-style:none;
	border: none;
}
.outline .outline-table td:first-child  {
	width:auto;
	margin-bottom: 5px;
	padding:5px 10px;
	text-align:left;
	line-height:180%;
    font-weight: 500;
	border: none;
}
.outline .outline-table tr.btm td:first-child {
    border:none;    
}
.outline .outline-table td  {
	padding:5px 15px 15px;
    font-size:0.9rem;
}

.outline dl.office {
	display:block;
}
.outline dl.office dt {
    width:auto;
    margin-bottom: 5px;
}
.outline dl.office dt span {
    display:inline-block;
    padding:2px 25px;
    text-align: center;
    font-size:0.8rem;
    color:#FFF;
    border-radius: 5px;
    background-color: var(--main-bg1);
}
.outline dl.office dd {
    width:auto;
    margin-bottom: 5px;
}
	
.outline dl.member dt {
    width:40%;
}
.outline dl.member dd {
    width:58%;
}
	
}

/*===============================================
	organization
===============================================*/
.organization {
	position: relative;
	max-width: calc(800px - 120px);
	margin: 0 auto 120px;
    padding:0 60px 50px;
	background-color: #FFF;
}
.organization h3.line {
	top:-30px;
	margin-bottom: 0;
}
.organization p {
	padding:0 60px 50px;
}

@media screen and (max-width:900px){
.organization {
    margin: 0 5% 90px;
	padding:0 5% 50px;
}
.organization p {
	padding:0 5% 50px;
}
}


/*===============================================
	history
===============================================*/
.history {
	position: relative;
	max-width: 800px;
	margin: 0 auto 60px;
}
.history .history-table td:first-child {
    padding:10px 30px 10px 0;
    line-height: 1.6;
    white-space: nowrap;
    vertical-align: top;
}
.history .history-table td {
    padding:10px 0;
    line-height: 1.6;
}
.history .history-table td dl.office {
    margin-left: 15px;
	display: flex;
	flex-flow: row wrap;
	justify-content:space-between;
}
.history .history-table td dl.office  dt {
    width:12%;
}
.history .history-table td dl.office  dd {
    width:87%;
}

@media screen and (max-width:900px){
.history {
	margin: 0 5% 20px;
}
.history .history-table td{
	display:list-item;
	list-style:none;
	border: none;
}
.history .history-table td:first-child  {
	padding:0 0 5px 10px;
    font-weight: 600;
    border-left: 3px solid #CCC;
}
.history .history-table td  {
	padding:0 0 15px 25px;
    font-size:0.9rem;
}
.history .history-table td dl.office {
    margin-left: 0;
}
.history .history-table td dl.office  dt {
    width:20%;
}
.history .history-table td dl.office  dd {
    width:78%;
}
}

/*===============================================
	connection
===============================================*/
.connection {
	margin: 0 auto 120px;
}
.connection .connection-table{
	margin: 0 auto;
}
.connection .connection-table table{
	margin: 0 auto;
}
.connection .connection-table td:first-child{
	padding:10px 10px;
    font-size:1.3rem;
    font-weight: 600;
    letter-spacing:0.3rem;
}
.connection .connection-table td:first-child::before{
	content:"";
	padding-right: 5px;
	border-left: 4px solid var(--main-bg1);
}
.connection .connection-table td{
	padding:10px 10px;
}
.connection .connection-table td a{
	display: block;
    padding:10px 30px;
    color:var(--main-bg2);
    text-align: center;
    background-color: var(--main-bg1);
    text-decoration: none;
    border-radius: 50px;
}
.connection .connection-table td a:hover{
    background-color: var(--main-bg3);
}
@media screen and (max-width:900px){
.connection {
	margin: 0 auto 60px;
}
.connection .connection-table td{
	display:list-item;
	list-style:none;
	border: none;
}
.connection .connection-table td:first-child  {
	width:auto;
	padding:0 0 5px;
    text-align: center;
}
.connection .connection-table td:first-child::before{
	padding-right: 0;
	border-left:none;
}
.connection .connection-table td  {
	padding:0 0 25px;
}
}


/*===============================================
	license
===============================================*/
.license {
	margin: 0 auto 120px;
}
.license ul {
    max-width:400px;
	margin: 0 auto;
    border-top: 1px solid #333;
}
.license ul li {
    padding:15px 0;
    text-align: center;
    border-bottom: 1px solid #333;
}
@media screen and (max-width:900px){
.license {
	margin: 0 5% 90px;
}
.license ul li {
    width:100%;
    padding:15px 0;
    text-align: center;
    border-bottom: 1px solid #333;
}
}

