@charset "utf-8";
/* CSS Document */
/*========================================================================= common =========================================================================
==================================================================================================================================================*/
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600;1,700;1,800&display=swap');

.en {
  font-family: 'EB Garamond', serif;
}

.yumin {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

html,
body {
  overflow-x: hidden;
}

/*-------------- flex --------------*/
.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
}

/*-------------- fade-in --------------*/
.fade-in {
  transition: opacity 0.8s;
  -moz-transition: opacity 0.8s;
  -webkit-transition: opacity 0.8s;
  -o-transition: opacity 0.8s;
}

.fade-up {
  transition: opacity 0.7s;
  -moz-transition: opacity 0.7s;
  -webkit-transition: opacity 0.7s;
  -o-transition: opacity 0.7s;
  transition: transform 0.7s;
  -moz-transition: transform 0.7s;
  -webkit-transition: transform 0.7s;
  -o-transition: transform 0.7s;
}

.fade-left,
.fade-right {
  transition: opacity 0.8s;
  -moz-transition: opacity 0.8s;
  -webkit-transition: opacity 0.8s;
  -o-transition: opacity 0.8s;
  transition: transform 0.8s;
  -moz-transition: transform 0.8s;
  -webkit-transition: transform 0.8s;
  -o-transition: transform 0.8s;
}

/*-------------- pageTop  --------------*/
.cp_arrows *,
.cp_arrows *:before,
.cp_arrows *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.cp_arrows {
  position: fixed;
  right: 45px;
  bottom: 0px;
  z-index: 500;
  display: flex;
  height: 50px;
  margin: 2em auto;
  justify-content: center;
  align-items: center;
  text-align: center;
  cursor: pointer;
}

.cp_arrows .cp_arrow {
  position: relative;
  display: inline-block;
  padding-top: 1.8em;
  /*-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
-webkit-animation: arrowmove 2s 1s ease-in-out infinite;
animation: arrowmove 2s 1s ease-in-out infinite;*/
  text-decoration: none;
  color: #8eb73f;
  border-color: #8eb73f;
}

.cp_arrows .cp_arrow:before {
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.9em;
  position: absolute;
  top: 0;
  left: 50%;
  width: 2em;
  height: 2em;
  margin-left: -0.7em;
  content: '';
  -webkit-transition: transform 0.5s ease-in;
  transition: transform 0.5s ease-in;
  text-align: center;
  background: url("../img/page_top.png") center center;
  background-size: contain;
}

.cp_arrows .cp_arrow:hover {
  color: #b8172b;
  border-color: #b8172b;
}

/*.cp_arrows .cp_arrow:hover:before {
transform: rotate(360deg);
}*/
@-webkit-keyframes arrowmove {
  0% {
    top: 1%;
    opacity: 0.1;
  }

  70% {
    top: 5%;
    opacity: 1;
  }

  100% {
    top: 1%;
    opacity: 0.3;
  }
}

@keyframes arrowmove {
  0% {
    top: 1%;
    opacity: 0.1;
  }

  70% {
    top: 5%;
    opacity: 1;
  }

  100% {
    top: 1%;
    opacity: 0.3;
  }
}

/*-------------- font,text --------------*/
.font_min {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif
}

.f12 {
  font-size: 12px;
  font-size: 1.2rem;
}

.f14 {
  font-size: 14px;
  font-size: 1.4rem;
}

.f16 {
  font-size: 16px;
  font-size: 1.6rem;
}

.center {
  text-align: center;
}

.center_a {
  text-align: center;
}

.t_left {
  text-align: left;
}

.font_b {
  font-weight: bold;
}

.notice {
  color: #ee1111;
}

.block {
  display: block;
}

/*-------------- space --------------*/
.pt10 {
  padding-top: 10px;
}

.pt20 {
  padding-top: 20px;
}

.pl20 {
  padding-left: 20px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb80 {
  padding-bottom: 80px;
}

.mb20{
  margin-bottom: 20px;
}

/*-------------- btn --------------*/
.btn {
  max-width: 260px;
  width: 95%;
  height: 60px;
  line-height: 60px;
  text-align: center;
  position: relative;
  z-index: 10;
}

a.btn02 {
  position: relative;
  display: block;
  font-weight: bold;
  background: #0b4d84;
  color: #fff;
  max-width: 140px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  position: relative;
  z-index: 10;
  border-radius: 6px;
  margin: 15px 0;
}

a.btn02:before {
  position: absolute;
  content: "＞";
  color: #fff;
  right: 7px;
}

@media screen and (max-width: 800px) {
  a.btn02 {
    width: 40%;
  }
}

.btn a.button_wh {
  position: relative;
  display: inline-block;
  padding: .6em 0;
  width: 100%;
  height: 100%;
  border: 2px solid #ffffff;
  color: #002754;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  outline: none;
  transition: all .3s;
  border-radius: 28px;
  background: #fff;
  font-size: 12px;
}

.btn a.button_red {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  border: 2px solid #0b4d84;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  outline: none;
  transition: all .3s;
  background: #0b4d84;
  font-size: 15px;
}

.btn a.button_wh span,
.btn a.button_red span {
  width: 28px;
  display: inline-block;
  margin: 0 0 0 10px;
  position: absolute;
  top: 41%;
  right: 4%;
  transition: all .6s;
}

.btn a.button_wh:hover {
  background: #ffffff;
  color: #000;
}

.btn a.button_red:hover {
  background: #002754;
  color: #ffffff;
}

.btn a.button_wh:hover span,
.btn a.button_red:hover span {
  margin: 0 0 0 15px;
}

.text_link {
  float: right;
  position: relative;
}

.text_link a {
  padding-right: 36px;
  font-size: 12px;
  font-size: 1.2rem;
  text-align: right;
  color: #b8172b;
  display: inline-block;
}

.text_link a:hover {
  text-decoration: underline;
}

.text_link span {
  width: 28px;
  height: 7px;
  display: inline-block;
  position: absolute;
  top: 7px;
  right: 0;
}

.btn_group {
  max-width: 620px;
  width: 100%;
  margin: 40px auto 0;
}

/*-------------- float --------------*/
.fl {
  float: left;
}

.fr {
  float: right;
}

.over {
  overflow: hidden;
}

/*-------------- wrapper,main,container,contents --------------*/
#wrapper {
  width: 100%;
  height: auto;
  position: relative;
}

main {
  width: 100%;
}

.container {
  width: 100%;
}

.contents {
  max-width: 1140px;
  width: 95%;
  margin: 0 auto;
}

.bg_c_a {
  background: #ece6d7;
}

.box01 {
  max-width: 750px;
  width: 95%;
  margin: 0 auto;
}

.contents_information {
  border: 1px solid #DC223C;
  padding: 15px;
  background: #ffffff;
  margin: 30px auto 65px;
  color: #DC223C;
  position: relative;
  z-index: 5;
}

.f18 {
  font-size: 18px;
  font-size: 1.8rem;
}

.pb10 {
  padding-bottom: 10px;
}

.center {
  text-align: center;
}

/*-------------- header --------------*/
header {
  background: rgba(255, 255, 255, 0.95);
  height: 91px;
  position: relative;
  z-index: 501;
}

.logo {
  width: 213px;
  position: absolute;
  top: 18px;
  left: 35px;
}

@media screen and (max-width: 800px) {
  header {
    background: rgba(255, 255, 255, 0.95);
    height: 60px;
    position: relative;
  }

  .logo {
    width: 150px;
    position: absolute;
    top: 10px;
    left: 10px;
  }
}

.drawer-hamburger {
  display: none;
}

nav {
  width: 530px;
  position: absolute;
  right: 2%;
}
.onlin{
  background-color: rgba(171, 37, 71, 0.95);
    padding: 14px 20px 4% 20px;
  max-height: 91px;
}
.onlin-a{
  margin: 20px 0 0 0;
  font-size: 16px;
}
a.onlin-a {
  color: rgb(255, 255, 255);
}

@media screen and (min-width: 800px) {
  nav {
    width: 660px;
  }
}

nav ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /* flex-direction: row-reverse; */
  flex-wrap: wrap;
  justify-content: space-between;
}

/*nav ul li{display: flex;align-items: flex-end;bottom: 5px;justify-content: center;}*/
nav ul li a {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 34px;
}

@media screen and (min-width: 800px) {
  nav ul li {
    position: relative;
  }

  nav ul li a {
    margin: 31px 0 0 0;
    display: block;
  }

  nav ul li .menu_contents a {
    margin: 0;
  }

  nav ul li.pc a {
    margin: 0;
  }
}

/*PCメガメニュー + SPアコーディオン*/
@media screen and (min-width: 800px) {
  li.mega_menu {
    position: relative;
    top: 0;
  }

  .menu_contents {
    background: rgba(255, 255, 255, 0.62);
    display: none;
    position: absolute;
    top: 92px;
    left: -100px;
    width: 260px;
  }


  .menu_contents ul {
    display: inline-block;
  }

  .menu_contents li {
    width: 100%;
    padding: 5px 2px;
    float: left;
    text-align: center;
    border-bottom: 1px solid #bbbcbd;
  }

  .menu_contents li:last-child {
    border: none;
  }

  .menu_contents li a {
    font-size: 14px;
    display: block;
  }

  .menu_contents li a:hover {
    opacity: 0.6;
  }
}

@media screen and (max-width: 800px) {
  .menu_contents {
    display: none;
  }

  nav ul li.mega_menu {
    display: block;
  }

  .menu_contents li {
    width: 100%;
  }
}

/*-------------- footer --------------*/
footer {
  background: #393939;
  color: #ffffff;
}

footer .container {
  background-size: 50px 50px;
}

footer .contents {
  width: 100%;
}

footer .btn {
  margin: 15px 0 0 0;
}

footer dd>a:visited {
  color: #fff;
}

footer dd>a:link {
  display: block;
  color: #fff;
}

@media screen and (max-width: 800px) {
  footer .contents {}

  footer .contents .btn {
    margin: 30px auto 0;
  }

  .outline_wh span {}
}

footer .container dl {
  padding: 50px 30px;
  width: 33.333%;
}

footer .container dl:nth-child(2) {
  padding: 50px 0 50px 30px;
}

footer .container dl:nth-child(3) {
  padding: 50px 0 50px 90px;
}

footer .container dl dt {
  font-size: 18px;
  font-size: 1.8rem;
  padding: 0 0 20px 0;
}

