@charset "utf-8";

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}
html {
	
}

body {
  margin: 0;
  padding: 0;
  background: #fff;
  width: 100%;
  font-weight: 500;
  color: #1D1D1D;
  letter-spacing: 0.06em;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  font-family: sans-serif;

}

/* -------

【重要】
上記bodyに対するfont-familyの記述は必要なものだけ使用し、
使わない分は忘れずに削除すること。

----*/

img {
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: bottom;
}

/*========= LoadingのためのCSS ===============*/

/* Loading背景画面設定　*/
#splash {
    /*fixedで全面に固定*/
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 9999;
	text-align:center;
	color:#fff;
	top: 0;
}

/* Loading画像中央配置　*/
#splash_text {
	position: absolute;
	top: 50%;
	left: 50%;
    z-index: 9999;
	transform: translate(-50%, -50%);
	color: #fff;
	width: 100%;
}

/*IE11対策用バーの線の高さ※対応しなければ削除してください*/
#splash_text svg{
    height: 2px;
}

/*割れる画面のアニメーション*/
.loader_cover {
    width: 100%;
    height: 50%;
    background-color: #333;
    transition: all .2s cubic-bezier(.04, .435, .315, .9);
    transform: scaleY(1);
}
/*上の画面*/
.loader_cover-up {
    transform-origin: center top;
}

/*下の画面*/
.loader_cover-down {
    position: absolute;
    bottom: 0;
    transform-origin: center bottom;
}
/*クラス名がついたらY軸方向に0*/
.coveranime {
    transform: scaleY(0);
}

