body {
  color: #000;
  opacity: 0;
  animation-duration: 3s;
  animation-iteration-count: 1;
  animation-name: opa1;
  animation-fill-mode: forwards;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

@keyframes opa1 {

  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }

}

.top_header {
  width: 100%;
  height: 100%;

  display: grid;
  align-items: center;

  background-repeat: no-repeat;
  background-position: 50% 93%;
  animation-name: ScrollMove;
  animation-fill-mode: forwards;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  background-size: 40px;

}

.main-logo img {
  max-width: 400px;
}

@media screen and (max-width:767px) {
  .main-logo img {
    max-width: 80%;
  }
}

.thp {
  width: 100%;
  height: 100svh;
  background-image: url(../images/main.jpg);
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}

.tpst .thp {
  height: 480px;
}

.thpf {
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.4);
}

.thpw {
  width: 100%;
  height: 100%;
  background-image: url(../images/top_com_lg.png);
  background-repeat: no-repeat;
  background-size: 110px;
  background-position: 200px 55%;
}


@media screen and (max-width:1480px) {
  .thpw {
    width: 100%;
    height: 100%;
    background-image: url(../images/top_com_sm.png);
    background-repeat: no-repeat;
    background-size: 600px;
    background-position: 50% 20%;
  }
}

@media screen and (max-width:990px) {
  .thpw {
    width: 100%;
    height: 100%;
    background-image: url(../images/top_com_sm.png);
    background-repeat: no-repeat;
    background-size: 500px;
    background-position: 50% 20%;
  }

  .thp {
    width: 100%;
    height: calc(100svh - (990px - 100vw));
  }
}

@media screen and (max-width:767px) {
  .thpw {
    width: 100%;
    height: 100%;
    background-image: url(../images/top_com_sm.png);
    background-repeat: no-repeat;
    background-size: 60%;
    background-position: 50% 23%;
  }

  .thp {
    width: 100%;
    height: calc(618px - (767px - 100vw) /1.5);
  }
}

@keyframes ScrollMove {

  0% {
    background-position: 50% 94%;
  }

  100% {
    background-position: 50% 92%;
  }

}

.top_menu {
  list-style: none;
  max-width: 670px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-right: auto;
  margin-left: auto;
  font-size: 90%;
}

.top_menu li {
  color: #323232;
  font-size: 90%;
  font-weight: 800;
  margin-top: 30px;
  text-align: center;
  text-shadow: #fff 2px 2px 4px, #fff -2px -2px 4px, #fff -1px -1px 4px, #fff 1px 1px 4px;

}

.top_menu li>a:link,
.top_menu li>a:hover,
.top_menu li>a:visited {
  color: #323232;

}

.anch {
  transform: rotate(0.05deg);
  -webkit-transform: scale(1.001, 1);
  -moz-transform: scale(1.001, 1);
  -ms-transform: scale(1.001, 1);
  -o-transform: scale(1.001, 1);
  transform: scale(1.001, 1);
  transform: rotate(0.05deg);
}



.top_menu li>a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}





.top_prof {
  background: linear-gradient(rgba(0, 0, 0, 0.40), rgba(0, 0, 0, 0.40)), url("../image/ha_bg2.jpg");
  background-size: cover;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  color: #fff;
  font-weight: 600;
  line-height: 200%;
  padding-top: 70px;
  padding-bottom: 50px;
  position: relative;
  background-position: 50% 50%;

}


.top_contents_topic {
  padding-top: 30px;
  padding-bottom: 0px;



  color: #000;
}

.top_topic {}


.top_sec1 {
  margin-top: 30px;
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}

.more_button {
  width: 200px;
  height: 40px;
  text-align: center;
  display: block;
  border: 1px solid #000000;
  color: #000000;
  font-weight: 600;
  font-size: 90%;
  background-image: url(../image/hl_arrow.svg);
  background-repeat: no-repeat;
  background-position: 93% 50%;
  padding-top: 6px;
}

.p2_button {
  width: 250px;
  height: 40px;
  text-align: center;
  display: block;
  border: 1px solid #000000;
  color: #000000;
  font-weight: 600;
  font-size: 90%;
  background-image: url(../image/hl_arrow.svg);
  background-repeat: no-repeat;
  background-position: 93% 50%;
  padding-top: 6px;
}

.minim {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.more_button a:link,
.more_button a:hover,
.more_button a:visited {
  color: #000000;
}

.topic_com a:link,
.topic_com a:hover,
.topic_com a:visited {
  color: #000000;
}

.topic_com {
  margin-top: -60px;

}

.top_topic_ch {
  font-size: 80%;
  font-weight: 500;
  color: #000;
}

.obj_center {
  margin-right: auto;
  margin-left: auto;
}

h2 {

  font-weight: bold;
  font-size: 130%;
  margin-bottom: 20px;
  font-family: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
}

.h_border {
  height: 2px;
  width: 40px;
  background-color: #000;
  margin-bottom: 15px;
}

.hc_border {
  height: 2px;
  width: 40px;
  background-color: #000;
  margin-bottom: 30px;
}

.top_topic {
  margin-top: 30px;
  margin-bottom: 30px;
}

.topic_date,
.topic_com {
  padding-right: 20px;
  font-weight: 500;
  padding-bottom: 5px;
}

.top_topic tr {
  margin-bottom: 15px;
}

.top_topic_right_contents {
  padding-top: 70px;
}

.topic_marche {
  margin-top: 60px;
}

.text_center {
  text-align: center;
}

.top_contents_bunjo {
  padding-top: 80px;
  padding-bottom: 50px;
  margin-right: auto;
  margin-left: auto;

  color: #000;
}

.bunjo_img {
  max-width: 300px;
  height: 200px;
  display: block;
  background-size: cover;
  margin-top: 10px;
  background-position: 50% 50%;
}

.bunjo_item {
  padding: 30px;
  position: relative;

}

.bunjo_item2 {
  padding: 20px;
  position: relative;

}

.bunjo_item::before,
.bunjo_item::after {
  content: '';
  width: 30px;
  height: 30px;
  position: absolute;
}

.bunjo_item::before {
  border-left: solid 1px #666;
  border-top: solid 1px #666;
  top: 0;
  left: 0;
}

.bunjo_item::after {
  border-right: solid 1px #666;
  border-bottom: solid 1px #666;
  bottom: 0;
  right: 0;
}

.bunjo_com {
  margin-bottom: 35px;
  text-align: center;
}

.bunjo_h {
  margin-top: 15px;
  margin-bottom: 15px;
  font-weight: 600;
  font-size: 100%;
}

.bunjo_item_com {
  font-size: 80%;
  text-align: left;
  line-height: 176%;
}

.bunjo_button {
  margin-top: 20px;

}

.bunjo_button a {
  margin-right: auto;
  margin-left: auto;
  margin-top: 10px;
}

.bunjo_area {
  margin-bottom: 40px;
}

.twitter-timeline {
  width: 90%;
}

@media screen and (max-width:991px) {
  .twitter-timeline {
    width: 100%;
  }
}

.twit_button_mt {
  margin-top: 45px;
}


.gmap2 {
  height: 0;
  overflow: hidden;
  padding-bottom: 100.25%;
  position: relative;
  overflow: hidden;
}

.gmap2 iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  margin-top: 0px;
}

