@charset "utf-8";
:root{
  --root-font-size: 16;
}
*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,menu{margin:0}ul[role='list'],ol[role='list']{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]),label:not([class]){text-decoration-skip-ink:auto;}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}menu{padding:0}

/*main*/
*,*:before,*:after{box-sizing:border-box;font-style:normal;}
*{
	scrollbar-width:thin;
	scrollbar-color:#96deff #bdeaff;
}
body{
	width:100%;
  font-family:"Noto Sans JP",serif;
  font-optical-sizing:auto;
  font-weight:400;
  font-style:normal;
	line-height:1.5;
	color:#262626;
	-webkit-text-size-adjust:100%;
}
a,button,label{
	color:#262626;
	text-decoration:none;
	transition:all 0.4s;
  cursor:pointer;
}
a:hover,button:hover,label:hover{color:#00a1e9;}
img,svg{width:100%;height:auto;vertical-align:top;}
a svg > *{transition:fill 0.4s;}
*[hidden]{
  position:fixed;
  top:-9999px;
  left:0;
  width:1px;
}
*[data-serif]{
  font-family:"BIZ UDPMincho", serif;
  font-weight:400;
  font-style:normal;
}
*[data-anime]{
  overflow:hidden;
  opacity:0;
  transform:translateX(-100%);
  transition:transform cubic-bezier(0.215,0.61,0.355,1) 1.6s,opacity cubic-bezier(0.215,0.61,0.355,1) 1.6s;
}
*[data-anime] > span{
  display:block;
  transform:translateX(100%);
  transition:transform cubic-bezier(0.215,0.61,0.355,1) 1.6s,opacity cubic-bezier(0.215,0.61,0.355,1) 1.6s;
}
*[data-anime][aria-hidden="true"]{
  opacity:1;
  transform:translateX(0);
}
*[data-anime][aria-hidden="true"] > span{transform:translateX(0);}
*[data-fganime]{
  opacity:0;
  transform:translateY(80%);
  transition:transform cubic-bezier(0.215,0.61,0.355,1) 1.6s,opacity cubic-bezier(0.215,0.61,0.355,1) 1.6s;
}
*[data-fganime][aria-hidden="true"]{
  opacity:1;
  transform:translateY(0%);
}
.inner{
  margin:0 auto;
  text-align:center;
}
.linkSquare a,
.linkSquare button{
  display:table;
  margin:0 auto;
  background-color:#2769ce;
  border:1px solid #2769ce;
  color:#fff;
  text-align:center;
  line-height:1.0;
  cursor:pointer;
}
.linkSquare button:hover,
.linkSquare a:hover{
  background-color:#fff;
  color:#2769ce;
}
a.commonBtn{
  display:flex;
  align-items:center;
  justify-content:space-between;
  line-height:1.0;
}
.shopLink a.commonBtn{background-color:#2b7af2;}
.mailLink a.commonBtn{background-color:#2769ce;}
.shopLink a.commonBtn:hover{
  background-color:#fff;
  color:#2b7af2;
}
.mailLink a.commonBtn:hover{
  background-color:#fff;
  color:#2769ce;
}
a.commonBtn > *{display:block;}
a.commonBtn svg use{fill:#fff;}
.shopLink a.commonBtn:hover svg > *{fill:#2b7af2;}
.mailLink a.commonBtn:hover svg > *{fill:#2769ce;}
.pdfLink a{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  margin:0 auto;
  border-top:2px solid #979797;
  border-bottom:2px solid #979797;
}
.pdfLink a > *{display:block;}
.pdfLink a svg use{fill:#ff2116;}
header{
  width:100%;
  position:fixed;
  top:0;
  left:0;
  background-color:#101010;
  z-index:102;
}
header .inner{
  display:grid;
  grid-template-columns:auto auto;
  grid-template-rows:auto;
}
header .inner > *{grid-row:1 / 2;}
header menu,
header ul,
header li{
  padding:0;
  margin:0;
  list-style:none;
}
header label,
header a{
  display:block;
  color:#fff;
}
header label{position:relative;}
header .hdLogo{grid-column:1 / 2;}
header .hdLogo a{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  height:100%;
}
header .hdLogo a:hover{opacity:0.7;}
main{
  width:100%;
  position:relative;
  z-index:0;
}
body:not(.home) main{
  max-width:1672px;
  margin:0 auto;
}
#breadcrumb{width:100%;}
#breadcrumb ol,
#breadcrumb li{
  padding:0;
  margin:0;
  list-style:none;
}
#breadcrumb ol{
  display:flex;
  align-items:center;
}
#breadcrumb li{
  position:relative;
  line-height:1.2;
}
#breadcrumb li+li:before{
  content:"\03e";
  display:block;
  position:absolute;
  top:0;
  left:0;
}
footer{
  background-color:#3e3e3e;
  color:#fff;
}
footer li{list-style:none;}
footer a{
  display:table;
  color:#fff;
}
footer address{line-height:1.777;}
footer .ftNavi{line-height:1.0;}
footer .ftNavi menu:not([class]) li{position:relative;}
footer .ftNavi menu:not([class]) li:before{
  content:"";
  display:block;
  width:10px;
  height:1px;
  position:absolute;
  left:0;
  top:calc(50% - 1px);
  background-color:#fff;
}
footer .ftNavi h2 a[role="link"]{font-weight:normal;}
footer .copyrights{
  width:100%;
  background-color:#2e2e2e;
  text-align:center;
  line-height:1.0;
}
#returnTop{
  position:fixed;
  padding:0;
  outline:transparent;
  border:none;
  background-color:transparent;
  z-index:101;
  transition:all 0.4s;
}
#returnTop:hover{opacity:0.7;}
@media (max-width:767.98px){
	body{font-size:calc(15 / var(--root-font-size) * 1rem);}
	*[data-pc]{display:none!important;}
  .pdfLink a{
    width:100%;
    padding:8px 2px;
    font-size:13px;
  }
  .pdfLink a span{margin-right:16px;}
  .pdfLink a svg{width:16px;}
  header .inner{
    height:60px;
    padding:0 5vw;
  }
  .hdLogo{width:95px;}
  .gBtn{
    grid-column:2 / 3;
    align-self:center;
    justify-self:end;
  }
  label[for="gNavCheck"]{
    display:block;
    position:relative;
    width:30px;
    height:24px;
  }
  label[for="gNavCheck"]:before,
  label[for="gNavCheck"]:after,
  label[for="gNavCheck"] span{
    content:"";
    position:absolute;
    left:0;
    display:block;
    width:100%;
    height:2px;
    background-color:#fff;
    transition:all 0.4s;
  }
  label[for="gNavCheck"]:before{top:0;}
  label[for="gNavCheck"]:after{bottom:0;}
  label[for="gNavCheck"] span{top:calc(50% - 1px);}
  #gNavCheck:checked ~ header label[for="gNavCheck"]:before{transform:rotate(30deg) translate(2.5px,11.5px);}
  #gNavCheck:checked ~ header label[for="gNavCheck"]:after{transform:rotate(-30deg) translate(2.5px,-11.5px);}
  #gNavCheck:checked ~ header label[for="gNavCheck"] span{opacity:0;}
  #globalNavi{
    width:100%;
    max-height:calc(100vh - 60px);
    max-height:calc(100svh - 60px);
    position:fixed;
    top:60px;
    left:0;
    background-color:#262626;
    font-size:15px;
    overflow-y:auto;
    transition:all 0.4s;
    opacity:0;
    pointer-events:none;
    z-index:-1;
  }
  #gNavCheck:checked ~ header #globalNavi{
    opacity:1;
    pointer-events:auto;
    z-index:99;
  }
  #globalNavi menu{border-bottom:1px solid #fff;}
  #globalNavi menu > li{border-top:1px solid #fff;}
  #globalNavi menu label,
  #globalNavi menu a{
    line-height:1.0;
    text-align:left;
  }
  #globalNavi menu > li > label,
  #globalNavi menu > li > a{
    padding:20px 10vw;
    font-size:15px;
  }
  #globalNavi menu a.commonBtn{background-color:transparent;}
  #globalNavi .downMenu label:before{
    content:"";
    position:absolute;
    top:calc(50% - 8px);
    right:24px;
    display:block;
    width:16px;
    height:16px;
    background: url("../img/common/menu-angle.svg") no-repeat center center / contain;
    transition:all 0.4s;
  }
  #globalNavi .downMenu input[type="checkbox"]:checked ~ label:before{transform:rotate(180deg);}
  #globalNavi .subMenu{
    height:0;
    padding-bottom:0px;
    overflow:hidden;
    transition:all 0.4s;
  }
  #globalNavi .downMenu input[type="checkbox"]:checked ~ .subMenu{
    height:auto;
    padding-bottom:10px;
  }
  #globalNavi .subMenu a{
    padding:10px 10vw 10px 12vw;
    font-size:13px;
  }
  .menuFooter{
    width:100%;
    padding:46px 0 16px;
    background-color:#3e3e3e;
    color:#fff;
    text-align:center;
  }
  .menuFooter .hdLogo2{
    width:62px;
    margin:0 auto 16px;
  }
  .menuFooter address{
    font-size:14px;
    line-height:1.428;
  }
  .menuFooter .copyrights{
    display:block;
    margin-top:64px;
    line-height:1.0;
    font-size:12px;
  }
  body:not(.home) main{padding:60px 0 90px;}
  #breadcrumb ol{margin:9px 5vw;}
  #breadcrumb li{font-size:10px;}
  #breadcrumb li+li{
    padding-left:15px;
    margin-left:8px;
  }
  footer .inner{padding-top:46px;}
  footer .ftLogo{
    width:62px;
    margin:0 auto 16px;
  }
  footer address{
    font-size:14px;
    line-height:1.428;
  }
  footer .copyrights{
    margin-top:54px;
    padding:9px 1vw 16px;
    line-height:1.0;
    font-size:12px;
  }
  #spBtmMenu{
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    background-color:#262626;
    color:#fff;
    z-index:101;
  }
  #spBtmMenu menu,
  #spBtmMenu menu li{
    padding:0;
    list-style:none;
  }
  #spBtmMenu menu{
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  #spBtmMenu menu li{flex:1;}
  #spBtmMenu menu li+li{border-left:1px solid #fff;}
  #spBtmMenu a{
    display:block;
    padding:24px 1vw;
    color:#fff;
    text-align:center;
    font-size:13px;
    line-height:1.0;
  }
  #spBtmMenu a:hover{background-color:#666;}
  #returnTop{
    width:20px;
    height:20px;
    right:5vw;
    bottom:200px;
  }
}
@media (min-width:768px){
	body{font-size:calc(25 / var(--root-font-size) * 1rem);}
	*[data-sp]{display:none!important;}
  #globalNavi{grid-column: 2 / 3;}
  #globalNavi menu{
    display:flex;
    justify-content:flex-end;
    align-items:center;
  }
  #globalNavi .downMenu{position:relative;}
  #globalNavi .downMenu:before{
    content:"";
    display:block;
    width:100%;
    height:calc(100% + 20px);
    position:absolute;
    top:0;
    left:0;
  }
  #globalNavi .downMenu > a{
    position:relative;
    z-index:1;
  }
  #globalNavi .subMenu{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    background:rgba(0,0,0,0.7);
    opacity:0;
    pointer-events:none;
    transition:all 0.4s;
    z-index:-1;
  }
  #globalNavi .downMenu:hover .subMenu{
    opacity:1;
    z-index:1;
    pointer-events:auto;
  }
  #globalNavi .subMenu li{text-align:left;}
  #globalNavi .subMenu a{white-space:nowrap;}
  footer .inner{
    display:grid;
    text-align:left;
  }
  footer .ftNavi menu:not([class]) li{padding-left:16px;}
  footer .ftNavi h2 a[role="link"],
  footer .ftNavi .ftNavi2 a[role="link"]{text-decoration:underline;}
  #returnTop{
    width:52px;
    right:2vw;
    bottom:120px;
  }
}
@media (min-width:768px) and (max-width:1279.98px){
  .pdfLink a{
    min-width:26.5625vw;
    padding:0.46875vw 0.3125vw;
    font-size:1.4063vw;
  }
  .pdfLink a span{margin-right:1.5625vw;}
  .pdfLink a svg{width:2.1875vw;}
  footer .inner{
    grid-template-columns:(5,1fr);
    grid-template-rows:auto auto;
  }
  footer .inner{
    grid-template-columns:(3,1fr);
    grid-template-rows:(3,auto);
  }
  footer .ftLogo{
    grid-column:1 / 2;
    grid-row:1 / 2;
  }
  footer address{
    grid-column:1 / 2;
    grid-row:2 / 4
  }
  footer .ftNavi:nth-of-type(1){
    grid-column:2 / 3;
    grid-row:1 / 3;
  }
  footer .ftNavi:nth-of-type(2){
    grid-column:3 / 4;
    grid-row:1 / 3;
  }
  footer .ftNavi:nth-of-type(3){
    grid-column:2 / 3;
    grid-row:3 / 4;
    margin-top:2.5119vw;
  }
  footer .ftNavi:nth-of-type(4){
    grid-column:3 / 4;
    grid-row:3 / 4;
    margin-top:2.5119vw;
  }
}
@media (min-width:768px) and (max-width:1689.98px){/*font-size::X/1672*/
  header{padding:2.0933vw 0;}
  header .inner{width:96vw;}
  .hdLogo{width:13.277vw;}
  #globalNavi menu > li+li{margin-left:2.99vw;}
  #globalNavi a[role="link"]{font-size:1.0766vw;}
  #globalNavi a.commonBtn{
    padding:0.9569vw 1.555vw;
    border-radius:1.555vw;
    font-size:0.9569vw;
  }
  #globalNavi a.commonBtn svg{
    width:0.9569vw;
    margin-right:0.3588vw;
  }
  #globalNavi .subMenu{padding:0.598vw 0.3588vw;}
  #globalNavi .subMenu li+li{margin-top:0.598vw;}
  #globalNavi .subMenu li a[role="link"]{font-size:0.9569vw;}
  body:not(.home) main{padding:7.35vw 0 27.3438vw;}
  #breadcrumb ol{margin:1.7943vw 2vw;}
  #breadcrumb li{font-size:0.958vw;}
  #breadcrumb li+li{
    padding-left:1.0766vw;
    margin-left:0.5981vw;
  }
  footer .inner{
    width:96vw;
    padding:5.98vw 0;
  }
  footer .ftLogo img{width:11.6028vw;}
  footer address{
    margin-top:2.033vw;
    font-size:0.9569vw;
  }
  footer .ftNavi li+li{margin-top:1.7942vw;}
  footer .ftNavi a[role="link"],
  footer .ftNavi a.commonBtn{font-size:0.9569vw;}
  footer .ftNavi h2 a[role="link"],
  footer .ftNavi .ftNavi2 a[role="link"]{
    font-size:1.0766vw;
    text-underline-offset:0.7177vw;
  }
  footer .ftNavi h2+menu{margin-top:2.1531vw;}
  footer .ftNavi a.commonBtn{
    width:10.8852vw;
    padding:0.9569vw 1.555vw;
    border-radius:1.555vw;
  }
  footer .ftNavi a.commonBtn svg{
    width:1.1961vw;
    margin-right:0.3588vw;
  }
  footer .copyrights{
    padding:1.0765vw 1vw;
    font-size:0.8373vw;
  }
}
@media (min-width:1280px){
  .pdfLink a{
    min-width:300px;
    padding:6px 4px;
    font-size:calc(18 / var(--root-font-size) * 1rem);
  }
  .pdfLink a span{margin-right:20px;}
  .pdfLink a svg{width:28px;}
  footer .inner{
    grid-template-columns:(5,1fr);
    grid-template-rows:auto auto;
  }
  footer .ftLogo{
    grid-column:1 / 2;
    grid-row:1 / 2;
  }
  footer address{
    grid-column:1 / 2;
    grid-row:2 / 3;
  }
  footer .ftNavi:nth-of-type(1){
    grid-column:2 / 3;
    grid-row:1 / 3;
  }
  footer .ftNavi:nth-of-type(2){
    grid-column:3 / 4;
    grid-row:1 / 3;
  }
  footer .ftNavi:nth-of-type(3){
    grid-column:4 / 5;
    grid-row:1 / 3;
  }
  footer .ftNavi:nth-of-type(4){
    grid-column:5 / 6;
    grid-row:1 / 3;
  }
}
@media (min-width:1280px) and (max-width:1689.98px){
}
@media (min-width:1690px){
  header{padding:35px 0;}
  header .inner{width:1672px;}
  .hdLogo{width:222px;}
  #globalNavi menu > li+li{margin-left:50px;}
  #globalNavi a[role="link"]{font-size:calc(18 / var(--root-font-size) * 1rem);}
  #globalNavi a.commonBtn{
    padding:16px 26px;
    border-radius:26px;
    font-size:calc(16 / var(--root-font-size) * 1rem);
  }
  #globalNavi a.commonBtn svg{
    width:16px;
    margin-right:6px;
  }
  #globalNavi .subMenu{padding:10px 6px;}
  #globalNavi .subMenu li+li{margin-top:10px;}
  #globalNavi .subMenu li a[role="link"]{font-size:calc(16 / var(--root-font-size) * 1rem);}
  body:not(.home) main{padding:122px 0 350px;}
  #breadcrumb ol{margin:30px 0;}
  #breadcrumb li{font-size:calc(16 / var(--root-font-size) * 1rem);}
  #breadcrumb li+li{
    padding-left:18px;
    margin-left:10px;
  }
  footer .inner{
    width:1672px;
    padding:100px 0;
  }
  footer .ftLogo img{width:194px;}
  footer address{
    margin-top:34px;
    font-size:calc(16 / var(--root-font-size) * 1rem);
  }
  footer .ftNavi li+li{margin-top:30px;}
  footer .ftNavi a[role="link"],
  footer .ftNavi a.commonBtn{font-size:calc(16 / var(--root-font-size) * 1rem);}
  footer .ftNavi h2 a[role="link"],
  footer .ftNavi .ftNavi2 a[role="link"]{
    font-size:calc(18 / var(--root-font-size) * 1rem);
    text-underline-offset:12px;
  }
  footer .ftNavi h2+menu{margin-top:36px;}
  footer .ftNavi a.commonBtn{
    width:182px;
    padding:16px 26px;
    border-radius:26px;
  }
  footer .ftNavi a.commonBtn svg{
    width:20px;
    margin-right:6px;
  }
  footer .copyrights{
    padding:18px 1vw;
    font-size:calc(14 / var(--root-font-size) * 1rem);
  }
}

/* ボタン無効時のスタイル */
#exportToPDF:disabled,
#downloadToPDF:disabled {
    background-color: #cccccc; /* 無効時の背景色（灰色） */
    color: #666666; /* 無効時の文字色 */
    cursor: not-allowed;
    opacity: 0.5; /* 透明度を下げる */
}

/* ボタンにマウスホバー時のエフェクト（有効時のみ） */
#exportToPDF:not(:disabled):hover,
#downloadToPDF:not(:disabled):hover {
    background-color: #0056b3; /* ホバー時の背景色 */
}

.estimateForm {
    margin-bottom: 20px; /* フォームの下に余白を追加 */
}