footer .container dl dt span {
  display: block;
  width: 30px;
  margin: 0 0 10px;
}

footer small {
  width: 100%;
  background: #393939;
  font-size: 12px;
  font-size: 1.2rem;
  text-align: center;
  display: block;
  padding: 0 0 40px 0;
}

.outline_wh {
  display: block;
  margin: 0 0 15px;
}

.outline_wh span {
  border: 1px solid #ffffff;
  font-size: 14px;
  font-size: 1.4rem;
  padding: 4px 12px;
  display: inline-block;
}

span.whl {
  border: 1px solid #ffffff;
  font-size: 14px;
  font-size: 1.4rem;
  padding: 1px 7px;
  margin: 0 10px 10px 0;
  display: inline-block;
  min-width: 45px;
  text-align: center;
}

.icon_square_wh_s {
  width: 15px;
  display: inline-block;
  margin: 4px 5px 0 0;
}

/*tag*/
.tag_news {
  display: block;
  width: 5.5em;
  text-align: center;
  color: #ffffff;
  background: #146cb7;
  margin: 0 0 10px 0;
  font-weight: bold;
  font-size: 13px;
  padding: 2px;

}

.news .tag_news.v02 {
  background: #388400;
}

.news .tag_news {
  background: #146cb7;
  margin: 35px auto 10px;
}

.tag_media {
  display: block;
  width: 7.5em;
  text-align: center;
  color: #ffffff;
  background: #cbc900;
}

/*icon*/
.icon_blank {
  width: 15px;
  display: inline-block;
  margin: 2px 0 0 5px;
}

/*------------------------------------------ topPage ------------------------------------------*/
.bg-slider {
  min-height: 760px;
  /*max-height: 884px;*/
  height: 90vh;
  width: 100%;
  background-size: cover;
  background-position: center top;
  position: relative;
}

