/*  
Theme Name: RUSH DESIGN THEME
Version:1.1
2019.06.05
*/
@import url(library/css/common.css?005);
@import url(library/css/animate.min.css);

/******************************************************
サイトカラー・使用フォント
******************************************************/
body {
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  background: url(images/main_bg001.png) top center;
}
input, textarea, select {
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}
.serif {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "游明朝体", "Yu Mincho", YuMincho, "MS PMincho", "Times New Roman", serif;
}
html, body {
  color: #47403a;
  height: 100%;
}
a {
  color: #47403a;
}
/* フォームボタン */
input[type="submit"] {
  color: #fff;
  background: #164f7d;
  border: 1px solid #164f7d;
}
input[type="submit"]:hover {
  color: #164f7d;
  background: #fff;
  border: 1px solid #164f7d;
}
.wpcf7-submit {
  display: block;
  width: 240px;
  margin: 0 auto;
}
/* ページャー */
#pagination li a,
#pagination li span {
  color: #fff;
  background: #164f7d;
}
#pagination li a:hover {
  background: #164f7d;
}
#pagination li span.current {
  background: #164f7d;
}
/******************************************************
背景
******************************************************/
/******************************************************
余白
******************************************************/
.mb0 {margin-bottom:0!important;}
.mb10 {margin-bottom:10px!important;}
.mb20 {margin-bottom:20px!important;}
.mb30 {margin-bottom:30px!important;}
.mb40 {margin-bottom:40px!important;}
.mb50 {margin-bottom:50px!important;}
.mb60 {margin-bottom:60px!important;}
.mb70 {margin-bottom:70px!important;}
.mb80 {margin-bottom:80px!important;}
.mb90 {margin-bottom:90px!important;}
.mb100 {margin-bottom:100px!important;}
/******************************************************
テキスト
******************************************************/
.bold {font-weight:bold;}
.text-large {font-size: 2em;}
/******************************************************
レスポンシブ
******************************************************/
@media screen and (max-width: 767px){
  .inner {margin: 0 1.5rem;}
  .sp-left {text-align:left;}
  a, a:hover {
    text-decoration: none;
    opacity: 1;
    -webkit-transition: 0 ease-in-out;
    -moz-transition: 0 ease-in-out;
    transition: 0 ease-in-out;	
  }
  #sidebar {display: none;}
}
@media screen and (min-width: 768px) and (max-width: 1024px){
  .inner {margin: 0 3rem;}
  a, a:hover {
    text-decoration: none;
    opacity: 1;
    -webkit-transition: 0 ease-in-out;
    -moz-transition: 0 ease-in-out;
    transition: 0 ease-in-out;	
  }
  #sidebar {display: none;}
}
@media screen and (min-width: 1025px){
  .inner {
    width: 1000px;
    margin: 0 auto;
  }
  #contents {
    float: right;
    width:720px;
  }
  #sidebar {
    float: left;
    width: 240px;
  }
}
/******************************************************
固定フッター
******************************************************/
@media screen and (max-width:1024px){
  #footer-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background-color: #164f7d;
  }

  #footer-cta ul {
    display: flex;
  }

  #footer-cta li {
    box-sizing: border-box;
    width: 33.3333%;
    text-align: center;
  }

  #footer-cta li.contact,
  #footer-cta li.tel {
    border-right: 1px solid #fdf5e9;
  }

  #footer-cta a {
    display: block;
    height: 60px;
    line-height: 60px;
    color: #fdf5e9;
    font-size: 1.4rem;
  }

  #footer-cta li.contact img {
    width: 26px;
    margin-right: 4px;
  }

  #footer-cta li.tel img {
    width: 14px;
    margin-right: 8px;
  }

  #footer-cta li.line img {
    width: 22px;
    margin-right: 8px;
  }

  #fix_contact {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
  }
  #fix_contact ul {
    font-size: 0;
    text-align: left;
  }
  #fix_contact li {
    display: inline-block;
    width: 50%;
    box-sizing: border-box;
    border-right: 1px solid #164f7d;
  }
  #fix_contact li:first-child {
    border-right: 1px solid #fdf5e9;
  }
  #fix_contact li a {
    display: block;
    text-align: center;
    background: #164f7d;
  }
  #fix_contact li a img {
    height: 6rem;
  }
}
@media screen and (min-width:1025px){
  #footer-cta {
    display: none;
  }
  #fix_contact {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
  }
  #fix_contact ul {
    font-size: 0;
    text-align: left;
  }
  #fix_contact li {
    width: 140px;
    height: 140px;
    box-sizing: border-box;
    border-right: 1px solid #164f7d;
  }
  #fix_contact li:first-child {
    border-right: 1px solid #fdf5e9;
  }
  #fix_contact li a {
    display: block;
    text-align: center;
    background: #164f7d;
  }
  #fix_contact li a img {
    height: 6rem;
  }
}
/******************************************************
ヘッダー
******************************************************/
@media screen and (max-width:1024px){ 
  #header {
    width: 100%;
  }
  #h_cover {
    width: 100%;
  }
  #h_heading_wrap {
    overflow: hidden;
  }
  #h_heading_text {
    width: 100%;
    padding: 0.5rem 1rem;
    font-size: 1.2rem;
    color: #ffffff;
    background-color: #164f7d;
    overflow-x: scroll;
    white-space: nowrap;
  }
  #h_logo {
    float: left;
    padding: 1rem;
  }
  #h_logo {
    float: left;
    padding: 1rem;
  }
  #h_logo img {
    height: 4rem;
  }
  .sdgs_mark {
    float: left;
    padding: 1rem;
  }
  .sdgs_mark img {
    height: 4rem;
  }
  /* ナビバック */
  #h_nav_modal {
    background: rgba(0, 0, 0, .7);
    width: 100%;
    height: 100%;
    left: 0;
    opacity: .1;
    position: fixed;
    top: 0;
    z-index: 103;
    visibility: hidden;
    webkit-transition: visibility 0 linear .4s, opacity .4s;
    -moz-transition: visibility 0 linear .4s, opacity .4s;
    transition: visibility 0 linear .4s, opacity .4s;
    webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
  }
  #h_nav_modal.on {
    opacity: 1;
    webkit-transition-delay: 0;
    -moz-transition-delay: 0;
    transition-delay: 0;
    visibility: visible;
  }
  /* ハンバーガー */
  #h_toggle_btn {
    display: block;
    position: absolute;
    width: 32px;
    height: 26px;
    top: 4.2rem;
    right: 1.6rem;
    z-index: 105;
  }
  #h_toggle_btn span{
    display: block;
    height: 3px;
    background: #164f7d;
    position:absolute;
    width: 100%;
    left: 0;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;	
  }
  #h_toggle_btn span:nth-child(1){
    top:0px;
  }
  #h_toggle_btn span:nth-child(2){
    top:12px;
  }
  #h_toggle_btn span:nth-child(3){
    top:24px;
  }
  #h_toggle_btn.open {
    position: fixed;
  }
  #h_toggle_btn.open span:nth-child(1) {
    top: 12px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
    background: #fff;
  }
  #h_toggle_btn.open span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  #h_toggle_btn.open span:nth-child(3) {
    top: 12px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
    background: #fff;
  }
  /* メニュー */
  #h_nav {
    background: #164f7d;
    display: block;
    width: 80%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 104;
    visibility: hidden;
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    transform: translateX(-100%);
    webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transition: all .3s linear;
    -moz-transition: all .3s linear;
    transition: all .3s linear;
  }
  #h_nav.on {
    visibility: visible;
    -webkit-transform: translateX(0px);
    -moz-transform: translateX(0px);
    -ms-transform: translateX(0px);
    -o-transform: translateX(0px);
    transform: translateX(0px);
  }
  #h_nav .logo {
    padding: 2rem 0;
    text-align: center;
  }
  #h_nav .logo img {
    height: 4rem;
  }
  #h_nav li a {
    position: relative;
    display: block;
    color: #fff;
    font-size: 1.4rem;
    padding: 1.5em 0;
    padding-right: 3em;
    border-bottom: 1px dashed #1a5a8f;
  }
  #h_nav .sub-menu li a {
    padding-left: 1em;
    font-size: 1.2rem;
    font-weight: 300;
  }
  #h_nav li a:after {
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  #first_nav {
    padding: 0 2rem;
  }
}
@media screen and (min-width:1025px){ 
  #header {
    width: 100%;
  }
  #h_cover {
    margin: 0 auto;
    border-bottom: 1px solid #d9d1c6;
  }
  #h_heading_text {
    width: 100%;
    padding: 0.5rem 1rem;
    font-size: 1.2rem;
    color: #ffffff;
    background-color: #164f7d;
    box-sizing: border-box;
  }
  #h_logo {
    float: left;
    padding: 2rem;
  }
  #h_logo img {
    height: 6rem;
  }
  #h_logo a img {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #h_logo a:hover img {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .sdgs_mark {
    float: left;
    padding: 2rem;
  }
  .sdgs_mark img {
    height: 6rem;
  }
  /* ハンバーガー */
  #h_toggle_btn {
    display: none;
  }
  /* メニュー */
  #h_nav {
    float: right;
  }
  #h_nav .logo {
    display: none;
  }
  #h_nav li {
    display: inline-block;
  }
  #h_nav li a {
    text-decoration: none;
  }
  #first_nav {
    text-align: right;
  }
  #first_nav > ul > li {
    display: inline-block;
  }
  #first_nav > ul > li > a {
    display: block;
    color: #164f7d;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 10rem;
    padding: 0 1.5em;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;	
  }
  #first_nav > ul > li > a:hover {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;	
  }
  #h_nav .sub-menu {
    position: absolute;
    display: none;
    z-index: 100;
    background: #164f7d;
  }
  #h_nav .sub-menu li {
    display: block;
  }
  #h_nav .sub-menu li a {
    position: relative;
    display: block;
    padding: 1em 3em 1em 1em;
    color: #fff;
    font-weight: 300;
    border-top: 1px solid #d9d1c6;
  }
  #h_nav .sub-menu li a:hover {
    background: #1b5f96;
  }
  #h_nav .sub-menu li a:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: 'FontAwesome';
  }
}
/******************************************************
フッター
******************************************************/
@media screen and (max-width:1024px){
  #footer .f_inner {
    padding: 4rem 1.5rem;
  }
  #footer_nav {
    margin-bottom: 2rem;
  }
  #footer_nav .nav_list .title a {
    position: relative;
    display: block;
    padding: 1rem 0;
    font-weight: bold;
    border-bottom: 1px solid #d9d1c6;
  }
  #footer_nav .nav_list li a {
    position: relative;
    display: block;
    padding: 1rem 2em 1rem 1rem;
    font-size: 1.2rem;
    border-bottom: 1px solid #d9d1c6;
  }
  #footer_nav .nav_list .title a:after,
  #footer_nav .nav_list li a:after {
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  #f_address {
    line-height: 2;
  }
  #f_address .title {
    color: #164f7d;
    font-size: 1.6rem;
    font-weight: bold;
  }
  #f_address .tel,
  #f_address .tel a {
    color: #164f7d;
  }
  #f_address .address {
    font-size: 1.2rem;
  }
  #copyright {
    display: block;
    padding-bottom: 6rem;
    color: #fff;
    font-size: 1.2rem;
    line-height: 5rem;
    text-align: center;
    background: #14456e;
  }
}
@media screen and (min-width:1025px){ 
  #footer {
    color: #fff;
    background: #164f7d;
  }
  #footer .f_inner {
    width: 1000px;
    margin: 0 auto;
    padding: 5rem 0;
  }
  #footer_nav {
    float: right;
    width: 70%;
  }
  #footer_nav .nav_list {
    font-size: 0;
  }
  #footer_nav .nav_list a {
    color: #fff;
  }
  #footer_nav .nav_list .nav {
    display: inline-block;
    width: 23.5%;
    margin-right: 2%;
    font-size: 1.4rem;
    vertical-align: top;
  }
  #footer_nav .nav_list .nav:nth-child(4) {
    margin-right: 0;
  }
  #footer_nav .nav_list .title {
    font-weight: bold;
    margin-bottom: 1rem;
  }
  #footer_nav .nav_list li {
    margin-bottom: 1rem;
    font-size: 1.2rem;
  }
  
  
  
  
  
  
  

  #f_address {
    float: left;
    width: 26%;
  }
  #f_address a {
    color: #fff;
  }
  #f_address .title {
    margin-bottom: 1rem;
    font-size: 1.6rem;
    font-weight: bold;
  }
  #f_address .tel {
    margin-bottom: 1rem;
  }
  #f_address .address {
    font-size: 1.2rem;
  }
  #copyright {
    display: block;
    color: #fff;
    font-size: 1.2rem;
    line-height: 5rem;
    text-align: center;
    background: #14456e;
  }
}
/******************************************************
トップページ
******************************************************/
@media screen and (max-width:1024px){
  .top_section h2 {
    margin-bottom: 2.5rem;
    font-size: 1.2rem; 
    text-align: center;
    line-height: 1.5;
  }
  .top_section h2 span {
    color: #164f7d;
    font-size: 1.8rem;
    font-weight: bold;
  }
  .top_section h2.white,
  .top_section h2.white span {
    color: #fff;
  }
  /* メインキャッチ */
  #top_catch {
    height: calc(100vh - 12rem);
    display: table;
    background-size: cover;
  }
  #top_catch .inner {
    display: table-cell;
    padding: 0;
    vertical-align: middle;
  }
  #top_catch .message {
    margin-bottom: 2.5rem;
    padding: 0 3rem;
    text-align: center;
  }
  #top_catch .image {
    padding: 0 3.5rem;
  }
  #top_strong {
    margin-bottom: 5rem;
  }
  /* 取り扱い分野 */
  #top_works {
    margin-bottom: 5rem;
  }
  #top_works .inner {
    padding: 1.5rem 0;
    border-top: 1px solid #d9d1c6;
    border-bottom: 1px solid #d9d1c6;
  }
  #top_works .office_data {
    background: url(images/top_bg002.jpg) center center no-repeat;
    background-size: cover;
  }
  #top_works .office_data .office_inner {
    display: inline-block;
    padding: 2.4rem 1.2rem;
    color: #fff;
    background: rgba(9,54,91,.75);
  }
  #top_works li:nth-child(n+2) {
    margin-top: 1rem;
  }
  #top_works .top_btn > * {
    position: relative;
    display: block;
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
    padding: 1em 3em;
    border: 2px solid #fff;
  }
  #top_works .top_btn > *:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  /* 重点分野 */
  #top_strong .message span {
    color: #164f7d;
  }
  #top_strong ul {
    font-size: 0;
    text-align: left;
    list-style: none;
  }
  #top_strong li {
    display: inline-block;
    width: 50%;
    padding-bottom: 1.5rem;
    font-size: 1.4rem;
    box-sizing: border-box;
    border-bottom: 1px solid #d9d1c6;
  }
  #top_strong li:nth-child(n+3) {
    padding-top: 1.5rem;
  }
  #top_strong li:nth-child(odd) {
    padding-right: .7rem;
    border-right: 1px solid #d9d1c6;
  }
  #top_strong li:nth-child(even) {
    width: calc(50% - 1px);
    padding-left: .7rem;
  }
  #top_strong li .image {
    margin-bottom: 1rem;
  }
  #top_strong li h3 {
    margin-bottom: 1rem;
    font-size: 1.3rem;
    text-align: center;
  }
  #top_strong li h3 span {
    color: #164f7d;
    font-size: 1.4rem;
    font-weight: bold;
  }
  #top_strong li .top_btn {
    text-align: center;
  }
  #top_strong li .top_btn > * {
    position: relative;
    display: block;
    color: #fff;
    text-align: center;
    line-height: 4rem;
    background: #164f7d;
  }
  #top_strong li .top_btn > *:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  /*　弁護士からのメッセージ */
  #top_message {
    margin-bottom: 1.5rem;
  }
  #top_message .message_box {
    margin-bottom: 2rem;
  }
  #top_message .image {
    float: left;
    width: 32%;
    margin-bottom: 2rem;
  }
  #top_message .data {
    float: right;
    width: 64%;
  }
  #top_message .data h3 {
    font-size: 1.6rem;
    font-weight: bold;
  }
  #top_message .data dt {
    margin-bottom: .5em;
    padding-bottom: .5em;
    color: #164f7d;
    border-bottom: 1px solid #d9d1c6;
  }
  #top_message .data dd {
    font-size: 1.2rem;
  }
  #top_message .message {
    clear: both;
    position: relative;
    margin-bottom: 2rem;
    padding: 2rem 1.5rem;
    background: #fff;
  }
  #top_message .title {
    position: absolute;
    top: -1rem;
    right: 1.5rem;
    color: #164f7d;
    font-size: 2rem;
    line-height: 1;
    font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "游明朝体", "Yu Mincho", YuMincho, "MS PMincho", "Times New Roman", serif;
  }
  #top_message p {
    font-size: 1.4rem;
    margin: 0;
  }
  #top_message .top_btn > * {
    position: relative;
    display: block;
    color: #fff;
    text-align: center;
    line-height: 4rem;
    background: #164f7d;
  }
  #top_message .top_btn > *:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  /* 事務所紹介 */
  #top_office {
    margin-bottom: 5rem;
  }
  #top_office .inner {
    padding: 1.5rem 0;
    border-top: 1px solid #d9d1c6;
    border-bottom: 1px solid #d9d1c6;
  }
  #top_office .office_data {
    margin-bottom: 1.5rem;
    padding: 1.5rem 0;
    text-align: center;
    background: url(images/top_bg002.jpg) center center no-repeat;
    background-size: cover;
  }
  #top_office .office_data .office_inner {
    display: inline-block;
    padding: 2.4rem 1.2rem;
    color: #fff;
    text-align: center;
    background: rgba(9,54,91,.75);
  }
  #top_office .top_btn > * {
    position: relative;
    display: block;
    margin: 0 1.5rem;
    color: #fff;
    text-align: center;
    line-height: 4rem;
    border: 2px solid #fff;
  }
  #top_office .top_btn > *:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  #top_office .map {
    margin-bottom: .5rem;
  }
  /* 事務所からのお知らせ */
  #top_information .information {
    margin-bottom: 3.5rem;
  }
  #top_information .information ul {
    margin-bottom: 1.5rem;
    font-size: 0;
    text-align: left;
  }
  #top_information .information li {
    padding: 1em 0;
    font-size: 1.4rem;
    border-bottom: 1px solid #d9d1c6;
  }
  #top_information .information li:first-child {
    padding-top: 0;
  }
  #top_information .information li .image {
    margin-bottom: .5rem;
  }
  #top_information .information li .time {
    display: block;
    color: #164f7d;
    font-weight: bold;
    font-size: 1.4rem;
    text-align: left;
  }
  #top_information .information li h3 {
    font-size: 1.4rem;
  }
  #top_information .information .top_btn > * {
    position: relative;
    display: block;
    color: #fff;
    text-align: center;
    line-height: 4rem;
    background: #164f7d;
  }
  #top_information .information .top_btn > *:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  
  
  
  
  
  #top_information .column ul {
    margin-bottom: 1.5rem;
    font-size: 0;
    text-align: left;
  }
  #top_information .column li {
    padding: 1em 0;
    font-size: 1.4rem;
    border-bottom: 1px solid #d9d1c6;
  }
  #top_information .column li:first-child {
    padding-top: 0;
  }
  #top_information .column li .image {
    float: left;
    width: 28%;
  }
  #top_information .column li .data {
    float: right;
    width: 68%;
  }
  #top_information .column li .time {
    display: block;
    font-weight: bold;
    font-size: 1.4rem;
    color: #164f7d;
  }
  #top_information .column li h3 {
    font-size: 1.4rem;
  }
  #top_information .column .top_btn > * {
    position: relative;
    display: block;
    color: #fff;
    text-align: center;
    line-height: 4rem;
    background: #164f7d;
  }
  #top_information .column .top_btn > *:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  
  
  
  
}
@media screen and (min-width:1025px){
  .top_section h2 {
    margin-bottom: 3rem;
    font-size: 1.4rem; 
    text-align: center;
    line-height: 1.5;
  }
  .top_section h2 span {
    color: #164f7d;
    font-size: 3rem;
    font-weight: bold;
  }
  .top_section h2.white,
  .top_section h2.white span {
    color: #fff;
  }
  /* メインキャッチ */
  #top_catch {
    padding: 8rem 0;
    text-align: center;
    background-size: cover;
  }
  #top_catch .message {
    margin-bottom: 8rem;
  }
  #top_catch .message img.pc {
    display: inline!important;
  }
  #top_catch .image {
    text-align: center;
  }
  #top_catch .image img {
    width: 480px;
  }
  /* 取り扱い分野 */
  #top_works {
    text-align: center;
    background: url(images/top_bg002.jpg) center center no-repeat;
    background-size: cover;
  }
  #top_works .inner {
    width: 100%;
    padding: 8rem 0 10rem;
    margin: 0;
    background: rgba(9,54,91,.75);
  }
  #top_works .office_data .office_inner {
    width: 1000px;
    margin: 0 auto;
    color: #fff;
  }
  #top_works p {
    font-size: 1.6rem;
    margin-bottom: 3rem;
  }
  #top_works ul {
    font-size: 0;
    text-align: left;
  }
  #top_works li {
    display: inline-block;
    width: 23.5%;
    margin-right: 2%;
    fotn-size: 1.4rem;
  }
  #top_works li:nth-child(4),
  #top_works li:nth-child(7) {
    margin-right: 0;
  }
  #top_works li:nth-child(n+5) {
    margin-top: 2rem;
  }
  #top_works li:nth-child(5) {
    width: 49%;
  }
  #top_works .top_btn > * {
    position: relative;
    display: block;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    padding: 1.5em 2em;
    border: 2px solid #fff;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;	
  }
  #top_works .top_btn > *:hover {
    color: #164f7d;
    background: #fff;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;	
  }
  #top_works .top_btn > *:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  /* 重点分野 */
  #top_strong {
    padding: 8rem 0 10rem;
  }
  #top_strong .message {
    margin-bottom: 3rem;
    text-align: center;
  }
  #top_strong .message span {
    color: #164f7d;
  }
  #top_strong ul {
    font-size: 0;
    text-align: left;
    list-style: none;
  }
  #top_strong li {
    display: inline-block;
    width: 32%;
    margin-right: 2%;
    font-size: 1.4rem;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;	
  }
  #top_strong li:hover {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;	
  }
  #top_strong li a {
    text-decoration: none;
  }
  #top_strong li:nth-child(3n) {
    margin-right: 0;
  }
  #top_strong li:nth-child(n+4) {
    margin-top: 5rem;
  }
  #top_strong li .image {
    margin-bottom: 1rem;
  }
  #top_strong li h3 {
    margin-bottom: 1rem;
    font-size: 1.2rem;
    text-align: center;
  }
  #top_strong li h3.number3 {
    padding: .9rem 0;
  }
  #top_strong li h3 span {
    color: #164f7d;
    font-size: 1.4rem;
    font-weight: bold;
  }
  #top_strong li .top_btn {
    text-align: center;
  }
  #top_strong li .top_btn > * {
    position: relative;
    display: block;
    color: #fff;
    text-align: center;
    line-height: 4rem;
    background: #164f7d;
  }
  #top_strong li .top_btn > *:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  /*　弁護士からのメッセージ */
  #top_message {
    padding-bottom: 10rem;
  }
  #top_message .message_box {
  }
  #top_message .image {
    float: left;
    width: 32%;
  }
  #top_message .data {
    float: right;
    width: 64%;
  }
  #top_message .data h3 {
    margin-bottom: 1rem;
    font-size: 2rem;
    font-weight: bold;
  }
  #top_message .data dl {
    margin-bottom: 2rem;
  }
  #top_message .data dt {
    margin-bottom: .5em;
    padding-bottom: .5em;
    color: #164f7d;
    font-size: 1.6rem;
    font-weight: bold;
    border-bottom: 1px solid #d9d1c6;
  }
  #top_message .data dd {
  }
  #top_message .message {
    float: right;
    width: 64%;
    position: relative;
    margin-bottom: 3rem;
    padding: 2rem 1.5rem;
    background: #fff;
    box-sizing: border-box;
  }
  #top_message .title {
    position: absolute;
    top: -1rem;
    right: 1.5rem;
    color: #164f7d;
    font-size: 2rem;
    line-height: 1;
    font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "游明朝体", "Yu Mincho", YuMincho, "MS PMincho", "Times New Roman", serif;
  }
  #top_message p {
    margin: 0;
  }
  #top_message .top_btn {
    float: right;
    width: 64%;
    text-align: right;
  }
  #top_message .top_btn > * {
    text-decoration: none;
    position: relative;
    display: inline-block;
    width: 360px;    
    color: #fff;
    text-align: center;
    line-height: 5rem;
    background: #164f7d;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #top_message .top_btn > *:hover {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #top_message .top_btn > *:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  /* 事務所紹介 */
  #top_office {
    padding: 8rem 0 7rem;
    background: url(images/top_bg002.jpg) center center no-repeat;
    background-size: cover;
  }
  #top_office .office_data {
    float: left;
    width: 39%;
    padding: 5.2rem 0;
    text-align: center;
    background: rgba(9,54,91,.75);
  }
  #top_office .office_data .office_inner {
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
  }
  #top_office .top_btn > * {
    position: relative;
    display: block;
    width: 300px;
    margin: 0 auto;
    color: #fff;
    text-align: center;
    text-decoration: none;
    line-height: 5rem;
    border: 2px solid #fff;
  }
  #top_office .top_btn > *:hover {
    color: #164f7d;
    background: #fff;      
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #top_office .top_btn > *:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  #top_office .map_area {
    float: right;
    width: 59%;
  }
  #top_office .map {
    margin-bottom: 1rem;
  }
  #top_office .map iframe{
    width: 100%;
    height: 370px;
  }
  #top_office .map_area p {
    color: #164f7d;
  }
  /* 事務所からのお知らせ */
  #top_information {
    padding: 8rem 0 10rem;
  }

  
  
  
  
  
  /* 事務所からのお知らせ */
  #top_information a {
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #top_information li:hover {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #top_information .information {
    margin-bottom: 3.5rem;
  }
  #top_information .information ul {
    margin-bottom: 1.5rem;
    font-size: 0;
    text-align: left;
  }
  #top_information .information li {
    padding: 1.6em 0;
    font-size: 1.4rem;
    border-bottom: 1px solid #d9d1c6;
  }
  #top_information .information li:first-child {
    padding-top: 0;
  }
  #top_information .information li .image {
    margin-bottom: .5rem;
  }
  #top_information .information li .time {
    color: #164f7d;
    font-weight: bold;
    font-size: 1.4rem;
    text-align: left;
  }
  #top_information .information li h3 {
    font-size: 1.4rem;
  }
  #top_information .information .top_btn > * {
    position: relative;
    display: block;
    color: #fff;
    text-align: center;
    line-height: 4rem;
    background: #164f7d;
  }
  #top_information .information .top_btn > *:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #top_information .information .top_btn:hover {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  
  
  
  #top_information .column ul {
    margin-bottom: 1.5rem;
    font-size: 0;
    text-align: left;
  }
  #top_information .column li {
    padding: 1em 0;
    font-size: 1.4rem;
    border-bottom: 1px solid #d9d1c6;
  }


  #top_information .column li .image {
    float: left;
    width: 18%;
  }
  #top_information .column li .data {
    float: right;
    width: 78%;
  }
  #top_information .column li .time {
    display: block;
    color: #164f7d;
    font-weight: bold;
    font-size: 1.4rem;
    text-align: left;
  }
  #top_information .column li h3 {
    font-size: 1.4rem;
  }
  #top_information .column .top_btn > * {
    position: relative;
    display: block;
    color: #fff;
    text-align: center;
    line-height: 4rem;
    background: #164f7d;
  }
  #top_information .column .top_btn > *:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #top_information .column .top_btn:hover {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  
  
  
  
  
  
  
  
}
/******************************************************
下層ページ
******************************************************/
@media screen and (max-width:1024px){
  #breadcrumb .inner {
    border-top: 1px solid #d9d1c6;
  }
  /* 見出し */
  .page_title {
    margin-bottom: 0;
    padding: 2rem 0;
    color: #164f7d;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
  }  
  #page .post_title {
    margin-bottom: 3rem;
    font-size: 2rem;
    font-weight: bold;
  }
  #page h2 {
    padding-bottom: 1rem;
    margin-bottom: 2rem;
    color: #164f7d;
    font-size: 1.6rem;
    font-weight: bold;
    border-bottom: 1px solid #d9d1c6;
  }
  #page h3 {
    margin-bottom: 1rem;
    padding: 1rem;
    color: #fff;
    text-align: center;
    background: #164f7d;
  }
  #page h4 {
    margin-bottom: 1rem;
    color: #164f7d;
    font-size: 1.6rem;
    font-weight: bold;
  }
  #page .box {
    margin-bottom: 3rem;
  }
  #page .image {
    margin-bottom: 1em;
    text-align: center;
  }
  #page .time {
    margin-bottom: 1rem;
    color: #164f7d;
    font-weight: bold;
  }
  #page table {
    margin-bottom: 1em;
  }
  #page .page_btn {
    text-align: center;
  }
  #page .page_btn a {
    text-decoration: none;
    position: relative;
    display: inline-block;
    width: 80%;
    color: #fff;
    line-height: 5rem;
    background: #d83437;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #page .page_btn a:nth-child(n+2) {
    margin-top: 2rem;
  }
  #page .page_btn a:hover {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #page .page_btn a:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  #page .table_title {
    margin-bottom: .5em;
    color: #164f7d;
    font-size: 1.6rem;
    font-weight: bold;
  }
  #page .price {
    color: #164f7d;
    font-weight: bold;
  }
  #sidebar .title {
    margin-bottom: 1rem;
    padding: 1rem;
    color: #fff;
    text-align: center;
    background: #164f7d;
    border-bottom: none;
    font-weight: normal;
    font-size: 1.4rem;
  }
  #sidebar .side_box ul,
  #sidebar .side_box li {
    margin: 0!important;
    padding: 0!important;
    list-style: none!important;
  }
  #sidebar .side_box ul {
    margin-bottom: 1rem!important;
  }
  #sidebar .side_box li a {
    text-decoration: none;
    position: relative;
    display: block;
    padding: 1em 3em 1em 0;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #sidebar .side_box li:nth-child(n+2) {
    border-top: 1px solid #d9d1c6;
  }
  #sidebar .side_box li a:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #sidebar .side_box li a:hover:after {
    right: 0;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #news_list ul {
    font-size: 0;
    text-align: left;
    list-style: none;
  }
  #news_list li {
    padding: 1em 0;
    font-size: 1.4rem;
    vertical-align: top;
    border-bottom: 1px solid #d9d1c6;
  }
  #news_list li:first-child {
    padding-top: 1em;
  }
  #news_list li:hover {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #news_list .time {
    color: #164f7d;
    font-weight: bold;
  }
  #news_list h2 {
    font-weight: 1.6rem;
    font-weight: bold;
  }
  #news_list a {
    text-decoration: none;
  }
  
  
  
  
  
  #column_list ul {
    font-size: 0;
    text-align: left;
    list-style: none;
  }
  #column_list li {
    display: inline-block;
    width: 49%;
    margin-right: 2%;
    font-size: 1.4rem;
    vertical-align: top;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #column_list li:hover {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #column_list li:nth-child(2n) {
    margin-right: 0;
  }
  #column_list li:nth-child(n+3) {
    margin-top: 5rem;
  }
  #column_list .time {
    color: #164f7d;
    font-weight: bold;
  }
  #column_list h2 {
    font-weight: 1.6rem;
    font-weight: bold;
  }
  #column_list a {
    text-decoration: none;
  }
  
  
  
  
  
  
  .privacy dt {
    color: #164f7d;
    font-weight: bold;
  }
  #page .sdgs_logo {
    margin-bottom: 3rem;
    text-align: center;
  }
  #page .sdgs_logo img {
    width: 80%;
  }
  #page .sdgs ul,
  #page .sdgs li {
    margin: 0;
    padding: 0;
    list-style: none!important;
  }
  #page .sdgs ul {
    font-size: 0;
    text-align: left;
  }
  #page .sdgs li {
    display: inline-block;
    width: 32%;
    margin-right: 2%;
    font-size: 1.4rem;
    vertical-align: top;
  }
  #page .sdgs li:nth-child(3n) {
    margin-right: 0;
  }
  #page .sdgs li:nth-child(n+4) {
    margin-top: .6rem;
  }
  
  /* 投稿ページ */
  #page .post h1 {
    margin-bottom: 3rem;
    color: #164f7d;
    font-size: 2rem;
    font-weight: bold;
  }
  #page .post a {
    color: #164f7d;
    text-decoration: underline;
  }
  #page .post a:hover {
    text-decoration: none;
  }
  #page .post blockquote {
    padding: 0 2em;
  }
  #page .post blockquote {
    position: relative;
  }
  #page .post blockquote p:last-child {
    margin-bottom: 0;
  }
  #page .post blockquote:before {
    content: "“";
    position: absolute;
    top: 0;
    left: 0;
    line-height: 1;
    font-size: 2em;
  }
  #page .post blockquote:after {
    content: "”";
    position: absolute;
    bottom: 0;
    right: 0;
    line-height: 1;
    font-size: 2em;
  }
  #page .post em {
    font-style: italic;
    vertical-align: baseline;
  }
  .contact_form th,
  .contact_form td {
    display: block;
    width: 100%!important;
    min-height: 5rem;
    box-sizing: border-box;
  }
  .contact_form input {
    box-sizing: border-box;
  }
  .contact_form .back_btn,
  .contact_form .confirm_btn {
    width: 120px;
  }
  .contact_box {
    padding: 2rem;
    text-align: center;
    background: #fff;
  }
  .contact_box a {
    color: #164f7d;
  }
  .contact_tel,
  .contact_mail {
    color: #164f7d;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .contact_box p:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width:1025px){
  /* 見出し */
  .page_title {
    margin-bottom: 0;
    padding: 5rem 0;
    color: #164f7d;
    font-size: 2.8rem;
    font-weight: bold;
    text-align: center;
  }  
  #page .post_title {
    margin-bottom: 3rem;
    font-size: 2rem;
    font-weight: bold;
  }
  #page h2 {
    padding-bottom: 1rem;
    margin-bottom: 3rem;
    color: #164f7d;
    font-size: 2.4rem;
    font-weight: bold;
    border-bottom: 1px solid #d9d1c6;
  }
  #page h3 {
    margin-bottom: 1rem;
    padding: 1rem;
    color: #fff;
    text-align: center;
    background: #164f7d;
  }
  #page h4 {
    margin-bottom: 1rem;
    color: #164f7d;
    font-size: 1.6rem;
    font-weight: bold;
  }
  #page .box {
    margin-bottom: 3rem;
  }
  #page .image {
    margin-bottom: 1em;
  }
  #page .time {
    margin-bottom: 1rem;
    color: #164f7d;
    font-weight: bold;
  }
  #page table {
    margin-bottom: 1em;
  }
  #page .page_btn {
    text-align: center;
  }
  #page .page_btn a {
    text-decoration: none;
    position: relative;
    display: inline-block;
    width: 360px;
    color: #fff;
    line-height: 5rem;
    background: #d83437;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #page .page_btn a:hover {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #page .page_btn a:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
  }
  #page .table_title {
    margin-bottom: .5em;
    color: #164f7d;
    font-size: 1.6rem;
    font-weight: bold;
  }
  #page .price {
    color: #164f7d;
    font-weight: bold;
  }
  #sidebar .title {
    margin-bottom: 1rem;
    padding: 1rem;
    color: #fff;
    text-align: center;
    background: #164f7d;
    border-bottom: none;
    font-weight: normal;
    font-size: 1.4rem;
  }
  #sidebar .side_box ul,
  #sidebar .side_box li {
    margin: 0!important;
    padding: 0!important;
    list-style: none!important;
  }
  #sidebar .side_box ul {
    margin-bottom: 1rem!important;
  }
  #sidebar .side_box li a {
    text-decoration: none;
    position: relative;
    display: block;
    padding: 1em 3em 1em 0;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #sidebar .side_box li:nth-child(n+2) {
    border-top: 1px solid #d9d1c6;
  }
  #sidebar .side_box li a:after {
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -.5em;
    line-height: 1;
    content: "\f105";
    font-family: "FontAwesome";
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #sidebar .side_box li a:hover:after {
    right: 0;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #news_list ul {
    font-size: 0;
    text-align: left;
    list-style: none;
  }
  #news_list li {
    padding: 1.7em 0;
    font-size: 1.4rem;
    vertical-align: top;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    border-bottom: 1px solid #d9d1c6;
  }
  #news_list li:first-child {
    padding-top: 0;
  }
  #news_list li:hover {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #news_list .time {
    color: #164f7d;
    font-weight: bold;
  }
  #news_list h2 {
    font-weight: 1.6rem;
    font-weight: bold;
  }
  #news_list a {
    text-decoration: none;
  }
  
  #column_list ul {
    font-size: 0;
    text-align: left;
    list-style: none;
  }
  #column_list li {
    display: inline-block;
    width: 23.5%;
    margin-right: 2%;
    font-size: 1.4rem;
    vertical-align: top;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #column_list li:hover {
    opacity: .7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #column_list li:nth-child(4n) {
    margin-right: 0;
  }
  #column_list li:nth-child(n+5) {
    margin-top: 5rem;
  }
  #column_list .time {
    color: #164f7d;
    font-weight: bold;
  }
  #column_list h2 {
    font-weight: 1.6rem;
    font-weight: bold;
  }
  #column_list a {
    text-decoration: none;
  }
  .cover {
    margin-bottom: 10rem;
  }
  .privacy dt {
    color: #164f7d;
    font-weight: bold;
  }
  #page .sdgs_logo {
    margin-bottom: 3rem;
    text-align: center;
  }
  #page .sdgs_logo img {
    width: 60%;
  }
  #page .sdgs ul,
  #page .sdgs li {
    margin: 0;
    padding: 0;
    list-style: none!important;
  }
  #page .sdgs ul {
    font-size: 0;
    text-align: left;
  }
  #page .sdgs li {
    display: inline-block;
    width: 15%;
    margin-right: 2%;
    font-size: 1.4rem;
    vertical-align: top;
  }
  #page .sdgs li:nth-child(6n) {
    margin-right: 0;
  }
  #page .sdgs li:nth-child(n+7) {
    margin-top: 2rem;
  }
  /* 投稿ページ */
  #page .post h1 {
    margin-bottom: 4rem;
    color: #164f7d;
    font-size: 2em;
    font-weight: bold;
  }
  #page .post a {
    color: #164f7d;
    text-decoration: underline;
  }
  #page .post a:hover {
    text-decoration: none;
  }
  #page .post blockquote {
    padding: 0 3em;
  }
  #page .post blockquote {
    position: relative;
  }
  #page .post blockquote p:last-child {
    margin-bottom: 0;
  }
  #page .post blockquote:before {
    content: "“";
    position: absolute;
    top: 0;
    left: 0;
    line-height: 1;
    font-size: 3em;
  }
  #page .post blockquote:after {
    content: "”";
    position: absolute;
    bottom: 0;
    right: 0;
    line-height: 1;
    font-size: 3em;
  }
  #page .post em {
    font-style: italic;
    vertical-align: baseline;
  }
  .contact_form input.back_btn,
  .contact_form input.confirm_btn {
    width: 120px;
  }
  .contact_box {
    padding: 3rem;
    text-align: center;
    background: #fff;
  }
  .contact_box a {
    color: #164f7d;
  }
  .contact_tel,
  .contact_mail {
    color: #164f7d;
    font-size: 2em;
    font-weight: bold;
  }
  .contact_box p:last-child {
    margin-bottom: 0;
  }
}