.access_com {
  margin-bottom: 30px;
}


.mapbottom {
  padding-bottom: 40px;
}


.maps iframe,
.maps object,
.maps embed {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

.gmap_bm {
  margin-top: -140px;
}

.top_shop_hd {
  font-weight: 600;
  padding-bottom: 20px;
}

.shop_com_lh {
  line-height: 130%;
}

.bfoot {
  background-color: #426B65;
  padding-top: 40px;
  padding-bottom: 15px;
}


.footer_menu ul {
  list-style: none;
  max-width: 350px;
  display: grid;

  margin-right: auto;
  margin-left: auto;
  color: #fff;
  font-size: 80%;
  padding-top: 20px;
  padding-bottom: 0px;
}


.footer_menu li>a:link,
.footer_menu li>a:hover,
.footer_menu li>a:visited {
  color: #fff;
  font-size: 90%;
}

.footer_menu_sm li>a:link,
.footer_menu_sm li>a:hover,
.footer_menu_sm li>a:visited {
  color: #fff;
  font-size: 90%;
  font-weight: 400;
}

.fcredit {
  font-size: 80%;
  padding-top: 20px;
}

.ffoot {
  background-color: #f1f1f1;
  padding-top: 40px;
  padding-bottom: 50px;

}

.ffoot_inner {
  max-width: 1080px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width:992px) {
  .contact_icon {
    max-width: 240px;
  }
}

.contact_com {
  font-size: 80%;
  color: #000;
  margin-top: 15px;
}

.ffoot_contact_area {
  border-right: solid 1px #666;
  padding-top: 20px;
  padding-bottom: 20px;
}

.ft_tel_h,
.ft_mail_h {
  border-bottom: solid 1px #000;
  color: #000;
  font-weight: 600;
  padding-bottom: 8px;
  margin-bottom: 10px;
}

.ft_tel_com {
  font-size: 160%;
  font-weight: 700;
  color: #000;
  float: left;


}

.ft_tel_icon {
  float: left;
  padding-top: 9px;
  padding-right: 5px;
}

.footer {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  color: #000 !important;
}

.ft_time_com {
  font-size: 80%;
  padding-left: 30px;
}


.p3_button {
  width: 100%;
  height: 40px;
  text-align: left;
  display: block;
  border: 1px solid #000000;
  color: #000000;
  font-weight: 600;
  font-size: 70%;
  background-image: url(../image/hl_arrow.svg);
  background-repeat: no-repeat;
  background-position: 93% 50%;
  padding-top: 9px;
  padding-left: 20px;
}

.fcredit {
  color: #363636;
}

@media screen and (max-width:768px) {
  .container {
    padding-left: 30px;
    padding-right: 30px;
  }

  .mail_mt_xs {
    margin-top: 30px;
  }

  .obj_center_xs {
    margin-right: auto;
    margin-left: auto;
  }

  .footer_menu_sm {
    grid-template-columns: 1fr;
    place-items: center;
    font-size: 100%;
    font-weight: 600;
    margin-top: 30px;
  }

  .footer_menu_sm li {

    text-align: center;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.footer_menu_sm {
  grid-template-columns: 1fr;
  place-items: center;
  font-size: 100%;
  font-weight: 600;
  margin-top: 30px;
}

.footer_menu_sm li {

  text-align: center;
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
}

@media screen and (min-width:991px) and (max-width:1199px) {
  .gmap2 {
    padding-bottom: 100%;
  }
}


@media screen and (max-width:991px) {
  .text_center_sm_shop {
    text-align: center;

  }

  .mb_sm_shop {
    margin-bottom: 20px;
  }
}


.menu-btn {
  position: fixed;
  top: 10px;
  right: 10px;
  display: flex;
  height: 40px;
  width: 40px;
  justify-content: center;
  align-items: center;
  z-index: 900000;

}

.menu_logo img {
  width: 60%;
  max-width: 300px;
  ;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
  content: '';
  display: block;
  height: 2px;
  width: 20px;
  border-radius: 3px;
  background-color: #fff;
  position: absolute;
}

.menu-btn span:before {
  bottom: 8px;
}

.menu-btn span:after {
  top: 8px;
}

#menu-btn-check:checked~.menu-btn span {
  background-color: rgba(255, 255, 255, 0);
  /*メニューオープン時は真ん中の線を透明にする*/
}

#menu-btn-check:checked~.menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
  background-color: rgba(255, 255, 255, 1);
}

#menu-btn-check:checked~.menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
  background-color: rgba(255, 255, 255, 1);
}

.infotel {
  position: fixed;
  top: 15px;
  right: 40px;
  z-index: 900001;
}

.infosns {
  position: fixed;
  top: 15px;
  right: 80px;
  z-index: 900001;
}


#menu-btn-check {
  display: none;
}



.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 800px;
  z-index: 800000;
  background-color: #3584bb;
}

.menu-content ul {
  width: 100%;
}

