@charset "utf-8";

/* @import url("my-imported-styles.css"); */
:root {
  /* 固定ヘッダの高さ分アンカーをずらす */
  scroll-padding-top: 120px;
}

/* 基本設定 */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box !important;
}

html,
body {
  /* 構造 */
  width: 100vw;
  margin: 0 !important;
  padding: 0 !important;
  /* 色彩設計 */
  color: rgba(var(--text-color), 1.0);
  /* フォント */
  font-family: 'Noto Sans JP', 'Roboto', sans-serif;
  font-feature-settings: "palt" 2, "kern" 2, "liga";
  /* 1rem = 16px htmlの文字サイズを基準に1remが決められる */
  font-size: 16px;
  font-weight: 300;
  text-align: justify;
  vertical-align: middle;
}

/* 構造調整 */
main {
  width: 100vw;
  min-height: 100vh;
  background-color: transparent;
}

div {
  margin: 0;
  padding: 0;
}

/* 文字調整 */
body,
p,
span,
div,
ul,
ol,
li {
  font-size: calc(0.8rem + 0.2vw);
  line-height: calc(1.6rem + 0.2vw);
}

.mincho {
  font-family: "Noto Serif JP", "Tinos", serif;
}

.gothic {
  font-family: 'Noto Sans JP', 'Roboto', sans-serif;
}

.R-gothic {
  font-family: "Zen Maru Gothic", "Arimo", sans-serif;
  ;
}

/* ラジオボタンの高さがおかしいのを調整 */
input[type="radio"] {
  height: 1rem !important;
}

/* 強調を調整 */
strong {
  font-weight: 500;
}

/* リンク調整 */
a,
a:hover,
a:visited {
  font-size: 1.0rem;
  text-decoration: none;
  cursor: pointer;
}

a {
  color: rgba(var(--textlink-color), 1.0);
}

a:hover {
  color: rgba(var(--texthover-color), 1.0);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Noto Sans JP', 'Roboto', sans-serif;
  font-weight: 300;
  font-feature-settings: "palt" 2, "kern" 2, "liga";
  overflow: visible;
}

h1 {
  font-size: calc(1.7rem + 0.17vw);
  line-height: calc(2.6rem + 0.17vw);
}

h2 {
  font-size: calc(1.6rem + 0.16vw);
  line-height: calc(2.4rem + 0.16vw);
}

h3 {
  font-size: calc(1.5rem + 0.15vw);
  line-height: calc(2.3rem + 0.15vw);
}

h4 {
  font-size: calc(1.4rem + 0.14vw);
  line-height: calc(2.1rem + 0.14vw);
}

h5 {
  font-size: calc(1.3rem + 0.13vw);
  line-height: calc(2.0rem + 0.13vw);
}

h6 {
  font-size: calc(1.2rem + 0.12vw);
  line-height: calc(1.8rem + 0.12vw);
}



/* 区切り線設定 */

hr {
  height: 1px;
  background-color: rgba(var(--text-color), 1.0);
}

hr.white {
  height: 1px;
  background-color: rgba(var(--white-color), 1.0);
}

/* 折り返し設定 */
.inblock {
  font-size: unset;
  display: inline-block;
}

/* 中央揃え設定 */
.centered {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* リストスタイル設定 */

ul,
ol,
li {
  text-decoration: none;
  list-style-type: none;
}

/* Bootstrapで印刷時にURLが表示されてしまうのを防ぐ */
@media print {
  a[href]:after {
    content: "" !important;
  }

  abbr[title]:after {
    content: "" !important;
  }
}


.border-r {
  border-right: 1px solid rgb(var(--text-color) / 0.1)
}

.d-shadow {
  filter: drop-shadow(0.1rem 0.1rem 0.1rem rgb(var(--black-color) / 0.3));
}

.b-shadow {
  box-shadow: 0.1rem 0.1rem 0.1rem rgb(var(--black-color) / 0.3);
}

/* 背景イメージ設定 */
.bg-img {
  position: relative;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}