
/*
 * 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

 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700;900&display=swap');

@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;
}
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 {
  font-family:  "Noto Sans CJK JP", "Noto Sans JP", "Noto Sans CJK JP", "ヒラギノ角ゴ Pro", "游ゴシック", "游明朝", "ヒラギノ明朝 Pro", "Oswald", "メイリオ", "游ゴシック", "Noto Serif", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  line-height: 1.8;
  text-align: justify;
  -webkit-text-size-adjust: 100%;
  font-size: 10px;
  font-weight: normal;
}

a,a:hover {
  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;
}

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


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

body {
  position: relative;
  margin: 0;
}

h1 {
  margin: initial;
}

h2 {
  font-size: 3rem;
  text-align: center;
  margin: 0;
  line-height: 1.4;
}

h3 {
  font-size: 3.5rem;
}

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

p, td, label, div, ul, li, strong  {
  font-size: 1.6rem;
  line-height: 1.5;
  margin: 0;
}
p {
  white-space: pre-line;
}
.l_con {
  width: 120rem;
  margin-left: auto;
  margin-right: auto;
  z-index: 20;
  position: relative;
}
main {
  position: relative;
}
.sCom {
  margin-top: 7rem;
}
.sBody {
  margin-top: 5rem;
}
.mt7 {
  margin-top: 7rem;
}
.mt5 {
  margin-top: 5rem;
}
.mt4 {
  margin-top: 4rem;
}
.mt3 {
  margin-top: 3rem;
}
.btn {
  display: block;
  cursor: pointer;
}
.btn_main {
  animation-duration: 1s;
  animation-fill-mode: both;
  animation-iteration-count: infinite;
  animation-name: pulse;
  display: block;
  max-width: 100%;
  width: 50.2rem;
  margin-left: auto;
  margin-right: auto;
}
.boxShadow {
  box-shadow: -0.1rem 0.2rem 0.5rem 0px rgba(0,0,0,0.2);
  -webkit-box-shadow: -0.1rem 0.2rem 0.5rem 0px rgba(0,0,0,0.2);
  -moz-box-shadow: -0.1rem 0.2rem 0.5rem 0px rgba(0,0,0,0.2);
}
.fv {
  position: relative;
}
.fvImg {
  height: 75rem;
  object-fit: cover;
}
.banner {
  position: relative;
}
.btn_main {
  position: absolute;
  right: 5rem;
  bottom: 3rem;
}
.bannerImg {
  border-radius: 0.5rem;
}
.aboutImg {
  width: 66.6rem;
  object-fit: contain;
  margin: auto;
  border-radius: 0.5rem;
}
.onayami  {
  padding-left: 10rem;
  padding-right: 10rem;
}
.onayamiSolImg {
  width: 38.7rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4rem;
}
h2 {
  border-bottom: 2px solid #c4d700;
  padding-bottom: 2rem;
}
.onayamiInfo {
  padding: 10rem;
  background: #F7F7F7;
  margin-top: -2rem;
}
.onayamiInfo h2 {
  border-bottom: none;
}
.onayamiList{
  width: 100rem;
  margin: auto;
  list-style: none;
}
.onayamiItem {
  position: relative;
  border-radius: 0.5rem;
  padding: 3rem 2rem;
  margin-top: 5rem;
  background: white;
}
.onayamiItem  h3 {
  font-size: 2rem;
  text-align: center;
  border-bottom: 0.2rem solid #FFD21E;
  margin-top: 2rem;
  padding-bottom: 1rem;s
}
.onayamiItem label {
  position: relative;
  line-height: 3.5rem;
  color: black;
  display: block;
  margin: auto;
  background: #c5d800;
  text-align: center;
  width: 20rem;
  border-radius: 1.75rem;
}
.onayamiItem label:before {
  content: "";
  width: 0;
  height: 0;
  border-left: 0.6rem solid transparent;
  border-right: 0.6rem solid transparent;
  border-top: 0.6rem solid #c5d800;
  position: absolute;
  left: calc(50% - 0.6rem);
  bottom: calc(1px - 0.6rem);

}
.onayamiItemImg {
  width: 13.5rem;
  object-fit: contain;
}
.onayamiItemMain {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 10rem 0;
}
.onayamiItemInfo {
  width: 54rem;
}
.onayamiItemInfo h3 {
  font-size: 2rem;
  color: #999999;
}
.onayamiItemInfo p {
  margin-top: 1rem;
  line-height: 2;
}
.onayamiItemInfo p span {
  color: red;
}
.subFvImg {
  height: 40rem;
  object-fit: cover;
}
.targetPriamid {
  border-radius: 1rem;
}
.pyramidImg {
  margin-top: 4rem;
  width: 100rem;
  margin-left: auto;
  margin-right: auto;
}
.targetPriamid h3 {
  font-size: 3rem;
  text-align: center;
  margin-top: 2rem;
}
.targetPriamid p {
  font-size: 1.8rem;
  text-align: center;
}
.targetPriamid p span {
  color: red;
}
.targetPriamid>span {
  text-align: center;
  display: block;
  margin-top: 1rem;
  color: #333333;
}
.targetPriamid>span a {
  text-decoration: underline;
}
.targetInfo {
  font-size: 2rem;
  text-align: center;
}
.targetInfo span {
  text-decoration: underline;
}
.targetImprt1 {
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
  width: 70rem;
  margin-left: auto;
  margin-right: auto;
  padding: 3rem;
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  background: #E2EFBC;
}
.targetImprt2 {
  width: 70rem;
  padding: 5rem;
  text-align: center;
  background: #f7f7f7;
  font-size: 2.5rem;
  font-weight: 700;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.targetImprt2:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 0.8rem;
  border-top-left-radius: 0.4rem;
  border-top-right-radius: 0.4rem;
  background: #FFD21E;
}
.targetImprt2 span {
  color: red;
}
.targetConc {
  text-align: center;
}
.targetConc p {
  display: inline-block;
  position: relative;
  font-size: 2rem;
  padding: 0 5rem;
}
.targetConc p:before,
.targetConc p:after {
  content: "";
  position: absolute;
  top: calc(50% - 4rem);
  width: 4rem;
  height: 8rem;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.targetConc p:before {
  left: -1rem;
  background-image: url(img/target_mark_left.svg);
}
.targetConc p:after {
  right: -1rem;
  background-image: url(img/target_mark_right.svg);
}
.programList {
  width: 100rem;
  margin-left: auto;
  margin-right: auto;
}
.programItem label {
  line-height: 7rem;
  background: #c6de78;
  font-size: 2rem;
  font-weight: 700;
  display: block;
  text-align: center;
}
.programItemInfoImg {
  width: 29rem;
  object-fit: contain;
}
.programItemInfo {
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.programItemInfo ul {
  width: calc(100% - 35rem);
  list-style: none;
}
.programItemInfo li {
  font-size: 2rem;
  line-height: 2;
  position: relative;
  padding-left: 3.5rem;
  list-style: none;
  display: block;
}
.programItemInfo li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 1rem;
  background-image: url(img/icon_check.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.9rem;
  height: 1.9rem;
}
.programItemInfo li.none:before {
  content: none;
}
.voiceList {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.voiceItem {
  padding: 3rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 58rem;
  margin: 2rem 0;
  border-radius: 1rem;
}
.voiceItemInfo h3 {
  font-size: 1.6rem;
  font-weight: 700;
  background: #E2EFBC;
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
}
.voiceItemInfo h3 span {
  font-size: 0.8em;
  color: #999999;
  margin-left: 1rem;
}
.voiceItemInfo p {
  font-size: 1.8rem;
  margin-top: 0.5rem;
}
.voiceItemImg {
  width: 10rem;
  height: 10rem;
  object-fit: cover;
  border-radius: 50%;
}
.voiceItemInfo {
  margin-left: 2rem;
}
.voiceItem {
  margin: 0;
}
.faqList dl {
  position: relative;
  padding: 3rem;
}
.faqList>dl:not(:first-child),
.voiceList>li:not(:first-child)  {
  margin-top: 3rem;
}
.faqList dt,
.faqList dd {
  position: relative;
  display: block;
  padding-left: 3rem;
}
.faqList dd {
  margin-top: 0.5rem;
}
.faqList dt:before,
.faqList dd:before {
  font-size: 1.8rem;
  left: 0;
  top: 0;
  position: absolute;
}
.faqList dt:before {
  content: "Q.";
}
.faqList dd:before {
  content: "A.";
  color: #c4d700;
}


/*company*/
.company h2 {
  border-bottom: none;
}
.bCompany {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 3rem 0;
}
.bCompanyMapInfo table tr>td {
  vertical-align: top;
  padding: 0.5rem 0;
}
.bCompanyMapInfo table tr>td:nth-child(1) {
  width: 25%;
}
.bCompanyMap iframe {
    height: 30rem;
    width: 100%;
    margin-top: 0;
    display: block;
}
.bCompanyMapInfo table tr>td  {
  font-size: 1.8rem;
}
.bCompanyMapInfo,
.bCompanyMap {
  width: 50%;
}
.bCompanyMapInfo {
  padding-left: 3rem;
}
.sFooter a,
.sFooter p {
  font-size: 1.6rem;
  color: black;
  display: block;
}
.sFooter {
  background: #f1f1f1;
  padding: 2rem 0;
}
.sFooter .l_con {
  display: flex;
  justify-content: space-between;
  align-items: center;
}




