@charset "UTF-8";
body{
  width: 100%;
  margin: 0 auto;
  background-color:#ffffff;
}
body,button{
  font-family: adobe-garamond-pro, serif;
}
p,button{
  font-family: ryo-text-plusn,serif;
}
html, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, em, img, strong, dl, dt, dd, ol, ul, li, fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}
.L .white-space{
  display: block;
  height: 210px;
}
.S .white-space{
  display: block;
  height: 150px;
}
.sa {
  opacity: 0;
  transition: all .9s ease;
}
 
.-opened {
  opacity: 1;
  transform: none;
}

h1,h2,h3,h4,h5,p,li{
  line-height: 1.4em;
}
/*
p,li{
  font-size: 0.9em;
}
*/
a {
  text-decoration: none;
  color:#000000;
}

.L a:hover {
  text-decoration: underline;
  transition: opacity .6s ease-out 0s;
  opacity: .4;
  cursor: pointer;
}
a img {
-moz-transition-duration:0.2s;
-webkit-transition-duration:0.2s;
-o-transition-duration:0.2s;
-ms-transition-duration:0.2s;
}
.L a img:hover {
	-moz-transform: scale(1.05, 1.05);
  -webkit-transform: scale(1.05, 1.05);
  -o-transform: scale(1.05, 1.05);
  -ms-transform: scale(1.05, 1.05);
  -moz-transition-duration:0.3s;
  -webkit-transition-duration:0.3s;
  -o-transition-duration:0.3s;
  -ms-transition-duration:0.3s;
  -moz-transition-timing-function:ease-in-out;
  -webkit-transition-timing-function:ease-in-out;
  -o-transition-timing-function:ease-in-out;
  -ms-transition-timing-function:ease-in-out;
}
p a{
  text-decoration: underline;
}

.L p a:hover,
.L li a:hover,
.L button:hover{
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all  0.5s ease;
}

a.arrow_b{
  background: url(/wp-content/uploads/2022/10/ico_arrow_right.png)top left no-repeat;
  background-size: 14px 23px;
}

.L a.arrow_b_s:hover,
.L a:hover span.title.arrow_b_s{
  background: url(/wp-content/uploads/2022/10/ico_arrow_right_s.png) no-repeat;
  background-size: 8px 12px;
  background-position: top 5px left;
}

.btn-a{
  text-align: center;
  background-color: #FFFFFF;
  padding: 0;
  border: none;
  display: block;
}
.btn-a a{
  border:0.5px solid #000000;
  display: block;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  -o-transition: all 0.6s ease;
  transition: all  0.6s ease;
  letter-spacing: 1.15px;
}
.L .btn-a a{
  padding: 9px 57px;
}
.S .btn-a a{
  padding: 8px 44px;
}
.L .btn-a a:hover{
  text-decoration: none;
  background-color: #707070;
  color: #FFF;
  opacity: 1;
  border-color: #707070;
}
.center{
  text-align: center;
}
.left{
  text-align: left;
}
.right{
  text-align: right;
}




.H1 {
  margin: 0 -.04em 0 0;
  font-weight: 400;
  letter-spacing: .04em
}

.L .H1 {
  font-size: 44px;
  line-height: 52px;
  padding: 0
}

.L .H1 span {
  display: block;
  position: relative;
  padding: 3px 0 2px
}

.L .H1 span+span {
  margin-top: -2px
}

.S .H1 {
  font-size: 36px;
  line-height: 1.4em;
  padding: 27px 0
}

.S .H1 span {
  display: block;
  position: relative;
  padding: 7px 0
}
.S.en .H1 span {
  font-size: 24px;
}

.S .H1 span+span {
  margin-top: -4px
}

.TxBlock {
  display: block;
  position: relative;
  margin-top: -8px;
  padding-bottom: 8px
}

.Tx {
  display: block;
  position: relative;
  font-size: 14px;
  line-height: 30px;
  letter-spacing: .04em;
  margin: 0 -.04em 0 0;
  padding: 0
}

.Tx.-break {
  padding-bottom: 30px
}

.Tx span {
  display: inline-block;
  position: relative
}

