
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *
 *= require font-awesome
 *= require ./lib/bootstrap-4.0.0/bootstrap.min
 *= require ./lib/jquery.smartmenus.bootstrap.css
 *= require_tree .
 *= require_self

 */


@charset "UTF-8";
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: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
html {
  line-height: 2;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
  word-break: break-word;
}

html, body {
  color: #000;
  font-family:  "ヒラギノ角ゴ Pro", "ヒラギノ明朝 Pro", "Oswald", "メイリオ", "游ゴシック", "Noto Serif", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  line-height: 2;
  text-align: justify;
  -webkit-text-size-adjust: 100%;
  font-size: 10px;
}

a,a:hover {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  width: 100%;
}

h1, h2, h3, h4, h5,  h6, p {
  margin: auto;
}

p, dt, dd {
  overflow-wrap: break-word;
}

body {
  margin: auto; 
  position: relative;
}

p {
  margin: 0;
}
/*--------------------------responsive ---------------------*/
.clearfix::before,
.clearfix::after {
    display: block;
    content: "";
    clear: both;
  }

.c_pc {
  display: block !important;
}

.c_sp {
  display: none !important;
}

@media screen and (max-width: 1000px) {
  .c_sp {
    display: block !important;
  }
  .c_pc {
    display: none !important;
  }
}

/*--------------------------animation-----------------------*/

@-webkit-keyframes inviewZoom {
  0% {
    opacity:0;
    transform: scale(0.0);
  }
  40% {
    opacity:.3;
    transform: scale(0.8);
  }
  80% {
    opacity:1;
    transform: scale(1.1);
  }
  100% {
    opacity:1;
    transform: scale(1.0);
  }
}

@keyframes inviewZoom {
  0% {
    opacity:0;
    transform: scale(0.0);
  }
  40% {
    opacity:.3;
    transform: scale(0.8);
  }
  80% {
    opacity:1;
    transform: scale(1.1);
  }
  100% {
    opacity:1;
    transform: scale(1.0);
  }
}

/*--------------------------------------------------------------------------*/
/* Common
---------------------------------------------------------------------------------*/

body {
  position: relative;
  margin: 0;
}

h1 {
  font-size: 4rem;
  color: white;
  line-height: 1.2;
}

h2 {
  font-size: 4rem;
  text-align: center;
}

h3 {
  font-size: 2.5rem;
  color: black;
}

h1, h2, h3, h4 {
  line-height: 1.5;
  font-weight: bold;
}

p, td, label, div, ul, li, strong, a  {
  font-size: 1.6rem;

}

p {
    white-space: pre-line;
}
.c_con,
.sub_con {
  width: 100rem;
  margin: auto;
  z-index: 20;
  position: relative;
}

.sub_con {
  width: 96rem;
}

main {
  position: relative;
}

.mt1 {
  margin-top: 1rem !important;
}

.mt2 {
  margin-top: 2rem !important;
}

.mt3 {
  margin-top: 3rem !important;
}

.mt4 {
  margin-top: 4rem !important;
}

.mt5 {
  margin-top: 5rem !important;
}

.disflex {
  display: flex;
}


.btn_main,
.btn_line {
  display: inline-block;
  width: 42.2rem;
  overflow: hidden;
  position: relative;
}

.cAnimate1.aos-animate {
  -webkit-animation-name: inviewZoom;
  animation-name: inviewZoom;
  -webkit-animation-duration: .8s;
  animation-duration: .8s;
  position: relative;
  overflow: hidden;
}

.cAnimate1:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #fff;
    -webkit-transform-origin: left;
    -ms-transform-origin: left;
    transform-origin: left;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: -webkit-transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: -webkit-transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53), -webkit-transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    z-index: 10;
}

.cAnimate1.aos-animate:before {
    -webkit-transform: translateX(101%);
    -ms-transform: translateX(101%);
    transform: translateX(101%);
}

.sFv>img {
  height: 81.8rem;
  object-fit: cover;
}

.sAct {
  background: url(img/bg1.png);
  background-size: cover;
  position: relative;
  background-position: center top;
  padding: 20rem 0 6rem;
  margin-top: -17rem;
}

.sAct p {
  color: white;
  text-align: center;
  font-size: 2.7rem;
  font-weight: bold;
}

.sCom {
  padding: 6rem 0;
}

.bActs {
  text-align: center;
}

