@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&display=swap");
/*
$4ewsColor: 
    /*col01: #238561,
  col02: #67a2b7,
  col03: #d2843e,
  col04: #cf775b,
  col05: #cf9942,
  col06: #926c28,
  col07: #cc7175,
  col08: #608ea1,
  col09: #5b609a,
  col10: #487390,
  col11: #4e9386,
  col12: #79a153,
  col13: #817499
);
*/
/**/
main section {
  position: relative;
  width: 100%;
}
#benefits_kv {
  position: relative;
  width: 100%;
  background: rgb(116, 177, 224);
  background: linear-gradient(90deg, rgb(116, 177, 224) 0%, rgb(90, 148, 206) 20%, rgb(0, 77, 157) 100%);
}

#benefits_kv .inner {
  position: relative;
}
@media screen and (min-width: 769px) {
  #benefits_kv .inner {
    height: 46rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 768px) {
  #benefits_kv .inner {
    padding-top: 6rem;
    padding-bottom: 11rem;
  }
}

#benefits_kv dl {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 769px) {
  #benefits_kv dl {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
#benefits_kv dl dt {
  position: relative;
  color: #fff;
}
#benefits_kv dl dt p.ttl {
  position: relative;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.05em;
  font-weight: 600;
}
@media screen and (min-width: 769px) {
  #benefits_kv dl dt p.ttl {
    line-height: 1.5em;
    font-size: 3.8rem;
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 768px) {
  #benefits_kv dl dt p.ttl {
    line-height: 1.5em;
    font-size: 4.8rem;
    padding-bottom: 4rem;
  }
}

.slider_set {
  position: relative;
}
@media screen and (min-width: 769px) {
  .slider_set {
    width: 53.3% !important;
    max-width: 64rem !important;
  }
}
@media screen and (max-width: 768px) {
  .slider_set {
    margin-top: 7rem;
  }
}

#local_nav nav {
  position: relative;
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  #local_nav nav {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  #local_nav nav {
    gap: 2rem;
    margin-top: 4rem;
  }
}

#local_nav nav a {
  position: relative;
  display: block;
  background: #0068b2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: ease-out 0.6s all;
}
@media screen and (min-width: 769px) {
  #local_nav nav a {
    border: #0068b2 0.2rem solid;
    width: 23.3%;
    max-width: 28rem;
    height: 7.5rem;
    padding: 0 2rem;
    border-radius: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  #local_nav nav a {
    border: #0068b2 0.4rem solid;
    width: 67rem;
    min-height: 14rem;
    padding: 4rem;
    border-radius: 0.6rem;
  }
}

#local_nav nav a p {
  position: relative;
  transition: ease-out 0.6s all;
  font-weight: 500;
  color: #fff;
}
@media screen and (min-width: 769px) {
  #local_nav nav a p {
    line-height: 1.5em;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  #local_nav nav a p {
    line-height: 1.5em;
    font-size: 3.2rem;
    letter-spacing: 0.05em;
  }
}

@media screen and (min-width: 769px) {
  #local_nav nav a:hover {
    background: #fff;
  }
}

@media screen and (min-width: 769px) {
  #local_nav nav a:hover p {
    color: #0068b2;
  }
}

#local_nav nav a .arrow {
  position: relative;
  display: block;
  background: #0068b2;
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  #local_nav nav a .arrow {
    width: 3rem;
    height: 3rem;
  }
}
@media screen and (max-width: 768px) {
  #local_nav nav a .arrow {
    width: 4.5rem;
    height: 4.5rem;
  }
}

#local_nav nav a .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  #local_nav nav a .arrow::before {
    background: url(../../../common/img/icon_arrow_w.svg) center center no-repeat;
    background-size: 0.64rem auto;
    transform: translateY(0.1rem) translateX(0.1rem) rotate(90deg);
  }
}
@media screen and (max-width: 768px) {
  #local_nav nav a .arrow::before {
    background: url(../../../common/img/icon_arrow_w.svg) center center no-repeat;
    background-size: 0.96rem auto;
    transform: translateY(0.1rem) translateX(0.1rem) rotate(90deg);
  }
}