/*PC用*/
@media print,screen  {
  .pc { display: block !important }
  .sp { display: none !important }
  .h_menu, #sp_global_nav { display: none; }
  a.nolink { pointer-events: none; cursor: default; text-decoration: none; }

  
/*----------------------------
header
----------------------------*/
#header { width: 100%; position: fixed; top:0; z-index: 1000; }
#header .header_wrap { height: 90px; align-items: center; background: #fff; }
#header .header_wrap .header_name { position: relative; padding-right: 40px; gap: 0 30px; align-items: center; }
#header .header_wrap .header_name p { font-size: 36px; font-weight: 600; letter-spacing: 0.12em; }
#header .header_wrap .header_name .en { position: absolute; top: 14px; right: 133px; font-size: 14px; font-weight: 500; letter-spacing: 1.08em; white-space: nowrap; }

#header .header_menu { width: 90px; height: 100%; }
#header .header_menu { font-family: sans-serif; }

#header .header_menu a, .header_menu button { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; width: 100%; height: 100%; color: inherit; }
#header .header_menu button { transition: opacity .3s linear;background-color: transparent; border: none; cursor: pointer; outline: 0; padding: 0; appearance: none; text-align: left; }
#header .header_hamburger { position: relative; width: 32px; height: 22px; margin: 0 auto 4px; }
#header .header_hamburger span { position: absolute; display: inline-block; transition: all .1s; left: 0; width: 100%; height: 2px; background-color: #000;}
#header .header_hamburger span:nth-of-type(1) { top: 0; }
#header .header_hamburger span:nth-of-type(2) { top: calc(50% - 1px); }
#header .header_hamburger span:nth-of-type(3) { bottom: 0; }
#header .header_btnName { line-height: 1; margin: 8px auto 20px; letter-spacing: .02em; font-size: 10px; font-weight: 700; letter-spacing: 0.04em; }


#header .header_wrap.is_active .header_hamburger span:nth-of-type(1) { -webkit-transform: translateY(10px) rotate(-45deg); transform: translateY(10px) rotate(-45deg); }
#header .header_wrap.is_active .header_hamburger span:nth-of-type(2) { opacity: 0; }
#header .header_wrap.is_active .header_hamburger span:nth-of-type(3) { -webkit-transform: translateY(-10px) rotate(45deg); transform: translateY(-10px) rotate(45deg); }

#header .globalMenu { visibility: hidden; overflow-y: scroll;  position: fixed; top: 90px; left: 0; padding: 120px 0 50px; width: 372px; height: calc(100vh - 90px); box-sizing: border-box; background: #fff; z-index: 1000; }
#header .globalMenu.is_active {  }

#header .globalMenu ul { margin: 0 auto; width: 292px; }
#header .globalMenu ul li a { position: relative; display: block; margin-bottom: 5px; padding: 21px; font-size: 16px; font-weight: 700; letter-spacing: 0.04em; border-bottom: 1px solid #000; }
#header .globalMenu ul li a::before { content:''; position: absolute; right: 18px; top: 41%; width: 15px; height: 7px; background: url(../images/contents/common/nav_arrow01.svg) no-repeat left top; transition: right .3s ease-in-out; }
#header .globalMenu ul li a:hover::before { right: 9px; }





.side_sticky { position: fixed; bottom: 50px; right: 0; max-width: 58px; z-index: 1000; }
.side_sticky .pagetop { display: none; }




  
/*----------------------------
footer
----------------------------*/
.ly_content { width: 100%; max-width: 1230px; margin: auto; padding-left: 25px; padding-right: 25px; box-sizing: border-box; }

footer { background-color: #fff; }
.hp_bgcBlack { background-color: #000; }
footer .ly_wideContent { width: 100%; max-width: 1230px; margin: auto; padding-left: 25px; padding-right: 25px; box-sizing: border-box; }
.bl_ft_cntGlbUnit { padding: 60px 0; }
.bl_ft_cntGlbUnit .bl_ft_cntGlb:last-child { border-top: solid 1px rgba(255, 255, 255, .25); margin-top: 50px; padding-top: 50px; }
.bl_ft_cntGlb h2 { text-align: center; font-family: "EB Garamond", serif; font-weight: 400; font-size: 24px; letter-spacing: .08em; line-height: 1; color: #fff; }
.bl_ft_cntGlb h2 span { display: block; font-size: 12px; color: rgba(255, 255, 255, .75); margin-top: 8px; }
.bl_ft_cntGlb_cnt { color: #fff; margin-top: 34px; }
.bl_ft_cntGlb_tel { display: flex; justify-content: center; align-items: center; }
.bl_ft_cntGlb_tel figure { width: 29px; margin-right: 15px; }
.bl_ft_cntGlb_tel a { display: inline-block; font-family: "EB Garamond", serif; font-size: 32px; letter-spacing: .05em; line-height: 1; color: #fff; white-space: nowrap; }
.bl_ft_cntGlb_tel p { font-size: 12px; }
.bl_ft_cntGlb_detail { text-align: center; }
.bl_ft_cntGlb_detail p { color: #fff; font-size: 12px; line-height: 1.5; text-align: center; margin: 22px auto; }
.bl_ft_cntGlb_detail .btn { display: inline-block; width: 100%; max-width: 200px; margin: auto; padding: 20px; box-sizing: border-box; border: 1px solid #fff; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-align: center; background: url(../images/contents/common/footer_arrow.svg) no-repeat right 12px center; }
.bl_ft_cntGlb_detail .btn:last-of-type { margin-left: 30px; }
.bl_ft_cntGlb_detail .btn:hover { color: #000; background: url(../images/contents/common/footer_arrow02.svg) #fff no-repeat right 12px center; }


.bl_ft_links { padding: 80px 0; }
.bl_ft_links_ul { margin-bottom: -12px !important; text-align: center; }
.bl_ft_links_ul>li { margin-bottom: 12px; }
.bl_ft_links_ul>li>button { font-family: "EB Garamond", serif; font-size: 14px; letter-spacing: .05em; line-height: 1; }
.bl_ft_links_ul>li .bl_ft_linksChild_ul { display: none; text-align: center; font-size: 12px; color: #444; }
.bl_ft_links_ul>li .bl_ft_linksChild_ul li { line-height: 2.5; }
.bl_ft_links_ul>li.bl_ft_links_ul__hrz .bl_ft_linksChild_ul li:last-child a { border-right: none; }
.bl_ft_links_ul>li.bl_ft_links_ul__hrz .bl_ft_linksChild_ul li a:hover {transition: opacity .3s linear; opacity: .5;}
.bl_ft_links_ul>li>button i { font-size: .6rem; margin-left: 6px; color: #707070; vertical-align: middle; }
.bl_ft_snsLinks_ul li a .fa-twitter:before {content: "𝕏"; font-family: unset; font-weight: 700; }
.bl_ft_snsLinks_ul { display: flex; justify-content: center; }
.bl_ft_snsLinks_ul li { font-size: 20px; margin: 0 8px; }
.bl_ft_snsLinks_ul li a { color: rgba(0, 0, 0, .5); }
.bl_ft_copyright { font-family: sans-serif; font-size: 10px; text-align: center; color: rgba(0, 0, 0, .5); line-height: 1; margin-top: 15px; padding-bottom: 50px; }



}


@media screen and (min-width: 920px) {
.ly_content { padding-left: 25px; padding-right: 25px; }

  .bl_ft_cntGlbUnit { padding: 90px 0; display: flex; align-items: flex-start; }
  .bl_ft_cntGlb { display: flex; }
  .bl_ft_cntGlbUnit .bl_ft_cntGlb { flex: 1; padding-right: 0; }
  .bl_ft_cntGlbUnit .bl_ft_cntGlb:last-child { margin-top: 0; padding-top: 0; }
  .bl_ft_cntGlbUnit .bl_ft_cntGlb:last-child { flex: none; width: auto; border: none; padding-right: 0; }
  .bl_ft_cntGlb h2 { text-align: left; font-size: 32px; width: 17%; min-width: 190px; flex-shrink: 0; }
  .bl_ft_cntGlb_cnt { margin-top: 0; display: flex; }
  .bl_ft_cntGlb_tel figure { width: 35px; }
  .bl_ft_cntGlb_detail { flex: 2; text-align: left; display: flex; justify-content: space-between; margin-left: 20px; }
  .bl_ft_cntGlb_detail p { text-align: left; margin: auto; width: 15vw; max-width: 350px; padding-right: 10px; color: #fff; }

  .bl_ft_links_ul { text-align: left; display: flex; flex-wrap: wrap; justify-content: center; }
  .bl_ft_links_ul>li { margin: 0 60px; }
  .bl_ft_links_ul>li.bl_ft_links_ul__hrz { width: 100%; margin: 0 0 30px; border-top: solid 1px rgba(0, 0, 0, .15); border-bottom: solid 1px rgba(0, 0, 0, .15); }
  .bl_ft_links_ul>li>button { font-size: 16px; line-height: 2.5; pointer-events: none; }
  .bl_ft_links_ul>li>button i { display: none; }
  .bl_ft_links_ul>li.bl_ft_links_ul__hrz button { display: none; }
  .bl_ft_links_ul>li .bl_ft_linksChild_ul { display: block !important; text-align: left; }
  .bl_ft_links_ul>li.bl_ft_links_ul__hrz .bl_ft_linksChild_ul { display: flex !important; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
  .bl_ft_links_ul>li.bl_ft_links_ul__hrz .bl_ft_linksChild_ul li { text-align: center; width: 20%; padding: 15px 0; }
  .bl_ft_links_ul>li.bl_ft_links_ul__hrz .bl_ft_linksChild_ul li a { display: block; border-right: solid 1px rgba(0, 0, 0, .15); line-height: 3; }
  .bl_ft_copyright { border-top: solid 1px rgba(0, 0, 0, .15); font-size: 12px; margin-top: 30px; padding: 30px 0 60px; }
  
}


@media (max-width: 1030px) and (min-width: 920px) {
  #header .header_wrap .header_name .en { letter-spacing: 0.8em; }
}

/*SP用*/
@media screen and (max-width:919px) {
html {
	font-size: 3.14vw;
}
body { letter-spacing: 0.04em; }
  .pc { display: none !important }
  .sp { display: block !important }
  img { max-width: 100%; height: auto; width: auto; }
  body { min-width: auto !important; overflow: inherit !important; }
  div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }


/*----------------------------
header
----------------------------*/
  #header .header_wrap { height: 20.773vw; align-items: inherit; }
  #header .header_wrap .header_logo { margin: 2.174vw 0 0 10vw; }
  #header .header_wrap .header_logo img { width: 32.729vw; }
  #header .header_wrap .header_name { padding-right: 0; top: 12.473vw; right: 14.6vw; }
  #header .header_wrap .header_name p { font-size: 5.797vw; }
  #header .header_wrap .header_name .en { top: 1vw; right: 14.2vw; font-size: 2.415vw; letter-spacing: 0.94em; }
  #header .header_menu { margin-top: 5.676vw; width: 14.353vw; height: 9.541vw; }

  #header .header_menu a, .header_menu button { }
  #header .header_menu button {  }
  #header .header_hamburger { width: 6.522vw; height: 6.469vw; }
  #header .header_hamburger span { height: 0.362vw; }
  #header .header_hamburger span:nth-of-type(1) { top: 0; }
  #header .header_btnName { margin: 0 auto 4px; font-size: 2.536vw; letter-spacing: 0.109em; }

  #header .header_wrap.is_active .header_hamburger{ margin-bottom: 3.744vw; }
  #header .header_wrap.is_active .header_hamburger span:nth-of-type(1) { -webkit-transform: translateY(7px) rotate(-45deg); transform: translateY(7px) rotate(-45deg); }
  #header .header_wrap.is_active .header_hamburger span:nth-of-type(2) { opacity: 0; }
  #header .header_wrap.is_active .header_hamburger span:nth-of-type(3) { top: 0; -webkit-transform: translateY(7px) rotate(45deg); transform: translateY(7px) rotate(45deg); }

  #header .globalMenu { top: 20.773vw; left: 0; padding: 8.575vw 0 15vw; width: 100%; height: 100%; overflow: scroll; }
  #header .globalMenu.is_active {  }

  #header .globalMenu ul { margin: 0 3.623vw; width: auto; }
  #header .globalMenu ul li a { margin-bottom: 0.604vw; padding: 5.193vw 3.623vw; font-size: 3.14vw; letter-spacing: 0.08em; border-bottom: 0.121vw solid #000; }
  #header .globalMenu ul li:first-child a {  border-top: 0.121vw solid #000; }
  #header .globalMenu ul li a::before { right: 3.623vw; top: 41%; width: 3.261vw; height: 1.449vw; background: url(../images/contents/common/nav_arrow01.svg) no-repeat left top / 100%; }
  #header .globalMenu ul li a:hover::before { right: 3.623vw; }


.side_sticky { position: fixed; bottom: 20vh; right: 0; max-width: 7.729vw; z-index: 1000; }
  
/*----------------------------
footer
----------------------------*/
.bl_ft_cntGlbUnit .bl_ft_cntGlb:last-child { border: none; margin-top: 0; padding-top: 0; }
.bl_ft_cntGlb_detail .btn { display: block; width: 73.671vw; }
.bl_ft_cntGlb_detail .btn:last-of-type { margin: 3.623vw auto 0; }
.bl_ft_cntGlb_tel p { margin-top: 1vw; }


}

/* 印刷用 */
@media print {
  body { zoom: 0.6; -webkit-print-color-adjust: exact; }
}

/* 印刷用 IE10以上 */
@media print and (-ms-high-contrast:none) {
@page { size: A4; margin: 12.7mm 9.7mm; }
body { zoom: 1.8; width: 1200px; transform: scale(0.5); transform-origin: 0 0; }