@charset "utf-8";

.inner{
	position: relative;
	width: calc( 100% - 80px );
	max-width: 1380px;
	margin: 0 auto 0;
}
.lower_sec_inner{
	position: relative;
	width: calc( 100% - 80px );
	max-width: 1000px;
	margin: 0 auto 0;
}
.narrow_inner{
	position: relative;
	width: calc( 100% - 80px );
	max-width: 980px;
	margin: 0 auto 0;
}

/*-------------------------------------------------------------------------
LOADING
------------------------------------------------------------------------*/
.loading_logo{
    text-align: center;
    font-family: "Cormorant", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 20px;
    color: #FFF;
    line-height: 1.6em;
    margin-bottom: 10px;
    letter-spacing: 0.4em;
    transform: translateX(5px)
}
.loading_wrap{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    height: 100%;
    width: 100%;
    z-index: 1000;
    background: url(img/loading_bg.jpg) center center;
    background-size: cover;
    transition: 0.3s;
    background: url(img/top_concept_bg.jpg) center center;
    background-size: cover;
}
.loading_wrap.load{
    opacity: 0;
    visibility: hidden
}
.loading_inner{
    position: absolute;
    left: 50%;
    top: calc( 50% - 30px );
    transform: translate(-50%,-50%);
}
.loading {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
.loading_logo{
  width: 150px;
  margin: 0 auto;
  position: relative;
  z-index: 100;
}
.loading .dot {
  position: relative;
  width: 7px;
  height: 7px;
  margin: 20px 4px 4px 0;
  border-radius: 50%;
  background: #5bd0ff;
}
.loading > *.dot:last-child{
  margin: 20px 0 4px 0;
}
.loading .dot::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  animation: wave 1s ease-out infinite;
}
.loading .dot:nth-child(1)::before {
  animation-delay: 0.1s;
}
.loading .dot:nth-child(2)::before {
  animation-delay: 0.2s;
}
.loading .dot:nth-child(3)::before {
  animation-delay: 0.3s;
}
.loading .dot:nth-child(4)::before {
  animation-delay: 0.4s;
}
.loading .dot:nth-child(5)::before {
  animation-delay: 0.15s;
}

@keyframes wave {
  50%, 75% {
    transform: scale(4);
  }
  80%, 100% {
    opacity: 0;
  }
}

/*-------------------------------------------------------------------------
PRIVACY
------------------------------------------------------------------------*/
body.privacy{
  z-index: 1000;
  transition: 0.3s;
  background: url(img/top_concept_bg.jpg) center center;
  background-size: cover;
}
.privacy_wrap a{
  text-decoration: underline;
  color: #0079ff 
}
.privacy_wrap a:hover{
  text-decoration: none
}
.privacy_wrap{
  line-height: 2em;
  font-size: 14px;
}
.lower_privacy_ttl{
  font-size: 18px;
  text-align: center;
  margin-bottom: 15px;
}
.privacy_wrap p{
  margin-bottom: 15px;
}
.privacy_wrap > *{
  margin-bottom: 30px;
}
.privacy_logo{
  width: 200px;
  margin: 30px auto;
}
.privacy_wrap dt{
  font-weight: bold;
  padding-bottom: 6px;
  margin-bottom: 6px;
  border-bottom: 1px solid #eeeeee;
}
.privacy_address{
  font-style: normal;
  text-align: center;
  display: block;
  margin-top: 50px;
}
.privacy_copy{
  font-family: "Cormorant", serif;
  font-size: 12px;
  display: block;
  padding-bottom: 10px;
  text-align: center
}
.privacy_close_btn{
  padding: 0 0 30px;
  text-align: center;
  font-family: "Cormorant", serif;
  color: #01AEF2
}
.privacy_close_btn_function{
  width: 60px;
  margin: 0 auto;
}
.privacy_close_btn_icon{
  height: 40px;
  width: 40px;
  background: #01AEF2;
  border-radius: 50%;
  margin: 0 auto;
  position: relative
}
.privacy_close_btn_icon:after{
  content: "";
  display: block;
  height: 2px;
  width: 20px;
  background: #FFF;
  transform: rotate(45deg);
  position: absolute;
  top: 19px;
  left: 10px;
}
.privacy_close_btn_icon:before{
  content: "";
  display: block;
  height: 2px;
  width: 20px;
  background: #FFF;
  transform: rotate(-45deg);
  position: absolute;
  top: 19px;
  left: 10px;
}
.num_list{
  margin-bottom: 20px;
}
.num_list > *{
  padding-left: 25px;
  position: relative;
  margin-bottom: 5px;
}
.num_list > *:last-child{
  margin-bottom: 0;
}
.num_list > *:after{
  content: "(1)";
  position: absolute;
  top: -1px;
  left: 0;
  display: block;
}
.num_list > *:nth-child(2):after{
  content: "(2)";
}
.num_list > *:nth-child(3):after{
  content: "(3)";
}
.num_list > *:nth-child(4):after{
  content: "(4)";
}
.num_list > *:nth-child(5):after{
  content: "(5)";
}
.num_list > *:nth-child(6):after{
  content: "(6)";
}
.num_list > *:nth-child(7):after{
  content: "(7)";
}
.circle_list{
  margin-bottom: 20px;
}
.circle_list > *{
  padding-left: 15px;
  position: relative;
  margin-bottom: 5px;
}
.circle_list > *:last-child{
  margin-bottom: 0;
}
.circle_list > *:after{
  content: "●";
  position: absolute;
  top: -1px;
  left: 0;
  display: block;
}

.tel_link{
  pointer-events: none;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .tel_link{
    pointer-events: none;
  }
}
@media screen and (max-width:480px) {
  .tel_link{
    pointer-events: auto;
  }
}