﻿/*=============================================
 * body
 *=============================================*/

 body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  color: #000000;
  background: url(../img/shared/bg.jpg);
  font-size: 15px;
  line-height: 1.92;
  letter-spacing: 0.04em;
  min-width: inherit;
  min-height: inherit;
  max-height: 100%;
  font-weight: 400;
  text-align: justify;
}
/*=============================================
 * fonts - DON'T EDIT
 *=============================================*/
.fnt-mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.fnt-meiryo {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴシックPro", "ＭＳ ゴシック", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.fnt-gothic {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.fnt-san{
  font-family: 'Noto Sans JP', sans-serif;
}
.fnt-serif{
  font-family: 'Noto Serif JP', serif;
}

/*=============================================
 * <main>
 *=============================================*/
main {
  clear: both;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.wrap{
  width: 100%;
  box-sizing: border-box;
  padding: 0 3%;
}
img{
  width: 100%;
  height: auto;
}


@media only screen and (min-width: 768px) {
body {
  font-size: 16px;
  line-height: 35px;
}
img{
  width: auto;
  height: auto;
}
.wrap{
  width: 100%;
  max-width: 1000px;
  padding: 0;
}


}

@media only screen and (max-width: 999px) {
.wrap{
  width: auto;
  padding: 0 5%;
  box-sizing: border-box;
}
img{
  max-width: 100%;
}
}

@media only screen and (max-width: 767px) {
  .wrap{
    padding: 0 3%;
  }
}
/*=============================================
 * header code
 *=============================================*/
header{
  position: relative;
}
.navOpen header{
  z-index: 9999;
}
header .nav-fixed,
header .nav-fixed.fixed{
  display: none;
  height: 0;
}

header .nav-fl{
  display: none;
}
.header_top_mb{
  display: block;
}

header p.logo a:hover img{
  opacity: 1!important;
}
header p.logo{
  position: absolute;
  bottom: 16vw;
  right: 3%;
  width: 28%;
  z-index: 1;
}
header h1 {
  width: 50%;
  position: absolute;
  right: 3%;
  bottom: 3vw;
  font-size: 9px;
  box-sizing: border-box;
  color: #fff;
  z-index: 1;
  text-align: right;
}



#ft_fixed{
  display: block;
  opacity: 0;
  visibility: hidden;
  display: block;
  transition: all .3s ease;
}