@media screen and (min-width: 769px) {
  #local_nav {
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 768px) {
  #local_nav {
    padding-bottom: 8rem;
  }
}

#about {
  background: #f7f7f7;
}
@media screen and (min-width: 769px) {
  #about {
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 768px) {
  #about {
    padding-bottom: 8rem;
  }
}

@media screen and (min-width: 769px) {
  .about_table_type1 {
    padding-top: 3rem !important;
  }
}
@media screen and (max-width: 768px) {
  .about_table_type1 {
    padding-top: 4rem !important;
  }
}

.about_table_type1 table {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .about_table_type1 table {
    width: 84rem;
  }
}
@media screen and (max-width: 768px) {
  .about_table_type1 table {
    width: 67rem;
    display: flex !important;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

.about_table_type1 table tbody,
.about_table_type1 table thead,
.about_table_type1 table tr {
  position: relative;
}
@media screen and (max-width: 768px) {
  .about_table_type1 table tbody,
  .about_table_type1 table thead,
  .about_table_type1 table tr {
    width: 67rem;
    display: flex !important;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

.about_table_type1 table th {
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .about_table_type1 table th {
    width: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .about_table_type1 table th {
    width: 34%;
    display: block !important;
  }
}

@media screen and (min-width: 769px) {
  .about_table_type1 table td {
    white-space: nowrap;
    width: 30rem;
  }
}
@media screen and (max-width: 768px) {
  .about_table_type1 table td {
    width: 66%;
    display: block !important;
    border-top: none !important;
    border-left: none !important;
  }
}

@media screen and (max-width: 768px) {
  .about_table_type1 table th:first-of-type,
  .about_table_type1 table td:first-of-type {
    border-bottom: #cfcfcf 1px solid !important;
  }
}

#about td {
  background: #fff;
}

#about .general_indent_list {
  padding-top: 0;
}

@media screen and (min-width: 769px) {
  #about figure {
    margin: 4rem auto 0;
    width: 69rem;
  }
}
@media screen and (max-width: 768px) {
  #about figure {
    margin: 6rem auto 0;
    width: 100%;
  }
}

.cap {
  position: relative;
  color: #8a8a8a;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .cap {
    line-height: 1.667em;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    padding-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .cap {
    line-height: 1.667em;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    padding-top: 2rem;
  }
}

.about_indent {
  position: relative;
  width: 100%;
  display: table;
}
@media screen and (min-width: 769px) {
  .about_indent {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .about_indent {
    margin-top: 4rem;
  }
}

.about_indent:first-of-type {
  margin-top: 0 !important;
}

.about_indent dt {
  position: relative;
  display: table-cell;
  vertical-align: top;
  text-align: left;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .about_indent dt {
    width: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .about_indent dt {
    width: 7rem;
  }
}

.about_indent dd {
  position: relative;
  display: table-cell;
}
@media screen and (min-width: 769px) {
  .about_indent dd {
    width: calc(100% - 3rem);
  }
}
@media screen and (max-width: 768px) {
  .about_indent dd {
    width: calc(100% - 7rem);
  }
}

.about_inner_indent {
  position: relative;
  width: 100%;
  display: table;
}
@media screen and (min-width: 769px) {
  .about_inner_indent {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .about_inner_indent {
    margin-top: 2rem;
  }
}

.about_inner_indent#caption2 {
  margin-top: 0 !important;
}

/*
.about_inner_indent:first-of-type{
	margin-top: 0 !important;
}
*/
.about_inner_indent dt {
  position: relative;
  display: table-cell;
  vertical-align: top;
  text-align: left;
}
@media screen and (min-width: 769px) {
  .about_inner_indent dt {
    width: 4.5rem;
  }
}
@media screen and (max-width: 768px) {
  .about_inner_indent dt {
    width: 9.5rem;
  }
}

.about_inner_indent dd {
  position: relative;
  display: table-cell;
}
@media screen and (min-width: 769px) {
  .about_inner_indent dd {
    width: calc(100% - 4.5rem);
  }
}
@media screen and (max-width: 768px) {
  .about_inner_indent dd {
    width: calc(100% - 9.5rem);
  }
}

.about_indent a {
  color: #0068b2;
  text-decoration: underline;
}

.about_indent a:hover {
  color: #0068b2;
  text-decoration: none;
}

@media screen and (min-width: 769px) {
  .about_table_type2 {
    padding-top: 0.5rem !important;
  }
}
@media screen and (max-width: 768px) {
  .about_table_type2 {
    padding-top: 2rem !important;
  }
}

@media screen and (max-width: 768px) {
  .about_table_type2 table {
    display: table !important;
    border: none !important;
  }
}

.about_table_type2 table td,
.about_table_type2 table th {
  white-space: nowrap;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .about_table_type2 table td,
  .about_table_type2 table th {
    vertical-align: middle;
  }
}
@media screen and (max-width: 768px) {
  .about_table_type2 table td,
  .about_table_type2 table th {
    vertical-align: top;
    border: #cfcfcf 1px solid !important;
    display: table-cell !important;
  }
}

.scroll_table_set table tr th,
.scroll_table_set table tr td,
.clone_box table tr th,
.clone_box table tr td {
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.scroll_table_set table tr th strong,
.scroll_table_set table tr td strong,
.clone_box table tr th strong,
.clone_box table tr td strong {
  font-weight: 500;
}

/*
.scroll_table_set table tr td:nth-of-type(1),
.scroll_table_set table tr td:nth-of-type(2),
.scroll_table_set table tr td:nth-of-type(3){
    @include mq(pc) {
		width: 20%;
	}
}
*/
@media screen and (min-width: 769px) {
  .scroll_table_set .first_th,
  .scroll_table_set .last_th,
  .clone_box .first_th,
  .clone_box .last_th {
    width: 14%;
  }
}
@media screen and (max-width: 768px) {
  .scroll_table_set .first_th,
  .scroll_table_set .last_th,
  .clone_box .first_th,
  .clone_box .last_th {
    width: 24rem;
  }
}

@media screen and (max-width: 768px) {
  .scroll_table_set table,
  .clone_box table {
    width: 200rem;
  }
}

table th.bg_blur {
  background: #0068b2;
  color: #fff;
}

table td.bg_sky {
  background: #e5f0f7;
  color: #0068b2;
}

/*
table td.bg_sky span{
	position: relative;
	display: inline-block;
	font-size: 65%;
	transform: translateY(-20%);
}
*/
.scroll_table_set table tr td.elm5 {
  background: #e6e6e6 !important;
  color: #333333;
}

.scroll_table_set table tr td.elm4 {
  background: #c0dbf2 !important;
  color: #333333;
}

.scroll_table_set table tr td.elm3 {
  background: #2c9dd8 !important;
  color: #fff;
}

.scroll_table_set table tr td.elm2 {
  background: #2482c6 !important;
  color: #fff;
}

.scroll_table_set table tr td.elm1 {
  background: #175c97 !important;
  color: #fff;
}

.scroll_table_set table tr th {
  background: #f6f6f6;
  color: #333333;
}

.clone_box table tr td.elm5 {
  background: #e6e6e6 !important;
  color: #333333;
}

.clone_box table tr td.elm4 {
  background: #c0dbf2 !important;
  color: #333333;
}

.clone_box table tr td.elm3 {
  background: #2c9dd8 !important;
  color: #fff;
}

.clone_box table tr td.elm2 {
  background: #2482c6 !important;
  color: #fff;
}

.clone_box table tr td.elm1 {
  background: #175c97 !important;
  color: #fff;
}

.clone_box table tr th {
  background: #f6f6f6;
  color: #333333;
}

.clone_table_set .clone_box table td:first-of-type,
.clone_table_set .clone_box table .first_th {
  opacity: 1 !important;
  border: #cfcfcf 1px solid !important;
}

@media screen and (min-width: 769px) {
  #hotel {
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 768px) {
  #hotel {
    padding-bottom: 8rem;
  }
}

#faq {
  background: #f7f7f7;
}
@media screen and (min-width: 769px) {
  #faq {
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 768px) {
  #faq {
    padding-bottom: 8rem;
  }
}

main section .cRed {
  color: #ae0000;
  font-weight: 500;
}

.note {
  position: relative;
}
@media screen and (min-width: 769px) {
  .note {
    margin-top: 2rem;
    padding-left: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .note {
    margin-top: 4rem;
    padding-left: 6rem;
  }
}

.note::before {
  content: "";
  position: absolute;
  left: 0;
  background: url(../../img/stock_information/shareholder_benefits/icon_info.svg) center center no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .note::before {
    top: 0.4em;
    width: 2rem;
    height: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .note::before {
    top: 0.8em;
    width: 4rem;
    height: 4rem;
  }
}

.info_set_box {
  position: relative;
  border: none;
  background: #ffeded;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .info_set_box {
    padding: 3rem 4rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .info_set_box {
    margin-top: 4rem;
    padding: 5rem 4rem;
  }
}

#icon_introduction {
  position: relative;
  display: flex !important;
  align-items: center;
}
@media screen and (min-width: 769px) {
  #icon_introduction {
    justify-content: flex-end;
    margin: 0;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  #icon_introduction {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 0;
    margin-top: 4rem;
    margin-bottom: 3.5rem;
    gap: 3rem 0;
  }
}

#icon_introduction figure,
#hotel .icon_set figure {
  position: relative;
}
@media screen and (min-width: 769px) {
  #icon_introduction figure,
  #hotel .icon_set figure {
    width: 3rem;
    height: 3rem;
    margin-left: 1rem;
  }
}
@media screen and (max-width: 768px) {
  #icon_introduction figure,
  #hotel .icon_set figure {
    width: 5rem;
    height: 5rem;
    margin-right: 1rem;
  }
}