/*section controll*/
.L .no-display--pc{
  display: none !important;
}
.S .no-display--sp{
  display: none !important;
}

/* header */

/*Reserve*/
.Header_Reserve {
  position: absolute;
}
.en .Header_Reserve {
  line-height: 1.8em;
}
.L .Header_Reserve {
  right: 90px;
  top: 15px;
}
.S .Header_Reserve {
  right: 60px;
  top: 10px;
}
.S.en .Header_Reserve {
  right: 55px;
  top: 10px;
}
.L .Header_nav .Reserve_link{
  margin-top: 44px;
}
.S .Header_nav .Reserve_link{
  margin-top: 40px;
}
.Reserve_link a{
  color: #000000;
  border: solid 0.5px #000000;
  cursor: pointer;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  -o-transition: all 0.6s ease;
  transition: all  0.6s ease;
  animation-name:fadeInAnime;
  animation-duration:3s;
  animation-fill-mode:forwards;
  opacity:0;
}
.L .Reserve_link a:hover{
  text-decoration: none;
  background-color: #707070;
  color: #FFF;
  opacity: 1;
  border-color: #707070;
}

.Reserve_link a{
  padding: 6px 25px 4px 25px;
}

.en .Reserve_link a{
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
  .Reserve_link a{
    padding: 3px 16px 1px 16px;
  }
  .Header_nav .Reserve_link a{
    padding: 8px 35px 5px 35px;
  }
  .en .Header_Reserve.Reserve_link a{
    padding: 3px 8px 1px 8px;
    font-size: 0.9em;
  }
  .Footer .Reserve_link a{
    padding: 8px 36px 6px 36px;
  }
}
.Header {
  display: block;
  position: fixed;
  top: 0px;
  right: 0px;
  bottom: auto;
  left: 0px;
  width: 100%;
  height: 0px;
  z-index: 1024
}

.Header_bar {
  display: block;
  position: relative;
  width: 100%;
  z-index: 1;
  background-color: #ffffff26;
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
  --webkit-backdrop-filter: blur(30px);
  transform: translateY(-57px)
}

.L .Header_bar {
  height: 57px
}

.S .Header_bar {
  height: 45px
}

.Header_bar.-show {
  transition: transform .6s ease-out 0s;
  transform: translateY(0)
}

.Header_bar.-hidden {
  transition: transform .3s ease-out .2s;
  transform: translateY(-57px)
}

