@charset "UTF-8";

@import url(https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap);

/* ===================================================================
CSS information

 File Name  : common.css
 Style Info : 見出し、ボタン、表など繰り返し使うパーツのスタイルを定義
=================================================================== */

html {
  overflow-y: scroll;
  line-height: 1;
  font-size: 62.5%;
}
body {
  background: #FEF5EE;
  color: #323232;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
  font-size: 15px;
  font-size: 1.5rem;
  word-break: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  letter-spacing: 0.1em;
  font-weight: 400;
}
  @media screen and (max-width: 999px) {
    body {
      font-size: 3.73vw;
    }
  }

/*----------------------------------------------------
  link要素
--------------------------------------------------- */
a {
  transition: all 0.2s ease-in-out 0s;
}
a:link {
  color: #ec6c0e;
}
a:visited {
  color: #ec6c0e;
}
a:hover {
  text-decoration: none;
  color: #ec6c0e;
}
a:active {
  color: #ec6c0e;
}
:focus-ring {
  outline: dotted 1px #F6AB00;
}
:-moz-focusring {
  outline: dotted 1px #F6AB00;
}

/*----------------------------------------------------
  img要素
--------------------------------------------------- */
img {
  line-height: 1;
  /*font-size: 0;*/
  vertical-align: top;
  height: auto;
  max-width: 100%;
  transition: all 0.2s ease-in-out 0s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*----------------------------------------------------
  見出し要素
--------------------------------------------------- */
h1,h2,h3,h4,h5,h6 {
  line-height: 1.5;
  font-weight: 400;
}

/*----------------------------------------------------
 フォントファミリー
--------------------------------------------------- */
.ff01 {
  font-family: "Noto Serif JP", sans-serif;
  font-weight: 500;
}
.ff02 {
  font-family: "Marcellus", serif;
  font-weight: 400;
}

/*----------------------------------------------------
 フォントカラー
--------------------------------------------------- */
.fc01 {
  color: #e71f19;
}
.fc02 {
  color: #ec6c0e;
}

/*----------------------------------------------------
 背景
--------------------------------------------------- */
.bg01 {
  background: url("../img/common/bg/bg01.jpg") repeat;
}
.bg02 {
  background: url("../img/common/bg/bg02.jpg") repeat;
}
.bg03 {
  background: url("../img/common/bg/bg03.jpg") repeat;
}

/*----------------------------------------------------
  スクロールバー
--------------------------------------------------- */

/*スクロールバー全体*/
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

/*スクロールバーの軌道*/
::-webkit-scrollbar-track {
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
}

/*スクロールバーの動く部分*/
::-webkit-scrollbar-thumb {
  background-color: rgba(0,0,0,0.5);
  border-radius: 10px;
  box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
}
  @media screen and (max-width: 999px) {
    ::-webkit-scrollbar {
        width: 5px;
    }
    ::-webkit-scrollbar-track {
      border-radius: 10px;
      box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
    }
    ::-webkit-scrollbar-thumb {
      background-color: rgba(0,0,0,0.5);
      border-radius: 10px;
      box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
    }
  }

/*----------------------------------------------------
 共通カラム
--------------------------------------------------- */
#page {
  overflow: hidden;
  padding: 60px;
  transition: all 0.2s ease-in-out 0s;
}
.page_inner {
  position: relative;
}
  @media screen and (max-width: 1200px) {
    #page {
      padding: 30px;
    }
  }
  @media screen and (max-width: 999px) {
    #page {
      padding: 0;
    }
  }

#contents {
  line-height: 2;
}
#contents a:hover img{
  opacity: 0.70;
}

.wrapper {
  position: relative;
  z-index: 5;
  max-width: 1480px;
  margin-left: auto;
  margin-right: auto;
}
.inner {
  position: relative;
  z-index: 5;
  max-width: 1260px;
  padding-left: 30px;
  padding-right: 30px;
  margin-left: auto;
  margin-right: auto;
}
  @media screen and (max-width: 999px) {
    html, body, #page {
      min-width:100%!important;
      max-width:100%!important;
      width:100%!important;
    }
    .wrapper, .inner {
      width: 100%;
      max-width: 100%;
      padding-left: 9.33vw;
      padding-right: 9.33vw;
    }
  }