.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 1000;
  z-index: 800000;
  background-color: rgba(66, 107, 101, 1);
  transition: all 0.5s;
  /*アニメーション設定*/
  opacity: 0;
}

#menu-btn-check:checked~.menu-content {
  left: 0;
  /*メニューを画面内へ*/
  opacity: 1;
}

.menu_logo {
  margin-top: 60px;
}

#fh5co-header {
  height: 80px !important;
  background-color: #426B65;
}


#bread {
  margin-top: 110px;
  background-color: #f1f1f1;
  height: 40px;
  padding-top: 10px;
  font-size: 90%;
}

h6 {
  border-bottom: solid 2px rgba(33, 33, 33, 0.2);
  position: relative;
  padding-bottom: 7px;
  font-weight: 600;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 150% !important;
}

h6::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #333333;
  bottom: -2px;
  width: 18%;

}

.subtop_mt {
  margin-top: 35px;
}

.h_inner_start {
  padding-top: 20px;
}

.submenu_a {
  color: #111 !important;
  font-size: 80% !important;
  font-weight: 400;
}

.ubbar {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;

  padding-top: 3px !important;
  padding-bottom: 3px !important;
  margin-right: 5px;
  margin-left: 5px;
}

.sub_mainmenu_com {
  font-size: 70%;
  float: left;
  margin: 25px 0 0 25px;
}

#fh5co-header h1 {
  margin-top: -48px;
}

#fh5co-header nav {
  margin-top: 0px;
}

@media screen and (min-width:768px) and (max-width:991px) {
  #fh5co-header h1 {
    margin-top: 30px;
  }

  .submenu_a {
    color: #636363 !important;
    font-size: 65% !important;
    font-weight: 600;
  }



  .maps {
    height: 0;
    overflow: hidden;
    padding-bottom: 90% !important;
    position: relative;
  }

}

@media screen and (max-width:990px) {
  #fh5co-header {
    height: 60px !important;
  }
}



@media screen and (max-width:767px) {
  .gmap2 {
    padding-bottom: 550px;
  }

  .ffoot_contact_area {
    border: none;
  }

  .contact_icon {
    max-width: 240px;
  }

  .fh5co-nav-toggle {
    display: none;
  }

  .header-logo {
    padding-top: 13px;
  }



  #bread {
    margin-top: 60px;
  }

  .maps {
    height: 0;
    overflow: hidden;
    padding-bottom: 100% !important;
    position: relative;
  }
}



.home a:link,
.home a:hover,
.home a:visited {
  color: #000;
  font-size: 90%;
}

.home span {
  color: #000 !important;

}

.map_com {
  font-weight: 600;
  padding-bottom: 30px;
}

.maps {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}

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

.p6em {
  padding-top: 6em !important;
}


#fh5co-offcanvas {
  display: none;
}

.contact_com {
  font-weight: 600;
  font-size: 100%;
}

.oldh {
  display: none;
}

.nwvh {
  display: block !important;
  width: 100%;
  color: #000;
  text-align: center;
  background-color: #f1f1f1;
  font-weight: 600;
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 90%;
  padding-right: 10px;
  padding-left: 10px;
}

#best-deal {
  background: #fff;
}

.panel-primary {
  border-color: #707070;

}

.panel-primary>.panel-heading {
  background-color: #707070;
  border-color: #707070;
}

tr,
td,
th {}

.table-striped>tbody>tr:nth-of-type(odd) {

  background-color: #f1f1f1;
}

.company_h {
  margin-bottom: 40px;
}

.company_inner {
  font-weight: 600;
}

.ceona {
  font-size: 120%;
  font-weight: 600;
}

.table-responsive {
  border: none;
}

.city_inner {
  min-height: 100vh;
}

.city_com,
.dl_com,
.wpcf7 {
  font-weight: 600;
}

.olda {
  display: none;
}

.newa {
  display: inline !important;
}

.post-password-form p {
  font-weight: 600;
}

#pwbox-633 {
  border: solid 1px #aaa !important;
  border-radius: 5px;
}

.tablebasic {
  border-top: solid 1px #ccc !important;
}

.post-password-form {
  min-height: 300px;
}

.dl_com_inner,
.info_com_inner {
  font-weight: 600;
}

h7 {
  font-weight: 600;
  font-size: 130%;
  border: none;
}

.info_hd {
  font-size: 150%;
  margin-bottom: 70px;
}

.info_archive_date {
  font-size: 90%;
}

.info_com_inner {
  margin-top: 20px;
  font-size: 90%;
}

.bunjo_com_inner {
  margin-top: 0px;
  font-size: 130%;
  font-weight: 600;
}

.offsetrow_inner {
  width: 92%;
  margin-right: auto;
  margin-left: auto;
}

.info_archive_hr {
  border-style: none;
  border-top: 1px solid #ccc;
  margin-bottom: 40px;
  margin-top: 40px;

}

.info_pager {
  margin-top: 30px;
  margin-bottom: 30px;
}

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

  h7 {
    font-size: 120% !important;
  }

  .bunjo_com_inner {
    margin-top: 0px;
    font-size: 110%;
    font-weight: 600;
  }

}

.pages,
.nextpostslink,
.previouspostslink {
  display: none;
}

.smaller,
.larger {
  color: #fff;
  background-color: #ccc;
  border: none;

}

.current {
  color: #fff;
  background-color: #000;
  border: none;
  padding: 5px 7px;
}

.wp-pagenavi a,
.wp-pagenavi span {
  padding: 5px 7px;
  border: none !important;
}

@media screen and (min-width:1200px) {
  .bunjo_item {
    height: 417px;
  }

  .bunjo_item2 {
    height: 385px;
  }
}

@media screen and (min-width:991px) and (max-width:1199px) {
  .bunjo_item {
    height: 439px;
  }

  .bunjo_item2 {
    height: 405px;
  }
}

@media screen and (min-width:768px) and (max-width:990px) {
  .bunjo_item {
    height: 463px;
  }

  .bunjo_item2 {
    height: 385px;
  }
}

@media screen and (max-width:767px) {
  .bunjo_item {
    height: 417px;
  }
}