.main_title {
  max-width: 350px;
  width: 80%;
  margin: auto;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translateY(-100%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  z-index: 10;
}

.main_title02 {
  max-width: 820px;
  width: 80%;
  margin: auto;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translateY(-00%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  z-index: 10;
}

@media screen and (max-width: 800px) {
  .bg-slider {
    min-height: auto;
    height: 113vw;
  }

    .main_title {
        width: 66%;
        top: 70%;
    }

  .main_title02 {
      width: 95%;
      margin-top: 20px;
  }

  .main_title03 {
    width: 25%;
    right: 5px;
  }
}

.title_a {
  max-width: 435px;
  width: 70%;
  margin: 0 auto;
  padding: 30px 0;
}

.sec02 .title_a {
  padding: 70px 0 30px 0;
}

.title_a:before {
  content: "";
  background-size: 42px 17px;
  display: block;
  width: 42px;
  height: 17px;
  margin: 0 auto 8px;
}

.title_b {
  max-width: 435px;
  width: 70%;
  margin: 0 auto;
  padding: 30px 0;
}

.title_b:before {
  content: "";
  background-size: 42px 17px;
  display: block;
  width: 42px;
  height: 17px;
  margin: 0 auto 8px;
}

.title_c {
  max-width: 435px;
  width: 70%;
  margin: 0 auto;
  padding: 30px 0;
}

.title_d {
  max-width: 435px;
  width: 70%;
  margin: 0 auto;
  padding: 50px 0;
}

.top_conceptarea {
  background: #f4fafb url("../img/s02bg.jpg") no-repeat top center;
  background-size: cover;
  padding: 0 0 80px 0;
}

@media screen and (max-width: 800px) {
  .top_conceptarea {
    background: #f4fafb url("../img/s02bgsp.jpg") no-repeat scroll top center;
    background-size: cover;
    height: auto;
    padding: 0 0 10vw 0;
  }
}

.top_conceptarea .container {
  background-size: contain;
  position: relative;
  padding: 4vw 0 0 0;
}

.top_conceptarea .sakura {
  margin: -8vw auto 0;
  width: 95%;
}

.top_floor {
  position: relative;
}

.top_floor .f_left {
  position: absolute;
  left: 0;
  top: 40px;
  z-index: 6;
}

.top_floor .f_right {
  position: absolute;
  right: 0;
  top: 450px;
  z-index: 6;
}

.top_floor .f_r_big {
  position: absolute;
  right: -3%;
  top: -40px;
  z-index: 8;
  text-align: right;
  width: 99%;
}

@media (max-width: 1120px) and (min-width: 800px) {
  .top_floor .f_left img {
    width: 100%;
    height: auto;
  }

  .top_floor .f_right img {
    width: 100%;
    height: auto;
  }

  .top_floor .f_left {
    max-width: 425px;
    width: 30vw
  }

  .top_floor .f_right {
    max-width: 304px;
    width: 23vw;
  }
}

@media screen and (max-width: 800px) {

  /* .top_floor .container{
    display: none;
  } */

  .top_floor .f_r_big {
    top: -3vw;
  }

  .top_floor .title_a {
    padding: 0;
  }

  .top_floor .main {
    margin: 11vw 0 0 0;
  }

  .top_floor .f_left {
    width: 37%;
    top: 15vw;
    left: -10vw;
  }

  .top_floor .f_right {
    width: 28%;
    top: 78vw;
    right: -2vw;
  }

  .top_newsarea .bnr {
    padding: 0 10px;
  }

  .conceptmovie_movie {
    padding: 10vw;
  }

  .top_access ul li {
    margin: 0 0 10vw 0;
    padding: 0 0 10vw 0;
  }
}

.top_floor .main {
  position: relative;
  z-index: 7;
  /* max-width: 1104px; */
  margin: 0 auto;
}

.top_floor .main:before {
  position: absolute;
  content: "";
  width: calc(100% + 60px);
  height: 790px;
  background: #e4f4d7;
  z-index: -1;
  top: 40px;
  left: -60px;
}

.top_floor .main:after {
  position: absolute;
  content: "";
  width: 50vw;
  height: 500px;
  background: #e4f4d7;
  z-index: -1;
  left: 50%;
  top: 40px;
}

.top_floor .bnr {
  margin: 35px 0 0 0;
  position: relative;
  z-index: 0;
}

.top_info {
  border: 1px dashed #b8172b;
  padding: 15px;
  color: #b8172b;
  max-width: 900px;
  width: 95%;
  margin: 0 auto 15px;
  background: #ffffff;
  position: relative;
  z-index: 10;
}

.top_info dt {
  text-align: center;
  font-weight: bold;
}

.top_info dt ul {
  text-align: center;
  font-weight: bold;
}


.top_info dt.b_top {
  border-top: 1px dotted #b8172b;
  margin: 10px 0 0;
  padding: 10px 0 0;
}

.top_info02 .img2020 {
  width: 250px;
  margin: 0 auto 10px;
}

.top_info02 .img2020-2 {
  width: 180px;
  margin: 0 auto 10px;
}

.top_info02 .img2020-3 {
  width: 140px;
  margin: 0 auto 10px;
}

.top_info02 {
  max-width: 900px;
  width: 95%;
  margin: 0 auto 15px;
  background: #F8F6EE;
  border: 1px dotted #040000;
  padding: 10px;
  position: relative;
  z-index: 10;
}

.top_info02>li {
  max-width: 270px;
  padding: 0 0 15px 0;
  justify-content: space-around;
}

.top_info02 li dt {
  text-align: center;
  font-weight: bold;
  padding: 10px 0;
}

.top_info02 li dd .f12 {
  line-height: 1.8em;
}

.top_conceptarea .text01 {
  position: relative;
}

.top_conceptarea .title_a {
  max-width: 100%;
  width: 740px;
  position: relative;
  z-index: 5;
}

.top_conceptarea .title_a:before {
  background: none;
}

.top_conceptarea .wrap {
  max-width: 1254px;
  position: relative;
  margin: 0 auto;
}

@media screen and (max-width: 800px) {
  .top_conceptarea .wrap {
    min-width: auto;
  }
}

.top_floor {
  position: relative;
}

/*20220429追記*/
/*.top_conceptarea .wrap .bnr {
padding: 10px;
text-align: center;
}*/
.ico .v09 {
  width: 100%;
  position: absolute;
  z-index: 7;
  /*top: 78px;*/
  top: 160px;
  left: -40px;
}

.ico .v10 {
  width: 100%;
  position: absolute;
  z-index: 7;
  /*top: 78px;*/
  top: 170px;
  right: 0;
}

@media screen and (max-width: 1060px) {
  .ico .v09.bottom {
    top: 300px;
    left: -100px;
  }

  .ico .v10.bottom {
    top: 300px;
    right: -100px;
  }
}

.c_left {
  max-width: 385px;
  width: 31%;
  position: absolute;
  z-index: 2;
  /*top: 78px;*/
  top: 240px;
  left: 0;
}

.c_right {
  max-width: 302px;
  width: 31%;
  position: absolute;
  z-index: 2;
  /*top: 170px;*/
  top: 332px;
  right: 0;
}

.top_concept_text {
  width: 95%;
  margin: 0 auto 30px;
  text-align: center;
  line-height: 2em;
  position: relative;
}

.top_concept_text h4 {
  font-size: 22px;
  color: #173f70;
  font-weight: bold;
  line-height: 1.6;
  margin: 50px 0 0 0;
  position: relative;
  z-index: 3;
}

.top_concept_text h4 span {
  font-size: 12px;
  color: #000;
  display: block;
  font-weight: bold;
  margin: 0 0 40px 0;
}


.top_concept_img {
  max-width: 1370px;
  width: 95%;
  margin: 0 auto;
}

p.top_concept_text {
  position: absolute;
  top: 393px;
  z-index: 7;
  left: 40px;
  line-height: 2.4;
}

.top_conceptarea .btn {
  margin: 0 auto;
}

.top_floor .btn {
  position: absolute;
  bottom: 90px;
  left: 58%;
}

@media screen and (max-width: 800px) {
  .top_floor {
    /* background: linear-gradient(180deg, #fff 0%, #fff 23%, #e4f4d7 23%, #e4f4d7 100%); */
    background: linear-gradient(180deg, #fff 0%, #fff 35%, #e4f4d7 35%, #e4f4d7 100%);
    padding: 10vw 0;
  }

  .top_floor .btn {
    position: inherit;
    margin: 10vw auto 0;
  }

  .top_floor .img img {
    width: 100%;
    height: auto;
  }

  .top_floor .img {
    width: 100%;
    padding: 0;
  }
}

.top_message {
  max-width: 970px;
  width: 95%;
  margin: 50px auto 20px;
  background-size: contain;
  padding: 10px;
  position: relative;
}

.top_message:before {
  position: absolute;
  content: "";
  width: 90px;
  height: 90px;
  background: #388400;
  top: 0;
  left: -2px;
  z-index: 0;
}

.top_message:after {
  position: absolute;
  content: "";
  width: 90px;
  height: 90px;
  background: #388400;
  bottom: 0;
  right: -2px;
  z-index: 0;
}

.top_message div {
  background: #ffffff;
  width: 100%;
  padding: 60px 50px 50px;
  z-index: 1;
  position: relative;
}

.photo_mayor {
  width: 150px;
}

.photo_mayor span {
  display: block;
  text-align: center;
  font-size: 13px;
  font-size: 1.3rem;
}

.top_message_text {
  width: calc(100% - 250px);
}

@media screen and (max-width: 800px) {
  .top_message_text {
    line-height: 1.6em;
    font-size: 12px;
  }
}

.bnr_car {
  margin: 40px auto;
  text-align: center;
}

.bnr_car+p.nav_info {
  padding: 15px 30px 20px;
  border: 1px #3968b7 dashed;
  margin: 20px auto 15px;
  max-width: 840px;
}

.bnr_car+p.nav_info strong {
  display: block;
  text-align: center;
  color: #3968b7;
  font-weight: 900;
  text-decoration: underline;
  padding-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .bnr_car {
    margin: 10vw auto 0;
    width: 90%;
    margin: 5vw auto 0;
  }

  .bnr_car+p.nav_info {
    max-width: 90%;
  }
}

.top_newsarea {
  padding: 0 0 75px 0;
}

.top_newsarea .contents {
  position: relative;
}

.top_newsarea .contents:before {
  position: absolute;
  content: "";
  width: calc(100% + 60px);
  height: 500px;
  background: #e4f4d7;
  z-index: -1;
  top: 115px;
}

.top_newsarea .contents:after {
  position: absolute;
  content: "";
  width: 50vw;
  height: 500px;
  background: #e4f4d7;
  z-index: -1;
  right: 50%;
  top: 115px;
}

.top_newsarea .bnr {
  text-align: center;
}

.top_newsarea .btn {
  margin: 45px auto;
}

.top_newsarea li {
  background: #ffffff;
  min-height: 430px;
  width: 32%;
  margin: 0 0 30px 0;
  /*box-shadow: 0 0 13px rgba(112, 112, 12, 0.2);*/
}

.top_newsarea li.none {
  box-shadow: none;
}

.top_newsarea li a {
  display: block;
  width: 100%;
  height: 100%;
  /* max-width: 330px; */
  background: #ffffff;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  line-height: 1.5em;
}

.top_newsarea li a:hover {
  background: #f8f6ee;
}

.top_news_photo img{
  width: 100%;
}

.top_news_item {
    padding: 23px 20px;
}

.p05.container {
  background: #e4f4d7;
  padding: 0 0 1px 0;
  margin: 0;
}

.contents.privacy {
  max-width: 1000px;
  padding: 80px;
  background: #fff;
}

.p06 {
  background: #e4f4d7;
  padding: 0 0 120px 0;
}

.p06 section {
  max-width: 1000px;
  width: 95%;
  padding: 40px 50px;
  margin: 60px auto 0;
  background: #fff;
}

@media screen and (max-width: 800px) {
  .p06 {
    padding: 0 0 10vw 0;
  }

  .p06 section {
    padding: 10vw 5vw 0;
    margin: 10vw auto 0
  }

  .contents.privacy {
    width: 100%;
    padding: 10vw 5vw;
  }

  .top_newsarea {
    background: linear-gradient(180deg, #fff 0%, #fff 23%, #e4f4d7 23%, #e4f4d7 100%);
    padding: 10vw 0;
  }

  .top_newsarea .contents.flex {
    flex-direction: column;
  }

  .top_newsarea li {
    width: 100%;
  }

  .top_newsarea li a {
    margin: 0 auto;
  }

  .top_newsarea .contents:before,
  .top_newsarea .contents:after {
    content: none;
  }
}

@media screen and (max-width: 600px) {
  .top_newsarea li a {
    width: 100%;
  }

  .top_news_photo {
    /*width: 40%*/
  }

  .top_news_photo img {
    width: 100%;
    height: auto;
  }

  .top_news_item {
    /*width: 60%;*/
  }
}

.top_news_item dt {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: bold;
  margin: 0 0 17px 0;
  line-height: 1.6;
}

/*add20210129*/
.top_bnr_media {
  max-width: 800px;
  width: 100%;
  margin: 15px auto;
}

.top_bnr_media a:hover img {
  opacity: 0.8;
}

.top_newsarea ul.top_bnrarea {
  max-width: 940px;
  width: 95%;
  margin: 0 auto 15px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.top_newsarea ul.top_bnrarea li.top_bnrimg {
  width: 440px;
  margin: 0 auto 15px;
}

.top_newsarea ul.top_bnrarea li.top_bnrimg a {
  width: 100%;
  padding: 0;
  background: none;
}

.top_newsarea ul.top_bnrarea li.top_bnrimg a:hover img {
  opacity: 0.8;
}

.top_conceptmoviearea {
  padding: 30px 0;
}

.top_conceptmoviearea .innerarea {
  position: relative;
}

.top_conceptmoviearea .ico01 {
  position: absolute;
  bottom: 0;
}

.top_conceptmoviearea .ico02 {
  position: absolute;
  right: 0;
  top: 30%;
}

@media screen and (max-width: 1200px) {
  .mb30 {
    margin-bottom: 30px;
  }
}


.conceptmovie_title {
  max-width: 435px;
  width: 70%;
  margin: 0 auto 30px;
}

.conceptmovie_img {
  max-width: 400px;
  width: 95%;
  margin: 0 auto;
}

.conceptmovie_movie {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.conceptmovie_movie:before {
  content: "";
  background: url("../img/s05bg.png") no-repeat center center;
  background-size: contain;
  width: 614px;
  height: 422px;
  display: block;
  position: absolute;
  top: -42px;
  left: -7px;
}

@media screen and (min-width: 801px) {
  .pc {}

  .sp {
    display: none;
  }

  .innerarea {
    max-width: 1300px;
    margin: 0 auto;
  }

  .conceptmovie_movie {
    /*width: 425px;　20220517変更*/
    width: 600px;
    margin: 90px auto 30px;
  }


}

@media screen and (max-width: 800px) {
  .pc {
    display: none;
  }

  .sp {}

  .top_conceptmoviearea {
    background: url("../img/s05bgsp.png") no-repeat bottom center;
    background-size: contain;
    height: auto;
    padding: 10vw 0 20vw;
  }

  .conceptmovie_movie {
    padding: 8vw;
  }

  .conceptmovie_movie:before {
    content: "";
    background: url("../img/s05bg.png") no-repeat center center;
    background-size: contain;
    width: 100%;
    height: 60vw;
    display: block;
    position: absolute;
    top: 2vw;
    left: 0;
  }

}

.conceptmovie_movie div {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  text-align: center;
}

.conceptmovie_movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.top_snsarea {
  padding: 95px 0 120px;
  /*background: #e4f4d7;*/
  background: #e4f4d7 url(../img/s07bg.png) no-repeat center top;
  background-size: 100%;
}

.top_snsarea dl {
  max-width: 500px;
  width: 100%;
  text-align: center;
  margin: 0 10px 95px;
}

.top_snsarea dl dd.fb iframe {
  width: 100% !important;
}

.top_snsarea dt {
  font-size: 30px;
  width: 100%;
  color: #0b4d84;
  font-size: 20px;
  font-size: 3.0rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 15px 0;
}

.top_snsarea dd+dd {
  margin: 60px 0 0 0;
  position: relative;
}

.top_snsarea dd+dd:before {
  position: absolute;
  content: "";
  height: 1px;
  width: 50px;
  top: -40px;
  left: calc(50% - 25px);
  background: #0b4d84;
}

.top_snsarea dd a:visited {
  color: #0b4d84;
  text-decoration: none;
}

.top_snsarea dd a.linktext {
  text-decoration: none;
}

.top_snsarea dt:before {
  content: "";
  background-size: 42px 17px;
  display: inline-block;
  width: 42px;
  height: 17px;
  margin-right: 8px;
}

.top_snsarea dt:after {
  content: "";
  background-size: 42px 17px;
  display: inline-block;
  width: 42px;
  height: 17px;
  margin-left: 8px;
}

.top_snsarea .m_bnr {
  text-align: center;
}

.top_shop {
  padding: 120px 0 50px 0;
}

.top_shop .contents {
  max-width: 100vw;
}

#slider_shop .slick-slide {
  width: 459px;
}

#slider_shop .slick-list,
#slider_shop02 .slick-list {
  overflow: visible;
}

@media screen and (max-width: 800px) {
  .top_shop {
    padding: 0;
  }

  #slider_shop .slick-slide {
    width: 64vw;
  }

  #slider_shop02 .slick-slide {
    width: 64vw;
  }

  #slider_shop02 {
    margin: 30px 0 0 0;
  }
}

.top_thummenu {
  width: 100%;
}

.top_thummenu li {
  width: 50%;
}

.top_thummenu li dl {
  background-size: cover;
  max-width: 520px;
  width: 95%;
  min-height: 445px;
  margin: 0 auto;
  color: #ffffff;
  padding-top: 100px;
}

.top_thummenu li dt {
  max-width: 305px;
  width: 100%;
  margin: 0 auto 20px;
}

.top_thummenu li a dl {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.top_thummenu li a:hover dl {
  opacity: 0.8;
}

.top_access {
  position: relative;
  width: 100%;
}

.top_access .text01 {
  text-align: center;
  font-size: 15px;
}

.top_access .ico {
  position: absolute;
  right: 0;
  bottom: 20px;
  width: 25%;
}

.top_access .text01 span {
  font-weight: bold;
  display: block;
}

.top_access .contents {
  position: relative;
  padding: 35px 0 40px;
}

/*.top_access ul {
display: flex;justify-content: space-between;width: 1020px;margin: 0 auto;}*/

.top_access ul li {
  text-align: center;
  width: 33%;
  border-left: 1px solid #146cb7;
}

.top_access ul li:first-child {
  width: 66%;
}

.top_access ul li:first-child p {
  text-align: left;
}

.top_access ul li:last-child {
  border-right: 1px solid #146cb7;
}

.top_access ul li .box03 {
  padding: 0 20px;
  display: flex;
  justify-content: space-around;
}

.top_access ul li .box03 p {
  width: 60%;
}

.top_access ul li .box03 p+p {
  width: 30%;
}

.top_access ul li span {
  font-weight: bold;
}

.top_access ul li p {
  margin: 15px 0;
}

.top_access ul li span.text01 {
  font-size: 15px;
  color: #146cb7;
  margin: 7px 0 0 0;
  display: block;
}

@media screen and (max-width: 800px) {
  .top_access ul li:first-child {
    width: 100%;
  }

  .top_access ul li .box03 {
    padding: 0;
    display: block;
  }

  .top_access ul li .box03 p {
    width: 100%;
  }

  .top_access ul li .box03 p+p {
    width: 100%;
  }

  .top_access .ico {
    position: inherit;
    width: 60%;
    margin: 0 auto;
  }

  .top_access .ico img {
    width: 100%;
    height: auto;
  }

  .top_access .flex {
    flex-direction: column;
  }

  .top_access ul li {
    width: 100%;
    border: none;
    border-bottom: 1px solid #146cb7;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .top_access ul li:last-child {
    border: none;
  }

  .top_access ul li .box01 {
    width: 20%;
  }

  .top_access ul li .box02 {
    width: 75%;
    padding: 0 0 0 5%;
  }
}

/*20220429追記*/
.top_access .noParking {
  width: 80%;
  margin: 40px auto 0 auto;
  text-align: center;
  border: solid 1px #941d59;
  padding: 26px;
  color: #941d59;
}

.top_access .noParking h3 {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 17px;
  line-height: 1.6;
}

.top_access .noParking p {
  font-size: 17px;
}

.map {
  width: 100%;
  height: 350px;
}

.map iframe {
  width: 100%;
  height: 100%;
}

/*------------------------------------------ nextPage ------------------------------------------*/
/*-------------- breadcrumb --------------*/
.breadcrumb {
  max-width: 1100px;
  width: 95%;
  margin: 0 auto;
  overflow: hidden;
  font-size: 12px;
  font-size: 1.2rem;
  padding: 10px 0 0 0;
}

.breadcrumb li {
  display: inline-block;
}

.breadcrumb li:after {
  content: ">";
  padding: 0 8px;
}

.breadcrumb li:last-child:after {
  content: none;
}

.breadcrumb li a:link {
  color: #0b4d84;
  text-decoration: underline;
}

.breadcrumb li a:hover {
  text-decoration: underline;
}

/*-------------- titlearea --------------*/
.next_titlearea {
  height: 300px;
}

.next_title {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #ffffff;
  font-size: 26px;
  font-size: 2.6rem;
  text-align: center;
  padding: 180px 0 0;
}

/*-------------- table --------------*/
.table_a {
  max-width: 900px;
  width: 100%;
  margin: 50px auto 0;
  position: relative;
  z-index: 15;
  border: 1px solid #cecece;
}

.table_a th,
.table_a td {
  padding: 10px;
  border-collapse: collapse;
}

.p04 .table_a th {
  width: 26%;
  vertical-align: middle;
}

.table_a th {
  text-align: center;
  background: #e9e9e9;
  width: 30%;
  border-bottom: 1px solid #cecece;
}

.table_a td {
  padding: 10px 10px 10px 35px;
  background: #ffffff;
  width: 70%;
  border-bottom: 1px solid #cecece;
}

.facility_container.p04 {
  padding: 0 0 90px 0;
}

.p04 .table_b {
  border: 1px solid #cecece;
}

/*-------------- concept --------------*/
/*p02*/
.u_fv {
  height: 425px;
}

.concept_container h4 span {
  font-weight: bold;
}

.p02 .box01 {
  position: relative;
}

.p02 .sub {
  position: absolute;
}

.p02 .sub01 {
  left: -2%;
  top: 0;
  max-width: 350px;
  width: 30%;
}

.p02 .sub02 {
  right: -2%;
  top: 0;
  ;
  max-width: 350px;
  width: 30%;
}

.p02 .sub03 {
  left: -4%;
  bottom: 5%;
  max-width: 350px;
  width: 30%;
}

.p02 .sub04 {
  right: -4%;
  bottom: 5%;
  max-width: 350px;
  width: 30%;
}

.p02 .img01 {
  margin: 50px auto;
  text-align: center;
}

.p02 .img02 {
  margin: 50px auto 0;
  text-align: center;
}

.concept_container {
  width: 100%;
  background: url(../img/p02bg.jpg) no-repeat top center;
  background-size: cover;
}

.concept_container .container {
  position: relative;
  padding: 0 0 135px 0;
}

.concept_container .contents {
  position: relative;
  z-index: 0;
}

.concept_container p {
  position: relative;
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
  line-height: 3em;
  font-size: 15px;
  font-size: 1.5rem;
  text-shadow:
    #ffffff 1px 0px 1px, #ffffff -1px 0px 1px,
    #ffffff 0px -1px 1px, #ffffff -1px 0px 1px,
    #ffffff 1px 1px 1px, #ffffff -1px 1px 1px,
    #ffffff 1px -1px 1px, #ffffff -1px -1px 1px,
    #ffffff 1px 1px 1px, #ffffff -1px 1px 1px,
    #ffffff 1px -1px 1px, #ffffff -1px -1px 1px,
    #ffffff 1px 1px 1px, #ffffff -1px 1px 1px,
    #ffffff 1px -1px 1px, #ffffff -1px -1px 1px,
    #ffffff 1px 1px 1px, #ffffff -1px 1px 1px,
    #ffffff 1px -1px 1px, #ffffff -1px -1px 1px;
}

@media screen and (max-width: 800px) {
  .p04 #f3 {
    padding: 10vw 5vw;
  }

  .p04 .table_a th {
    width: 100%;
  }

  .p04 .table_b {
    width: 90%;
  }

  .concept_container .container {
    padding: 0 0 10vw 0;
  }

  .concept_container h4 {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .concept_container h4 span:nth-child(2) {
    margin: 0 15px;
  }

  .concept_container {
    width: 100%;
    background: url(../img/p02bgsp.jpg) no-repeat top center;
    background-size: cover;
  }

  .concept_container p {
    line-height: 2.3em;
  }

  .p02 .img02 {
    margin: 30px auto 0;
    width: 50%;
  }

  .p02 .img03 {
    margin: 20px auto 0;
  }
}

.logo_h {
  max-width: 891px;
  margin: 60px auto 30px;
}

.concept_container h4 {
  position: relative;
  font-size: 21px;
  color: #388400;
  font-weight: bold;
  line-height: 1.6;
  margin: -50px 0 30px 0;
  text-align: center;
}


@media (max-width: 1300px) and (min-width: 800px) {

  .concept_photo01 img,
  .concept_photo02 img {
    width: 100%;
    height: auto;
  }

  .concept_photo01 {
    max-width: 338px;
    width: 28vw
  }

  .concept_photo02 {
    max-width: 269px;
    width: 23vw;
  }
}

.concept_img01 {
  max-width: 364px;
  width: 60%;
  position: absolute;
  z-index: 2;
  top: 745px;
  left: 0;
}

.concept_btm {
  max-width: 1000px;
  width: 100%;
  margin: 30px auto 0;
}

/*-------------- facility --------------*/
/*p01*/
.facility_floorguide {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto 30px;
}

.facility_container {
  background: #e4f4d7;
  padding: 0 0 1px 0;
}

.facility_container .container {
  max-width: 1190px;
  margin: 20px auto 0;
}

.facility_container.p04 .container#f3 {
  background: #fff;
  max-width: 1100px;
  margin: 60px auto 0;
}

.p04 h3 {
  text-align: center;
  font-size: 22px;
  font-weight: bold;
}

.facility_nav {
  max-width: 1000px;
  width: 95%;
  margin: 80px auto 0;
}

.facility_nav li {
  max-width: 260px;
  width: 45%;
  border: 1px solid #a51c4b;
  outline: 1px solid #a51c4b;
  outline-offset: 5px;
  margin: 0 0 50px 0;
}

.facility_nav li a {
  font-weight: bold;
  font-size: 16px;
  width: 100%;
  height: 100%;
  padding: 13px 0;
  line-height: 1.3em;
  display: block;
  color: #a51c4b;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}

.facility_nav li a span {
  font-size: 30px;
}

.facility_nav li a span+span {
  font-size: 22px;
}

.facility_nav li a:after {
  position: absolute;
  bottom: -25px;
  left: calc(50% - 13px);
  content: "";
  width: 0;
  height: 0;
  border-left: 13px solid transparent;
  border-right: 13px solid transparent;
  border-top: 13px solid #a51c4b;
}

.shop .facility_nav li {
  outline: none;
}

.shop .facility_nav li a {
  width: 100%;
  height: 100%;
  padding: 15px 0 0;
  line-height: 1.3em;
  display: block;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.shop .facility_nav li a:after {
  content: "▼";
  font-size: 10px;
  font-size: 1.0rem;
  display: block;
  text-align: center;
  border: none;
  position: static;
  width: auto;
  height: auto;
}

.facility_nav li a:hover {
  background: #a51c4b;
  color: #ffffff;
}

.p01 .s_info li {
  display: flex;
  padding: 20px 0;
  position: relative;
  border-bottom: 1px solid #cecece;
  justify-content: space-around;
}

.p01 .s_info li:first-child {
  border-top: 1px solid #cecece;
}

.p01 .s_info li:after {
  z-index: 2;
  position: absolute;
  width: 5px;
  max-height: 200px;
  height: 89%;
  background: #90c31f;
  content: "";
  top: 10px;
  left: 0;
}

.p01 .s_info li:before {
  z-index: 2;
  position: absolute;
  content: " ";
  display: inline-block;
  width: 25px;
  height: 25px;
  border-radius: 0 0 100% 0;
  background: #90c31f;
  top: 10px;
  left: 0;
}

.p01 .s_info li.v02:after,
.p01 .s_info li.v02:before {
  background: #009944;
}

.p01 .s_info li.v03:after,
.p01 .s_info li.v03:before {
  background: #f08200;
}

.p01 .s_info li.v04:after,
.p01 .s_info li.v04:before {
  background: #009944;
}

.p01 .s_info li.v05:after,
.p01 .s_info li.v05:before {
  background: #00b0ec;
}

.p01 .s_info li.v06:after,
.p01 .s_info li.v06:before {
  background: #b81c22;
}

.p01 .s_info li.v07:after,
.p01 .s_info li.v07:before {
  background: #802740;
}

.p01 .s_info li .box01 {
  width: 48%;
  position: relative;
  z-index: 1;
  text-align: right;
}

.p01 .s_info li .box02 {
  width: 50%;
  position: relative;
  z-index: 1;
  padding: 0 0 0 20px;
}

.p01 .s_info li .box02 .text01 {
  color: #a51c4b;
  font-size: 18px;
  font-weight: bold;
}

.p01 .s_info li .box02 .text02 {
  color: #646464;
  ;
  font-size: 13px;
  font-weight: bold;
  background: #e9e9e9;
  padding: 3px 10px;
  display: inline-block;
  margin: 5px 0 15px 0;
}

.u_fv h2 {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  margin: 100px 0 0 0;
  letter-spacing: 0.145em;
}

.u_fv h2 span {
  display: block;
  font-size: 21px;
  margin: 3px 0 0 0;
  letter-spacing: 0.045em;
}

.facility_container .contents h3 {
  position: relative;
  font-size: 22px;
  color: #fff;
  text-align: center;
  background: #002754;
  line-height: 54px;
  margin: 60px 0 75px;
}

.facility_container .contents h3:before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #002754;
  top: -8px;
}

.facility_container .contents h3:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #002754;
  bottom: -8px;
}

.facility_container .contents h4 {
  text-align: center;
}

.facility_container .contents .bnr {
  margin: 40px auto 100px;
  text-align: center;
}

.facility_container .contents {
  position: relative;
  background: #fff;
}

.facility_container .contents.zip {
  background: none;
}

.num {
  text-align: center;
}

.floormap_img {
  margin: 50px auto 70px;
  display: block;
  padding: 0 20px;
}

#f1,
#f2,
#f3 {
  padding: 60px 45px 45px 45px;
  position: relative;
  margin: 0 auto 100px;
}

