@charset "UTF-8";
@import url("vegas.css");
/***** スライダー *****/
#vegas {
  width: 100%;
  height: 100vh; }
  @media screen and (max-width: 800px) {
    #vegas {
      height: 80vh; } }

#vegas h2 {
  font-size: 2.4rem;
  color: #73683c;
  line-height: 180%;
  letter-spacing: 0.1em;
  font-weight: normal;
  position: absolute;
  top: 30%;
  left: 60%;
  text-shadow: 3px 3px 8px rgba(255, 255, 255, 0.4); }
  @media screen and (max-width: 1450px) {
    #vegas h2 {
      left: 50%; } }
  @media screen and (max-width: 1350px) {
    #vegas h2 {
      left: 55%;
      font-size: 2rem; } }
  @media screen and (max-width: 1050px) {
    #vegas h2 {
      left: 45%;
      font-size: 1.8rem; } }
  @media screen and (max-width: 800px) {
    #vegas h2 {
      left: 35%;
      font-size: 1.4rem; } }
  @media screen and (max-width: 640px) {
    #vegas h2 {
      left: 10%; } }

#vegas h3 {
  font-family: "Cormorant Garamond", "Noto Serif JP", 'Noto Sans JP', sans-serif;
  font-size: 6rem;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.6);
  position: absolute;
  left: 5%;
  bottom: 10%;
  text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.4); }
  @media screen and (max-width: 1450px) {
    #vegas h3 {
      font-size: 4.6rem; } }
  @media screen and (max-width: 1350px) {
    #vegas h3 {
      font-size: 3.8rem; } }
  @media screen and (max-width: 1050px) {
    #vegas h3 {
      font-size: 3rem; } }
  @media screen and (max-width: 800px) {
    #vegas h3 {
      font-size: 2.4rem;
      bottom: 5%; } }
  @media screen and (max-width: 640px) {
    #vegas h3 {
      font-size: 2rem; } }

/********** #topMission **********/
@media screen and (max-width: 800px) {
  #topMission {
    padding-bottom: 0; } }

.topMissBox {
  width: 100%;
  display: flex;
  position: relative;
  clear: both; }
  @media screen and (max-width: 800px) {
    .topMissBox {
      width: 90% !important;
      margin: 0 auto !important;
      display: block !important; } }

@media screen and (max-width: 800px) {
  .missTxt,
  .missImg {
    width: 100% !important;
    display: block; } }

@media screen and (max-width: 800px) {
  .missTxt {
    padding: 20px 40px 40px; } }

@media screen and (max-width: 800px) {
  .missImg img {
    width: 100% !important;
    margin: 0 auto !important;
    display: block; } }

.missTxt h4 {
  margin-bottom: 10px;
  font-size: 3rem;
  color: #bfa483;
  line-height: 180%;
  letter-spacing: 0.1em;
  font-weight: normal;
  font-family: "Cormorant Garamond", "Noto Serif JP", 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
  @media screen and (max-width: 1250px) {
    .missTxt h4 {
      font-size: 2rem; } }
  @media screen and (max-width: 800px) {
    .missTxt h4 {
      font-size: 2rem;
      text-align: center; } }

.missTxt p {
  line-height: 200%; }
  @media screen and (max-width: 800px) {
    .missTxt p {
      text-align: center; } }

@media screen and (max-width: 800px) {
  .missTxt p br {
    display: none; } }

#topMiss01 {
  width: 90%;
  margin: 0 auto 60px;
  justify-content: space-between; }

#topMiss01 .missImg {
  width: 50%;
  padding-top: 100px; }
  @media screen and (max-width: 1350px) {
    #topMiss01 .missImg {
      width: 40%; } }
  @media screen and (max-width: 1050px) {
    #topMiss01 .missImg {
      width: 35%; } }
  @media screen and (max-width: 800px) {
    #topMiss01 .missImg {
      padding-top: 0; } }

#topMiss01 .missImg img {
  width: 100%; }

#topMiss01 .missTxt {
  width: 45%; }
  @media screen and (max-width: 1450px) {
    #topMiss01 .missTxt {
      width: 45%; } }
  @media screen and (max-width: 1350px) {
    #topMiss01 .missTxt {
      width: 55%; } }
  @media screen and (max-width: 1050px) {
    #topMiss01 .missTxt {
      width: 60%; } }

