@charset "UTF-8";
@font-face {
  font-family: noto-serif-jp-R;
  src: url("/fonts/noto-serif-jp-R.woff") format("woff"), url("/fonts/noto-serif-jp-R.woff2") format("woff2");
}
@font-face {
  font-family: roboto-light;
  src: url("/fonts/roboto-light.woff") format("woff"), url("/fonts/roboto-light.woff2") format("woff2");
}
@font-face {
  font-family: roboto-medium;
  src: url("/fonts/roboto-medium.woff") format("woff"), url("/fonts/roboto-medium.woff2") format("woff2");
}
body .l-header {
  background-color: #fff;
  border-bottom: none;
}
@media screen and (max-width: 1024px) {
  body .l-header {
    padding-left: 0;
    padding: 16px 5%;
  }
}
@media screen and (max-width: 768px) {
  body .l-header {
    padding: 8px 5%;
  }
}
body .l-header__logoImg {
  max-width: 243.4px;
  width: 100%;
  margin-top: 14.2px;
  margin-bottom: 14.2px;
}
body .l-header__pc__li__contact--tel > a > span:last-of-type {
  color: #fff33f;
  font-size: 22.84px;
  line-height: 1.0866900175;
  font-family: roboto-medium;
}
body .l-header__tel:first-of-type {
  font-size: 12px;
  line-height: 2.2441666667;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  margin-top: 2px;
}
body .l-header .l-header__sp__li__contact--mail {
  background: #ddf0f8;
  border: solid 1px #fff;
}
body .l-header .l-header__sp__li__contact--tel {
  background: #5bbde5;
}
body .l-header .l-header__sp__li__contact--mail a:before {
  position: absolute;
  content: "";
  width: 31px;
  height: 23px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  background: url(/img/header/icon/icon-contact.png) no-repeat;
  background-size: contain;
}
body .l-header .l-header__sp__li > a span {
  color: #5bbde5;
  margin-right: 16px;
  font-size: 1.1rem;
}
body .l-header .l-header__sp__li {
  border-bottom: 1px solid #5bbde5;
  padding: 20px 0;
}
body .l-header .l-header__sp__li .sub-menu li a:before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 16px;
  height: 2px;
  margin: auto;
  background: #5bbde5;
  content: "";
}
body .l-header .l-header__sp__li > a:before {
  position: absolute;
  top: 0;
  right: 4px;
  bottom: 0;
  width: 9px;
  height: 9px;
  margin: auto;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 2px solid #5bbde5;
  border-right: 2px solid #5bbde5;
  content: "";
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
body .l-header .l-header__sp__li:last-of-type {
  border-bottom: none;
}

.l-header {
  position: fixed;
  width: 100%;
  padding: 0 0 0 40px;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 4;
  background: #fff;
  border-bottom: solid 1px #eee;
}

.l-header__pc {
  -webkit-box-align: center;
  align-items: center;
}

.l-header__pc__nav ul {
  display: flex;
  -webkit-box-align: end;
  align-items: flex-end;
}

.l-header__pc__li {
  margin-right: 2.2vw;
  -webkit-transform: translate(0, -10px);
  transform: translate(0, -10px);
}

.l-header__pc__li a {
  color: #000;
  position: relative;
  text-align: center;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
}
@media screen and (min-width: 1024px) {
  .l-header__pc__li a {
    font-size: 13px;
    line-height: 1.6869230769;
  }
}
@media screen and (min-width: 1200px) {
  .l-header__pc__li a {
    font-size: 16px;
    line-height: 1.745625;
    letter-spacing: 3px;
    letter-spacing: 0.2em;
  }
}

.l-header__pc__li a span {
  display: block;
  color: #109dcd;
  margin-bottom: 4px;
}
@media screen and (min-width: 1024px) {
  .l-header__pc__li a span {
    font-size: 10px;
    font-weight: 500;
    line-height: 1.593;
  }
}
@media screen and (min-width: 1200px) {
  .l-header__pc__li a span {
    font-size: 1.2rem;
    font-family: roboto-medium;
    letter-spacing: 0.2em;
  }
}

.l-header__pc__li a.is-active:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  margin: auto;
  width: 100%;
  height: 1px;
  background: #fff;
}

