@charset "UTF-8";
/*-------------------------------------------------------------------------------- 
    共通項目
--------------------------------------------------------------------------------*/
/*---------------------------------------- 
    画像について
----------------------------------------*/
img {
    width: 100%;
    height: auto;
}

/*---------------------------------------- 
    inner（基本画面の横幅設定）
----------------------------------------*/
.small-inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
}
.inner {
    max-width: 1230px;
    margin: 0 auto;
    padding: 20px;
}

/*---------------------------------------- 
    inner（ウィジェットの横幅設定）
----------------------------------------*/
.my-widget {
    max-width: 1040px;
    margin: 0px auto; 
    padding: 0px 20px;
}

.my-small-widget {
    max-width: 760px;
    margin: 0 auto;
    padding: 20px;
}

/*---------------------------------------- 
    投稿ページの内容に感覚を入れるため。
----------------------------------------*/
.go-link {
    display: block;
    text-align: center;
}
.go-link a {
    display: inline-block;
    margin: 50px auto;
    width: auto;
    height: auto;
    cursor: pointer;
    padding: 15px;
    background-color: orange;
    border-radius: 10px;
    color: white;
}


.thanks-link {
    display: block;
    text-align: right;
}
.thanks-link a {
    display: inline-block;
    margin: 10px auto;
    width: auto;
    height: auto;
    cursor: pointer;
    padding: 15px;
    background-color: orange;
    border-radius: 10px;
    color: white;
}







.app-introduction .content p {
    margin-top: 20px;
}
/*-------------------------------------------------------------------------------- 
    header
--------------------------------------------------------------------------------*/
/*---------------------------------------- 
    header-topの表示の為
----------------------------------------*/
header {
    background-color: white;
    position: fixed;
    width: 100vw;
    z-index: 1;
}
.header-top {
    margin-left: 50px;
    display: flex;
    justify-content: space-between;
    height: 90px;
    margin-bottom: 10px;
    align-items: center;
}

.header-logo  {
    width: 400px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header-logo img {
    width: 80px;
}
.header-logo p {
    width: 300px;   
}

@media screen and (max-width: 840px) {
    .header-top {
        display: flex;
        text-align: center;
        padding: 0;
        margin: 0 auto;
    }
    .header-logo {
       margin: 10px 20px;
    }
    .header-logo img {
        width: 80px;
    }
    .header-logo p {
        display: none;
    }
}

/*---------------------------------------- 
    ハンバーガーメニュー
----------------------------------------*/

.hamburger-list {
    display: none;
}


@media screen and (max-width: 840px) {
    
.hamburger-list,
.hamburger-list.is-active {  
  width : 45px;
  height: 45px;
  display : block;
  cursor: pointer;
  position: absolute;
  top: 20px;
  right: 30px;
  text-align: center;
  z-index : 100;
}

/* spanを表示させるため */
.hamburger-list span {
  width: 30px;
  height: 5px;
  background-color: black;
  display: block;
  position: absolute;
  right: 10px;
}

span:nth-child(1) {
  top: 7px;
}
span:nth-child(2) {
  top: 18px;
}
span:nth-child(3) {
  top: 29px;
}

/* ハンバーガー１番めをスラッシュの形にするため */
.hamburger-list.is-active span:nth-of-type(1) {
  -webkit-transform: translateY(20px) rotate(-45deg);
  transform: translateY(13px) rotate(-45deg);
  /* スラッシュの位置を設定するため */
 
}

/* ハンバーガー２番目を透明にするため */
.hamburger-list.is-active span:nth-of-type(2) {
  /* 透明にして表示しないようにするため */
  opacity: 0;
}

/* ハンバーガー３番目をバックスラッシュの形にするため */
.hamburger-list.is-active span:nth-of-type(3) {
  -webkit-transform: translateY(-20px) rotate(45deg);
  transform: translateY(-10px) rotate(45deg);
  /* バックスラッシュの位置を設定するため */
}

}








/*---------------------------------------- 
    ハンバーガーメニュー表示のため
----------------------------------------*/
.navi {
    z-index: 0;
    display: block;
    position: fixed;
    top: 0;
    left: 100vw;
    bottom: 0;
    width: 100vw;

    padding: 60px 25px;
    background-color: white;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 20;
    opacity: 0;
}
.navi.is-active {
    left: 0;
    opacity: 1;
}

.navi ul {
    margin-top: 100px;
}
.navi li {
    margin-top: 50px;
    font-weight: bold;
}







/*---------------------------------------- 
    header-menu（表示の為）
----------------------------------------*/
.header-menu {
    width: 100%;
    background-color: black;
}

.header-menu ul {
    display: flex;
    justify-content: start;
    flex-wrap: wrap;
    gap: 50px;
    color: white;
    padding: 5px 20px;
}
.header-menu li {
    font-size: 20px;
}
.header-menu li:hover {
    background-color: gray;
}

@media screen and (max-width: 840px) {
    .header-menu {
        padding: 10px;
    }
    
    .header-menu li {
        display: none;
    }
}





/*-------------------------------------------------------------------------------- 
    インフォメーション画面
--------------------------------------------------------------------------------*/
#history {
    padding-top: 133px;
}
@media screen and (max-width: 840px) {
    #history {
        padding-top: 120px;
    }
}

