@charset "UTF-8";


/* ----------------------------------------
reset
------------------------------------------*/
html {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 62.5%;
  vertical-align: baseline;
  scroll-behavior: smooth;
}
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, 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, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  /* font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", ryo-display-plusn, serif; */
  /* font-family: "Montserrat","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif; */
  /* font-family: "Noto Sans JP","Yu Gothic Medium","游ゴシック Medium",YuGothic,"游ゴシック体",Meiryo,"Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",Osaka,Arial,Sans-serif; */
  font-family: Arial, sans-serif;
  background: #fff;
  color: #1f1f1f;
  line-height: 2;
  overflow-x: hidden;
}
a {
  color: #1f1f1f;
  text-decoration: none;
  -webkit-transition: opacity .2s ease;
  -o-transition: opacity .2s ease;
  transition: opacity .2s ease;
  cursor: pointer;
}
a:hover {
  opacity: .7;
  -webkit-transition: opacity .2s ease;
  -o-transition: opacity .2s ease;
  transition: opacity .2s ease;
}
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section {
  display: block;
}
iframe {
  vertical-align: bottom;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
video {
  max-width: 100%;
}
ol, ul {
  list-style: none;
}
input[type="submit"],
button {
  font-size: 16px;
  font-size: 1.6rem;
  -webkit-appearance: none;
    -moz-appearance: none;
          appearance: none;
  border: 0;
  color: #fff;
  /* background: linear-gradient(90deg, #009944 0%, #369a62 30%); */
  background: #1A2145;
  padding: 1rem 5rem;
  text-align: center;
  position: relative;
  cursor: pointer;
  user-select: none;
  transition: all .3s;
  text-decoration: none;
}
input[type="submit"]:hover,
button:hover {
  opacity: .5;
}
input[type="text"],
textarea {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 5px;
    border-radius: 5px;
    border: 1px solid #ccc;
}
input[type="text"] {
    height: 40px;
}
select {
    height: 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 5px;
    border: 1px solid #ccc;
    padding: 5px;
    color: #888;
}


/* ----------------------------------------
font
------------------------------------------*/
.fsSS {
  font-size: 12px;
  font-size: 1.2rem;
}
.fsS {
  font-size: 14px;
  font-size: 1.4rem;
}
.fsM {
  font-size: 16px;
  font-size: 1.6rem;
}
.fsL {
  font-size: 20px;
  font-size: 2rem;
}
.fsLL {
  font-size: 24px;
  font-size: 2.4rem;
}
.fsLLL {
  font-size: 30px !important;
  font-size: 3rem !important;
}
.fwN {
  font-weight: normal !important;
}
.fwB {
  font-weight: bold !important;
}
.fw600 {
  font-weight: 600 !important;
}
.lH1 {
  line-height: 1 !important;
}


@media (max-width: 767px) {
  .fsSS {
    font-size: 10px;
    font-size: 1rem;
  }
}


/* ----------------------------------------
margin
------------------------------------------*/
.m00{margin:0!important;}.m05{margin:5px!important;}.m10{margin:10px!important;}.m15{margin:15px!important;}.m20{margin:20px!important;}.m25{margin:25px!important;}.m30{margin:30px!important;}.m35{margin:35px!important;}.m40{margin:40px!important;}.m45{margin:45px!important;}.m50{margin:50px!important;}.mt00{margin-top:0!important;}.mt05{margin-top:5px!important;}.mt10{margin-top:10px!important;}.mt15{margin-top:15px!important;}.mt20{margin-top:20px!important;}.mt25{margin-top:25px!important;}.mt30{margin-top:30px!important;}.mt35{margin-top:35px!important;}.mt40{margin-top:40px!important;}.mt45{margin-top:45px!important;}.mt50{margin-top:50px!important;}.mb00{margin-bottom:0!important;}.mb05{margin-bottom:5px!important;}.mb10{margin-bottom:10px!important;}.mb15{margin-bottom:15px!important;}.mb20{margin-bottom:20px!important;}.mb25{margin-bottom:25px!important;}.mb30{margin-bottom:30px!important;}.mb35{margin-bottom:35px!important;}.mb40{margin-bottom:40px!important;}.mb45{margin-bottom:45px!important;}.mb50{margin-bottom:50px!important;}.mb100{margin-bottom:100px!important;}.ml00{margin-left:0!important;}.ml05{margin-left:5px!important;}.ml10{margin-left:10px!important;}.ml15{margin-left:15px!important;}.ml20{margin-left:20px!important;}.ml25{margin-left:25px!important;}.ml30{margin-left:30px!important;}.ml35{margin-left:35px!important;}.ml40{margin-left:40px!important;}.ml45{margin-left:45px!important;}.ml50{margin-left:50px!important;}.mr00{margin-right:0!important;}.mr05{margin-right:5px!important;}.mr10{margin-right:10px!important;}.mr15{margin-right:15px!important;}.mr20{margin-right:20px!important;}.mr25{margin-right:25px!important;}.mr30{margin-right:30px!important;}.mr35{margin-right:35px!important;}.mr40{margin-right:40px!important;}.mr45{margin-right:45px!important;}.mr50{margin-right:50px!important;}
.mtb20 {
  margin: 20px 0;
}
.mtb45 {
  margin: 45px 0;
}
.mt135 {
    margin-top: 135px;
}
.mt200 {
    margin-top: 200px;
}
.mb60 {
    margin-bottom: 60px;
}
.mb70 {
    margin-bottom: 70px;
}
.mb100 {
    margin-bottom: 100px;
}
.mb150 {
    margin-bottom: 150px;
}


@media (max-width: 1024px) {
  .tab_mb10 {
    margin-bottom: 10px;
  }
  .mr30 {
    margin-right: 0 !important;
  }
}

@media (max-width: 767px) {
    .mr10 {
      margin-right: 0 !important;
    }
    .ml20 {
      margin-left: 0 !important;
    }
    .mr20 {
      margin-right: 0 !important;
    }
    .mr50 {
      margin-right: 0 !important;
    }
    .sp_mb10 {
      margin-bottom: 10px;
    }
    .sp_mb20 {
      margin-bottom: 20px;
    }
    .sp_mb30 {
      margin-bottom: 30px;
    }
}


/* ----------------------------------------
padding
------------------------------------------*/
.p00{padding:0!important;}.p05{padding:5px!important;}.p10{padding:10px!important;}.p15{padding:15px!important;}.p20{padding:20px!important;}.p25{padding:25px!important;}.p30{padding:30px!important;}.p35{padding:35px!important;}.p40{padding:40px!important;}.p45{padding:45px!important;}.p50{padding:50px!important;}.pt00{padding-top:0!important;}.pt05{padding-top:5px!important;}.pt10{padding-top:10px!important;}.pt15{padding-top:15px!important;}.pt20{padding-top:20px!important;}.pt25{padding-top:25px!important;}.pt30{padding-top:30px!important;}.pt35{padding-top:35px!important;}.pt40{padding-top:40px!important;}.pt45{padding-top:45px!important;}.pt50{padding-top:50px!important;}.pb00{padding-bottom:0!important;}.pb05{padding-bottom:5px!important;}.pb10{padding-bottom:10px!important;}.pb15{padding-bottom:15px!important;}.pb20{padding-bottom:20px!important;}.pb25{padding-bottom:25px!important;}.pb30{padding-bottom:30px!important;}.pb35{padding-bottom:35px!important;}.pb40{padding-bottom:40px!important;}.pb45{padding-bottom:45px!important;}.pb50{padding-bottom:50px!important;}.pl00{padding-left:0!important;}.pr00{padding-right:0!important;}.pr05{padding-right:5px!important;}.pr10{padding-right:10px!important;}.pr15{padding-right:15px!important;}.pr20{padding-right:20px!important;}.pr25{padding-right:25px!important;}.pr30{padding-right:30px!important;}.pr35{padding-right:35px!important;}.pr40{padding-right:40px!important;}.pr45{padding-right:45px!important;}.pr50{padding-right:50px!important;}
.pt_0 {
  padding-top: 0 !important;
}
.pb100 {
  padding-bottom: 100px !important;
}


/* ----------------------------------------
ブロック要素
------------------------------------------*/
.db {
  display: block !important;
}
.dib {
  display: inline-block;
}
.di {
  display: inline;
}
.dn {
  display: none !important;
}


/* ----------------------------------------
配置
------------------------------------------*/
.taL {
  text-align: left !important;
}
.taC {
  text-align: center !important;
}
.taR {
  text-align: right !important;
}
.mlA {
  margin-left: auto;
}
.m0A {
  margin: 0 auto;
}
.mrA {
  margin-right: auto;
}
.vaT {
	vertical-align: top;
}
.vaM {
	vertical-align: middle;
}
.vaS {
	vertical-align: sub;
}
.vaB {
	vertical-align: bottom;
}
.vaTB {
	vertical-align: text-bottom;
}
.pR {
  position: relative;
}
.pA {
  position: absolute;
}
.pF {
  position: fixed;
}
.pS {
  position: sticky;
}
.jc_s {
  justify-content: start;
}
.jc_c {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.jc_aro {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
.jc_sb {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.jc_eve {
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}
.jc_fe {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
.row_reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
}
.wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.ai_fs {
  -webkit-box-align: top;
      -ms-flex-align: top;
          align-items: flex-start !important;
}
.ai_center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.ai_baseline {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.ai_fe {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media (max-width: 1024px) {
  .columnR {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media (max-width: 767px) {
  .sp_taL {
    text-align: left !important;
  }
  .sp_taC {
    text-align: center !important;
  }
  .sp_taR {
    text-align: right !important;
  }
}


/* ----------------------------------------
ページ内リンク位置調整
------------------------------------------*/
.anchor {
  display: block;
  padding-top: 72px;
  margin-top: -72px;
}


/* ----------------------------------------
要素幅
------------------------------------------*/
.col24 {
  width: 24% !important;
}
.pc_w10 {
  width: 10% !important;
}
.pc_w15 {
  width: 15% !important;
}
.pc_w20 {
  width: 20% !important;
}
.pc_w22 {
  width: 22% !important;
}
.pc_w25 {
  width: 25% !important;
}
.pc_w30 {
  width: 30% !important;
}
.pc_w33 {
  width: 33% !important;
}
.pc_w35 {
  width: 35% !important;
}
.pc_w40 {
  width: 40% !important;
}
.pc_w45 {
  width: 45% !important;
}
.pc_w48 {
  width: 48% !important;
}
.pc_w50 {
  width: 50% !important;
}
.pc_w55 {
  width: 55% !important;
}
.pc_w60 {
  width: 60% !important;
}
.pc_w65 {
  width: 65% !important;
}
.pc_w70 {
  width: 70% !important;
}
.pc_w74 {
  width: 74% !important;
}
.pc_w75 {
  width: 75% !important;
}
.pc_w80 {
  width: 80% !important;
}
.pc_w85 {
  width: 85% !important;
}
.pc_w90 {
  width: 90% !important;
}
.pc_w95 {
  width: 95% !important;
}
.pc_w100 {
  width: 100% !important;
}

@media (max-width: 820px) {
  .pc_w50 {
    width: 48% !important;
}
}

@media (max-width: 768px) {
  .pc_w80 {
      width: 100% !important;
  }
}

@media (max-width: 767px) {
  .pc_w20 {
    width: 45% !important;
  }
  .pc_w22,
  .pc_w25,
  .pc_w30,
  .pc_w33,
  .pc_w40,
  .pc_w35,
  .pc_w45,
  .pc_w48,
  .pc_w50,
  .pc_w55,
  .pc_w60,
  .pc_w65,
  .pc_w75 {
      width: 100% !important;
  }
}


/* ----------------------------------------
背景色
------------------------------------------*/
.sec_bg_blue {
    background: #F2F6FB !important;
}
.bg_white {
  background: #fff !important;
}
.bg_black {
  background: #0A0A0A !important;
}
.bg_light_gray {
  background: #E0D4BD !important;
}
.bg_gray {
  background: #E6E6E6 !important;
}
.bg_orange {
  background: #E85400 !important;
}
.bg_green {
  background: #8CB808 !important;
}
.bg_light_green {
  background:#8BC785 !important;
}
.bg_dark_green {
  background: #206426 !important;
}
.bg_light_red {
  background: #C7A185 !important;
}
.bg_light_blue {
  background: #F5F9FC !important;
}
.bg_aqua_blue {
  background: #3967c5 !important;
}
.bg_dark_blue {
  background: #1A2145 !important;
}
.bg_gradient {
  background: linear-gradient(90deg, rgba(89,139,198,1) 0%, rgba(0,60,138,1) 100%);
}
.bg_light_purple {
  background: #b4b4cc !important;
}

/* ----------------------------------------
文字色
------------------------------------------*/
.c_main_color {
  color: #003C8A !important;
}
.c_white {
  color: #fff !important;
}
.c_black {
  color: #1f1f1f !important;
}
.c_beige {
  color: #E0D4BD !important;
}
.c_red {
  color: #ca353b !important;
}
.c_aquablue {
  color: #31BEF7 !important;
}
.c_darkblue {
  color: #0D2270 !important;
}
.c_light_gray {
  color: #808080 !important;
}
.c_dark_green {
  color: #009944 !important;
}
.c_blue {
  color: #002453 !important;
}


/* ----------------------------------------
表示分岐
------------------------------------------*/
.pc_only {
  display: block !important;
}
.tab_only {
  display: none !important;
}
.sp_only {
  display: none !important;
}

@media screen and (max-width:1024px) {
  .pc_only {
    display: none !important;
  }
  .tab_only{
      display: block !important;
  }
}

@media screen and (max-width:767px) {
  .pc_only {
      display: none !important;
  }
  .tab_only {
      display: none !important;
  }
  .sp_only {
      display: block !important;
  }
  .sp_taC {
    text-align: center;
  }
  .pc_none {
      display: block;
  }
  .sp_none {
    display: none !important;
  }
}


/* ----------------------------------------
重なり順
------------------------------------------*/
.z1 {
  z-index: 1;
  position: relative;
}
.z2 {
  z-index: 2;
  position: relative;
}
.z3 {
  z-index: 3;
  position: relative;
}

/* ----------------------------------------
縦書き
------------------------------------------*/
.wm_vr {
  writing-mode: vertical-rl;
}

/* ----------------------------------------
行間
------------------------------------------*/
.lh2_5 {
  line-height: 2.5;
}


/* ----------------------------------------
境界線
------------------------------------------*/
hr {
  border: .5px solid #ccc;
}


/************************
loadingアニメーション
************************/
#loading {
  width: 100vw;
  height: 100vh;
  background: #1A2245;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
.loaded {
  opacity: 0;
  visibility: hidden;
  animation: fadeout1 1.5s ease-out;
}
@keyframes fadeout1 {
  0% {
      opacity: 1;
      visibility: visible;
  }
  50% {
      opacity: 1;
      visibility: visible;
  }
  60% {
      opacity: 1;
      visibility: visible;
  }
  70% {
      opacity: 1;
      visibility: visible;
  }
  80% {
      opacity: 1;
      visibility: visible;
  }
  100% {
      opacity: 0;
      visibility: hidden;
  }
}
.dot-spinner {
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%,-50%);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 70px;
  width: 70px;
}
.dot-spinner__dot {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  width: 100%;
}
.dot-spinner__dot::before {
  content: '';
  height: 15%;
  width: 15%;
  border-radius: 50%;
  background-color: #fff;
  transform: scale(0);
  opacity: 0.5;
  animation: pulse calc(.9s * 1.111) ease-in-out infinite;
}
.dot-spinner__dot:nth-child(2) {
  transform: rotate(45deg);
}
.dot-spinner__dot:nth-child(2)::before {
  animation-delay: calc(.9s * -0.875);
}
.dot-spinner__dot:nth-child(3) {
  transform: rotate(90deg);
}
.dot-spinner__dot:nth-child(3)::before {
  animation-delay: calc(.9s * -0.75);
}
.dot-spinner__dot:nth-child(4) {
  transform: rotate(135deg);
}
.dot-spinner__dot:nth-child(4)::before {
  animation-delay: calc(.9s * -0.625);
}
.dot-spinner__dot:nth-child(5) {
  transform: rotate(180deg);
}
.dot-spinner__dot:nth-child(5)::before {
  animation-delay: calc(.9s * -0.5);
}
.dot-spinner__dot:nth-child(6) {
  transform: rotate(225deg);
}
.dot-spinner__dot:nth-child(6)::before {
animation-delay: calc(.9s * -0.375);
}
.dot-spinner__dot:nth-child(7) {
  transform: rotate(270deg);
}
.dot-spinner__dot:nth-child(7)::before {
  animation-delay: calc(.9s * -0.25);
}
.dot-spinner__dot:nth-child(8) {
  transform: rotate(315deg);
}
.dot-spinner__dot:nth-child(8)::before {
animation-delay: calc(.9s * -0.125);
}
@keyframes pulse {
  0%,
  100% {
  transform: scale(0);
  opacity: 0.5;
}
50% {
  transform: scale(1);
  opacity: 1;
  }
}
