@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
html{
  overflow: auto;
  position: relative;
  min-height: 100%;
  margin-top:0;
  scroll-behavior: smooth;
}
body{
  overflow-x: hidden;
  position:relative;
  font-size: 10px;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
:root {
  --main-font-color: #000;
  --english-font: "futura-pt", sans-serif;
  --f-f-mincho:'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  --main-color:#c4a286;
}
/* width指定 */
#wrap{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  
}
div,p,a,ul,li{
  box-sizing: border-box;
}
a{
  color:#333333;
  text-decoration: none;
  display: block;
}
a:hover{
  opacity: 70%;
}
.over_width{
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}
.inner_width{
  width:100%;
  max-width: 1280px!important;
  margin: 0 auto;
}
/* text-align */
.ta_c{
  text-align: center;
}
.ta_l{
  text-align: left;
}
.ta_r{
  text-align: right;
}

/* ===============================
header
=============================== */
header{
  position:fixed;
  z-index: 10;
  top:0;
  left:0;
  width:100vw;
  margin:0 auto;
  background: url(../images/common/header_bg.jpg) top center no-repeat;
  background-size: contain;
  padding:0 2%;
  box-sizing: border-box;
}
header.active{
  background-size: cover;
}
/* スクロール、トップページ以外でロゴ、ナビ文字色変更 */
/* a.header_logo.logo_b,
li.mail_nav.mail_b{
  display:none!important;
} */
header.active a.header_logo.logo_b,
header.no_home a.header_logo.logo_b,
header.active li.mail_nav.mail_b,
header.no_home li.mail_nav.mail_b{
  display:block!important;
}
header.active a.header_logo.logo_w,
header.no_home a.header_logo.logo_w,
header.active li.mail_nav.mail_w,
header.no_home li.mail_nav.mail_w{
  display:none!important;
}
header.active .header_content ul.nav li a,
header.active .header_content ul.nav li dl,
header.no_home .header_content ul.nav li a,
header.no_home .header_content ul.nav li dl{
  color:#000;
  font-weight:400;
}
header.active .header_content ul.nav li:not(:first-child)::before,
header.no_home .header_content ul.nav li:not(:first-child)::before{
  background-color: #000;
}
/* header.active .header_content ul.nav li:last-child::before,
header.no_home .header_content ul.nav li:last-child::before{
  background-color: transparent;
} */
/* スクロール、トップページ以外でロゴ、ナビ文字色変更ここまで */
header.active,
header.no_home{
  background-color: rgba(251,251,251,0.5);
}
.header_content{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding:0 0 0 2vw;
  width:100%;
  height:100%;
  min-width:1280px;
}

.header_logo{
  width:200px;
}
header.active .header_logo{
  width:150px;
}
.header_logo img{
  width:100%;
}
.header_inner{
  width:90%;
  max-width: 880px;
  font-family: var(--english-font);
  height:100%;
}
.header_content ul.nav{
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin:0 0 0 auto;
  height:100%;
}
.header_content ul.nav li{
  flex: 1 0 auto;
  font-size:16px;
  text-align: center;
  font-weight:bold;
  display: block;
  position:relative
}
.header_content ul.nav li:first-child{
  padding-left:5px;
}
.header_content ul.nav li:not(:first-child)::before{
  content:"";
  position:absolute;
  width:1px;
  height:20px;
  top:5px;
  left:0;
  background-color: #000;
  
  /* border-left:1px solid #000; */
}


.header_content ul.nav li dl dd a{
  color:#000;
  text-align: center;
  padding:7px 0 5px;
}
.header_content ul.nav li.mail_nav{
  width:10%;
}
.header_content ul.nav li.mail_nav img{
  width:30%;
}
/* .header_content ul.nav li:last-child{
  width:20%;
} */
a.reserve_nav{
  height:88px;
  width:88px;
}
a.reserve_nav img{
  width:100%
}
.intro_triger{
  position:relative
}
.ac-parent:hover{
  opacity: 0.7;
  cursor: pointer;
}
.introduction{
  position:absolute;
  width:100%;
  background-color: rgba(255,255,255,0.3);
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight:normal;
  font-size:14px;
}
.introduction a{
  width:100%;
  border-left: none;
  border-bottom: 1px solid #fff;
  text-align: left;
  color:#fff;
}
/* common_info  */
.common_info h4 img{
  width:20%;
}
.common_info_content{
  width:65%;
  min-width:800px;
  max-width:850px;
  margin:50px auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.common_info_disc p span{
  font-size:18px;
  margin-right:10px;
}
.common_info_disc p{
  font-size:36px;
}
.common_info_disc a{
  background-color: #B96E93;
  color:#fff;
  width:100%;
  padding:7px 0;
  font-size:18px;
  text-align: center;
  margin:10px auto;
}
.common_info_disc p.address{
  font-size:16px;
}
.common_info_calendar{
  width:50%;
}
.common_info table{
  width:100%;
  border-collapse: collapse;
  font-size:16px;
  margin-bottom:7px;
  font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', Meiryo, sans-serif;
}
.common_info table th,
.common_info table td{
  border:1px solid #B96E93;
  text-align: center;
  padding:5px 0;
}
.common_info table th{
  font-weight:bold;
  background-color: rgba(255,181,218,0.6);
}
.common_info table tbody tr:first-child td{
  background-color: #fffbec;
}
.line_banner p{
  width:50%;
  margin:0 auto;
}
.line_banner p img{
  width:100%;
}
/* footer */
footer{
  height:250px;
  position:relative;
  border-top:1px solid rgba(0,0,0,0.2);
}
.scrollup{
  width:80px;
  position:absolute;
  top:-40px;
  transform: translateX(-50%);
  margin-left:50%;
}
.scrollup img{
  width:100%;
  transform: rotate(180deg);
}
.footer_nav{
  position:absolute;
  top:30px;
  right:13vw;
  font-family: var(--english-font);
}
ul.footer_nav li{
  font-size:14px;
  border-left:1px solid #000;
  padding-left:1rem;
  margin-bottom:10px;
}
.footer_logo{
  position:absolute;
  width:260px;
  top:30px;
  left:40px;
}
.footer_logo img{
  width:100%;
}
.copy{
  font-size:12px;
  position:absolute;
  transform: translateX(-50%);
  margin-left:50%;
  bottom:10px;
  color:#000;
}
.copy a{
  display: inline;
  color:#000;
}


