@charset "UTF-8";

/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {	margin: 0;	padding: 0;	border: 0;	font-size: 100%;	font: inherit;	vertical-align: baseline;	box-sizing:border-box;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {	display: block;}
body {	line-height: 1;}
ol, ul {	list-style: none;}
blockquote, q {	quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {	content: '';	content: none;}
table {/* border-collapse: collapse; *//* border-spacing: 0; */}
img{vertical-align: bottom;max-width: 100%;height: auto;}


@media screen and (min-width: 768px), print {
   /* bese */
body {background-color: #fff;font-size: 16px;overflow-x: hidden;line-height: 1.6;letter-spacing: 0.8px;color: #464541;overflow: clip;max-width: 1920px;margin-inline: auto;}
header{max-width: 1920px;position: relative;margin: 0 auto;z-index: 10;
}
header .inner {
  display: flex;
  gap: 40px;
  align-items: center;
  padding: 4px 20px;
}
header .header-nav {
  display: flex;
  align-items: center;
  gap: 40px;
}
header .header-nav a {
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 2.375;
}
header .header-logo{
  width: 160px;
}
header .h-menu{}


.side-fix{
  max-width: 1000px;
  width: min(95%, 1000px);
  margin: 0 auto;
  position: fixed;
  bottom: 20px;
  left: 0;
  right: 0;
  z-index: 10;
  display: none;
}
.side-fix ul{
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.side-fix ul li{width: 40%;}


footer .footer-inner{
  padding: 100px 0;
  width: min(95%, 1240px);
  margin-inline: auto;
}
footer .link-box {
  display: grid!important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
}
footer .footer-inner .footer-address{position: relative;padding: 11px 0 0 0;margin: 0 auto;}
footer .footer-inner .footer-address .footer-name {
  text-align: center;
  position: relative;
  margin: 0 0 36px;
}
footer .footer-inner .footer-address .footer-telframe {
   text-align: center;
}
footer .footer-inner .footer-address .footer-telframe .subt{
   font-size: 16px;
   font-weight: 500;
   letter-spacing: 0.1em;
   margin: 0 0 22px;
}
footer .footer-inner .footer-address .footer-telframe .tel{
   margin: 0 0 23px 0;
}
footer .footer-inner .footer-address .telxtxt{
   font-size: 14px;
   font-weight: 500;
   line-height: 1.71428;
   letter-spacing: 0.05em;
   text-align: center;
}
footer .footer-inner .footer-address .telxtxt .teltxt-frame{
   border: 1px solid #595656;
   text-align: center;
   display: inline-block;
   margin-right: 14px;
   padding: 0 9px;
   line-height: 1.6;
}
footer .copy-frame{
   background-color: #F0F0EE;
   padding: 20px 0 160px;
}
footer .copyright{display: block;font-size: 14px;line-height: 1.85714;letter-spacing: 0.05em;text-align: center;}
footer .copy-txt{display: block;font-size: 10px;line-height: 2;letter-spacing: 0.05em;text-align: center;}



/*pc・タブレットcss*/
/*pc_defaultset*/
.pc { display: block !important; }
/*pcのみ表示ブロック*/
.pc2 { display: inline-block !important; }
/*pcのみ表示ブロック*/
.sp, .sp2 { display: none !important; }
/*スマホのみ表示ブロック*/
.h_menu { display: none; }
/*スマホ用ヘッダ*/
.sp-header { display: none; }
/*スマホ用メニュー*/
#sp-global-nav { display: none; }
/*スマホ用メニュー*/
.sp-fix-list { display: none; }
/* Antialiasing ※任意　*/
     
html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
 
/* WEB FONTs 游ゴシックかすれ予防*/
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 100; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 200; }
.f-min { font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
.f-min-02 { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","Sawarabi Mincho","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.f-gothic { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック","Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  Verdana, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
.f-gothic-02{ font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-style: normal;}
.f-min-03 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
.f-kaku {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

body { -webkit-text-size-adjust: 100%; }
img { vertical-align: bottom; }
a { text-decoration: none; color: #090909; }
a:hover { text-decoration: underline; }
.nobd a:hover { text-decoration: none !important; }

   
/* リンク透明 */
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
/* リンク透明にしない */
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* ggmap */
/* <div class="ggmap">iframeのコピーしたコード</div> */
.ggmap { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
.ggmap iframe, .ggmap object, .ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
/*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
@font-face { font-family: 'jp-sttl01';
src: url("../font/.eot");
/* IE9以上用 */
src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
/* iOS, Android用 */
/* 念の為指定しておきます */
font-weight: normal;
/* 念の為指定しておきます */
font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
.myWebFontClass { font-family: 'jp-sttl01'; }
}


@media screen and (max-width: 1200px) {
html { overflow: auto; }
body {/* overflow: visible; */}
}


@media screen and (min-width:768px) and (max-width:1100px) {
  header{max-width: 100vw;position: relative;margin: 0 auto;z-index: 10;
  }
  header .inner {
    display: flex;
    gap: 3.636vw;
    align-items: center;
    padding: 0.364vw 1.818vw;
  }
  header .header-nav {
    display: flex;
    align-items: center;
    gap: 3.636vw;
  }
  header .header-nav a {
    font-weight: bold;
    font-size: 1.455vw;
    letter-spacing: 0.05em;
    line-height: 2.375;
  }
  header .header-logo{
    width: 14.545vw;
  }
}


@media screen and (min-width:768px) and (max-width:1280px){
    footer .copy-frame {
      background-color: #F0F0EE;
      padding: 2.5vw 0 20vw;
   }
    footer .copyright {
      display: block;
      /* font-size: 0.73vw; */
      line-height: 1.86;
      letter-spacing: 0.13vw;
      text-align: center;
    }
    footer .copy-txt {
      display: block;
      /* font-size: 0.52vw; */
      line-height: 2;
      letter-spacing: 0.13vw;
      text-align: center;
      width: 80vw;
      margin: 0 auto;
    }
}





@media screen and (max-width: 767px) {
html{ font-size:62.5%;}
body {background-color: #fff;overflow: hidden;font-size: 3.6vw;font-family: sans-serif;-webkit-text-size-adjust: 100%;line-height: 1.6;}
.pc, .pc2 { display: none !important; }
/*pcのみ表示ブロック*/
.sp { display: block !important; }
/*スマホのみ表示ブロック*/
.sp2 { display: inline-block !important; }
/*スマホのみ表示ブロック*/
.no-br { display: none; }
/*スマホでbrを解除したい場合に使用*/
.sp_display_block { display: block !important; }
/*スマホでflexboxを解除したい場合等に使用*/
.pc-menu{ display: none; }
.side-fix{ display: none; }
.fix-list{ display: none; }
#pc-menu-open{ display: none; }


header{position: relative;padding: 2.4vw 0vw 2.4vw 3vw;}
header .h-logo{
}
header .h-logo img{width: 25.2vw;}
header .h-menu {position: fixed;top: 2.6vw;right: 2.2vw;z-index: 997;}
header .h-menu img {width: 14.5vw;}

nav#sp-global-nav .h-logo {padding: 2.6vw 0vw 2.6vw 3vw;}
nav#sp-global-nav .h-logo img {width: 25.2vw;}
nav#sp-global-nav { font-size: 3.8vw; z-index: 999; overflow: scroll; position: fixed; top: 0; width: 100vw; height: 100vh; display: none; background-color:#EAE6DC; box-sizing: border-box; }
nav#sp-global-nav .open-close-01 {position: fixed;top: 2.4vw;right: 2.6vw;width: 14.5vw;z-index: 998;}
nav#sp-global-nav .open-close-01 img {width: 29vw;}
nav#sp-global-nav .open-color-Box {
  width: 87vw;
  margin-inline: auto;
  margin-top: 4.2vw;
}
nav#sp-global-nav .open-link  {display: flex;flex-direction: column;gap: 5vw;margin: 0 auto 4vw;}
nav#sp-global-nav .list {margin: 11.4vw 2.4vw 24vw;display: flex;flex-direction: column;gap: 6.4vw;}
nav#sp-global-nav .list li {
  background-image: url(../images/common/dotted-line.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
  position: relative;
}
nav#sp-global-nav .list li::after {
  content: "";
  display: block;
  width: 4.9vw;
  height: 4.9vw;
  background: url(../images/common/nav-arrow.svg);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}
nav#sp-global-nav .list li a {line-height: 1.166666;text-decoration: none;padding: 4.4vw 0;display: block;font-size: 5.797vw;font-weight: 700;letter-spacing: 0.05em;}
nav#sp-global-nav .footer-address {
  position: relative;
  padding: 1vw 0 20vw;
  margin: 0 auto;
}
nav#sp-global-nav .footer-address .footer-name {
  text-align: center;
  position: relative;
  margin: 0 0 4vw;
}
nav#sp-global-nav .footer-address .footer-telframe {
  text-align: center;
  margin: 0 0 5.4vw;
}
nav#sp-global-nav .footer-address .footer-telframe .subt {
  font-size: 3.865vw;
  font-weight: 500;
  line-height: 4;
  letter-spacing: 0.1em;
}
nav#sp-global-nav .footer-address .footer-telframe .tel {
  margin: 0 0 4.09vw 0;
}
nav#sp-global-nav .footer-address .telxtxt {
  font-size: 3.4vw;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 0.05em;
  text-align: left;
  width: 58.5vw;
  margin: 0 auto;
}
nav#sp-global-nav .footer-address .telxtxt .line{
  display: none;
}
nav#sp-global-nav .footer-address .telxtxt .teltxt-frame {
  border: 0.05vw solid #595656;
  text-align: center;
  width: 19vw;
  display: block;
  margin-inline: auto;
  margin-bottom: -5vw;
}


.side-fix{ display: none!important; }
.sp-fix-list { position: fixed; bottom: 0; width: 100%; z-index: 996; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: flex-end;}
.sp-fix-list .tel {  }
.sp-fix-list .icon { }



footer .footer-inner {
  padding: 24vw 0 16vw;
  display: flex;
  flex-direction: column-reverse;
  gap: 14vw;
}
footer .link-box {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
 footer .footer-inner .footer-address {
  position: relative;padding: 1vw 0 0 0;margin: 0 auto;
}
 footer .footer-inner .footer-address .footer-name {
  text-align: center;
  position: relative;
  margin: 0 0 4vw;
}
 footer .footer-inner .footer-address .footer-telframe {
  text-align: center;
  margin: 0 0 5.6vw;
}
 footer .footer-inner .footer-address .footer-telframe .subt {
  font-size: 3.865vw;
  font-weight: 500;
  line-height: 4;
  letter-spacing: 0.1em;
}
 footer .footer-inner .footer-address .footer-telframe .tel {
  /* margin: 0 0 4.09vw 0; */
}
 footer .footer-inner .footer-address .telxtxt {
  font-size: 3.4vw;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 0.05em;
  text-align: left;
  width: 58.5vw;
  margin: 0 auto;
}
 footer .footer-inner .footer-address .telxtxt .line{
  display: none;
}
 footer .footer-inner .footer-address .telxtxt .teltxt-frame {
  border: 0.05vw solid #595656;
  text-align: center;
  width: 19vw;
  display: block;
  margin-inline: auto;
  margin-bottom: -4.6vw;
}
 footer .copy-frame {
  background-color: #F0F0EE;
  padding: 5vw 8.4vw 24vw;
}
 footer .copyright {
  display: block;
  font-size:3.382vw;
  line-height: 1.86;
  letter-spacing: 0.05em;
  text-align: center;
  margin: 0 0 1.6vw;
 }
 footer .copy-txt {
  2.415vw: 2.5vw;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
  font-size: 2.415vw;
 }
 


.fit img { object-fit: cover; }
.wysiwyg img { width: auto !important; height: auto !important; }
html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
/* WEB FONTs 游ゴシックかすれ予防*/
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 100; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 200; }
.f-min { font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
.f-min-02 { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","Sawarabi Mincho","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.f-gothic { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック","Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  Verdana, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
.f-gothic-02{ font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-style: normal;}
.f-min-03 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
.f-kaku {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

*:focus { outline: none!important;}
a { -webkit-tap-highlight-color:rgba(0,0,0,0); cursor:pointer;}

body { -webkit-text-size-adjust: 100%; }
img {vertical-align: bottom;max-width: 100%;height: auto;}
a { text-decoration: none; color: #090909; }
a:hover { text-decoration: underline; }
.nobd a:hover { text-decoration: none !important; }
.clearfix { zoom: 1; }
.clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }


/* img-block */
/* アンカーリンク調整 */
.hideAnchor { display: block; height: 0; overflow: hidden; text-indent: -9999px; margin-top: -2vw; padding-bottom: 2vw; }
/* スクロール縦 */
.scroll-y { box-sizing: border-box; overflow-y: scroll; transform: translateZ(0); }
/* リンク透明 */
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
/* リンク透明にしない */
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* ggmap */
/* <div class="ggmap">iframeのコピーしたコード</div> */
.sp-ggmap { position: relative; padding-bottom: 56.25%; padding-top: 5vw; height: 0; overflow: hidden; }
.sp-ggmap iframe, .sp-ggmap object, .sp-ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
@font-face { font-family: 'jp-sttl01';
/* お好きな名前にしましょう */
src: url("../font/.eot");
/* IE9以上用 */
src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
/* iOS, Android用 */
/* 念の為指定しておきます */
font-weight: normal;
/* 念の為指定しておきます */
font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
.myWebFontClass { font-family: 'jp-sttl01'; }
}
@media screen and (max-height: 450px) {
   /* 高さ450px以下の場合 andoroidのフォーム対策 ストーカーバナー用　*/
	.sp-fix-list{display: none;}
}