@charset "utf-8";
/*************************************************************
 *
 * Copyright (c) 2025 ysrock Co., Ltd.	<info@ysrock.co.jp>
 * Copyright (c) 2025 Yasuo Sugano	<sugano@ysrock.co.jp>
 *
 * Version	: 1.0.0
 * Update	  : 2025.05.09
 *
 *************************************************************/
body {
  background-color: #000;
  color: #fff;
}

body,
#main {
  background-image: url('/datas/background/image.php');
  background-repeat: repeat;
  background-position-x: center;
  /* background-size: 100%; */
}
@media print, screen and (min-width: 1025px) {
  /* px */

  #main {
    padding-bottom: 50px;
  }
}@media screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

  #main {
    padding-bottom: 5.8548vw;
  }
}
@media screen and (max-width: 640px){
	/* px/4 */

  #main {
    padding-bottom: 12.5vw;
  }
}



[v-cloak] {
  display: none;
}


/**
 * 見出し
 */
h2 {
  display: block;
  border-bottom-style: solid;
  border-bottom-color: #a7d6eb;
  background-color: #000;
  color: #fff;
  position: relative;
}
h2::before {
  content: "";
  display: inline-block;
  background-color: #a7d6eb;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
}
h2::after {
  content: "";
  display: inline-block;
  background-color: #000;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
}
h2 > a {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  float: right;
}
@media print, screen and (min-width: 1025px) {
  /* px */

  h2 {
    margin-bottom: 10px;
    padding: 0 15px;
    border-bottom-width: 2px;
    font-size: 21px;
    line-height: 41px;
  }
  h2::before,
  h2::after {
    width: 30px;
    height: 15px;
    left: 20px;
  }
  h2::before {
    bottom: -15px;
  }
  h2::after {
    bottom: -12px;
  }
  h2 > a {
    font-size: 14px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

  h2 {
    margin-bottom: 1.1709vw;
    padding: 0 1.7564vw;
    border-bottom-width: 0.2341vw;
    font-size: 2.459vw;
    line-height: 4.8009vw;
  }
  h2::before,
  h2::after {
    width: 3.5128vw;
    height: 1.7564vw;
    left: 2.3419vw;
  }
  h2::before {
    bottom: -1.7564vw;
  }
  h2::after {
    bottom: -1.4051vw;
  }
  h2 > a {
    font-size: 1.6393vw;
  }
}
@media screen and (max-width: 640px){
	/* px/4 */

  h2 {
    margin-bottom: 2.5vw;
    padding: 0 3.75vw;
    border-bottom-width: 0.5vw;
    font-size: 5.25vw;
    line-height: 10.25vw;
  }
  h2::before,
  h2::after {
    width: 7.5vw;
    height: 3.75vw;
    left: 5vw;
  }
  h2::before {
    bottom: -3.75vw;
  }
  h2::after {
    bottom: -3vw;
  }
  h2 > a {
    font-size: 3.5vw;
  }
}


/**
 * 区切り線
 */
img.hr {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 1025px) {
  /* px */

  img.hr {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

  img.hr {
    width: 80vw;
    margin-top: 5.8548vw;
    margin-bottom: 5.8548vw;
  }
}
@media screen and (max-width: 640px){
	/* px/4 */

  img.hr {
    width: 80vw;
    margin-top: 7.5vw;
    margin-bottom: 7.5vw;
  }
}


/**
 * トップへ戻る
 */
#btnScrollTop {
  position: fixed;
  z-index: 10;
  cursor: pointer;
}

@media print, screen and (min-width: 1025px) {
  /* px */

  #btnScrollTop {
    width: 60px;
    height: 60px;
    bottom: -80px;
    right: 20px;
  }
  #btnScrollTop.visible {
    bottom: 20px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

  #btnScrollTop {
    width: 7.0257vw;
    height: 7.0257vw;
    bottom: -9.3676vw;
    right: 2.3419vw;
  }
  #btnScrollTop.visible {
    bottom: 2.3419vw;
  }
}
@media screen and (max-width: 640px){
	/* px/4 */

  #btnScrollTop {
    display: none;
  }
}