.sFoodRecover {
  background: url(img/bg2.jpg);
  background-size: cover;
  position: relative;
  background-position: center;
  padding-bottom: 10rem;
}

.pFoodRecover {
  width: 77.1rem;
  margin: auto;
}

.sAct2 {
  margin-top: -15rem;
}

.sOnayami {
  background: url(img/bg3.jpg);
  background-size: cover;
  position: relative;
  background-position: center;
}

.sWork .pTtl {
  background: url(img/bg4.jpg);
  background-size: cover;
  position: relative;
  background-position: center;
  height: 28.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sWork {
  background: #E9F3E1;
  padding-bottom: 10rem;
}

.sWork .pTtl h2 {
  display: block;
}

.pWork {
  width: 25rem;
  margin: 2rem 3rem;
  cursor: pointer;
}

.pWork:hover {
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    opacity: 0.5 !important;
}

.bWorks {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.pWork img {
  width: 18rem;
  margin: auto;
}

.pWork h3 {
  font-size: 2rem;
  color: #018BDA;
  font-weight: bold;
  margin-top: 1rem;
  display: flex;
  height: 5rem;
  justify-content: center;
  align-items: center;
    text-align: center;
}

.pWork p {
  margin-top: 2rem;
  display: none;
}

.sProfile .sBody {
  width: 85.3rem;
}

.bProfile,
.bBook {
  display: flex;
  justify-content: space-between;
}

.pProfileTxt,
.pBookTxt {
  width: 54.2rem;
}

.pProfileImg,
.pBookImg {
  width: 29.3rem;
}

.pProfileImg p {
  text-align: center;
}

.sProfile {
  background: #E2EEF2;
  position: relative;
}

.sProfile:after {
  content: "";
  background: url(img/bg5.png);
  height: 12.3rem;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -12.2rem;

}

.sProfile h2 img {
  width: 46.1rem;
  margin: auto;
}

.pProfileTxt h3 {
  font-size: 2.8rem;
}

.pProfileTxt h3 span {
  font-size: 2rem;
  margin-left: 2rem;
  font-weight: normal;
}

.pBookTbl table tr>td,
.pProfileTbl table tr>td {
  vertical-align: top;
}

.pProfileTbl table tr>td:first-child {
  width: 7.2rem;
}

.pBookTbl table tr>td:first-child {
  width: 8.2rem;
}

.pBookImg img {
  width: 17.7rem;
  margin-left: auto;
  margin-right: auto;
}

.sFormTtl h2 {
  width: 84.3rem;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
}

.sFormTtl {
  position: relative;
    margin-top: 17rem;
}

.sAct4 {
    margin-top: -5rem;
}

.pFaqItem img {
  width: 4.4rem;
}

.pFaqItem h3,
.pFaqItem p {
  width: calc(100% - 8rem);
  margin: 0;
}

.pFaqItem {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 2rem 4rem;
}

.pFq {
  align-items: center;
}

.pFq,
.pFa {
  border: 1px solid #999999;
}

.pFq h3 {
  font-size: 2.2rem;
  font-weight: bold;
}

.pFq h3 span {
  color: #018BDA;
}

.pFa p {
  font-size: 1.8rem;
}

.pFa  {
  border-top: none;
}

.sFaq h2 img {
  width: 26.7rem;
  margin: auto;
}

.pFq {
  margin-top: 4rem;
}

.sCompany h2 img{
  width: 19.7rem;
  margin: auto;
}

.sCompany {
  background: #F2F2F2;
}

.bCompany {
  width: 70rem;
  margin: auto;
}

.bCompany table {
  width: 100%;
}

.pCompanyDesc,
.bCompany tr>td {
  vertical-align: top;
  font-size: 2rem;
}

.bCompany tr>td:first-child {
  width: 18.4rem;
}

.bCompany tr>td:last-child {
  width: calc(100% - 18.4rem);
}

.sCompany {
  padding-bottom: 10rem;
}

.bPoints {
  display: flex;
  justify-content: space-between;
}

.pPoint {
  width: 19.8rem;
  object-fit: contain;
}


.bPrivacy ul {
  margin-top: 0.5rem;
  padding-left: 2rem;
}

.bPrivacy ul li,
.bPrivacy p,
.bPrivacy dd {
  padding-left: 3rem;
  position: relative;
}

.bPrivacy ul li {
  padding-left: 5rem;
}

.bPrivacy ul li span,
.bPrivacy p span,
.bPrivacy dd span {
  position: absolute;
  left: 0;
}

.bPrivacy p {
  margin-top: 1.5rem;
  font-weight: bold;
}

p.pPrivacyDesc {
  font-weight: normal;
  padding: 0;
  margin-top: 4rem;
}

.bPrivacy dd {
  font-size: 80%;
}

.btn_sns {
  width: 5rem;
  margin: 2rem;
  display: inline-block;
}

.btn_sns img {
  width: 100%;
}

.f_sns {
  text-align: center;
}

footer {
  background: black;
  padding: 4rem 0;
}

footer p {
  font-size: 1.4rem;
  color: white;
  text-align: center;
}

.pPrivacyItem ul {
  display: none;
}

.pPrivacyItem:hover {
  cursor: pointer;
}

.sPrivacy .sBody {
  display: none;
}

@media screen and (max-width: 1000px) {
  html, body {
    font-size: 1vw;
  }

  .c_con,
  .sub_con {
    width: 96%;
  }

  p, td, label, div, ul, li, strong, a,
  .pContent ul li, .sSanka ul li,
  .pGet p,
  .sAct p,
  .pProfileTxt h3 span,
  .pFaqItem p,
  .pCompanyDesc, .bCompany tr>td {
    font-size: 3.5rem;
  }

  h1 {
    font-size: 5.5rem;
  }

  h2 {
     font-size: 5.5rem; 
  }

  h3,
  .pWork h3,
  .sAct p,
  .pProfileTxt h3,
  .pFaqItem h3 {
    font-size: 4.5rem;
    text-align: center;
  }

  .pWork h3 {
    height: 9rem;
  }

  .mt1 {
    margin-top: 2rem !important;
  }

  .mt2 {
    margin-top: 3rem !important;
  }

  .mt3 {
    margin-top: 4rem !important;
  }

  .mt4 {
    margin-top: 5rem !important;
  }

  .mt5 {
    margin-top: 6rem !important;
  }

  .sFv>img {
    content: url(img/fv_sp.jpg);
    height: initial;
  }

  .cAnimate1:before {
    content: none;
  }

  .sAct {
    padding: 5rem 0;
    background: #BD2758;
    margin-top: 0;
  }

  .pFoodRecover,
  .pProfileTxt, 
  .pBookTxt,
  .pBookImg img,
  .sProfile .sBody,
  .bCompany,
  .pWork img  {
    width: 100%;
  }

  .pOnaymi img {
    content: url(img/pOnayami_sp.png);
  }

  .pWork {
    width: 42rem;
    margin: 2rem 3rem;
  }

  .btn_main, .btn_line {
    width: 45rem;
  }

  .sWork .pTtl h2 img {
    height: 5rem;
    width: initial;
    object-fit: cover;
    height: 8rem;
  }

  .sCom {
    padding: 10rem 0;
  }

  .sProfile h2 img {
    width: 85rem;
  }

  .bProfile, .bBook {
    flex-direction: column-reverse;
  }

  .pProfileImg, .pBookImg {
    width: 50rem;
    margin: auto;
  }

  .pProfileTxt h3,
  .pBookTxt {
    margin-top: 2rem;
  }

  .pProfileTbl table tr>td:first-child,
  .pBookTbl table tr>td:first-child {
    width: 18rem;
  }

  .sProfile:after {
    display: none;
  }

  .sFormTtl h2 {
    width: 90%;
    margin-bottom: 10rem;
  }

  .sFormTtl {
    margin-top: 10rem;
  }

  .pFaqItem h3, .pFaqItem p {
    text-align: left;
  }

  .bCompany tr>td:first-child {
    width: 25rem;
  }

  .sFaq h2 img {
    width: 40rem;
  }

  .sCompany h2 img {
    width: 30rem;
  }

  .sFaq .sBody {
    margin-top: 8rem;
  }

  .pPoint {
    width: 30rem;
    height: 30rem;
    margin: auto;
    display: inline-block;
  }

  .bPoints  {
    text-align: center;
  }

  .bPrivacy ul li, .bPrivacy p, .bPrivacy dd {
    padding-left: 8rem;
  }

  .bPrivacy ul li {
    padding-left: 10rem;
  }

  .btn_sns {
    width: 10rem;
  }

  footer p {
    font-size: 3rem;
  }

  p.pPrivacyDesc {
    padding: 0;
  }

  .sAct p,
  .sPrivacy h2 {
    font-size: 6rem;
    line-height: 1.5;
    font-weight: bold;
  }
}

