@charset "UTF-8";
html {
  font-size: 62.5%; /* sets the base font to 10px for easier math */
  -webkit-font-smoothing: antialiased;
}

body {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  color: #231815;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: #d0ecf8;
}
@media (min-width: 1000px) {
  body {
    letter-spacing: 0.05em;
    font-size: 16px;
  }
}
@media (max-width: 350px) {
  body {
    font-size: 12px;
  }
}

@media (min-width: 769px) {
  body * {
    font-weight: 500;
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

a {
  color: inherit;
}

.cf:after {
  content: "";
  clear: both;
  display: block;
}

.ib {
  display: inline-block;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

strong {
  font-weight: 600;
}

u {
  text-decoration: underline;
}

.bold {
  font-weight: 700;
}

.bold2 {
  font-weight: 900;
}

.regular {
  font-weight: 400;
}

.text-s {
  font-size: 83%;
}

.text-l {
  font-size: 120%;
}

.text-xl {
  font-size: 150%;
}

.text-line {
  position: relative;
  z-index: 1;
}
.text-line::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: inline-block;
  width: 100%;
  height: 15px;
  background-color: #FFF701;
  z-index: -1;
}

.em {
  color: #E60012;
}

.mode_pc,
.mode_pc_ib {
  display: none !important;
}

.mode_sp {
  display: block !important;
}

.mode_sp_ib {
  display: inline-block !important;
}

.mode_pc1000 {
  display: none;
}
@media (min-width: 1000px) {
  .mode_pc1000 {
    display: block;
  }
}

.mode_sp1000 {
  display: block;
}
@media (min-width: 1000px) {
  .mode_sp1000 {
    display: none;
  }
}

.tel a, .mail a {
  pointer-events: auto;
  cursor: pointer;
}

.bgImage {
  width: 100%;
  max-width: auto;
  max-width: inherit;
}

.mover {
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  zoom: 1;
}
.mover:hover {
  opacity: 0.7;
}

.inner,
.inner02,
.spInner {
  padding: 0 4.8%;
}
.inner .inner02,
.inner02 .inner02,
.spInner .inner02 {
  padding: 0;
}

.blankLink {
  position: relative;
  display: inline-block;
  padding-right: 25px;
}
.blankLink:before {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  position: absolute;
  content: "";
  background-image: url(../img/common/blank.svg);
  background-position: center center;
  background-repeat: no-repeat;
  width: 16px;
  height: 15px;
}
.blankLink.type02:before {
  background-image: url(../img/blank02.svg);
}

.arrowLink {
  position: relative;
  padding-left: 20px;
}
.arrowLink:before {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  position: absolute;
  content: "";
  width: 7px;
  height: 3px;
  border: 3px solid transparent;
  border-left: 7px solid #E73079;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.arrowLink:hover:before {
  left: 5px;
}

.contentWrap .textBase {
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.contentWrap .textBase .em {
  color: #E60012;
}

.inner02.bg-white {
  padding: 20px;
  margin: 0 4.8%;
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid #231815;
}
@media (min-width: 768px) {
  .inner02.bg-white {
    margin: 0 auto;
  }
}

.contentBox.bg-white {
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid #231815;
}

@media (min-width: 768px) {
  .tel a, .mail a {
    pointer-events: none;
  }
  .inner {
    width: 90%;
    max-width: 1240px;
    margin: auto;
    padding: 0;
  }
  .inner02 {
    width: 90%;
    max-width: 1028px;
    margin: auto;
    padding: 0;
  }
  .spInner {
    padding: auto;
  }
  .anchor {
    margin-top: -60px;
    padding-top: 60px;
  }
  .mode_pc {
    display: block !important;
  }
  .mode_pc_ib {
    display: inline-block !important;
  }
  .mode_sp,
  .mode_sp_ib {
    display: none !important;
  }
  .contentWrap .textBase {
    line-height: 1.8;
  }
}
/*
header
---------------------------*/
header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  padding: 6px 8px;
  z-index: 20;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  /*#headerBtn*/
  /*#contentNav*/
}
header #headerInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
header .siteName {
  width: 80px;
}
header.open {
  height: 100%;
}
@media (min-width: 1200px) {
  header.is-fixed .siteNameBox {
    position: fixed;
    -webkit-transition: all 1000ms;
    transition: all 1000ms;
    -webkit-transform: translate(0, -5px);
            transform: translate(0, -5px);
    padding: 10px;
  }
  header.is-fixed .siteName {
    width: 85px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  header .siteNameBox {
    padding: 20px 25px;
  }
  header .siteName {
    width: 150px;
  }
}
header #headerBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  right: 80px;
  top: 20px;
}
@media (max-width: 767px) {
  header #headerBtn {
    display: none;
  }
}
header #headerBtn .loginBtn {
  padding: 0.8em 1em;
  margin: 0 5px;
  font-weight: 900;
  border-radius: 30px;
  background-color: #ffffff;
  border: 3px solid #063076;
  color: #004A9F;
}
header #headerBtn .loginBtn:hover {
  background-color: #C7E8FA;
}
header #headerBtn .roundBtn {
  padding-top: 1em;
  padding-bottom: 1em;
  margin: 0 5px;
}
header #contentNav {
  position: fixed;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
  height: 100%;
}
header #contentNav a {
  display: block;
  font-size: 15px;
  color: #fff;
  padding: 20px 0;
}
header #contentNav .navInner {
  text-align: left;
  padding: 60px 4.8% 20px;
  background-color: #005b9c;
  height: 100%;
}
@media (min-width: 768px) {
  header #contentNav .navInner {
    position: absolute;
    right: 0;
    top: 0;
    width: 500px;
  }
}
header #contentNav p {
  position: relative;
  padding-left: 10px;
  border-bottom: 1px solid #FEEFF4;
}
header #contentNav .boxNav {
  margin-top: 30px;
}
header #contentNav .boxNav li {
  text-align: center;
  border: 1px solid #fff;
  margin-top: 15px;
  border-radius: 50px;
}

