@charset "UTF-8";

/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

table {
  /* border-collapse: collapse; */
  /* border-spacing: 0; */
}

img {
  image-rendering: -webkit-optimize-contrast;
}

/* Utility */
.u-color--alert {
  color: red;
}

@media screen and (min-width: 768px),
print {

  /* base */
  body {
    background-color: #000000;
    font-size: 16px;
    /* overflow-x: hidden; */
    line-height: 1.6;
    letter-spacing: 0.8px;
    color: #FFFFFF;
    font-weight: 400;
    overflow: clip;
  }

  header {
    position: sticky;
    top: 0;
    left: 0;
    max-width: 1920px;
    margin: 0 auto;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 20;
  }

  header .header-inner {
    display: flex;
    align-items: center;
    padding: 11px 6px 23px 25px;
    justify-content: space-between;
  }

  header .header-logo {
    width: 288px;
  }

  header .header-logo img {
    width: 100%;
  }

  header .header-nav {
    display: flex;
    align-items: center;
    position: relative;
  }

  header .header-list {
    display: flex;
    gap: 26px;
    margin: 9px 0 0;
  }

  header .header-item a {
    font-size: 16px;
    font-weight: 500;
    line-height: 2.5;
    letter-spacing: 0.02em;
    color: #FFFFFF;
  }

  header .header-btn-wrap {
    display: flex;
    gap: 22px;
    align-items: center;
    margin: 0 0 0 34px;
  }

  header .tel-wrap {
    display: flex;
    flex-direction: column;
    gap: 9px;
  }

  header .tel-wrap .txt {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.07em;
    color: #FFFFFF;
  }

  header .tel-wrap .tel-number {
    width: 234px;
  }

  header .tel-wrap .tel-number img {
    width: 100%;
  }

  header .contact-btn {
    width: 231px;
    z-index: 2;
    position: relative;
    top: 4px;
  }

  header .contact-btn::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 123px;
    bottom: -146%;
    left: 50%;
    background-image: url(../images/common/btn-shadow.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateX(-50%);
    z-index: 1;
  }

  header .contact-btn .btn {
    position: relative;
    z-index: 3;
  }


  .pc-menu {
    position: fixed;
    top: 19px;
    right: 12px;
    z-index: 9999;
  }

  .pc-menu:hover {
    opacity: 0.8;
    cursor: pointer;
    cursor: hand;
  }

  .side-fix {
    position: fixed;
    bottom: 20px;
    z-index: 60;
    width: 100%;
    display: none;
  }

  .side-fix .btn-frame {
    width: 750px;
    margin: 0 auto;
  }


  #pc-menu-open {
    display: none;
    background: #f8f8f8;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    z-index: 10000;
    overflow-y: scroll;
  }

  #pc-menu-open .open-close-01 {
    position: absolute;
    top: 0;
    right: 0;
  }

  #pc-menu-open {
    background: #ccc;
    padding: 80px 0;
    line-height: 1.6;
  }

  #pc-menu-open .menu-open-Box {
    width: 1100px;
    margin: 0 auto;
    font-size: 16px;
  }

  #pc-menu-open .f-link-Box {
    width: 770px;
    float: left;
  }

  #pc-menu-open .f-link-Box .f-home-link {
    margin-bottom: 40px;
  }

  #pc-menu-open .f-link-Box .f-home-link::before {
    content: "■ ";
  }

  #pc-menu-open .f-link-Box .parent {
    font-size: 14px;
    color: #fff;
  }

  #pc-menu-open .f-link-Box .child {
    font-size: 14px;
  }

  #pc-menu-open .f-link-Box .child::before {
    content: "- ";
    padding-right: 5px;
  }

  /*#pc-menu-open  .f-link-Box li::before{ content: "> "; }*/
  #pc-menu-open .f-link-Box li {
    margin-bottom: 10px;
  }

  #pc-menu-open .f-link-l {
    float: left;
    width: 180px;
    margin-right: 40px;
  }

  #pc-menu-open .f-link-c {
    float: left;
    width: 180px;
    margin-right: 40px
  }

  #pc-menu-open .f-link-r {
    float: left;
    width: 180px;
  }

  #pc-menu-open .menu-open-con-Box {
    width: 320px;
    float: left;
  }

  #pc-menu-open .menu-open-con-Box .sns-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .open-main-Box {
    width: 1200px;
    margin: 0 auto;
    text-align: center;
  }



  footer .footer-upper {
    background-color: #FFFFFF;
    padding: 42px 0 29px;
  }

  footer .footer-upper .inner {
    width: 1200px;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  footer .footer-upper .footer-logo {
    width: 228px;
  }

  footer .footer-upper .footer-logo img {
    width: 100%;
  }

  footer .footer-upper .footer-list {
    display: flex;
    gap: 13px;
  }

  footer .footer-upper .footer-list li:not(:last-child) {
    margin: 0 0 0 6px;
  }

  footer .footer-bottom {
    background-color: #F5F5F5;
    padding: 34px 0;
  }

  footer .footer-bottom .inner {
    width: 1200px;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
  }

  footer .footer-link {
    display: flex;
    gap: 50px;
  }

  footer .footer-link li {
    position: relative;
  }

  footer .footer-link li:first-child::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    top: 50%;
    right: -25px;
    background-image: url(../images/common/open-icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
  }

  footer .footer-link li a {
    font-size: 14px;
    line-height: 2.2857;
    letter-spacing: 0.03em;
    color: #606060;
    text-decoration: underline;
  }

  footer .copyright {
    font-size: 14px;
    line-height: 2.2857;
    letter-spacing: 0.03em;
    color: #606060;
  }

  /*pc・タブレットcss*/
  /*pc_defaultset*/
  .pc {
    display: block !important;
  }

  /*pcのみ表示ブロック*/
  .pc2 {
    display: inline-block !important;
  }

  /*pcのみ表示ブロック*/
  .sp,
  .sp2 {
    display: none !important;
  }

  /*スマホのみ表示ブロック*/
  .h_menu {
    display: none;
  }

  /*スマホ用ヘッダ*/
  .sp-header {
    display: none;
  }

  /*スマホ用メニュー*/
  #sp-global-nav {
    display: none;
  }

  /*スマホ用メニュー*/
  .sp-fix-list {
    display: none;
  }

  /* Antialiasing ※任意　*/

  html {
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: none;
    overflow-x: hidden;
  }

  /* WEB FONTs 游ゴシックかすれ予防*/
  @font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 100;
  }

  @font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 200;
  }

  @font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 300;
  }

  @font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 400;
  }

  @font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Bold");
    font-weight: bold;
  }

  @font-face {
    font-family: "Helvetica Neue";
    src: local("Helvetica Neue Regular");
    font-weight: 100;
  }

  @font-face {
    font-family: "Helvetica Neue";
    src: local("Helvetica Neue Regular");
    font-weight: 200;
  }

  .f-min {
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  }

  .f-min-02 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Sawarabi Mincho", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  }

  .f-gothic {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Verdana, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  }

  .f-kaku {
    font-family: "Zen Kaku Gothic New", serif;
    font-weight: 400;
    font-style: normal;
  }

  .f-min-03 {
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    font-style: normal;
  }


  body {
    -webkit-text-size-adjust: 100%;
  }

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

  a {
    text-decoration: none;
    color: #090909;
  }

  a:hover {
    text-decoration: underline;
  }

  .nobd a:hover {
    text-decoration: none !important;
  }


  /* リンク透明 */
  a img:hover {
    -ms-filter: "alpha( opacity=80 )";
    filter: alpha(opacity=80);
    opacity: 0.8;
  }

  /* リンク透明にしない */
  .noop a img:hover {
    -ms-filter: "alpha( opacity=100 )";
    filter: alpha(opacity=100);
    opacity: 1.0;
  }

  /*---------------------------------------- 　　外部サービス ----------------------------------------*/
  /* ggmap */
  /* <div class="ggmap">iframeのコピーしたコード</div> */
  .ggmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
  }

  .ggmap iframe,
  .ggmap object,
  .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
  .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }

  .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }

  /*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
  @font-face {
    font-family: 'jp-sttl01';
    src: url("../font/.eot");
    /* IE9以上用 */
    src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
    /* iOS, Android用 */
    /* 念の為指定しておきます */
    font-weight: normal;
    /* 念の為指定しておきます */
    font-style: normal;
    vertical-align: top;
    margin: 0px;
    padding: 0px;
  }

  .myWebFontClass {
    font-family: 'jp-sttl01';
  }
}