.zoomimg {
  max-width: 340px;
}

.info_hd_bunjo {
  margin-bottom: 20px !important;
}



.youtube {
  position: relative;
  padding-top: 56.25%;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 60px;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.mih {
  min-height: 60vh;
}

.sb_instagram_header {
  display: none;
}

#sbi_load {
  display: none;
}


.my-insta-box {
  width: 100%;
  overflow: hidden;
}

.my-insta-box .bx-viewport {
  overflow: visible !important;
}

.my-insta-box #sb_instagram {
  max-width: 100% !important;
  width: 100% !important;
}

@media screen and (max-width:479px) {
  .my-insta-box .sbi_item {
    width: 50vw !important;

  }

  #sb_instagram {

    overflow: hidden;
  }

  .my-insta-box .sbi_photo {
    height: 50vw !important;
  }
}

@media screen and (min-width: 480px) and (max-width:767px) {
  .my-insta-box .sbi_item {
    width: 40vw !important;

  }

  #sb_instagram {

    overflow: hidden;
  }

  .my-insta-box .sbi_photo {
    height: 40vw !important;
  }
}


@media screen and (min-width: 768px) and (max-width:990px) {
  .my-insta-box .sbi_item {
    width: 33.33333vw !important;

  }

  #sb_instagram {

    overflow: hidden;
  }

  .my-insta-box .sbi_photo {
    height: 33.33333vw !important;
  }

  .pc_ctft {
    font-size: 90% !important;
  }
}



@media screen and (min-width: 991px) and (max-width:1200px) {
  .my-insta-box .sbi_item {
    width: 25vw !important;

  }

  #sb_instagram {

    overflow: hidden;
  }

  .my-insta-box .sbi_photo {
    height: 25vw !important;
  }
}



@media screen and (min-width: 1201px) and (max-width:1499px) {
  .my-insta-box .sbi_item {
    width: 20vw !important;

  }

  #sb_instagram {

    overflow: hidden;
  }

  .my-insta-box .sbi_photo {
    height: 20vw !important;
  }
}

@media screen and (min-width: 1500px) {
  .my-insta-box .sbi_item {
    width: 16.666666vw !important;

  }

  #sb_instagram {

    overflow: hidden;
  }

  .my-insta-box .sbi_photo {
    height: 16.666666vw !important;
  }
}







#sb_instagram #sbi_images .sbi_item {
  margin: 0 10px !important;
}

.inst_btn {
  margin-top: 60px;
}

.zoom_com {
  margin-top: 30px;
  font-size: 60%;
}

.zoom_h_lh {
  line-height: 130%;
}

.xs_sns {
  width: 100vw;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  padding-top: 45px !important;
}

.xs_sns_icon {
  margin-left: 5px;
  margin-right: 5px;

}

.xs_sns_icon img {
  max-width: 30px;
  width: 100%;
}

#sr {
  margin-right: auto;
  margin-left: auto;
  margin-top: -110px;
  text-align: center;
  width: 100%;
}

#srcicon {

  width: 90vw;
  height: 110px;
  display: block;

  text-align: center;
}


#Topage_top {
  width: 40px;
  height: 40px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: #fff;
  opacity: 1;
  border: #999 solid 3px;
  z-index: 600000;

}

#Topage_top a {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  text-decoration: none;
}

#Topage_top a::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f30c';
  font-size: 20px;
  color: #000;
  position: absolute;
  width: 20px;
  height: 20px;
  top: -19px;
  bottom: 0;
  right: 6px;
  left: 0;
  margin: auto;
  text-align: center;
}

#zicon,
#micon {
  width: 34px;
  height: 65px;
  position: fixed;
  background: #000;
  opacity: 0.8;

  z-index: 600001;
  right: 0;

}


#micon {
  bottom: 100px;
  margin-right: auto;
  margin-left: auto;
}

#zicon {
  bottom: 180px;
  margin-right: auto;
  margin-left: auto;
}

#micon a {
  width: 34px;
  height: 65px;
  display: block;
}

#micon a {
  width: 34px;
  height: 65px;
  display: block;
  background-image: url(../image/m_con.svg);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 70%;
}

#zicon a {
  width: 34px;
  height: 65px;
  display: block;
  background-image: url(../image/z_con.svg);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 70%;
}

#micon:hover,
#zicon:hover,
#Topage_top:hover {
  opacity: 0.5;
}

.ownspace {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
}

.top_txt {
  text-align: center;
}

.top_txt h7 {
  font-size: 150% !important;
}

.top_txt p {
  font-size: 115%;
  margin-top: 20px;
  margin-bottom: 50px;
}

.con_txt h6 {
  display: block;
  font-size: 130% !important;
  border-bottom: 1px solid #aaa;
  width: 100%;
  margin-bottom: 20px;
}

.con_txt h6::before {
  border: none;
}

.con_txt h6::after {
  border: none;
}

.con_txt {
  margin-bottom: 40px;
}


.con_txt p {
  font-size: 115%;
  font-weight: 400;
  line-height: 220%;
}

.bt_txt h6 {
  font-size: 110% !important;

}

.bt_txt h6::after {
  border-bottom: 4px solid #000 !important;
}

.bt_txt .p2_button {
  padding-top: 10px;
}

.bt_txt td {
  width: 40%;
}

.ch_img_t {
  position: relative;
}

.ch_img_t img {}

.ch_img_t p {
  color: #000;
  background-color: #fff;
  font-size: 180%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-weight: 600;
  padding-top: 2px;
  padding-bottom: 2px;

}

@media screen and (max-width:620px) {
  .ch_img_t p {
    color: #000;
    background-color: #fff;
    font-size: 180%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    font-weight: 600;
    padding-top: 2px;
    padding-bottom: 2px;
    width: calc(55% + (620px - 100vw) / 3.3);
  }

}


@media screen and (max-width:510px) {
  .ch_img_t p {
    font-size: 135%;
  }

}

.bunjo_link div {
  color: #000 !important;
}

.SLC_com {
  padding-bottom: 25%;
}

.SLC_com2 {
  padding-bottom: 25%;
}