@media screen and (min-width: 768px){
.header_top_mb{
  display: none;
}
header{
  padding: 0 0;
  background: url(../img/shared/ft-bg.jpg);
}

header p.logo{
  position: absolute;
  top: 39px;
  bottom: inherit;
  left: inherit;
  right: 40px;
  width: auto;
}
header h1 {
  width: 400px;
  font-size: 12px;
  position: absolute;
  bottom: 54px;
  right: 23px;
  letter-spacing: 0;
  line-height: 20px;
  color: #fff7ed;
}
header .row .col{
  position: absolute;
  top: 0;
  left: 0;
  width: 320px;
  height: 100%;
  padding: 68px 25px 0;
  box-sizing: border-box;
  z-index: 2;
}
header .nav-fl {
  display: block;
}
header .col ul{
  box-sizing: border-box;
  padding-left: 27px;
}
header .col ul li {
  margin-bottom: 15px;
}
header .col ul li a{
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  font-size: 18px;
  letter-spacing: 0.05em;
  padding: 0 0 10px 18px;
  box-sizing: border-box;
  display: block;
  width: 100%;
}
header .col ul li a.active,
header .col ul li a:hover{
  background: url(../img/shared/nav-d1.png) no-repeat left bottom;
}
header .col p.tel{
  color: #fff;
  text-align: center;
  margin: 49px 0 0;
  white-space: nowrap;
}
header .col p.tel span.ttl{
  font-size: 19px;
  display: block;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 9px;
}
header .col p.tel span.cl1{
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  letter-spacing: 0.04em;
}
header .col p.tel span.cl1 i{
  display: block;
  line-height: 1;
  margin: -6px 6px 0 5px;
}
header .col p.btn a{
  display: block;
  background: #ca4b0d;
  color: #fff;
  font-size: 22px;
  letter-spacing: 0.05em;
  padding: 14px 0;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .3s ease;
  width: 100%;
  margin: 25px 0 19px;
}
header .col p.btn a i{
  display: block;
  line-height: 1;
  margin: 0 12px 0 0;
}
	header .col p.btn2 a{
  display: block;
  background: #06c755;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.05em;
  padding: 14px 0;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .3s ease;
  width: 100%;
  margin: 25px 0 19px;
}
header .col .btn-popup a{
  background: #fff;
  font-size: 16px;
  letter-spacing: 0.05em;
  padding: 11px 0 11px 15px;
  width: 377px;
  min-width: 377px;
  white-space: nowrap;
  display: block;
  transition: all .3s ease;
  position: relative;
}
header .col .btn-popup a:hover{
  opacity: .8;
}
header .col .btn-popup a::before{
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  background: url(../img/shared/btn-popup.png) no-repeat center center / 100% auto;
  width: 26px;
  height: 26px;
}

header .nav-fixed,
header .nav-fixed.fixed{
    height: 65px;
    line-height: 65px;
}
header .nav-fixed {
  background: url(../img/shared/bg.jpg);
  position: absolute;
  z-index: 99;
  left: 0;
  right: 0;
  top: -100px;
  opacity: 0;
  visibility: hidden;
  padding: 0;
  transition: all .3s ease;
  display: flex;
  justify-content: center;
  border-bottom: 1px solid #b3aea6;
}
header .nav-fixed.fixed {
  position: fixed;
  top: 0;
  opacity: 1;
  visibility: visible;
  transition: all .3s ease;
  display: block;
}
header .nav-fixed a:hover {
  text-decoration: none;
}
header .nav-fixed ul{
  display: flex;
  justify-content: center;
  position: relative;
}
header .nav-fixed ul::before{
  content: '';
  position: absolute;
  top: 16px;
  right: 14px;
  width: 1px;
  height: 56%;
  background: #b3aea6;
}
header .nav-fixed li{
  list-style-type: none;
  position: relative;
  padding: 0 15px;
  box-sizing: border-box;
}
header .nav-fixed li:first-child{
  padding-left: 0;
}
header .nav-fixed nav{
  display: flex;
  justify-content: center;
  align-items: center;
}
header .nav-fixed nav ul{
  width: 740px;
}
header .nav-fixed nav ul li a{
  font-size: 18px;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.05em;
  padding: 0 4px 10px;
  box-sizing: border-box;
  position: relative;
}
header .nav-fixed nav ul li a::before{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  opacity: 0;
  visibility: hidden;
}
header .nav-fixed nav ul li a::after{
  content: '';
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  opacity: 0;
  visibility: hidden;
}
header .nav-fixed nav ul li a.active::before,
header .nav-fixed nav ul li a.active::after,
header .nav-fixed nav ul li a:hover::after,
header .nav-fixed nav ul li a:hover::before{
  opacity: 1;
  visibility: visible;
}
header .nav-fixed p.tel{
  text-align: center;
  width: 237px;
  white-space: nowrap;
}
header .nav-fixed p.tel span.ttl{
  font-size: 19px;
  letter-spacing: 0.05em;
  line-height: 1;
  display: block;
}
header .nav-fixed p.tel span.cl1{
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  letter-spacing: 0.04em;
  line-height: 1;
}
header .nav-fixed p.tel span.cl1 i{
  display: block;
  line-height: 1;
  margin: -3px 5px 0 26px;
}
header .nav-fixed p.btn-fix{
  position: absolute;
  top: 110px;
  right: 0;
}

	@media screen and (min-width:1000px) {
	header .nav-fixed p.btn-fix2{
		width: 62px;
  position: absolute;
  top: 360px;
  right: 0;
}
	}








}
/*=============================================
 * hamburger code
 *=============================================*/