.Header_vi {
  display: block;
  position: absolute;
  z-index: 2;
  animation-name:fadeInAnime;
  animation-duration:2s;
  animation-fill-mode:forwards;
  opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.Header_vi {
  left: 30px;
  top: 18px
}
.Header_vi>svg {
  width: 226.39px;
  height: 17.75px
}
@media screen and (max-width: 1024px) {
  .Header_vi {
    left: 17px;
    top: 14px
  }
  
  .Header_vi>svg {
    width: 168.55px;
    height: 13.22px
  }
}

.Header_menuBtn {
  display: flex;
  position: absolute;
  z-index: 2;
  padding: 10px;
  margin: -10px;
  cursor: pointer;
  animation-name:fadeInAnime;
  animation-duration:3s;
  animation-fill-mode:forwards;
  opacity:0;
}

.L .Header_menuBtn {
  right: 23px;
  top: 19px
}

.S .Header_menuBtn {
  right: 17px;
  top: 15px
}

.MenuBtn {
  width: 22.98px;
  height: 17.94px;
  align-items: center;
  justify-content: center
}

.MenuBtn_icon {
  display: block;
  position: absolute
}

.MenuBtn.-fade.-opened .MenuBtn_icon.-opened {
  transition: opacity .6s linear .6s;
  opacity: 1
}

.MenuBtn.-fade.-opened .MenuBtn_icon.-closed, .MenuBtn.-fade.-closed .MenuBtn_icon.-opened {
  transition: opacity .6s linear 0s;
  opacity: 0
}

.MenuBtn.-fade.-closed .MenuBtn_icon.-closed {
  transition: opacity .6s linear .6s;
  opacity: 1
}

.MenuBtn2 {
  display: block;
  position: relative;
  width: 22.987px;
  height: 17.942px
}

.MenuBtn2_bar {
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  transform-origin: 0 0;
  fill: #000
}

.MenuBtn2.-closed .MenuBtn2_bar.-b1 {
  transition: transform .4s cubic-bezier(1, .59, .77, 1.33) 0s;
  transform: translate(0) rotate(0)
}

.MenuBtn2.-opened .MenuBtn2_bar.-b1 {
  transition: transform .4s cubic-bezier(1, .59, .77, 1.33) 0s;
  transform: translate(4.265px, .422px) rotate(45deg)
}

.MenuBtn2_bar.-b2 {
  transform: translateY(8.08px)
}

.MenuBtn2.-closed .MenuBtn2_bar.-b2 {
  transition: opacity .2s ease-in .2s;
  opacity: 1
}

.MenuBtn2.-opened .MenuBtn2_bar.-b2 {
  transition: opacity .4s ease-out 0s;
  opacity: 0
}

.MenuBtn2_bar.-b3 {
  transform-origin: 0 0
}

.MenuBtn2.-closed .MenuBtn2_bar.-b3 {
  transition: transform .4s cubic-bezier(1, .59, .77, 1.33) 0s;
  transform: translateY(16.152px) rotate(0)
}

.MenuBtn2.-opened .MenuBtn2_bar.-b3 {
  transition: transform .4s cubic-bezier(1, .59, .77, 1.33) 0s;
  transform: translate(3.001px, 16.678px) rotate(-45deg)
}


.Header_menu {
  display: block;
  position: absolute;
  width: 100%;
  top: 0px;
  z-index: 1;
  overflow: hidden;
  background-color: #fff;
  z-index: 0;
  transform-origin: 0 0;
  height: 100vh;
  height: 100vdh;
  will-change: transform;
  transform: scaleY(0)
}

.Header_menu.-opened {
  transition: transform .6s linear 0s;
  transform: scale(1);
  pointer-events: auto
}

.Header_menu.-closed {
  transition: transform .4s linear .3s;
  transform: scaleY(0);
  pointer-events: none
}

.Header_content {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1
}

.Header_nav.-opened {
  transition: opacity .6s ease-in .6s;
  opacity: 1
}

.Header_nav.-closed {
  transition: opacity .3s ease-in 0s;
  opacity: 0
}

.Header_picture.-opened {
  transition: opacity .9s ease-in 1.5s;
  opacity: 1
}

.Header_picture.-closed {
  transition: opacity .3s ease-in 0s;
  opacity: 0
}

.Header_wave.-opened {
  transition: opacity .9s linear 1.8s;
  opacity: 1
}

.Header_wave.-closed {
  transition: opacity .3s ease-in 0s;
  opacity: 0
}

.Header_sns.-opened {
  transition: opacity .6s linear .9s;
  opacity: 1
}

.Header_sns.-closed {
  transition: opacity .3s ease-in 0s;
  opacity: 0
}

.L .Header_nav {
  display: block;
  position: absolute;
  right: 0px;
  top: 0px;
  padding-top: 111px;
  z-index: 3
}

.L .Header_sns {
  display: block;
  position: absolute;
  right: 0px;
  bottom: 180px;
  padding-bottom: 5px;
  z-index: 3
}

.S .Header_nav {
  display: block;
  position: relative;
  padding-top: 80px;
  padding-left: 32px
}

.S .Header_sns {
  display: block;
  /*position: absolute;*/
  margin-top: 43px;
  padding-left: 32px;
  bottom: 40.929535232383806vh;
  padding-bottom: 34px;
  z-index: 3
}

.Header_picture {
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0px;
  z-index: 1
}

.L .Header_picture {
  width: 77.77777777777779vh;
  max-width: 43.75vw
}

.S .Header_picture {
  width: 40.929535232383806vh;
  max-width: 72.8vw;
  bottom: -6px;
}

.Header_wave {
  display: block;
  position: absolute;
  bottom: 0px;
  right: 0px;
  z-index: 2
}

.L .Header_wave {
  width: 64.58333333333334vw
}

.S .Header_wave {
  width: 85.06666666666666vw
}

.Picture1 {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 100%
}
.S .Picture1 {
  padding-top: 94%
}

.Picture1_image {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  background-size: cover;
  background-repeat: no-repeat
}

.Nav {
  display: block;
  position: relative;
  padding-top: 0;
  width: 240px
}

.Nav_list {
  display: block;
  position: relative;
  margin-top: -7px;
  margin-bottom: -7px;
  padding-left: 0
}

.Nav_item {
  display: block;
  position: relative;
  list-style: none
}

.Nav_item+.Nav_item {
  padding-top: 14px
}
.S .Nav_item+.Nav_item {
  padding-top: 10px
}

.Nav_link {
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding: 5px;
  margin: -5px;
  font-size: 0px;
  text-decoration: none;
  color: #000;
  transition: opacity .3s ease-in 0s;
  opacity: 1
}

.L .Nav_link a:hover, .Nav_link a:active {
  transition: opacity .6s ease-out 0s;
  opacity: .4
}

.Nav_label {
  display: block;
  position: relative;
  font-weight: 400;
  font-family: adobe-garamond-pro, serif;
  font-size: 16px;
  line-height: 16px;
  letter-spacing: .06em;
  margin-right: -.06em
}
.Nav_label a:hover{
  text-decoration: none;
}

.Ptn1 {
  display: block;
  position: relative;
  white-space: nowrap;
  opacity: .35;
  fill: #d4d5d5
}

.Ptn1_row {
  display: inline-block;
  position: relative
}

.Ptn1_cell {
  display: block;
  position: relative
}

.L .Ptn1_cell {
  width: 24.76px;
  height: 15.2px
}

.S .Ptn1_cell {
  width: 14.1px;
  height: 10.28px
}

.L .Ptn1_cell+.Ptn1_cell {
  padding-top: 8.39px
}

.S .Ptn1_cell+.Ptn1_cell {
  padding-top: 5.7px
}

.Ptn1_cell svg {
  display: block;
  position: absolute;
  bottom: 0px
}

.S .Ptn1_cell svg {
  width: 24.17px;
  height: 10.28px
}

.P1Cell_slash, .P1Cell_arch, .Ptn1_glyph {
  display: block
}

.Ptn1_logo {
  display: block;
  position: absolute;
  width: auto
}

.L .Ptn1_logo {
  left: 87.06px;
  top: 70.08999999999999px
}

.S .Ptn1_logo {
  left: 46.8px;
  top: 47.4px;
  width: 69px;
  height: 11.59px
}

.Ptn1_row:nth-of-type(3) .Ptn1_cell:nth-of-type(4) .P1Cell_arch {
  visibility: hidden
}

.Ptn1_row:nth-of-type(4) .Ptn1_cell:nth-of-type(4) .P1Cell_arch, .Ptn1_row:nth-of-type(4) .Ptn1_cell:nth-of-type(4) .P1Cell_slash {
  visibility: hidden
}

.Ptn1_row:nth-of-type(5) .Ptn1_cell:nth-of-type(4) .P1Cell_arch {
  visibility: hidden
}

.Ptn1_row:nth-of-type(6) .Ptn1_cell:nth-of-type(4) .P1Cell_arch, .Ptn1_row:nth-of-type(6) .Ptn1_cell:nth-of-type(4) .P1Cell_slash {
  visibility: hidden
}

.Langage_link span{
  display: block;
  font-size: 12px;
  padding-bottom: 8px;
}
.L .Langage_link{
  margin-top: 30px;
}
.S .Langage_link{
  margin-top: 20px;
}
.L .Langage_link:hover{
  opacity: 1;
}
.L a.Langage_link_button:hover{
  text-decoration: none;
  transition: opacity .6s ease-out 0s;
  opacity: .4;
}

.Main {
  display: block;
  position: relative;
  padding-top: 0;
  margin: 0 auto;
  /*
  font-size: 0px;
  letter-spacing: 0em
  */
}

.View {
  display: block;
  position: relative;
  box-sizing: border-box
}

/*Footer*/
.Footer_address.-opened, .Footer_group.-opened, .Footer_sns.-opened, .Footer_copy.-opened, .Footer_earth.-opened {
  transition: opacity .6s ease-in 0s;
  opacity: 1
}

.Footer_address.-closed, .Footer_group.-closed, .Footer_sns.-closed, .Footer_copy.-closed, .Footer_earth.-closed {
  transition: opacity .3s ease-in 0s;
  opacity: 0
}

.L .Footer_address.-opened {
  transition-delay: 0s
}

.L .Footer_group.-opened {
  transition-delay: .3s
}

.L .Footer_sns.-opened {
  transition-delay: .6s
}

.L .Footer_copy.-opened {
  transition-delay: 1.2s
}

.L .Footer_earth.-opened, .S .Footer_address.-opened {
  transition-delay: 0s
}

.S .Footer_sns.-opened {
  transition-delay: .3s
}

.S .Footer_group.-opened {
  transition-delay: .6s
}

.S .Footer_copy.-opened {
  transition-delay: 1.2s
}

.S .Footer_earth.-opened {
  transition-delay: 0s
}

.L .Footer {
  display: flex;
  position: relative;
  width: 100%;
  height: 420px;
  background-color: #151515;
  overflow: hidden
}
.L.en .Footer {
  height: 460px;
}

.Footer .Vi {
  display: block;
  position: relative;
  fill: #fff
}

.L .Footer .Vi {
  width: 330.56px;
}

.L .Footer_block {
  display: block;
  position: relative
}
@media screen and (max-width:1338px){
  .L .Footer_block{
    width: 38%;
  }
}


.L .Footer_block.-b2, .L .Footer_block.-b3 {
  flex-grow: 1;
  width: 100%;
  padding: 78px 90px 60px 65px;
}
.L .Footer_vi {
  display: block;
  position: relative;
}
.L .Footer_vi .Vi {
  margin-top: 143px;
  margin-left: 90px;
}

.L .Footer_address {
  display: block;
  position: relative;
  /* 一時デザイン変更 以下1行追加
  width : 50%;
  */
}

.L .Footer_group {
  display: block;
  position: relative;
  right: 0px;
  padding-top: 120px
}

.L .Footer_earth {
  display: block;
  position: relative;
  top: auto;
  margin-top: 109px;
  width: 100%;
  height: auto;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}
.L.en .Footer_earth {
  margin-top: 149px;
  width: 100%;
}

.L .Footer_sns {
  display: block;
  position: relative;
  padding-top: 30px
}
.L .Footer_sns .Sns{
  justify-content: left;
}

.L .Address {
  display: block;
  position: relative;
  margin-top: -8px;
  margin-bottom: -8px;
  color: #fff
}

.L .Group {
  display: flex;
  position: relative;
  justify-content: flex-start;
  align-items: center
}

.L .Group_item {
  display: block;
  position: relative
}

.L .Group_item.-gi2 {
  padding-left: 3.125vw
}

.L .Footer_copy {
  font-size: 11px;
  padding-top: 5px;
  letter-spacing: .04em;
  color: #fff
}



.S .Footer {
  display: block;
  position: relative;
  width: 100%;
  height: 778px;
  background-color: #151515;
  overflow: hidden
}
.S .Footer .Vi {
  width: 184px;
}
.S .Footer_block {
  display: block;
  /*position: relative*/
}

.S .Footer_block.-b2, .L .Footer_block.-b3 {
  flex-grow: 1;
  width: 100%;
  padding: 51px 30px 0 30px;
}
.S .Footer_vi .Vi {
  margin: 60px auto 36px;
}

.S .Footer .Nav_label{
  font-size: 14px;
}
.S .Footer .Nav_item{
  margin-right: 25px;
}

.S .Footer_address {
  display: block;
  position: relative;
  padding-top: 34px;
  text-align: left;
  margin: 0;
}

.S .Footer_sns {
  display: block;
  position: relative;
  padding-top: 12px;
  top: 8px
}

.S .Footer_group {
  display: block;
  position: relative;
  padding-top: 42.93px;
  padding-bottom: 24px
}

.S .Footer_earth {
  display: block;
  position: absolute;
  top: auto;
  bottom: 0px;
  width: 100%;
  height: 90px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.S .Address {
  display: block;
  position: relative;
  margin-top: -8px;
  margin-bottom: -8px;
  color: #fff
}

.S .Group {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center
}

.S .Group_item {
  display: block;
  position: relative
}

.S .Group_item.-gi2 {
  padding-left: 32px
}

.S .Footer_copy {
  font-size: 12px;
  line-height: 12px;
  letter-spacing: .04em;
  margin-right: -.04em;
  text-align: center;
  padding-top: 16px;
  padding-bottom: 18px;
  color: #fff
}
.S .Footer_Reserve .Reserve_link{
  text-align: center;
}

.S .Footer_mail{
  line-height: 2em;
  margin-top: 15px;
}

.Ptn2 {
  display: block;
  position: relative;
  white-space: nowrap;
  overflow: hidden
}

.Ptn2_row {
  display: inline-block;
  position: relative
}

.Ptn2_cell {
  display: block;
  position: relative
}

.Ptn2_cell svg {
  fill: #414141
}

.Ptn2_row:nth-of-type(5) .Ptn2_cell:nth-of-type(4), .Ptn2_row:nth-of-type(7) .Ptn2_cell:nth-of-type(4) {
  visibility: hidden
}

.L .Ptn2_cell {
  width: 25px;
  height: 16.52px
}

.L .Ptn2_cell+.Ptn2_cell {
  padding-top: 9.1px
}

.L .Ptn2_cell svg {
  display: block;
  position: absolute;
  width: 20.17px;
  height: 16.52px;
  bottom: 0px
}

.L .Ptn2_logo {
  display: block;
  position: absolute;
  bottom: 24.3px;
  left: 50.6px
}

.L .Ptn2_logo svg {
  width: 124.18px;
  height: 18.61px
}

.S .Ptn2_cell {
  width: 16.93px;
  height: 12.09px
}

.S .Ptn2_cell+.Ptn2_cell {
  padding-top: 6.590000000000002px
}

.S .Ptn2_cell svg {
  display: block;
  position: absolute;
  width: 14.58px;
  height: 11.94px;
  bottom: 0px
}
.S .Ptn2_row:nth-child(n + 18) {
  display: none;
}
.S .Ptn2_logo {
  display: block;
  position: absolute;
  top: 55px;
  left: 36.58px
}
.S .Ptn2_logo svg {
  width: 88.79px;
  height: 13.45px
}
.Footer, .Footer a, .Footer .Langage_link{
  color: #FFFFFF;
}
.L .Footer .Nav{
  display: -webkit-flex;
  display: flex;
  /* 一時デザイン調整　以下2行コメントアウト
  */
  -webkit-justify-content: space-between;
  justify-content: space-between;
  width: 100%;
}
.S .Footer .Nav{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: start;
  justify-content: start;
  width: 100%;
}

.L .Footer .block-line{
  padding-top: 40px;
  display: -webkit-flex;
  display: flex;
  /* 一時デザイン変更 以下2行コメントアウト
  */
  -webkit-justify-content: space-between;
  justify-content: space-between;
  width: 100%;
}
.L .Footer .block-line+.block-line{
  padding-top: 0;
  margin-bottom: 60px;
  align-items: end;
}
.L .Footer_nav .Nav .Nav .Nav_list .Nav_item:last-child,
.L .Footer .block-line .Footer_address,
.L .Footer .block-line .Footer_Reserve,
.L .Footer .block-line .Footer_copy{
  width: 200px;
}
.L .Footer .Footer_mail .Tell{
  margin-bottom: 15px;
}
.L.en .Footer .block-line+.block-line{
  padding-top: 25px;
}
/* 一時デザイン変更 以下1クラス追加
.L .Footer .block-line+.block-line > div:first-child{
  width: 60%;
}
  */
.S .Footer .block-line{
  padding-top: 16px;
  width: 100%;
}
.S .Footer .block-line+.block-line{
  padding-top: 7px;
}

.Footer .Reserve_link a{
  border-color: #FFFFFF;
}
.L .Footer .Reserve_link a:hover{
  border-color: #707070;
}


/*SNSボタン*/
.Sns {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center
}

.Sns_item {
  display: block;
  position: relative;
  font-size: 0px;
  letter-spacing: 0em;
  margin: 0;
  padding: 0;
  will-change: opacity;
  transition: opacity .3s ease-in 0s;
  opacity: 1
}

.L .Sns_item:hover, .Sns_item:active {
  transition: opacity .6s ease-out 0s;
  opacity: .6
}

.Sns_link {
  display: block;
  position: relative;
  font-size: 0px;
  letter-spacing: 0em;
  margin: -5px;
  padding: 5px
}

.Sns.-header {
  width: 240px;
  height: auto;
  justify-content: flex-start
}

.Sns.-header .Sns_item+.Sns_item {
  margin-left: 18px
}

.Sns.-header .Sns_icon {
  fill: #000
}

.Sns.-header .Sns_icon.-facebook {
  width: 25.64px;
  height: 25.49px
}

.Sns.-header .Sns_icon.-instagram {
  width: 23.64px;
  height: 23.64px
}

.S .Sns.-header .Sns_icon.-facebook {
  width: 18.79px;
  height: 18.67px
}

.S .Sns.-header .Sns_icon.-instagram {
  width: 16.81px;
  height: 16.81px
}

.Sns.-header .Sns_icon>svg {
  width: 100%;
  height: 100%
}

.Sns.-footer {
  width: 100%;
  height: 60px
}
.L .Sns.-footer {
  margin-bottom: -15px;
  margin-top: 25px;
}

.Sns.-footer .Sns_item+.Sns_item {
  margin-left: 29px
}

.Sns.-footer .Sns_icon {
  display: p;
  position: relative;
  fill: #fff
}

.Sns.-footer .Sns_icon.-facebook {
  width: 32px;
  height: 31.81px
}

.Sns.-footer .Sns_icon.-instagram {
  width: 29.5px;
  height: 29.5px
}

.Sns.-footer .Sns_icon>svg {
  width: 100%;
  height: 100%
}

.L .Sns.-footer .Sns_item {
  top: 10px
}

.L .Sns.-footer .Sns_item+.Sns_item {
  margin-left: 18.8px
}

.L .Sns.-footer .Sns_icon.-facebook {
  width: 25.64px;
  height: 25.49px
}

.L .Sns.-footer .Sns_icon.-instagram {
  width: 23.64px;
  height: 23.64px
}


.scrollDown {
  display: block;
  width: 1px;
  z-index: 4;
  background-image: linear-gradient(
    90deg, 
    #FFFFFF 0 50%, 
    #B9B9B9 50%
  );
  background-repeat: no-repeat;
  background-size: 100% 200%;
  animation-name: scroll-down;
  animation-duration: 7s;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  animation-delay: 0.3s;
  animation-iteration-count: infinite;
  animation-fill-mode: backwards;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.L .scrollDown {
  height: 120px;
  bottom: -60px;
}
.S .scrollDown {
  height: 84px;
  bottom: -42px;
}

@keyframes scroll-down {
  0%{
    transform-origin: top;
    transform: scaleY(0);
  }
  45%{
      transform-origin: top;
      transform: scaleY(1);
  }
  55%{
      transform-origin: bottom;
      transform: scaleY(1);
  }
  100%{
      transform-origin: bottom;
      transform: scaleY(0);
  }
}

.Section {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 0;
  /*
  font-size: 0px;
  letter-spacing: 0em;
  */
  text-align: center;
  overflow: hidden;
  max-width: 1920px
}

.L .Section.-banner {
  padding-top: 150px
}

.S .Section.-banner {
  padding-top: 108px
}

hr.wp-block-separator{
  height: 0.5px;
  background-color: #C6C6C6;
  border: none;
  max-width: 1200px;
}
.L hr.wp-block-separator{
  margin: 0 auto 100px auto;
  padding: 0 20px;
}
.L .Contents-A hr.wp-block-separator{
  margin: 100px auto 100px auto;
}
.S hr.wp-block-separator{
  margin: 0 20px 100px 20px;
}
.S .Contents-A hr.wp-block-separator{
  margin: 70px 20px 70px 20px;
}