@media screen and (max-width:767px) {
  .SLC_com {
    padding-bottom: 23%;
  }

  .pc_ctft {
    font-size: 90% !important;
  }

}

.bunjo_item a:hover,
.bunjo_item2 a:hover {
  text-decoration: none;
}

.bunjo_item_com a {
  color: #000 !important;
}

.bh_wh {
  background-color: #fff;
}

.city-txt {
  font-weight: 600;
  padding-top: 40px;
  padding-bottom: 40px;
  line-height: 250%;
  font-size: 130%;
}

.city-subtxt {
  font-weight: 600;
  padding-top: 40px;
  padding-bottom: 40px;
  line-height: 200%;
  font-size: 100%;
}

.mainimg {
  max-width: 630px;
}

.mainimg_sub {
  max-width: 430px;
  padding-bottom: 30px;
}

.cityhr {
  border-top: 2px solid #222;
  width: 100%;
  max-width: 630px;
  margin-right: auto;
  margin-left: auto;
}

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

  .city-txt {
    font-size: 100%;
    line-height: 200%;
  }

  .city-subtxt {
    font-size: 90%;
  }


}

.sec1_img img {
  max-width: 500px;
  width: 100%;
}

.sec1_img_sm img {
  max-width: 500px;
  width: 90%;
  margin-top: -10px;
  margin-bottom: 20px;
}

.flogo img {
  max-width: 260px;
  width: 100%;
}

.fbtn img {
  max-width: 250px;
  margin-top: 20px;
  margin-bottom: 20px;
}



.subp .thp {
  height: 80svh;
}


@media screen and (max-width:990px) {
  .subp .thp {
    height: calc(600px - (990px - 100vw) / 2.5);
  }
}


.about_header2 {
  font-weight: 400 !important;
  padding-top: 20px;
  line-height: 130%;
}


.top_contents_kumiai table td {
  line-height: 165% !important;
}

.top_contents_contact {
  margin-top: 40px;
}



.sub_pri {
  background-image: url(../image/pri.jpg);

}

.sub_qa {
  background-image: url(../image/fn_76.png);

}

.sub_sl {
  background-image: url(../image/kigaku_main.png);

}


.sub_hc {
  background-image: url(../image/guest.png);

}

.sub_hc {
  background-image: url(../image/guest.png);
}

.sub_sui {
  background-image: url(../image/suisonia_main.png );
}

.sub_kyu {
  background-image: url(../image/kigaku_pc.png);
  background-position: 50% 0%;
}


@media screen and (min-width:1600px) {
  .sub_kyu {
    height: calc(630px + (100vw - 1600px) / 3);
  }
}



.kyusei_midashi {
  text-align: left !important;
  width: 100% !important;

}

.kyusei_com {
  text-align: center !important;
  width: 100% !important;
}

.kyusei_g {
  text-align: center;
}





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


  .subt {
    font-size: 140%;
    padding-top: 45px;
  }

  .kyusei_midashi {
    text-align: center !important;
    width: 100% !important;

  }

  .kyusei_com {
    text-align: left !important;
    width: 100% !important;
  }

}

@media screen and (max-width:640px) {
  .sub_kyu {
    height: calc(550px - (640px - 100vw) / 2);
    background-image: url(../image/kigaku_sm.jpg);
  }
}

.top_contents_infoart .container {
  max-width: 990px;

}

.top_contents_infoart {
  margin-top: 60px;
}

.top_contents_infoart {
  img {
    max-width: 100%;
  }
}

.top_contents_infoart h3 {
  border-bottom: #323232 2px solid;
  font-size: 120%;
  font-weight: 600;
  padding-bottom: 10px;
  margin-bottom: 5px;
}

.top_contents_infoart .date {
  text-align: right;
  font-size: 80%;
}

.entry_coms {
  margin-bottom: 70px !important;
}

.cslogo {
  padding: 0;
}

@media screen and (min-width:991px) and (max-width:1199px) {
  .cslogo {
    padding: 0;
  }
}

.containers img {
  height: 36px;
  margin-top: 12px;
  margin-left: 18px;
}

.midashi_menu img {
  width: 130px;
}

.midashi_menu2 img {
  width: 160px;
}

.mbox {
  margin-top: 25px;
}

.topic_img img {
  aspect-ratio: 351/234;
  object-fit: cover;

}

.bgs {
  background-image: url(../image/bgs.png);
  background-size: contain;
  background-repeat: no-repeat;

}

.bgsf {
  padding-right: 0;
  padding-left: 0;
}

.minim2 {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}

