@charset "utf-8";
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Medium"); }
body { background: #efefef; width: 100%; color: #2b2b2b; font-weight: 400; -webkit-text-size-adjust: 100%; font-feature-settings: "palt"; font-family: "Noto Sans JP", sans-serif; }

/* -------

【重要】
上記bodyに対するfont-familyの記述は必要なものだけ使用し、
使わない分は忘れずに削除すること。

----*/
img { max-width: 100%; width: auto; height: auto; vertical-align: bottom; }

/*PC用*/
@media print, screen {
  .pc { display: block !important; }
  .sp { display: none !important; }
}
#header { margin: 0 auto; width: 100%; background-color: #fff; position: fixed; left: 0; top: 0; z-index: 100; }
#header .inner { align-items: center; margin: 0 auto; width: 94%; height: 80px; }
#header .inner .logo { width: 100%; max-width: 160px; }
#header .inner .h_menu { margin-left: 35px; margin-right: auto; margin-top: 10px; width: 100%; max-width: 420px; }
#header .inner .h_menu li { }
#header .inner .h_menu li a { font-size: 14px; font-weight: 900; }
#header .inner .h_menu li a:hover { font-size: 14px; font-weight: 900; color: #265fe2;}
#header .inner .h_contact { width: 100%; max-width: 224px; }
#header .inner .h_contact .btnContact { width: 100%; }
#header .inner .h_contact .btnContact a { justify-content: space-around; align-items: center; width: 100%; height: 40px; color: #fff; font-size: 16px; font-weight: 900; line-height: 1; background-color: #fa052b; border-radius: 5px; }
#header .inner .h_contact .btnContact a span { width: 21px; max-width: 100%; }
#header .inner .h_contact .capContact { padding: 5px 0 0; font-size: 14px; font-weight: 600; line-height: 1; text-align: center; }
#header .inner .spMenu { display: none; }
@media screen and (max-width:1020px) {
  #header .inner { position: relative; }
  #header .inner .logo { margin: 0 auto; }
  #header .inner .h_menu, #header .inner .h_contact { display: none; }
  #header .inner .spMenu { display: block; width: 50px; position: absolute; right: 15px; top: 15px; cursor: pointer; }
}
@media screen and (max-width:768px) {
  #header .inner { height: 15.3vw; }
  #header .inner .spMenu { width: 9.2vw; right: 3.6vw; top: 3.3vw; }
}

/* footer */
#footer { margin: 0 auto 8px; padding: 25px 0 260px; width: 100%; text-align: center; background-color: #e2efff; }
#footer .logo { margin: 0 auto 20px; width: 100%; max-width: 160px; }
#footer .f_menu { margin: 0 auto 85px; width: 100%; max-width: 415px; }
#footer .f_menu li { }
#footer .f_menu li a { font-size: 14px; font-weight: 700; }
#footer .f_menu li a:hover {font-size: 14px;font-weight: 700;color: #265fe2;}
#footer .copyright a { font-size: 14px; font-weight: 700; }
#footer .copyright a:hover { font-size: 14px; font-weight: 700;color: #265fe2;}
@media screen and (max-width:768px) {
  #footer { margin: 0 auto 8px; padding: 5.85vw 0 22.5vw; }
  #footer .logo { margin: 0 auto 5vw; width: 40.7vw; }
  #footer .f_menu { display: block; margin: 0 auto 28vw; }
  #footer .f_menu li { display: block; }
  #footer .f_menu li + li { margin-top: 6.6vw; }
  #footer .f_menu li a { display: block; font-size: 3.5vw; }
  #footer .copyright a { font-size: 14px; font-weight: 700; }
}

/* fixedMenu */
#fixedMenu { display: none; }
@media screen and (max-width:768px) {
  #fixedMenu { display: block; padding: 1.2vw 0; width: 100%; background-color: #002c51; position: fixed; left: 0; bottom: 0; }
  #fixedMenu .btn { margin: 0 auto; width: 81.4%; }
  #fixedMenu .btn a { display: block; padding: 3.3vw 0 3vw; width: 100%; text-align: center; background-color: #fa052b; border-radius: 8px; }
  #fixedMenu .btn a .common_text01 { display: inline-block; padding: 0 4vw 2vw; color: #fff; font-size: 6.6vw; font-weight: 900; line-height: 1; border-bottom: 1px solid #fff; }
  #fixedMenu .btn a .common_text02 { padding: 2vw 0 0; color: #fff; font-size: 3.5vw; font-weight: 700; line-height: 1; }
  #fixedMenu[aria-expanded="false"] { bottom: -200px; transition: 0.5s; }
  #fixedMenu[aria-expanded="true"] { bottom: 0; transition: 0.5s; }
}

/*drawer*/
.drawer { display: none; }
@media screen and (max-width:768px) {
  .drawer { width: 100%; height: 100%; position: fixed; left: 0; top: 0; overflow: scroll; z-index: 10000; display: none; }
  .drawer .drawerMenu { margin: 0 auto; padding: 2.5vw; width: 68%; background: linear-gradient(to bottom, #3bdfed, #1369b5); position: absolute; left: 0; right: 0; top: 25%; }
  .drawer .drawerMenu .inner { margin: 0 auto; padding: 4vw 2.5vw 2vw; width: 100%; background-color: #fff; box-sizing: border-box; position: relative; }
  .drawer .drawerMenu .inner .closeBtn { width: 15vw; position: absolute; right: -10vw; top: -14vw; }
  .drawer .drawerMenu .inner .tit { margin: 0 auto 2.5vw; width: 100%; max-width: 161px; }
  .drawer .drawerMenu .inner .drawerBtn { margin-bottom: 2.5vw; width: 100%; }
  .drawer .drawerMenu .inner .drawerBtn a { display: block; padding: 4vw 0 4vw 5vw; width: 100%; color: #fff; font-size: 4.0vw; font-weight: 700; line-height: 1; background-color: #FA052B; background-image: url(../../images/src/icon01.png); background-repeat: no-repeat; background-position: right 2.5vw center; background-size: 4.3vw auto; border-radius: 8px; box-sizing: border-box; }
  .drawer .drawerMenu .inner .drawertxt { margin-bottom: 5vw; font-size: 3.5vw; font-weight: 600; line-height: 1; text-align: center; }
  .drawer .drawerMenu .inner .drawerList { width: 100%; }
  .drawer .drawerMenu .inner .drawerList li { margin-bottom: 6.3vw; }
  .drawer .drawerMenu .inner .drawerList li a { display: block; font-size: 4.6vw; font-weight: 900; line-height: 1; }
}

/*SP用*/
@media screen and (max-width:768px) {
  .pc { display: none !important; }
  .sp { display: block !important; }
  img { max-width: 100%; height: auto; width: auto; }
  body { min-width: auto !important; overflow: inherit !important; }
  .sp_tac { text-align: center !important; }
  .sp_tar { text-align: right !important; }
  .sp_mb15 { margin-bottom: 15px !important; }
  .sp_mb20 { margin-bottom: 20px !important; }
  div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }
}

/* 印刷用 */
@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; }
}
