@charset "utf-8";

html {
  font-size: 62.5%;
}

html,
body {
  overflow-x: hidden;
}

body {
  margin: 0;
  color: #000;
  font-size: 1.0rem;
  line-height: 1.8;
}

* {
  box-sizing: border-box
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  color: inherit;
  text-decoration: none
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: normal;
  line-height: inherit;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

.wrapper {
  max-width: 110rem;
  width: 90%;
  margin: 0 auto;
  position: relative;
}

.inner {
  max-width: 100rem;
  margin: 0 auto;
  padding-bottom: 3rem;
}

.ttl {
  text-align: center;
  background-repeat: repeat-x;
}

.img {
  text-align: center;
}

#service.tax-planning {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

#service.tax-planning .fv {
  background-image: url("../img/grade_1.jpg");
  background-repeat: repeat-x;
  height: 97.1rem;
}

#service .main_title {
  background-image: url("../img/fv_bg.jpg");
  background-repeat: no-repeat;
  max-width: 198rem;
  height: 97.1rem;
  margin: 0 auto;
  text-align: center;
}

#service #movie {
  background-image: url("../img/grade_2.jpg");
  background-repeat: repeat-x;
  text-align: center;
  padding-bottom: 4rem;
}

#service #movie h2 {
  padding: 3rem 0;
}

#service #movie .wrapper {
  width: 100%;
  max-width: 64rem;
}

#player_wrap {
  position: relative;
  width: 100%;
  /*padding-top: 42.858%;*/
  padding-top: 56.25%;
  overflow: hidden;
}

#player {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 100%;
  height: 100%;
}

.btn {
  background-color: #000;
  text-align: center;
  padding: 5rem 0 2rem;
}

.btn a {
  box-shadow: none;
}

.btn dt {
  margin-bottom: -1rem;
}

#sec02,
#sec03,
#sec04,
#sec05,
#sec06 {
  background-color: #F4F0E7;
}

#sec02 .wrapper,
#sec03 .wrapper,
#sec04 .wrapper,
#sec05 .wrapper,
#sec06 .wrapper {
  background-color: #fff;
}

#sec02 .ttl {
  background-image: url("../img/sec02_bk1.jpg");
}

#sec02 .bottom {
  background-image: url("../img/sec02_bk2.jpg");
  background-repeat: repeat-x;
  text-align: center;
}

#sec02 h3 {
  max-width: 83rem;
  margin: 0 auto;
  text-align: left;
  font-size: clamp(1.2rem, -0.269rem + 2.99vw, 1.6rem);
}

#sec02 h3 span {
  color: #C80000;
}

#sec03 .ttl {
  background-image: url("../img/sec03_bk.jpg");
}

#sec03 .sttl {
  border-top: 1px solid #F2F2F2;
  border-bottom: 1px solid #F2F2F2;
  font-weight: bold;
  padding: 1rem 0;
  margin-bottom: 0;
  height: auto;
  text-align: center;
  font-size: clamp(1.4rem, 1.2rem + 1vw, 2.4rem);
}

.col_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 5rem 5rem 5rem;
  margin-bottom: 1rem;
}

#sec03 .col_wrap {
  background-image: url("../img/p_under.png");
  background-repeat: no-repeat;
  background-size: 42.6rem;
  background-position: 4% 99%;
  padding: 2rem 5rem 5rem 5rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #F2F2F2;
}

#sec03 .col_wrap:nth-child(odd) {
  background-position: 99% 99%;
}

.col_wrap:last-child {
  border-bottom: 0;
}

.col_wrap .img {
  width: 39%;
}

.col_wrap dl {
  width: calc(61% - 3rem);
}

#sec04 .col_wrap .img {
  width: 47%;
}

#sec04 .col_wrap dl {
  width: calc(53% - 3rem);
}

.col_wrap dt {
  font-feature-settings: "palt";
}

.col_wrap dt {
  padding: 0 0 0.5rem;
}

#sec04 .col_wrap dt {
  padding: 0 0 1rem;
}