.hamburger1 {
  top: 0;
  right: 0;
  width: 55px;
  height: 55px;
}
header .menu_toggle .flbox{
  display: flex;
  justify-content: space-between;
}
header .menu_toggle ul{
  position: relative;
  width: 50%;
  padding-top: 4vw;
}
header .menu_toggle ul:first-child::before{
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background: #b3aea6;
}
header .menu_toggle ul li{
  padding: 0 4vw 3vw;
  border-bottom: 1px solid #b3aea6;
  box-sizing: border-box;
}
header .menu_toggle ul li a{
  display: block;
  text-align: center;
  font-size: 4.5vw;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.05em;
  position: relative;
  padding: 2vw 0;
}
header .menu_toggle ul li a::before{
  content: '';
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 100%;
  border-bottom: 1px solid #000;
  opacity: 0;
  visibility: hidden;
}
header .menu_toggle ul li a::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  border-bottom: 1px solid #000;
  opacity: 0;
  visibility: hidden;
}
header .menu_toggle ul li a.active::before,
header .menu_toggle ul li a.active::after{
  opacity: 1;
  visibility: visible;
}
header .menu_toggle ul:first-child li:last-child{
  border-bottom: 0;
}
header .menu_toggle .gr{
  background: url(../img/shared/ft-bg.jpg);
  color: #fff;
  padding: 6vw 8% 8vw;
  margin: 8vw 0;
  box-sizing: border-box;
}
header .menu_toggle p.tel{
  font-size: 5vw;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 400;
  margin-bottom: 4vw;
}
header .menu_toggle p.tel span.ttl{
  display: block;
  line-height: 1;
}
header .menu_toggle p.tel span.cl1{
  display: flex;
  justify-content: center;
  font-size: 8vw;
}
header .menu_toggle p.tel i{
  width: 6vw;
  margin: -1vw 2vw 0 0;
}
header .menu_toggle p.btn a{
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ca4b0d;
  width: 100%;
  padding: 3vw 0;
  font-size: 5vw;
  letter-spacing: 0.05em;
  font-weight: normal;
}
header .menu_toggle p.btn a span{
  display: block;
  line-height: 1;
}
header .menu_toggle p.btn i{
  width: 7vw;
  height: auto;
  line-height: 1;
  margin: 0 3vw 0 0;
}
header .menu_toggle p.btn-popup a{
  background: #fff;
  font-size: 3.9vw;
  white-space: nowrap;
  letter-spacing: 0.05em;
  display: block;
  padding: 4vw 4vw;
  font-weight: normal;
  position: relative;
  box-sizing: border-box;
}
header .menu_toggle p.btn-popup a::before{
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4vw;
  background: url(../img/shared/btn-popup.png) no-repeat center center / 100% auto;
  width: 6vw;
  height: 6vw;
}

#popup1 h3 {
  font-size: 6vw;
  color: #000;
  font-weight: 500;
  margin-bottom: 6vw;
  line-height: 1.7;
}
#popup1 p.txt{
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: 13px;
}
#popup1 p.txt2{
  margin: 7vw 0;
}
#popup1 ul li{
  font-size: 13px;
  letter-spacing: 0.05em;
  text-align: left;
}
#popup1 ul{
  padding: 0 0 0 3vw;
  box-sizing: border-box;
}
































@media screen and (min-width: 768px){
  .hamburger1 {
    width: 50px;
    height: 50px;
  }
}


/*=============================================
 * key
 *=============================================*/
#key{
  position: relative;
}
#key .slider-h,
#key .slider-h .slider{
  height: 75vw;
}
@media screen and (min-width: 768px){
#key .slider-h,
#key .slider-h .slider{
  height: 878px;
}
#key{
  width: calc(100% - 320px);
  margin-left: auto;
}


}
/*=============================================
 * <popup code>
 *=============================================*/