@media screen and (max-width: 800px) {
  .floormap_img {
    margin: 10vw auto;
  }

  .facility_nav li {
    margin: 0 0 10vw 0;
  }

  .facility_container .contents .bnr a+a {
    margin: 20px 0 0 0;
  }

  .num {
    left: -5px;
  }


  .wrap {
    max-width: 940px;
    margin: 0 auto;
  }

  #f1,
  #f2,
  #f3 {
    padding: 10vw 5vw;
    position: relative;
    margin: 0 auto 100px;
  }

  .p01 .s_info li:after {
    max-height: 100%;
    height: 94%;
  }

  .p01 .s_info li {
    flex-direction: column;
  }

  .p01 .s_info li .box01 {
    width: 100%;
    margin: 0 0 20px 0;
  }

  .p01 .s_info li .box01 img {
    width: 100%;
    height: auto;
  }

  .p01 .s_info li .box02 {
    width: 100%;
  }


  .u_fv {
    height: 53.3vw;
  }

  .u_fv h2 {
    margin: 11vw auto 0;
    width: 60%;
  }
}

@media screen and (max-width: 600px) {

  #f1 .sub01,
  #f1 .sub02,
  #f1 .sub03,
  #f1 .sub04,
  #f1 .sub05,
  #f1 .sub06,
  #f1 .sub07,
  #f1 .sub08,
  #f2 .sub09,
  #f2 .sub10,
  #f2 .sub11 {
    width: 35%;
  }

  #f1 .sub01 {}

  #f1 .sub02 {
    right: -5vw
  }

  #f1 .sub03 {
    right: 0;
  }

  #f1 .sub04 {
    left: -5vw
  }

  #f1 .sub05 {
    right: 0;
  }

  #f1 .sub06 {
    left: 0;
  }

  #f1 .sub07 {
    right: 0;
  }

  #f1 .sub08 {
    left: 0;
    top: inherit;
  }

  #f1 .wrap img {
    position: relative;
    z-index: 5;
  }

  #f2 {
    position: relative;
  }

  #f2 .sub09 {
    position: absolute;
    top: 10px;
    right: -5vw;
    z-index: 0
  }

  #f2 .sub10 {
    position: absolute;
    top: 75px;
    left: -10vw;
    z-index: 0
  }

  #f2 .sub11 {
    right: -5vw
  }

}