/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/
#header {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 128px;
  border-radius: 10px 10px 0 0;
}
.home #header {
  position: absolute;
  background: none;
}
.page-template-page-clinic #header,
.error404 #header {
  position: relative;
  background: url("../img/common/bg/hd_bg.jpg") center center no-repeat;
  background-size: cover;
}

.hd_logo {
  position: absolute;
  left: 40px;
  top: 28px;
}
.hd_logo a:hover {
  opacity: 0.7;
}
.hd_menu {
  position: absolute;
  left: 520px;
  top: 22px;
}
.hd_menu li {
  padding-right: 30px;
  margin: 7px 0;
}
.hd_menu a {
  display: block;
  color: #fff;
  text-decoration: none;
  font-size: 1.7rem;
  line-height: 1.5;
  padding-left: 25px;
  background: url("../img/common/ico/ico_link01a.svg") 0 center no-repeat;
  background-size: 18px auto;
}
.hd_menu a:hover,
.hd_menu li.is-active a {
  color: #ec6c0e;
  background: url("../img/common/ico/ico_link01b.svg") 0 center no-repeat;
  background-size: 18px auto;
}
  @media screen and (max-width: 1520px) {
    .hd_menu {
      max-width: 620px;
    }
    .hd_menu li {
      padding-right: 15px;
    }
    .hd_menu li:nth-child(1),
    .hd_menu li:nth-child(4) {
      width: 190px;
    }
    .hd_menu li:nth-child(2),
    .hd_menu li:nth-child(5) {
      width: 200px;
    }
    .hd_menu li:nth-child(3) {
      width: auto;
    }
  }
  @media screen and (max-width: 1260px) {
    .hd_menu {
      left: 435px;
      max-width: none;
      padding-right: 80px;
    }
    .hd_menu li {
      padding-right: 20px;
      width: auto!important;
    }
    .hd_menu a {
      font-size: 1.6rem;
    }
  }
  @media screen and (max-width: 999px) {
    .hd_logo {
      left: 9.86vw;
      top: 5.8vw;
    }
    .hd_logo img {
      width: 68vw;
      height: auto;
    }
    #header {
      height: 22.4vw;
      border-radius: 0;
    }
    .home .hd_menu {
      display: block;
      left: 9.86vw;
      bottom: 6.66vw;
      top: auto;
    }
    .hd_menu ul {
      display: block;
    }
    .hd_menu li {
      padding-right: 0;
      margin: 0 0 5vw 0;
    }
    .hd_menu a {
      font-size: 4vw;
      padding-left: 5.86vw;
      background-size: 4.26vw auto;
    }
    .hd_menu a:hover {
      background-size: 4.26vw auto;
    }
    @media (aspect-ratio: 3/5), (min-aspect-ratio: 3/5) {
      .home .hd_menu {
        display: none!important;
      }
    }
  }

/* スマホ時だけフル画面相当 */
@media screen and (max-width: 999px) {
  .home #header {
    height: calc(var(--vh, 1vh) * 100) !important;
  }
}

/* svh 対応環境ならさらに安定 */
@supports (height: 100svh) {
  @media screen and (max-width: 999px) {
    .home #header {
      height: 100svh !important;
    }
  }
}

/*----------------------------------------------------
	パンくずリスト
----------------------------------------------------*/
#crumbs {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 10;
  padding: 20px 0;
}
#crumbs li {
  font-size: 1.4rem;
  line-height: 1.4;
  white-space: nowrap;
}
#crumbs li:last-child {
  white-space: normal;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
#crumbs li a {
  color: #323232;
  text-decoration: none;
}
#crumbs li a:hover {
  color: #ec6c0e;
  text-decoration: underline;
}
#crumbs li br {
  display: none;
}
  @media screen and (max-width: 999px) {
    #crumbs {
      padding: 5vw 9.33vw;
      font-feature-settings: "palt";
    }
    #crumbs li {
      font-size: 3.2vw;
      letter-spacing: 0.05em;
    }
  }