.col_wrap dt h3 {
  font-size: clamp(1.6rem, -4.644rem + 12.71vw, 3.3rem);
  font-weight: bold;
  line-height: 1.3;
  margin-top: 1rem;
  position: relative;
}

#sec03 .col_wrap dt h3 {
  text-decoration: underline;
}

.col_wrap dt span {
  font-size: 1.4rem;
  background-color: #E6E6E6;
  padding: 0.5rem;
  font-weight: bold;
}

.col_wrap dd {
  font-size: clamp(1.2rem, -0.269rem + 2.99vw, 1.6rem);
  line-height: 1.7;
  text-align: justify;
}

.col_wrap dd span {
  color: #C80000;
}

#sec03 .other {
  padding: 5rem 0;
  max-width: 100.3rem;
  margin: 0 auto;
}

#sec03 .other p {
  padding-top: 5rem;
  font-size: 1.2rem;
  text-align: center;
}

#sec04 {
  padding-bottom: 10rem;
}

#sec04 .ttl {
  background-image: url("../img/sec04_bk.jpg");
}

#sec04 .col_wrap dt h3::before {
  content: "";
  position: absolute;
  background-image: url("../img/no1.png");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 7.7rem;
  height: 4.7rem;
  top: -6rem;
  left: 0;
}

#sec04 .col_wrap:nth-child(2) dt h3::before {
  background-image: url("../img/no2.png");
}

#sec04 .col_wrap:nth-child(3) dt h3::before {
  background-image: url("../img/no3.png");
}

#sec05 .wrapper {
  text-align: center;
}

#sec05 .ttl {
  background-image: url("../img/sec05_bk.jpg");
}

#sec05 figure {
  margin: 0;
  padding: 0;
}

#sec05 figcaption {
  padding: 5rem 0;
  text-align: center;
  font-size: clamp(1.2rem, -0.269rem + 2.99vw, 1.6rem);
  line-height: 2;
}

#sec06 .ttl {
  font-size: clamp(1.2rem, -0.269rem + 2.99vw, 1.6rem);
  text-align: left;
  position: relative;
  margin-bottom: 1rem;
  display: inline;
}

#sec06 .ttl span {
  font-size: clamp(1.6rem, -3.697rem + 11.03vw, 3.2rem);
  position: relative;
  z-index: 1;
  font-weight: bold;
}

#sec06 .ttl::after {
  content: "";
  width: 100%;
  height: 1.2rem;
  background-color: #FFF000;
  position: absolute;
  left: 0;
  bottom: 0;
}

#sec06 .inner {
  display: flex;
  gap: 3rem;
}

#sec06 .col {
  width: calc((100% - 3rem* 1) / 2);
}

#sec06 .col .txt {
  width: 100%;
}

#sec06 .col .txt span {
  color: #C80000;
}

#sec06 .col .img {
  width: 100%;
  margin-top: auto;
}

#sec06 .phone {
  text-align: center;
  position: relative;
  z-index: 1;
  margin-top: -20rem;
}

.txt {
  width: calc(53% - 3rem);
  font-size: clamp(1.2rem, 1.12rem + 0.4vw, 1.6rem);
  line-height: 2;
  font-feature-settings: "palt";
}

.txt img {
  padding-top: 2rem;
}

#sec07 {
  background-color: #E6E6E6;
  padding: 5rem 0;
}

#sec07 .wrapper {
  max-width: 90rem;
}

#sec07 .wrapper:first-child {
  background-image: url("../img/map.jpg");
  background-size: 45rem;
  background-repeat: no-repeat;
  background-position: center 10%;
}

#sec07 .ttl {
  padding: 6rem 0 4rem;
  font-size: clamp(1.6rem, -5.746rem + 14.95vw, 3.6rem);
  font-weight: bold;
}

#sec07 .wrapper {
  background-color: #FFF;
  padding: 0 5rem 5rem;
}

#sec07 .wrapper:not(:last-child) {
  margin-bottom: 5rem;
  padding-bottom: 3rem;
}

#sec07 dl {
  padding: 0 0 3rem;
}

