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

:root {
  --text: #222;
  --main: #205093;
  --sub01: #00a0e9;
  --sub02: #f0f9fe;
  --sub03: #666;
  --light01: #ddd;
  --light02: #f5f5f5;
  --red: #b90718;
  --gra01: #ddd;
  --gra02: #fff;
  --gra03: rgba(160,208,188,0.3);
  --gra4: rgba(43,43,43,0.7);
  --new: #e85a85;
}

/* color ----------------*/
.fc_main {color: var(--main)!important;}
.bg_main {background-color: var(--main)!important;}
.fc_white {color: #fff!important;}
.bg_white {background-color: #fff!important;}
.fc_red {color: var(--red)!important;}
.bg_red {background-color: var(--red)!important;}
.fc_black {color: var(--text)!important;}
.bg_black {background-color: var(--text)!important;}
.fc_sub01 {color: var(--sub01)!important;}
.bg_sub01 {background-color: var(--sub01)!important;}
.fc_sub02 {color: var(--sub02)!important;}
.bg_sub02 {background-color: var(--sub02)!important;}
.fc_sub03 {color: var(--sub03)!important;}
.bg_sub03 {background-color: var(--sub03)!important;}
.bg_new {background-color: var(--new)!important;}

.bg_gra01 {background: linear-gradient(to bottom, var(--gra01) 0%, var(--gra02) 100%);}
.bg_gra02 {background: linear-gradient(to bottom, var(--gra03) 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;}


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

p {word-break: break-all;text-align:justify;vertical-align: middle;}
figure {margin: 0;padding: 0;text-align: center;}
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(--text);text-decoration: none; background-color: transparent; transition: .1s;cursor: pointer;}
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;}
}



/* モバイル以外　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以上 改行 */
.sp_only,.tab_only,.pc_only { display: none;}
@media (max-width: 575px) {.sp_only { display: block; }}/* SPのみ */
@media (min-width: 576px) and (max-width: 1080px) {.tab_only { display: block; }}/* TABのみ */
@media (min-width: 1081px) {.pc_only { display: block; }}/* PCのみ */


.clear {clear: both;}
.hoverFade {
  opacity: 1;
  transition: .2s ease-in-out;}
.hoverFade:hover {
  text-decoration: none;
  opacity: 0.7;}

.indent1 {text-indent: -1em!important;padding-left: 1em!important;}
.underline {text-decoration: underline!important;}
.nowrap {white-space: nowrap!important;}
.text_right {text-align: right!important;}
.text_center {text-align: center!important;}
.justify-center {justify-content: center!important;}
.a_disable {pointer-events: none!important;}
.fw-normal {font-weight: normal!important;}
.fw-bold {font-weight: 700!important;}
.palt {font-feature-settings: "palt";}
.bottom {vertical-align: bottom!important;}
.middle {vertical-align: middle!important;}
.d-block {display: block!important;}
.d-inline {display: inline!important;}
.d-none {display: none!important;}
.border-none {border: none!important;}

/* ==========================
　　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;
}


/* 調整 */
.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;
}