@charset "UTF-8";
/*--設定--*/
/*--基本設定--*/
html, body {
  overflow-x: hidden;
  overflow-y: visible; }

body {
  font-size: 20px;
  margin: 0;
  padding: 0;
  line-height: 1.8;
  color: #333;
  letter-spacing: 0.15em;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "游明朝", "Yu Mincho", "游明朝体", "Yu Mincho", "YuMincho", serif;
  background-color: #fff;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

a, a:link, a:visited, a:hover, a:active {
  text-decoration: none; }

h1, h2, h3 {
  margin: 0;
  padding: 0;
  font-weight: normal; }

img {
  max-width: 100%;
  height: auto;
  display: block;
  vertical-align: bottom; }

html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, figure {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

article, header, footer, aside, figure, figcaption, nav, section {
  display: block; }

ol, ul {
  list-style: none;
  list-style-type: none; }

/*--ページ設定--*/
.p0 {
  padding: 0 !important; }

.p5 {
  padding: 5% 0 !important; }

.p8 {
  padding: 8% 0 !important; }

.p10 {
  padding: 10% 0 !important; }

.pt0 {
  padding-top: 0 !important; }

.pt1 {
  padding-top: 1% !important; }

.pt3 {
  padding-top: 3% !important; }

.pt5 {
  padding-top: 5% !important; }

.pt8 {
  padding-top: 8% !important; }

.pt10 {
  padding-top: 10% !important; }

.pb0 {
  padding-bottom: 0 !important; }

.pb1 {
  padding-bottom: 1% !important; }

.pb3 {
  padding-bottom: 3% !important; }

.pb5 {
  padding-bottom: 5% !important; }

.pb8 {
  padding-bottom: 8% !important; }

.pb10 {
  padding-bottom: 10% !important; }

.mt0 {
  margin-top: 0 !important; }

.mt1 {
  margin-top: 1% !important; }

.mt3 {
  margin-top: 3% !important; }

.mt5 {
  margin-top: 5% !important; }

.mt8 {
  margin-top: 8% !important; }

.mt10 {
  margin-top: 10% !important; }

.mb0 {
  margin-bottom: 0 !important; }

.mb1 {
  margin-bottom: 1% !important; }

.mb3 {
  margin-bottom: 3% !important; }

.mb5 {
  margin-bottom: 5% !important; }

.mb8 {
  margin-bottom: 8% !important; }

.mb10 {
  margin-bottom: 10% !important; }

.w_80 {
  width: 80%;
  margin: 0 auto; }

/*=========================================
menu
=========================================*/
.menu_pc {
  width: 1100px;
  max-width: 100%;
  margin: 0 auto;
  padding: 1% 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between; }
  .menu_pc .menu_logo {
    width: 300px; }
  .menu_pc .menu_area_pc {
    width: 800px;
    display: flex;
    flex-direction: row;
    justify-content: flex-end; }
    .menu_pc .menu_area_pc li {
      padding-right: 3%;
      font-size: 95%; }
      .menu_pc .menu_area_pc li a, .menu_pc .menu_area_pc li a:link, .menu_pc .menu_area_pc li a:visited, .menu_pc .menu_area_pc li a:hover, .menu_pc .menu_area_pc li a:active {
        text-decoration: none; }
    .menu_pc .menu_area_pc li:hover {
      opacity: 0.8; }
    .menu_pc .menu_area_pc li:last-child {
      padding-right: 0; }

.hamburger {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 150;
  width: 30px;
  height: 30px;
  cursor: pointer; }

.hamburger.is-active span:nth-child(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(135deg); }

.hamburger.is-active span:nth-child(2) {
  opacity: 0; }

.hamburger.is-active span:nth-child(3) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-135deg); }

.hamburger span {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 2px;
  background-color: #333333;
  transition: transform .3s; }

.hamburger.is-active span {
  background-color: #333; }

.hamburger span:nth-child(1) {
  top: 30%; }

.hamburger span:nth-child(2) {
  top: 60%; }

.hamburger span:nth-child(3) {
  top: 90%; }

/*=========================================
#drawer
=========================================*/
.drawer {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 999999;
  width: 80%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.9);
  transition: opacity .3s, visibility .3s; }