.remodal-close{
  background: url(../img/shared/btn-close.png) no-repeat center center / 100% auto;
  width: 9vw!important;
  height: 12vw!important;
  color: #000!important;
  top: inherit;
  bottom: 9vw;
  right: inherit;
  left: 50%;
  transform: translateX(-50%);
  transition: all .3s ease;
}
.remodal-close:hover{
  opacity: .8;
}
.remodal-close:before{
  display: none;
}
.remodal-wrapper {
  padding: 5% 0!important;
}

.remodal-overlay{
  background: transparent!important;
}
.remodal {
  width: 94%;
  padding: 0!important;
}
#popup1{
  padding: 11vw 3% 29vw;
}
.remodal-wrapper{
  background: rgba(0, 0, 0, .8);
}





@media screen and (min-width: 768px){
header p.btn-pop{
  transition: all .3s ease;
}
header p.btn-pop:hover{
  cursor: pointer;
  opacity: .8;
}
.remodal-close{
  width: 54px!important;
  height: 63px!important;
  bottom: 57px;
}
.remodal {
  padding: 0!important;
  max-width: 1100px!important;
  width: 100%;
}
.remodal-wrapper{
  padding: 86px 50px!important;
}
#popup1{
  padding: 100px 0 180px!important;
}
#popup1 h3 {
  font-size: 32px;
  color: #000;
  font-weight: 500;
    margin-bottom: 45px;
    line-height: 1;
}
#popup1 p.txt2 {
  margin: 40px 0;
}
#popup1 .menu-ul{
  width: 100%;
  max-width: 1000px;
  box-sizing: border-box;
  padding: 0 30px;
  display: flex;
  margin: 0 auto;
}
#popup1 ul{
  padding: 0;
}
#popup1 .menu-ul ul:nth-child(1){
  width: 307px;
}
#popup1 .menu-ul ul:nth-child(2){
  width: 270px;
}
#popup1 .menu-ul ul:nth-child(3){
  width: 359px;
}
#popup1 p.txt {
  font-weight: 500;
  letter-spacing: 0.1em;
  font-size: 16px;
}
#popup1 ul li {
  font-size: 16px;
  text-align: left;
  font-weight: 500;
  line-height: 30px;
  letter-spacing: 0.1em;
}




}
/*=============================================
 * footer code
 *=============================================*/
footer {
  padding: 0 0 28vw;
  background: url(../img/shared/ft-bg.jpg);
}
footer .row-1{
  background: url(../img/shared/ft-bg2.jpg);
  padding-bottom: 12vw;
}
footer .row-1 p.catch{
  z-index: 1;
  position: relative;
}
footer .row-1 p.img{
  width: 72%;
  margin: -12vw 0 6vw 0;
}
footer .row-1 dl{
  padding: 12px 0;
  line-height: 1.6;
  border-bottom: 1px solid #9b948a;
  font-size: 14px;
  letter-spacing: 0.05em;
  font-weight: 500;
  position: relative;
}
footer .row-1 dt{
  letter-spacing: 0;
}
footer .row-1 dd{
  letter-spacing: 0;
}
footer .row-1 dl:first-child{
  padding-top: 0;
}
footer .row-1 dd span.tel{
  font-size: 5vw;
}
footer .row-1 dd.tel small{
  font-size: 13px;
  letter-spacing: 0;
  display: block;
  line-height: 1;
}
footer .row-1 dd.btn{
  position: absolute;
  top: 15px;
  right: 0;
  width: 50%;
}
footer .row-1 dd.btn a{
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ca4b0d;
  padding: 3vw 0;
  color: #fff;

}
footer .row-1 dd.btn i{
  width: 5vw;
  margin-right: 2vw;
  display: block;
  line-height: 1;
}
footer .row-1 .fl1 .box-2{
  margin-top: 12px;
}
footer .row-1 .fl2{
  margin-top: 9vw;
}
footer .row-1 .fl2 .box-1{
  width: 90%;
  margin: 0 auto 9vw;
  padding: 6vw 0;
  background: url(../img/shared/ft-line.png) repeat-x center top / 1px auto,url(../img/shared/ft-line.png) repeat-x center bottom / 1px auto;
  text-align: center;
}
footer .row-1 .fl2 .box-1 h3{
  font-size: 5.5vw;
  letter-spacing: 0.05em;
  margin-bottom: 2vw;
}
footer .row-1 .fl2 .box-1 p.txt{
  white-space: nowrap;
}
footer .row-1 .fl2 .box-2{
  background: #fbf6ef;
  border: 5px solid #0b134b;
  padding: 6vw 3% 9vw;
  box-sizing: border-box;
}
footer .row-1 .fl2 .box-2 h3{
  text-align: center;
  color: #03127e;
  font-size: 6vw;
  margin-bottom: 4vw;
  padding-bottom: 2vw;
  background: url(../img/shared/ft-line2.png) no-repeat center bottom / 53% auto;
  font-weight: 500;
  letter-spacing: 0.05em;
}

