@charset "utf-8";

*,
*:before,
*:after {
  box-sizing: inherit;
}

html,
body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN",
  "Hiragino Sans", Meiryo, sans-serif;

  color: #000;
  font-weight: normal;
  font-style: normal;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  line-height: 1.5;
  /* outline: solid 1px #f00; */
}


.bodoni-moda {
  font-family: "Bodoni Moda", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

body.top {
  color: #000;
}
html {
  /* font-size: 0.77vw; */
  font-size: 10px;
}

body {
  -webkit-font-smoothing: antialiased;
  background: #fff;
}

a:hover img {
  /*opacity: 0.8;
  filter: alpha(opacity=80);*/
}

a,
a:hover {
text-decoration: unset;
}
a:hover {
  /* opacity: 0.8;*/
}
a:hover.disable {
  opacity: 1 !important;
}
.imgCenter {
  margin: auto;
  display: block;
}

.sp_only {
  display: none;
}

.pc_only {
  display: inherit;
}
.sp_only_fl {
  display: none !important;
}

.pc_only_fl {
  display: flex !important;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}

.cl-over {
  clear: both;
  overflow: hidden;
}

.fl-left {
  float: left;
}
.fl-right {
  float: right;
}

.di-fl {
  display: flex;
  flex-wrap: wrap;
}
.txt-ind-01 {
  text-indent: -1em;
  padding-left: 1em;
}
/* 通常時の画像スタイル */
.normal-image {
  display: block !important;
}

/* ホバー時の画像スタイル */
.hover-image {
  display: none !important;
}

/* ホバー時に通常の画像を非表示にし、ホバー画像を表示する */
picture:hover .normal-image {
  display: none !important;
}

picture:hover .hover-image {
  display: block !important;
}
.inner {
  box-sizing: border-box;
  width: 1100px;
  margin: 0 auto;
}
.inner_demo {
  box-sizing: border-box;
  width: 1285px;
  margin: 0 auto;
}
.main-box {
  min-width: 1150px;
  margin-left: 135px;
}
.other .inner {
  min-width: unset;
  margin: auto;
  width: 1150px;
}
@media screen and (min-width: 1235px) {
  .other .main-box {
    min-width: 100%;
    margin-left: 135px;
    min-width: 1150px;
    /*margin-top: 5rem;*/
  }
  .other .inner {
    min-width: unset;
    margin: auto;
    width: 1100px;
    padding: 0;

  }
  .other .inner.demoimg {
    min-width: 100%; 
    margin: auto;
    width: 100%;
  }
  nav .inner {
    width: 1150px !important;
  }
}
/*------------------------

nav

-----------------------*/
.header {
  position: fixed;
  left: 0;
  top: 0px;
  width: 135px;
  z-index: 99;
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  height: 100%;
  background: #fff;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", Meiryo, sans-serif;
}

.header-iner {
  margin-top: 9rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10rem;
  width: 100%;
}
.top-link2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.top-link2 > li a {
  display: flex;
  justify-content: center;
}
.top-link2 > li a:hover {
  opacity: 0.8;
}
.top-link2 > li a img {
  width: 50%;
}

.header-iner > h1:nth-child(1) > a:nth-child(1) {
  display: flex;
  justify-content: center;
}

.nav {
  position: fixed;
  right: 0; /* 右から出てくる */
  top: -100vh;
  width: 100%; /* スマホに収まるサイズ */
  height: 100vh;
  padding: 9  rem 0rem 6rem 8rem;
  background-color: #ffff;
  transition: all 0.6s;
  z-index: 200;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}

.nav > h1:nth-child(1) > a:nth-child(1) > img:nth-child(1) {
  width: 50px;
}
.nav > h1:nth-child(1) > a:nth-child(1) {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: bold;
}
.hamburger {
  position: absolute;
  top: 15px;
  width: 45px; /* クリックしやすい幅 */
  height: 45px; /* クリックしやすい高さ */
  cursor: pointer;
  left: 50%;
  transform: translateX(-50%);
  right: unset;
  z-index: 200;
}

.hamburger_border {
  position: absolute;
  right: 7px;
  width: 32px;
  height: 2px;
  background-color: #251e1c;
  transition: all 0.6s;
  /* counter-reset: #fff;*/
}
.hamburger_border_top {
  top: 12px;
}

.hamburger_border_center {
  top: 21px;
}
.hamburger_border_bottom {
  top: 30px;
}
.hamburger_border_menue {
  background: none;
  top: 37px;
  text-align: center;
  height: auto;
}

/* 表示された時用のCSS */
.nav-open .nav {
  top: 0;
}
.nav-open .black_bg {
  opacity: 0.8;
  visibility: visible;
}

.nav-open .hamburger_border {
  background: #000;
}

.nav-open .hamburger_border_top {
  transform: rotate(45deg);
  top: 22px;
}
.nav-open .hamburger_border_bottom {
  transform: rotate(-45deg);
  top: 22px;
}
.nav-open .hamburger_border_center,
.nav-open .hamburger_border_menue {
  opacity: 0;
}

.nav_list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav div.contact {
  background: #096bc2;
  padding: 1rem;
  display: flex;
  align-items: center;
  width: 80%;
  margin: 2rem auto;
  justify-content: center;
}
.nav div.contact.registration {
  background: #29aae1;
}
.nav div.contact > a:nth-child(1) {
  color: #000;
  font-size: 1.6rem;
  text-align: center;
  display: block;
  width: 100%;
}

.nav_item {
  text-align: center;
  padding: 0 14px;
}
.nav_item a {
  display: block;
  padding: 8px;
  text-decoration: none;
  color: #000;
  font-size: 1.4rem;
  text-align: left;
}

.nav_item a:hover {
  background-color: #eee;
  color: #000;
}

.black_bg {
}

.area #js-hamburger {
  display: none;
}