.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

@media screen and (max-width: 1250px) {
  html, body {
    font-size: calc(100vw / 125);
  }
}





@media screen and (max-width: 767px) {
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
  html, body {
    font-size: calc(100vw / 60);
  }
  h2 {
    font-size: 4rem;
  }
  .mt7 {
    margin-top: 5rem;
  }
  .mt5 {
    margin-top: 4rem;
  }
  .mt4 {
    margin-top: 3rem;
  }
  .mt3 {
    margin-top: 2rem;
  }
  .sCom {
    margin-top: 4rem;
  }
  .l_con {
    width: calc(100% - 4rem);
  }
  .btn_main {
    width: 34rem;
    right: 2rem;
    bottom: 2.5rem;
  }
  .fvImg {
    content: url(img/fv_sp.jpg);
    height: auto;
  }
  .bannerImg{
    content: url(img/banner_sp.jpg);
  }
  .aboutImg {
    width: 100%;
  }
  .onayami {
    padding: 0;
  }
  .onayamiImg {
    content: url(img/onayami_sp.png);
  }
  .onayamiInfo {
    padding: 5rem 2rem;
  }
  .onayamiItemMain {
    padding: 1rem 0 0;
  }
  .onayamiList {
    width: 100%;
  }
  .onayamiItem {
    padding: 3rem 2rem;
    margin-top: 3rem;
  } 
  .onayamiItemImg {
    width: 10rem;
    object-fit: contain;
  }
  .onayamiItemInfo {
    width: calc(100% - 12rem);
  }
  .subFvImg {
    content: url(img/subFv_sp.jpg);
    height: auto;
  }
  .targetImprt1 {
    border-radius: 0.5rem;
    width: 100%;
  }
  .targetImprt2  {
    width: 100%;
    padding: 4rem 3rem;
  }
  .pyramidImg {
    content: url(img/pyramid_sp.jpg);
    width: 100%;
  }
  .targetImprt {
    width: 100%;
  }
  .programList {
    width: 100%;
  }
  .programItemInfo {
    display: block;
    padding: 3rem;
  }
  .programItemInfoImg {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
  .programItemInfo ul {
    width: 100%;
    margin-top: 3rem;
  }
  .voiceList {
    width: 100%;
  }
  .teacherInfo {
    display: block;
    padding: 3rem;
  }
  .teacherInfoImg {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
  .teacherInfoTxt{
    width: 100%;
    margin: 0;
    margin-top: 3rem;
  }
  .teacherInfoTxt h3,
  .teacherInfoTxt label {
    text-align: center;
  }
  .companyInfo {
    width: 100%;
  }


  /*------company---------------*/
  .company .l_con {
    width: calc(100% - 6rem);
  }
  .bCompany {
    display: block;
  }
  .bCompanyMap, .bCompanyMapInfo {
    width: 100%;
  }
  .bCompanyMapInfo {
    margin-top: 2rem;
    padding: 0;
  }
  .bMCompany {
    display: block;
  }
  .sFooter .l_con {
    width: calc(100% - 4rem);
  }
  .sFooter a, .sFooter span, .sFooter p {
    font-size: 1.4rem;
  }
  .sFooter .l_con {
    display: block;
    text-align: center;
  }
}