.cta {
  display: flex;
  align-items: center;
  max-width: 1000px;
  margin: 0 auto 10rem;
  padding: 30px 45px;
  color: #fff;
  background-image: url(images/cta01.jpg);
  background-repeat: no-repeat;
  box-sizing: border-box;
  background-size: cover;
}

.cta__text-wrap {
  width: 58%;
  padding-right: 42px;
  box-sizing: border-box;
}

.cta__title {
  padding-bottom: 4px;
  margin-bottom: 15px;
  font-size: 2.2rem;
  border-bottom: 1px solid #fff;
  text-align: center;
}

.cta__tel-wrap {
  display: flex;
  justify-content: center;
}

.cta__text {
  padding-top: 18px;
  padding-right: 26px;
  font-size: 2rem;
  line-height: 1.5em;
}

.cta__tel {
  display: block;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1em;
}

.cta__tel-link {
  color: #fff;
  font-size: 4rem;
  line-height: 1.5em;
}

.cta__link-wrap {
  width: 42%;
}

.cta__mail-link {
  display: block;
  margin-bottom: 46px;
  padding: 0 35px 0 94px;
  color: #fff;
  font-size: 2.1rem;
  line-height: 76px;
  border: 2px solid #fff;
  background-color: rgba(37, 79, 121, 0.9);
  background-image: url(images/mail.svg), url(images/arrow.svg);
  background-repeat: no-repeat, no-repeat;
	background-position: left 33px center, right 24px center;
	background-size: 47px, 6px;
  box-sizing: border-box;
}