/*----------------------------------------------------
	フッター
----------------------------------------------------*/
#footer {
  position: relative;
  padding: 100px 0;
  background: #fff;
  border-radius: 0 0 10px 10px;
  overflow: hidden;
}
#footer::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: calc(50% - 50px);
  height: 100%;
  background: url("../img/common/bg/bg01.jpg") repeat;
}
  @media screen and (max-width: 1139px) {
    #footer::after {
      width: 45.5%;
    }
  }
  @media screen and (max-width: 999px) {
    #footer {
      padding: 0;
      border-radius: 0;
    }
    #footer::after {
      display: none;
    }
    #footer .inner {
      padding: 0;
    }
  }

.ft_info {
  width: 42.5%;
  max-width: 450px;
  line-height: 2;
}
.ft_logo {
  margin-bottom: 28px;
}
.ft_address {
  padding-bottom: 22px;
  margin-bottom: 22px;
  border-bottom: solid 1px #989898;
}
.ft_info figure {
  border-radius: 8px;
  overflow: hidden;
  margin-top: 60px;
}
.ft-block .com_menu {
  width: 52.5%;
  max-width: 550px;
}
  @media screen and (max-width: 999px) {
    .ft_info {
      width: 100%;
      max-width: 100%;
      background: url("../img/common/bg/bg01.jpg") repeat;
      padding: 13.33vw 9.33vw;
    }
    .ft_logo {
      margin-bottom: 5.33vw;
    }
    .ft_logo img {
      width: 100%;
      height: auto;
    }
    .ft_address {
      padding-bottom: 5.33vw;
      margin-bottom: 5.33vw;
    }
    .ft_info figure {
      margin-top: 10.13vw;
      border-radius: 1.33vw;
    }
    .ft_info figure img {
      width: 100%;
      height: auto;
    }
    .ft-block .com_menu {
      width: 100%;
      max-width: 100%;
      padding: 13.33vw 9.33vw;
    }
  }

.cmn_menu01 {
  padding-bottom: 30px;
  margin-bottom: 55px;
  border-bottom: solid 1px #989898;
}
.cmn_menu01 li {
  width: 50%;
  padding-right: 20px;
  margin-bottom: 25px;
}
.cmn_menu01 a {
  text-decoration: none;
  color: #5B5B5B;
  display: inline-block;
  line-height: 1.4;
  font-size: 1.5rem;
  padding-left: 25px;
  background: url("../img/common/ico/ico_link01c.svg") 0 2px no-repeat;
  background-size: 18px auto;
}
.cmn_menu01 a:hover {
  color: #000;
  background: url("../img/common/ico/ico_link01d.svg") 0 2px no-repeat;
  background-size: 18px auto;
}
  @media screen and (max-width: 999px) {
    .cmn_menu01 {
      padding-bottom: 3.33vw;
      margin-bottom: 12vw;
    }
    .cmn_menu01 li {
      width: 50%;
      padding-right: 2vw;
      margin-bottom: 6.66vw;
    }
    .cmn_menu01 a {
      letter-spacing: 0.05em;
      font-size: 4vw;
      padding-left: 6vw;
      background: url("../img/common/ico/ico_link01c.svg") 0 0.53vw no-repeat;
      background-size: 4.8vw auto;
    }
    .cmn_menu01 a:hover {
      background: url("../img/common/ico/ico_link01d.svg") 0 0.53vw no-repeat;
      background-size: 4.8vw auto;
    }
  }