.facility_container .btn {
  margin: 0 auto;
}

.zip h4 {
  background: #fff;
  max-width: 600px;
  margin: 0 auto 25px;
  font-size: 24px;
  font-weight: bold;
  padding: 10px 0;
}

.zip p {
  margin: 0 auto 60px;
  font-size: 20px;
  font-weight: bold;
}

.zip p span {
  font-weight: bold;
  color: #cc1e1e;
}

.zip small {
  font-size: 14px;
}

.btn.red a.button_red {
  position: relative;
  display: inline-block;
  padding: 0.5em 0;
  width: 100%;
  height: 100%;
  border: 2px solid #cc1e1e;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  outline: none;
  transition: all .3s;
  border-radius: 32px;
  background: #cc1e1e;
  font-size: 23px;
}

.btn.red a.button_red small {
  display: block;
  font-size: 12px;
  font-weight: normal;
}

.btn.red {
  max-width: 340px;
  height: 64px;
}

.btn.red a.button_red span {
  right: 30px;
  top: 36%;
}

.facility_container .container.wh {
  background: #fff;
  max-width: 100%;
  padding: 20px 0 130px 0;
}

/*shop06*/
.shop {
  padding: 0 0 100px 0;
}

.shop .text00 {
  text-align: center;
  font-size: 18px;
  line-height: 39px;
  margin: 60px 0 20px 0;
}

.shop .text01 {
  text-align: center;
  padding: 30px 10px 20px;
}

.shop .text01 ul {
  border: 1px solid #a51c4b;
  background-color: #fff;
  margin: auto;
  padding: 20px 40px;
  display: inline-block;
  max-width: 500px;
}

.shop .text01 ul li {
  text-align: left;
  font-size: 16px;
  line-height: 1.3;
  font-weight: bold;
  padding-left: 1em;
  text-indent: -1em;
}

.shop .text01 ul li strong {
  text-decoration: underline;
  font-weight: bold;
  display: inline-block;
  text-indent: initial;
}
.facility_container.shop .menu_box .reco {
  position: absolute;
  top: -30px;
  left: -30px;
}
.shop ul li .cap {
  display: block;
  letter-spacing: -.5px;
  font-weight: bold;
}
.shop .wrap {
  max-width: 1050px;
  margin: 0 auto;
}

.shop h4 {
  text-align: center;
  margin: 0 0 50px 0;
}

.facility_container.shop .contents {
  position: relative;
  text-align: center;
  background: none;
  width: 100%;
}

.facility_container.shop .contents h3 {
  position: relative;
  font-size: 22px;
  text-align: center;
  color: #002754;
  line-height: 54px;
  margin: 130px 0 40px;
  border-top: 1px solid #002754;
  border-bottom: 1px solid #002754;
  background: none;
}

@media screen and (max-width: 800px) {
  .facility_container.shop .contents h3 {
    width: 90%;
    margin: 130px auto 40px;
  }

  .shop .menu_box {
    position: relative;
  }

  .shop .menu_box .imo {
    position: absolute;
    top: 5px;
    right: 5px;
  }
}

/*-------------- shokudo --------------*/
.shokudo_container {

  width: 95%;
  min-height: 535px;
  height: auto;
  margin: auto;
}

.shokudo_container dl {

  color: #ffffff;
  max-width: 780px;
  width: 100%;
  min-height: 535px;
  height: auto;
  margin: 0 auto;
}

.shokudo_logo {
  max-width: 580px;
  width: 95%;
  margin: auto;
  padding: 0 0 30px;
}

.shokudo_container dl {
  padding: 120px 0 20px;
}

.shokudo_container dl dd {
  padding: 0 20px;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2em;
}

.shokudo_container dl dd.comments,
.shop_container dl dd.comments {
  font-size: 13px;
  font-size: 1.3rem;
  border: 1px dotted #ffffff;
  padding: 10px;
  margin: 10px auto 0;
}

.shokudo_nav {
  max-width: 1200px;
  width: 95%;
  margin: 20px auto 40px;
  /*border: 1px solid #b8172b;*/
}

.shokudo_nav li {
  width: 20%;
  border-left: 1px solid #b8172b;
  border-top: 1px solid #b8172b;
}

.shokudo_nav li:nth-child(5),
.shokudo_nav li:last-child {
  border-right: 1px solid #b8172b;
}

.shokudo_nav li:nth-child(6),
.shokudo_nav li:nth-child(7),
.shokudo_nav li:nth-child(8),
.shokudo_nav li:nth-child(9),
.shokudo_nav li:last-child {
  border-bottom: 1px solid #b8172b;
}

.shokudo_nav li span {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.1em;
  display: block;
}

.shokudo_nav li a {
  width: 100%;
  height: 100%;
  padding: 15px 0 0;
  line-height: 1.3em;
  display: block;
  color: #b8172b;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.shokudo_nav li a:after {
  content: "▼";
  font-size: 10px;
  font-size: 1.0rem;
  display: block;
  text-align: center;
}

.shokudo_nav li a:hover {
  background: #b8172b;
  color: #ffffff;
}