.minim3 {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.salonh {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 100%;
  padding-top: 25px;
  padding-bottom: 10px;
  border-bottom: 2px dotted #333;
  width: 70%;
  margin-right: auto;
  margin-left: auto;
}

.salon_table {
  width: 70%;
  margin-right: auto;
  margin-left: auto;
  font-size: 90%;
}


.bgsfa {
  margin-top: 30px;
  margin-bottom: 30px;
}

.bgsfa img {
  max-width: 100px;
}


.salon_com {
  width: 70%;
  margin-right: auto;
  margin-left: auto;
}

.salon_table td {
  vertical-align: top;
}


.salon_table tr>td:nth-child(1) {
  width: 20%;
}

.salon_table tr>td:nth-child(2) {
  width: 80%;
}

.salon_com {
  font-size: 80%;
  text-align: center;
  line-height: 180%;
  padding-top: 25px;
  padding-bottom: 25px;
}

.m3btn {
  margin-top: 10px;
  margin-bottom: 10px;
}

.insta img {
  max-width: 200px;
}

.sm_pic_salon {
  background-image: url(../image/imgf.png);
  width: 100wh;
  height: 300px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}

.ss img {
  width: 120px;
}

.ss {
  text-align: center;
  margin-top: 50px;
}

.xsc td {
  width: 100% !important;
}

.abtn img {
  width: 120px;
}

.abde img {
  width: 120px;
}

.abtn,
.abde {
  text-align: center;
  margin-top: 10px;
}

.accessh img {
  width: 300px;
}

.accessh {
  width: 100%;
  border-bottom: 2px dotted #333;
}

.access_tt {
  font-size: 120%;
  font-weight: 600;
}

.access_zip {
  font-size: 90%;
}

@media screen and (max-width:767px) {
  .salonh {
    width: 100%;
  }

  .salon_table {
    width: 100%;
    text-align: center;
  }

  .salon_table div {
    margin-bottom: 15px;
  }

  .salon_com {
    width: 100%;
  }
}


.access_add {
  img {
    height: 24px;
  }
}

.access_cn>span:nth-child(1)>img {
  width: 90px;
}

.access_cn>span:nth-child(2) {
  margin-left: 10px;
  font-size: 90%;
}

.access_cn {
  padding-top: 6px;
}

.acc {
  margin-top: 10px;
}

.acc_o {
  margin-top: 10px;
  font-size: 80%;
}

.fcredit {
  color: #111;
}

.inq_h {
  color: #d09d15;
  font-size: 120%;
}

.access_zip {
  margin-top: 10px;
  font-size: 85%;
}

.access_hdcom {
  text-align: center;
  font-size: 140%;
}

.access_com {
  text-align: center;
  font-size: 100%;
  margin-top: 20px;
}

.access_comi {
  font-size: 80%;
}

@media screen and (max-width:990px) {
  .accessh img {
    width: 180px;
    padding-bottom: 5px;
  }

  .accessh,
  .access_tt,
  .access_zip,
  .access_add {
    text-align: center;
  }

  .allr img {
    width: 100px;
  }

  .abtn {
    margin-bottom: 30px;
    padding-top: 150px;
  }

}

.fhh {
  color: #fff;
  font-weight: 400;
  font-size: 80%;
  text-align: center;
  padding-top: 20px;
}

.fhc {
  color: #000;
  font-size: 70%;
}

.fhc a {
  color: #000;
}

.fhf {
  font-size: 60%;
  text-align: center;
  color: #fff;
  margin-top: 20px;
}

#ear {

  position: fixed;
  right: 0px;
  top: 200px;
  opacity: 1;

  z-index: 600000;
}

.tpst #ear {
  top: 170px;
}

.footer_menu {
  text-align: center;
  color: #fff;
}

.footer_menu a {
  color: #fff !important;
  font-size: 80%;

  padding-top: 4px;
  padding-bottom: 4px;
  padding-right: 3px;
  padding-left: 3px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.footer_menu li {
  list-style: none;
}

.footer_menu ul {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  display: grid;
}

#ear a:nth-child(1) {
  background-image: url(../image/line.jpg);
  width: 59px;
  height: 75px;
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff;
  line-height: 110%;
  padding-top: 44px;
  padding-left: 19px;
  font-size: 65%;
  font-weight: 600;
  display: block;



}

#ear a:nth-child(2) {
  background-image: url(../image/yoyaku.jpg);
  width: 59px;
  height: 75px;
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff;
  line-height: 110%;
  padding-top: 44px;
  padding-left: 19px;
  font-size: 65%;
  font-weight: 600;
  display: block;

}

#ear a:nth-child(3) {
  background-image: url(../image/ask.jpg);
  width: 59px;
  height: 75px;
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff;
  line-height: 110%;
  padding-top: 44px;
  padding-left: 19px;
  font-size: 65%;
  font-weight: 600;
  display: block;
}

#ear a:hover {
  text-decoration: none;
}

@media screen and (max-width:767px) {
  #ear {
    top: 150px;
  }
}



.midashi_sub {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  border-bottom: #98A6B5 2px solid;
  width: 70%;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 15px;
  margin-bottom: 30px;
  margin-top: 30px;
}

.midashi_sub span {
  font-family: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
  font-size: 70%;
}

#sbp .sec1_com {

  font-size: 90%;
  padding-bottom: 30px;
}

.sec1_com {
  text-align: left !important;
  font-size: 75%;
  line-height: 150%;
  font-family: "Noto Serif JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}


@media screen and (max-width:990px) {
  .sec1_com {
    text-align: center !important;
    font-size: 90%;
    line-height: 170%;
    font-family: "Noto Serif JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    margin-right: auto;
    margin-left: auto;
  }
}

.srow {
  max-width: 1030px;
  margin-right: auto;
  margin-left: auto;
}

.srow_kyu {
  max-width: 830px;
  margin-right: auto;
  margin-left: auto;
}

.priv_h {
  margin-top: 30px;
  padding-bottom: 5px;
  border-bottom: #2C2C2C 2px dotted;
  font-size: 110%;
}

.thpw .midashi_sub {
  border: none;
  text-align: center;
  padding-top: 60px;
  width: 100%;
}

.qa_table {
  margin-bottom: 15px;

  img {
    width: 35px;
  }
}

.qa_table td:nth-child(1) {
  vertical-align: top;
}

.qa_table tr {
  margin-bottom: 60px;
}

.underbar {
  padding-bottom: 40px;
  border-bottom: #707070 2px dotted;
  padding: 15px;
}

.QAH {
  padding-right: 13px;
}

.midashi_qa {
  margin-top: 30px;
  background-color: #C982B6;
  color: #fff;
  font-weight: 600;
  padding: 10px;
  font-size: 100%;
}

.sec1_qa {
  padding-bottom: 0 !important;
}

.sui {
  background-color: #4583B9 !important;
}

.sabsa {
  color: #9ACCD0 !important;
  font-size: 90% !important;
}

.Porfh {
  margin-bottom: 10px;
}

.profh {
  color: #CC6E00 !important;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 400;
}

.pronamefh {
  font-weight: 600;
}

.prof_com {
  padding-top: 0;
  width: 80%;
}

.bkbox {
  border: #707070 1px solid;

}

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

  .profh,
  .pronamefh {
    margin-top: 25px;
  }
}

.minc {
  font-family: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
}

.seav {
  text-align: center !important;

}

.vbox {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  font-family: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
  font-size: 110%;
  padding: 25px;
  box-shadow: 3px 3px 3px #ccc;
}

.vbox {
  width: 100%;

}