.l-header__pc__li:last-of-type {
  margin-right: 0;
  -webkit-transform: none;
  transform: none;
}

.l-header__pc__li__contact--mail {
  background: #ddf0f8;
}

.l-header__pc__li__contact--mail a {
  position: relative;
  display: block;
  width: 100%;
  padding: 25px 0;
}

.l-header__pc__li__contact--mail a:before {
  position: absolute;
  content: "";
  width: 23.49px;
  height: 16.605px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  background: url(/img/header/icon/icon-contact.png) no-repeat;
  background-size: contain;
}

.l-header__pc__li__contact--mail a:hover {
  background: #fff;
}

.l-header__pc__li__contact--mail a:hover:before {
  width: 23.49px;
  height: 16.605px;
  background: url(/img/header/icon/icon-contact.png) no-repeat;
  background-size: contain;
}

.l-header__pc__li__contact--tel {
  background: #5bbde5;
}

.l-header__pc__li__contact--tel a {
  padding: 6.6px 23.5px 2.6px;
}

.l-header__pc__li__contact--tel span:first-of-type {
  color: #f9f27f;
  font-size: 2.3rem;
  font-family: roboto-medium;
  margin: 0;
  letter-spacing: 0;
  line-height: 1.2;
}

.l-header__pc__li__contact--tel span:last-of-type {
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0;
}

.l-header__pc__li .sub-menu {
  display: none;
  position: absolute;
  width: 220%;
  left: -16px;
  right: 0;
  top: 0;
  margin-left: 0;
  padding-top: 10px;
  margin-top: 34px;
}

.l-header__pc__li .sub-menu ul {
  background: #fff;
  padding: 40px 24px 24px 24px;
  position: relative;
}

.l-header__pc__li .sub-menu ul:before {
  content: "";
  position: absolute;
  width: calc(100% - 16px);
  height: 1px;
  left: 0;
  right: 0;
  bottom: 8px;
  margin: auto;
  background: #004098;
}

.l-header__pc__li .sub-menu ul:after {
  content: "";
  position: absolute;
  width: 1px;
  height: calc(100% + 40px);
  left: 8px;
  bottom: 8px;
  margin: auto;
  background: #004098;
}

.l-header__pc__li .sub-menu ul li {
  padding-left: 1em;
  position: relative;
  font-size: 1.4rem;
  margin-bottom: 12px;
}

.l-header__pc__li .sub-menu ul li:before {
  content: "";
  position: absolute;
  height: 10px;
  width: 10px;
  left: 0;
  top: 5px;
  margin: auto;
  background: #004098;
}

.l-header__pc__li .sub-menu ul li a {
  letter-spacing: 1px;
  text-align: left;
}

.l-header__pc__li:hover .sub-menu {
  display: block;
  -webkit-animation: show 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  animation: show 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}

@-webkit-keyframes show {
  from {
    opacity: 0;
    top: -10px;
  }
  to {
    opacity: 1;
    top: 0;
  }
}
@keyframes show {
  from {
    opacity: 0;
    top: -10px;
  }
  to {
    opacity: 1;
    top: 0;
  }
}
.l-header__sp__visible {
  -webkit-box-align: center;
  align-items: center;
}

.l-header__sp__visible .c-humberger div {
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  background: #000;
}
.l-header__sp__visible .c-humberger div.rotateTopAnim {
  transform: translateY(12px) rotate(45deg);
}
.l-header__sp__visible .c-humberger div.rotateCenterAnim {
  opacity: 0;
}
.l-header__sp__visible .c-humberger div.rotateBottomAnim {
  transform: translateY(-12px) rotate(-45deg);
}

.l-header__sp__visible .l-header__logo {
  width: 164px;
  z-index: 9;
}

.l-header__sp__nav {
  width: 100%;
  position: fixed;
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  top: 0;
  left: 100%;
  height: 100%;
  background: #fff;
  z-index: 8;
  padding-top: calc(10% + 24px + 40px);
  box-sizing: border-box;
  overflow: scroll;
}
.l-header__sp__nav.swing {
  left: 0;
}

.l-header__sp__nav > ul {
  padding: 0 40px;
}

.l-header__sp__li {
  border-bottom: 1px solid #5bbde5;
  padding: 20px 0;
}

.l-header__sp__li > a {
  font-size: 1.6rem;
  color: #000;
  line-height: 1;
  position: relative;
}