.cmn_menu02 {
  margin-bottom: 30px;
  border-bottom: solid 1px #989898;
}
.cmn_menu02 h3 {
  font-weight: 400;
  font-feature-settings: "palt";
  margin-bottom: 12px;
}
.cmn_menu02-list {
  width: 48.5%;
}
.cmn_menu02-list h4 {
  font-size: 2rem;
  margin-bottom: 12px;
}
.cmn_menu02-list li {
  margin-bottom: 25px;
}
.cmn_menu02-list a {
  text-decoration: none;
  color: #5B5B5B;
  display: flex;
  justify-content: space-between;
}
.cmn_menu02-list a:hover {
  color: #000;
}
.cmn_floor {
  position: relative;
  top: 2px;
  width: 24px;
  height: 100%;
  color: #fff;
  text-align: center;
  padding: 2px 0;
  letter-spacing: -2px;
  white-space: nowrap;
  background: #ED7950;
  transition: all 0.2s ease-in-out 0s;
}
.cmn_floor small {
  font-size: 1.3rem;
}
.cmn_menu02-list h5 {
  width: calc(100% - 34px);
  font-weight: 400;
}
  @media screen and (max-width: 999px) {
    .cmn_menu02 {
      margin-bottom: 8vw;
    }
    .cmn_menu02 h3 {
      font-size: 4vw;
      margin-bottom: 5vw;
    }
    .cmn_menu02-block {
      display: block;
    }
    .cmn_menu02-list {
      width: 100%;
      padding-bottom: 2.66vw;
    }
    .cmn_menu02-list h4 {
      font-size: 5.33vw;
      margin-bottom: 3.33vw;
    }
    .cmn_menu02-list li {
      margin-bottom: 5.33vw;
    }
    .cmn_floor {
      top: 0.53vw;
      width: 6.4vw;
      padding: 2px 0;
      letter-spacing: -0.53vw;
      font-size: 4.26vw;
    }
    .cmn_floor small {
      font-size: 3.46vw;
    }
    .cmn_menu02-list h5 {
      width: calc(100% - 9vw);
      font-weight: 400;
      font-size: 4vw;
    }
  }

.cmn_menu02_01 a:hover .cmn_floor {
  background: #FAD7CA;
  color: #ED7950;
}
.cmn_menu02_02 .cmn_floor {
  background: #F49E0E;
}
.cmn_menu02_02 a:hover .cmn_floor {
  background: #FCE2B7;
  color: #F49E0E;
}

.copyright {
  display: block;
  font-size: 1.3rem;
}
  @media screen and (max-width: 999px) {
    .copyright {
      font-size: 3.46vw;
      line-height: 1.5;
    }
  }

/*----------------------------------------------------
  共通タイトル
--------------------------------------------------- */
#lower_Visual {
  position: relative;
  width: 100%;
  height: 400px;
  border-radius: 10px;
  padding: 0 10px;
  overflow: hidden;
  color: #fff;
}
#lower_Visual .inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.page_ttl {
  padding-bottom: 60px;
  line-height: 1.4;
}
.page_ttl span {
  display: block;
  font-size: 5.4rem;
  letter-spacing: 0.3em;
}
.page_ttl small {
  display: block;
  font-size: 2rem;
  letter-spacing: 0.22em;
}
.page_ttl .ani_bottom.active {
  animation: ani_bottom 1s ease 1.2s 1 forwards;
}
  @media screen and (max-width: 999px) {
    #lower_Visual {
      height: 106.6vw;
      border-radius: 0;
      padding: 0;
    }
    .page_ttl {
      padding-bottom: 12vw;
    }
    .page_ttl span {
      font-size: 9vw;
      letter-spacing: 0.2em;
    }
    .page_ttl small {
      font-size: 4.8vw;
      letter-spacing: 0.18em;
      margin-top: 1.33vw;
    }
  }

.mv_img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.mv_img::before {
  background: #FAE8DA;
  z-index: 150;
}
.mv_img img {
  width: 100%;
  height: 100%!important;
  object-fit: cover;
}

.mv_img.ani_img::before {
  transition: transform 0.8s cubic-bezier(0.42, 0, 0.3, 1) 0.3s;
}
.mv_img.ani_img.active img {
  animation: ani_img 1.2s cubic-bezier(0.42, 0, 0.3, 1) 0.2s 1 forwards;
}

.sub_ttl01 {
  color: #ec6c0e;
}
.sub_ttl01 .ff02 {
  display: inline-block;
  font-size: 5rem;
  letter-spacing: 0.2em;
  margin-right: 12px;
}
.sub_ttl01 .ff01 {
  display: inline-block;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
}
  @media screen and (max-width: 999px) {
    .sub_ttl01 {
      line-height: 1.3;
    }
    .sub_ttl01 .ff02 {
      display: block;
      font-size: 10.13vw;
      margin-right: 0;
    }
    .sub_ttl01 .ff01 {
      display: block;
      font-size: 3.46vw;
    }
  }