.drawer.is-active {
  visibility: visible;
  opacity: 1;
  z-index: 990; }

.drawer-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 0 20px; }

.drawer__list {
  display: flex;
  flex-direction: column;
  gap: 50px;
  text-align: center; }

.drawer__link {
  color: #333; }

/* ===============================================
# 共通
=============================================== */
a {
  color: inherit;
  text-decoration: none; }

img {
  max-width: 100%;
  height: auto;
  background-size: cover;
  background-repeat: no-repeat;
  font-style: italic;
  vertical-align: middle;
  shape-margin: .75rem; }

.sp-show {
  display: none;
  z-index: 999; }

/* ===============================================
# 追随ボタン
=============================================== */
.right-fixed-banner {
  position: fixed;
  bottom: 20%;
  right: 0;
  z-index: 99999; }
  .right-fixed-banner .banner01 {
    width: 65px;
    margin-bottom: 20px; }
  .right-fixed-banner .banner02 {
    width: 65px; }
  .right-fixed-banner .banner01:hover, .right-fixed-banner .banner02:hover {
    opacity: 0.8; }

/*--all--*/
.txtwrapper {
  width: 1100px;
  max-width: 100%;
  margin: 0 auto;
  padding: 5% 0; }

.title {
  padding-bottom: 5%;
  text-align: center;
  font-size: 150%;
  font-weight: bold; }

.txt {
  padding-bottom: 5%;
  text-align: center;
  font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 90%; }

.bd {
  border-bottom: 1px solid #333; }

.btn01 {
  width: 40%;
  margin: 0 auto; }

.btn01:hover {
  opacity: 0.7; }

/*--index--*/
header {
  background: url("../images/bg_main.png") no-repeat center bottom/cover; }
  header .main_area {
    width: 1120px;
    max-width: 100%;
    margin: 0 auto;
    padding: 220px 0 300px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-end; }
    header .main_area h1 {
      width: 60%;
      margin-right: auto; }

/*--index--*/
#index .head_txt {
  padding: 1.5%;
  background-color: #f2f7fa;
  text-align: center;
  font-size: 118%;
  letter-spacing: 0.4em; }
#index .news_area dl {
  display: flex;
  flex-direction: row;
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 1px solid #333;
  font-size: 90%;
  letter-spacing: 0.1em; }
  #index .news_area dl dt {
    padding-right: 5%; }
#index .worklist_area {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-bottom: 2%; }
  #index .worklist_area .worklist_in {
    width: 48%; }
    #index .worklist_area .worklist_in .image {
      padding-bottom: 2%; }
    #index .worklist_area .worklist_in .txt {
      font-size: 138%; }
#index .fee_area {
  padding-bottom: 5%;
  display: flex;
  flex-direction: row;
  justify-content: space-between; }
  #index .fee_area .fee_in {
    width: 50%; }
    #index .fee_area .fee_in .title {
      color: #9f886e;
      text-align: left;
      font-weight: bold;
      font-size: 120%; }
    #index .fee_area .fee_in .txt {
      text-align: left;
      font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic"; }
  #index .fee_area .image {
    width: 45%; }
#index .company_area .company_in {
  padding-bottom: 2%;
  display: flex;
  flex-direction: row;
  justify-content: space-between; }
  #index .company_area .company_in .image {
    width: 32%; }
#index .company_area .company_in:last-child {
  padding-bottom: 8%; }

#service header {
  background: none; }
  #service header .main_area {
    width: 100%;
    padding: 0; }
    #service header .main_area h1 {
      width: 100%; }