/*
header #menu_btn
---------------------------*/
#menu_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  top: 15px;
  right: 15px;
  margin: auto;
  width: 60px;
  height: 60px;
  cursor: pointer;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  background-color: #005B9C;
  border-radius: 60px;
}
#menu_btn:hover {
  background-color: #063076;
}
#menu_btn div {
  position: relative;
  width: 21px;
  height: 15px;
}
#menu_btn span {
  position: absolute;
  right: 0;
  width: 21px;
  height: 3px;
  background-color: #ffffff;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  margin: auto;
}
#menu_btn span:nth-of-type(1) {
  top: 0;
}
.open #menu_btn span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
  transform: translateY(6px) rotate(-45deg);
}
#menu_btn span:nth-of-type(2) {
  top: 0;
  bottom: 0;
}
.open #menu_btn span:nth-of-type(2) {
  opacity: 0;
}
#menu_btn span:nth-of-type(3) {
  top: auto;
  bottom: 0;
}
.open #menu_btn span:nth-of-type(3) {
  -webkit-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg);
  width: 21px;
}

/*
footer
---------------------------*/
footer {
  position: relative;
  margin: 0 auto;
  color: #ffffff;
  text-align: center;
}
footer .footerBottom {
  padding-top: 80px;
  background-color: #005B9C;
  position: relative;
}
@media (min-width: 768px) {
  footer .footerBottom {
    padding-top: 90px;
  }
}
@media (min-width: 1510px) {
  footer .footerBottom {
    padding-top: 120px;
  }
}
@media (max-width: 480px) {
  footer .footerBottom {
    padding-top: 30px;
  }
}
footer .footerBottom::before {
  content: "";
  position: absolute;
  z-index: 1;
  right: 50%;
  top: min(4vw, 60px);
  width: min(23vw, 95px);
  height: min(10vw, 36.5px);
  background: url("../img/common/footer-icon-camome02.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 1000px) {
  footer .footerBottom::before {
    right: 60px;
    top: min(2vw, 60px);
    width: min(14vw, 190px);
    height: min(6vw, 73px);
  }
}
@media (max-width: 480px) {
  footer .footerBottom::before {
    right: 60%;
  }
}
footer .footerBottomInner {
  margin: 0 auto;
  padding-bottom: 90px;
}
@media (min-width: 768px) {
  footer .footerBottomInner {
    width: 90%;
    padding-bottom: 150px;
  }
}
@media (min-width: 1000px) {
  footer .footerBottomInner {
    max-width: 1620px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
footer .siteMap {
  display: none;
}
@media (min-width: 1000px) {
  footer .siteMap {
    width: 69.5%;
    padding-left: min(5%, 80px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    text-align: left;
    position: relative;
  }
  footer .siteMap::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: -100px;
    left: 55px;
    width: 37px;
    height: 38px;
    background: url("../img/common/footer-icon-camome01.svg");
    background-repeat: no-repeat;
  }
}
@media (min-width: 1000px) {
  footer .siteMap a {
    width: 33%;
    padding: 0 10px 10px 0;
    display: inline-block;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.07em;
  }
}
@media (min-width: 1510px) {
  footer .siteMap a {
    padding: 0 10px 20px 0;
  }
}
footer .copy {
  font-weight: 400;
  line-height: 1.75;
  padding: 1em;
  background-color: #063076;
}
@media (min-width: 1000px) {
  footer .copy {
    font-size: 16px;
    -webkit-transform: none;
            transform: none;
  }
}
footer .siteNameWrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 1000px) {
  footer .siteNameWrap {
    min-width: 30.5%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media (min-width: 1000px) {
  footer .siteNameWrap::after {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    content: "";
    height: 100%;
    width: 3px;
    background-color: #ffffff;
  }
}
footer .siteNameWrap .icon {
  width: 30px;
  margin-right: 10px;
}
@media (min-width: 1000px) {
  footer .siteNameWrap .icon {
    width: 40px;
    margin-right: 10%;
  }
}
footer .siteNameWrap dl {
  display: none;
}
@media (min-width: 1000px) {
  footer .siteNameWrap dl {
    display: block;
    margin: 2em;
  }
}
footer .siteNameWrap dt {
  text-align: left;
  margin-bottom: 1em;
  font-weight: 700;
  line-height: 1.2;
  font-size: min(4vw, 18px);
  letter-spacing: 0.19em;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}
@media (min-width: 1000px) {
  footer .siteNameWrap dt {
    font-size: min(1.8vw, 32px);
  }
}
footer .siteNameWrap dd {
  text-align: left;
}
footer .siteNameWrap dd p {
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.1em;
  margin-top: 0.5em;
}
@media (min-width: 1000px) {
  footer .siteNameWrap dd p {
    font-size: min(1.7vw, 22px);
    padding-left: min(1vw, 2em);
  }
}

/*ページ下問い合わせ（フッター外でも使ってる可能性あり）*/
.footerTop {
  text-align: center;
  background-color: #00C1DF;
  margin: auto;
  padding: 50px 0;
}
@media (min-width: 768px) {
  .footerTop {
    padding: 100px 0;
  }
}
.footerTop h2 {
  color: #ffffff;
  font-weight: 900;
  line-height: 1.4;
  font-size: min(5.5vw, 20px);
  margin-bottom: 1em;
}
@media (min-width: 768px) {
  .footerTop h2 {
    font-size: min(4vw, 45px);
  }
}
.footerTop .info {
  max-width: 1400px;
  width: 90%;
  margin: auto;
  background-color: #fff;
  border-radius: 20px;
  padding: min(5vw, 50px);
}
.footerTop .info .tel img {
  width: 70%;
  max-width: 520px;
}
.footerTop .info .tel .time {
  color: #004A9F;
  font-weight: 900;
  font-size: min(4vw, 32px);
  line-height: 1.2;
  letter-spacing: 0.05em;
  margin-top: 1em;
}
@media (min-width: 1000px) {
  .footerTop .info .tel .time {
    font-size: min(2vw, 32px);
  }
}
.footerTop .info .note {
  color: #000000;
  font-weight: 700;
  font-size: 100%;
  line-height: 1.6;
  letter-spacing: 0.05em;
  padding-top: 2em;
}
@media (min-width: 768px) {
  .footerTop .info .note {
    text-align: center;
  }
}

/*下追尾CVボタン*/
#flowBtn {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  /* 下からフェードイン */
}
#flowBtn nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #005B9C;
  width: 100%;
  max-width: 1300px;
  padding: 1em 0;
  margin: auto;
  position: relative;
  z-index: 1;
}
#flowBtn nav .contactBtn,
#flowBtn nav .loginBtn {
  width: 30%;
  max-width: 398px;
  margin: 1%;
  text-align: center;
}
@media (max-width: 480px) {
  #flowBtn nav .contactBtn,
  #flowBtn nav .loginBtn {
    width: 45%;
  }
}
#flowBtn nav .contactBtn a,
#flowBtn nav .loginBtn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 3em;
  width: 100%;
  color: #ffffff;
  font-weight: 900;
  border-radius: 50px;
  background-color: #00B7EB;
  border: 3px solid #00B7EB;
  position: relative;
}
@media (min-width: 768px) {
  #flowBtn nav .contactBtn a,
  #flowBtn nav .loginBtn a {
    font-size: min(2vw, 23px);
    height: min(7vw, 77px);
  }
}
#flowBtn nav .contactBtn a::before,
#flowBtn nav .loginBtn a::before {
  position: absolute;
  z-index: -1;
  bottom: -5px;
  right: -3px;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background-color: #ffffff;
}
#flowBtn nav .contactBtn a:hover,
#flowBtn nav .loginBtn a:hover {
  bottom: -3px;
  right: -1px;
}
#flowBtn nav .contactBtn a:hover::before,
#flowBtn nav .loginBtn a:hover::before {
  bottom: -2px;
  right: -2px;
}
#flowBtn nav .loginBtn a {
  background-color: #ffffff;
  border: 3px solid #063076;
  color: #004A9F;
}
#flowBtn.is-fixed {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#flowBtn.stop {
  bottom: 3.7em;
}
#flowBtn.stop nav {
  background-color: #C7E8FA;
  max-width: none;
}
#flowBtn.bottom-ani {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
  -webkit-animation-delay: 100ms;
          animation-delay: 100ms;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  opacity: 0;
}

