﻿*{
  -webkit-tap-highlight-color:transparent
}

html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,table,tr,th,td,form{
  font-size:inherit;
  margin:0;
  padding:0
}

a{
  color:inherit;
  text-decoration:none
}

table{
  border-collapse:collapse;
  empty-cells:show
}

th,td{
  text-align:left;
  vertical-align:top
}

li{
  list-style:none
}

img{
  vertical-align:top
}

input,textarea,select{
  font-family:inherit;
  -webkit-appearance:none;
  appearance:none
}

select::-ms-expand{
  display:none
}

[disabled]{
  cursor:not-allowed
}

html,:root{
  font-size:100px
}

@media screen and (max-width: 1088px){
  html,:root{
    font-size:9.1911764706vw
  }
}

@media screen and (max-width: 959px){
  html,:root{
    font-size:10.4166666667vw
  }
}

body{
  color:#000;
  font-family:"游ゴシック","Yu Gothic","游ゴシック体","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;
  font-size:.18rem;
  letter-spacing:.1em;
  line-height:1.7777777778
}

@media screen and (max-width: 599px){
  body{
    font-size:3.2vw;line-height:1.5833333333
  }
}

.serif{
  font-family:"游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho ProN","Hiragino Mincho Pro","HiraMinProN-W3","ＭＳ Ｐ明朝","MS PMincho",serif
}

img,video{
  max-width:100%
}

#wrap{
  position:relative;
  overflow:hidden
}

.wrap{
  max-width:1024px;
  margin-right:auto;
  margin-left:auto;
  padding-right:3.125%;
  padding-left:3.125%
}

img[src$="_sp.jpg"],img[src$="_sp.png"]{
  display:none
}

@media screen and (max-width: 599px){
  img[src$="_sp.jpg"],img[src$="_sp.png"]{
    display:inline-block
  }
  
  img[src$="_sp.jpg"] ~ img,img[src$="_sp.png"] ~ img{
    display:none
  }
}

img[src$="_tb.jpg"],img[src$="_tb.png"]{
  display:none
}

@media screen and (max-width: 959px){
  img[src$="_tb.jpg"],img[src$="_tb.png"]{
    display:inline-block
  }
  
  img[src$="_tb.jpg"] ~ img,img[src$="_tb.png"] ~ img{
    display:none
  }
}

.sp,.tb{
    display:none
}

@media screen and (max-width: 959px){
  .pc{
    display:none
  }
  
  br.tb{
    display:inline
  }

}@media screen and (max-width: 599px){
  br.sp{
    display:inline
  }
}

.hov{
  transition:opacity .3s
}

.hov:hover{
  opacity:.75
}

html{
  overflow-y:scroll
}

body{
  height:100vh;
  overflow:hidden
}

body.ready{
  height:auto;
  overflow:auto
}

body.ready #header .image{
  transform:translate3D(0, 0, 0) scale(1)
}

#header{
  position:relative
}

#header .image{
  width:100%;
  position:absolute;
  top:0;
  right:0;
  transform:translate3D(50%, 0, 0) scale(0.25);
  transform-origin:right;
  transition:transform 0.75s 1s cubic-bezier(0.29, 0.93, 0.42, 0.99)
}

@media screen and (max-width: 599px){
  #header .image{
    top:75.066667vw
  }
}

#main{
  position:relative
}

#main .news{
  margin:.65rem 0 0;
  padding:.12rem 0 0;
  position:relative
}

@media screen and (max-width: 959px){
  #main .news{
    margin:.97rem .1rem 0;
    padding:.1rem 0 0
  }
}

@media screen and (max-width: 599px){
  #main .news{
    margin:24.8vw 2.1333333333vw 0;
    padding:.8vw 0 0
  }
}