#icon_introduction figure {
  position: relative;
}
@media screen and (min-width: 769px) {
  #icon_introduction figure {
    margin-right: 0.5rem;
  }
}
#icon_introduction p {
  position: relative;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  #icon_introduction p {
    line-height: 1.5em;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  #icon_introduction p {
    line-height: 1.5em;
    font-size: 2.8rem;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 768px) {
  #icon_introduction p:nth-of-type(1) {
    margin-right: 3.5rem;
  }
}

#hotel .icon_set p {
  position: relative;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  #hotel .icon_set p {
    line-height: 1.5em;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  #hotel .icon_set p {
    line-height: 1.5em;
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    margin-right: 3.5rem;
  }
}

#hotel .hotel_set {
  position: relative;
  width: 100%;
  display: flex;
  align-items: flex-start;
  /*justify-content: space-between;*/
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  #hotel .hotel_set {
    gap: 3rem 0;
  }
}
@media screen and (max-width: 768px) {
  #hotel .hotel_set {
    gap: 8rem;
  }
}

/*#hotel .hotel_set .hotel_box {
  position: relative;
}
@media screen and (min-width: 769px) {
  #hotel .hotel_set .hotel_box {
    width: 48.3%;
    max-width: 58rem;
  }
}
@media screen and (max-width: 768px) {
  #hotel .hotel_set .hotel_box {
    width: 100%;
  }
}*/