.cta__line-link {
  display: block;
  padding: 0 35px 0 94px;
  color: #fff;
  font-size: 2.1rem;
  line-height: 76px;
  text-align: center;
  border: 2px solid #fff;
  background-color: rgba(37, 79, 121, 0.9);
  background-image: url(images/line.svg), url(images/arrow.svg);
  background-repeat: no-repeat, no-repeat;
	background-position: left 37px center, right 24px center;
	background-size: 40px, 6px;
  box-sizing: border-box;
}

@media screen and (max-width: 1024px){
.cta {
  width: 100%;
  max-width: 1024px;
  flex-wrap: wrap;
  margin: 4rem 0 0;
  padding: 68px 20px 30px;
  background-image: url(images/cta01-sp.jpg);
}

.cta__text-wrap {
  width: 100%;
  padding-right: 0;
}

.cta__title {
  margin-bottom: 25px;
  font-size: 1.4rem;
}

.cta__tel-wrap {
  flex-wrap: wrap;
}

.cta__text {
  display: block;
  text-align: center;
  width: 100%;
  padding-top: 0;
  padding-right: 0;
  font-size: 1.4rem;
}

.cta__tel {
  width: 100%;
  margin-bottom: 10px;
}

.cta__link-wrap {
  width: 100%;
}

.cta__mail-link {
  width: 100%;
  max-width: 336px;
  margin: 0 auto 20px;
  padding: 0 35px 0 70px;
  font-size: 1.4rem;
  line-height: 56px;
  text-align: center;
	background-position: left 32px center, right 24px center;
	background-size: 40px, 6px;
}

.cta__line-link {
  width: 100%;
  max-width: 336px;
  margin: 0 auto;
  padding: 0 35px 0 70px;
  font-size: 1.4rem;
  line-height: 56px;
	background-position: left 37px center, right 24px center;
	background-size: 29px, 6px;
}
}