#main .news::before{
  content:'';
  display:block;
  width:.04rem;
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  background:#cab267;
  background:-webkit-linear-gradient(top, #c5ac5e 0%, #efda98 50%, #c5ac5e 100%);
  background:linear-gradient(to bottom, #c5ac5e 0%, #efda98 50%, #c5ac5e 100%)
}

@media screen and (max-width: 599px){
  #main .news::before{
    width:.5333333333vw;
    bottom:22.2666666667vw
  }
}

#main .news .title{
  width:2.24rem;
  margin:0 0 0 .33rem
}

@media screen and (max-width: 599px){
  #main .news .title{
    width:37.4666666667vw;
    margin:0 0 0 4.2666666667vw
  }
}
#main .news .list{
  display:flex;
  margin:.36rem 0 0 .88rem;
  flex-wrap:wrap
}

@media screen and (max-width: 959px){
  #main .news .list{
    margin:.34rem .28rem 0 1.14rem
  }
}

@media screen and (max-width: 599px){
  #main .news .list{
    display:block;
    margin:6.6666666667vw 0 0 5.3333333333vw
  }
}

#main .news .list dt,#main .news .list dd{
  margin:.16rem 0 0
}

@media screen and (max-width: 959px){
  #main .news .list dt,#main .news .list dd{
    margin:.22rem 0 0;
    line-height:.24rem
  }
}

#main .news .list dt{
  width:1.76rem;
  font-family:Garamond;
  font-size:.24rem;
  font-weight:bold;
  line-height:1.3333333333;
  letter-spacing:0.13em
}

@media screen and (max-width: 959px){
  #main .news .list dt{
    line-height:1
  }
}

@media screen and (max-width: 599px){
  #main .news .list dt{
    width:auto;
    margin:3.2vw 0 0;
    font-size:4vw
  }
}

#main .news .list dd{
  width:calc(100% - 1.76rem)
}

@media screen and (max-width: 599px){
  #main .news .list dd{
    width:auto;
    margin:0;
    line-height:1.4166666667
  }
}

#main .news .list a:hover{
  text-decoration:underline
}

#main .news .btn{
  display:flex;
  margin:.54rem 0 0 0;
  justify-content:center
}

@media screen and (max-width: 959px){
  #main .news .btn{
    margin:.56rem 0 0 0
  }
}

@media screen and (max-width: 599px){
  #main .news .btn{
    margin:5.8666666667vw 0 0
  }
}

#main .news .btn li{
  width:4.08rem
}

@media screen and (max-width: 959px){
  #main .news .btn li{
    width:3.1rem
  }
}

@media screen and (max-width: 599px){
  #main .news .btn li{
    width:42.5333333333vw
  }
}

#main .news .btn li a{
  display:flex;
  height:.9rem;
  padding:0 0 0 1.55rem;
  background:0 0 / contain no-repeat;
  color:#fff;
  font-size:.16rem;
  line-height:1.5;
  flex-direction:column;
  justify-content:center
}

@media screen and (max-width: 959px){
  #main .news .btn li a{
    padding:0 0 0 .96rem
  }
}

@media screen and (max-width: 599px){
  #main .news .btn li a{
    display:block;
    box-sizing:border-box;
    height:16.9333333333vw;
    padding:8.5333333333vw 0 0;
    font-size:2.6666666667vw;
    line-height:1.4;
    text-align:center
  }
}

#main .news .btn li.btn01 a{
  background-image:url("../imgs/bt01.jpg")
}

@media screen and (max-width: 959px){
  #main .news .btn li.btn01 a{
    background-image:url("../imgs/bt01_tb.jpg")
  }
}

@media screen and (max-width: 599px){
  #main .news .btn li.btn01 a{
    background-image:url("../imgs/bt01_sp.jpg")
  }
}

#main .news .btn li.btn02{
  margin:0
}

@media screen and (max-width: 599px){
  #main .news .btn li.btn02{
    margin:0
  }
}

#main .news .btn li.btn02 a{
  background-image:url("../imgs/bt02.jpg")
}