.shokudo_menutitle {
  display: flex;
  align-items: center;
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.shokudo_menutitle:before,
.shokudo_menutitle:after {
  border-top: 2px solid #040000;
  content: "";
  display: inline;
  flex-grow: 1;
}

.shokudo_menutitle:before {
  margin-right: 1em;
}

.shokudo_menutitle:after {
  margin-left: 1em;
}

.shokudo_menutitle span {
  width: 110px;
  display: block;
  margin: 0 0.5em 0 0;
}

.shokudo_menutitle span.title_s {
  width: 80px;
}

.shokudo_menutitle span.title_s02 {
  width: 160px;
}

.shokudo_menutitle span.title_s03 {
  width: 120px;
}

.menu_box {
  background: #ffffff;
  margin: 0 15px 45px;
  width: 310px;
}

.menu_box.none {
  background: none;
}

.mbl {
  max-width: 810px;
  width: 100%;
  margin: 0 auto 50px;
}

.mbm {
  width: 580px;
  margin: 0 auto 50px;
}

.mbs {
  margin: 0 auto 40px;
}

.menu_box dl {
  width: 95%;
  margin: 0 auto;
  text-align: center;
}

.menu_box dt {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 20px 0 0 0;
  /*border-bottom: 1px dashed #040000;*/
}

.menu_box dd {
  font-size: 16px;
  font-size: 1.6rem;
  padding: 15px 0;
  font-weight: bold;
  color: #a51c4b;
}

.menu_box dd span {
  font-size: 12px;
  font-size: 1.2rem;
  display: inline-block;
  padding: 0.2em 0 0 0.5em;
  font-weight: bold;
}

.menu_box dd span:before {
  content: "(";
  display: inline-block;
}

.menu_box dd span:after {
  content: ")";
  display: inline-block;
}

/*-------------- shop --------------*/
.shop {
  padding: 0 0 100px 0;
}

.shop .text00 {
  text-align: center;
  font-size: 22px;
  line-height: 1.8;
  margin: 60px 0 20px 0;
  padding: 0 30px;
  font-weight: bold;
}

.shop .wrap {
  max-width: 1050px;
  margin: 0 auto;
}

.shop.eat .wrap {
  max-width: 1100px;
  margin: 0 auto;
}

.shop h4 {
  text-align: center;
  margin: 0 0 50px 0;
}

.facility_container.shop .contents {
  position: relative;
  text-align: center;
  background: none;
  width: 100%;
}

.facility_container.shop .contents h3 {
  position: relative;
  font-size: 22px;
  text-align: center;
  color: #002754;
  line-height: 54px;
  margin: 130px auto 40px;
  border-top: 1px solid #002754;
  border-bottom: 1px solid #002754;
  background: none;
}

.shop .menu_box {
  position: relative;
}

.shop .menu_box .imo {
  position: absolute;
  top: 5px;
  right: 5px;
}

.shop .menu_box small {
  padding: 0 20px 25px;
  display: block;
  font-size: 12px;
  line-height: 1.5;
}

.nophoto {
  background: #fff;
  max-width: 1050px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  padding: 25px 105px 25px 40px;
  color: #002754;
  font-size: 16px;
}

.nophoto.mgt40 {
  margin: 40px auto 0;
}

.nophoto.mgt70 {
  margin: 70px auto 0;
}

.nophoto h4 {
  font-size: 20px;
  font-weight: bold;
  position: relative;
}

.nophoto h4:after {
  position: absolute;
  border-bottom: 2px dashed #778ca4;
  display: block;
  content: "";
  width: 100px;
  top: 32px;
}

.nophoto .box01 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.nophoto .box01 div {
  font-weight: bold;
  overflow-wrap: break-word;
  word-break: keep-all;
  text-align: left;
}

.nophoto .box01.single {
  justify-content: center;
}

.nophoto .box01.single dl {
  justify-content: center;
  max-width: 700px;
  width: 100%;
}

.nophoto dl {
  display: flex;
  flex-wrap: wrap;
  max-width: 470px;
  width: 47%;
  justify-content: space-between;
  margin: 7px 0;
}

.nophoto dt span {
  display: block;
  font-size: 12px;
  line-height: 1.5;
  padding-left: 1.8em;
}

.nophoto dd {
  font-weight: bold;
  color: #a51c4b;
}

.nophoto dd span:before {
  content: "(";
  display: inline-block;
}

.nophoto dd span:after {
  content: ")";
  display: inline-block;
}

.nophoto dd span {
  font-size: 12px;
  font-size: 1.2rem;
  display: inline-block;
  padding: 0.2em 0 0 0.5em;
  font-weight: bold;
}

.nophoto .box01 p {
  display: block;
  width: 100%;
  position: relative;
  color: #a51c4b;
  margin: 20px 0;
}

.nophoto .box01 p span {
  background: #fff;
  position: relative;
  z-index: 1;
  padding: 0 40px;
  font-size: 26px;
  font-weight: bold;
}

.nophoto .box01 p:before {
  position: absolute;
  display: block;
  content: "";
  max-width: 1100px;
  width: 100%;
  height: 1px;
  background: #a51c4b;
  top: calc(50% - 1px);
}

.shop .box00 {
  background: url("../img/shop_menu_bg.jpg") center center no-repeat;
  background-size: contain;
  width: 95%;
  height: 280px;
  max-width: 1140px;
  margin: 45px auto 0;
  padding: 0 20px;
}

.shop .box00 ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 100%;
  padding: 0 18%;
}

.shop .box00 ul li {
  max-width: 119px;
  width: 18%;
}

h2.s_logo {
  margin: 60px 0 55px 0;
}

