@charset "UTF-8";
/* ----------------------------------------------------------------------------------------------------
  text
* --------------------------------------------------------------------------------------------------*/
/* align
--------------------------------------------------*/
.ta_l {
  text-align: left !important;
}

.ta_c {
  text-align: center !important;
}

.ta_r {
  text-align: right !important;
}

.va_t {
  vertical-align: top !important;
}

.va_sup {
  vertical-align: super !important;
  font-size: 16px;
  font-size: 1rem;
}

/* font-weight
--------------------------------------------------*/
.fw_n {
  font-weight: normal;
}

.fw_b {
  font-weight: bold;
}

/* title
--------------------------------------------------*/
.ttl__style01 {
  padding-bottom: 23px;
  margin-bottom: 40px;
  position: relative;
  text-align: center;
  font-size: 41.6px;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.456;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 767px) {
  .ttl__style01 {
    padding-bottom: 15px;
    margin-bottom: 20px;
    font-size: 2.0rem;
    letter-spacing: 0;
  }
}

.ttl__style01:before {
  width: 60px;
  height: 2px;
  background: #000;
  position: absolute;
  bottom: 0;
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .ttl__style01:before {
    width: 45px;
  }
}

.ttl__style02 {
  margin-bottom: 80px;
  text-align: center;
  font-size: 51.2px;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .ttl__style02 {
    margin-bottom: 40px;
    font-size: 2.2rem;
  }
}

.ttl__style03 {
  padding-bottom: 13px;
  border-bottom: solid 2px #ccc;
  margin-bottom: 30px;
  position: relative;
  font-size: 41.6px;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .ttl__style03 {
    padding-bottom: 7px;
    margin-bottom: 15px;
    font-size: 1.8rem;
  }
}

.ttl__style03:before {
  width: 60px;
  height: 2px;
  background: #e60012;
  position: absolute;
  bottom: -2px;
  left: 0;
  content: "";
}

@media screen and (max-width: 767px) {
  .ttl__style03:before {
    width: 45px;
  }
}