.sub_ttl02 {
  font-size: 2.6rem;
  padding-left: 33px;
  line-height: 1.6;
  background: url("../img/common/ico/ico_link01c.svg") 0 10px no-repeat;
  background-size: 24px auto;
}
  @media screen and (max-width: 999px) {
    .sub_ttl02 {
      font-size: 5.33vw;
      padding-left: 7.2vw;
      background: url("../img/common/ico/ico_link01c.svg") 0 1.7vw no-repeat;
      background-size: 5.33vw auto;
    }
  }

/*----------------------------------------------------
  共通ボタン
--------------------------------------------------- */
.pagetop {
  position: fixed;
  right: 80px;
  bottom: 80px;
  z-index: 100;
  display:none;
}
.pagetop a:hover {
  opacity: 0.5;
}
  @media screen and (max-width: 1200px) {
    .pagetop {
      right: 50px;
      bottom: 50px;
    }
  }
  @media screen and (max-width: 999px) {
    .pagetop {
      right: 5.33vw;
      bottom: 5.33vw;
    }
    .pagetop img {
      width: 13.33vw;
      height: auto;
    }
  }

.btn01 a {
  display: inline-block;
  text-decoration: none;
  position: relative;
  line-height: 1.6;
  padding-left: 28px;
  background: url("../img/common/ico/ico_arrow01a.svg") 0 2px no-repeat;
  background-size: 20px auto;
}
.btn01 a:hover {
  background: url("../img/common/ico/ico_arrow01b.svg") 0 2px no-repeat;
  background-size: 20px auto;
}
.btn01 a span {
  position: relative;
  display: inline-block;
  line-height: 1.4;
}
.btn01 a span::before {
  background: #ff701e;
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.btn01 a:hover span::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.btn01 a.ff01 {
  font-size: 2rem;
  background: url("../img/common/ico/ico_arrow01a.svg") 0 7px no-repeat;
  background-size: 20px auto;
}
.btn01 a.ff01:hover {
  background: url("../img/common/ico/ico_arrow01b.svg") 0 7px no-repeat;
  background-size: 20px auto;
}
  @media screen and (max-width: 999px) {
    .btn01 a {
      font-size: 4vw;
      padding-left: 6.4vw;
      background: url("../img/common/ico/ico_arrow01a.svg") 0 0.66vw no-repeat;
      background-size: 4.8vw auto;
    }
    .btn01 a:hover {
      background: url("../img/common/ico/ico_arrow01b.svg") 0 0.66vw no-repeat;
      background-size: 4.8vw auto;
    }
    .btn01 a span::before {
      display: none;
    }
    .btn01 a.ff01 {
      font-size: 4.26vw;
      background: url("../img/common/ico/ico_arrow01a.svg") 0 1vw no-repeat;
      background-size: 4.8vw auto;
    }
    .btn01 a.ff01:hover {
      background: url("../img/common/ico/ico_arrow01b.svg") 0 1vw no-repeat;
      background-size: 4.8vw auto;
    }
  }

.btn02 a {
  display: inline-block;
  text-decoration: none;
  text-align: center;
  border: solid 1px #ec6c0e;
  min-width: 200px;
  padding: 11px 22px;
  border-radius: 6px;
  line-height: 1.6;
}
.btn02 a:hover {
  background: #ec6c0e;
  color: #fff;
}
  @media screen and (max-width: 999px) {
    .btn02 a {
      font-size: 3.46vw;
      min-width: 40vw;
      padding: 1.8vw 4vw;
      border-radius: 6px;
    }
  }


/*----------------------------------------------------
  共通メニュー
--------------------------------------------------- */

/*transition*/
.trs {
  -webkit-transition: all .1s ease;
  -moz-transition: all .1s ease;
  -ms-transition: all .1s ease;
  -o-transition: all .1s ease;
  transition: all .1s ease;
}
/*trp*/
.trp {
  -webkit-transition: opacity .1s ease;
  -moz-transition: opacity .1s ease;
  -ms-transition: opacity .1s ease;
  -o-transition: opacity .1s ease;
  transition: opacity .1s ease;
  opacity: 1;
  filter: alpha(opacity=100);
}
.trp:hover {
  opacity: .6;
  filter: alpha(opacity=60);
}
/* trs-dr */
.trs-dr02 {
  -webkit-transition-duration: .2s;
  -moz-transition-duration: .2s;
  -ms-transition-duration: .2s;
  -o-transition-duration: .2s;
  transition-duration: .2s;
}
.trs-dr03 {
  -webkit-transition-duration: .3s;
  -moz-transition-duration: .3s;
  -ms-transition-duration: .3s;
  -o-transition-duration: .3s;
  transition-duration: .3s;
}
.trs-dr05 {
  -webkit-transition-duration: .5s;
  -moz-transition-duration: .5s;
  -ms-transition-duration: .5s;
  -o-transition-duration: .5s;
  transition-duration: .5s;
}
.trs-dr06 {
  -webkit-transition-duration: .6s;
  -moz-transition-duration: .6s;
  -ms-transition-duration: .6s;
  -o-transition-duration: .6s;
  transition-duration: .6s;
}
.trs-dr08 {
  -webkit-transition-duration: .8s;
  -moz-transition-duration: .8s;
  -ms-transition-duration: .8s;
  -o-transition-duration: .8s;
  transition-duration: .8s;
}
.trs-dr12 {
  -webkit-transition-duration: 1.2s;
  -moz-transition-duration: 1.2s;
  -ms-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s;
}
/* trs-tf */
.trs-tfCb {
  -webkit-transition-timing-function: cubic-bezier(0, .96, .4, .99);
  -moz-transition-timing-function: cubic-bezier(0, .96, .4, .99);
  -ms-transition-timing-function: cubic-bezier(0, .96, .4, .99);
  -o-transition-timing-function: cubic-bezier(0, .96, .4, .99);
  transition-timing-function: cubic-bezier(0, .96, .4, .99);
}

#hbMenu {
  opacity: 0;
  z-index: -10;
  left: 0%;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  transition: all 0.2s ease-in-out 0s;
  background: rgba(0,0,0,0.2);
}
.hb_open #hbMenu {
  opacity: 1;
  left: 0;
  z-index: 200;
}
#hbNav {
  position: absolute;
  right: -780px;
  width: 780px;
  height: 100%;
  background: rgba(255,255,255,1);
  overflow-y: visible;
  overflow-x: hidden;
  -webkit-overflow-scrolling: auto;
  overflow-scrolling: auto;
  transition: all 0.5s ease-in-out 0s;
  border-radius: 10px 0 0 10px;
}
.hb_open #hbNav {
  right: 0;
}
  @media screen and (max-width: 999px) {
    #hbMenu {
      width: 100%;
      right: -100vw;
    }
    #hbNav {
      width: 100%;
      border-radius: 0;
    }
  }