#topMiss02 {
  width: 90%;
  margin: -100px 0 150px;
  flex-direction: row-reverse;
  margin-left: auto;
  display: flex;
  align-items: flex-end; }
  @media screen and (max-width: 1450px) {
    #topMiss02 {
      margin-top: -80px; } }
  @media screen and (max-width: 1350px) {
    #topMiss02 {
      margin-top: 0; } }
  @media screen and (max-width: 1150px) {
    #topMiss02 {
      justify-content: space-between; } }
  @media screen and (max-width: 800px) {
    #topMiss02 {
      margin-bottom: 60px; } }

#topMiss02 .missImg {
  width: 50%; }
  @media screen and (max-width: 1450px) {
    #topMiss02 .missImg {
      width: 40%;
      margin-top: -50px; } }
  @media screen and (max-width: 800px) {
    #topMiss02 .missImg {
      margin-top: 0; } }

#topMiss02 .missTxt {
  width: 45%;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  position: relative; }
  @media screen and (max-width: 1450px) {
    #topMiss02 .missTxt {
      width: 55%; } }

.topMiss02Img {
  width: 450px;
  top: -190%;
  left: -65%;
  position: absolute; }
  @media screen and (max-width: 1450px) {
    .topMiss02Img {
      top: -150%;
      left: -80%; } }
  @media screen and (max-width: 1350px) {
    .topMiss02Img {
      width: 350px;
      top: -130%;
      left: -70%; } }
  @media screen and (max-width: 1050px) {
    .topMiss02Img {
      width: 250px;
      top: -70%;
      left: -60%; } }
  @media screen and (max-width: 900px) {
    .topMiss02Img {
      left: -65%; } }
  @media screen and (max-width: 800px) {
    .topMiss02Img {
      display: none; } }

#topMiss03 {
  width: 80%;
  justify-content: space-between;
  margin-left: auto;
  display: flex;
  align-items: center; }
  @media screen and (max-width: 1150px) {
    #topMiss03 {
      margin: 0 auto; } }
  @media screen and (max-width: 800px) {
    #topMiss03 {
      margin-bottom: 60px; } }

#topMiss03 .missImg {
  width: 45%; }

#topMiss03 .missTxt {
  width: 50%; }

/********** #topService **********/
#topService {
  background: url("../img/index/index_06.jpg") no-repeat right center; }
  @media screen and (max-width: 1450px) {
    #topService {
      background-position: right -300px center; } }
  @media screen and (max-width: 1250px) {
    #topService {
      background-position: right -400px center; } }
  @media screen and (max-width: 800px) {
    #topService {
      background-position: center center; } }

.topServiceBox {
  width: 80%;
  justify-content: space-between;
  margin-left: auto;
  display: flex;
  flex-direction: column;
  position: relative; }
  @media screen and (max-width: 800px) {
    .topServiceBox {
      width: 100%;
      margin: 0 auto;
      display: block; } }

.topServiceBox .modTtl {
  margin-left: 0;
  margin-right: 0; }
  @media screen and (max-width: 800px) {
    .topServiceBox .modTtl {
      margin-bottom: 40px; } }

.topServiceBox ul {
  display: flex;
  gap: 70px;
  flex-wrap: wrap; }
  @media screen and (max-width: 1250px) {
    .topServiceBox ul {
      gap: 40px; } }
  @media screen and (max-width: 800px) {
    .topServiceBox ul {
      justify-content: space-around;
      gap: 20px; } }
  @media screen and (max-width: 640px) {
    .topServiceBox ul {
      flex-wrap: nowrap; } }

.topServiceBox ul li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background-color: #3b505c;
  color: #fff;
  text-decoration: none;
  padding: 30px 50px 40px;
  border-radius: 5px;
  min-width: 350px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  transition: background-color 0.3s ease; }
  @media screen and (max-width: 1250px) {
    .topServiceBox ul li a {
      padding: 20px 50px 30px;
      min-width: auto; } }
  @media screen and (max-width: 1050px) {
    .topServiceBox ul li a {
      padding: 20px 50px 20px; } }
  @media screen and (max-width: 800px) {
    .topServiceBox ul li a {
      min-width: inherit;
      padding: 20px 30px 20px; } }
  @media screen and (max-width: 640px) {
    .topServiceBox ul li a {
      min-width: inherit;
      padding: 10px 40px 10px; } }

