@charset "UTF-8";
body{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 16px;
  color: #946761;
  line-height: 1.7;
}

/* フォント */
.sans{
  font-family: 'Noto Sans JP', sans-serif;
}
.anton{
  font-family: 'Anton', sans-serif;
  letter-spacing: 1px;
}
.playfair{
  font-family: 'Playfair Display', serif;
}
.caveat{
  font-family: 'Caveat', cursive;
}
.mincho{
  font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HiraMinProN-W3, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.gothic{
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.black{
  color: #3c3c3c;
}
.white{
  color: #fff;
}
.brown{
  color: #946761;
}
.pink{
  color: #b80040;
}
.gold{
  color: #c7b568;
}
.green{
  color: #137471;
}
.bold{
  font-weight: bold;
}
.normal{
  font-weight: normal;
}
.fs10{ font-size:10px;}
.fs12{ font-size:12px;}
.fs13{ font-size:13px;}
.fs14{ font-size:14px;}
.fs15{ font-size:15px;}
.fs16{ font-size:16px;}
.fs17{ font-size:17px;}
.fs18{ font-size:18px;}
.fs19{ font-size:19px;}
.fs20{ font-size:20px;}
.fs21{ font-size:21px;}
.fs22{ font-size:22px;}
.fs23{ font-size:23px;}
.fs24{ font-size:24px;}
.fs25{ font-size:25px;}
.fs26{ font-size:26px;}
.fs27{ font-size:27px;}
.fs28{ font-size:28px;}
.fs29{ font-size:29px;}
.fs30{ font-size:30px;}
.fs31{ font-size:31px;}
.fs32{ font-size:32px;}
.fs33{ font-size:33px;}
.fs34{ font-size:34px;}
.fs35{ font-size:35px;}
.fs36{ font-size:36px;}
.fs37{ font-size:37px;}
.fs38{ font-size:38px;}
.fs39{ font-size:39px;}
.fs40{ font-size:40px;}
.fs42{ font-size:42px;}
.fs46{ font-size:46px;}
.fs48{ font-size:48px;}
.fs50{ font-size:50px;}
.fs60{ font-size:60px;}
.fs70{ font-size:70px; line-height: 1;}
.fs80{ font-size:80px; line-height: 1;}

h1{
  font-weight: normal;
}
h2{
  font-weight: normal;
}
h3{
  font-weight: normal;
}
h4{
  font-weight: normal;
}
h5{
  font-weight: normal;
}
h5{
  font-weight: normal;
}

/* style */
.bg_black{
  background: #000;
}
.bg_white{
  background: #fff;
}
.bg_brown{
  background: #946761;
}
.bg_pink{
  background: #b80040;
}
.bg_gold{
  background: #c7b568;
}
.bg_green{
  background: #137471;
}

.inner_1040{
  width: 94%;
  max-width: 1040px;
  margin: 0 auto;
}

.inner_1180{
  width: 98%;
  max-width: 1180px;
  margin: 0 auto;
}

.inner_1280{
  width: 98%;
  max-width: 1280px;
  margin: 0 auto;
}

.inner_2000{
  width: 100%;
  max-width: 2000px;
  margin: 0 auto;
}

.sp{
  display: none;
}
.inline-block{
  display: inline-block;
}
.flex{
  display: flex;
}
.flex_between{
  display: flex;
  justify-content: space-between;
}
.flex_center{
  display: flex;
  justify-content: center;
}
.flex_end{
  display: flex;
  justify-content: flex-end;
}

.flex_wrap{
  flex-wrap: wrap;
}
.ta_center{
  text-align: center;
}
.relative{
  position: relative;
}
.absolute{
  position: absolute;
}
.object-fit{
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover;'; /*IE対策*/
}
.ls1{
  letter-spacing: 1px;
}
.ls2{
  letter-spacing: 2px;
}
.ls3{
  letter-spacing: 3px;
}
.ls4{
  letter-spacing: 4px;
}
.ls5{
  letter-spacing: 5px;
}
.ls7{
  letter-spacing: 7px;
}
.op3{
  opacity: .3;
}
.tate{
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
 }
.clearfix::after{
  content: "";
  display: block;
  clear: both;
}
a{
  color: #000;
  text-decoration: none;
}
a:hover{
  transition: .3s;
  opacity: .6;
  cursor: pointer;
}
img{
  display: block;
  width: 100%;
}
ul,
ol{
  list-style: none;
  margin: 0;
  padding: 0;
}
.btn{
  display: block;
  width: 100%;
  max-width: 330px;
  position: relative;
}
.btn p,
.btn a{
  display: block;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border: 1px solid #fff;
  color: #fff;
  background: #946761;
  position: relative;
  z-index: 1;
}
.btn:after{
  content: "";
  display: block;
  width: 100%;
  height: 40px;
  border: 1px solid #fff;
  background: #946761;
  position: absolute;
  top: 5px;
  left: 5px;
}
.btn span{
  padding-left: 10px;
}
.btn span:after{
  content: "";
  width: 7px;
  height: 9.5px;
  background: url(../images/common/btn_arrow.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center;
  display: inline-block;
  margin-left: 10px;
}
.btn:hover p,
.btn:hover a{
  background: #b80040;
  transition: .3s;
  opacity: 1
}
.btn:hover:after,
.btn:hover:after{
  display: none;
  transition: .3s;
}

.pagelink li:hover,
.pagelink .li:hover{
  cursor: pointer;
}
/* animation */
.fadein {
	opacity : 0;
	transform : translate(0px, 100px);
	transition : all 900ms;
	}
.fadein.scrollin {
	opacity : 1;
	transform : translate(0px, 0px);
	}

.fadein:nth-of-type(2) {
	-moz-transition-delay:200ms;
	-webkit-transition-delay:200ms;
	-o-transition-delay:200ms;
	-ms-transition-delay:200ms;
	}
.fadein:nth-of-type(3) {
	-moz-transition-delay:400ms;
	-webkit-transition-delay:400ms;
	-o-transition-delay:400ms;
	-ms-transition-delay:400ms;
	}
.fadein:nth-of-type(4) {
	-moz-transition-delay:600ms;
	-webkit-transition-delay:600ms;
	-o-transition-delay:600ms;
	-ms-transition-delay:600ms;
	}
.fadein:nth-of-type(5) {
	-moz-transition-delay:800ms;
	-webkit-transition-delay:800ms;
	-o-transition-delay:800ms;
	-ms-transition-delay:800ms;
	}
.fadein:nth-of-type(5) {
	-moz-transition-delay:1000ms;
	-webkit-transition-delay:1000ms;
	-o-transition-delay:1000ms;
	-ms-transition-delay:1000ms;
	}

.fadein:nth-of-type(6) {
	-moz-transition-delay:1200ms;
	-webkit-transition-delay:1200ms;
	-o-transition-delay:1200ms;
	-ms-transition-delay:1200ms;
	}
.fadein:nth-of-type(7) {
	-moz-transition-delay:1400ms;
	-webkit-transition-delay:1400ms;
	-o-transition-delay:1400ms;
	-ms-transition-delay:1400ms;
	}
.fadein:nth-of-type(8) {
	-moz-transition-delay:1600ms;
	-webkit-transition-delay:1600ms;
	-o-transition-delay:1600ms;
	-ms-transition-delay:1600ms;
	}
.fadein:nth-of-type(9) {
	-moz-transition-delay:1800ms;
	-webkit-transition-delay:1800ms;
	-o-transition-delay:1800ms;
	-ms-transition-delay:1800ms;
	}
.fadein:nth-of-type(10) {
	-moz-transition-delay:2000ms;
	-webkit-transition-delay:2000ms;
	-o-transition-delay:2000ms;
	-ms-transition-delay:2000ms;
	}

  /* メニュー(スライダー右上)  */
  .rightopmenu{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  .rightopmenu .mbtn_menu2{
    background: #b80040;
    width: 70px;
    height: 70px;
    margin: 15px 15px 0 auto;
    position: relative;
    z-index: 101;
    padding-top: 5px;
  }
  .rightopmenu .mbtn_menu2:hover{
    cursor: pointer;
  }
  .rightopmenu .humburger_icon{
    position: relative;
    width: 46px;
    height: 20px;
    margin: 3px auto 0;
  }
  .rightopmenu .humburger_icon span{
    display: inline-block;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    border-radius: 1px;
  }
  .rightopmenu .humburger_icon span:nth-of-type(2) {
    top: 9px;
  }
  .rightopmenu .humburger_icon span:nth-of-type(3) {
    bottom: 0;
  }
  .rightopmenu.active .humburger_icon{
    width: 24px;
    height: 24px;
    margin: 0 auto;
  }
  .rightopmenu.active .humburger_icon span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    -ms-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
  }
  .rightopmenu.active .humburger_icon span:nth-of-type(2) {
    opacity: 0;
  }
  .rightopmenu.active .humburger_icon span:nth-of-type(3) {
    -webkit-transform: translateY(-12px) rotate(45deg);
    -ms-transform: translateY(-12px) rotate(45deg);
    transform: translateY(-12px) rotate(45deg);
  }
  .rightopmenu .nav{
    background: rgba(255,255,255,1);
    position: absolute;
    right: 0;
    top: 0;
    padding: 70px 15px 30px 15px;
    display: none;
    z-index: 100;
    height: auto;
    max-height: 745px;
    overflow-y: scroll;
  }
  .rightopmenu .nav ul li:not(.nav_news):not(.sns),
  .rightopmenu .nav ul li.nav_news a{
    display: flex;
    align-items: center;
    padding-left: 40px;
    border-bottom: 1px solid #c9b3b0;
    height: 70px;
    background: url(../images/common/arrow_brown.svg) no-repeat;
    background-size: 8.5px auto;
    background-position: left 10px center;
  }
  .rightopmenu .nav ul li:hover{
    cursor: pointer;
    opacity: .6;
    background-position: left 15px center;
  }
  .rightopmenu .nav ul .en{
    color: #b80040;
    margin-right: .5em;
  }
  .rightopmenu .nav ul .ja{
    font-weight: normal;
    line-height: 1.2;
  }

  .rightopmenu .nav ul .sns{
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: none;
    background: none;
    height: auto;
    padding: 20px 0;
  }
  .rightopmenu .nav .sns .icon{
    display: inline-block;
    width: 35px;
    height: auto;
    margin: 0 20px;
  }

/* header */
.header{
  display: none;

  width: 100%;
  height: 55px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 10;
  background: #fff;
  padding-top: 5px;
}
.header.fixed{
  position: fixed;
}
.header .inner{
  width: 99%;
}
.header .header_nav ul{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header .header_nav ul li:not(.snss){
  border-right: 1px solid #946761;
  padding-right: 1%;
}
.header .header_nav .snss img{
  display: inline-block;
  width: 35px;
  height: auto;
}


/* footer */
.footer{
  padding-bottom: 300px;
}
.footer .links{
  display: flex;
  justify-content: center;
  padding: 35px 0 30px;
}
.footer .links .fb,
.footer .links .insta{
  width: 32px;
  height: auto;
}
.footer .links .tw{
  width: 35.5px;
  margin: 0 30px;
}
.footer .copy{
  display: block;
  padding-top: 15px;
}

.page_top{
  position: fixed;
  right: 1.5%;
  bottom: 1.5%;
  display: none;
  padding: 20px;
  z-index: 99;
}
.page_top .inner{
  display: flex;
  align-items: flex-end;
}
.page_top .link_tel{
  line-height: 1;
  margin: 0 15px;
}
.page_top .link_top{
  width: 42px;
  height: auto;
}



@media screen and (max-width: 1000px){
  .header .header_nav ul li:not(.snss) {
    padding-right: .5%;
  }
}
@media screen and (max-width: 1000px){
  .header{
    padding-top: 10px;
  }
  .header .header_nav ul{
    font-size: 15px;
  }
  .header .header_nav .snss img {
    width: 25px;
  }
}
@media screen and (max-width: 850px){
  .header .header_nav ul li:not(.snss) {
    padding-right: 0;
  }
  .header .header_nav .snss img {
    width: 20px;
  }
}
@media screen and (max-width: 768px){
  html, body{
    height: 100%;
    -webkit-overflow-scrolling: touch
  }
  .fs12,.fs13{ font-size: 16px;}
  .fs14{ font-size: 18px;}
  .fs15{ font-size: 19px;}
  body,
  .fs16{ font-size:20px;}
  .fs17{ font-size:21px;}
  .fs18{ font-size:22px;}
  .fs19{ font-size:23px;}
  .fs20{ font-size:24px;}
  .fs21{ font-size:25px;}
  .fs22{ font-size:26px;}

  .fs40{ font-size:35px;}
  .fs50{ font-size:40px;}
  .fs70{ font-size:60px;}
  .fs80{ font-size: 60px;}

  .inner_1040,
  .inner_1180,
  .inner_1280{
    /* width: 100%; */
  }
  .flex,
  .flex_between,
  .flex_center{
    display: block;
  }
  .sp{
    display: block;
  }
  .pc{
    display: none;
  }
  .block_768{
    display: block;
  }
  .fadein {
  	opacity : 0;
  	transform : translate(0px, 40px);
  	transition : all 400ms;
  	}
  .fadein.scrollin {
  	opacity : 1;
  	transform : translate(0px, 0px);
	}

  .btn{
    width: 90%;
    max-width: none;
  }

  /* header */
  .header{
    display: none;
    background: none;

  }
  /* スマホメニュー rightopメニューをそのままspメニューに。*/
  .rightopmenu{
    width: 100%;
    height: 80px;
    z-index: 10;
  }
  .rightopmenu .spmenu_tel{
    opacity: 0;
    background: #fff;
    z-index: 10;
  }
  .rightopmenu.fixed{
    position: fixed;
    /* background: #fff; */
    width: 100%;
    height: 80px;
    z-index: 10;
  }
  .rightopmenu.fixed .spmenu_tel{
    opacity: 1;
    transition: .3s;
  }
  .rightopmenu .mbtn_menu2{
    position: fixed;
    right: 5px;
    top: 5px;
    margin: 0;
  }
  #btnMenu2 p{
    font-size: 18px !important;
  }
  .rightopmenu .spmenu_tel{
    position: fixed;
    width: 70px;
    height: 70px;
    right: 80px;
    top: 5px;
    border: 1px solid #b80040;
    text-align: center;
  }
  .rightopmenu .spmenu_tel img{
    display: inline-block;
    width: 26.5px;
    height: auto;
    padding-top: 17px;
  }
  .rightopmenu .nav{
    position: fixed;
    height: 100%;
  }


  /* footer */
  .footer {
    padding-bottom: 200px;
  }
  .footer .copy{
    text-align: center;
  }
  .page_top{
    background: none;
    padding: 0;
  }
  .page_top .link_top {
    width: 70px;
  }

}
@media screen and (max-width: 500px){
  /* .fs12,.fs13{ font-size: 15px;}
  .fs14{ font-size: 16px;}
  .fs15{ font-size: 17px;}
  body,
  .fs16{ font-size:18px;}
  .fs17{ font-size:19px;}
  .fs18{ font-size:20px;}
  .fs19{ font-size:21px;}
  .fs20{ font-size:22px;}
  .fs21{ font-size:23px;}
  .fs22{ font-size:24px;} */

  .fs30,
  .fs40{ font-size: 26px;}
  .fs60,
  .fs70{ font-size: 50px;}

  .none_500{
    display: none;
  }
  .block_500{
    display: block;
  }
  .header{
    height: 80px;
  }
  .header .btns {
    width: 48%;
  }
  .header .btns .tel,
  .header .btns .mbtn_menu,
  .spmenu_close{
    width: 70px;
    height: 70px;
    margin-left: 5px;
  }
  .header .btns img,
  .spmenu_close img{
    width: 36px;
    margin: 8px auto -2px;
  }
  .header .btns p,
  .spmenu_close p{
    font-size: 16px;
  }
  .spmenu .nav a {
    padding: 15px 10px;
  }
}