.vbox div span {
  border-bottom: #707070 1px dotted;
  width: 100%;
  padding-bottom: 5px;
  line-height: 260%;
}

.vb_p {
  border: #C41DA4 1px solid;
  background-color: #FFFCFE;
}

.vb_y {
  border: #AD630D 1px solid;
  background-color: #FFFEFA;
}

.vb_b {
  border: #113883 1px solid;
  background-color: #F5FAFD;
}

.autherguest {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  text-align: right;
}

.kyusei_table1 {

  min-width: 450px;
  margin-right: auto;
  margin-left: auto;
  border: #C69C0F 1px solid;
  font-size: 70%;
}

.sui_table1 {

  min-width: 450px;
  margin-right: auto;
  margin-left: auto;
  border: #22439A 1px solid;
  font-size: 70%;
}

.sui_table2 {

  min-width: 450px;
  margin-right: auto;
  margin-left: auto;

  font-size: 70%;
}

.sui_table1 tr>td:nth-child(1) {
  width: 34%;
  background-color: #F2EFEF;
}

.sui_table1 tr>td:nth-child(2) {
  width: 33%;
}

.sui_table1 tr>td:nth-child(3) {
  width: 33%;
}

.sui_table1 tr {
  border: #22439A 1px solid;
  padding: 5px;
}

.sui_table1 td {
  border: #22439A 1px solid;
  padding: 5px;
}

.kyusei_table1 tr>td:nth-child(1) {
  width: 40%;
}

.kyusei_table1 tr>td:nth-child(2) {
  width: 60%;
}

.kyusei_table2 {

  min-width: 450px;
  margin-right: auto;
  margin-left: auto;
  border: none;
  font-size: 70%;
}

.kyusei {
  font-size: 90%;
  min-width: 450px;
  margin-right: auto;
  margin-left: auto;
}

.kyusei_table1 tr {
  border: #C69C0F 1px solid;
  padding: 5px;
}

.kyusei_table1 td {
  border: #C69C0F 1px solid;
  padding: 5px;
}

.thde {
  background-color: #FCEED0;
  text-align: center;
}

.sui_table1 .thde {
  background-color: #D0EDFC !important;
  text-align: center;
}

.kyusei td,
tr.kyusei {
  border: none !important;
}

.kyusei_table1,
.kyusei_table2,
.kyusei,
.sui_table1,
.sui_table2 {
  min-width: 95%;

}

.suiatt {
  background: #E5F0F8;
  border: #4F80ED 1px solid;
  color: #22439a;
  font-weight: 600;
  font-size: 70%;
  width: 50%;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  margin-top: 20px;

}

.suisoni div {
  background-image: url(../image/suiso.png);
  background-repeat: no-repeat;
  background-size: 35px;
  font-size: 120%;
  font-weight: 700;
  padding-left: 45px;
  color: #22439A;
  margin-bottom: 7px;
}

h4.suis {
  color: #22439a;
  font-weight: 600;
  text-align: center;
  margin-top: 15px;
  line-height: 130%;
}


.sui2 {
  background-image: url(../image/suiso02.png);
  width: 100%;
  height: 400px;
  background-size: cover;
  margin-top: 40px;
}


.sui3 {
  background-image: url(../image/suisonia_base.jpg);
  width: 100%;
  height: 800px;
  background-size: cover;
  margin-top: -200px;
  background-position: 50% 50%;
}


.suisom2 {
  text-align: center;
  padding: 50px;

  div {
    font-size: 80%;
    margin-top: -15px;
  }
}

.sui1 {
  margin-top: 40px;

  h4 {
    font-size: 120%;
  }

  div {
    line-height: 200%;
  }
}

.staff_xs {
  padding-top: 40px;
}

.gallery_com_xs {
  font-size: 110%;
  line-height: 140%;
}

@media screen and (min-width:768px) and (max-width:990px) {
  .sui1 {


    h4 {
      text-shadow: -3px -3px 3px rgba(255, 255, 255, 0.5), 0px 0px 3px rgba(255, 255, 255, 0.5), 3px 3px 3px rgba(255, 255, 255, 0.5), 0 0 3px rgba(255, 255, 255, 0.5);
    }

    div {
      text-shadow: -3px -3px 3px rgba(255, 255, 255, 0.5), 0px 0px 3px rgba(255, 255, 255, 0.5), 3px 3px 3px rgba(255, 255, 255, 0.5), 0 0 3px rgba(255, 255, 255, 0.5);
    }
  }
}

@media screen and (max-width:767px) {
  .sui3 {
    height: calc(430px - (767px - 100vw) / 2.0);
    margin-top: calc(-140px + (767px - 100vw) / 8);
    ;
  }
}

.btm_bg {
  width: 100%;
  height: 100svh;
  background-image: url(../images/btmimg.jpg);
  background-size: cover !important;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}


.btm_bg2 {
  width: 100%;
  height: 100svh;
  background-image: url(../images/top_com_sm__.png);
  background-size: 550px;
  background-position: 50% 15%;
  background-repeat: no-repeat;
}


.btm_bg3 {
  width: 100%;
  height: 100svh;
  background-image: url(../images/housesil.png);
  background-size: 550px;
  background-position: 50% 101%;
  background-repeat: no-repeat;
}

.footcom {
  text-align: center;
  background-color: #D2D6CE;
  padding-top: 30px;
  padding-bottom: 30px;
}

.gallery_com_xs {
  font-size: 100% !important;
  line-height: 140%;
}


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

  .btm_bg,
  .btm_bg2,
  .btm_bg3 {
    height: calc(100svh - (1500px - 100vw) / 1.8);
  }
}


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

  .btm_bg,
  .btm_bg2,
  .btm_bg3 {
    background-size: 60%;
  }

  .readheader {
    padding-top: 15px;
  }

}

.articletopic {
  border-bottom: dotted 2px #707070;
  padding-bottom: 7px;
}

.articledate {
  text-align: right;
  font-size: 80%;
  margin-top: -20px;
  margin-bottom: 15px;
}


.articleinner {}

.articleinner img {
  max-width: 100%;
}

.article_a {
  color: #000;
}

.article_a:hover {
  text-decoration: none;
  color: #000;
}