@media screen and (max-width: 800px) {
  .shop .box00 {
    background: url("../img/shop_menu_bgsp1.jpg") center center no-repeat;
    background-size: contain;
    width: 95%;
    height: 130vw;
    ;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .shop .box00 ul {
    flex-wrap: wrap;
    padding: 0 13%;
  }

  .shop .box00 ul li {
    width: 34%;
    max-width: 100%;
  }

  .shop .box00 ul li img {
    width: 100%;
    height: auto;
  }

  .shop h2 {
    width: 63%;
    margin: 0 auto 10vw;
  }

  .shop.eat h2 {
    width: 90%;
    margin: 10vw auto;
  }
}

@media (max-width: 800px) {

  /*.nophoto, .nophoto dl{flex-direction: column;}*/
  .nophoto {
    text-align: center;
    padding: 25px 10px;
    width: 90%;
  }

  .nophoto h4:after {
    left: calc(50% - 50px);
  }

  .nophoto dl {
    margin: 12px auto 25px;
    width: 100%;
  }
}

/*shop01~05*/
h2.menu {
  text-align: center;
  position: relative;
  max-width: 1240px;
  margin: 50px auto 0;
}

h2.menu:before {
  position: absolute;
  display: block;
  content: "";
  max-width: 430px;
  width: 25vw;
  height: 2px;
  background: #002754;
  bottom: 26px;
}

h2.menu:after {
  position: absolute;
  display: block;
  content: "";
  max-width: 430px;
  width: 25vw;
  height: 2px;
  background: #002754;
  bottom: 26px;
  right: 0;
}

h2.t_menu {
  position: relative;
  color: #a51c4b;
  margin: 60px 0;
}

h2.t_menu span {
  background: #e4f4d7;
  position: relative;
  z-index: 1;
  padding: 0 40px;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.1;
}

h2.t_menu:before {
  position: absolute;
  display: block;
  content: "";
  max-width: 1100px;
  width: 100%;
  height: 1px;
  background: #a51c4b;
  top: calc(50% - 2px);
}

h2.t_menu:after {
  position: absolute;
  display: block;
  content: "";
  max-width: 1100px;
  width: 100%;
  height: 1px;
  background: #a51c4b;
  bottom: calc(50% - 2px);
}

.eat .facility_nav.flex {
  max-width: 1100px;
  width: 100%;
}

.eat .facility_nav li {
  max-width: 200px;
  width: 18%;
  margin: 0 0 20px 0;
}

/*.eat .facility_nav li:nth-child(5){margin: 0 0 20px 108px;}
.eat .facility_nav li:nth-child(7){margin: 0 108px 20px 0;}*/
.eat.shop .menu_box .reco {
  position: absolute;
  top: -10%;
  left: -10%;
}

@media screen and (max-width: 800px) {
  h2.menu {
    width: 90%;
  }

  h2.menu img {
    width: 20vw;
  }

  .eat .facility_nav {
    width: 83%;
  }

  .eat .facility_nav li {
    width: 45%;
  }

  .eat .facility_nav li:nth-child(5),
  .eat .facility_nav li:nth-child(7) {
    margin: 0 0 20px 0;
  }
}

.nophoto.v02 {
  padding: 28px 35px;
}

/*.nophoto.v02 dl{margin: 0 0 25px 0;width: 345px;float: left;}
.nophoto.v02 dl:nth-child(2n){margin: 0 0 25px 40px;}*/
.nophoto.v02 dt {
  font-weight: bold;
  text-align: left;
  width: 70%;
}

.nophoto.v02 dd {
  width: 30%;
}

@media (max-width: 800px) {
  .nophoto.v02 dl {
    margin: 0 0 25px 0;
    width: 100%;
    float: left;
    text-align: center;
  }

  .nophoto.v02 dl:nth-child(2n) {
    margin: 0 0 25px 0;
  }
}

@media (max-width: 500px) {

  .nophoto.v02 dt,
  .nophoto.v02 dd {
    width: 100%;
    text-align: center;
  }
}

/*-------------- news --------------*/
.news_contents {
  padding: 120px 0;
  border-bottom: 1px dashed #ece6d7;
}

.boder_b_none {
  border-bottom: none;
}

.news_photo {
  width: 470px;
  text-align: center;
  margin: 0 auto;
}

.news_box {
  width: calc(100% - 470px);
  position: relative;
  padding: 0 60px;
}

.news_box .tag_news {
  left: 0;
  width: 8em;
}

.news_item {
  padding: 10px 0 0;
}

.news_title {
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: bold;
  margin: 0 0 35px 0;
}

.news_item_time {
  display: block;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: bold;
  margin: 0 0 20px 0;
}

.googlemap_wrap {
  max-width: 500px;
}

.googlemap {
  margin: 1em 0;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}

.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*.news_title:after {
display: block;
content: "―";
line-height: 1.5em;
}*/
/*-------------- media --------------*/
.p03 {
  background: #e4f4d7;
}

.p03 .box00 {
  background: #fff;
  padding: 0 50px 35px;
  max-width: 1000px;
  margin: 0 auto 100px;
}

.media_menu {
  margin: 30px auto 70px;
  max-width: 680px;
}

.media_menu li {
  width: 28%;
  border: 1px solid #a51c4b;
  outline: 1px solid #a51c4b;
  outline-offset: 5px;
}

.media_menu li a {
  display: block;
  width: 100%;
  height: 100%;
  color: #a51c4b;
  font-weight: bold;
  text-align: center;
  font-size: 16px;
  font-size: 1.5rem;
  padding: 12px 0;
  position: relative;
  transition-property: all;
  transition: 0.3s linear;
}

.media_menu li a:hover {
  background: #a51c4b;
  color: #ffffff;
}

.media_menu li a:after {
  position: absolute;
  bottom: -25px;
  left: calc(50% - 13px);
  content: "";
  width: 0;
  height: 0;
  border-left: 13px solid transparent;
  border-right: 13px solid transparent;
  border-top: 13px solid #a51c4b;
}

.title_c {
  color: #b8172b;
  text-align: center;
  margin: auto;
  padding: 40px 0 60px;
}

.media_tv {
  padding: 50px 0 100px;
  margin: 0 auto 30px;
}

.media_magazine {
  padding: 50px 0;
  margin: 0 auto 30px;
}

.media_web {
  padding: 50px 0;
}

.media_box {
  max-width: 1000px;
  width: 95%;
  border-bottom: 1px #c5c0bf dashed;
  padding: 20px 0 30px;
  margin: 0px auto;
}

h3+.media_box {
  border-top: 1px #c5c0bf dashed;
}

.media_box_last {
  max-width: 1000px;
  width: 95%;
  padding: 30px 0 40px;
  margin: 0 auto 10px;
}

.media_title {
  /*border-radius: 12px;*/
  background: #a51c4b;
  width: 100%;
  margin: 5px auto 10px;
  color: #ffffff;
  font-size: 16px;
  font-size: 1.6rem;
  padding: 8px 15px;
  text-align: center;
}

.media_photo {
  max-width: 450px;
  width: 100%;
  margin: 0 auto;
}

.media_text_box {
  max-width: 450px;
  width: 100%;
  margin: 50px auto;
}

.media_text_box .btn {
  display: block;
  margin: 0 auto;
  text-align: center;
}

.center {
  text-align: center;
}

/*mediainfo_common*/
.mediainfo_title {
  color: #B8172B;
  font-size: 22px;
  font-size: 2.2rem;
  text-align: center;
  margin: 10px auto;
  font-weight: bold;
}

.mediainfo_title:before {
  content: '◇';
  display: inline-block;
  vertical-align: middle;
  margin: 0 15px 0 0;
}

.mediainfo_title:after {
  content: '◇';
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 15px;
}

.mediainfo_main {
  max-width: 580px;
  width: 100%;
  margin: 15px auto 0;
}

.mediainfo_main p {
  padding: 10px 0 0 0;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  color: #B8172B;
}

.mediainfo_item {
  max-width: 900px;
  width: 100%;
  margin: 25px auto 15px;
}

.mediainfo_item p {
  text-align: center;
}

.mediainfo_item .btn {
  margin: 30px auto;
}

/*bus_common*/
.marker_yellow {
  background: linear-gradient(transparent 60%, #e8cf00 60%);
  font-weight: bold;
}

.kanko_bus {
  color: #B8172B;
  font-size: 22px;
  font-size: 2.2rem;
  text-align: center;
  margin: 10px auto;
  font-weight: bold;
}

.kanko_bus_main {
  max-width: 580px;
  width: 100%;
  margin: 15px auto 0;
}

.kanko_bus_main p {
  padding: 10px 0 0 0;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}

.kanko_bus_item {
  max-width: 900px;
  width: 100%;
  margin: 25px auto 15px;
  padding: 25px 15px 25px;
  border-top: 1px dashed #B8172B;
  border-bottom: 1px dashed #B8172B;
}

.kanko_bus_item dl {
  padding-bottom: 25px;
}

.kanko_bus_item dt {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #B8172B;
}

.kanko_bus_item dt:before {
  content: "◎";
  font-weight: bold;
  margin-right: 0.5em;
}

p.kanko_bus_contact {
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.2em;
}

@media screen and (max-width: 600px) {
  .mediainfo_main p {
    text-align: left;
  }

  .mediainfo_item p {
    text-align: left;
  }

  .kanko_bus {
    text-align: left;
  }

  .kanko_bus:after {
    display: none;
  }

  .kanko_bus_main p {
    text-align: left;
  }
}


/*-------------- privacy --------------*/
.privacy_contents {
  max-width: 1240px;
  width: 95%;
  margin: 0 auto;
  padding: 10px 0 50px;
}

.privacy_contents dl {
  padding: 20px;
}

.privacy_contents dl dt {
  font-weight: bold;
  padding-bottom: 5px;
}

.privacy_contents dl dd {
  padding-bottom: 10px;
}

/*-------------- contact --------------*/
/*p07*/
.p07 {
  background: #e4f4d7;
  padding: 0 0 100px 0;
}

.p07 form {
  border-top: 1px dashed #000;
  width: 90%;
  margin: 0 auto;
}

.p07 .table_a,
.p07 .table_a th,
.p07 .table_a td {
  border: none;
  background: none;
}

.p07 .table_a th {
  width: 25%;
}

.p07 input,
.p07 textarea {
  border: 1px solid #0b4d84;
  padding: 15px 10px;
}

@media screen and (max-width: 600px) {
  .p07 .table_a th {
    width: 100%;
    background: #e9e9e9;
  }

  .p07 .contact_contents .wrap {
    padding: 10vw 0;
  }

  .p07 .contact_contents .table_a th {
    padding: 20px;
  }

  .p07 .contact_contents {
    padding: 10vw 0 0 0;
  }
}

.p07 .contact_contents .table_a td {
  padding: 15px 0;
}

.p07.comf .contact_contents .table_a td {
  padding: 20px 0;
}

.contact_contents {
  background: #fff;
  margin: 60px auto 0;
  max-width: 1100px;
  width: 95%;
  padding: 60px 0 0 0;
}

.thank .contact_contents {
  padding: 60px 0;
}

.contact_contents h3 {
  font-size: 22px;
  text-align: center;
  font-weight: bold;
  color: #002754;
  margin: 30px 0;
}

.contact_contents .wrap {
  max-width: 1180px;
  margin: 0 auto;
  background: #fff;
  padding: 50px 0 85px 0;
}

.contact_contents .table_a {
  max-width: 800px;
  margin: 0 auto 15px;
}

.contact_contents .table_a th {
  text-align: left;
  padding: 25px 0 20px 30px;
}

.contact_contents.confirm .table_a th {
  padding: 10px;
}

.contact_contents .table_a td {
  padding: 10px;
}

.contact_contents .btn {
  margin: 60px auto 0;
}

.contact_mediabtn {
  margin: 15px auto 0;
}

.contact_mediabtn a:link {
  color: #0b4d84;
  text-decoration: underline;
  font-weight: bold;
}

.contact_media {
  position: relative;
  padding: 10px 0 20px;
  max-width: 594px;
  text-align: center;
  width: 100%;
  margin: 15px auto 80px;
}

.contact_media:before,
.contact_media:after {
  content: '';
  width: 15px;
  height: 100%;
  position: absolute;
}

.contact_media:before {
  border-left: dotted 1px #000000;
  border-top: dotted 1px #000000;
  border-bottom: dotted 1px #000000;
  top: 0;
  left: 0;
}

.contact_media:after {
  border-right: dotted 1px #000000;
  border-top: dotted 1px #000000;
  border-bottom: dotted 1px #000000;
  top: 0;
  right: 0;
}

.contact_media dt {
  font-size: 15px;
  margin: 0 0 15px 0;
  text-align: center;
  font-weight: bold;
}

.contact_media .btn {
  margin: 60px auto 0;
}

@media screen and (max-width: 800px) {
  .contact_contents h3 {
    font-size: 22px;
  }

  .contact_media {
    width: 90%;
    margin: 15px auto 10vw;
  }
}

/*========================================================================= responsive =========================================================================
==================================================================================================================================================*/
@media screen and (max-width: 900px) {
  .fl {
    float: none;
  }

  .fr {
    float: none;
  }

  .top_info02>li:last-child {
    width: 100%;
    border-top: 1px dotted #040000;
  }

  .top_access {
    background-size: 215px 145px;
  }

  .top_access .contents {
    background-size: 175px 135px;
  }

  .facility_access .contents {
    background-size: 175px 135px;
  }
}

@media screen and (max-width: 900px) {
  nav {
    bottom: inherit;
    padding: 0;
  }

  nav ul {
    display: block;
  }

  .drawer-open {
    overflow: hidden !important;
  }
  .onlin{
        background-color: rgba(171, 37, 71, 0.95);
    
    border-radius: 5px;
    padding: 0;
  }
  .onlin-a{
    margin: 0;
    font-size: 16px;
  }
  a.onlin-a {
    color: rgb(171, 37, 70);
    text-align: center;
  }
  .drawer-nav {
    position: fixed;
    z-index: 501;
    top: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
    background: #fff;
    padding: 20vw 10vw;
  }

  .drawer-brand {
    font-weight: bold;
    line-height: 3.75rem;
    display: block;
    padding-right: .75rem;
    padding-left: .75rem;
    text-decoration: none;
  }

  .drawer-menu {
    margin: 0;
/*margin-top: 180px; スマホメニュー上部余白*/
    padding: 0;
    list-style: none;
    position: relative;
    z-index: 103;
    text-align: center;
  }

  .drawer-menu li a {
    width: 100%;
    display: block;
    padding: 12px 0;
    line-height: 1.8em;
    position: relative;
    z-index: 104;
    color: #000;
    margin-bottom: 10px;
  }
  .drawer-menu li a.onlin-a
  {
    color: #fff;
    font-weight: bold;
  }
  .drawer-menu li .menu_contents a {
    text-indent: 6vw;
    position: relative;
  }

  .drawer-menu li .menu_contents a:before {
    content: "-";
    color: #fff;
    margin: 0 7px 0 0;
  }

  .drawer-menu li a:hover {
    color: #ffffff;
    position: relative;
    z-index: 105;
  }

  .drawer-overlay {
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .1);
  }

  .drawer-open .drawer-overlay {
    display: block;
  }

  .drawer--top .drawer-nav {
    top: -100%;
    left: 0;
    width: 100%;
    height: 100vh;
    max-height: 100%;
    -webkit-transition: top .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: top .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  }

  .drawer--top.drawer-open .drawer-nav {
    top: 0px;
  }

  .drawer--top .drawer-hamburger,
  .drawer--top.drawer-open .drawer-hamburger {
    right: 5px;
  }

  .drawer-hamburger {
    position: fixed;
    z-index: 999;
    top: 7px;
    right: 0;
    display: block;
    box-sizing: content-box;
    width: 2.5rem;
    padding-top: 8px;
    padding-right: 1.1rem;
    padding-bottom: 20px;
    padding-left: 1rem;
    -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    border: 0;
    outline: 0;
    background-color: transparent;
  }

  
  .drawer-hamburger:hover {
    cursor: pointer;
  }

  .drawer-hamburger-icon {
    position: relative;
    display: block;
    margin-top: 15px;
  }

  .drawer-hamburger-icon,
  .drawer-hamburger-icon:before,
  .drawer-hamburger-icon:after {
    width: 100%;
    height: 3px;
    -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    background-color: #b8172b;
  }

  .drawer-hamburger-icon:before,
  .drawer-hamburger-icon:after {
    position: absolute;
    top: -10px;
    left: 0;
    content: ' ';
  }

  .drawer-hamburger-icon:after {
    top: 10px;
  }

  .drawer-open .drawer-hamburger-icon {
    background-color: transparent;
  }

  .drawer-open .drawer-hamburger-icon:before,
  .drawer-open .drawer-hamburger-icon:after {
    top: 0;
  }

  .drawer-open .drawer-hamburger-icon:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    background-color: rgb(171, 37, 70);
  }

  .drawer-open .drawer-hamburger-icon:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    background-color: rgb(171, 37, 70);
  }

  .sr-only {
    position: absolute;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
  }

  .sr-only-focusable:active,
  .sr-only-focusable:focus {
    position: static;
    overflow: visible;
    clip: auto;
    width: auto;
    height: auto;
    margin: 0;
  }

  footer .container dl {
    width: 100%;
    padding: 10vw 10vw 0 10vw;
  }

  footer .container dl:nth-child(2) {
    padding: 10vw 10vw 0 10vw;
  }

  footer .container dl:nth-child(3) {
    border-left: none;
    line-height: 2.5;
    padding: 10vw 10vw 15vw 10vw;
  }

  .main_title {
    bottom: 0;
  }

  .main_title02 {
    right: 0;
  }

  .top_message {
    background-size: cover;
  }

  .top_message div {
    padding: 30px 15px 20px;
  }

  .photo_mayor {
    width: 150px;
    margin: 0 auto 10px;
  }

  .top_message_text {
    width: 100%;
  }

  .top_thummenu li {
    width: 100%;
  }

  .facility_thummenu dl {
    width: 100%;
    padding: 20px;
  }

  .facility_thummenu p.shop_photo01 {
    width: 100%;
    height: 300px;
  }

  .facility_thummenu p.shop_photo02 {
    width: 100%;
    height: 300px;
  }

  .news_photo {
    width: 280px;
    margin: 0 auto 30px;
  }

  .news_box {
    width: 100%;
  }
}