@-webkit-keyframes fadeIn {
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeIn {
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
/*scrollTop*/
.pagetop {
  cursor: pointer;
  display: none;
  position: absolute;
  z-index: 11;
  right: 2%;
  bottom: 5px;
  width: min(20vw, 114px);
}
.pagetop:hover {
  bottom: 20px;
}
@media (max-width: 480px) {
  .pagetop {
    bottom: 4.4em;
  }
  .pagetop:hover {
    bottom: 5em;
  }
}
@media (min-width: 1000px) {
  .pagetop {
    right: 10%;
  }
}
@media (min-width: 1510px) {
  .pagetop {
    right: 0;
    left: 58%;
    margin: auto;
  }
}
.pagetop img {
  width: 100%;
}

/*
btn
----------------------------*/
.btnWrap {
  text-align: center;
}

.btn {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn.type02 a, .btn.type02 input {
  background-color: #004A9F;
}
.btn a, .btn input {
  display: block;
  min-width: 270px;
  max-width: 100%;
  color: #fff;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  background-color: #004A9F;
  padding: 18px 10px;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: 50px;
}
.btn:before {
  content: "";
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 30px;
  position: absolute;
  content: "";
  border-style: solid;
  border-width: 6px 0 6px 6px;
  border-color: transparent transparent transparent #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: 1;
}
.btn:hover:before {
  left: 40px;
  opacity: 1;
}
.btn.back {
  font-size: 14px;
}
.btn.back a:disabled, .btn.back input:disabled {
  background-color: #eee;
  cursor: default;
}
.btn.back a:disabled:hover, .btn.back input:disabled:hover {
  opacity: 1;
}
.btn.back:before {
  right: auto;
  left: 35px;
  border-style: solid;
  border-width: 6px 6px 6px 0;
  border-color: transparent #fff transparent transparent;
}
.btn.back:hover:before {
  right: auto;
  left: 20px;
  opacity: 1;
}
.btn.prev a {
  background-color: #999;
}
@media (min-width: 1000px) {
  .btn a, .btn input {
    font-size: 18px;
    min-width: 320px;
    padding: 22px 10px;
  }
}
@media (max-width: 350px) {
  .btn a, .btn input {
    font-size: 12px;
    min-width: 220px;
  }
}

/*矢印白丸付き角丸*/
.roundBtn {
  color: #ffffff;
  display: inline-block;
  width: auto;
  height: auto;
  padding: 11px 11px 11px 30px;
  margin: 0 auto;
  position: relative;
  background-color: #00B7EB;
  border-radius: 30px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  z-index: 1;
  line-height: 1;
  font-weight: 700;
}
@media (min-width: 768px) {
  .roundBtn {
    padding-left: 36px;
  }
}
.roundBtn::after {
  content: "→";
  position: absolute;
  left: 7px;
  top: 0;
  bottom: 0;
  margin: auto;
  color: #00B7EB;
  width: 18px;
  height: 18px;
  background-color: #ffffff;
  border-radius: 100%;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
}
@media (min-width: 768px) {
  .roundBtn::after {
    font-size: 16px;
    line-height: 1.4;
    width: 24px;
    height: 24px;
  }
}
.roundBtn::before {
  position: absolute;
  height: 100%;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  z-index: -1;
  content: "";
  border: 2px solid #00B7EB;
  border-radius: 30px;
  border-bottom: 3px solid #00B7EB;
  background-color: #ffffff;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.roundBtn:hover {
  color: #00B7EB;
  opacity: 1;
}
.roundBtn:hover::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

/*
コンテンツ共通
---------------------------*/
.innerTitleWrap {
  background-color: #00C1DF;
  text-align: center;
  border-radius: 10px;
}
.innerTitleWrap.type02 {
  background-color: #E73079;
}
.innerTitleWrap.type03 {
  background-color: #004A9F;
}
.innerTitleWrap .innerTitle {
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
  padding: 15px 0;
}
.innerTitleWrap.iconType {
  position: relative;
}
.innerTitleWrap.iconType .innerTitle:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 22px;
  height: 28px;
  background-image: url(../img/common/icon-conditions.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: auto;
}
@media (min-width: 1000px) {
  .innerTitleWrap .innerTitle {
    font-size: 30px;
    padding: 15px 0;
  }
  .innerTitleWrap.iconType {
    position: relative;
  }
  .innerTitleWrap.iconType .innerTitle {
    display: inline-block;
    position: relative;
    padding-left: 50px;
  }
  .innerTitleWrap.iconType .innerTitle:before {
    width: 28px;
    height: 37px;
  }
}

.bgBox {
  background-color: rgba(233, 148, 93, 0.1);
}

.contentWrap {
  padding-top: 30px;
  padding-bottom: 40px;
}
@media (min-width: 1000px) {
  .contentWrap {
    padding-top: 100px;
    padding-bottom: 150px;
  }
}
.contentWrap #contentInner h2.pointText {
  text-align: center;
}
.contentWrap #contentInner h2.pointText > span {
  display: inline-block;
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: #000000;
  font-size: min(3.5vw, 20px);
  margin-left: auto;
  margin-right: auto;
  font-weight: 700;
  padding: 0.3em 0 0.3em 4.3em;
  background-image: url(../img/top/icon-point.svg);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 4em auto;
}
@media (min-width: 1000px) {
  .contentWrap #contentInner h2.pointText > span {
    font-size: min(1.8vw, 24px);
  }
}

