@charset "utf-8";
/*
Theme Name:arashida-taxsr
Author:y.arashida
Description:嵐田税理士社労士事務所のホームページです
Version:1.0
*/
@media only screen and (max-width: 767px) {
  * {
    font-family: 'YuGothic', 'Yu Gothic medium', 'Hiragino Sans', 'Meiryo', 'sans-serif';
    margin: 0;
    padding: 0;
    float: none;
    color: #333;
  }
  a {
    color: #333;
  }
  img {
    border: none;
    display: block;
    max-width: 100%;
  }
  .br_sp {
    display: block;
  }
  header {
    height: 72px;
    background-color: #fff;
    position: fixed;
    width: 100%;
  }
  #logo {
    float: none;
    margin-top: 5px;
  }
  .logo {
    width: 248px;
    height: auto;
    padding-left: 10px;
  }
  /*ナビ*/
  #headerInner {
    display: flex;
    justify-content: space-between; /* 左にロゴ、右にハンバーガー */
    align-items: center;
  }
  /* ハンバーガー */
  .hamburger {
    position: relative;
    width: 30px;
    height: auto;
    gap: 6px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 2001;
    margin-right: 15px;
  }
}
.hamburger span {
  display: block;
  height: 4px;
  width: 100%; /* ← 明示的に幅を固定 */
  background: #333;
  border-radius: 2px;
  transition: all 0.3s ease;
  transform-origin: center; /* ← 回転の基準を中央に */
  margin-left: 30px;
}
/* active時の× */
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(1px, 9px); /* ← 5px → 2px に調整 */
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -13px); /* ← 5px → 2px に調整 */
}
/* モーダルメニュー */
.modal-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translateY(-100%);
  transition: transform 0.3s ease;
  background: rgba(255, 255, 255, 0.98);
  display: flex;
  justify-content: center; /* 縦方向中央揃え */
  align-items: center; /* 横方向中央揃え */
  flex-direction: column; /* 縦並び */
  z-index: 1000;
}
.modal-menu.open {
  transform: translateY(0);
}
/* メニューリンク */
#menu nav.modal-menu .menu {
  flex-direction: column !important;
  justify-content: center !important; /* 中央揃え */
  align-items: center !important; /* 左右中央揃え */
  margin-top: 0 !important;
  margin-left: 0;
}
#menu nav.modal-menu .menu {
  margin: 20px 0; /* 項目の間隔 */
}
#menu nav.modal-menu .menu li a {
  text-decoration: none;
  font-size: 24px;
  margin-left: 0;
}
#menu nav.modal-menu .menu li:last-child a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 162px;
  height: 24px;
  font-weight: bold;
  font-size: 1.5rem;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(to right, #556DAD, #AD9F55);
  transition: all 0.5s ease;
}
/* PCでは非表示 */
@media screen and (min-width: 1025px) {
  .hamburger, .modal-menu {
    display: none;
  }
}
/*メイン全般*/
main {
  clear: both;
}
h2 {
  margin: 0 auto;
}
/*ここからメインビジュアル*/
#mainVisual {
  width: 100%;
  height: 100vh;
  min-height: 500px;
  position: relative; /* 絶対配置の基準 */
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
}
.mainImage {
  clear: both;
  width: 100%;
  height: auto;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  object-fit: cover;
}
#mainVisualContains {
  width: 90%;
  /* height: auto; もしくは */
  min-height: 150px; /* 必要に応じて調整 */
}
#mainCopy {
  position: relative;
  color: #fff;
  font-size: 1.7rem;
  line-height: 1.3;
  text-shadow:
    -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 0 0 5px #000;
  margin: 0 auto;
}
/*ここまでメインビジュアル*/
/*ここから「私たちについて」*/
#aboutUs {
  width: 100%;
  height: 645px;
  color: #333;
}
#aboutUs .body_background {
  background: #fff;
}
#aboutUsContents {
  width: 100%;
  height: auto;
  display: block;
  margin: 55px auto;
  padding-top: 0; /*pc版の調整*/
  padding-bottom: 0; /*pc版の調整*/
}
#aboutUs h2 {
  width: 90%;
  margin-bottom: 10px;
}
#description {
  display: flex;
  flex-direction: column;
}
#aboutUs h3 {
  margin: 0 auto;
}
#h3_image {
  float: none;
  max-width: 100vw;
  max-height: 135px;
  margin: 0 auto;
  overflow: hidden;
}
#aboutUsTextbox p {
  margin-top: 0;
  line-height: 1.7;
  width: 90%;
  margin: 0 auto;
}
/*ここまで「私たちについて」*/
/*ここから「プロフィール」*/
#profile {
  clear: both;
  width: 100%;
  height: 709px;
}
#profile .body_background {
  background: #fff;
}
#profile h2 {
  width: 90%;
}
#profileContents {
  width: 100%;
  height: auto;
  margin: 55px auto;
  display: flex;
  flex-direction: column;
  position: static;
}
#profile .link_area {
  width: 64%;
  margin: 10px auto;
  position: static;
}
#profile .link {
  order: 3;
}
#profimg {
  float: none;
  max-width: 90vw;
  max-height: 273px;
  overflow: hidden;
  margin: 0 auto;
  display: block;
}
#profile a {
  order: -1;
}
#profileTextbox {
  float: none;
  width: 100%;
  height: 240px;
  order: 0;
}
#profileText {
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 16px;
  line-height: 2;
}
#profile h2 {
  height: 29px;
  padding-bottom: 10px; /*pcの余白削除*/
  margin-bottom: 20px;
  order: -2;
}
#profile h3 {
  width: 90%;
  margin: 20px auto;
  line-height: 1.3;
  font-size: 25px;
}
.br_pc {
  display: none;
}
#profile p {
  width: 90%;
  margin: 0 auto 15px;
  line-height: 1.4;
}
/*ここまで「プロフィール」*/
/*ここから「サービス内容」*/
#Byservice {
  width: 100%;
  height: 1467px;
}
#service {
  width: 90%;
  height: auto;
  margin: 55px auto;
}
#service h2 {
  width: 100%;
  margin-bottom: 20px;
}
/*税務顧問*/
#taxadvisor {
  width: 100%;
  height: 451px;
}
#taxadvisorContents {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: flex;
  flex-direction: column-reverse;
  position: static;
}
#taxadvisorImage {
  width: 90vw;
  height: 390px;
  margin: 0 auto;
  background-image: url(images/zeimu.jpg);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
}
#taxadvisorTextbox {
  float: none;
  width: 100%;
  height: auto;
  position: static;
}
#taxadvisorText {
  width: 90%;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 16px;
  line-height: 2;
  color: #333;
  margin: 15px 23px 0 23px;
}
#taxadvisorText h3 {
  font-size: 1.5rem;
  line-height: 1.2;
  margin: 15px auto 10px;
}
#taxadvisor .link_area {
  margin: 10px auto;
  width: 70%;
}
/*相続・事業承継コンサルティング*/
#inheritance {
  clear: both;
  width: 100%;
  height: 451px;
}
#inheritanceContents {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: flex;
  flex-direction: column-reverse;
  position: static;
}
#inheritanceTextbox {
  float: none;
  width: 100%;
  height: auto;
  margin-top: 0;
  position: static;
}
#inheritanceText {
  width: 90%;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 16px;
  line-height: 2;
  margin: 15px 23px 0 23px;
}
#inheritanceText h3 {
  font-size: 1.2rem;
  line-height: 1.2;
  margin: 15px auto 10px;
}
#inheritanceImage {
  width: 90vw;
  height: 390px;
  margin: 0 auto;
  background-image: url("images/sozoku.jpg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
}
#inheritance .link_area {
  margin: 10px auto;
  width: 70%;
}
/*社会保険労務士業務*/
#labor {
  clear: both;
  width: 100%;
  height: 451px;
}
#laborContents {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: flex;
  flex-direction: column-reverse;
  position: static;
}
#laborTextbox {
  float: none;
  width: 100%;
  height: auto;
  margin-top: 0;
  position: static;
}
#laborText {
  color: #333;
  width: 90%;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 16px;
  line-height: 2;
  margin: 15px 23px 0 23px;
}
#laborText h3 {
  font-size: 1.5rem;
  line-height: 1.2;
  margin: 15px auto 10px;
}
#laborimg {
  width: 90vw;
  height: 273px;
  margin: 0 auto;
  overflow: hidden;
}
#labor .link_area {
  margin: 10px auto;
  width: 70%;
}
/*ここまで「サービス内容」*/
/*「ここからお知らせ」*/
#information {
  clear: both;
  width: 100%;
  height: 455px;
}
#information .body_background {
  background: #fff;
}
#informationTitle span {
  font-size: 1.3rem;
  letter-spacing: -1px;
}
#informationContents {
  width: 100%;
  height: auto;
  margin: 55px auto;
  font-size: 1.1rem;
}
#informationTitle h2 {
  width: 90%;
  color: #333;
  font-size: 1.5rem;
  letter-spacing: 7px;
  margin-bottom: 20px;
}
#information ul {
  margin-bottom: 25px;
  width: 90%;
}
#information ul span {
  color: #777;
  margin-right: 20px;
}
#information li {
  line-height: 2;
  padding: 10px 0;
}
#information li:last-child {
  border-bottom: none;
}
#information .link_area {
  width: 63%;
  margin: 20px auto;
}
/*ここから「ブログ」*/
#blog {
  clear: both;
  width: 100%;
  height: 1102px;
}
#blog .body_background {
  padding-bottom: 0;
}
#blogContents {
  width: 100%;
  height: 992px;
  margin: 55px auto;
  display: flex;
  flex-direction: column;
}
#blog ul {
  align-items: center;
  flex-direction: column;
  display: flex;
}
#article {
  width: 100%;
  height: 774px;
  margin: 0 auto;
}
.blogpic {
  display: block;
  max-width: 90vw;
  height: 273px;
  overflow: hidden;
  margin: 0 auto;
}
#blog h2 {
  margin: 0px auto 20px;
}
#blog p {
  width: 90%;
}
#blog .link_area {
  width: 63%;
  margin: 30px auto 55px;
}
/*ここまで「ブログ」*/
/*ここから「お問い合わせ」*/
#contact {
  clear: both;
  width: 100%;
  height: 380px;
}
#contact-area {
  width: 100%;
  margin: 0 auto 55px;
  padding-top: 15px;
}
#contact h2 {
  width: 90%;
  margin: 35px auto 20px;
  ;
}
#contact p {
  width: 90%;
  margin: 0 auto 20px auto;
}
.btn-grd2 {
  display: block;
  font-size: 22px;
  color: #fff;
  background-color: #AD8A55;
  text-decoration: none;
  width: 72%;
}
/*ここまで「お問い合わせ」*/
/*ここからフッター*/
#footer {
  clear: both;
  width: 100%;
  height: 300px;
}
#footerInner {
  width: 100%;
  height: auto;
  background-color: #556DAD;
}
#footerContents {
  width: 100%;
  text-align: center;
  line-height: 1.5;
}
#sns {
  display: block;
}
address {
  clear: both;
  font-size: 16px;
}
#footerLogo {
  display: block;
  height: 50%;
  float: right;
}
#copyRight {
  text-align: center;
}
/*フッターここまで*/
/*次ページ共通*/
#frame {
  width: 90%;
  margin: none;
  overflow: hidden;
}
#page-title {
  background-color: #556DAD;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
  width: 100%;
  padding: 16px 0;
  margin-top: 10px;
}
.title {
  width: 100%;
  text-align: center;
  margin: 2px auto 25px;
  color: #556DAD
}
p {
  font-size: 16px;
}
/*次ページ共通*/
/*ここからプロフィールページ*/
.pageTitle {
  font-size: 1.3rem;
  color: #fff;
  background-image: url("../images/obi.jpg");
  width: 100%;
  background-size: cover;
  background-position: center;
  text-align: center;
  padding-top: 70px;
  height: 24px;
  padding-bottom: 70px;
  margin-top: 60px;
}
.profileContain {
  width: 100%;
  height: 2700px;
  margin-top: 55px;
}
.container {
  width: 100%;
  height: auto;
  margin: 0 auto;
}
.profileTextbox {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  width: 100%;
  height: auto;
  margin-bottom: 30px;
  margin: 0 auto 5px;
}
.picArea {
  width: 100%;
  margin-bottom: 50px;
}
.profilePicture {
  float: none;
  width: 100vw;
  height: 500px;
  background-image: url("../images/profile_1.jpg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  margin: 5px 0 20px;
}
.name_area {
  margin-left: 0;
}
.name {
  margin: 0;
}
.greeting, .career, .certified {
  width: 100%;
}
.greeting {
  margin-bottom: 10px;
  height: auto;
}
.greeting h2 {
  margin-bottom: 20px;
}
.profile-table {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
}
.career {
  margin-bottom: 35px;
}
/*ここまでプロフィーページ*/
/*サービスページ*/
#page-service {
  width: 100%;
  height: 1518px;
  font-size: 16px;
}
#service-contain {
  width: 100%;
  height: 2485px;
}
ol {
  margin-bottom: 20px;
}
#service-contents h2 {
  margin-bottom: 20px;
  width: 100%;
  line-height: 1.5;
}
/*税務顧問*/
#taxad {
  width: 100%;
  height: auto;
}
#taxad-contents {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
#taxad-image {
  display: none;
}
#taxad-textbox {
  float: none;
  width: 100%;
  height: auto;
  margin: 37px 0 20px;
}
#taxad-text {
  padding-top: 0;
  padding-bottom: 0;
  line-height: 2;
  color: #333;
  margin: 15px 23px 0 23px;
  order: 3;
}
.example {
  list-style-type: disc;
}
/*相続・事業承継コンサルティング*/
#inherit {
  clear: both;
  width: 100%;
  height: auto;
  margin-top: 0px;
}
#inherit-contents {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
#inherit-textbox {
  float: none;
  width: 100%;
  height: auto;
  margin-top: 0;
}
#inherit-text {
  padding-top: 0;
  padding-bottom: 0;
  line-height: 2;
  margin: 15px 23px 0 23px;
}
#inherit-image {
  display: none;
}
/*社会保険労務士業務*/
#labor-m {
  clear: both;
  width: 100%;
  height: auto;
  margin-top: 35px;
}
#labor-m-contents {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: flex;
  flex-direction: column-reverse;
}
#labor-m-image {
  display: none;
}
#labor-m-textbox {
  float: none;
  width: 100%;
  height: auto;
  margin-bottom: 55px;
}
#labor-m-text {
  color: #333;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 2;
  margin: 15px 23px 0 23px;
}
/*サービスページ*/
/*お知らせページ*/
#news {
  width: 100%;
  height: 815px;
}
.newslist-area {
  color: #333;
  width: 100%;
  margin: 25px auto;
}
.newsText {
  width: 100%;
  height: auto;
  float: none;
}
.more {
  text-align: right;
}
.more a {
  text-decoration: none;
}
.more::after {
  content: ">";
  color: #ccc;
  padding: 5px;
}
/*お知らせページ*/
/*お知らせ詳細ページ*/
.newsDetails, .newsDetailsText {
  clear: both;
  width: 100%;
  margin: 35px auto;
}
/*お知らせ詳細ページ*/
#blog p {
  margin: 0 auto 20px auto;
}
/*ブログページ*/
@media (max-width: 767px) {
  .blog-thumb {
    max-width: 480px;
  }
}
/*ブログページ*/
/*お問い合わせページ*/
#attention {
  width: 90%;
  margin: 25px auto;
  text-align: inherit;
}
#contact h1 {
  width: 100%;
  margin: 20px auto;
}
#form1 {
  width: 90%;
  margin: 20px auto;
}
textarea {
  width: 100%;
  height: 7em;
  line-height: 1.5em;
}
input {
  width: 100%;
}
.btn-grd3 {
  display: block;
  font-size: 1rem;
  color: #fff;
  background-color: #AD8A55;
  text-align: center;
  text-decoration: none;
  width: 200px;
  padding-top: 10px;
  padding-bottom: 33px;
}
/*問い合わせページ*/
}