#service .service_area {
  display: flex;
  flex-direction: row;
  justify-content: space-between; }
  #service .service_area .service_in {
    width: 33.37%;
    padding: 5% 3%;
    background-color: #f2f7fa; }
    #service .service_area .service_in .title {
      padding-bottom: 5%;
      text-align: center;
      font-size: 100%;
      font-weight: normal; }
    #service .service_area .service_in .image {
      width: 50%;
      margin: 0 auto;
      padding-bottom: 8%; }
    #service .service_area .service_in .txt {
      text-align: left;
      font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
      font-size: 90%; }
  #service .service_area .bg_blue {
    background-color: #fff;
    border: 1px solid #8cdced; }
#service .service_area_sp {
  margin-bottom: 5%; }
  #service .service_area_sp .service_in_sp {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 5%;
    background-color: #f2f7fa; }
    #service .service_area_sp .service_in_sp .service_wrap {
      width: 75%; }
      #service .service_area_sp .service_in_sp .service_wrap .title {
        padding-bottom: 5%;
        font-size: 100%;
        text-align: left;
        font-weight: normal; }
      #service .service_area_sp .service_in_sp .service_wrap .txt {
        padding-bottom: 0;
        text-align: left;
        font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
        font-size: 80%; }
    #service .service_area_sp .service_in_sp .image {
      width: 20%; }
  #service .service_area_sp .bg_blue {
    background-color: #fff;
    border: 1px solid #8cdced; }
#service .btn_area {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-bottom: 5%; }
  #service .btn_area .btn {
    width: 45%; }
  #service .btn_area .btn:hover {
    opacity: 0.7; }
#service .top_title {
  padding: 1%;
  text-align: center;
  font-weight: bold;
  font-size: 180%;
  font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  color: #fff;
  background-color: #8c8c8c; }
#service .sub_title {
  padding: 1%;
  text-align: center;
  font-weight: bold;
  font-size: 180%;
  font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  background-color: #ebf2f3; }
#service .sub_title2 {
  padding: 1%;
  text-align: center;
  font-weight: bold;
  font-size: 180%;
  font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  background-color: #fce8eb; }
#service .service_content .title {
  padding-bottom: 2%;
  text-align: left;
  font-size: 118%;
  color: #9f886e; }
#service .service_content .txt {
  padding-bottom: 2%;
  text-align: left; }
#service .service_content .sub_title {
  padding: 0 0 2% 0;
  font-weight: normal;
  text-align: left;
  font-size: 118%;
  color: #9f886e;
  font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  background-color: #fff; }
#service .service_content .box {
  padding: 2% 5%;
  margin-bottom: 8%;
  border: 1px solid #333;
  font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic"; }
  #service .service_content .box li {
    line-height: 4;
    border-bottom: 1px solid #333; }
  #service .service_content .box li:last-child {
    border: none; }

#company header {
  background: none; }
  #company header .main_area {
    width: 100%;
    padding: 0; }
    #company header .main_area h1 {
      width: 100%; }
#company .address {
  font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic"; }
  #company .address table {
    width: 100%;
    margin-bottom: 10%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden; }
  #company .address th, #company .address td {
    padding: 1.5% 3% 1.5% 0;
    border-bottom: 1px solid #333;
    text-align: left; }
  #company .address th {
    width: 25%;
    color: #333;
    font-weight: bold; }
  #company .address tr:last-child th,
  #company .address tr:last-child td {
    border-bottom: 1px solid #000; }
#company .map iframe {
  width: 100%;
  height: 700px; }

#contact header {
  background: none; }
  #contact header .main_area {
    width: 100%;
    padding: 0; }
    #contact header .main_area h1 {
      width: 100%; }
#contact .contact_txt {
  padding-bottom: 5%;
  text-align: center;
  font-size: 138%; }
