@charset "UTF-8";
/**************************************************************
	original.css
	企業固有のスタイルを指定
***************************************************************/
/************************************************
//
//　foundation
//
************************************************/
body {
  -webkit-text-size-adjust: 100% !important;
  font-size: 14px;
  line-height: 2;
  color: #222222;
}

#header,
body#pagetop {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

@font-face {
  font-family: recop-iconfont;
  src: url("option/font/recop-iconfont.eot?") format("eot"), url("option/font/recop-iconfont.woff") format("woff"), url("option/font/recop-iconfont.ttf") format("truetype");
}

#header,
#footer,
#header *,
#footer * {
  box-sizing: border-box;
}

#header img,
#footer img {
  width: 100%;
  height: auto;
}

div#container {
  width: 100%;
}

/* 最小画面幅の時にSNSボタンが起因の横スクロールを出ないように */
#bottomContent #social {
  overflow: hidden;
}

#bottomContent ul#socialObj {
  overflow: hidden;
  text-align: center;
}

/* regular contents reset
--------------------------------------- */
#container,
#header,
#header .content,
#header .content .free,
#main,
#main .content,
#main .content .free,
#footer .content,
#footer .content .free {
  width: auto;
}

#footer {
  width: 100%;
}

/************************************************
//
//　自由ヘッダー
//
************************************************/
.l-header {
  max-width: 1279px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 20px;
  padding-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .l-header {
    max-width: 1100px;
    padding-left: 50px;
    padding-right: 50px;
  }
}

@media screen and (min-width: 768px) {
  .l-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
  .l-header {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

@media screen and (min-width: 1001px) {
  .l-header {
    padding: 0 100px;
    max-width: 1280px;
    height: 140px;
    align-items: center;
  }
}

@media screen and (min-width: 1001px) and (max-width: 1180px) {
  .l-header {
    gap: 80px;
  }
}

.l-header__logo {
  width: 163.25px;
  max-width: 220px;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .l-header__logo {
    margin: 7px 20px 0 0;
  }
}

@media screen and (max-width: 1000px) {
  .l-header__logo {
    text-align: center;
  }
}

.l-header__logo-link {
  transition: 0.3s ease;
  transition-property: opacity;
}

.l-header__logo-link:hover {
  opacity: 0.7;
}

.l-header__text {
  margin-top: 17px;
  font-weight: normal;
  font-size: 13px;
  line-height: 1.69231;
  text-align: center;
}

@media screen and (min-width: 1001px) {
  .l-header__text {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.6875;
    font-weight: bold;
    text-align: left;
    white-space: nowrap;
  }
}

.l-header__text span {
  display: inline-block;
}

@media screen and (max-width: 1000px) {
  .p-header__site-heading {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

.p-header__contact {
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 1000px) {
  .p-header__contact {
    align-items: center;
    width: 100%;
  }
}

@media screen and (min-width: 1001px) {
  .p-header__contact {
    align-items: flex-end;
    width: 50%;
  }
}

.p-header__contact-link:link, .p-header__contact-link:visited {
  transition: 0.3s;
  display: -ms-grid;
  display: grid;
  place-items: center;
  border: 1px solid #B02C25;
  border-radius: 6px;
  padding: 6px;
  max-width: 300px;
  width: 100%;
  height: 50px;
  color: #B02C25;
  font-size: 16px;
  line-height: 2.25;
  font-weight: bold;
}

@media screen and (max-width: 374px) {
  .p-header__contact-link:link, .p-header__contact-link:visited {
    font-size: 4.267vw;
  }
}

.p-header__contact-link:hover {
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .p-header__contact-link:hover {
    background-color: #B02C25;
    color: #fff;
  }
}

.p-header__contact-text {
  text-align: center;
  font-weight: 500;
  margin-top: 10px;
  margin-bottom: 0;
}

@media screen and (min-width: 1001px) {
  .p-header__contact-text {
    text-align: right;
  }
}
/************************************************
//
//　自由フッター
//
************************************************/
#footer .content .free,
#footer {
  /* height: 194.5px; */
}

@media screen and (min-width: 768px) {
  #footer .content .free,
  #footer {
    height: 134px;
  }
}

#main .space {
  padding-bottom: 220px;
}

@media screen and (min-width: 768px) {
  #main .space {
    padding-bottom: 134px;
  }
}

.l-footer {
  font-size: 15px;
  line-height: 1.66667;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .l-footer {
    font-size: 14px;
    line-height: 2.28571;
  }
}

.l-footer a:link, .l-footer a:active, .l-footer a:visited {
  color: #fff !important;
}

.l-footer__bg {
  background-color: #8B8B8B;
  color: #fff;
  text-align: center;
  padding-top: 36px;
  padding-bottom: 36px;
}

@media screen and (min-width: 768px) {
  .l-footer__bg {
    padding-top: 32px;
    padding-bottom: 30px;
    margin-top: 30px;
  }
}

.l-footer__copy .copy {
  font-family: Verdana, "Droid Sans", 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.l-footer__ga {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  .l-footer__ga {
    margin-top: 0;
    line-height: 1.64;
  }
}

.l-footer__poweredby {
  margin-top: 12px;
}

@media screen and (min-width: 768px) {
  .l-footer__poweredby {
    margin-top: 0;
    line-height: 1.64;
  }
}

.l-footer-logo {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 500px;
  margin: auto;
}

.l-footer-logo__image {
  max-width: 235px;
  margin: 5px;
}

@media screen and (min-width: 768px) {
  .l-footer-logo__image {
    margin: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-footer-logo__image + .l-footer-logo__image {
    margin-left: 10px;
  }
}

.l-footer-logo__text {
  width: 100%;
  margin-top: 20px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-footer-logo__text {
    margin-top: 12px;
  }
}