#hotel .hotel_set .category_img {
  position: relative;
  display: block;
}
@media screen and (min-width: 769px) {
  #hotel .hotel_set .category_img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #hotel .hotel_set .category_img {
    width: 67rem;
  }
}

#hotel .hotel_set .category_img figure {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 10px;
}
@media screen and (min-width: 769px) {
  #hotel .hotel_set .category_img figure {
    width: 100%;
    height: 16rem;
  }
}
@media screen and (max-width: 768px) {
  #hotel .hotel_set .category_img figure {
    width: 100%;
    height: 18.6rem;
  }
}

#hotel .hotel_set .category_img figure img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: ease-in-out 0.6s all;
  filter: brightness(.5);
}

#hotel .hotel_set .category_img p {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 500;
  color: #fff;
}
@media screen and (min-width: 769px) {
  #hotel .hotel_set .category_img p {
    line-height: 1.5em;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  #hotel .hotel_set .category_img p {
    line-height: 1.5em;
    font-size: 2.5rem;
    letter-spacing: 0.05em;
  }
}

#hotel .hotel_set ul {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 769px) {
  #hotel .hotel_set ul {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  #hotel .hotel_set ul {
    margin-top: 2rem;
  }
}

#hotel .hotel_set li {
  position: relative;
  transition: ease-out 0.6s all;
  border-bottom: rgba(27, 34, 76, 0.1) 1px solid;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  #hotel .hotel_set li {
    width: 100%;
    padding: .8rem 0;
  }
}
@media screen and (max-width: 768px) {
  #hotel .hotel_set li {
    width: 100%;
    padding: 1.5rem 0;
    flex-wrap: wrap;
  }
}