#contact .form {
  font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  /* iOSでのデフォルトスタイルをリセット */ }
  #contact .form .table_design {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 5%; }
  #contact .form .table_design th, #contact .form .table_design td {
    border-bottom: 1px solid #333;
    padding: 1em; }
  #contact .form .table_design th {
    border-bottom: 1px solid #333;
    font-weight: bold;
    text-align: left;
    width: 25%;
    min-width: 4em;
    vertical-align: middle; }
    #contact .form .table_design th span {
      padding: 5px;
      color: #FFFFFF;
      text-align: center;
      background-color: #fc8d8f; }
  #contact .form .input_box {
    height: 65px;
    width: 100%;
    padding: 1%;
    font-size: 100%;
    border: none;
    background-color: #f6f6f6; }
  #contact .form .textarea_box {
    width: 100%;
    height: 300px;
    padding: 1.5%;
    font-size: 110%;
    border: none;
    background-color: #f6f6f6; }
  #contact .form .checkbox-1 {
    border: none; }
  #contact .form .checkbox-1 label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    margin-bottom: .5em;
    cursor: pointer; }
  #contact .form .checkbox-1 label::before,
  #contact .form .checkbox-1 label:has(:checked)::after {
    content: ''; }
  #contact .form .checkbox-1 label::before {
    width: 20px;
    height: 20px;
    background-color: #f6f6f6;
    border: 1px solid #333; }
  #contact .form .checkbox-1 label:has(:checked)::before {
    background-color: #e84f66; }
  #contact .form .checkbox-1 label:has(:checked)::after {
    position: absolute;
    top: 6.5px;
    left: 7px;
    transform: rotate(45deg);
    width: 6px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0; }
  #contact .form .checkbox-1 input {
    display: none; }
  #contact .form textarea {
    width: 100%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    /* Firefox */
    -webkit-box-sizing: border-box;
    /* Chrome, Safari */ }
  #contact .form input[type="text"],
  #contact .form input[type="email"],
  #contact .form input[type="tel"] {
    width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  #contact .form input[type="submit"],
  #contact .form input[type='button'] {
    width: 100%;
    border-radius: 50px;
    height: 70px;
    background-color: #e84f66;
    font-size: 120%;
    color: #fff; }
  #contact .form input[type="submit"],
  #contact .form input[type="button"] {
    border-radius: 50px;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer; }
  #contact .form input[type="submit"]::-webkit-search-decoration,
  #contact .form input[type="button"]::-webkit-search-decoration {
    display: none; }
  #contact .form input[type="submit"]::focus,
  #contact .form input[type="button"]::focus {
    outline-offset: -2px; }
  #contact .form fieldset {
    padding: 0; }
  #contact .form .scroll-box {
    overflow-y: scroll;
    height: 10em;
    padding: 15px;
    margin-bottom: 2%;
    background-color: #f6f6f6;
    font-size: 90%; }
    #contact .form .scroll-box dt {
      border-bottom: solid 1px #333; }
    #contact .form .scroll-box dd {
      padding-bottom: 3%; }
  #contact .form .information_title {
    padding-bottom: 3%;
    text-align: center;
    font-weight: bold;
    color: #333;
    font-size: 118%; }
  #contact .form .information_txt {
    padding-bottom: 3%; }
  #contact .form .information_check {
    padding-bottom: 5%; }
    #contact .form .information_check span.information_check_span {
      padding: 5px;
      color: #FFFFFF;
      text-align: center;
      background-color: #fc8d8f; }
#contact .btn {
  width: 40%;
  margin: 0 auto; }
#contact .contact_wrap {
  width: 60%;
  margin: 0 auto; }
  #contact .contact_wrap .subtitle {
    padding: 5px;
    background-color: #184c93;
    text-align: center;
    color: #fff;
    font-size: 138%;
    font-weight: bold; }
  #contact .contact_wrap .box {
    padding: 5% 3%;
    background-color: #fff;
    border: 2px solid #184c93; }
    #contact .contact_wrap .box .tel_txt {
      text-align: center;
      font-size: 500%;
      font-weight: bold;
      color: #184c93;
      line-height: 1; }
    #contact .contact_wrap .box .time_txt {
      text-align: center;
      font-size: 150%;
      background-color: #fc8d8f;
      color: #fff;
      border-radius: 50px; }
    #contact .contact_wrap .box .mail_txt {
      text-align: center;
      font-size: 250%;
      font-weight: bold;
      color: #184c93; }
    #contact .contact_wrap .box .bottom_txt {
      padding: 1%;
      text-align: center;
      font-size: 138%;
      line-height: 1.3;
      background-color: #fc8d8f;
      color: #fff;
      border-radius: 50px; }