#mainVisualLower {
  background: url(../img/common/mv-bg.png) center top no-repeat;
  background-size: cover;
  background-color: #ffffff;
  text-align: center;
  padding: 50px 0;
}
#mainVisualLower .pageTitle {
  font-size: min(5.5vw, 20px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  color: #004A9F;
}
#mainVisualLower .icon {
  width: 20px;
  padding-bottom: 10px;
}
@media (min-width: 768px) {
  #mainVisualLower {
    padding: 116px 0;
  }
  #mainVisualLower .pageTitle {
    font-size: min(4vw, 45px);
  }
  #mainVisualLower .icon {
    width: auto;
    padding-bottom: 15px;
  }
}

/*
topic
---------------------------*/
#topic {
  display: none;
}
@media (min-width: 1000px) {
  #topic {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 15px 0 0 20px;
    z-index: 1;
  }
  #topic p {
    font-weight: 600;
  }
  #topic p + p {
    position: relative;
    padding-left: 20px;
    margin-left: 20px;
  }
  #topic p + p:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 1px;
    height: 15px;
    background-color: #00C1DF;
    margin: auto;
    -webkit-transform: rotate(25deg);
            transform: rotate(25deg);
  }
}

.contentBox {
  background-color: rgba(27, 184, 206, 0.1);
}
.contentBox.type02 {
  background-color: rgba(233, 148, 93, 0.1);
}
.contentBox.type03 {
  background-color: rgba(233, 84, 107, 0.1);
}
.contentBox + .contentBox {
  margin-top: 30px;
}
.contentBox .contentBoxInner {
  padding: 15px 4%;
}
@media (min-width: 1000px) {
  .contentBox + .contentBox {
    margin-top: 50px;
  }
  .contentBox .contentBoxInner {
    padding: 50px;
  }
}