@media screen and (min-width:1100px) and (max-width:1500px) {
  header {
    zoom: .8;
  }
}

@media screen and (min-width:768px) and (max-width:1100px) {
  header {
    zoom: .75;
  }
}

@media screen and (min-width:768px) and (max-width:1500px) {
  header {
    position: sticky;
    top: 0;
    left: 0;
    max-width: 100%;
    margin: 0 auto;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 20;
  }

  header .header-inner {
    display: flex;
    align-items: center;
    padding: 0.733vw 0.4vw 1.533vw 1.667vw;
    justify-content: space-between;
  }

  header .header-logo {
    width: 19.2vw;
  }

  header .header-logo img {
    width: 100%;
  }

  header .header-nav {
    display: flex;
    align-items: center;
    position: relative;
  }

  header .header-list {
    display: flex;
    gap: 1.6vw;
    margin: 0.6vw 0 0;
  }

  header .header-item a {
    font-size: clamp(0.75rem, 0.488rem + 0.55vw, 1rem);
    font-weight: 500;
    line-height: 2.5;
    letter-spacing: 0.02em;
    color: #FFFFFF;
  }

  header .header-btn-wrap {
    display: flex;
    gap: 1.467vw;
    align-items: center;
    margin: 0 0 0 2.267vw;
  }

  header .tel-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.6vw;
  }

  header .tel-wrap .txt {
    font-size: clamp(0.75rem, 0.488rem + 0.55vw, 1rem);
    line-height: 1;
    letter-spacing: 0.07em;
    color: #FFFFFF;
  }

  header .tel-wrap .tel-number {
    width: 15.6vw;
  }

  header .tel-wrap .tel-number img {
    width: 100%;
  }

  header .contact-btn {
    width: 15.4vw;
    z-index: 2;
    position: relative;
    top: 0.267vw;
  }

  header .contact-btn::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 8.2vw;
    bottom: -146%;
    left: 50%;
    background-image: url(../images/common/btn-shadow.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateX(-50%);
    z-index: 1;
  }

  header .contact-btn .btn {
    position: relative;
    z-index: 3;
  }
}