#blog header {
  background: none; }
  #blog header .main_area {
    width: 100%;
    padding: 0; }
    #blog header .main_area h1 {
      width: 100%; }
#blog .content-wrapper {
  display: flex;
  gap: 20px; }
  #blog .content-wrapper .main-content {
    width: 70%;
    flex: 3; }
    #blog .content-wrapper .main-content .blog_area {
      padding: 5%;
      margin-bottom: 5%;
      border: 1px solid #333;
      display: flex;
      flex-direction: row;
      justify-content: space-between; }
      #blog .content-wrapper .main-content .blog_area .blog_in {
        width: 35%;
        font-size: 90%;
        margin-right: 5%; }
      #blog .content-wrapper .main-content .blog_area .blog_in2 {
        width: 65%;
        font-size: 90%; }
        #blog .content-wrapper .main-content .blog_area .blog_in2 .date {
          padding: 2%;
          margin-bottom: 3%;
          background-color: #fce8eb; }
        #blog .content-wrapper .main-content .blog_area .blog_in2 .title {
          padding-bottom: 2%;
          margin-bottom: 2%;
          text-align: left;
          font-size: 100%;
          border-bottom: 1px solid #333;
          font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic"; }
        #blog .content-wrapper .main-content .blog_area .blog_in2 .txt {
          padding-bottom: 0;
          text-align: left; }
  #blog .content-wrapper .sidebar {
    flex: 1;
    font-size: 80%; }
    #blog .content-wrapper .sidebar .widget {
      margin-bottom: 5%; }
      #blog .content-wrapper .sidebar .widget h2 {
        font-size: 118%;
        font-weight: bold;
        padding: 2%;
        margin-bottom: 2%;
        margin-bottom: 10px;
        background-color: #333;
        color: #fff; }
      #blog .content-wrapper .sidebar .widget ul {
        list-style: none;
        padding: 0; }
        #blog .content-wrapper .sidebar .widget ul li {
          margin-bottom: 3%;
          padding-bottom: 3%;
          border-bottom: 1px solid #333; }
          #blog .content-wrapper .sidebar .widget ul li a {
            text-decoration: none;
            color: #333;
            transition: color 0.3s; }
            #blog .content-wrapper .sidebar .widget ul li a:hover {
              color: #333; }
        #blog .content-wrapper .sidebar .widget ul li:last-child {
          margin-bottom: 10%; }
#blog .blog_single_area {
  padding: 5%;
  margin-bottom: 5%;
  border: 1px solid #333;
  font-size: 90%;
  /* iOSでのデフォルトスタイルをリセット */ }
  #blog .blog_single_area .wp-block-heading {
    padding-bottom: 5%;
    font-weight: bold; }
    #blog .blog_single_area .wp-block-heading:last-child {
      padding-bottom: 0; }
  #blog .blog_single_area .image {
    width: 100%;
    padding-bottom: 3%; }
    #blog .blog_single_area .image img {
      width: 100%; }
  #blog .blog_single_area p {
    padding-bottom: 3%; }
  #blog .blog_single_area textarea {
    width: 100%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    /* Firefox */
    -webkit-box-sizing: border-box;
    /* Chrome, Safari */ }
  #blog .blog_single_area input[type="text"],
  #blog .blog_single_area input[type="email"],
  #blog .blog_single_area input[type="tel"] {
    width: 100%;
    height: 50px !important;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  #blog .blog_single_area input[type="submit"],
  #blog .blog_single_area input[type='button'] {
    width: 100%;
    border-radius: 0 !important;
    height: 70px;
    background-color: #eee;
    font-size: 120%; }
  #blog .blog_single_area input[type="submit"],
  #blog .blog_single_area input[type="button"] {
    border-radius: 50px;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer; }
  #blog .blog_single_area input[type="submit"]::-webkit-search-decoration,
  #blog .blog_single_area input[type="button"]::-webkit-search-decoration {
    display: none; }
  #blog .blog_single_area input[type="submit"]::focus,
  #blog .blog_single_area input[type="button"]::focus {
    outline-offset: -2px; }
  #blog .blog_single_area .date {
    padding: 5px;
    margin-bottom: 3%;
    background-color: #fce8eb; }
  #blog .blog_single_area .title {
    padding-bottom: 2%;
    margin-bottom: 2%;
    text-align: left;
    font-size: 100%;
    border-bottom: 1px solid #333;
    font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic"; }
  #blog .blog_single_area .txt {
    padding-bottom: 0; }