.topInfoTextWrap {
  padding-bottom: 20px;
}
.topInfoTextWrap .topInfoText {
  font-weight: 600;
}
.topInfoTextWrap .topInfoText a {
  color: #004A9F;
  font-weight: 600;
  text-decoration: underline;
}
.topInfoTextWrap .t-left {
  text-align: left;
}
.topInfoTextWrap p + p {
  padding-top: 10px;
}
@media (min-width: 769px) {
  .topInfoTextWrap {
    text-align: center;
  }
  .topInfoTextWrap.left {
    text-align: left;
  }
}
@media (min-width: 1000px) {
  .topInfoTextWrap {
    padding-bottom: 50px;
  }
  .topInfoTextWrap .topInfoText {
    font-size: 18px;
  }
  .topInfoTextWrap p + p {
    padding-top: 15px;
  }
}

/*
notFound
---------------------------*/
.notFound {
  text-align: left;
  padding-top: 50px;
  padding-bottom: 50px;
}
.notFound .infoText {
  line-height: 1.5;
  padding-bottom: 50px;
}
@media (min-width: 768px) {
  .notFound {
    text-align: center;
  }
}

/*
password
---------------------------*/
.password {
  position: relative;
}

.password button {
  position: absolute;
  right: 0;
  height: 100%;
  width: 40px;
  background: url("/../img/common/eye.png");
  background-size: 70%;
  background-repeat: no-repeat;
  background-position: center;
  border: none;
  cursor: pointer;
}