.l-header__sp__li > a span {
  color: #004098;
  margin-right: 16px;
  font-size: 1.1rem;
}

.l-header__sp__li:last-of-type {
  border-bottom: none;
}

.l-header__sp__li:last-of-type:before {
  display: none;
}

.l-header__sp__li__contact--mail {
  background: #ddf0f8;
  border: solid 1px #fff;
}

.l-header__sp__li__contact--mail a {
  position: relative;
  display: block;
  width: 100%;
  padding: 26px 0;
}

.l-header__sp__li__contact--mail a:before {
  position: absolute;
  content: "";
  width: 31px;
  height: 23px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  background: url(/img/ico_mail_on.png) no-repeat;
  background-size: contain;
}

.l-header__sp__li__contact--tel a {
  padding: 16px 0;
}

.l-header__sp__li__contact--tel span:first-of-type {
  display: block;
  text-align: center;
  color: #f9f27f;
  font-size: 2.3rem;
  font-family: roboto-medium;
  margin: 0;
  letter-spacing: 0;
  line-height: 1.2;
}

.l-header__sp__li__contact--tel span:last-of-type {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0;
  margin: 0;
}

.l-header__sp__li .sub-menu {
  margin-top: 20px;
}

.l-header__sp__li .sub-menu li {
  margin-bottom: 10px;
}

.l-header__sp__li .sub-menu li a {
  font-size: 1.3rem;
  padding-left: 2em;
  position: relative;
}

.l-header__sp__li .sub-menu li a:before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 16px;
  height: 2px;
  margin: auto;
  background: #004098;
  content: "";
}

