@charset "UTF-8";
/* Notosans serif */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+serif+JP:wght@100;200;300;400;500;700;900&display=swap');
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  font-size: min(0.694vw, 62.5%);
  scroll-behavior: smooth;
  scroll-padding-top: 4rem;
}
body, div, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
  font-variant: normal;
  color: #151515;
  font-style: normal;
}
p {
  font-weight: 500;
  line-height: 1.5;
}
p.sent {
  line-height: 1.5;
  margin-bottom: 1em;
}
p.sent-half {
  line-height: 1.5;
  margin-bottom: 0.5em;
}
a.anchor { /*//アンカーリンクの位置調整//*/
  display: block;
  padding-top: 15rem;
  margin-top: -15rem;
}
a img {
  -webkit-transition: .2s linear;
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
}
/*//--PC--//*/
.grid-1-1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.grid-1-1-1 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.grid-1-1-1-1 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.grid-1-2 {
  display: grid;
  grid-template-columns: 1fr 2fr;
}
.grid-1-3 {
  display: grid;
  grid-template-columns: 1fr 3fr;
}
.grid-2-1 {
  display: grid;
  grid-template-columns: 2fr 1fr;
}
.grid-3-1 {
  display: grid;
  grid-template-columns: 3fr 1fr;
}
.grid-gap-0 {
  grid-gap: 0;
}
.grid-gap-1 {
  grid-gap: 1rem;
}
.grid-gap-2 {
  grid-gap: 2rem;
}
.align-right {
  text-align: right;
}
.align-center {
  text-align: center;
}
.align-left {
  text-align: left;
}
.align-center-left {
  text-align: center;
}
/* hrタグで縦のスペースを作りたいとき */
hr.hr-space-1rem {
  border: 1px solid transparent;
  margin: 0 0 1rem;
}
hr.hr-space-3rem {
  border: 1px solid transparent;
  margin: 0 0 3rem;
}
hr.hr-space-6rem {
  border: 1px solid transparent;
  margin: 0 0 6rem;
}
hr.hr-space-12rem {
  border: 1px solid transparent;
  margin: 0 0 12rem;
}
/*//////余白を指定したいとき////////*/
.inner5pm {
  padding: .5rem;
}
.inner10pm {
  padding: 1rem;
}
.inner20pm {
  padding: 2rem;
}
.inner20pmt0 {
  padding: 0 2rem 2rem;
}
.inner2040pm {
  padding: 2rem 4rem;
}
.inner30pm {
  padding: 3rem;
}
.inner40pm {
  padding: 4rem;
}
.inner50pm {
  padding: 5rem;
}
.inner10p {
  padding: 1rem;
}
.inner20p {
  padding: 2rem;
}
.inner30p {
  padding: 3rem;
}
.inner40p {
  padding: 4rem;
}
.inner50p {
  padding: 5rem;
}
.inner20p10m {
  padding: 2rem;
}
.inner30p10m {
  padding: 3rem;
}
.inner40p10m {
  padding: 4rem;
}
.inner50p10m {
  padding: 5rem;
}
.inner20p20m {
  padding: 2rem;
}
.inner30p20m {
  padding: 3rem;
}
.inner40p20m {
  padding: 4rem;
}
.inner50p20m {
  padding: 5rem;
}
.inner10tb0pm {
  padding-top: 0;
  padding-right: 1rem;
  padding-bottom: 0;
  padding-left: 1rem;
}
.inner15tb0pm {
  padding-top: 0px;
  padding-right: 1.5rem;
  padding-bottom: 0px;
  padding-left: 1.5rem;
}
.inner20tb0pm {
  padding-top: 0px;
  padding-right: 2rem;
  padding-bottom: 0px;
  padding-left: 2rem;
}
.inner30tb0pm {
  padding-top: 0px;
  padding-right: 3rem;
  padding-bottom: 0px;
  padding-left: 3rem;
}
.inner40tb0pm {
  padding-top: 0px;
  padding-right: 4rem;
  padding-bottom: 0px;
  padding-left: 4rem;
}
.inner50tb0pm {
  padding-top: 0px;
  padding-right: 5rem;
  padding-bottom: 0px;
  padding-left: 5rem;
}
.inner10tb0p {
  padding-top: 0px;
  padding-right: 1rem;
  padding-bottom: 0px;
  padding-left: 1rem;
}
.inner15tb0p {
  padding-top: 0px;
  padding-right: 1.5rem;
  padding-bottom: 0px;
  padding-left: 1.5rem;
}
.inner20tb0p {
  padding-top: 0px;
  padding-right: 2rem;
  padding-bottom: 0px;
  padding-left: 2rem;
}
.inner30tb0p {
  padding-top: 0px;
  padding-right: 3rem;
  padding-bottom: 0px;
  padding-left: 3rem;
}
.inner40tb0p {
  padding-top: 0px;
  padding-right: 4rem;
  padding-bottom: 0px;
  padding-left: 4rem;
}
.inner50tb0p {
  padding-top: 0px;
  padding-right: 5rem;
  padding-bottom: 0px;
  padding-left: 5rem;
}
/* カラム幅を指定したいとき */
.clm-one-760 {
  max-width: 76rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.clm-one-860 {
  max-width: 86rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.clm-one-960 {
  max-width: 96rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.clm-one-1200 {
  max-width: 120rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.clm-one-1440 {
  max-width: 144rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.clm-one-1620 {
  max-width: 162rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
/* 文字サイズとウェイトを指定したいとき */
.f-bold {
  font-weight: 500;
}
.f-e-bold {
  font-weight: 700;
}
.f8 {
  font-size: 0.8rem;
}
.f10 {
  font-size: 1rem;
}
.f11 {
  font-size: 1.1rem;
}
.f12 {
  font-size: 1.2rem;
}
.f14 {
  font-size: 1.4rem;
}
.f16 {
  font-size: 1.6rem;
}
.f18 {
  font-size: 1.8rem;
}
.f20 {
  font-size: 2rem;
}
.f22 {
  font-size: 2.2rem;
}
.f24 {
  font-size: 2.4rem;
}
.f26 {
  font-size: 2.6rem;
}
.f28 {
  font-size: 2.8rem;
}
.f30 {
  font-size: 3rem;
}
.f32 {
  font-size: 3.2rem;
}
.f34 {
  font-size: 3.4rem;
}
.f36 {
  font-size: 3.6rem;
}
.f38 {
  font-size: 3.8rem;
}
.f40 {
  font-size: 4rem;
}
.f42 {
  font-size: 4.2rem;
}
.f44 {
  font-size: 4.4rem;
}
.f46 {
  font-size: 4.6rem;
}
.f48 {
  font-size: 4.8rem;
}
.f50 {
  font-size: 5rem;
}
/* 字下げ指定 */
.ind-1em {
  text-indent: -1em;
  margin-left: 1em;
  line-height: 1.2;
  margin-bottom: 0.5em;
}
/*////////table/////////*/
table.table-company {
  border-collapse: collapse;
  width: 100%;
}
table.table-company th {
  vertical-align: top;
  padding: 1.8rem;
  text-align: left;
  background-color: none;
  border-bottom-width: 1px;
  border: solid 1px #bbb;
  width: 9em;
}
table.table-company td {
  vertical-align: top;
  padding: 1.8rem;
  text-align: left;
  background-color: none;
  border: solid 1px #bbb;
}
table.f-s td {
  font-size: 1.6rem;
}
table.table-matrix {
  border-collapse: collapse;
  width: 100%;
}
table.table-matrix tr:nth-child(2n+1) {
  background-color: #EBEBEB;
}
table.table-detail {
  border-collapse: collapse;
  width: 100%;
}
table.table-detail th {
  vertical-align: top;
  padding: 1.8rem;
  text-align: left;
  background-color: none;
  border-bottom: solid 1px #bbb;
}
table.table-detail td {
  vertical-align: top;
  padding: 1.8rem;
  text-align: left;
  background-color: none;
  border-bottom: solid 1px #bbb;
}
table.table-smile {
  border-collapse: collapse;
  width: 100%;
}
table.table-smile th {
  vertical-align: top;
  padding: 1.8rem;
  text-align: left;
  background-color: none;
  border: solid 1px #bbb;
}
table.table-smile td {
  vertical-align: top;
  padding: 1.8rem;
  text-align: left;
  background-color: none;
  border: solid 1px #bbb;
}
table.table-sch {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
}
table.table-sch th {
  vertical-align: top;
  padding: 1rem;
  text-align: center;
  background-color: none;
  border: solid 1px #bbb;
}
table.table-sch td {
  vertical-align: top;
  padding: 1rem;
  text-align: center;
  background-color: none;
  color: #fff;
  border: solid 1px #bbb;
}
table.table-noborder {
  border-collapse: collapse;
}
table.table-noborder td {
  vertical-align: top;
  padding: 0.5em;
  border: none;
  background-color: transparent;
}
table.table-bt-border {
  border-collapse: collapse;
}
table.table-bt-border td {
  vertical-align: top;
  padding: 0.5em;
  border: none;
  background-color: transparent;
  border-bottom: solid 1px #FF9EF5;
}
.table-ex-width01 {
  width: 6em;
}
table.table-bottom-border {
  border-collapse: collapse;
}
table.table-bottom-border td {
  vertical-align: top;
  padding: 1rem;
  border-bottom: solid 1px #ddd;
  background-color: transparent;
}
table.table-flex {
  border-collapse: collapse;
  width: 100%;
}
table.table-flex th, table.table-flex td {
  padding: 3em 1em;
  border-bottom: solid 1px #8C8C8C;
  text-align: left;
  box-sizing: border-box;
}
table.table-flex th {
  font-weight: bold;
  color: #151515;
  width: 13em;
}
table.table-flex-history {
  border-collapse: collapse;
  width: 100%;
}
table.table-flex-history th, table.table-flex-history td {
  padding: 2em 1em;
  border-bottom: solid 1px #8C8C8C;
  text-align: left;
  box-sizing: border-box;
}
table.table-flex-history th {
  font-weight: bold;
  text-align: right;
  color: #151515;
  width: 7em;
}
table.table-flex-history th.month {
  font-weight: bold;
  text-align: right;
  color: #151515;
  width: 5em;
}
/*////////--table/////////*/
/*/////メディアクエリで表示非表示--//////*/
.only-pc {
  display: block;
}
.only-mobile {
  display: none;
}
.only-pc-inline {
  display: inline;
}
.only-mobile-inline {
  display: none;
}
/* 簡単にボタンにしたいとき */
span.btn-use-none {
  padding: 1rem;
  display: inline-block;
  background-color: #623F96;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-radius: 0.8rem;
  border: 1px solid #623F96;
  background-position: left 0.5rem;
  background-repeat: no-repeat;
  text-decoration: none;
  color: #1A6F53;
}
a.btn-use {
  position: relative;
  -webkit-transition: .2s linear;
  min-width: 20em;
  padding: 0.5em 1.5em 0.6em;
  display: inline-block;
  background-color: #54AAC4;
  border: solid 1px #54AAC4;
  border-radius: 1rem;
  margin: 1rem;
  background-position: left 0.5rem;
  background-repeat: no-repeat;
  text-decoration: none;
  color: #FFFFFF;
}
a.btn-use::after {
  content: "▶";
  font-size: 0.5em;
  position: absolute;
  right: 2em;
  top: 1.7em;
}
a.btn-use-arrow-small {
  min-width: 16rem;
  height: 4rem;
  color: #3e3a39;
  padding: .5rem 1rem;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  overflow: hidden;
  border: solid 1px #000;
  background-color: #FFF;
}
a.btn-use-arrow-small:hover {
  padding-right: 5.4rem;
  padding-left: .5rem;
}
a.btn-use-arrow-small:hover:after {
  opacity: 1;
  right: 1rem;
}
a.btn-use-arrow-small:after {
  content: ">";
  position: absolute;
  width: 1.8rem;
  height: 1.6rem;
  opacity: 0;
  font-size: 2rem;
  line-height: 3rem;
  top: 0.3rem;
  right: -2rem;
  transition: 0.4s;
}
a.btn-use-arrow-big {
  min-width: 20rem;
  height: 7rem;
  color: #000;
  padding: 2.2rem 2rem 0;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  overflow: hidden;
  border: solid 1px #000;
  background-color: #fff;
}
a.btn-use-arrow-big:hover {
  padding-right: 6.4rem;
  padding-left: 2rem;
}
a.btn-use-arrow-big:hover:after {
  opacity: 1;
  right: 1rem;
}
a.btn-use-arrow-big:after {
  content: ">";
  position: absolute;
  width: 4.2rem;
  height: 4.2rem;
  opacity: 0;
  font-size: 2rem;
  line-height: 4rem;
  top: 1.4rem;
  right: -2rem;
  transition: 0.4s;
}
a.btn-use-arrow-big-w {
  min-width: 25rem;
  height: 7rem;
  color: #fff;
  padding: 2.2rem 2rem 0;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  overflow: hidden;
  border: solid 1px #fff;
  background-color: none;
}
a.btn-use-arrow-big-w:hover {
  padding-right: 6.4rem;
  padding-left: 2rem;
}
a.btn-use-arrow-big-w:hover:after {
  opacity: 1;
  right: 1rem;
}
a.btn-use-arrow-big-w:after {
  content: ">";
  position: absolute;
  width: 4.2rem;
  height: 4.2rem;
  opacity: 0;
  font-size: 2rem;
  line-height: 4rem;
  top: 1.4rem;
  right: -2rem;
  transition: 0.4s;
}
a.btn-use-blink {
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 32rem;
  margin: auto;
  padding: 1rem 4rem;
  position: relative;
  border-radius: .5rem;
  border: 1px solid #27acd9;
  font-weight: bold;
  letter-spacing: 2px;
  background: transparent;
  color: #27acd9;
  overflow: hidden;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}
a.btn-use-blink-w {
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 32rem;
  margin: auto;
  padding: 1rem 4rem;
  position: relative;
  border-radius: .5rem;
  border: 1px solid #fff;
  font-weight: bold;
  letter-spacing: 2px;
  background: transparent;
  color: #fff;
  overflow: hidden;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}
a.btn-use-blink:hover, a.btn-use-blink-w:hover {
  color: #fff;
  background-color: #54AAC4;
}
a.btn-use-blink:hover::before, a.btn-use-blink-w:hover::before {
  -webkit-animation: sh02 0.5s 0s linear;
  -moz-animation: sh02 0.5s 0s linear;
  animation: light 0.5s 0s linear;
}
a.btn-use-blink::before, a.btn-use-blink-w::before {
  content: '';
  display: block;
  width: 0px;
  height: 86%;
  position: absolute;
  top: 7%;
  left: 0%;
  opacity: 0;
  background: #fff;
  box-shadow: 0 0 5rem 3rem #fff;
  -webkit-transform: skewX(-20deg);
  -moz-transform: skewX(-20deg);
  -ms-transform: skewX(-20deg);
  -o-transform: skewX(-20deg);
  transform: skewX(-20deg);
}
@keyframes light {
  from {
    opacity: 0;
    left: 0%;
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 0;
    left: 100%;
  }
}
a.btn-use-mini {
  position: relative;
  -webkit-transition: .2s linear;
  font-size: 1.4rem;
  min-width: 20em;
  padding: 0.5em 1.5em 0.6em;
  display: inline-block;
  background-color: #27ACD9;
  border: solid 1px #27ACD9;
  border-radius: .8rem;
  margin: 1rem;
  background-position: left 0.5rem;
  background-repeat: no-repeat;
  text-decoration: none;
  color: #FFFFFF;
}
a.btn-use-mini::after {
  content: "▶";
  font-size: 0.5em;
  position: absolute;
  right: 2em;
  top: 1.3em;
}
a.btn-use:hover {
  color: #54AAC4;
  background-color: #F9F9F9;
}
a.btn-use-mini:hover {
  color: #54AAC4;
  background-color: #F9F9F9;
}
a.btn-use-side {
  -webkit-transition: .2s linear;
  padding: 2.5em 1.5em 2.7em;
  display: inline-block;
  background-color: #DB0003;
  border: none;
  border-radius: 10rem;
  margin: 0 0.5rem 0;
  background-position: left 0.5rem;
  background-repeat: no-repeat;
  text-decoration: none;
  color: #FFFFFF;
}
a.btn-use-side:hover {
  color: #151515;
  background-color: #FF999A;
}
a.btn-anchor {
  -webkit-transition: .2s linear;
  padding: 0.5em 1.5em 0.7em;
  display: inline-block;
  background-color: #23651C;
  border: solid 1px #23651C;
  border-radius: 6rem;
  margin: 1rem;
  background-position: left 0.5rem;
  background-repeat: no-repeat;
  text-decoration: none;
  color: #FFFFFF;
}
a.btn-anchor:hover {
  color: #FFFFFF;
  background-color: #37862F;
}
/* レスポンシブテーブル */
table.table-respons {
  width: 100%;
}
table.table-respons tr td {
  padding: 1rem;
  vertical-align: top;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #FFFFFF;
}
.table-respons tr td.nb-td {
  border: none;
}
/*//  -- pcend --  //*/
@media screen and (max-width: 500px) {
  #mediaQ--------------------------------------------------------------------------------------------------500 {}
  /*///////////////////////////////////////////////////////////////////////////////////*/
  /*///////////////////////////////////////////////////////////////////////////////////*/
  /*///////////////////////////////////////////////////////////////////////////////////*/
  html {
    font-size: min(2vw, 62.5%);
  }
  .only-pc {
    display: none;
  }
  .only-mobile {
    display: block;
  }
  .only-pc-inline {
    display: none;
  }
  .only-mobile-inline {
    display: inline;
  }
  /*//--MB--//*/
  .grid-1-1, .grid-1-1-1, .grid-1-2, .grid-1-3, .grid-2-1, .grid-3-1 {
    display: grid;
    grid-template-columns: 1fr;
  }
  .grid-1-1-1-1 {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  table.table-company {
    border-collapse: separate;
    width: 100%;
  }
  table.table-company th, table.table-company td {
    display: block;
    width: 100%;
    border-bottom: solid 1px #8C8C8C;
  }
  a.btn-use-arrow-small {
    min-width: 13rem;
    height: 3rem;
    color: #3e3a39;
    padding: .5rem 1rem;
    text-decoration: none;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    display: inline-block;
    outline: none;
    overflow: hidden;
    border: none;
    background-color: #FFF;
  }
  a.btn-use-arrow-small:hover {
    padding-right: 5.4rem;
    padding-left: .5rem;
  }
  a.btn-use-arrow-small:hover:after {
    opacity: 1;
    right: 1rem;
  }
  a.btn-use-arrow-small:after {
    content: url("images/btn-arrow-small.png");
    position: absolute;
    opacity: 0;
    font-size: 2rem;
    line-height: 3rem;
    top: 0;
    right: -2rem;
    transition: 0.4s;
  }
}
/*//  -- 500end --  //*/