#sec07 dd {
  font-size: clamp(1.2rem, -0.269rem + 2.99vw, 1.6rem);
  line-height: 2;
}

#sec07 dd span {
  color: #C80000;
}

#sec07 p {
  font-size: 1.6rem;
  line-height: 2;
}

iframe#hs-form-iframe-0 {
  width: 100% !important;
  max-width: 700px !important;
  margin: 30px auto 0 !important;
}

#entry-form {
  margin: 0 0 17rem;
}

#entry-form .ttl {
  font-size: clamp(1.8rem, -4.811rem + 13.46vw, 3.6rem);
  line-height: 1.4;
  padding: 4rem 0 1rem;
  font-weight: bold;
}

#entry-form .ttl span {
  font-size: clamp(1.6rem, 1.44rem + 0.8vw, 2.4rem);
}

#entry-form p {
  font-size: clamp(1.2rem, 1.12rem + 0.4vw, 1.6rem);
  text-align: center;
  line-height: 1.7;
}

footer {
  padding: 0;
  height: auto;
  background: none;
}

footer .wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 67rem;
  margin: 8rem auto 5rem;
}

footer .copyright {
  font-size: 1.4rem;
  font-family: "futura-pt", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.side-fixed__bnr__img {
  border: none;
  line-height: 0;
  width: 100%;
  max-width: 100%;
  vertical-align: top;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.sp {
  display: none;
}

iframe#hs-form-iframe-0 {
  margin: 0 auto 0 !important;
}

#entry-form {
  margin: 0;
}

#entry-form .inn {
  margin: 0 auto;
}

@media only screen and (max-width: 1280px) {
  img {
    width: 100% !important;
    height: auto !important;
  }

  .inner {
    padding: 0 2rem 2rem 2rem;
  }

  #service.tax-planning .fv {
    height: auto;
  }

  #service .main_title {
    max-width: 100%;
    height: auto;
  }

  #sec02 h3 {
    width: 90%;
    margin: 0 auto;
  }

  #sec02 .img {
    width: 90%;
    margin: 0 auto;
  }

  #sec05 figure img {
    width: 80%;
  }
}

@media only screen and (max-width: 786px) {
  body {
    margin-top: 0;
  }

  .sp {
    display: block;
  }

  .pc {
    display: none;
  }

  .btn {
    padding: 2rem 0 1rem;
  }

  .inner {
    display: block !important;
  }

  .col_wrap {
    flex-flow: column;
    background: none !important;
    padding: 1rem 0 !important;
    margin-bottom: 0 !important;
  }

  .col_wrap .img {
    width: 100% !important;
  }

  .col_wrap dl {
    width: 100% !important;
    padding-top: 2rem;
    order: 1;
  }

  .col {
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #sec03 .other {
    max-width: 90%;
    padding: 3rem 0;
  }

  #sec03 .other p {
    text-align: left;
    padding-top: 2rem;
  }

  #sec04 {
    padding-bottom: 1rem;
  }

  #sec04 .col_wrap dt h3:before {
    width: 3rem;
  }

  #sec05 figcaption {
    padding: 3rem 0 0;
    text-align: left;
  }

  #sec06 .txt {
    order: 1;
    width: 100%;
  }

  #sec06 .col_wrap .img {
    width: 100%;
    order: 2;
    padding-top: 3rem;
  }

  #sec06 .phone {
    margin-top: -15%;
  }

  #sec07 .wrapper {
    background-image: none !important;
    padding: 0 1rem;
  }

  #sec07 dd {
    line-height: normal;
  }

  #sec07 .ttl {
    padding: 4rem 0 2rem;
  }

  #sec07 .ttl img {
    width: 80%;
  }

  #entry-form {
    margin: 0;
  }

  #entry-form p {
    text-align: left;
  }
  
  footer {
    background: none;
  }

   footer .copyright {
    padding-top: 1rem;
    font-size: 1rem;
  }
  footer .wrapper {
    flex-flow: column;
    text-align: center;
    margin: 3rem auto 2rem;
  }
  footer .wrapper img {
    margin: 0 auto;
    width: 70% !important;
  }
}