.area .nav {
  right: 0;
  width: auto;
  height: auto;
  background: none;
  position: relative;
  padding: 0;
}

.area .nav_list {
  display: flex;
}
.area .nav_item {
  padding: 0;
}
.area .header {
  display: flex;
  align-items: center;
}
.area .header_inner {
  margin-left: auto;
}

.pc_only > .fix-btn p {
  position: fixed;
  z-index: 2;
  left: 0;
  width: 250px;
}
.pc_only > .fix-btn p a {
  display: block;
}
.pc_only > .fix-btn p:nth-child(1) {
  bottom: 205px;
}

.pc_only > .fix-btn p:nth-child(2) {
  bottom: 145px;
}
.header-navi {
  align-items: flex-start !important;
  display: flex !important;
  justify-content: center;
  gap: 2rem 4% !important;
  margin-top: 10rem;
  flex-wrap: wrap;
}

header nav h1{
  width: 100%;
  font-weight: bold;
}
header nav h1 a{
  display: flex;
  gap: 10px;
  align-items: center;
}
header nav h1  img:nth-child(1) {
  width: 70px;
}

.header-navi .footer-navi_list01 {
  width: 28%;
}
header  .footer-navi > div:nth-child(3) {
  width: 68%;
}

.header-navi_list02 {
  align-items: normal;
  display: flex !important;
}
.header-navi_list02 > ul {
  width: 13em;
}
.header-navi_list03 > div{
width: 21em;
}
@media screen and (min-width: 736px) {

div.header-navi_list03:nth-child(3) > div:nth-child(1) {
  width: 23em;
}
div.header-navi_list03:nth-child(4) > div:nth-child(1) > h3:nth-child(1) {
  pointer-events: none;
 
}

}
.header-navi_list02 > ul li {
  margin-bottom: 1rem !important;
}
.header-navi_list03 {
  display: flex;
  grid-template-columns: 1fr 1fr;
  margin-top: 3rem;
  gap: 3rem;
}

/* 要素 | https://tamazen-fuz.jp/ */

div.header-navi_list03:nth-child(3) > div:nth-child(1) > ul:nth-child(2) > li:nth-child(6) > a:nth-child(1) {
  font-size: 1.3rem;
}