.works_xs {
  padding-bottom: 30px;
}

.access_comh {
  margin-top: 0;
}

.about2_inner {
  background: url(../images/bgup.png), url(../images/bgbt.png);
  background-repeat: no-repeat, no-repeat;
  background-position: 5% 0%, 95% 100%;
  background-size: 90px, 90px;
}

.oe_xs {
  margin-top: 20px;
}




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

  .access_xs {
    padding-top: 10px;
  }

  .access_comh {
    font-size: 90%;
  }

  .about_xs {
    font-size: 88%;
    padding-top: 0;
  }

  .readheader_xs {
    padding-top: 0;
  }

  .com_xs {
    line-height: 150%;
    font-size: 80%;
  }

  .morebtn {
    max-width: 160px;
  }

  .mbox {
    margin-top: 15px;

  }

  .mmg_xs {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    margin-bottom: -2px;
  }

  .midashi_menu img {
    max-width: 120px;
  }

  .about_sm_xs {
    background: linear-gradient(to bottom,
        #ffffff 0%,
        #ffffff 11%,
        #D2D6CE 11%,
        #D2D6CE 85%,
        #ffffff 85%,
        #ffffff 100%);

  }


  .morebtn_xs {
    margin-top: -10px;
  }


  .about_img_xs {
    padding-top: 25px;
  }

  .works_xs {
    font-size: 90%;
  }

  .workssec_xs {
    margin-top: 20px;
    padding-top: 15px;

  }

  .works {
    padding-bottom: 30px !important;
  }

  .gmap2 {
    padding-bottom: 400px;
  }

  .cc_xs {
    font-size: 80%;
    line-height: 145%;
  }

  .btm_bg,
  .btm_bg2,
  .btm_bg3 {
    height: calc(470px - (767px - 100vw) / 1.8);
  }

  .about_hd_xs {
    padding-top: 0;
    font-size: 115% !important;
    line-height: 130%;
  }

  .about_com_xs {
    font-size: 80%;
  }

  .greeting_headercom {
    margin-top: 20px;
  }

  .greeting_com {
    font-size: 115%;
  }

  .greeting_cominner {
    font-size: 80%;
    padding-bottom: 15px;
  }

  .about2_inner {
    background: url(../images/bgup.png), url(../images/bgbt.png);
    background-repeat: no-repeat, no-repeat;
    background-position: 0% 0%, 100% 100%;
    background-size: 15%, 15%;
  }

  .about2 {
    padding-top: 0;
  }

  .greeting_mida_xs {
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .greeting_hd_xs {
    padding-bottom: 0;
  }
}



/* ============================
   全体レイアウト
============================ */
.wpcf7 form {
  margin-top: 10px;
  margin-bottom: 40px;
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

/* ============================
   ラベル（項目名）
============================ */
.wpcf7 form label {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #333;
  margin-bottom: 6px;
  /* 画像のラベルと入力欄の距離 */
}

/* 必須マーク */
.wpcf7 .required {
  color: #e60000;
  font-size: 13px;
  margin-left: 4px;
}

/* ============================
   入力欄（テキスト・メール・電話）
============================ */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
  padding: 9px 10px;
  border: 1px solid #ccc;
  border-radius: 3px;
  background: #fff;
}

/* テキストエリア */
.wpcf7 textarea {
  line-height: 1.6;
}

/* ============================
   チェックボックス（画像と完全一致）
============================ */
.wpcf7 .checkbox {
  margin: 0;
  padding: 0;
}

.wpcf7 .checkbox label {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: normal;
  margin-bottom: 8px;
  /* 画像の行間と一致 */
  cursor: pointer;
}

.wpcf7 .checkbox input[type="checkbox"] {
  margin-right: 8px;
  width: 16px;
  height: 16px;
}

/* ============================
   注意書き（画像の小さめ文字）
============================ */
.wpcf7 .form-notes {
  font-size: 12px;
  line-height: 1.7;
  color: #555;
  margin-top: 10px;
}

/* ============================
   送信ボタン（画像と同じ）
============================ */
.wpcf7 input[type="submit"] {
  padding: 12px 40px;
  font-size: 15px;
  border-radius: 4px;
  background-color: #337ab7;
  border-color: #2e6da4;
  color: #fff;
}

/* チェックボックスを横並びにする */
.wpcf7 .checkbox {
  display: inline-block;
  margin-right: 20px;
  /* 横の間隔 */
  margin-bottom: 8px;
  /* 行間（画像の雰囲気に合わせる） */
}

.wpcf7 .checkbox label {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: normal;
  cursor: pointer;
}

.wpcf7 .checkbox input[type="checkbox"] {
  margin-right: 6px;
  width: 16px;
  height: 16px;
}

#formcontact {
  p {
    margin-bottom: 15px;
  }

  .radio label,
  .checkbox label {
    padding-left: 5px;
  }

  .wpcf7 .checkbox {
    margin-bottom: -20px;
  }

  .required {
    background-color: #e60000;
    color: #fff;
    padding: 4px;
    border-radius: 3px;
    font-size: 80%;
    padding-right: 6px;
    padding-left: 6px;
  }

  .atteb {
    text-align: center;
    font-weight: 400 !important;
    font-size: 80%;
    margin-top: -25px;
    margin-bottom: 15px;
  }

  .required {
    font-weight: 400;
  }

  label {
    font-weight: 400;
  }


}

.wpcf7 input[type="submit"] {
  border-radius: 30px !important;
  margin-right: auto;
  margin-left: auto;
  max-width: 300px;
  padding-bottom: 30px;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7 .checkbox {
  height: 25px;
}

.tellink {
  color: #fff;
}

.tellink:hover {
  color: #eee;

}

.galleryp_video_wrap {
    display: flex;
    justify-content: center;
}

.video-container {
    width: 100%;
    max-width: 860px;
    background: #000;
    margin-bottom: 50px;
    margin-top: 15px;
}

/* 動画の縦横比は動画自身に任せる */
.video-container video,
.video-container iframe {
    width: 100%;
    height: auto;
    max-width: 860px;
    display: block;
}