footer .row-1 .fl2 .box-2 dl{
  display: flex;
  border: 0;
  font-weight: 500;
  padding: 0;
}
footer .row-1 .fl2 .box-2 dt{
  width: 35%;
  text-align: right;
  border-bottom: 2px solid #03127e;
  letter-spacing: 0;
  padding: 8px 2vw 8px 0;
  box-sizing: border-box;
  white-space: nowrap;
}
footer .row-1 .fl2 .box-2 dd{
  width: 65%;
  box-sizing: border-box;
  border-bottom: 1px solid #9b948a;
  letter-spacing: 0.05em;
  
  padding: 8px 0 8px 2vw;
}
footer .row-1 .fl2 .box-2 h3 + dl{
  padding-top: 0;
}
footer .row-2{
  background: url(../img/shared/bg.jpg);
  padding-bottom: 9vw;
}
footer .row-2 iframe{
  width: 100%;
  height: 480px;
}
footer .row-2 p.btn-link{
  display: block;
  height: 15vw;
  line-height: 15vw;
  background: #fff;
  color: #e44f06;
  letter-spacing: 0.05em;
  font-family: 'Noto Serif JP', serif;
  font-size: 5.5vw;
  text-align: center;
  position: relative;
  width: 100%;
  margin-bottom: 5vw;
}
footer .row-2 p.btn-link::before{
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 7%;
  background: url(../img/shared/ft-arr.png) no-repeat center center / 100% auto;
  width: 2vw;
  height: 4vw;
}
footer .row-2 p.btn-link a{
  display: block;
  width: 100%;
  height: 100%;
}
footer .row-2 p.btn2{
  display: none;
}
footer .row-2 .flbox{
  margin-top: 7vw;
}
footer p.btn.copied {
  pointer-events: none;
}
footer .row-3{
  color: #fff;
  padding: 6vw 0 0;
}
footer .row-3 ul{
  display: none;
}


