@charset "utf-8";/* 2025.01.22 */

:root {
  --text: #111;
  --main_txt: #a11f24;
  --main: #b90718;
  --sub1: #111;
  --sub2: #ccc;
  --sub3: #f5f5f5;
  --gra1: #111;
  --gra2: #8e101c;
  --gra3: rgba(160,208,188,0.3);
  --gra4: rgba(43,43,43,0.7);
  --red: #b90718;
  --light1: #ccc;
  --light2: #f5f5f5;
}

/* color ----------------*/
.f_white {color: #fff!important;}
.bg_white {background-color: #fff!important;}
.f_red {color: var(--red)!important;}
.bg_red {background-color: var(--red)!important;}
.f_black {color: var(--text)!important;}
.bg_black {background-color: var(--text)!important;}
.f_sub1 {color: var(--sub1)!important;}
.bg_sub1 {background-color: var(--sub1)!important;}
.f_sub2 {color: var(--sub2)!important;}
.bg_sub2 {background-color: var(--sub2)!important;}
.f_sub13 {color: var(--sub3)!important;}
.bg_sub3 {background-color: var(--sub3)!important;}

.bg_gra1 {background: linear-gradient(to bottom, var(--gra1) 0%, var(--gra2) 100%);}
.bg_gra2 {background: linear-gradient(to bottom, var(--gra3) 0%, rgba(43,43,43,0.6) 75%, var(--gra4) 100%);}

*, ::after, ::before {box-sizing: border-box;padding: 0;margin: 0;}
html {font-size: 62.5%;overflow-x: hidden;}

body {
  font-size: 1.6rem;
  line-height: 1.7;
  letter-spacing: 0;
  margin: 0;
  padding: 0;
  overflow-x: hidden;}
p {word-break: break-all;text-align:justify;vertical-align: middle;}
figure {margin: 0;padding: 0;}
img {max-width: 100%; height: auto; flex-shrink: 0; -webkit-backface-visibility: hidden;}
ol,ul {list-style-type: none!important;vertical-align: middle;}
li {list-style: none;vertical-align: middle;}
table {border-collapse: collapse;line-height: 1.4;vertical-align: middle;}
button {
  all: unset;
  display: inline-block;
  cursor: pointer;
}
a {color: var(--main);cursor: pointer;text-decoration: none; background-color: transparent;}
a:hover {text-decoration:none;opacity: .7;}
a:visited {transition:none;}
@media (min-width: 576px) {
  a {transition: 0.2s ease-out;}
  a:hover, a:focus, a:active {opacity: .7!important;}
  a:focus, a:active {opacity: 1;}
}

.d-none {display: none!important;}


/* モバイル以外　tel無視 */
@media (min-width: 768px){a[href^="tel:"] { pointer-events: none;}}

[class^="container"],[class*=" container"] {
  width: 100%;
  margin-right: auto;
  margin-left: auto
}

/* pcのみ・spのみ・タブレットtab以上 改行 */
@media (max-width: 576px){
  .pc_only { display:none!important; }
  .tab_only { display:none!important; }
  .sp_only { display:block!important; }}
@media (min-width: 577px){
  .pc_only { display:block!important; }
  .tab_only { display:block!important; }
  .sp_only { display:none!important; }}
@media (min-width: 768px) {
  .pc_only { display:block!important; }
  .sp_only { display:none!important; }}
@media (min-width: 820px) {
  .tab_only { display:none!important; }
}

/* footer　常に最下部に固定 */
body {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 100vh;}
#footer_conts, footer { margin-top: auto;}




.clear {clear: both;}
.hoverFade {
  opacity: 1;
  -webkit-transition: .2s ease-in-out;
  transition: .2s ease-in-out;
}
.hoverFade:hover {
  text-decoration: none;
  opacity: 0.7;
}
.indent1 {
  text-indent: -1em;
  padding-left: 1em;
}
.underline {text-decoration: underline;}
.nowrap {white-space: nowrap;}
.text_right {text-align: right;}
.text_center {text-align: center;}
.a_disable {pointer-events: none;}
.fw-bold {font-weight: 700;}
.palt {font-feature-settings: "palt";}
.bottom {vertical-align: bottom;}
.middle {vertical-align: middle;}
.d-block {display: block;}
.d-inline {display: inline;}

/* ==========================
　　Pagenation
========================== */
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 21px 0;
  border-radius: 4px;
}
.pagination > li {
  display: inline;
}
.pagination > li:first-child > a, .pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}
.pagination > li:last-child > a, .pagination > li:last-child > span {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}
.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus {
  z-index: 3;
  color: #fff;
  background-color: #0d0f50;
  border-color: transparent;
  cursor: default;
}
.pagination > li > a, .pagination > li > span {
  position: relative;
  float: left;
  padding: 10px 15px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #373d8c;
  background-color: #fff;
  border: 1px solid #373d8c;
  margin-left: -1px;
}