#hotel .hotel_set li p {
  position: relative;
  display: inline-block;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  #hotel .hotel_set li p {
    max-width: 46rem;
    line-height: 1.5em;
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  #hotel .hotel_set li p {
    max-width: 48rem;
    line-height: 1.5em;
    font-size: 2.5rem;
    letter-spacing: 0.05em;
    /*text-align: justify;*/
  }
}

#hotel .hotel_set li a {
  position: relative;
  display: inline-block;
  text-decoration: underline;
  color: #0068b2;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  #hotel .hotel_set li a {
    max-width: 46rem;
    line-height: 1.5em;
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  #hotel .hotel_set li a {
    max-width: 48rem;
    line-height: 1.5em;
    font-size: 2.5rem;
    letter-spacing: 0.05em;
    /*text-align: justify;*/
  }
}

#hotel .hotel_set li a .sml {
  position: relative;
}
@media screen and (min-width: 769px) {
  #hotel .hotel_set li a .sml {
    line-height: 1.7em;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  #hotel .hotel_set li a .sml {
    line-height: 1.7em;
    font-size: 2.4rem;
  }
}

@media screen and (min-width: 769px) {
  #hotel .hotel_set li a:hover {
    text-decoration: none;
  }
}

#hotel .hotel_set li a .window {
  position: relative;
  display: inline-block;
}
@media screen and (min-width: 769px) {
  #hotel .hotel_set li a .window {
    width: 0.96rem;
    height: 0.96rem;
    margin-left: 0.6rem;
  }
}
@media screen and (max-width: 768px) {
  #hotel .hotel_set li a .window {
    width: 1.92rem;
    height: 1.92rem;
    margin-left: 0.6rem;
  }
}

#hotel .hotel_set li a .window::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: ease-out 0.2s all;
  background: url(../../../common/img/icon_window_b.svg) center center no-repeat;
  background-size: contain;
}

#hotel .icon_set {
  position: relative;
  display: flex !important;
  align-items: center;
}
@media screen and (min-width: 769px) {
  #hotel .icon_set {
    justify-content: flex-end;
  }
}
@media screen and (max-width: 768px) {
  #hotel .icon_set {
    justify-content: flex-end;
  }
}

.general_indent_list-em{
  font-weight: bold;
  font-style: normal;
  text-decoration: underline;
  background-color: rgb(0 104 178/0.2);
  margin-inline: 0.2em;
}