@media screen and (max-width: 959px){
  #main .news .btn li.btn02 a{
    background-image:url("../imgs/bt02_tb.jpg")
  }
}

@media screen and (max-width: 599px){
  #main .news .btn li.btn02 a{
    background-image:url("../imgs/bt02_sp.jpg")
  }
}

#main .block01{
  margin:.45rem 0 0;
  padding:2.43rem 0 0;
  position:relative
}

@media screen and (max-width: 959px){
  #main .block01{
    margin:.8rem 0 0;
    padding:2.1rem 0 0
  }
}

@media screen and (max-width: 599px){
  #main .block01{
    margin:11.7333333333vw 0 0;
    padding:26.6666666667vw 0 0
  }
}

#main .block01>.bg{
  width:100%;
  height:calc(100vw * 2044 / 2879);
  position:absolute;
  top:0;
  right:0;
  background:url("../imgs/bg01.png") 50% 0/100% auto no-repeat
}

@media screen and (max-width: 1088px){
  #main .block01>.bg{
    height:calc(100vw * 1004 / 1088);
    background-size:auto calc(100vw * 1022 / 1088)
  }
}

@media screen and (max-width: 959px){
  #main .block01>.bg{
    height:calc(100vw * 1072 / 960);
    background-image:url("../imgs/bg01_tb.png");background-size:100% auto
  }
}

@media screen and (max-width: 599px){
  #main .block01>.bg{
    height:calc(100vw * 1319 / 759);
    background-image:url("../imgs/bg01_sp.png")
  }
}

#main .block01 .wrap{
  position:relative
}

#main .lead{
  text-align:center
}

#main .lead .catch{
  width:7.14rem;
  margin:0 auto
}

@media screen and (max-width: 959px){
  #main .lead .catch{
    width:4rem
  }
}

@media screen and (max-width: 599px){
  #main .lead .catch{
    width:70.2666666667vw
  }
}

#main .lead .catch::after{
  content:'';
  display:block;
  width:4.96rem;
  height:.02rem;
  margin:.2rem auto 0;
  background:#cab267;
  background:-webkit-linear-gradient(left, #c5ac5e 0%, #efda98 50%, #c5ac5e 100%);
  background:linear-gradient(to right, #c5ac5e 0%, #efda98 50%, #c5ac5e 100%)
}

@media screen and (max-width: 959px){
  #main .lead .catch::after{
    width:4.25rem;
    height:.02rem;
    margin:.18rem -.125rem 0
  }
}

@media screen and (max-width: 599px){
  #main .lead .catch::after{
    width:78.8vw;
    height:.4vw;
    margin:2.6666666667vw -4.2666666667vw 0
  }
}

#main .lead p{
  margin:.5rem 0 0;
  color:#fff;
  font-size:.2rem;
  line-height:1.8
}

@media screen and (max-width: 599px){
  #main .lead p{
    margin:6.2666666667vw 0 0;
    color:#fff;
    font-size:3.4666666667vw;
    line-height:1.5384615385
  }
}

#main .concept{
  margin:1.02rem 0 0;
  padding:.7rem .86rem .92rem;
  border:.02rem solid #cab267;
  background:#fff;
  box-shadow:0 0 0.248rem 0.152rem rgba(0,0,0,0.1)
}

@media screen and (max-width: 959px){
  #main .concept{
    margin:.92rem .1rem 0;
    padding:.8rem .28rem .78rem
  }
}

@media screen and (max-width: 599px){
  #main .concept{
    margin:12.2666666667vw 2.1333333333vw 0;
    border-width:.2666666667vw;
    padding:10.6666666667vw 5.0666666667vw 10.6666666667vw
  }
}

#main .concept .title{
  width:2.89rem;
  padding:.09rem 0 .12rem .34rem;
  position:relative
}