.menuTrigger {
  position: absolute;
  z-index: 100;
  top: 40px;
  right: 40px;
  width: 48px;
  height: 48px;
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
  transition: all 0.2s ease-in-out 0s;
  caret-color: transparent;
  box-shadow: 2px 2px 3px rgba(0,0,0,0.3);
}
.menuTrigger:hover {
  background: #F5B586;
}
.hb-fixed .menuTrigger {
  position: fixed;
  top: 40px;
  right: 40px;
}
.fix_logo {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.1s ease-in-out;
  position: fixed;
  top: 44px;
  right: 108px;
  z-index: 100;
}
.fix_logo a:hover img {
  filter: brightness(1.5);
}
.hb-fixed .fix_logo {
  opacity: 1;
  pointer-events: auto;
}
.menuIcon_line {
  position: absolute;
  right: calc(50% - 8px);
  width: 16px;
  height: 2px;
  border-radius: 0;
  background: #989898;
  transition: all 0.2s ease-in-out 0s;
}
.menuTrigger:hover .menuIcon_line {
  background: #fff;
}
.menuIcon_line:nth-of-type(1) {
  top: calc(50% - 8px);
}
.menuIcon_line:nth-of-type(2) {
  top: 50%;
}
.menuIcon_line:nth-of-type(3) {
  top: calc(50% + 8px);
}
  @media screen and (max-width: 999px) {
    .menuTrigger {
      top: 5.33vw;
      right: 5.33vw;
      width: 9.6vw;
      height: 9.6vw;
      border-radius: 1.33vw;
    }
    .hb-fixed .menuTrigger {
      position: fixed;
      top: 5.33vw;
      right: 5.33vw;
    }
    .fix_logo {
      display: none;
      top: 0;
      right: 0;
      width: 100%;
      transition: opacity 0.4s ease-in-out;
      background: url("../img/common/bg/hd_bg.jpg") center center no-repeat;
      background-size: cover;
      padding: 5.33vw 10.13vw;
      height: 22.4vw;
    }
    .fix_logo img {
      width: 68vw;
      height: auto;
    }
    .menuIcon_line {
      right: calc(50% - 1.6vw);
      width: 3.2vw;
    }
    .menuIcon_line:nth-of-type(1) {
      top: calc(50% - 12px);
    }
    .menuIcon_line:nth-of-type(2) {
      top: calc(50% - 1px);
    }
    .menuIcon_line:nth-of-type(3) {
      top: calc(50% + 10px);
    }
  }
  @media screen and (max-width: 699px) {
    .menuIcon_line:nth-of-type(1) {
      top: calc(50% - 9px);
    }
    .menuIcon_line:nth-of-type(3) {
      top: calc(50% + 7px);
    }
  }
  @media screen and (max-width: 499px) {
    .menuIcon_line:nth-of-type(1) {
      top: calc(50% - 7px);
    }
    .menuIcon_line:nth-of-type(3) {
      top: calc(50% + 5px);
    }
  }