/* == breadcrumb ========= */
.breadcrumb ol {
  font-size: 1.2rem;
  padding-top: 3rem;
  margin-bottom: 1rem;
  list-style: none;
}
.breadcrumb ol,
.breadcrumb a,
.breadcrumb .active {
  color: #676767;
  text-decoration: none;
}
.breadcrumb li {
  display: inline;
}
/*.breadcrumb li:not(:last-child) a,
.breadcrumb a:hover {
  text-decoration: underline;
}*/
.breadcrumb li + li::before {
  width: 10px;
  height: 10px;
  background: url("../images/next.svg") no-repeat center center / contain;
  content: '';
  display: inline-block;
  padding: 0 1rem;
}
.breadcrumb .fas {
  vertical-align: middle;
  line-height: 0;}
.breadcrumb li:nth-child(1) > a > span {
  vertical-align: baseline;}

/* 調整 */
.mb-0 { margin-bottom: 0!important;}
.mb-1 { margin-bottom: 1rem!important;}
.mb-2 { margin-bottom: 2rem!important;}
.mb-3 { margin-bottom: 3rem!important;}
.mb-4 { margin-bottom: 4rem!important;}
.mb-5 { margin-bottom: 5rem!important;}
.mb-6 { margin-bottom: 6rem!important;}
.mb-7 { margin-bottom: 7rem!important;}
.mb-8 { margin-bottom: 8rem!important;}
.mb-9 { margin-bottom: 9rem!important;}
.mb-10 { margin-bottom: 10rem!important;}
.mt-0 { margin-top: 0!important;}
.mt-1 { margin-top: 1rem!important;}
.mt-2 { margin-top: 2rem!important;}
.mt-3 { margin-top: 3rem!important;}
.mt-4 { margin-top: 4rem!important;}
.mt-5 { margin-top: 5rem!important;}
.mt-6 { margin-top: 6rem!important;}
.mt-7 { margin-top: 7rem!important;}
.mt-8 { margin-top: 8rem!important;}
.mt-9 { margin-top: 9rem!important;}
.mt-10 { margin-top: 10rem!important;}
.pb-0 { padding-bottom: 0!important;}
.pb-1 { padding-bottom: 1rem!important;}
.pb-2 { padding-bottom: 2rem!important;}
.pb-3 { padding-bottom: 3rem!important;}
.pb-4 { padding-bottom: 4rem!important;}
.pb-5 { padding-bottom: 5rem!important;}
.pb-6 { padding-bottom: 6rem!important;}
.pb-7 { padding-bottom: 7rem!important;}
.pb-8 { padding-bottom: 8rem!important;}
.pb-9 { padding-bottom: 9rem!important;}
.pb-10 { padding-bottom: 10rem!important;}
.pt-0 { padding-top: 0!important;}
.pt-1 { padding-top: 1rem!important;}
.pt-2 { padding-top: 2rem!important;}
.pt-3 { padding-top: 3rem!important;}
.pt-4 { padding-top: 4rem!important;}
.pt-5 { padding-top: 5rem!important;}
.pt-6 { padding-top: 6rem!important;}
.pt-7 { padding-top: 7rem!important;}
.pt-8 { padding-top: 8rem!important;}
.pt-9 { padding-top: 9rem!important;}
.pt-10 { padding-top: 10rem!important;}
.m-0 { margin: 0!important;}
.m-0a { margin: 0 auto!important;}
.p-0 { padding: 0!important;}
.border-bottom0 { border-bottom: none!important;}	/* アンダーライン消去 */



/*jquery.inview------------------*/
[class*="in_view"] {
  opacity: 0;
  animation-delay: .1s;
  animation-duration: .8s;
}
/* jquery.inview.js 下から表示 */
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 25%);
  transition: 1s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

/* jquery.inview.js 時間差表示 */
.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show {
  opacity: 1;
}