@media screen and (max-width: 599px){
  #main .concept .title{
    width:48.6666666667vw;
    padding:.8vw 0 .8vw 4.4vw
  }

}#main .concept .title::before{
  content:'';
  display:block;
  width:.04rem;
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  background:#cab267;
  background:-webkit-linear-gradient(top, #c5ac5e 0%, #efda98 50%, #c5ac5e 100%);
  background:linear-gradient(to bottom, #c5ac5e 0%, #efda98 50%, #c5ac5e 100%)
}

@media screen and (max-width: 599px){
  #main .concept .title::before{
    width:.5333333333vw
  }
}

#main .concept p{
  margin:.42rem 0 0
}

@media screen and (max-width: 599px){
  #main .concept p{
    margin:5.6vw 0 0
  }
}

#main .concept .movie{
  margin:.52rem 0 0;
  width:100%;
  position:relative;
  padding-top:56.25%
}

#main .concept .movie iframe{
  position:absolute;
  top:0;
  right:0;
  width:100% !important;
  height:100% !important
}

@media screen and (max-width: 599px){
  #main .concept .movie{
    margin:6.9333333333vw 0 0
  }
}

#main .diagram{
  margin:3rem 0 0
}

@media screen and (max-width: 959px){
  #main .diagram{
    margin:3.23rem 0 0
  }
}

@media screen and (max-width: 599px){
  #main .diagram{
    margin:33.0666666667vw 2.1333333333vw 0
  }
}

#main .diagram .title{
  width:2.98rem;
  padding:.09rem 0 .11rem .34rem;
  position:relative
}

@media screen and (max-width: 959px){
  #main .diagram .title{
    margin:0 .1rem
  }
}

@media screen and (max-width: 599px){
  #main .diagram .title{
    width:50.1333333333vw;
    margin:0;
    padding:.8vw 0 .8vw 4.4vw
  }
}

#main .diagram .title::before{
  content:'';
  display:block;
  width:.04rem;
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  background:#cab267;
  background:-webkit-linear-gradient(top, #c5ac5e 0%, #efda98 50%, #c5ac5e 100%);
  background:linear-gradient(to bottom, #c5ac5e 0%, #efda98 50%, #c5ac5e 100%)
}

@media screen and (max-width: 599px){
  #main .diagram .title::before{
    width:.5333333333vw
  }
}

#main .diagram .image{
  margin:.5rem 0 0;
  box-shadow:0px 0px 30px 0px rgba(0,0,0,0.35)
}

@media screen and (max-width: 959px){
  #main .diagram .image{
    margin:.5rem .1rem 0
  }
}

@media screen and (max-width: 599px){
  #main .diagram .image{
    margin:6.6666666667vw 0 0
  }
  
  #main .diagram .image div.sp{
    display:block
  }
  
  #main .diagram .image div.sp ~ img{
    display:none
  }
}

#main .map,#main .charges{
  margin:1rem 0 0
}

@media screen and (max-width: 959px){
  #main .map,#main .charges{
    margin:1rem 0 0
  }
}

@media screen and (max-width: 599px){
  #main .map,#main .charges{
    margin:8vw 2.1333333333vw 0
  }
}

#main .map .title,#main .charges .title{
  width:1.7rem;
  padding:.09rem 0 .12rem .34rem;
  position:relative
}

@media screen and (max-width: 959px){
  #main .map .title,#main .charges .title{
    margin:0 .1rem
  }
}

@media screen and (max-width: 599px){
  #main .map .title,#main .charges .title{
    width:28.2666666667vw;
    margin:0;
    padding:.8vw 0 .8vw 4.4vw
  }
}

#main .map .title::before,#main .charges .title::before{
  content:'';
  display:block;
  width:.04rem;
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  background:#cab267;
  background:-webkit-linear-gradient(top, #c5ac5e 0%, #efda98 50%, #c5ac5e 100%);
  background:linear-gradient(to bottom, #c5ac5e 0%, #efda98 50%, #c5ac5e 100%)
}

@media screen and (max-width: 599px){
  #main .map .title::before,#main .charges .title::before{
    width:.5333333333vw
  }
}