#blog .pagination {
  text-align: center;
  margin-top: 20px; }
  #blog .pagination a,
  #blog .pagination span {
    display: inline-block;
    margin: 0 5px;
    padding: 8px;
    font-size: 90%;
    color: #333;
    text-decoration: none;
    background-color: #f6f6f6;
    border-radius: 4px;
    font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic"; }
    #blog .pagination a:hover,
    #blog .pagination span:hover {
      background-color: #333;
      color: #fff; }
  #blog .pagination .current {
    background-color: #0073aa;
    color: #fff;
    border: 1px solid #0073aa; }
#blog .post-navigation {
  display: flex;
  justify-content: space-between; }
  #blog .post-navigation .nav-previous,
  #blog .post-navigation .nav-next {
    flex: 1;
    text-align: center;
    font-size: 14px; }
    #blog .post-navigation .nav-previous a,
    #blog .post-navigation .nav-next a {
      color: #333;
      text-decoration: none;
      transition: color 0.3s ease; }
      #blog .post-navigation .nav-previous a:hover,
      #blog .post-navigation .nav-next a:hover {
        color: #0056b3; }
  #blog .post-navigation .nav-previous {
    text-align: left; }
  #blog .post-navigation .nav-next {
    text-align: right; }

#instagram header {
  background: none; }
  #instagram header .main_area {
    width: 100%;
    padding: 0; }
    #instagram header .main_area h1 {
      width: 100%; }

/*--footer--*/
#footer .footer {
  padding-top: 5%;
  border-top: 1px solid #333; }
  #footer .footer .footer_area {
    padding-bottom: 8%;
    display: flex;
    flex-direction: row;
    justify-content: space-between; }
    #footer .footer .footer_area .footer_in_pink {
      width: 50%;
      padding: 5%;
      background-color: #fce8eb; }
      #footer .footer .footer_area .footer_in_pink .footer_box {
        padding: 8%;
        display: inline-block;
        height: 270px;
        background-color: #fff; }
        #footer .footer .footer_area .footer_in_pink .footer_box .tel_img {
          padding-bottom: 2%; }
        #footer .footer .footer_area .footer_in_pink .footer_box .time {
          padding-bottom: 3%;
          text-align: center;
          font-size: 100%;
          font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic"; }
        #footer .footer .footer_area .footer_in_pink .footer_box .txt {
          padding-bottom: 0;
          text-align: left;
          font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
          font-size: 90%; }
    #footer .footer .footer_area .footer_in_blue {
      width: 50%;
      padding: 5%;
      background-color: #ebf2f3; }
      #footer .footer .footer_area .footer_in_blue .footer_box {
        padding: 8%;
        display: inline-block;
        height: 270px;
        background-color: #fff; }
        #footer .footer .footer_area .footer_in_blue .footer_box .tel_img {
          padding-bottom: 2%; }
        #footer .footer .footer_area .footer_in_blue .footer_box .time {
          padding-bottom: 3%;
          text-align: center;
          font-size: 100%;
          font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic"; }
        #footer .footer .footer_area .footer_in_blue .footer_box .txt {
          text-align: left;
          font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
          font-size: 90%; }
        #footer .footer .footer_area .footer_in_blue .footer_box .btn {
          width: 100%; }
  #footer .footer .company_bottom_area {
    padding: 5%;
    margin-bottom: 3%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333; }
    #footer .footer .company_bottom_area .image {
      width: 30%;
      margin-right: 10%; }
  #footer .footer .copyright {
    text-align: center;
    font-size: 90%; }