.ttl__style04 {
  margin-bottom: 30px;
  color: #e60012;
  font-size: 32px;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .ttl__style04 {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
}

.ttl__style04_sub {
  display: block;
  font-size: 22.4px;
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .ttl__style04_sub {
    font-size: 1.2rem;
  }
}

.ttl__style05 {
  padding: 9px 30px;
  border: solid 1px #ccc;
  margin-bottom: 30px;
  font-size: 32px;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .ttl__style05 {
    padding: 9px 15px;
    margin-bottom: 10px;
    font-size: 1.6rem;
  }
}

.ttl__style05 span {
  vertical-align: baseline;
  font-size: 28.8px;
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .ttl__style05 span {
    font-size: inherit;
  }
}

/* tel
--------------------------------------------------*/
.txt__tel, .txt__fax {
  display: inline-block;
  padding-left: 55px;
  position: relative;
  color: #e60012;
  font-size: 64px;
  font-size: 4.0rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  font-weight: bold;
}

.txt__tel:before, .txt__fax:before {
  width: 40px;
  height: 40px;
  background: url(../img/common/ico_tel01.svg) no-repeat center/contain;
  left: 0;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .txt__tel:before, .txt__fax:before {
    width: 25px;
    height: 25px;
  }
}

@media print, screen and (min-width: 768px) {
  .txt__tel, .txt__fax {
    pointer-events: none;
  }
}

@media screen and (max-width: 767px) {
  .txt__tel, .txt__fax {
    padding-left: 35px;
    font-size: 2.0rem;
  }
}

.txt__fax:before {
  background-image: url(../img/common/ico_fax01.svg);
}

/* ----------------------------------------------------------------------------------------------------
  other
* --------------------------------------------------------------------------------------------------*/
.fl_l {
  float: left;
}

.fl_r {
  float: right;
}

@media print, screen and (min-width: 768px) {
  .pc_fl_l {
    float: left;
  }
  .pc_fl_r {
    float: right;
  }
}

.cl_b {
  clear: both;
}

@media screen and (max-width: 767px) {
  .pc_only {
    display: none !important;
  }
}

@media print, screen and (min-width: 768px) {
  .sp_only {
    display: none !important;
  }
}

.notes__txt {
  padding-left: 1em;
  text-indent: -1em;
}

.notes__txt:before {
  content: "※";
}

.notes__list {
  counter-reset: notes__list;
}

.notes__list > li {
  padding-left: 2.25em;
  text-indent: -2.25em;
}

.notes__list > li:before {
  counter-increment: notes__list;
  content: "(※" counter(notes__list) ")";
}

/* link
--------------------------------------------------*/
.link__style01 {
  color: #e60012;
  text-decoration: underline;
}

.link__style01:hover {
  opacity: 1.0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  text-decoration: none;
}

.link__style01.pdf:after {
  margin-left: 0.5em;
  content: "\f1c1";
  font-family: Font Awesome\ 5 Free;
}

.link__list {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .link__list {
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

.link__item {
  width: 46.875%;
}

.link__item:nth-child(n+3) {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .link__item {
    width: 100%;
  }
  .link__item:nth-child(n+2) {
    margin-top: 20px;
  }
}

.link__box01 {
  -ms-flex-direction: column;
      flex-direction: column;
  height: 140px;
  border: solid 1px #000;
  background: #fff;
  position: relative;
  font-size: 32px;
  font-size: 2.0rem;
  font-weight: bold;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}

@media screen and (max-width: 767px) {
  .link__box01 {
    height: 80px;
    font-size: 1.5rem;
  }
}

.link__box01:before {
  width: 40px;
  height: 40px;
  background: #000;
  color: #fff;
  transition: 0.2s;
  position: absolute;
  bottom: 0;
  right: 0;
  content: "\f054";
  z-index: 5;
  font-family: Font Awesome\ 5 Free;
  font-size: 19.2px;
  font-size: 1.2rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}

@media screen and (max-width: 767px) {
  .link__box01:before {
    width: 23px;
    height: 23px;
    font-size: 1.0rem;
  }
}

.link__box01 .en {
  display: block;
  margin-top: 0.5em;
  text-align: center;
  color: #e60012;
  font-size: 19.2px;
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .link__box01 .en {
    margin-top: 0;
    font-size: 1.0rem;
  }
}

.link__box01:hover {
  border-color: transparent;
  background: #e60012;
  opacity: 1.0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  color: #fff;
}

.link__box01:hover:before {
  background: #fff;
  color: #e60012;
}

.link__box01:hover .en {
  color: inherit;
}

.link__box01:hover .sponsor__img img {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.link__box01_sponsor .sponsor__txt {
  padding: 0 1.4em;
  border: solid #bbb;
  border-width: 0 1px;
  margin-bottom: 1em;
  font-size: 25.6px;
  font-size: 1.6rem;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .link__box01_sponsor .sponsor__txt {
    font-size: 1.0rem;
  }
}

.link__box01_sponsor .sponsor__img {
  max-width: 300px;
  transition: 0.2s;
  background: url(../img/top/logo02_on.svg) no-repeat center/100% 100%;
}

@media screen and (max-width: 767px) {
  .link__box01_sponsor .sponsor__img {
    max-width: 50%;
    margin: 0 auto;
  }
}

.link__box01:hover .reit__img img {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.link__box01_reit .reit__txt {
  padding: 0 1.4em;
  border: solid #bbb;
  border-width: 0 1px;
  margin-bottom: 1em;
  font-size: 25.6px;
  font-size: 1.6rem;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .link__box01_reit .reit__txt {
    font-size: 1.0rem;
  }
}

.link__box01_reit .reit__img {
  max-width: 300px;
  transition: 0.2s;
  background: url(../img/reit/reit-logo_w.png) no-repeat center/100% 100%;
}

@media screen and (max-width: 767px) {
  .link__box01_reit .reit__img {
    max-width: 50%;
    margin: 0 auto;
  }
}

/* button
--------------------------------------------------*/
[class*="btn__style"] {
  display: block;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  cursor: pointer;
  line-height: 1.2;
}

[class*="btn_style"]:hover {
  text-decoration: none;
}

.btn__style01 {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  max-width: 400px;
  height: 80px;
  padding: 0 1.5em 0 1em;
  border: solid 2px #222;
  position: relative;
  font-size: 32px;
  font-size: 2.0rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .btn__style01 {
    height: 60px;
    border-width: 1px;
    font-size: inherit;
  }
}

.btn__style01:before {
  right: 1em;
  content: "\f105";
  color: #e60012;
  font-family: Font Awesome\ 5 Free;
  font-size: 25.6px;
  font-size: 1.6rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .btn__style01:before {
    right: 0.6em;
    font-size: 1.4rem;
  }
}

.btn__style01:hover {
  border-color: transparent;
  background: #e60012;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  color: #fff;
}

.btn__style01:hover:before {
  color: inherit;
}

.btn__style01 .fas {
  margin-left: 0.4em;
}

.btn__style02 {
  display: inline-block;
  vertical-align: middle;
  padding: 0.5em 0.9em;
  border: solid 1px #bbb;
  border-radius: 5px;
  font-weight: bold;
}

.btn__style02:after {
  display: inline-block;
  margin-left: 0.5em;
  content: "\f105";
  color: #e60012;
  font-family: Font Awesome\ 5 Free;
}

@media screen and (max-width: 767px) {
  .btn__style02 {
    font-size: 1.2rem;
  }
}

.btn__style03 {
  display: inline-block;
  padding: 1em 3em;
  background: #e60012;
  transition: 0.2s;
  color: #fff;
  font-size: 25.6px;
  font-size: 1.6rem;
  font-weight: bold;
}

.btn__style03:hover {
  opacity: 0.7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}

@media screen and (max-width: 767px) {
  .btn__style03 {
    font-size: inherit;
    padding: 1em 2.5em;
  }
}

.btn__style03.bg_gray {
  background: #bbb;
}

/* list
--------------------------------------------------*/
/* ol */
.ol__style01 {
  counter-reset: ol__style01;
}

.ol__style01 > li {
  padding: 0.7em 0 0 2.8em;
  position: relative;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .ol__style01 > li {
    padding: 0.4em 0 0 2.4em;
  }
}

.ol__style01 > li:before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: ol__style01;
  content: counter(ol__style01) ".";
  color: #e60012;
  font-size: 35.2px;
  font-size: 2.2rem;
}

@media screen and (max-width: 767px) {
  .ol__style01 > li:before {
    font-size: 1.8rem;
  }
}

.ol__style01 > li:nth-child(n+2) {
  margin-top: 0.8em;
}

.ol__style02 {
  counter-reset: ol__style02;
}

.ol__style02 > li {
  padding-left: 3em;
  text-indent: -3em;
}

.ol__style02 > li:before {
  counter-increment: ol__style02;
  content: "（" counter(ol__style02) "）";
}

.ol__style02 > li:nth-child(n+2) {
  margin-top: 0.8em;
}

.ol__notes01 {
  margin-top: 2em;
  counter-reset: ol__notes01;
}

.ol__notes01 .item {
  padding-left: 2em;
  text-indent: -2em;
}

.ol__notes01 .item:before {
  counter-increment: ol__notes01;
  content: "※" counter(ol__notes01) ".";
}

/* ul */
.ul__style01 > li {
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.ul__style01 > li:before {
  content: "・";
}

.ul__style01 > li:nth-child(n+2) {
  margin-top: 1em;
}

.ul__style02 li {
  padding-left: 1em;
  text-indent: -1em;
}

.ul__style02 li:before {
  content: "■";
}

.ul__style03 li {
  padding-left: 1em;
  text-indent: -1em;
}

.ul__style03 li:before {
  content: "〇";
}

/* NEWS */
.news__list {
  display: inline-block;
  text-align: left;
}

.news__item {
  display: -ms-flexbox;
  display: flex;
}

.news__item:nth-child(n+2) {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .news__item {
    -ms-flex-direction: column;
        flex-direction: column;
  }
  .news__item:nth-child(n+2) {
    padding-top: 15px;
    border-top: solid 1px #bbb;
    margin-top: 15px;
  }
}

.news__item .news__date {
  width: 96px;
  border-right: solid 1px #bbb;
  margin-right: 1.5em;
}

@media screen and (max-width: 767px) {
  .news__item .news__date {
    width: auto;
    border-right: none;
    margin-right: 0;
    font-size: 1.2rem;
  }
}

.news__item .news__link {
  color: #e60012;
  text-decoration: underline;
}

.news__item .news__link:hover {
  opacity: 1.0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  text-decoration: none;
}

/* FAQ */
.faq__list {
  counter-reset: ol__style01;
}

.faq__q {
  padding: 22px 100px 21px 100px;
  border: solid #ccc;
  border-width: 1px 0;
  position: relative;
  font-size: 32px;
  font-size: 2.0rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .faq__q {
    padding: 5px 45px;
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

.faq__q.active {
  border-bottom-color: transparent;
}

.faq__q.active:after {
  background: #ccc;
  content: "\f077";
}

.faq__q:nth-child(n+2) {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .faq__q:nth-child(n+2) {
    margin-top: 30px;
  }
}

.faq__q:before {
  left: 15px;
  counter-increment: ol__style01;
  content: "Q" counter(ol__style01) ".";
  font-family: "YakuHanJP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #f00;
  font-size: 48px;
  font-size: 3.0rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .faq__q:before {
    left: 0;
    font-size: 1.6rem;
  }
}

.faq__q:after {
  width: 78px;
  height: 100%;
  background: #222;
  right: 0;
  content: "\f078";
  color: #fff;
  font-family: Font Awesome\ 5 Free;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .faq__q:after {
    width: 35px;
    font-size: 1.0rem;
  }
}

.faq__a {
  display: none;
  padding: 25px 135px 25px 20px;
  border-bottom: solid 1px #ccc;
}

.faq__a > *:nth-child(n+2) {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .faq__a {
    padding: 1em 0;
  }
}

/* table
--------------------------------------------------*/
.tbl__style01 {
  width: 100%;
  border-top: solid 1px #ccc;
}

.tbl__style01 caption {
  margin-bottom: 1em;
  text-align: left;
  color: #e60012;
  font-weight: bold;
  font-size: 25.6px;
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .tbl__style01 caption {
    font-size: inherit;
  }
}

.tbl__style01 tr {
  border-bottom: solid 1px #ccc;
}

.tbl__style01 th {
  vertical-align: middle;
  width: 26%;
  padding: 25px 1em 25px 0;
  text-align: left;
  font-size: 25.6px;
  font-size: 1.6rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .tbl__style01 th {
    width: 40%;
    padding: 15px 1em 15px 0;
    font-size: inherit;
  }
}

.tbl__style01 td {
  vertical-align: middle;
  width: 74%;
  padding: 25px 0;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .tbl__style01 td {
    width: 60%;
    padding: 15px 0;
  }
}

/* column
--------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  .col__wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
  }
}

@media screen and (max-width: 767px) {
  .col__item:nth-child(n+2) {
    margin-top: 45px;
  }
}

.col__item.w100per {
  width: 100% !important;
}

@media print, screen and (min-width: 768px) {
  .col02 .col__item {
    width: 46.875%;
  }
  .col02 .col__item:nth-child(n+3) {
    margin-top: 90px;
  }
}

@media print, screen and (min-width: 768px) {
  .col03 .col__item {
    width: 29.167%;
  }
}

/* jquery.inview.min.js
--------------------------------------------------*/
.fadein {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: 1.0s;
}

.fadein.active {
  opacity: 1.0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.fadein_up {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transform: translateY(40px);
  transition: 1.0s;
}

.fadein_up.active {
  opacity: 1.0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  transform: translateY(0);
}

.fadein_scale {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transform: scale(0);
  transition: 1.0s;
}

.fadein_scale.active {
  opacity: 1.0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  transform: scale(1);
}

.delay_first {
  transition-delay: 0.2s;
}

.delay_second {
  transition-delay: 0.4s;
}

.delay_third {
  transition-delay: 0.6s;
}