footer address {
  font-size: 3.5vw;
  margin: 2vw 0 5vw!important;
}
footer .cookies_link {
  font-size: 3.5vw;
  margin: 0;
  text-align: center;
}
#socialbuttons {
  text-align: center;
  position: relative;
  margin-top: 0;
}
footer .cookies_link a{
  text-decoration: underline;
}
footer #btn-fix2{
  position: fixed;
  bottom: 34vw;
  right: 0;
  width: 12%;
	z-index: 999;
}
@media screen and (min-width: 768px){
footer {
  padding: 0 0 66px;
}
footer .row-1 {
  padding-bottom: 50px;
}
footer .row-1 p.catch {
  text-align: right;
  margin-right: -100px;
}
footer .row-1 p.img {
  width: 72%;
  margin: -51px 0 56px -50px;
}
footer .row-1 .fl1{
  justify-content: space-between;
}
footer .row-1 .fl1 .box{
  width: calc(50% - 25px);
}
footer .row-1 dl {
  padding: 12px 0;
  line-height: 25px;
  font-size: 16px;
}
footer .row-1 dd span.tel {
  font-size: 24px;
  display: block;
  line-height: 1;
  margin: 5px 0;
}
footer .row-1 dd.tel small {
  font-size: 14px;
  letter-spacing: 0.05em;
}
footer .row-1 dd.btn {
  position: absolute;
  top: 15px;
  width: 255px;
}
footer .row-1 dd.btn a {
  padding: 12px 0;
  transition: all .3s ease;
  font-size:20px;
}
footer .row-1 dd.btn i {
  width: auto;
  margin-right: 12px;
}
footer .row-1 .fl1 .box-2 {
  margin-top: 85px;
}
footer .row-1 .fl2 {
  margin-top: 67px;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}
footer .row-1 .fl2 .box-1 {
  width: 425px;
  min-width: 425px;
  margin: 20px 50px 0 0;
  padding: 63px 0 40px;
  background: url(../img/shared/ft-line.png) repeat-x center top,url(../img/shared/ft-line.png) repeat-x center bottom;
}
footer .row-1 .fl2 .box-1 h3 {
  font-size: 26px;
  margin-bottom: 19px;
}
footer .row-1 .fl2 .box-2 {
  border: 10px solid #0b134b;
  padding: 39px 45px 38px;
  width: 575px;
  min-width: 575px;
}
footer .row-1 .fl2 .box-2 h3 {
  font-size: 36px;
  margin-bottom: 23px;
  padding-bottom: 22px;
  background: url(../img/shared/ft-line2.png) no-repeat center bottom;
}
footer .row-1 .fl2 .box-2 h3 + dl dt{
  padding-top: 0;
}
footer .row-1 .fl2 .box-2 h3 + dl dd{
  padding-top: 0;
}
footer .row-1 .fl2 .box-2 dt {
  width: 26%;
  letter-spacing: 0.05em;
  padding: 20px 0 4px 0;
}
footer .row-1 .fl2 .box-2 dd {
    width: 74%;
    padding: 20px 0 4px 26px;
}
footer .row-2 {
  padding: 111px 0 60px;
  margin-top: -100px;
}
footer .row-2 #gmap{
  padding: 0 150px;
  box-sizing: border-box;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}
footer .row-2 iframe{
  width: 100%;
  height: 600px;
}
footer .row-2 .flbox {
  justify-content: center;
  margin: 27px 0 0;
}
footer .row-2 .flbox .box{
  width: 392px;
  margin: 0 30px;
}
footer .row-2 p.btn-link {
  height: 56px;
  line-height: 56px;
  font-size: 19px;
  margin-bottom: 0;
  transition: all .3s ease;
}

footer .row-2 p.btn-link:hover{
  opacity: .8;
}
footer .row-2 p.btn-link::before {
  right: 50px;
  width: 8px;
  height: 15px;
}
footer .row-2 p.btn2 {
  display: block;
  text-align: center;
  margin-top: 5px;
}
footer .row-2 p.btn2 a{
  font-size: 16px;
  letter-spacing: 0.05em;
}
footer .row-2 p.btn2 a:hover{
  opacity: 1;
  text-decoration: underline;
}
footer .row-3 {
  padding: 70px 0 0;
}
footer .row-3 ul {
  display: flex;
  justify-content: center;
  margin-bottom: 49px;
}
footer .row-3 ul li{
  margin: 0 20px;
}
footer .row-3 ul li a{
  font-family: 'Noto Serif JP', serif;
  font-size: 18px;
  letter-spacing: 0.05em;
  transition: all .3s ease;
}
footer .row-3 ul li a:hover{
  opacity: .8;
}
footer .row-3 .flbox{
  justify-content: space-between;
  align-items: self-end;
}



