@charset "utf-8";

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}
html {
  font-size: 10px;
  font-size: 0.521vw;
}
body {
  background: #fff;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  /* font-feature-settings: "palt"; */
  /* font-family: "游明朝", "Yu Mincho","Hiragino Mincho Pro", serif; */
  /* font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; */
  /*font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",sans-serif;*/
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.04em;
  }

/* -------

【重要】
上記bodyに対するfont-familyの記述は必要なものだけ使用し、
使わない分は忘れずに削除すること。

----*/

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


/*PC用*/
@media print,screen  {
  .pc { display: block !important }
  .sp { display: none !important }
  .h_menu, #sp_global_nav { display: none; }

  #header {
    position: fixed;
    top: 4rem;
    width: 100%;
    z-index: 9999;
  }
  #header .inner {
    margin: 0 7rem;
    padding: 1.2rem 1.2rem 1.2rem 4rem;
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.16);
    align-items: center;
  }
  #header .inner .kuin {
    flex-direction: column;
    gap: 7px 0;
  }
  .hamburger {
    position: relative;
    margin: 0 0 0 auto;
    width: 58px;
    height: 58px;
    border-radius: 10px;
    background: #1F0F0F;
    cursor: pointer;
    z-index: 9999;
  }
  .hamburger span {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 26px;
    height: 3px;
    background: #fff;
    transition: all 0.5s ease;
  }
  .hamburger span:nth-of-type(1) {
    top: 19px;
  }
  .hamburger span:nth-of-type(2) {
    top: calc(19px + 9px);
  }
  .hamburger span:nth-of-type(3) {
    top: calc(19px + 9px + 9px);
  }
  
  .hamburger.active span:nth-of-type(1) { 
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
  }
  .hamburger.active span:nth-of-type(2) { opacity: 0; }
  .hamburger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
  }

  .globalMenuSp {
    position: absolute;
    top: 100px;
    right: 5rem;
    padding: 7.6rem 3.2rem 5rem 4.4rem;
    width: 400px;
    height: 468px;
    opacity: 0;
    visibility: hidden;
    background: url(../../images/src/common/fukidashi.png) no-repeat right top / 100%;
    transition: .7s;
    z-index: 999;
  }
  .globalMenuSp.active {
    opacity: 1;
    visibility: visible;
  }
  .globalMenuSp li + li {
    margin-top: 3rem;
  }
  .globalMenuSp li a,
  #footer .ft_nav li a {
    display: block;
    position: relative;
    padding-left: 3.8rem;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.76;
  }
  .globalMenuSp li a::before,
  #footer .ft_nav li a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 2.7rem;
    height: 2.7rem;
    background: url(../../images/src/common/arrow01.svg) no-repeat left center / 100%;
  }

  .cta_block {
    margin-bottom: -1px;
    padding-bottom: 62px;
    text-align: center;
    background: url(../../images/src/top/cta_bg01.png) no-repeat center top / cover;
  }
  .cta_block .img01 {
    position: relative;
    top: -3.6rem;
  }
  .cta_block .img01 img {
    object-fit: cover;
    height: 386px;
  }
  .cta_block .cta_white_box {
    margin-top: -3.6rem;
    padding: 6.8rem 0;
    background: rgba(255,255,255,.8);
  }
  .cta_block .cta_white_box .cta_inner {
    margin: 0 auto;
    width: 1100px;
    max-width: 95%;
  }
  .cta_block .cta_white_box .cta_inner h3 {
    margin-bottom: 38px;
  }
  .cta_block .cta_white_box .cta_inner .box {
    padding-right: 3.6rem;
    background: #FFF;
    box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.16);
    align-items: center;
  }
  .cta_block .cta_white_box .cta_inner .box + .box {
    margin-top: 3rem;
  }

  #footer {
    padding: 5.5rem 0 12rem;
  }
  
  #footer .ft_nav {
    margin: 0 48.6rem;
    /*width: 908px;
    max-width: 95%;*/
    display: grid;
    grid-template-columns: 31.9rem 1fr 1fr;
    gap: 2.2rem 5rem;
    justify-items: start;
    align-items: center;
  }
  #footer #copyright {
    margin-top: 5rem;
    font-weight: 300;
    line-height: 2.25;
    text-align: center;
  }
  .sticky_nav {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 1154px;
    max-width: 100%;
    align-items: stretch;
    z-index: 9999;
  }
  .sticky_nav .hase,
  .sticky_nav .taki {
    flex: 1;
    padding: 1.5rem 1.2rem 1rem 1.8rem;
    align-items: center;
  }
  .sticky_nav .hase {
    background: var(--hase-color);
  }
  .sticky_nav .taki {
    background: var(--taki-color);
  }

}