.l-header__sp__li .sub-menu__title:before {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.l-header__sp__li .sub-menu__title.is-open:before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.l-header__sp--open .l-header__sp__nav {
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  left: 0;
}

.l-footer {
  margin-bottom: -5px;
}

.__sns {
  background: #5bbde5;
  text-align: center;
  margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .__sns {
    margin-bottom: 60px;
  }
}

.__sns__wrapper {
  max-width: 506px;
  margin: 0 auto;
  position: relative;
  -webkit-box-align: center;
  align-items: center;
}

.__sns__wrapper:before {
  position: absolute;
  content: "";
  border: 18px solid transparent;
  border-right: 10px solid #fff;
  left: -28px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 14px;
}

.__sns__wrapper:after {
  position: absolute;
  content: "";
  border: 18px solid transparent;
  border-left: 10px solid #fff;
  right: -28px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 14px;
}

.__sns__wrapper > * {
  width: 50%;
}

.__sns__wrapper > p {
  font-size: 2rem;
  font-weight: 500;
  color: #5bbde5;
  font-family: roboto-medium;
  letter-spacing: 3px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .__sns__wrapper > p {
    font-size: 14px;
    white-space: nowrap;
  }
}

.__sns__wrapper > p:before {
  content: "";
  position: absolute;
  height: 1px;
  margin: auto;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
  top: 8px;
  right: 0;
  width: 20px;
  border-top: 2px solid #7fbfdd;
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.__sns__wrapper > p:after {
  content: "";
  position: absolute;
  height: 1px;
  margin: auto;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
  bottom: 8px;
  right: 0;
  width: 20px;
  border-top: 2px solid #7fbfdd;
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.__sns__wrapper .c-flex {
  max-width: 142px;
  margin: 0 auto;
}

.__sns__wrapper .c-flex a:hover {
  opacity: 0.6;
}

.__sns .c-flex {
  background: #fff;
}

.__access {
  margin-bottom: 100px;
  position: relative;
}

.__access__txt {
  position: absolute;
  top: 0;
  right: calc((100% - 1400px) / 2);
  padding: 40px 40px;
  background: #fff;
  font-size: 1.4rem;
}

.__access__txt p {
  margin-bottom: 10px;
}

.__access__txt figure {
  margin-bottom: 16px;
}

.__access__txt address {
  font-style: normal;
}

.__access iframe {
  width: 100%;
}

.__nav {
  max-width: 875px;
  margin: 0 auto 120px;
}
@media screen and (max-width: 768px) {
  .__nav {
    margin-bottom: 60px;
  }
}

.__nav__li {
  padding-right: 14px;
  margin-right: 14px;
  border-right: solid 1px #000;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .__nav__li {
    font-size: 12.8px;
  }
}

.__nav__li:last-of-type {
  padding-right: 0;
  margin-right: 0;
  border: none;
}

.__nav__li a:hover {
  opacity: 0.6;
}

.__nav > .c-flex {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: center;
}

.__cv {
  background: url(/img/footer/cv_back.jpg) no-repeat;
  background-size: cover;
  background-position: center center;
  padding: 180px 3% 40px;
  position: relative;
}
.__cv.bg-lazy {
  background-image: none !important;
}
@media screen and (max-width: 768px) {
  .__cv {
    background: url(/img/footer/cv_back-sp002.png) no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 100px 3% 33px;
  }
}

@media screen and (max-width: 768px) {
  .__cv:before {
    position: absolute;
    content: "";
    border: 148px solid transparent;
    border-bottom: 148px solid transparent;
    border-top: 80px solid #fff;
    width: 148px;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    z-index: 1;
  }
}

.__cv__txt {
  margin-top: 21px;
  margin-bottom: 40px;
  color: #109dcd;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
  .__cv__txt {
    margin-top: 2.05078125vw;
    margin-bottom: 3.90625vw;
  }
}
@media screen and (max-width: 768px) {
  .__cv__txt {
    margin-bottom: 8.90625vw;
  }
}

.l-footer__logoImg {
  max-width: 252px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .l-footer__logoImg {
    max-width: 385px;
  }
}

.__cv__catch {
  position: absolute;
  top: -28px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2;
  color: #000;
  line-height: 1.4;
  font-size: 3rem;
  opacity: 0;
  font-family: noto-serif-jp-R;
  transform: translateY(-20px);
  transition: opacity 0.6s cubic-bezier(0.19, 1, 0.22, 1), transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.__cv__catch.fadeIn {
  opacity: 1;
  transform: translateY(0px);
}
@media screen and (max-width: 768px) {
  .__cv__catch {
    font-size: 16px;
    line-height: 1.5625;
  }
}

.__cv__wrapper {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  color: #fff;
}

.__cv .c-flex {
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .__cv .c-flex {
    align-items: center;
  }
}

.__cv__wrapper .c-flex > * {
  width: 33%;
}
@media screen and (max-width: 768px) {
  .__cv__wrapper .c-flex > * {
    width: 100%;
  }
}

.__cv__access {
  font-size: 1.3rem;
  margin-right: 63px;
}
@media screen and (max-width: 1024px) {
  .__cv__access {
    margin-right: 6.15234375vw;
  }
}
@media screen and (max-width: 768px) {
  .__cv__access {
    margin-right: 0;
  }
}

.__cv__access a {
  z-index: 2;
  position: relative;
  margin-bottom: 10px;
  color: #fff;
  font-size: 1.2rem;
}

.__cv__access img {
  display: block;
  margin: 0 auto;
  margin-bottom: 4px;
}

.__cv__tel {
  margin-right: 69px;
}
@media screen and (max-width: 1024px) {
  .__cv__tel {
    margin-right: 6.73828125vw;
  }
}
@media screen and (max-width: 768px) {
  .__cv__tel {
    margin-right: 0;
  }
}

.__cv__tel p:first-of-type a {
  color: #109dcd;
  font-size: 38px;
  line-height: 1;
  font-family: roboto-medium;
  font-weight: 500;
  margin: 0;
  line-height: 1;
  margin-bottom: 9px;
  z-index: 2;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .__cv__tel p:first-of-type a {
    font-size: 3.7109375vw;
    line-height: 3.7109375vw;
    margin-bottom: 0.87890625vw;
  }
}
@media screen and (max-width: 768px) {
  .__cv__tel p:first-of-type a {
    font-size: 38px;
    line-height: 1;
    margin-bottom: 9px;
  }
}

.l-footer__time {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.1111111111;
  color: #109dcd;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
  .l-footer__time {
    font-size: 1.7578125vw;
    line-height: 1.953125vw;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__time {
    font-size: 18px;
    line-height: 1.1111111111;
  }
}

.__cv__mail {
  max-width: 232px;
  width: 100%;
  border: solid 2px #3f98c1;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .__cv__mail {
    max-width: 232px;
  }
}

.__cv__mail a {
  position: relative;
  display: block;
  width: 100%;
  padding: 64px 0 0;
  height: 100%;
  color: #3f98c1;
  z-index: 2;
}

.__cv__mail a:before {
  position: absolute;
  content: "";
  width: 31px;
  height: 23px;
  top: -20px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  background: url(/img/footer/icon-mail.png) no-repeat;
  background-size: contain;
}

.l-footer__mailText {
  display: inline-block;
  transform: translateY(-16px);
}

.__cv__mail a:hover {
  background: #3f98c1;
  color: #004098;
}
.__cv__mail a:hover .l-footer__mailText {
  color: #fff;
}

.__cv__mail a:hover:before {
  background: url(/img/ico_mail.png) no-repeat;
  background-size: contain;
}

.cta {
  display: none;
  background-color: #5bbde5;
  padding-top: 43px;
  padding-bottom: 38px;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 650px) {
  .cta {
    display: block;
    position: fixed;
    width: 100%;
    bottom: 0;
    left: 0;
    padding-top: 3.615385vw;
    padding-bottom: 2.846154vw;
    opacity: 1;
    transition: opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .cta.fadeOut {
    opacity: 0;
    transition-property: opacity;
    transition-duration: 0.8s;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }
  .cta.fixedOut {
    position: static;
    opacity: 1;
    transition-property: position;
    transition-duration: 0s;
  }
}
.cta__text {
  color: #fff;
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 650px) {
  .cta__text {
    font-size: 17px;
    line-height: 1;
  }
}
.cta__cols {
  display: flex;
  justify-content: center;
  margin-top: 33px;
}
@media screen and (max-width: 650px) {
  .cta__cols {
    margin-top: 3.0769230769vw;
  }
}
.cta__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: 78px;
}
@media screen and (max-width: 768px) {
  .cta__col {
    max-width: 105.5px;
    width: 100%;
    margin-right: 35px;
  }
}
@media screen and (max-width: 650px) {
  .cta__col {
    flex-direction: row;
    justify-content: center;
    max-width: unset;
    width: 32.3%;
    margin-right: 0;
  }
}
.cta__col:last-of-type {
  margin-right: 0;
}
.cta__colLink {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 650px) {
  .cta__colLink {
    flex-direction: row;
    justify-content: center;
  }
}
.cta__colBox {
  width: 100px;
  height: 100px;
  border-radius: 100px;
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 768px) {
  .cta__colBox {
    width: 60px;
    height: 60px;
  }
}
@media screen and (max-width: 650px) {
  .cta__colBox {
    width: 10.667vw;
    height: 10.667vw;
    margin-right: 1vw;
  }
}
.cta__colIcon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.cta__colIcon.dolu {
  width: 36.0806px;
  height: 45.2197px;
}
@media screen and (max-width: 768px) {
  .cta__colIcon.dolu {
    width: 21.648px;
    height: 27.131px;
  }
}
@media screen and (max-width: 650px) {
  .cta__colIcon.dolu {
    width: 3.843vw;
    height: 4.816vw;
  }
}
.cta__colIcon.mail {
  width: 46.452px;
  height: 33.5px;
}
@media screen and (max-width: 768px) {
  .cta__colIcon.mail {
    width: 27.871px;
    height: 20.1px;
  }
}
@media screen and (max-width: 650px) {
  .cta__colIcon.mail {
    width: 4.949vw;
    height: 3.568vw;
  }
}
.cta__colIcon.tel {
  width: 45.4205px;
  height: 50.0944px;
}
@media screen and (max-width: 768px) {
  .cta__colIcon.tel {
    width: 27.25px;
    height: 30.05px;
  }
}
@media screen and (max-width: 650px) {
  .cta__colIcon.tel {
    width: 4.837vw;
    height: 5.336vw;
  }
}
.cta__colText {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  letter-spacing: 0.1em;
  color: #fff;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .cta__colText {
    white-space: nowrap;
  }
}
@media screen and (max-width: 650px) {
  .cta__colText {
    font-size: 8px;
    line-height: 1.5;
    font-size: 2.133vw;
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .cta__colText > span {
    display: none;
  }
}

.__copy {
  text-align: center;
  position: relative;
  z-index: 2;
}

.__copy small {
  background: #109dcd;
  color: #fff;
  font-size: 1.1rem;
  display: block;
  padding: 4px 0;
}

.__copy p {
  padding: 10px 0 0;
}

.__copy p img {
  margin-left: 8px;
  margin-bottom: -4px;
}

/* バナー(serviceページ用) */
.banner__cols {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: -67px;
  margin-bottom: 87px;
}
@media screen and (max-width: 768px) {
  .banner__cols {
    margin-top: -13px;
    margin-bottom: 43.5px;
  }
}
.banner__col {
  width: auto;
  margin-right: 5%;
}
@media screen and (max-width: 639px) {
  .banner__col:first-of-type {
    margin-right: 0px;
  }
}
@media screen and (max-width: 1039px) {
  .banner__col:nth-child(2) {
    margin-right: 0;
  }
}
@media screen and (max-width: 671px) {
  .banner__col:nth-child(2) {
    margin-top: 20px;
    margin-right: 0%;
  }
}
.banner__col:last-of-type {
  margin-right: 0;
}
@media screen and (max-width: 1039px) {
  .banner__col:last-of-type {
    margin-top: 20px;
  }
}
.banner__col > a > img {
  height: 57px;
  width: 100%;
}

/*br関係*/
.br500on {
  display: none;
}

.br550on {
  display: none;
}

.br600on {
  display: none;
}

.br700on {
  display: none;
}

.br980on {
  display: none;
}

@media screen and (max-width: 500px) {
  body .br500on {
    display: block;
  }
}
@media screen and (max-width: 550px) {
  body .br550on {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  body .br600on {
    display: block;
  }
}
@media screen and (max-width: 700px) {
  body .br700on {
    display: block;
  }
}
@media screen and (max-width: 980px) {
  body .br980on {
    display: block;
  }
}
/* color */
.c-blue {
  color: #3da1cd;
}

@media screen and (max-width: 1024px) {
  .pc-only {
    display: none;
  }
}
.sp-only {
  display: none;
}

@media screen and (max-width: 1024px) {
  body .sp-only {
    display: block;
  }
}
/* body */
#top {
  padding-top: 100px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}
@media screen and (max-width: 1024px) {
  #top {
    padding-top: 80px;
  }
}
@media screen and (max-width: 768px) {
  #top {
    padding-top: 64px;
  }
}

/* h1 */
@media screen and (max-width: 768px) {
  .top__ttl {
    font-size: 25.6px;
  }
}

/* 共通パーツ */
/*h2*/
.h2__ttl {
  font-size: 42px;
  font-weight: 700;
  line-height: 1.4864285714;
  letter-spacing: 0.1em;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  color: #109dcd;
  font-feature-settings: "palt";
}
@media screen and (max-width: 1024px) {
  .h2__ttl {
    font-size: 29.4px;
    line-height: 1.4863945578;
  }
}
.h2__ttl::before {
  content: "";
  display: block;
  width: 42.7px;
  height: 42.9px;
  margin: 0 auto;
  background-image: url(/img/toppage/icon-present.png);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1024px) {
  .h2__ttl::before {
    width: 29.89px;
    height: 30.03px;
  }
}
.h2__ttl::after {
  content: attr(data-sub);
  display: block;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  font-family: roboto-medium;
  letter-spacing: 0.2em;
  color: #109dcd;
  font-feature-settings: "palt";
  margin-top: 10px;
}
@media screen and (max-width: 1024px) {
  .h2__ttl::after {
    font-size: 14px;
    line-height: 1;
    margin-top: 5px;
  }
}
.h2__ttlWrapper {
  text-align: center;
}

/* section */
.sec {
  padding: 0 20px;
}
.sec__inner {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
.sec__inner1020 {
  max-width: 1020px;
  width: 100%;
  margin: 0 auto;
}
.sec__inner1200 {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
.sec--mb {
  margin-bottom: 90px;
}

/* ひし形のリスト */
.common__item {
  font-size: 16px;
  line-height: 2.25;
  letter-spacing: 0.1em;
  font-family: noto-serif-jp-R;
}
.common__item::before {
  content: "◆";
  display: inline-block;
  color: #3da1cd;
  font-size: 12px;
  line-height: 3;
  margin-right: 5px;
  position: relative;
  top: -1px;
}

/*# sourceMappingURL=common.css.map */
