@charset "utf-8";
/* CSS Document */
/*-------------------------------------------------------------*
                         DEFAULT_SETTING
--------------------------------------------------------------*/
* {
  text-align: justify;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
button {
  box-shadow: none !important;
}
a {
  text-decoration: none;
  display: inline-block;
}
p {
  margin: 0;
  padding: 0 !important;
}
ul {
  margin: 0;
  padding: 0;
}
li {
  list-style: none;
}
p, #result h5, #result li {
  color: #656565;
}
main {
  padding-top: 5rem;
}
article[name="area"] {
  padding: 5rem 0 3.5rem;
}
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: .8s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeUpTrigger {
  opacity: 0;
}
#business, #result, #store, #audit, #faq {
  scroll-margin-top: 5.2rem;
}
#business.fold, #result.fold, #store.fold, #audit.fold, #faq.fold {
  scroll-margin-top: 3rem;
}
/*-------------------------------------------------------------*
                            SUB_TITLE
--------------------------------------------------------------*/
.sub-title {
  margin-bottom: 3rem;
  text-align: center;
  position: relative;
}
.sub-title::before, .sub-title::after {
  content: "";
  width: 70px;
  height: 2px;
  background-color: #3fbfce;
  position: absolute;
  left: calc(50% - 35px);
}
.sub-title::before {
  top: -1rem;
}
.sub-title::after {
  bottom: -.8rem;
}
.sub-title span {
  margin-bottom: .3rem;
  font-size: 2.2rem;
  color: #3fbfce;
  text-align: center;
  line-height: 2.2rem;
  letter-spacing: .4rem;
}
.sub-title h1 {
  font-size: 1.1rem;
  color: #909090;
  font-weight: normal;
  text-align: center;
  letter-spacing: .1rem;
  line-height: normal;
}
.sub-title.fold {
  margin-bottom: 2rem;
}
.sub-title.fold::before {
  width: 50px;
  top: -.8rem;
  left: calc(50% - 25px);
}
.sub-title.fold::after {
  width: 50px;
  bottom: -.3rem;
  left: calc(50% - 25px);
}
.sub-title.fold span {
  font-size: 1.6rem;
  line-height: 1.6rem;
}
.sub-title.fold h1 {
  font-size: 1rem;
}
/*-------------------------------------------------------------*
                             RE_TOP
--------------------------------------------------------------*/
#re_top {
  width: 2.7rem;
  height: 2.7rem;
  position: fixed;
  background-color: #3fbfce;
  z-index: 99;
  border-radius: 100%;
  opacity: 0;
  transition: .6s;
}
#re_top::before {
  content: "";
  width: 1.2rem;
  height: .18rem;
  background-color: #fff;
  transform: rotate(50deg);
  position: absolute;
  top: 45%;
  right: 15%;
  border-radius: 1rem;
}
#re_top::after {
  content: "";
  width: 1.2rem;
  height: .18rem;
  background-color: #fff;
  transform: rotate(-50deg);
  position: absolute;
  top: 45%;
  left: 15%;
  border-radius: 1rem;
}
/*-------------------------------------------------------------*
                             HEADER
--------------------------------------------------------------*/
header .carousel-control-prev-icon, header .carousel-control-next-icon {
  width: 3rem;
  height: 3rem;
}
header .carousel-item img {
  width: 100%;
  height: auto;
}
header .carousel-item:nth-of-type(3) p {
  text-align: center;
  position: absolute;
  top: 55%;
  left: 0;
  right: 0;
}
header .carousel-item:nth-of-type(3) a {
  padding: .4rem .8rem;
  width: auto;
  display: inline-block;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  background-color: #ff1d58;
  border-radius: .5rem;
}
header.fold > #carouselExampleInterval {
  margin-bottom: 4rem;
}
header.fold .carousel-indicators button {
  width: .8rem !important;
  height: .8rem !important;
  position: absolute;
  border-radius: 100%;
  background-color: #3fbfce !important;
  bottom: -4rem;
}
/*
header.fold .carousel-indicators button:first-of-type {
  left: calc(50% - 2.6rem);
}
header.fold .carousel-indicators button:nth-of-type(2) {
  left: calc(50% - .4em);
}
header.fold .carousel-indicators button:nth-of-type(3) {
  right: calc(50% - 2.8rem);
}
*/
header.fold .carousel-indicators button:first-of-type {
  left: calc(50% - 2.8rem);
}
header.fold .carousel-indicators button:nth-of-type(2) {
  left: calc(50% - 1.3rem);
}
header.fold .carousel-indicators button:nth-of-type(3) {
  right: calc(50% - 1.3rem);
}
header.fold .carousel-indicators button:last-of-type {
  right: calc(50% - 2.8rem);
}
header.fold .carousel-item img {
  height: 10rem;
  object-fit: cover;
}
header.fold .carousel-control-prev-icon, header.fold .carousel-control-next-icon {
  width: 2rem;
  height: 2rem;
}
header.fold .carousel-item:nth-of-type(3) p {
  bottom: 2rem;
}
header.fold .carousel-item:nth-of-type(3) a {
  padding: .4rem;
  font-size: 1rem;
}
/*-------------------------------------------------------------*
                           ENTRY_BTN
--------------------------------------------------------------*/
#entryBtn {
  margin: 0 0.5rem 1.5rem auto;
  width: 15rem;
}
#entryBtn p, #audit_guidance .switch p {
  margin-bottom: .5rem;
  font-size: .9rem;
  text-align: center;
  font-weight: bold;
  color: #ff1d58;
  position: relative;
}
#entryBtn p::before, #entryBtn p::after, #audit_guidance .switch p::before, #audit_guidance .switch p::after {
  content: "";
  width: .2rem;
  height: 1.8rem;
  background: #ff1d58;
  position: absolute;
  top: 0;
  transform: rotate(145deg);
}
#entryBtn p::before {
  left: calc(50% - 6.8rem);
}
#entryBtn p::after {
  right: calc(50% - 6.8rem);
}
#entryBtn p::after, #audit_guidance .switch p::after {
  transform: rotate(40deg);
}
#entryBtn > button, #audit_guidance .switch > button {
  position: relative;
  display: inline-block;
  outline: none;
  border: none;
  border-radius: 5rem;
  transition: all 0.2s ease;
  background: transparent;
}
#entryBtn > button:hover#audit_guidance .switch > button:hover {
  border-color: transparent;
}
#entryBtn > button span, #audit_guidance .switch > button span {
  padding: .3rem 1rem;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  display: block;
  position: relative;
  border: .2rem solid #ff1d58;
  border-radius: 5rem;
  z-index: 2;
  transition: all 0.2s ease;
  background: #ff1d58;
}
#entryBtn .pushDown:before, #audit_guidance .switch .pushDown:before {
  content: "";
  width: 13.4rem;
  height: 2.4rem;
  position: absolute;
  top: .6rem;
  left: calc(50% - 6.7rem);
  z-index: -1;
  border-radius: 5rem;
  background-color: #BE0031;
}
#entryBtn .pushDown:hover span, #audit_guidance .switch .pushDown:hover span {
  background-color: #fff;
  color: #ff1d58;
  transform: translateY(.5rem);
}
#entryBtn.fold, #audit_guidance .switch.fold {
  margin: 0 auto 2rem;
  width: auto;
}
#entryBtn.fold p {
  font-size: 1rem;
}
#entryBtn.fold p::before, #audit_guidance.fold .switch p::before {
  left: calc(50% - 7.3rem);
}
#entryBtn.fold p::after, #audit_guidance.fold .switch p::after {
  right: calc(50% - 7.3rem);
}
#entryBtn.fold > button span, #audit_guidance.fold .switch > button span {
  padding: .3rem 1rem;
  font-size: 1em;
}
#entryBtn.fold .pushDown:before {
  width: 13.7rem;
  height: 2.8rem;
  top: .1rem;
  left: calc(50% - 6.85rem);
}
#entryBtn.fold .pushDown:hover span, #audit_guidance.fold .switch .pushDown:hover span {
  background-color: #ff1d58;
  color: #fff;
  transform: translateY(0);
}
/*-------------------------------------------------------------*
                           INFO
--------------------------------------------------------------*/
#info {
  background: linear-gradient(90deg, #1f4d63 50%, #4282a0 50%);
}
#info .row {
  align-items: center;
}
#info .sub-title {
  margin-bottom: 0;
}
#info .sub-title::before, #info .sub-title::after {
  background-color: #fff;
}
#info .sub-title h1, #info .sub-title span {
  color: #fff;
}
#info #newsList {
  height: 300px;
  background-color: #4282a0;
  border-top: 1.5rem solid #4282a0;
  border-bottom: 1.5rem solid #4282a0;
  overflow: scroll;
  /*スクロールバー非表示（IE・Edge）*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
}
/*スクロールバー非表示（Chrome・Safari）*/
#info #newsList::-webkit-scrollbar {
  display: none;
}
#info li {
  padding: .7rem 2rem .7rem 0;
  display: flex;
  border-bottom: 1px solid #6FA8C3;
}
#info li h6 {
  margin-right: 2rem;
  padding: .4rem .6rem;
  width: auto;
  height: 1.75rem;
  font-size: .8rem;
  color: #fff;
  letter-spacing: .08rem;
  display: inline-block;
  background-color: #6FA8C3;
  border-radius: .3rem;
}
#info li p, #info li a {
  font-size: .9rem;
  color: #fff;
}
#info li button {
  background-color: #ff1d58;
  border: none;
  border-radius: .3rem;
}
#info li a[class="d-inline-flex"] {
  margin: .5rem 0;
  width: 100%;
  text-decoration: underline;
  justify-content: center;
}
#info.fold {
  background: #1f4d63;
  border: none;
}
#info.fold .sub-title::before {
  width: 40px;
  top: calc(50% - 1px);
  left: calc(50% - 6.5rem);
}
#info.fold .sub-title::after {
  width: 40px;
  top: calc(50% - 1px);
  left: calc(50% + 3.5rem);
}
#info.fold #newsList {
  height: 210px;
  background-color: #1f4d63;
  border: none;
}
#info.fold li {
  padding: .8rem;
  display: block;
  border-bottom-color: #4282a0;
}
#info.fold li h6 {
  margin-right: 0;
  font-size: .9rem;
  background-color: #4282a0;
}
#info.fold li p, #info.fold li a {
  font-size: 1rem;
}
/*-------------------------------------------------------------*
                         BUSINESS
--------------------------------------------------------------*/
#business .projects {
  height: 17rem;
}
#business .linkBox {
  padding-top: 3rem;
  height: 100%;
  text-align: center;
  position: relative;
  background-size: cover;
  background-position: center;
}
#business .linkBox::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-left: 4rem solid #3fbfce;
  border-right: 4rem solid transparent;
  border-bottom: 4rem solid transparent;
}
#business h5 {
  margin-bottom: 2rem;
  color: #fff;
  line-height: 1.8rem;
  text-align: center;
}
#business a, #audit_guidance section:nth-of-type(3) div:nth-of-type(3) a, #books li:last-of-type a {
  padding: .5rem .8rem;
  border-radius: .3rem;
}
#business .linkBox > a {
  margin-bottom: 1rem;
  background-color: #fff;
}
#business a > img {
  width: 8rem;
  height: auto;
}
#business p {
  text-align: center;
}
#business p a, #books li:last-of-type a {
  color: #fff;
  background-color: #3fbfce;
}
#business.fold .projects {
  margin: 0 auto;
  width: 100%;
  max-width: 28rem;
  height: 14rem;
  display: table;
}
#business.fold .linkBox {
  padding-top: 0;
  display: table-cell;
  vertical-align: middle;
}
#business.fold h5 {
  margin-bottom: 1.2rem;
}
#business.fold a, #audit_guidance.fold section:nth-of-type(3) div:nth-of-type(3) a, #books.fold li:last-of-type a {
  padding: .3rem .6rem;
}
#business.fold .linkBox > a {
  margin-bottom: .6rem;
}
#business.fold a > img {
  width: 7rem;
  height: auto;
}
/*-------------------------------------------------------------*
                             RESULT
--------------------------------------------------------------*/
#result {
  background-color: #ededed;
}
#result section:not(:first-of-type) {
  margin: 0 auto;
  max-width: 60rem;
  background-color: #fff;
  border: .1rem solid #ADADAD
}
#result #resultReference {
  position: relative;
}
#result #resultReference::after {
  content: "";
  width: 1px;
  height: 80%;
  background-color: #adadad;
  position: absolute;
  top: 10%;
  right: 0;
}
#result h5 {
  line-height: 2rem;
}
#result h5, #result #resultReference > div, #result #scoringReference > div {
  text-align: center;
}
#result table input {
  padding: 3px 7px 1px;
  width: 100%;
  letter-spacing: 1px;
  text-align: end;
}
#result table button, #result #scoringReference a {
  color: #fff;
  text-decoration: none;
  border-radius: .3rem;
  background-color: #ff1d58;
}
#result #answerList {
  align-items: center;
}
#result #answerList li {
  padding: .15rem 0;
  text-align: center;
}
#result p span {
  color: #ff1d58;
  font-weight: bold;
}
#result.fold #resultReference::after {
  width: 85%;
  height: 1px;
  top: auto;
  bottom: 0;
  left: calc(50% - 42.5%);
}
/*-------------------------------------------------------------*
                       STORE & AUDIT
--------------------------------------------------------------*/
#store, #audit {
  position: relative;
  background-image: url("../img/store-bg.jpg");
  background-size: cover;
  background-position: center;
}
#store::before, #audit::before {
  content: "";
  width: 67%;
  height: 100%;
  position: absolute;
  top: 0;
  background-color: rgba(0, 49, 108, 0.69);
  clip-path: polygon(0 0, 82% 0, 100% 100%, 0 100%);
}
#store img, #audit img {
  height: 7rem;
}
#store .linkBox, #audit .linkBox {
  display: flex;
  justify-content: center;
}
#store a, #audit a {
  color: #3fbfce;
  border-radius: .3rem;
  background-color: #fff;
}
#store.fold, #audit.fold {
  background-attachment: local;
}
#store.fold::before, #audit.fold::before {
  width: 100%;
  clip-path: none;
}
#store.fold section, #audit.fold section {
  display: block;
}
#store.fold .linkBox, #audit.fold .linkBox {
  display: flex;
  justify-content: center;
}
/*-------------------------------------------------------------*
                              AUDIT
--------------------------------------------------------------*/
#audit {
  background-image: url("../img/audit-bg.jpg");
}
#audit::before {
  right: 0;
  background-color: rgba(255, 255, 255, 0.8);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 18% 100%);
}
#audit section {
  justify-content: flex-end;
}
#audit section > div {
  order: 1;
}
#audit figure {
  order: 2;
}
#audit a {
  background-color: #3fbfce;
}
/*-------------------------------------------------------------*
                              OTHER
--------------------------------------------------------------*/
#other img {
  width: 100%;
  height: auto;
}
#other #banner-01 p {
  color: #3fbfce;
}
#other div[name="banner"] {
  border: 1px solid #adadad;
}
#other #banner-02 a {
  padding: .4rem .8rem;
  color: #fff;
  background-color: #ff1d58;
  border-radius: .3rem
}
#other.fold .contents:not(:last-of-type) {
  margin-bottom: 1.5rem;
}
/*-------------------------------------------------------------*
                             COMPANY
--------------------------------------------------------------*/
#company {
  background-image: url("../img/bg-image.jpg");
  background-position: center;
  background-size: cover;
}
#company section:not(:first-of-type) {
  justify-content: space-between;
  background-color: rgba(0, 0, 0, .4);
}
#company #companyInfo_list {
  padding: 1rem;
}
#company table {
  width: 47%;
  color: #fff;
}
#company tr {
  border-bottom: 1px solid #DDDDDD;
}
#company td {
  padding: .5rem 0;
  color: #fff;
}
#company td:first-of-type {
  padding-right: 1rem;
  text-align: end;
}
#company li {
  padding: .3rem .5rem;
  color: #fff;
  border-bottom: 1px solid #DDDDDD;
}
#company p {
  margin-top: 1rem;
  text-align: end;
}
#company a {
  color: #fff;
}
/*--------------------------- FOOTER --------------------------*/
footer {
  background-color: #3fbfce;
}
footer section:first-of-type {
  justify-content: space-between;
  align-items: center;
}
footer section:last-of-type p {
  text-align: center;
}
footer p, footer a {
  color: #fff;
}
footer #telBox {
  display: flex;
}
footer #telBox p:not(:last-of-type) {
  font-size: 1.7rem;
  font-weight: bold;
}
footer #telBox p:nth-of-type(2) {
  font-size: 1rem;
}
footer #telBox #telImg {
  width: 6.5rem;
  height: auto;
}
footer #telBox p:first-of-type {
  font-weight: bold;
  letter-spacing: .2rem;
}
footer #telBox p:last-of-type {
  font-size: .9rem;
}
footer #footerNav {
  font-size: .9rem;
  display: flex;
  justify-content: space-between;
}
footer li:not(:last-of-type) {
  margin-bottom: 1rem;
}
footer .snsBox {
  display: flex;
  justify-content: space-between;
}
footer .snsBox img {
  width: auto;
  height: 1.6rem;
}
footer section:last-of-type p {
  font-size: .9rem;
}
footer.fold {
  padding-bottom: 7.2rem;
}
footer.fold section {
  max-width: 25rem;
}
footer.fold #telBox {
  display: block;
}
footer.fold figure {
  text-align: center;
}
footer.fold #telBox p:not(:last-of-type) {
  text-align: center;
}
@media screen and (min-width: 992px) {
  .hover {
    transition: .2s;
  }
  .hover:hover {
    opacity: .6;
    color: #98D2D9;
    transition: .2s;
  }
}