/* open */
.hb_open .menuTrigger {
  position: fixed;
  z-index: 300;
}
.hb_open .menuTrigger .menuIcon_line:nth-of-type(1) {
  opacity: 0;
  top: 50%;
}
.hb_open .menuTrigger .menuIcon_line:nth-of-type(3) {
  opacity: 0;
  top: 50%;
}

.hb_inner {
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
}
.hb_header {
  background: #FEF9F5;
  padding: 35px 12%;
}
.hb_inner .com_menu {
  padding: 50px 12% 30px;
}
.hb_inner .com_menu .cmn_menu01 {
  margin-bottom: 40px;
  padding-bottom: 20px;
}
.hb_inner .com_menu .cmn_menu01 a {
  line-height: 1;
  padding-left: 30px;
}
.hb_inner .com_menu .cmn_menu01 a span {
  font-size: 2rem;
}
.hb_inner .com_menu .cmn_menu01 a small {
  display: block;
  font-size: 1.2rem;
  padding: 7px 0;
}
.hb_inner .com_menu .cmn_menu02-list {
  width: 47.5%;
}
  @media screen and (max-width: 999px) {
    .hb_header {
      background: #FEF5EE;
      padding: 6.66vw;
    }
    .hb_logo img {
      width: 73.6vw;
      height: auto;
    }
    .hb_inner .com_menu {
      padding: 6.66vw 9.33vw 3.33vw;
    }
    .hb_inner .com_menu .cmn_menu01 {
      margin-bottom: 5.33vw;
      padding-bottom: 1.33vw;
    }
    .hb_inner .com_menu .cmn_menu01 li {
      margin-bottom: 5.33vw;
    }
    .hb_inner .com_menu .cmn_menu01 a {
      line-height: 1.5;
      padding-left: 6vw;
    }
    .hb_inner .com_menu .cmn_menu01 a span {
      display: none;
    }
    .hb_inner .com_menu .cmn_menu01 a small {
      display: block;
      font-size: 3.73vw;
      padding: 0;
    }
    .hb_inner .com_menu .cmn_menu02-list {
      width: 100%;
    }
    .hb_inner .cmn_menu02 h3 {
      margin-bottom: 2vw;
    }
    .hb_inner .cmn_menu02 h4 {
      margin-bottom: 0;
    }
    .hb_inner .cmn_menu02-list {
      padding-bottom: 0;
    }
  }