#main .map .image,#main .charges .image{
  margin:.5rem 0 0;
  box-shadow:0px 0px 30px 0px rgba(0,0,0,0.35)
}

@media screen and (max-width: 959px){
  #main .map .image,#main .charges .image{
    margin:.5rem .1rem 0
  }
}

@media screen and (max-width: 599px){
  #main .map .image,#main .charges .image{
    margin:6.6666666667vw 0 0
  }
  
  #main .map .image div.sp,#main .charges .image div.sp{
    display:block
  }
  
  #main .map .image div.sp ~ img,#main .charges .image div.sp ~ img{
    display:none
  }
}

#main .charges .title{
  width:2.2rem
}

@media screen and (max-width: 599px){
  #main .charges .title{
    width:36.6666666667vw
  }
}

#footer{
  margin:1.5rem 0 0;
  padding:.42rem 0 0;
  position:relative;
}

@media screen and (max-width: 959px){
  #footer{
    margin:1.5rem 0 0
  }
}

@media screen and (max-width: 599px){
  #footer{
    margin:21.3333333333vw 2.1333333333vw 0;
    padding:3.4666666667vw 0 0
  }
}

#footer .sns{
  line-height:1px
}

#footer .sns ul{
  display:flex
}

@media screen and (max-width: 959px){
  #footer .sns ul{
    margin:0 .1rem
  }
}

@media screen and (max-width: 599px){
  #footer .sns ul{
    margin:0
  }
}

#footer .sns ul li{
  width:.3rem;
  margin:0 .3rem 0 0
}

@media screen and (max-width: 599px){
  #footer .sns ul li{
    width:5.7333333333vw;
    margin:0 5.2vw 0 0
  }
}

#footer .ci{
  display:flex;
  margin:.3rem 0 0;
  border-top:1px solid #fff;
  padding:.3rem 0 .4rem;
  color:#fff;
  align-items:flex-start;
  justify-content:space-between
}

@media screen and (max-width: 959px){
  #footer .ci{
    margin:.3rem .1rem 0
  }
}

@media screen and (max-width: 599px){
  #footer .ci{
    display:block;
    margin:4vw 0 0;
    padding:4vw 0 5.3333333333vw;
    position:relative
  }
}

#footer .ci .link{
  font-size:.16rem;
  line-height:1
}

@media screen and (max-width: 599px){
  #footer .ci .link{
    font-size:3.2vw
  }
}

#footer .ci .link a:hover{
  text-decoration:underline
}

#footer .ci .copyright{
  display:flex;
  align-items:center
}

#footer .ci .copyright br{
  display:none
}

@media screen and (max-width: 375px){
  #footer .ci .copyright br{
    display:block
  }
}

@media screen and (max-width: 599px){
  #footer .ci .copyright{
    display:block;
    margin:5.3333333333vw 0 0;
    text-align:right
  }
}

#footer .ci .copyright .text{
  font-size:.1rem
}

@media screen and (max-width: 599px){
  #footer .ci .copyright .text{
    font-size:2.6666666667vw
  }
}

#footer .ci .copyright .logo{
  width:.72rem;
  margin:0 0 0 .12rem
}

@media screen and (max-width: 599px){
  #footer .ci .copyright .logo{
    width:15.6vw;
    position:absolute;
    top:4vw;
    right:0
  }
}

#footer .btPagetop{
  display:block;
  width:.7rem;
  height:.7rem;
  position:fixed;
  left:calc(50% + 4.42rem);
  bottom:.3rem;
  background:#890a18 url("../imgs/pagetop.png") 50% 50%/0.37rem auto no-repeat;
  transition:opacity .3s
}

@media screen and (max-width: 599px){
  #footer .btPagetop{
    width: 50px;
    height: 50px;
    right:0;
    left:auto;
    bottom:4vw;
    background-size:4.9333333333vw auto
  }
}

