@charset "utf-8";
/* CSS Document */
/*== 色見本集

*鈍い赤紫系の色　#b35b78
*鈍い青系の色　　#5f9ea0
*灰みの赤系の色　#bc8f8f
*あざやかな青緑系の色　#008080
*とても暗い無彩色　#696969

/*==スマートフォン用==*/
@media screen and (max-width:768px) {
  html {
    font-size: 90%;
  }
  /*スマートフォン用ヘッダー*/
  #gy_pc_head {
    display: none;
  }
  #gy_sp_head {
    display: inherit !important;
    height: auto;
    background: #FFF;
  }
  .gy_sp_head01 {
    background: #008080;
    padding: 0.5rem;
    color: #FFF;
    font-size: 0.8rem;
  }
  h1.gy_h101 {
    color: #FFF;
    font-size: 0.7rem;
    font-weight: normal;
    margin-bottom: 0;
  }
  .gy_sp_head02 {
    background: #FFF;
    padding: 0.5rem;
    color: #FFF;
    font-size: 0.8rem;
  }
  .gy_head02_logo {
    width: 100%;
    padding: 0.5rem 50px 0.5rem 0.5rem;
    font-size: 1.5rem;
    font-weight: bold;
    float: none;
    margin-left: 0;
    height: 100%;
    text-align: center;
  }
  .hamburger {
    display: block;
    position: fixed;
    z-index: 3;
    right: 0px;
    top: 0px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
    background: #FFF;
    border: 1px solid #008080;
  }
  .hamburger span {
    display: block;
    position: absolute;
    width: 30px;
    height: 2px;
    left: 6px;
    background: #008080;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .hamburger span:nth-child(1) {
    top: 10px;
  }
  .hamburger span:nth-child(2) {
    top: 20px;
  }
  .hamburger span:nth-child(3) {
    top: 30px;
  }
  /* スマホメニューを開いてる時のボタン */
  .hamburger.active span:nth-child(1) {
    top: 16px;
    left: 6px;
    background: #008080;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .hamburger.active span:nth-child(2), .hamburger.active span:nth-child(3) {
    top: 16px;
    background: #008080;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  /* メニュー背景　*/
  nav.globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    color: #008080;
    background: rgba(255, 255, 255, 0.8);
    text-align: center;
    width: 100%;
    opacity: 0;
    display: none;
    transition: opacity .6s ease, visibility .6s ease;
    height: 100%;
    padding-top: 50px;
  }
  nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }
  nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    transition: .4s all;
  }
  nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
  }
  nav.globalMenuSp ul li a {
    display: block;
    background: #FFF;
    color: #008080;
    font-weight: bold;
    padding: 1em 0;
    text-decoration: none;
    opacity: 0.8;
    border-bottom: #666 1px dotted;
  }
  nav.globalMenuSp ul li a:hover {
    background: #008080;
    color: #FFF;
  }
  /* クリックでjQueryで追加・削除 */
  nav.globalMenuSp.active {
    opacity: 100;
    display: block;
  }
  .gy_yyk {
    margin-right: 0;
    float: none;
  }
  .gy_yyk a {
    display: block;
    background-image: linear-gradient(0deg, #f0a222, #ff6800);
    padding: 0.5rem 3rem;
    border-radius: 10px;
    text-align: center;
    color: #FFF;
    font-size: 1.2rem;
    font-weight: bold;
    margin: 1rem auto;
    width: 80%;
  }
  .gy_yyk a span {
    display: block;
    font-size: 0.8rem;
  }
  .gy_yyk a:hover {
    opacity: 0.7;
  }
  /*フッター*/
  #gy_footer {
    border-top: #008080 5px solid;
  }
  .gy_footer_inner {
    padding: 2rem;
  }
  p.footer_p01 {
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
  }
  p.footer_p02 {
    text-align: center;
    font-size: 0.9rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
  }
  p.pc_copy {
    text-align: center;
    font-size: 0.9rem;
    margin: 2rem 0;
  }
  #page_top {
    width: 50px;
    height: 50px;
    position: fixed;
    right: 0;
    bottom: 0px;
    opacity: 1;
    border-radius: 50%;
  }
  #page_top a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
    background: #FFF;
    border: 1px #4CA1A3 solid;
  }
  #page_top a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f102';
    font-size: 2rem;
    color: #4CA1A3;
    position: absolute;
    width: 25px;
    height: 25px;
    top: 5px;
    bottom: 30px;
    right: 20px;
    left: 10px;
    margin: auto;
    text-align: center;
  }
  /*キャッチ部分*/
  #gy_catch {}
  .gy_catch_inner {
    background: #EEE;
    width: 100%;
    aspect-ratio: 2 / 1;
  }
  /*固定画像*/
  .gy_catch_image {
    width: 100%;
  }
  .gy_catch_image img {
    width: 100%;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    object-position: center center;
  }
  /*スライド*/
  .slide {}
  ul.slick01 {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  li.item {
    width: 100%;
    aspect-ratio: 2 / 1;
  }
  li.item img {
    width: 100%;
    object-fit: cover;
    object-position: center center;
  }
  /*TOPページコンテンツ*/
  #gy_index_contents {
    margin: 1rem 0;
  }
  .gy_pc_menu_side {
    display: none;
  }
  /*コンテンツ*/
  .gy_index_contents {
    padding: 0 0.5rem;
  }
  .gy_index_h3 {
    width: 100%;
    padding: 0.5rem;
    background-image: linear-gradient(0deg, #EFEFEF, #F3F3F3);
    border-radius: 10px;
    margin-bottom: 0.5rem;
  }
  h3.gy_index_h301 {
    border-left: #008080 5px solid;
    padding: 0.2rem;
    margin-bottom: 0;
    font-size: 1.2rem;
    font-weight: bold;
  }
  /*事務所からのお知らせ*/
  .gy_index_news {
    padding: 0 0.5rem 2rem;
  }
  .gy_index_news_inner {
    border: #DDD 1px dotted;
    padding: 0.5rem;
    margin: 0 0 0;
  }
  ul.gy_index_news_list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  ul.gy_index_news_list li {
    margin-bottom: 0.5rem;
  }
  ul.gy_index_news_list li a {
    display: block;
    padding: 0.5rem 1rem;
    border-bottom: #CCC 1px dotted;
  }
  ul.gy_index_news_list li a:hover {
    transition: 0.5s;
    color: #008080;
    border-bottom: #008080 1px dotted;
  }
  dl.gy_index_news_list_inner {}
  dl.gy_index_news_list_inner dt {
    text-align: left;
  }
  p.gy_index_news_list_inner_p {
    text-align: right;
    padding: 1rem 1rem 0;
  }
  p.gy_index_news_list_inner_p a {
    color: #008080;
  }
  p.gy_index_news_list_inner_p a:hover {
    text-decoration: underline;
    transition: 0.5s;
  }
  /*事務所について*/
  .gy_index_about {
    margin-bottom: 1rem;
  }
  .gy_index_about_left {
    padding: 0.5rem;
    display: flex;
    align-items: center;
    height: 100%;
  }
  .gy_index_about_left_inner {
    padding: 0.5rem;
  }
  p.gy_index_about_left_p01 {
    color: #008080;
    font-size: 1.1rem;
    font-weight: bold;
  }
  p.gy_index_about_left_p02 {
    line-height: 2;
    margin-bottom: 2rem;
  }
  .gy_index_about_left_link {
    margin: 1rem 0 1rem;
    text-align: center;
  }
  .gy_index_about_left_link a {
    display: block;
    width: 90%;
    margin: 0 auto 1rem;
    padding: 0.5rem 2rem;
    text-align: center;
    background: #008080;
    color: #FFF;
    font-size: 1.1rem;
    border: #008080 2px solid;
    border-radius: 10px;
  }
  .gy_index_about_left_link a:hover {
    text-align: center;
    background: #FFF;
    color: #008080;
    transition: 0.5s;
  }
  .gy_index_about_right {
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
  }
  .gy_index_about_right img {
    width: 80%;
    aspect-ratio: 2 / 1;
    margin: 0 auto;
    object-fit: cover;
    object-position: center center;
  }
  /*取り扱い業務*/
  .gy_index_tori {
    padding: 1rem;
    margin-bottom: 1rem;
  }
  .gy_index_tori_a {
    padding: 0 0.5rem 0.5rem;
    height: 100%;
  }
  .gy_index_tori_b {
    padding: 1rem;
    border: #eee 3PX solid;
    height: 100%;
  }
  p.gy_index_tori_c {
    width: 100%;
    padding: 0 0.5rem;
    border-bottom: #008080 2PX solid;
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
  }
  p.gy_index_tori_d {
    padding: 0.5rem;
    font-size: 0.9rem;
    line-height: 2;
  }
  p.gy_index_tori_e {
    text-align: right;
  }
  p.gy_index_tori_e a {
    padding: 0.5rem 1rem;
    font-weight: bold;
    color: #008080;
  }
  p.gy_index_tori_e a:hover {
    text-decoration: underline;
    transition: 0.5s;
  }
  /*相談・お問い合わせ*/
  .gy_index_sou {
    padding: 1rem;
    margin-bottom: 2rem;
  }
  .gy_index_sou_inner {
    padding: 0rem 0.5rem;
  }
  p.gy_index_sou_p02 {
    line-height: 2;
    margin-bottom: 0rem;
  }
  .gy_index_sou_inner_link {
    width: 90%;
    text-align: center;
    margin: 0rem auto 2rem;
  }
  .gy_index_sou_inner_link a {
    display: block;
    background-image: linear-gradient(0deg, #f0a222, #ff6800);
    padding: 0.5rem 0;
    border-radius: 10px;
    text-align: center;
    color: #FFF;
    font-size: 1.5rem;
    font-weight: bold;
    margin-top: 2rem;
  }
  .gy_index_sou_inner_link a span {
    display: block;
    color: #FFF;
    font-size: 1.5rem;
    font-weight: bold;
  }
  .gy_index_sou_inner_link a:hover {
    opacity: 0.8;
  }
  /*--固定ページコンテンツ--*/
  .gy_page_mid {
    background-image: linear-gradient(0deg, #FFF, #FAFAFA);
    margin-bottom: 1rem;
  }
  .gy_page_mid_inner {
    padding: 3rem 1rem 0;
  }
  .gy_page_contents {
    padding: 0 0.5rem;
  }
  .gy_page_contents_inner {
    padding: 1rem 0.5rem;
  }
  p.gy_page_bread {
    font-size: 0.8rem;
    margin: 0;
  }
  h2.gy_page_h2 {
    color: #008080;
    border-bottom: 3px solid;
    border-image: linear-gradient(to right, #008080, transparent) 1;
    padding: 0 0 1rem 1rem;
    font-size: 1.5rem;
    font-weight: bold;
  }
  /*事務所紹介*/
  h3.gy_page_h3 {
    position: relative;
    padding: 0.5rem 0 1rem;
    margin-bottom: 0.5rem;
    font-weight: bold;
    font-size: 1.2rem;
    background-image: linear-gradient(135deg, #008080 10%, #b2d5de 100%);
    background-repeat: no-repeat;
    background-size: 50% 0.4rem;
    background-position: bottom;
    text-align: left;
    color: #008080;
  }
  h4.gy_page_h4 {
    color: #008080;
    font-size: 1.2rem;
    border-bottom: 1px solid #008080;
    padding: 0.5rem;
    margin-bottom: 1rem;
  }
  h5.gy_page_h5 {
    color: #008080;
    font-size: 1.2rem;
    border-bottom: 2px solid #008080;
    padding: 0 0.5rem 0.5rem;
    font-weight: bold;
    margin-bottom: 0rem;
  }
  h5.gy_page_h5 span {
    color: #008080;
    font-size: 1rem;
    display: block;
  }
  .gy_page_text {
    padding: 0rem 0rem;
    margin-bottom: 1rem;
  }
  .gy_page_text_z {
    padding: 1rem 0rem;
    margin-bottom: 1rem;
  }
  p.gy_page_text_p {
    line-height: 2;
  }
  p.gy_page_text_p_right {
    text-align: right;
  }
  .gy_page_data {
    width: 90%;
    margin: 1rem auto 1rem;
    padding: 0rem;
    border: 1px solid #EEE;
  }
  dl.gy_page_data_table {
    border-bottom: 1px #CCC dotted;
    margin-bottom: 0.5rem;
  }
  dl.gy_page_data_table dt {
    padding: 0.5rem;
    text-align: left;
  }
  dl.gy_page_data_table dd {
    padding: 0.5rem;
  }
  .gy_page_data_table_map {
    height: 300px;
    padding: 1rem;
  }
  p.gy_page_data_p {
    border-bottom: 1px #CCC dotted;
    margin-bottom: 0.5rem;
    padding: 0.5rem;
  }
  p.gy_page_data_p span {
    margin-right: 1rem;
    font-weight: bold;
  }
  /*相談の流れ*/
  .gy_page_nag_a {
    width: 90%;
    margin: 1rem auto 0;
    background: #F9F9F9;
    padding: 1rem;
    border-radius: 10px;
  }
  p.gy_page_nag_a_p01 {
    font-weight: bold;
    font-size: 1.1rem;
    color: #008080;
    margin-bottom: 0.5rem;
  }
  p.gy_page_nag_a_p02 {
    padding: 0 1rem 1rem;
  }
  p.gy_page_nag_a_p03 {
    text-align: center;
    font-weight: bold;
    font-size: 1.4rem;
    color: #008080;
  }
  ul.gy_page_nag_a_p04 {
    width: 90%;
    margin: 0rem auto;
    padding: 1rem;
  }
  ul.gy_page_nag_a_p04 li {
    margin-bottom: 0.5rem;
  }
  p.gy_page_text_sono_p01 {
    padding: 1rem;
    line-height: 2;
    margin-bottom: 2rem;
  }
  span.red {
    color: #F00;
  }
  .gy_contact {
    margin: 2rem 0;
  }
  .gy_contact_list {
    border-bottom: #CCC 1px solid;
    margin-bottom: 1rem;
  }
  .gy_contact_list dt {
    padding: 1rem;
    text-align: left;
  }
  .gy_contact_list dd {
    padding: 1rem;
  }
  .gy_news_text {
    padding: 1rem;
    margin-bottom: 2rem;
    line-height: 2;
  }
  .gy_news_text p {
    line-height: 2;
  }
  .gy_news_text img {
    max-width: 100%;
    height: auto;
    display: block;
  }
  .gy_news_list {
    margin-bottom: 2rem;
  }
  .gy_news_list a {
    display: block;
    padding: 1rem;
    border: 1px dotted #DDD;
  }
  .gy_news_list a:hover {
    border: 1px dotted #008080;
    transition: 0.5s;
  }
  /*パンくずリスト*/
  .breadcrumbs {
    padding: 0.5rem;
    font-size: 90%;
    color: #008080;
  }
}