@media screen and (min-width:768px) and (max-width:1240px) {
  footer .footer-upper {
    background-color: #FFFFFF;
    padding: 3.387vw 0 2.339vw;
  }

  footer .footer-upper .inner {
    width: 96.774vw;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  footer .footer-upper .footer-logo {
    width: 18.387vw;
  }

  footer .footer-upper .footer-logo img {
    width: 100%;
  }

  footer .footer-upper .footer-list {
    display: flex;
    gap: 1.048vw;
  }

  footer .footer-upper .footer-list li:not(:last-child) {
    margin: 0 0 0 0.484vw;
  }

  footer .footer-bottom {
    background-color: #F5F5F5;
    padding: 2.742vw 0;
  }

  footer .footer-bottom .inner {
    width: 96.774vw;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
  }

  footer .footer-link {
    display: flex;
    gap: 4.032vw;
  }

  footer .footer-link li {
    position: relative;
  }

  footer .footer-link li:first-child::after {
    content: "";
    position: absolute;
    width: 0.968vw;
    height: 0.968vw;
    top: 50%;
    right: -2.016vw;
    background-image: url(../images/common/open-icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
  }

  footer .footer-link li a {
    font-size: clamp(0.813rem, 0.711rem + 0.21vw, 0.875rem);
    line-height: 2.2857;
    letter-spacing: 0.03em;
    color: #606060;
    text-decoration: underline;
  }

  footer .copyright {
    font-size: clamp(0.813rem, 0.711rem + 0.21vw, 0.875rem);
    line-height: 2.2857;
    letter-spacing: 0.03em;
    color: #606060;
  }

  footer .footer-upper {
    background-color: #FFFFFF;
    padding: 3.387vw 0 2.339vw;
  }

  footer .footer-upper .inner {
    width: 96.774vw;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  footer .footer-upper .footer-logo {
    width: 18.387vw;
  }

  footer .footer-upper .footer-logo img {
    width: 100%;
  }

  footer .footer-upper .footer-list {
    display: flex;
    gap: 1.048vw;
  }

  footer .footer-upper .footer-list li:not(:last-child) {
    margin: 0 0 0 0.484vw;
  }

  footer .footer-bottom {
    background-color: #F5F5F5;
    padding: 2.742vw 0;
  }

  footer .footer-bottom .inner {
    width: 96.774vw;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
  }

  footer .footer-link {
    display: flex;
    gap: 4.032vw;
  }

  footer .footer-link li {
    position: relative;
  }

  footer .footer-link li:first-child::after {
    content: "";
    position: absolute;
    width: 0.968vw;
    height: 0.968vw;
    top: 50%;
    right: -2.016vw;
    background-image: url(../images/common/open-icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
  }

  footer .footer-link li a {
    font-size: clamp(0.813rem, 0.711rem + 0.21vw, 0.875rem);
    line-height: 2.2857;
    letter-spacing: 0.03em;
    color: #606060;
    text-decoration: underline;
  }

  footer .copyright {
    font-size: clamp(0.813rem, 0.711rem + 0.21vw, 0.875rem);
    line-height: 2.2857;
    letter-spacing: 0.03em;
    color: #606060;
  }

}



@media screen and (max-width: 1200px) {
  html {
    overflow: auto;
  }

  body {
    overflow-x: clip;
  }
}




@media screen and (max-width: 767px) {

  html {
    font-size: 62.5%;
  }

  body {
    overflow: hidden;
    background-color: #000000;
    font-size: 3.6vw;
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    line-height: 1.6;
    color: #FFFFFF;
  }

  .pc,
  .pc2 {
    display: none !important;
  }

  /*pcのみ表示ブロック*/
  .sp {
    display: block !important;
  }

  /*スマホのみ表示ブロック*/
  .sp2 {
    display: inline-block !important;
  }

  /*スマホのみ表示ブロック*/
  .no-br {
    display: none;
  }

  /*スマホでbrを解除したい場合に使用*/
  .sp_display_block {
    display: block !important;
  }

  /*スマホでflexboxを解除したい場合等に使用*/
  .pc-menu {
    display: none;
  }

  .side-fix {
    position: fixed;
    bottom: 5vw;
    z-index: 60;
    width: 100%;
    display: none;
  }

  .side-fix .btn-frame {
    width: 90vw;
    margin: 0 auto;
  }

  #pc-menu-open {
    display: none;
  }

  #g-nav {
    display: none;
  }

  header {
    position: sticky;
  }

  header .header-logo {
    position: absolute;
    top: 0;
    left: 0;
  }

  header .header-logo img {
    width: 63vw;
    mix-blend-mode: multiply;
  }

  header {
    position: fixed;
    top: 0;
    left: 0;
    max-width: 100vw;
    margin: 0 auto;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 20;
  }

  .sp-header {
    width: 100vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .sp-header .h-logo {
    width: 33.1vw;
    margin: 0vw 0 0 3.4vw;
  }

  .sp-header .h-logo img {
    width: 100%;
  }


  nav#sp-global-nav .h-logo {
    margin: 3vw 0 0 3.8vw;
  }

  nav#sp-global-nav .h-logo img {}

  nav#sp-global-nav {
    font-size: 3.8vw;
    z-index: 999;
    overflow: scroll;
    position: fixed;
    top: 0;
    width: 100vw;
    height: 100vh;
    display: none;
    background-color: #000;
    box-sizing: border-box;
    color: #fff;
  }

  nav#sp-global-nav .open-close-01 {
    position: fixed;
    top: 0;
    right: 0;
    width: 13vw;
    z-index: 998;
  }

  nav#sp-global-nav .open-close-01 img {
    height: 13vw;
    width: auto;
  }

  nav#sp-global-nav .open-color-Box {
    padding: 14vw 0 9vw;
  }

  nav#sp-global-nav .open-link {
    width: 70vw;
    margin: 0 auto 4vw;
  }

  nav#sp-global-nav .list {
    margin: 3vw 5.4vw 5vw;
  }

  nav#sp-global-nav .list li a {
    color: #fff;
    line-height: 3.33;
    text-decoration: none;
    padding: vw 0vw;
    display: block;
    border-bottom: 0.2vw solid #fff;
    font-size: 4.348vw;
    font-weight: 500;
    letter-spacing: 0.04em;
  }

  nav#sp-global-nav .open-close-02 {
    background: #222;
    text-align: center;
    padding: 5vw 3vw;
    margin: 10vw 5vw 20vw;
    letter-spacing: 0.5vw;
  }

  nav#sp-global-nav .list-1 {
    width: 100%;
    margin: 0 auto 10vw;
  }

  nav#sp-global-nav .list-1 li {
    border-bottom: 0.2vw solid #fff;
    padding: 0vw 5vw 2.5vw;
    margin-bottom: 5vw;
  }

  nav#sp-global-nav .list-1 li a {
    color: #fff;
    display: block;
  }

  nav#sp-global-nav .list-1 .parent {
    font-size: 4vw;
    color: #fff;
  }

  nav#sp-global-nav .list-1 li.parent {
    border: none !important;
    margin-bottom: 2vw;
  }

  nav#sp-global-nav .list-1 .child {
    font-size: 4vw;
    position: relative;
  }

  nav#sp-global-nav .list-1 .child::before {
    content: "- ";
    padding-right: 1vw;
    position: absolute;
    top: 0vw;
    left: 2vw;
  }

  .side-fix {}

  .sp-fix-list {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 996;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: flex-end;
  }

  .sp-fix-list .tel {}

  .sp-fix-list .icon {}



  footer .footer-upper {
    background-color: #FFFFFF;
    padding: 11vw 0 10vw;
  }

  footer .footer-upper .inner {
    width: 82.3vw;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    gap: 12vw;
  }

  footer .footer-upper .footer-logo {
    width: 38.7vw;
  }

  footer .footer-upper .footer-logo img {
    width: 100%;
  }

  footer .footer-upper .footer-list {
    display: flex;
    gap: 4vw;
  }

  footer .footer-upper .footer-list li:nth-child(2) {
    margin: 0 0 0 1vw;
  }

  footer .footer-upper .footer-list li:nth-child(3) {
    margin: 0 -1vw 0 0;
  }

  footer .footer-bottom {
    background-color: #F5F5F5;
    padding: 7vw 0 20vw;
  }

  footer .footer-bottom .inner {
    width: 89.4vw;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }

  footer .footer-link {
    display: flex;
    gap: 0.7vw;
    flex-direction: column;
  }

  footer .footer-link li {
    position: relative;
  }

  footer .footer-link li:first-child a::after {
    content: "";
    position: absolute;
    width: 3vw;
    height: 3vw;
    top: 50%;
    right: -4.4vw;
    background-image: url(../images/common/open-icon_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
  }

  footer .footer-link li a {
    font-size: 3.382vw;
    line-height: 2.2857;
    letter-spacing: 0.03em;
    color: #606060;
    text-decoration: underline;
    position: relative;
  }

  footer .copyright {
    font-size: 3.382vw;
    line-height: 2.2857;
    letter-spacing: 0.03em;
    color: #606060;
    text-align: center;
    margin: 7vw 0 0;
  }


  .fit img {
    object-fit: cover;
  }

  .wysiwyg img {
    width: auto !important;
    height: auto !important;
  }

  html {
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: none;
    overflow-x: hidden;
  }

  /* WEB FONTs 游ゴシックかすれ予防*/
  @font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 100;
  }

  @font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 200;
  }

  @font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 300;
  }

  @font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 400;
  }

  @font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Bold");
    font-weight: bold;
  }

  @font-face {
    font-family: "Helvetica Neue";
    src: local("Helvetica Neue Regular");
    font-weight: 100;
  }

  @font-face {
    font-family: "Helvetica Neue";
    src: local("Helvetica Neue Regular");
    font-weight: 200;
  }

  .f-min {
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  }

  .f-min-02 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Sawarabi Mincho", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  }

  .f-gothic {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Verdana, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  }

  .f-kaku {
    font-family: "Zen Kaku Gothic New", serif;
    font-weight: 400;
    font-style: normal;
  }

  .f-min-03 {
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    font-style: normal;
  }

  *:focus {
    outline: none !important;
  }

  a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    cursor: pointer;
  }

  body {
    -webkit-text-size-adjust: 100%;
  }

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

  a {
    text-decoration: none;
    color: #090909;
  }

  a:hover {
    text-decoration: underline;
  }

  .nobd a:hover {
    text-decoration: none !important;
  }

  .clearfix {
    zoom: 1;
  }

  .clearfix:after {
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    line-height: 0;
    content: ".";
  }


  /* img-block */
  /* アンカーリンク調整 */
  .hideAnchor {
    display: block;
    height: 0;
    overflow: hidden;
    text-indent: -9999px;
    margin-top: -2vw;
    padding-bottom: 2vw;
  }

  /* スクロール縦 */
  .scroll-y {
    box-sizing: border-box;
    overflow-y: scroll;
    transform: translateZ(0);
  }

  /* リンク透明 */
  a img:hover {
    -ms-filter: "alpha( opacity=80 )";
    filter: alpha(opacity=80);
    opacity: 0.8;
  }

  /* リンク透明にしない */
  .noop a img:hover {
    -ms-filter: "alpha( opacity=100 )";
    filter: alpha(opacity=100);
    opacity: 1.0;
  }

  /*---------------------------------------- 　　外部サービス ----------------------------------------*/
  /* ggmap */
  /* <div class="ggmap">iframeのコピーしたコード</div> */
  .sp-ggmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 5vw;
    height: 0;
    overflow: hidden;
  }

  .sp-ggmap iframe,
  .sp-ggmap object,
  .sp-ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
  .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }

  .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }

  /*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
  @font-face {
    font-family: 'jp-sttl01';
    /* お好きな名前にしましょう */
    src: url("../font/.eot");
    /* IE9以上用 */
    src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
    /* iOS, Android用 */
    /* 念の為指定しておきます */
    font-weight: normal;
    /* 念の為指定しておきます */
    font-style: normal;
    vertical-align: top;
    margin: 0px;
    padding: 0px;
  }

  .myWebFontClass {
    font-family: 'jp-sttl01';
  }
}

@media screen and (max-height: 450px) {

  /* 高さ450px以下の場合 andoroidのフォーム対策 ストーカーバナー用　*/
  .sp-fix-list {
    display: none;
  }
}