.password button.close {
  background: url("/../img/common/eyeClose.png");
  background-size: 70%;
  background-repeat: no-repeat;
  background-position: center;
}

/*
.agree
---------------------------*/
.agreeContainer {
  margin: 30px 0 0 0;
}

.agree {
  margin: 15px auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.agree input {
  display: none;
}

.agree span {
  padding-left: 40px;
  display: block;
  color: #000000;
  font-size: 17px;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .agree span {
    padding-left: 30px;
  }
}

.agree > span {
  padding-left: 37px;
}

.agree label span {
  position: relative;
  max-width: 210px;
  text-align: left;
  cursor: pointer;
}
@media (min-width: 768px) {
  .agree label span {
    width: 320px;
    max-width: unset;
  }
}

.agree label > span::before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
  height: 22px;
  margin: auto;
  background-color: transparent;
  border: 1px solid #000000;
}
@media (min-width: 768px) {
  .agree label > span::before {
    left: -10px;
    width: 26px;
    height: 26px;
  }
}

.agree .inputCheckbox:checked + span::after {
  position: absolute;
  top: 50%;
  left: 5px;
  -webkit-transform: translateY(-62%) rotate(35deg);
          transform: translateY(-62%) rotate(35deg);
  content: "";
  display: block;
  margin: auto;
  width: 10px;
  height: 13px;
  border-right: 3px solid #E9546B; /* チェックマークの色 */
  border-bottom: 3px solid #E9546B; /* チェックマークの色 */
}
@media (min-width: 768px) {
  .agree .inputCheckbox:checked + span::after {
    left: -4px;
    width: 12px;
    height: 15px;
  }
}

.disabled {
  opacity: 0.5;
  pointer-events: none;
}/*# sourceMappingURL=common.css.map */