@media screen and (max-width: 600px) {
  .top_newsarea li {
    margin: 0 0 20px 0;
  }

  footer .container {
    padding: 30px 0;
  }

  .center_a {
    /*text-align: left;*/
  }

  .bg-slider {}

  .top_info02>li {
    width: 100%;
    border-bottom: 1px dotted #040000;
  }

  .top_info02 li:last-child {
    border-top: none;
    border-bottom: none;
  }

  .table_a {
    /*border: none;*/
  }

  .table_a th {
    width: 100%;
    display: block;
  }

  .table_a td {
    width: 100%;
    display: block;
    border: none;
  }

  .concept_container p {
    /*text-align: left;*/
  }
}

@media screen and (max-width: 400px) {
  footer .container dl {
    /* padding: 30px 10px;*/
  }

  .main_title {
    /*top: 35%;*/
  }

  .top_concept_text {
    /*text-align: left;*/
  }

  .top_newsarea li a {
    width: 100%;
  }

  .top_news_photo {

    margin: 0 auto;
  }

  .top_news_item {}
}

/* 20230502 追加 */
.top_access ul li p.nav_info {
  padding: 15px 30px 20px;
  border: 1px #3968b7 dashed;
  margin: 20px auto 15px;
  max-width: 90%;
}

.top_access ul li p.nav_info strong {
  display: block;
  text-align: center;
  color: #3968b7;
  font-weight: 900;
  text-decoration: underline;
  padding-bottom: 10px;
}

.top_access ul li p.nav_info a {
  text-decoration: underline;
}

@media screen and (max-width: 800px) {
  .top_access ul li p.nav_info {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 10px;
  }
}

/* 2023/05/11 追加 */
.QandA {
  width: 90%;
  max-width: 800px;
  margin: 60px auto 60px;
}

.QandA h4 {
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  display: block;
  margin: 0 0 20px;
}

.QandA .toggle {
  display: none;
}

.QandA .option {
  position: relative;
  margin-bottom: 1em;
}

.QandA .title,
.QandA .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}

.QandA .title {
  padding: 0.2em;
  display: flex;
  color: #333;
  background-color: #f7f7f5;
  font-weight: bold;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  margin: 15px 0 5px 0;
  cursor: pointer;
}

.QandA .title strong {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  line-height: 1.4;
  font-size: 15px;
  max-width: 85%;
}

.QandA .title strong::before {
  content: "Q.";
  font-family: "Hiragino Kaku Gothic ProN" !important;
  font-size: 21px;
  color: #235f90;
  font-weight: bold;
  margin: 0 15px 0 5px;
}

.QandA .title span {
  position: relative;
  background-color: #ccc;
  width: 30px;
}

.QandA .title span::after,
.QandA .title span::before {
  content: "";
  position: absolute;
  right: 43%;
  top: 35%;
  width: 2px;
  height: 0.75em;
  background-color: #fff;
  transition: all 0.3s;
}

.QandA .title span::after {
  transform: rotate(90deg);
}

.QandA .content {
  max-height: 0;
  overflow: hidden;
  background-color: #f7f7f7;
  margin: 0 0 0 20px;
  border-radius: 6px;
  position: relative;
  padding-left: 55px;
}

.QandA .content::before {
  content: "A.";
  font-family: "Hiragino Kaku Gothic ProN" !important;
  position: absolute;
  top: 10px;
  left: 14px;
  font-size: 21px;
  color: #03243f;
  font-weight: bold;
  line-height: 1.2;
}

.QandA .content .inner {
  margin: 10px 10px 0 0;
  padding: 0 0 .5em 0;
  line-height: 1.5;
  font-size: 15px;
}

.QandA .content .inner p small {
  font-size: 90%;
}

.QandA .content .inner ul {
  margin: .5rem 0 .5rem 2.4rem;
}

.QandA .content .inner ul li {
  list-style-type: disc;
}

.QandA .toggle:checked+.title+.content {
  max-height: 2000px;
  transition: all 1.5s;
}

.QandA .toggle:checked+.title span::before {
  transform: rotate(90deg) !important;
}

/* 2023/05/12 追加 */
footer .container dl dt.joboffer {
  margin-top: 30px;
  padding-bottom: 10px;
}

footer .container dl dd.joboffer {
  display: inline-block;
  text-align: center;
}

footer .container dl dd.joboffer a {
  font-size: 85%;
}

footer .container dl dd.joboffer a img {
  width: 110px;
  display: block;
}

@media screen and (max-width: 800px) {
  footer .container dl dd.joboffer a {
    font-size: 100%;
  }

  footer .container dl dd.joboffer a img {
    width: 100%;
    margin-bottom: 4px;
  }
}

/* 20230904追加 */

.outline_wh>ul {
  border: 1px solid #ffffff;
  font-size: 14px;
  font-size: 1.4rem;
  padding: 4px 12px;
  display: inline-block;
}

.outline_wh>ul>li {
  line-height: 1.4;
  margin-bottom: 8px;
}

.outline_wh>ul>li:nth-of-type(1) {
  margin-top: 8px;
}

.outline_wh>ul>li:nth-last-of-type(1) {
  color: #ffffff;
  text-indent: -1em;
  padding-left: 1em;
  font-size: 90%;
}

.outline_wh>ul li a {
  color: #ffffff;
}

/* 黄金極細けんぴ商品情報 */
.p-shopping__item {
  background-color: #ffffff;
  margin: 55px 20px 45px;
}
.p-shopping__item-image {
  width: 100%;
  aspect-ratio: 1152 / 500;
  object-fit: cover;
}
.p-shopping__item-name,
.p-shopping__item-text,
.p-shopping__item-description,
.p-shopping__item-price {
  text-align: center;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", 'Open Sans', sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: bold;
}
.p-shopping__item-name {
  margin-top: 20px;
}
.p-shopping__item-text {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.p-shopping__item-text dl {
  margin-top: 15px;
}
.p-shopping__item-description {
  letter-spacing: -.5px;
}
.p-shopping__item-price {
  color: #A51C4B;
  padding-bottom: 15px;
  margin-top: 15px;
}
.p-shopping__item-tax {
  font-size: 12px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-shopping__item-image {
    aspect-ratio: 1666 / 500;
  }
  .p-shopping__item-text {
    flex-direction: row;
    justify-content: space-around;
  }
  .p-shopping__item-text dl {
    margin-top: initial;
  }
}



/* ---------------------tamagoya 20250114-------------------------- */
.tamagoya-bana{
    margin: 0 auto;
    text-align: center;
    margin-top: 100px;
    width: 80%;
    align-items: center;
}
.bana-img2{
  display: block;
}
.bana-img{
  display: none;
  margin: 0 auto;
}

.bana-img3{
  margin: 0 auto;
    text-align: center;
  align-items: center;
  width: 80%;
}
@media screen and (min-width: 600px) {
  .tamagoya-bana{
    text-align: center;
    width: 85%;
}
.bana-img2{
  display: none;
}
.bana-img{
  display: block;
  width: 80%;
  margin: 0 auto;
}
.bana-img3{
  width: 53%;
}
}
/* @media screen and (min-width: 300px) {
  .tamagoya-bana{
    text-align: center;
    width: 85%;
  }
  .bana-img3{
    margin: 0 auto;
      text-align: center;
    align-items: center;
    width: 100%;
  }
} */
/* .tamagoya-bana{
  margin: 0 auto;
  text-align: center;
  margin-top: 100px;
  width: 80%;
}
.bana-img{
display: flex;
align-items: center;
}
.tama-logp-img2{
width: 70%;
}
.box-tama2{
width: 60%;
margin: 1px;
background-color: #ffffff;
}
.box-tama{
width: 40%;
}
.bana-img h2{
margin-top: 10px;
}
.bana-img p{
margin: 10px;
}

@media screen and (min-width: 600px) {
.bana-img{
  display: flex;
  align-items: center;
}
.box-tama2{
  width:400px;
  margin: 1px;
  background-color: #ffffff;
}
.box-tama{
  width:400px;
}
.bana-img h3{
  margin:0 auto;
  margin-top: 5px;
}
.bana-img p{
  margin: 3px;
}
} */