.header-navi_list03  h3{
  margin-bottom: 1.5rem;
  font-weight: bold;
  border-bottom: solid 2px;
  font-size: 1.7rem;
}
.header-navi_list03 h3:hover {
  background-color: #000;
  color: #fff;
}
.header-navi_list03 h3:hover a {
  color: #fff;
}

.header-navi_list03  ul li {
  margin-bottom: 1.4rem;
  font-size: 1.4rem;
  font-weight: bold;
}
.header-navi_list03  ul li:hover {
  background-color:#000;
}
.header-navi_list03  ul li:hover a {
  color:#fff;
}

.bunzyo {
  font-weight: bold;
  margin: 3rem 0;
}

 .top-link li a:nth-child(1) {
  border: none !important;
  padding-left: 0 !important;
  line-height: normal !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
}

.top-link {
  border: none !important;
  margin-top: 0rem;
  margin-bottom: 0;
  padding: 0;
  align-items: center;
  display: flex;
  gap: 2.5rem;
  margin-top: 3rem;
}

.footer-navi_list01 .tel {
  margin-top: 4rem;
}
nav .top-link img {
  width: 25px;
}

.top-link2 > li a img:hover{
  opacity: .5;
}

.bnr-sec {
  display: grid;
  grid-template-columns: 1fr 2.4fr;
  align-items: center;
} 

.bnr-sec .top-link {
  gap: 2rem;
  justify-content: center;
}
.bnr-sec .tel a {
  font-size: 1.9rem;
  justify-content: center;
}
.bnr-sec .tel ,
.remodal .tel a{
  font-size: 1.9rem;
  justify-content: center;
  display: flex;
  gap: 10px;
  align-items: center;
}
.bnr-sec .tel a img:nth-child(1) {
  width: 22px;
}
.bnr-sec .tel img:nth-child(1) ,
.remodal .tel a img {
  width: 22px;
}

.bnr-sec > div:nth-child(1) > p:nth-child(3) {
  font-size: 1.2rem;
}
.bnr-sec > div:nth-child(1) {
  text-align: center;
}
.bnr-sec > div:nth-child(1) > h1:nth-child(1) {
  margin-bottom: 3rem;
}
.bnr-sec .top-link li{
  width: 10%;
  display: block;
}
.copyright{
  text-align: center;
  font-size: 1.2rem;
  margin-top: 2rem;
  letter-spacing: 3px;

}
.bnr-sec .cach-img {
  width: 50%;
  margin-bottom: 2rem;
}


.bnr-sec .time {
  font-size: 1.2rem;
}
.bunzyo > a:nth-child(1) {
  border: solid 2px #969696;
  padding: 10px 3rem;
  font-size: 1.2rem;
  display: block;
  width: fit-content;
  margin: auto;
}
.bunzyo > a:nth-child(1):hover {
  background-color: #000;
  color: #fff;
}

.footer-cont {
  max-width: 340px;
  margin: auto;
}
.footer-cont tel{}
/*------------------------

footer 共通

-----------------------*/

h3.main-contents-ttl {
  width: 80%;
  margin: 0 auto;
  font-size: 4rem;
  color: #988575;
  margin-bottom: 3em;
  text-align: center;
  background: linear-gradient(transparent 60%, #f9f7f4 0%);
}

ul.main-link {
  margin: 0 0 10em;
}
ul.main-link li {
  width: 18%;
  margin: 0 1%;
}

.mb0 {
  margin-bottom: 0 !important;
}

.main-img {
  width: 23%;
  position: absolute;
  bottom: -80px;
  right: 4%;
  z-index: 10;
}

.dl-menuwrapper button {
  background-color: #e86814;
}
.dl-menuwrapper button:hover,
.dl-menuwrapper button.dl-active,
.dl-menuwrapper ul {
  background: #d35400;
}
.tac {
  margin-top: 3rem;
  text-align: center;
}

/** 修正箇所 **/

.top.area #main-contets {
  margin-top: 70px;
}

.fix-btn {
  position: fixed;
  right: 0;
  bottom: 100px;
}

.fix-btn p {
  margin-bottom: 5px;
}
/** pc時の電話リンク無効 **/


@media screen and (min-width: 736px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/*------------------------

2025 リニューアル

-----------------------*/