@media screen and (max-width: 400px){
#contents.post iframe {
  width: 100%;
}
}

.article__supervisor {
  position: relative;
  display: flex;
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 27px 20px 15px;
  border: 1px solid #454545;
  background-color: #fff;
}

.article__supervisor-label {
  position: absolute;
  top: -15px;
  left: 20px;
  height: 30px;
  padding: 0 20px;
  line-height: 30px;
  color: #fff;
  background-color: #454545;
}

.article__supervisor-img-wrap {
  width: 170px;
}

.article__supervisor-text-wrap {
  width: calc(100% - 170px);
  padding-left: 15px;
}

.article__supervisor-name {
  margin-bottom: 10px;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5em;
}

.article__supervisor-text {
  font-size: 1.3rem;
  line-height: 1.5em;
}

@media screen and (max-width: 1024px) {
.article__supervisor {
  margin-top: 36px;
  padding: 26px 9px 15px;
  border-right: none;
  border-left: none;
}

.article__supervisor-label {
  top: -12px;
  left: 10px;
  height: 25px;
  padding: 0 10px;
  font-size: 1.4rem;
  line-height: 25px;
}

.article__supervisor-img-wrap {
  width: 120px;
}

.article__supervisor-text-wrap {
  width: calc(100% - 120px);
  padding-left: 13px;
}

.article__supervisor-name {
  margin-bottom: 7px;
}

.article__supervisor-text {
  font-size: 1.2rem;
}
}