.topServiceBox ul li a:hover {
  background-color: #2a3a44; }

.topServiceBox ul li h3 {
  font-size: 1.2rem;
  margin-bottom: 20px;
  letter-spacing: 0.05em; }
  @media screen and (max-width: 1250px) {
    .topServiceBox ul li h3 {
      font-size: 1rem; } }
  @media screen and (max-width: 1050px) {
    .topServiceBox ul li h3 {
      margin-bottom: 5px; } }
  @media screen and (max-width: 800px) {
    .topServiceBox ul li h3 {
      font-size: 0.75rem; } }

.topServiceBox ul li span {
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 8px; }
  @media screen and (max-width: 1250px) {
    .topServiceBox ul li span {
      font-size: 1.6rem; } }
  @media screen and (max-width: 800px) {
    .topServiceBox ul li span {
      font-size: 1.2rem; } }

.topServiceBox ul li a:hover span i {
  transition: 0.3s ease;
  margin-left: 10px; }

@media screen and (max-width: 640px) {
  .topServiceBox ul li span i {
    font-size: 0.85rem; } }

.topServiceImg {
  position: absolute;
  width: 500px;
  top: -60%;
  left: -60%; }
  @media screen and (max-width: 1450px) {
    .topServiceImg {
      left: -65%; } }
  @media screen and (max-width: 1250px) {
    .topServiceImg {
      left: -70%; } }
  @media screen and (max-width: 1050px) {
    .topServiceImg {
      width: 400px; } }
  @media screen and (max-width: 800px) {
    .topServiceImg {
      display: none; } }

/********** #topAbout **********/
#topAbout {
  background-image: url("../img/index/index_07.jpg"), url("../img/index/index_08.jpg");
  background-position: left -450px center, right -50px center;
  background-repeat: no-repeat, no-repeat;
  background-size: auto, auto; }
  @media screen and (max-width: 1450px) {
    #topAbout {
      background-position: left -450px center, right -300px center; } }
  @media screen and (max-width: 1250px) {
    #topAbout {
      background-position: left -550px center, right -400px center; } }
  @media screen and (max-width: 800px) {
    #topAbout {
      background: none; } }

#topAbout .modBloc {
  width: 70%;
  margin: 0 auto; }
  @media screen and (max-width: 1150px) {
    #topAbout .modBloc {
      width: 80%; } }

#topAbout .modTtl {
  margin-left: 0;
  margin-right: 0; }

#topAbout .modBloc p {
  margin-bottom: 60px; }

/********** #topNews **********/
#topNews {
  flex-direction: column;
  margin-left: auto;
  display: flex;
  align-items: flex-end;
  position: relative; }
  @media screen and (max-width: 800px) {
    #topNews {
      padding-top: 0; } }

#topNews .modBloc {
  width: 70%;
  margin: 0;
  padding: 60px 80px;
  background: #fff;
  position: relative;
  box-shadow: 3px 3px 5px #ccc; }
  @media screen and (max-width: 1450px) {
    #topNews .modBloc {
      width: 80%; } }
  @media screen and (max-width: 1050px) {
    #topNews .modBloc {
      padding: 40px 40px; } }
  @media screen and (max-width: 800px) {
    #topNews .modBloc {
      width: 90%;
      margin: 0 auto;
      padding: 40px 20px; } }

#topNews .modBloc .modTtl {
  position: absolute;
  left: -300px;
  bottom: 10%;
  transform: rotate(-90deg); }
  @media screen and (max-width: 1050px) {
    #topNews .modBloc .modTtl {
      left: -200px; } }
  @media screen and (max-width: 800px) {
    #topNews .modBloc .modTtl {
      position: relative;
      transform: rotate(0deg);
      left: 0; } }

#topNews .modBloc .modTtl h2 {
  font-size: 8rem; }
  @media screen and (max-width: 1050px) {
    #topNews .modBloc .modTtl h2 {
      font-size: 6rem; } }
  @media screen and (max-width: 800px) {
    #topNews .modBloc .modTtl h2 {
      font-size: 3rem;
      text-align: center; } }
  @media screen and (max-width: 640px) {
    #topNews .modBloc .modTtl h2 {
      font-size: 2.6rem; } }

#topNews .modBtn {
  margin: 0 auto; }

.topImgNews {
  position: absolute;
  width: 100%;
  height: 60%;
  object-fit: cover;
  object-position: bottom;
  bottom: 0;
  z-index: -1; }