footer .cookies_link {
  font-size: 13px;
  margin: 0 0;
  letter-spacing: 0.12em;
  text-align: left;
  font-weight: normal;
  position: relative;
  z-index: 1;
}
footer .cookies_link a:hover{
  text-decoration: none;
  opacity: 1;
}
footer address {
  font-size: 13px;
  text-align: left;
  letter-spacing: 0.12em;
  margin: 1px 0 0 0!important;
  position: relative;
  z-index: 1;
}
#socialbuttons {
  margin: 0 0 18px;
  display: flex;
  justify-content: center;
}
#ft_fixed{
  display: none;
}




}
/*=============================================
 * pagetop code
 *=============================================*/
#pagetop {
  bottom: 14vw;
  right: 0;
  width: 12%;
}
.navOpen #pagetop {
  z-index: -1;
}

@media screen and (min-width: 768px){
#pagetop {
  bottom: 20px!important;
  right: 12px;
  width: auto;
}
}



/*=============================================
 * section code
 *=============================================*/
section >div, .row, .col, .box, .inner, .flbox{
  position: relative;
}
h2, h3, h4, h5{
  position: relative;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.05em;
}
.rm-dots .slick-dots{
  display: none!important;
}
.bg-parallax {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  background-attachment: fixed;
  width: 100%;
  height: 200px;
  min-height: 100px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.img_parallax {
  clip: rect(0, auto, auto, 0);
  margin-bottom: 0;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
.img_parallax img {
  width: 100%!important;
  height: 100vh!important;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  object-fit: cover;
  z-index: -1;
  transform: translateZ(0);
}
.txt-r{
  text-align: right;
}
.txt-c{
  text-align: center;
}
p.txt{
  padding: 0;
}
.slider-h .slick-arrow{
  display: none!important;
}
a:hover{
  text-decoration: none;
}

.pc{
  display: none!important;
}
.sp{
  display: block!important;
}

.flbox{
  display: block;
}
.nowrap{
  white-space: nowrap;
}

@media screen and (min-width: 768px){

.flbox{
  display: flex;
}
.pc{
  display: block!important;
}
.sp{
  display: none!important;
}
.btn a:hover{
  opacity: .8;
}
p.rss_img{
  transition: all .3s ease;
}
p.rss_img a{
  display: block;
  width: 100%;
  height: 100%;
}
p.rss_img span{
  width: 100%!important;
  height: 100%!important;
}
.rss_img:hover{
  opacity: .8;
}
#feed dd.title a:hover{
  text-decoration: underline;
  opacity: 1;
}
.txt-ver-pc {
	cursor: vertical-text;
	writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-moz-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	text-orientation: upright;
	word-wrap: break-word;
}

}


@media only screen and (min-width: 768px) and (max-width: 1200px) {
footer .row-1 p.catch {
  width: 80%;
  margin: 0 0 0 auto;
}
footer .row-1 p.catch img{
  width: 100%;
  height: auto;
}
footer .row-2 #gmap {
  padding: 0 80px;
}



}

/*mobile code*/
@media only screen and (min-device-width: 375px) and (max-device-width: 667px)  { 

}

/*ipad code*/
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
footer .row-1 .fl2 .box-1 {
  width: 418px;
  min-width: 418px;
  margin: 20px 33px 0 0;
}
}

/*IE code*/
@media all and (-ms-high-contrast:none) {
p.btn a img, header .nav-fl a img {
    transition: opacity 0s ease !important;
    -moz-transition: opacity 0s ease !important;
    -webkit-transition: opacity 0s ease !important;
}
.btn-over img,
.over-img img,
img.over,
img:not(.btn):not(.non-over),
button img {
  opacity: 1;
  transform: translateX(0) translateZ(0);
  -moz-transform: translateX(0) translateZ(0);
  -webkit-transform: translateX(0) translateZ(0);
  transition: none;
  -moz-transition: none;
  -webkit-transition: none;
}
body::after {
  content: '';
  height: 1px;
  bottom: 0;
  display: block;
  width: 100%;
  background: url(../img/shared/ft-bg.jpg);
  position: fixed;
}
.copy:hover{
  opacity: 1!important;
}
.img_parallax img {
  height: auto!important;
}


}