/*--sp--*/
@media screen and (min-width: 800px) {
  .sp {
    display: none !important; }

  br.sp {
    display: none !important; } }
@media print, screen and (max-width: 800px) {
  body {
    font-size: 85%; }

  .pc {
    display: none !important; }

  br.sp {
    display: block; }

  .title {
    font-size: 130%; }

  .txt, .txt_l {
    font-size: 80%; }

  .btn01 {
    width: 100%; }

  .right-fixed-banner {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999; }
    .right-fixed-banner .banner_sp {
      display: flex;
      justify-content: space-between; }
      .right-fixed-banner .banner_sp .banner01 {
        width: auto;
        margin-bottom: 0; }
      .right-fixed-banner .banner_sp .banner02 {
        width: auto;
        margin-bottom: 0; }

  .sp-show {
    display: block; }

  .sp-none {
    display: none; }

  header .main_area {
    padding: 50% 5%; }
    header .main_area h1 {
      width: 100%; }

  .txtwrapper {
    width: 90%; }

  #index .head_txt {
    font-size: 90%; }
  #index .news_area dl {
    display: block;
    width: 100%;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em; }
  #index .worklist_area .worklist_in .txt {
    font-size: 100%; }
  #index .fee_area .fee_in .title {
    font-size: 100%; }

  #service .btn_area {
    display: block; }
    #service .btn_area .btn {
      width: 80%;
      margin: 0 auto;
      padding-bottom: 5%; }
  #service .btn01 {
    width: 80%;
    margin: 0 auto; }
  #service .top_title, #service .sub_title, #service .sub_title2 {
    padding: 3%;
    font-size: 130%; }
  #service .service_content .sub_title {
    font-size: 100%; }
  #service .service_content .txt {
    padding-bottom: 5%; }

  #company .address {
    font-size: 90%;
    line-height: 2; }
  #company .address th {
    width: 30%; }

  #contact .contact_txt {
    font-size: 118%; }
  #contact .form .checkbox-1 label:has(:checked)::after {
    top: 2px;
    left: 7px; }
  #contact .form .table_design tr {
    display: block; }
  #contact .form .table_design th {
    display: block;
    width: 100%;
    padding: 0 0 3% 0;
    border: none; }
  #contact .form .table_design td {
    display: block;
    padding: 0 0 3% 0;
    border: none; }
  #contact .btn {
    width: 80%; }
  #contact .contact_wrap {
    width: 100%; }
    #contact .contact_wrap .box .tel_txt {
      font-size: 300%; }
    #contact .contact_wrap .box .mail_txt {
      font-size: 170%; }
    #contact .contact_wrap .box .time_txt, #contact .contact_wrap .box .bottom_txt {
      font-size: 120%; }

  #blog .content-wrapper {
    flex-direction: column; }
    #blog .content-wrapper .main-content {
      width: 100%;
      margin-bottom: 20px; }
  #blog .blog_area {
    flex-direction: column; }
    #blog .blog_area .blog_in {
      width: 100%; }

  #footer .footer .company_bottom_area {
    display: block; }
    #footer .footer .company_bottom_area .image {
      width: 50%;
      margin: 0 auto;
      padding-bottom: 5%; }
    #footer .footer .company_bottom_area ul.footer_txt {
      font-size: 100%; }
  #footer .footer .copyright {
    font-size: 80%; }

  #company .map iframe {
    width: 100%;
    height: 300px; }

  #instagram .instagram_box {
    margin-bottom: 15%; }

  .footer_sp_area {
    padding-top: 15%; }
    .footer_sp_area .footer_sp {
      width: 100%;
      position: fixed;
      bottom: 0;
      left: 0;
      z-index: 9999; }
      .footer_sp_area .footer_sp ul.footer_sp_btn {
        display: flex;
        flex-direction: row;
        justify-content: space-between; }
    .footer_sp_area .footer_sp img {
      width: 100%; } }