.column1Wrap {
  margin-bottom: 30px; }

.column2Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px; }
  .column2Wrap .columnBox {
    flex-basis: 100%;
    margin-bottom: 20px; }
  .column2Wrap.img140L img {
    display: block;
    width: 140px;
    height: auto;
    margin: 0 auto; }

.column3Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 15px; }
  .column3Wrap .columnBox {
    flex-basis: 100%;
    width: 100%;
    margin-bottom: 20px; }
    .column3Wrap .columnBox img {
      width: 100%; }
    .column3Wrap .columnBox p:last-child {
      margin-bottom: 0; }

.column4Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 15px; }
  .column4Wrap .columnBox {
    flex-basis: 100%;
    margin-bottom: 20px; }
    .column4Wrap .columnBox img {
      width: 100%; }
    .column4Wrap .columnBox p:last-child {
      margin-bottom: 0; }

.columnBox {
  overflow: hidden; }
  .columnBox img {
    align-self: baseline;
    max-width: 100%; }
  .columnBox p:last-of-type {
    margin-bottom: 0; }

@media print, screen and (min-width: 768px) {
  .column2Wrap.img140L img {
    display: block;
    width: 140px;
    height: auto;
    margin: 0 auto; }
  .column2Wrap.img140L .columnBox:nth-child(1) {
    flex-basis: 140px;
    width: 140px; }
  .column2Wrap.img140L .columnBox:nth-child(2) {
    flex-basis: calc(100% - 140px - 20px);
    width: calc(100% - 140px - 20px); }
  .column2Wrap .column2Wrap .columnBox {
    flex-basis: 45%; }
  .column2Wrap h2, .column2Wrap h3, .column2Wrap h4, .column2Wrap h5, .column2Wrap h6 {
    margin-top: 0; }

  .column3Wrap .column_box {
    flex-basis: 48%;
    width: 48%; }

  .column4Wrap {
    position: relative; }
    .column4Wrap .columnBox {
      flex-basis: 48%;
      width: 48%; } }
@media print, screen and (min-width: 992px) {
  .column2Wrap .columnBox {
    flex-basis: 48%;
    width: 48%; }
  .column2Wrap.img300L .columnBox:nth-child(1) {
    flex-basis: 300px;
    width: 300px; }
  .column2Wrap.img300L .columnBox:nth-child(2) {
    flex-basis: calc(100% - 300px - 20px);
    width: calc(100% - 300px - 20px); }
  .column2Wrap.img360L .columnBox:nth-child(1) {
    flex-basis: 360px;
    width: 360px; }
  .column2Wrap.img360L .columnBox:nth-child(2) {
    flex-basis: calc(100% - 360px - 30px);
    width: calc(100% - 360px - 30px); }

  .column3Wrap:after {
    content: "";
    width: 31%; }
  .column3Wrap .columnBox {
    flex-basis: 31%;
    width: 31%; }

  .column4Wrap {
    position: relative; }
    .column4Wrap:before {
      content: "";
      display: block;
      width: 23%;
      order: 1; }
    .column4Wrap:after {
      content: "";
      width: 23%;
      display: block; }
    .column4Wrap .columnBox {
      flex-basis: 23%;
      width: 23%; } }