#footer .btPagetop.off{
  opacity:0;
  pointer-events:none
}

@media screen and (max-width: 959px){
  #footer .btPagetop{
    left:auto;
    right:calc(3.125% + .1rem)
  }
}

@media screen and (max-width: 599px){
  #footer .btPagetop{
    left:auto;
    right:0
  }
}
  
.bgBtm{
	width:100%;
	height:4280px;
	position:absolute;
	right:0;
	bottom:0;
	background:url("../imgs/bg02.jpg") 50% 0% no-repeat;
	background-size:cover
}
@media screen and (max-width: 1088px){
	.bgBtm{height:calc(100vw * 4300 / 1088);
		background-size:auto calc(100vw * 4300 / 1088)
	}
}
@media screen and (max-width: 959px){
	.bgBtm{height:calc(100vw * 4150 / 959);
		background-image:url("../imgs/bg02_tb.jpg");
		background-size:100% auto
	}
}
@media screen and (max-width: 860px){
	.bgBtm{
		height:calc(100vw * 4000 / 880);
		background-image:url("../imgs/bg02_tb.jpg");
		background-size:100% auto
	}
}
@media screen and (max-width: 767px){
	.bgBtm{
		height:calc(100vw * 3320 / 767);
		background-image:url("../imgs/bg02_sp.jpg");
		background-size:100% auto
	}
}
@media screen and (max-width: 599px){
	.bgBtm{height:calc(100vw * 3500 / 750);
		background-image:url("../imgs/bg02_sp.jpg")
	}
}
@media screen and (max-width: 500px){
	.bgBtm{height:calc(100vw * 2520 / 500);
		background-image:url("../imgs/bg02_sp.jpg")
	}
}
@media screen and (max-width: 480px){
	.bgBtm{
		height: calc(100vw * 2410 / 480);
		background-image:url("../imgs/bg02_sp.jpg")
	}
}
@media screen and (max-width: 460px){
	.bgBtm{
		height: calc(100vw * 2410 / 460);
		background-image:url("../imgs/bg02_sp.jpg")
	}
}
@media screen and (max-width: 420px){
	.bgBtm{
		height: calc(100vw * 2285 / 420);
		background-image:url("../imgs/bg02_sp.jpg")
	}
}
@media screen and (max-width: 380px){
	.bgBtm{
		height: calc(100vw * 2155 / 380);
		background-image:url("../imgs/bg02_sp.jpg")
	}
}
@media screen and (max-width: 350px){
	.bgBtm{
		height: calc(100vw * 2050 / 350);
		background-image:url("../imgs/bg02_sp.jpg")
	}
}
@media screen and (max-width: 335px){
	.bgBtm{
		height: calc(100vw * 2030 / 335);
		background-image:url("../imgs/bg02_sp.jpg")
	}
}

.bg01{
  overflow:hidden
}

.bg01::before{
  content:'';
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
  background:#fff;
  transition:transform .4s
}

.bg01.aos-animate::before{
  transform:translate3d(100%, 0, 0)
}

.loading{
  width:100%;
  height:100vh;
  position:absolute;
  top:0;
  left:0;
  z-index:9999;
  background:#fff;
  transition:opacity .5s
}

.loading::before{
  content:'loading...';
  color:#aaa;
  font-size:.1rem;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%)
}

.loading::after{
  content:'';
  content:block;
  box-sizing:border-box;
  width:1rem;
  height:1rem;
  border:.05rem solid #ccc;
  border-top-color:transparent;
  position:absolute;
  top:calc(50% - .5rem);
  left:calc(50% - .5rem);
  border-radius:50%;
  animation: circle 2s infinite linear
}

.loading.off{
  opacity:0
}

@keyframes circle {
  0%{
    transform:rotate(0)
  }
  
  100%{
    transform:rotate(360deg)
  }
}
/*# sourceMappingURL=common.css.map */