/*小さめ画面 */
@media screen and (max-width:1280px) {
  html {
    font-size: 0.781vw;
  }
  
  /*.cta_block .img01 img {
    object-fit: cover;
    height: 340px;
  } */
  #footer {
    padding-bottom: 15rem;
  }
  #footer .ft_nav {
    margin: 0 18rem;
  }
}

/*タブレット */
@media screen and (max-width:1180px) {
  html {
    font-size: 0.847vw;
  }
  #header .inner {
    margin: 0 4rem;
  }
  .cta_block .cta_white_box .cta_inner .box .ttl {
    width: 32.1rem;
  }
  .cta_block .cta_white_box .cta_inner .box .tel {
    width: 38rem;
  }
  .cta_block .cta_white_box .cta_inner .box .btn {
    width: 31.8rem;
  }
  .sticky_nav .hase p {
    width: 21.3rem;
  }
  .sticky_nav .taki p {
    width: 25.7rem;
  }
  .sticky_nav .btn {
    width: 23.8rem;
  }
  #footer .ft_nav {
    margin: 0 10rem;
  }
}

@media screen and (max-width:1130px) { 
  #header .logo {
    width: 94rem;
  }
}

/*SP用*/
@media screen and (max-width:828px) {
  .pc { display: none !important }
  .sp { display: block !important }
  img { max-width: 100%; height: auto; width: auto; }
  body { min-width: auto !important; overflow: inherit !important; }
  div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }
  html {
    font-size: 1.208vw;
  }

  #header {
    top: 3.623vw;
  }
  #header .inner {
    margin: 0 2.415vw;
    padding: 3.382vw 1.208vw 3.382vw 2.415vw;
    border-radius: 1.208vw;
    box-shadow: 0 0 3.623vw 0 rgba(0, 0, 0, 0.16);
  }
  #header .inner .logo {
    width: 81.159vw;
  }
  .hamburger {
    margin: 0 0 0 auto;
    width: 8.454vw;
    height: 11.111vw;
    border-radius: 1.208vw;
  }
  
  .hamburger span {
    width: 3.925vw;
    height: 0.453vw;
  }
  .hamburger span:nth-of-type(1) {
    top: 3.865vw;
  }
  .hamburger span:nth-of-type(2) {
    top: 5.374vw;
  }
  .hamburger span:nth-of-type(3) {
    top: 6.884vw;
  }
  
  .hamburger.active span:nth-of-type(1) { 
    -webkit-transform: translateY(1.5vw) rotate(-45deg);
    transform: translateY(1.5vw) rotate(-45deg);
  }
  .hamburger.active span:nth-of-type(2) { opacity: 0; }
  .hamburger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-1.5vw) rotate(45deg);
    transform: translateY(-1.5vw) rotate(45deg);
  }

  .globalMenuSp {
    top: 20.773vw;
    right: 0;
    padding: 7.6rem 3.2rem 5rem 4.4rem;
    width: 82.126vw;
    height: 96.739vw;
    background: url(../../images/src/common/sp/fukidashi.png) no-repeat right top / 100%;
  }
  .globalMenuSp li + li {
    margin-top: 6.763vw;
  }
  .globalMenuSp li a,
  #footer .ft_nav li a {
    padding-left: 8.454vw;
    font-size: 3.865vw;
  }
  .globalMenuSp li a::before,
  #footer .ft_nav li a::before {
    width: 5.797vw;
    height: 5.797vw;
  }

  .cta_block {
    padding-bottom: 6.763vw;
    background: url(../../images/src/top/sp/cta_bg01.webp) no-repeat center top / cover;
  }
  .cta_block .img01 {
    top: 0;
  }
  .cta_block .cta_white_box {
    margin-top: 0;
    padding: 9.42vw 3.623vw 7.246vw;
  }
  .cta_block .cta_white_box .cta_inner{
    margin: 0 auto;
    width: auto;
    max-width: initial;
  }
  .cta_block .cta_white_box .cta_inner h3 {
    margin-bottom: 6.039vw;
  }
  .cta_block .cta_white_box .cta_inner .box {
    padding: 0 0 4.469vw;
    flex-direction: column;
  }
  .cta_block .cta_white_box .cta_inner .box .ttl {
    width: 100%;
  }
  .cta_block .cta_white_box .cta_inner .box .tel {
    margin: 2.415vw auto 3.623vw;
    width: 71.739vw;
  }
  .cta_block .cta_white_box .cta_inner .box .btn {
    margin: 0 auto;
    width: 53.382vw;
  }

  .cta_block .img01 img {
    height: auto;
  }
  #footer {
    padding: 7.246vw 4.831vw 21.014vw;
  }
  
  #footer .ft_nav {
    margin: 0 auto;
    width: 100%;
    max-width: initial;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    align-items: stretch;
  }
  
  #footer .ft_nav li {
    width: 100%;
    height: 17.874vw;
    border-top: 0.121vw solid #C9C9C9;
  }
  #footer .ft_nav li:nth-of-type(odd) {
    border-right: 0.121vw solid #C9C9C9;
  }
  #footer .ft_nav li:nth-of-type(5),
  #footer .ft_nav li:nth-of-type(6) {
    border-bottom: 0.121vw solid #C9C9C9;
  }
  #footer .ft_nav li a {
    height: 100%;
    padding: 3.623vw 0 3.623vw 8.454vw;
    line-height: 1.46;
    white-space: nowrap;
    display: flex;
    align-items: center;
  }
  
  #footer .ft_nav li:nth-of-type(even) a {
    padding-left: 10.99vw;
  }
  #footer .ft_nav li:nth-of-type(even) a::before {
    left: 3.623vw;
  }
  #footer #copyright {
    margin-top: 4.831vw;
    font-size: 3.14vw;
    line-height: 1.38;
  }
  .sticky_nav {
    padding: 1.932vw 2.415vw;
    bottom: 0;
    width: 100%;
    max-width: initial;
    align-items: center;
    background: #F4F4F4;
  }
  .sticky_nav .btn {
    width: 32.609vw;
  }
  .sticky_nav p {
    width: 14.493vw;
  }
  .sticky_nav #pagetop {
    width: 11.111vw;
  }

}



/* pcのみのhoverアクションはここ */
@media (hover: hover) and (pointer: fine) {
	a:hover {
	  opacity: 0.7
	}
}
  
 /*IE11用に以下のコードも追加*/
  @media (-ms-high-contrast: none), (-ms-high-contrast: active) {
	a:hover {
	  opacity: 0.7
	}
}



/* 印刷用 */
@media print {
  body { zoom: 0.6; -webkit-print-color-adjust: exact; }
}

/* 印刷用 IE10以上 */
@media print and (-ms-high-contrast:none) {
  @page { size: A4; margin: 12.7mm 9.7mm; }
  body { zoom: 1.8; width: 1200px; transform: scale(0.5); transform-origin: 0 0; }
}