.history-list {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    margin-top: 0px;
}
.history-item {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 50px;
    padding-top: 50px;
    align-items: center;
    border-top: 1px solid black;
}
.history-item:nth-child(1) {
    border: none;
}
.history-item .date {
    padding-left: 30px;
    width: 300px;
    font-size: 20px;
}
.history-item .content {
    width: calc(100% - 300px);
    font-size: 20px;
}





/* レスポンシブになった時トップの画面が変化するようにする。 */
@media screen and (max-width: 840px) {
    .history-item .date {
        padding-left: 30px;
        width: 250px;
        font-size: 20px;
}
.history-item .content {
        width: calc(100% - 250px);
        font-size: 20px;
    }
}
@media screen and (max-width: 640px) {
    .history-list .history-item {
        display: block;
        flex-wrap: wrap;
        padding-bottom: 50px;
        border-top: 1px solid black;
        padding-top: 50px;
        align-items: center;
    }
    
    .history-item .date {
        padding-left: 10px;
        width: 100%;
        font-size: 20px;
    }
    .history-item .content {
        padding-left: 10px;
        width: 100%;
        font-size: 20px;
    }
}


/*-------------------------------------------------------------------------------- 
    my-widget（企業情報）
--------------------------------------------------------------------------------*/
.my-widget p {
    margin-top: 30px;
    display: flex;
    align-items: center;
    color: black;
    padding-left: 10px;
    border-left: 10px solid red;
}

.my-widget h2 {
    
    margin: 30px auto 0;
    max-width: 1000px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    color: black;
}
.my-widget h2::after {
    content: "";
	flex-grow: 1;
    background-color: red;
	height: 1px;
	display: block;
    margin-left: 0.5rem;
}


.wp-block-table,
.my-widget .wp-block-preformatted {
    max-width: 800px;
    margin: 30px auto 0;
    padding: 20px;
    
   
}
.my-widget .map {
    width: 100%;
    position: relative;
    max-width: 600px;
    margin: 30px auto 300px;
    padding: 20px;
}
.my-widget .map iframe {  
    position: absolute;
    top: 0;
    left: 0;
  
    width: 100%;
    height: 300px;
}






.widget-table {
  table-layout: fixed;
  width: 120px;
  border: 1px solid red;
  color: red;
  background-color: red;
}

.widget-table td {
  border: 1px solid blue;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}






/*-------------------------------------------------------------------------------- 
    introduction（実務紹介）
--------------------------------------------------------------------------------*/
.home-flex {
    max-width: 800px;
    margin: 0px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 60px;
    padding: 50px 80px 100px;
}
@media screen and (max-width: 768px) {
    .home-flex {
        display: block;
    }
}


.home-flex li {
    width: calc(50% - 30px);
}
@media screen and (max-width: 768px) {
    .home-flex li {
        width: 100%;
        margin-bottom: 100px;
    }    
    .home-flex li:last-child {
        margin-bottom: 0px;
    }
}




.home-flex img {
    width: 80%;
    height: 150px;
    margin: 0px 10%;
    border-radius: 20px;
}
@media screen and (max-width: 840px) {
    .home-flex img {
        height: auto;
    }
  
    
}




.home-flex h2 {
    display: block;
    text-align: center;
    margin-top: 10px;
    font-size: 20px;
    font-weight: bold;
}
.home-flex p {
    display: block;
    text-align: left;
    margin: 10px 20px;
    font-size: 18px;
    max-height: 80px;
}





/* single.phpで使用 */
.app-introduction {
    margin-top: 50px;
   
}

.app-introduction-img {
    display: block;
    text-align: center;
    margin: 0 auto;
    width: 500px;
    height: auto;
}

.app-introduction h1,
.app-introduction .content {
    margin-top: 30px;
}







/*-------------------------------------------------------------------------------- 
    news（ニュース）
--------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------- 
    contact（お問い合わせ）
--------------------------------------------------------------------------------*/
/*ContactForm7カスタマイズ*/
table.CF7_table{
	width:80%;
	margin: 50px auto;
	border: 3px solid #e5e5e5;
}

table.CF7_table tr{
	border-top: 1px solid #e5e5e5;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}

/*入力欄*/
.CF7_table input, .CF7_table textarea {
	border: 1px solid #d8d8d8;
}

.CF7_table ::placeholder {
	color:#797979;
}

/*「必須」文字*/
.CF7_req{
	font-size:.9em;
	padding: 5px;
	background: #f79034;/*オレンジ*/
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/*「任意」文字*/
.CF7_unreq{
	font-size:.9em;
	padding: 5px;
	background: #bdbdbd;/*グレー*/
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/* タイトル列 */
@media screen and (min-width: 768px){
	.CF7_table th{
	width:30%;/*横幅*/
	background-color:#ebedf5;/*ブルーグレー*/
	}
}

/* レスポンシブ */
@media screen and (max-width: 768px){
	table.CF7_table{
	width:95%;
	}
	.CF7_table tr, .CF7_table td, .CF7_table th{
	display: block;
	width: 100%;
	line-height:2.5em;
	}
	.CF7_table th{
	background-color:#ebedf5;
	}
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color:#f79034;/* オレンジ*/
	border:0;
	color:#fff;
	font-size:1.2em;
	font-weight:bold;
	margin:0 auto;
}

.CF7_btn{
	text-align:center;
	margin-top:20px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}





/*-------------------------------------------------------------------------------- 
    footer
--------------------------------------------------------------------------------*/
footer {
    display: block;
    text-align: center;
    font-size: 10px;
    background-color: lightgray;
    padding-top: 50px;
    padding-bottom: 10px;
}