@charset "UTF-8";
@import url("../css/default.css");
/* --------------------------------------------------------------
   共通
-------------------------------------------------------------- */
body {
  width: 100%;
  color: #24313d;
  font-size: .22rem;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  body {
    min-width: 320px;
    font-size: .13rem;
  }
}

.wrapper {
  overflow: hidden;
}

.container {
  width: 12rem;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .container {
    width: calc(100% - .39rem);
  }
}

a {
  color: #24313d;
}

img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .pconly {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .sponly {
    display: none;
  }
}

/* header
--------------------------------------------------------------*/
.header {
  height: .8rem;
  background: center/cover no-repeat url(../images/cmn/header_bg@2x.jpg);
  position: relative;
}

.header::after {
  content: "";
  width: 100%;
  height: .02rem;
  background-color: #24313d;
  position: absolute;
  left: 0;
  bottom: 0;
}

.header .logo {
  width: 3.26rem;
}

.header .info .navi li a {
  padding: 0 .35rem;
  font-size: .2rem;
  font-weight: 700;
  letter-spacing: .05em;
  position: relative;
}

@media screen and (min-width: 769px) {
  .header .info .navi li a {
    -webkit-transition: .4s;
    transition: .4s;
  }
  .header .info .navi li a:hover {
    opacity: .7;
  }
}

.header .info .navi li:first-child a::after {
  content: "/";
  position: absolute;
  right: -.5em;
  -webkit-transform: rotate(15deg);
          transform: rotate(15deg);
}

.header .info .tel {
  width: 3.26rem;
}

@media screen and (min-width: 769px) {
  .header .info .tel a {
    pointer-events: none;
  }
}

@media screen and (max-width: 768px) {
  .header {
    height: .43rem;
    background: center/cover no-repeat url(../images/cmn/header_bg_sp.jpg);
  }
  .header::after {
    height: 1px;
  }
  .header .logo {
    width: 1.19rem;
  }
  .header .info .tel {
    width: 1.41rem;
  }
}

/* CTA
--------------------------------------------------------------*/
.fv_cta {
  min-height: 2.2rem;
  padding: .32rem 0 0;
  background: center/cover no-repeat url(../images/cta/bg1@2x.jpg);
}

.fv_cta .wrap .text {
  width: 3.85rem;
  margin: .05rem .25rem 0 0;
  text-align: center;
}

.fv_cta .wrap .text .tit {
  margin: 0 0 .1rem;
  color: #fff;
  font-size: .23rem;
  letter-spacing: .05em;
  position: relative;
}

.fv_cta .wrap .text .tit::before, .fv_cta .wrap .text .tit::after {
  content: "";
  width: .15rem;
  height: .04rem;
  background-color: #fff;
  position: absolute;
  top: calc(50% - .02rem);
}

.fv_cta .wrap .text .tit::before {
  left: .08rem;
}

.fv_cta .wrap .text .tit::after {
  right: .08rem;
}

.fv_cta .wrap .text .desc {
  font-size: .14rem;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: .05em;
  line-height: 1.4;
}

.fv_cta .wrap .btn {
  width: 4rem;
}

.fv_cta .wrap .tel {
  width: 8rem;
  margin: .25rem auto 0;
}

@media screen and (min-width: 769px) {
  .fv_cta .wrap .tel {
    pointer-events: none;
  }
}

@media screen and (max-width: 768px) {
  .fv_cta {
    min-height: 2.03rem;
    padding: .24rem 0 0;
    background: center/cover no-repeat url(../images/cta/bg1_sp.jpg);
  }
  .fv_cta .wrap .text {
    width: 100%;
    margin: 0 0 .18rem;
    text-align: center;
  }
  .fv_cta .wrap .text .tit {
    display: inline-block;
    padding: 0 .15rem;
    margin: 0 0 .05rem;
    font-size: .125rem;
  }
  .fv_cta .wrap .text .tit::before, .fv_cta .wrap .text .tit::after {
    width: .08rem;
    height: 2px;
    top: calc(50% - 1px);
  }
  .fv_cta .wrap .text .tit::before {
    left: 0;
  }
  .fv_cta .wrap .text .tit::after {
    right: 0;
  }
  .fv_cta .wrap .text .desc {
    font-size: .1rem;
  }
  .fv_cta .wrap .btn {
    width: 2.68rem;
  }
  .fv_cta .wrap .tel {
    width: 2.68rem;
    margin: .18rem auto 0;
  }
}

.cta02 {
  min-height: 3.65rem;
  padding: .5rem 0 0;
  background: center/cover no-repeat url(../images/cta/cta02_bg@2x.jpg);
  position: relative;
}

.cta02 .title {
  margin-left: 1.7rem;
  color: #fff;
  font-size: .45rem;
  letter-spacing: .05em;
  position: relative;
}

.cta02 .title::before {
  content: "";
  width: 3.16rem;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: .25rem;
  left: -3.38rem;
}

.cta02 .points {
  width: 4.72rem;
  margin-left: 1.5rem;
}

.cta02 .pic {
  width: 7.68rem;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 5;
}

@media screen and (max-width: 768px) {
  .cta02 {
    min-height: 3.17rem;
    padding: .3rem 0 0;
    background: center/cover no-repeat url(../images/cta/cta02_bg_sp.jpg);
  }
  .cta02 .title {
    margin-bottom: .25rem;
    margin-left: .65rem;
    font-size: .225rem;
  }
  .cta02 .title::before {
    width: .78rem;
    top: .125rem;
    left: -.845rem;
  }
  .cta02 .points {
    width: 2.33rem;
    margin-left: -.15rem;
  }
  .cta02 .pic {
    width: 100%;
  }
}

.cta03 {
  min-height: 3.04rem;
  padding: .4rem 0 0;
  background: center/cover no-repeat url(../images/cta/cta03_bg@2x.jpg);
}

.cta03_wrap .text {
  width: 4.72rem;
  margin-right: .5rem;
  text-align: center;
}

.cta03_wrap .text .tit {
  display: inline-block;
  padding: 0 .25rem;
  color: #fff;
  font-size: .2301rem;
  color: #fff;
  letter-spacing: .05em;
  position: relative;
}

.cta03_wrap .text .tit::before, .cta03_wrap .text .tit::after {
  content: "";
  width: .15rem;
  height: .04rem;
  background-color: #fff;
  position: absolute;
  top: calc(50% - .02rem);
}

.cta03_wrap .text .tit::before {
  left: 0;
}

.cta03_wrap .text .tit::after {
  right: 0;
}

.cta03_wrap .text .points {
  margin: -.15rem 0 0;
}

.cta03_wrap .link {
  width: 4.66rem;
  padding: .3rem 0 0;
  text-align: center;
}

.cta03_wrap .link .btn {
  margin: 0 0 .25rem;
}

.cta03_wrap .link .tel a {
  display: block;
  margin: 0 0 .1rem;
}

@media screen and (min-width: 769px) {
  .cta03_wrap .link .tel a {
    pointer-events: none;
  }
}

.cta03_wrap .link .tel .desc {
  font-size: .14rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: .05em;
  line-height: 1.43;
}

@media screen and (max-width: 768px) {
  .cta03 {
    min-height: 3.45rem;
    background: center/cover no-repeat url(../images/cta/cta03_bg_sp.jpg);
  }
  .cta03_wrap .text {
    width: 100%;
    margin-right: 0;
  }
  .cta03_wrap .text .tit {
    padding: 0 .17rem;
    font-size: .12rem;
  }
  .cta03_wrap .text .tit::before, .cta03_wrap .text .tit::after {
    width: .08rem;
    height: 2px;
    top: calc(50% - 1px);
  }
  .cta03_wrap .text .points {
    width: 2.45rem;
    margin: -.08rem auto 0;
  }
  .cta03_wrap .link {
    width: 3.07rem;
    padding: .15rem 0 0;
  }
  .cta03_wrap .link .btn {
    width: 2.69rem;
    margin: 0 auto .15rem;
  }
  .cta03_wrap .link .tel a {
    width: 2.69rem;
    margin: 0 auto .05rem;
  }
  .cta03_wrap .link .tel .desc {
    font-size: .09rem;
    line-height: 1.39;
  }
}

.cta_fix {
  width: 100%;
  height: 1rem;
  background: center/cover no-repeat url(../images/cta/cta_fix_bg@2x.jpg);
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 99999;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: -webkit-transform .7s;
  transition: -webkit-transform .7s;
  transition: transform .7s;
  transition: transform .7s, -webkit-transform .7s;
}

.cta_fix.fade {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.cta_fix .cta04_wrap {
  height: 100%;
}

.cta_fix .cta04_wrap .text {
  width: 4.6rem;
  margin: 0 .4rem;
  text-align: center;
}

.cta_fix .cta04_wrap .text .tit {
  color: #fff;
  font-size: .27rem;
  letter-spacing: .05em;
  position: relative;
}

.cta_fix .cta04_wrap .text .tit::before, .cta_fix .cta04_wrap .text .tit::after {
  content: "";
  width: .22rem;
  height: 3px;
  background-color: #fff;
  position: absolute;
  top: calc(50% - 1px);
}

.cta_fix .cta04_wrap .text .tit::before {
  left: 0;
}

.cta_fix .cta04_wrap .text .tit::after {
  right: 0;
}

.cta_fix .cta04_wrap .btn {
  width: 4.66rem;
  margin: 0 .1rem;
}

.cta_fix .cta04_wrap .btn a {
  display: block;
}

@media screen and (max-width: 768px) {
  .cta_fix {
    height: .675rem;
    padding: .04rem .03rem;
    background: center/cover no-repeat url(../images/cta/cta_fix_bg_sp.jpg);
  }
  .cta_fix .cta04_wrap li {
    width: calc((100% - .12rem) / 3);
  }
  .cta_fix .cta04_wrap li a {
    display: block;
  }
}

/* footer
--------------------------------------------------------------*/
.footer {
  margin: 0 0 .99rem;
}

.footer_office {
  height: 4.1rem;
  padding: .7rem 0 0;
}

.footer_office .tit {
  margin: 0 0 .4rem;
  font-size: .35rem;
  letter-spacing: .1em;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .footer_office .data {
    width: 7.14rem;
    margin: 0 auto;
  }
}

.footer_office .data dt,
.footer_office .data dd {
  font-size: .18rem;
  line-height: 1.94;
}

.footer_office .data dt {
  width: 3rem;
  padding-left: 1.28rem;
}

.footer_office .data dd {
  width: calc(100% - 3rem);
  padding: 0 0 0 .6rem;
  margin: 0 0 .2rem;
  font-weight: 400;
  position: relative;
}

.footer_office .data dd::before {
  content: "";
  width: 1px;
  height: calc(100% - .18rem);
  background-color: #24313d;
  position: absolute;
  top: .09rem;
  left: 0;
}

.footer_wrap {
  height: 1.35rem;
  padding: .35rem 0 0;
  text-align: center;
  background-color: #24313d;
}

.footer_wrap .navi {
  margin: 0 0 .25rem;
}

.footer_wrap .navi a {
  display: inline-block;
  padding: .05rem .28rem;
  color: #fff;
  font-size: .18rem;
  letter-spacing: .05em;
  position: relative;
}

@media screen and (min-width: 769px) {
  .footer_wrap .navi a {
    -webkit-transition: .4s;
    transition: .4s;
  }
  .footer_wrap .navi a:hover {
    opacity: .7;
  }
}

.footer_wrap .navi a::before, .footer_wrap .navi a::after {
  content: "";
  position: absolute;
}

.footer_wrap .navi a::before {
  width: .19rem;
  height: .19rem;
  background: center/100% auto no-repeat url(../images/cmn/footer_icon@2x.png);
  left: 0;
  top: calc(50% - .095rem);
}

.footer_wrap .navi a::after {
  width: 1.76rem;
  height: 1px;
  background-color: #fff;
  left: calc(50% - .88rem);
  bottom: 0;
}

.footer_wrap .copyright small {
  color: #fff;
  font-size: .13rem;
  font-weight: 400;
  letter-spacing: .05em;
}

.footer.contact {
  margin: 0;
}

.footer.contact .footer_wrap {
  height: .5rem;
  padding: .1rem 0 0;
}

.footer.contact .footer_wrap .copyright small {
  font-size: .16rem;
}

@media screen and (max-width: 768px) {
  .footer {
    margin: 0 0 .675rem;
  }
  .footer_office {
    height: 2.35rem;
    padding: .4rem 0 0;
  }
  .footer_office .tit {
    margin: 0 0 .3rem;
    font-size: .16rem;
  }
  .footer_office .data dt,
  .footer_office .data dd {
    font-size: .12rem;
    line-height: 1.46;
  }
  .footer_office .data dt {
    width: 1.56rem;
    padding-left: .58rem;
  }
  .footer_office .data dd {
    width: calc(100% - 1.56rem);
    padding: 0 0 0 .3rem;
    margin: 0 0 .15rem;
  }
  .footer_office .data dd::before {
    height: calc(100% - .06rem);
    top: .03rem;
  }
  .footer_wrap {
    height: .65rem;
    padding: .15rem 0 0;
  }
  .footer_wrap .navi {
    margin: 0 0 .1rem;
  }
  .footer_wrap .navi a {
    padding: .02rem .16rem;
    font-size: .113rem;
  }
  .footer_wrap .navi a::before {
    width: .12rem;
    height: .12rem;
    left: 0;
    top: calc(50% - .06rem);
  }
  .footer_wrap .navi a::after {
    width: 1.1rem;
    left: calc(50% - .55rem);
  }
  .footer_wrap .copyright small {
    font-size: .08rem;
  }
  .footer.contact .footer_wrap {
    height: .25rem;
    padding: .05rem 0 0;
  }
  .footer.contact .footer_wrap .copyright small {
    font-size: .08rem;
  }
}

/* --------------------------------------------------------------
   Module_Element
-------------------------------------------------------------- */
/* Flex ---------- */
.mod_flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.mod_flex.align-center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.mod_flex_center {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.mod_flex_center.align-center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.mod_flex_between {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.mod_flex_between.align-center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.mod_flex_between.col3::after, .mod_flex_between.col4::before, .mod_flex_between.col4::after {
  content: "";
  display: block;
  height: 0;
}

.mod_flex_between.col4::before {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.mod_flex_around {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
}

.mod_flex_around.align-center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

/* number ---------- */
.mod_num {
  counter-reset: number 0;
}

.mod_num li {
  position: relative;
}

.mod_num li::before {
  counter-increment: number 1;
  content: counter(number) "";
  border-radius: 50%;
  position: absolute;
}

/* 光を放つ ---------- */
.give_off_light {
  display: inline-block;
  outline: 1px solid;
  outline-color: #dcff38;
  outline-offset: 0px;
  -webkit-box-shadow: 0 0.07rem 0.2rem rgba(0, 0, 0, 0.23);
          box-shadow: 0 0.07rem 0.2rem rgba(0, 0, 0, 0.23);
}

.give_off_light:hover {
  -webkit-animation: light .8s infinite;
          animation: light .8s infinite;
}

@-webkit-keyframes light {
  100% {
    outline-color: transparent;
    outline-offset: .13rem;
  }
}

@keyframes light {
  100% {
    outline-color: transparent;
    outline-offset: .13rem;
  }
}

/* Main
--------------------------------------------------------------*/
/* Firstview ----------- */
.fv {
  min-height: 4.98rem;
  padding: .75rem 0 0;
  background: center/cover no-repeat url(../images/fv@2x.webp);
}

.fv_wrap {
  position: relative;
}

.fv_wrap .title {
  width: 7.01rem;
  margin: 0 0 .25rem;
}

.fv_wrap .desc {
  color: #fff;
  font-size: .23rem;
  letter-spacing: .05em;
  line-height: 1.74;
}

.fv_wrap .point {
  width: 4.17rem;
  position: absolute;
  top: 1.45rem;
  left: 4.23rem;
}

@media screen and (max-width: 768px) {
  .fv {
    min-height: 3.7rem;
    padding: .25rem 0 0;
    background: center/cover no-repeat url(../images/fv_sp.webp);
  }
  .fv_wrap .title {
    width: 100%;
    margin: 0 0 .15rem;
  }
  .fv_wrap .desc {
    font-size: .115rem;
    line-height: 1.68;
  }
  .fv_wrap .point {
    width: 2.35rem;
    margin: .25rem 0 0 -.12rem;
    position: static;
  }
}

/* sec01 ----------- */
.sec01 {
  min-height: 5.56rem;
  background: center/cover no-repeat url(../images/sec01_bg@2x.jpg);
}

.sec01 .title {
  width: 4.96rem;
  margin: 0 auto .15rem;
}

.sec01 .img {
  width: 11.67rem;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .sec01 {
    min-height: 2.2rem;
    background: center/cover no-repeat url(../images/sec01_bg_sp.jpg);
  }
  .sec01 .title {
    width: 2.66rem;
    margin: 0 auto -.3rem;
  }
  .sec01 .img {
    width: calc(100% + .1rem);
    margin-right: -.1rem;
  }
}

/* sec02 ----------- */
.sec02 {
  min-height: 8.63rem;
  padding: .55rem 0 0;
  background: center top/cover no-repeat url(../images/sec02_bg@2x.jpg);
}

.sec02 .item {
  position: relative;
}

.sec02 .item .title {
  width: 5.1rem;
  position: absolute;
  right: 0;
}

.sec02 .item .title .small {
  color: #fff;
  font-size: .23rem;
  letter-spacing: .05em;
  line-height: 1.27;
}

.sec02 .item .title .mark {
  color: #dcff38;
  font-size: .3rem;
  letter-spacing: .05em;
  line-height: 1.5;
}

.sec02 .item .pic_bg {
  width: 10.79rem;
  margin: 0 auto .65rem;
}

.sec02 .item.case01 .title {
  top: 1.38rem;
}

.sec02 .item.case02 .title {
  top: 1.23rem;
}

@media screen and (max-width: 768px) {
  .sec02 {
    min-height: 6.94rem;
    padding: .35rem 0 0;
    background: center top/cover no-repeat url(../images/sec02_bg_sp.jpg);
  }
  .sec02 .item .title {
    width: 2.25rem;
    right: auto;
    left: .57rem;
  }
  .sec02 .item .title .small {
    display: inline-block;
    margin: 0 0 .05rem;
    font-size: .115rem;
    line-height: 1.2;
  }
  .sec02 .item .title .mark {
    font-size: .15rem;
  }
  .sec02 .item .pic_bg {
    width: 100%;
    padding: 0 .18rem 0 .07rem;
    margin: 0 0 .15rem;
  }
  .sec02 .item.case01 .title {
    top: 1.95rem;
  }
  .sec02 .item.case02 .title {
    top: 1.87rem;
  }
}

/* sec03 ----------- */
.sec03 {
  min-height: 5.13rem;
  background: center/cover no-repeat url(../images/sec03_bg@2x.jpg);
}

.sec03 .title {
  width: 9.17rem;
  margin: 0 auto -.1rem;
  position: relative;
  top: -.7rem;
}

.sec03 .img {
  width: 9.75rem;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .sec03 {
    min-height: 2.73rem;
    background: center/cover no-repeat url(../images/sec03_bg_sp.jpg);
  }
  .sec03 .title {
    width: 3.6rem;
    margin: 0 auto -.15rem;
    top: -.4rem;
  }
  .sec03 .img {
    width: 100%;
  }
}

/* sec04 ----------- */
.sec04 {
  min-height: 6.73rem;
  padding: .5rem 0 0;
  text-align: center;
  position: relative;
}

.sec04::before {
  content: "";
  width: 100%;
  height: 100%;
  background: center/cover no-repeat url(../images/sec04_bg@2x.jpg);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.sec04_wrap {
  position: relative;
  z-index: 5;
}

.sec04 .title {
  margin: 0 0 .5rem;
  font-size: .35rem;
  letter-spacing: .05em;
}

.sec04 .img {
  width: 6.14rem;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .sec04 {
    min-height: 3.66rem;
    padding: .4rem 0 0;
  }
  .sec04::before {
    background: center/cover no-repeat url(../images/sec04_bg_sp.jpg);
  }
  .sec04 .title {
    margin: 0 0 .25rem;
    font-size: .175rem;
  }
  .sec04 .img {
    width: 100%;
  }
}

/* sec05 ----------- */
.sec05 .head {
  min-height: 2.05rem;
  padding: .7rem 0 .8rem;
  text-align: center;
  background: center/cover no-repeat url(../images/sec05_tit_bg@2x.jpg);
  position: relative;
}

.sec05 .head::before, .sec05 .head::after {
  content: "";
  width: .02rem;
  height: .32rem;
  position: absolute;
  left: calc(50% - 1px);
}

.sec05 .head::before {
  background-color: #fff;
  bottom: 0;
}

.sec05 .head::after {
  background-color: #09a5f6;
  bottom: -.32rem;
}

.sec05 .head .title span {
  display: inline-block;
}

.sec05 .head .title .small {
  color: #fff;
  font-size: .23rem;
  letter-spacing: .1em;
}

.sec05 .head .title .mark {
  margin: .15rem 0 0;
  color: #dcff38;
  font-size: .35rem;
  letter-spacing: .1em;
}

.sec05_bg {
  min-height: 23.7rem;
  padding: .65rem 0;
  background: center top/cover no-repeat url(../images/sec05_bg@2x.jpg);
}

.sec05_bg .item {
  -webkit-box-shadow: 0.05rem 0 0.2rem rgba(0, 0, 0, 0.2);
          box-shadow: 0.05rem 0 0.2rem rgba(0, 0, 0, 0.2);
}

.sec05_bg .item + .item {
  margin: .6rem 0 0;
}

.sec05_bg .item .stit {
  height: 1.2rem;
  padding: .45rem 0 0;
  font-size: .3rem;
  color: #fff;
  letter-spacing: .05em;
  text-align: center;
  background: center top/cover no-repeat url(../images/sec05_stit_bg@2x.jpg);
}

.sec05_bg .item .stit .mark {
  color: #dcff38;
}

.sec05_bg .item .text {
  padding: .3rem .5rem .45rem;
  background-color: #fff;
}

.sec05_bg .item .text_main {
  width: 5.04rem;
}

.sec05_bg .item .text_main .pic_after {
  width: 4.96rem;
  margin-left: auto;
  margin-bottom: .24rem;
}

.sec05_bg .item .text_main .desc {
  line-height: 1.8;
  letter-spacing: .05em;
}

.sec05_bg .item .text_main .desc .mark {
  font-weight: 700;
}

.sec05_bg .item .text_main .desc + .desc {
  margin-top: .15rem;
}

.sec05_bg .item .text_sub {
  width: 5.66rem;
}

.sec05_bg .item .text_sub_bg {
  padding: .2rem .1rem .15rem .15rem;
}

.sec05_bg .item .text_sub_bg .data_tit {
  display: inline-block;
  margin: 0 0 .18rem;
  padding: .05rem .1rem;
  color: #fff;
  font-size: .2rem;
  letter-spacing: .05em;
}

.sec05_bg .item .text_sub_bg li,
.sec05_bg .item .text_sub_bg .data_desc {
  font-size: .18rem;
  line-height: 1.94;
  letter-spacing: .05em;
}

.sec05_bg .item .text_sub .trouble {
  background-color: rgba(182, 182, 182, 0.17);
}

.sec05_bg .item .text_sub .trouble .data_tit {
  background-color: #24313d;
}

.sec05_bg .item .text_sub .trouble .lists li {
  padding-left: .35rem;
  position: relative;
}

.sec05_bg .item .text_sub .trouble .lists li::before {
  content: "";
  width: .27rem;
  height: .24rem;
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: absolute;
  top: .08rem;
  left: 0;
}

.sec05_bg .item .text_sub .trouble .lists li.li1::before {
  background-image: url(../images/sec05_num01@2x.png);
}

.sec05_bg .item .text_sub .trouble .lists li.li2::before {
  background-image: url(../images/sec05_num02@2x.png);
}

.sec05_bg .item .text_sub .trouble .lists li.li3::before {
  background-image: url(../images/sec05_num03@2x.png);
}

.sec05_bg .item .text_sub .support {
  margin: .3rem 0 0;
  background: center top/cover repeat-y url(../images/sec05_support_bg@2x.png);
}

.sec05_bg .item .text_sub .support .data_tit {
  background-color: #2081f8;
}

.sec05_bg .item .text_sub .support .data_stit {
  margin: 0 0 .03rem;
  color: #2081f8;
  font-size: .2rem;
  font-weight: 700;
  letter-spacing: .05em;
}

.sec05_bg .item .text_sub .support .data_desc + .data_stit {
  margin-top: .2rem;
}

.sec05_bg .item .text_sub .support .data_desc p + p {
  margin-top: .15rem;
}

@media screen and (max-width: 768px) {
  .sec05 .head {
    min-height: 1.03rem;
    padding: .3rem 0 0;
    background: center/cover no-repeat url(../images/sec05_tit_bg_sp.jpg);
  }
  .sec05 .head::before, .sec05 .head::after {
    width: 1px;
    height: .16rem;
  }
  .sec05 .head::after {
    bottom: -.16rem;
  }
  .sec05 .head .title .small {
    font-size: .125rem;
  }
  .sec05 .head .title .mark {
    margin: .08rem 0 0;
    font-size: .22rem;
  }
  .sec05_bg {
    min-height: 25.13rem;
    padding: .39rem 0 .4rem;
    background: center top/cover no-repeat url(../images/sec05_bg_sp.jpg);
  }
  .sec05_bg .item {
    -webkit-box-shadow: 0.025rem 0 0.1rem rgba(0, 0, 0, 0.04);
            box-shadow: 0.025rem 0 0.1rem rgba(0, 0, 0, 0.04);
  }
  .sec05_bg .item + .item {
    margin: .29rem 0 0;
  }
  .sec05_bg .item .stit {
    height: .59rem;
    padding: .1rem 0 0;
    font-size: .16rem;
    line-height: 1.3;
    background: center top/cover no-repeat url(../images/sec05_stit_bg_sp.jpg);
  }
  .sec05_bg .item .text {
    padding: .14rem .22rem .22rem;
  }
  .sec05_bg .item .text_main {
    width: 100%;
  }
  .sec05_bg .item .text_main .pic_after {
    width: calc(100% - .06rem);
    margin-left: auto;
    margin-bottom: .12rem;
  }
  .sec05_bg .item .text_main .desc {
    line-height: 1.73;
    letter-spacing: .08em;
  }
  .sec05_bg .item .text_main .desc + .desc {
    margin-top: .1rem;
  }
  .sec05_bg .item .text_sub {
    width: 100%;
    margin: .27rem 0 0;
  }
  .sec05_bg .item .text_sub_bg {
    padding: .13rem .1rem .17rem;
  }
  .sec05_bg .item .text_sub_bg .data_tit {
    margin: 0 0 .12rem;
    padding: .05rem;
    font-size: .13rem;
  }
  .sec05_bg .item .text_sub_bg li,
  .sec05_bg .item .text_sub_bg .data_desc {
    font-size: .115rem;
    letter-spacing: .08em;
  }
  .sec05_bg .item .text_sub_bg li {
    line-height: 1.95;
  }
  .sec05_bg .item .text_sub_bg .data_desc {
    line-height: 1.8;
  }
  .sec05_bg .item .text_sub .trouble .lists li {
    padding-left: .24rem;
  }
  .sec05_bg .item .text_sub .trouble .lists li::before {
    content: "";
    width: .17rem;
    height: .15rem;
    top: .04rem;
    left: 0;
  }
  .sec05_bg .item .text_sub .support {
    margin: .18rem 0 0;
  }
  .sec05_bg .item .text_sub .support .data_stit {
    margin: 0 0 .05rem;
    font-size: .1317rem;
    line-height: 1.38;
  }
  .sec05_bg .item .text_sub .support .data_desc + .data_stit {
    margin-top: .13rem;
  }
  .sec05_bg .item .text_sub .support .data_desc p + p {
    margin-top: .08rem;
  }
}

/* sec06 ----------- */
.sec06 {
  min-height: 13.37rem;
  padding: .8rem 0 0;
  background: center top/cover no-repeat url(../images/sec06_bg@2x.webp);
}

.sec06_wrap {
  position: relative;
}

.sec06 .title {
  margin: 0 0 .4rem;
  text-align: center;
}

.sec06 .title span {
  display: block;
}

.sec06 .title .small {
  margin: .2rem 0 0;
  color: #fff;
  font-size: .2289rem;
  letter-spacing: .1em;
}

.sec06 .title .mark {
  color: #dcff38;
  font-size: .3483rem;
  letter-spacing: .1em;
}

.sec06 .activity_cot {
  width: 5.22rem;
  margin: 0 0 .35rem .5rem;
}

.sec06 .history_cot {
  width: 5rem;
  margin-left: .5rem;
}

.sec06 .img {
  width: 8.1rem;
  position: absolute;
  top: 2.46rem;
  right: 0;
}

.sec06 .text_wrap {
  width: 10.1rem;
  margin: 1.05rem auto 0;
}

.sec06 .text_wrap .desc {
  color: #fff;
  font-size: .18rem;
  letter-spacing: .05em;
  font-weight: 400;
  line-height: 1.6;
}

.sec06 .text_wrap .desc + .desc {
  margin-top: .2rem;
}

@media screen and (max-width: 768px) {
  .sec06 {
    min-height: 13.06rem;
    padding: .35rem 0 0;
    background: center top/cover no-repeat url(../images/sec06_bg_sp.webp);
  }
  .sec06 .title {
    margin: 0 0 .3rem;
  }
  .sec06 .title .small {
    margin: .1rem 0 0;
    font-size: .1251rem;
  }
  .sec06 .title .mark {
    font-size: .2252rem;
    line-height: 1.2;
  }
  .sec06 .activity_cot {
    width: 3.32rem;
    margin: 0 0 .22rem;
  }
  .sec06 .history_cot {
    width: 100%;
    margin-left: 0;
  }
  .sec06 .img {
    width: 3.3rem;
    top: 5.8rem;
    right: -.195rem;
  }
  .sec06 .text_wrap {
    width: 100%;
    margin: 3.3rem auto 0;
  }
  .sec06 .text_wrap .desc {
    font-size: .12rem;
    line-height: 1.58;
  }
  .sec06 .text_wrap .desc + .desc {
    margin-top: .2rem;
  }
}

/* sec07 ----------- */
.sec07 {
  min-height: 15.02rem;
  padding: .9rem 0 0;
  background: center top/cover no-repeat url(../images/sec07_bg@2x.jpg);
}

.sec07_wrap .title {
  margin: 0 0 .6rem;
  font-size: .35rem;
  letter-spacing: .05em;
  text-align: center;
}

.sec07_wrap .title .mark {
  color: #0075cc;
}

.sec07_wrap .lists .item .text {
  width: 6rem;
  padding-left: 1rem;
  position: relative;
}

.sec07_wrap .lists .item .text::before {
  content: "";
  width: .74rem;
  height: 2.95rem;
  position: absolute;
  top: 0;
  left: 0;
}

.sec07_wrap .lists .item .text .stit {
  margin: 0 0 .2rem;
}

.sec07_wrap .lists .item .text .desc {
  font-size: .21rem;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.9;
}

.sec07_wrap .lists .item .pic {
  width: 5.5rem;
}

.sec07_wrap .lists .item .pic img {
  -webkit-box-shadow: -0.15rem 0.15rem 0.2rem rgba(87, 95, 176, 0.15);
          box-shadow: -0.15rem 0.15rem 0.2rem rgba(87, 95, 176, 0.15);
}

.sec07_wrap .lists .item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.sec07_wrap .lists .item + .item {
  margin-top: .9rem;
}

.sec07_wrap .lists .item.point01 .text::before {
  background: center top/100% auto no-repeat url(../images/sec07_point01@2x.png);
}

.sec07_wrap .lists .item.point01 .stit {
  width: 4.63rem;
}

.sec07_wrap .lists .item.point02 .text::before {
  background: center top/100% auto no-repeat url(../images/sec07_point02@2x.png);
}

.sec07_wrap .lists .item.point02 .stit {
  width: 3.94rem;
}

.sec07_wrap .lists .item.point03 .text::before {
  background: center top/100% auto no-repeat url(../images/sec07_point03@2x.png);
}

.sec07_wrap .lists .item.point03 .stit {
  width: 4.61rem;
}

@media screen and (max-width: 768px) {
  .sec07 {
    min-height: 13.38rem;
    padding: .38rem 0 0;
    background: center top/cover no-repeat url(../images/sec07_bg_sp.jpg);
  }
  .sec07_wrap {
    padding: 0 .195rem;
  }
  .sec07_wrap .title {
    margin: 0 0 .25rem;
    font-size: .225rem;
    line-height: 1.2;
  }
  .sec07_wrap .lists .item .text {
    width: 100%;
    padding-left: .195rem;
  }
  .sec07_wrap .lists .item .text::before {
    width: .38rem;
    height: 1.52rem;
    left: -.27rem;
  }
  .sec07_wrap .lists .item .text .stit {
    margin: 0 0 .13rem;
  }
  .sec07_wrap .lists .item .text .desc {
    font-size: .13rem;
    line-height: 1.77;
  }
  .sec07_wrap .lists .item .pic {
    width: 100%;
    margin: .13rem 0 0;
    padding-left: .195rem;
  }
  .sec07_wrap .lists .item .pic img {
    -webkit-box-shadow: -0.075rem 0.075rem 0.1rem rgba(87, 95, 176, 0.15);
            box-shadow: -0.075rem 0.075rem 0.1rem rgba(87, 95, 176, 0.15);
  }
  .sec07_wrap .lists .item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .sec07_wrap .lists .item + .item {
    margin-top: .4rem;
  }
  .sec07_wrap .lists .item.point01 .stit {
    width: 2.73rem;
  }
  .sec07_wrap .lists .item.point02 .stit {
    width: 2.32rem;
  }
  .sec07_wrap .lists .item.point03 .stit {
    width: 2.64rem;
  }
}

/* sec08 ----------- */
.sec08 {
  min-height: 10.8rem;
  padding: .8rem 0 0;
  background: center/cover no-repeat url(../images/sec08_bg@2x.jpg);
}

.sec08 .title {
  margin: 0 0 .15rem;
  text-align: center;
}

.sec08 .title span {
  display: block;
}

.sec08 .title .small {
  margin: 0 0 .2rem;
  color: #fff;
  letter-spacing: .1em;
}

.sec08 .title .mark {
  color: #dcff38;
  font-size: .3493rem;
  letter-spacing: .1em;
}

.sec08_wrap {
  height: 8.19rem;
  padding: .65rem 0 0;
  position: relative;
}

.sec08_wrap .figure {
  width: 5.99rem;
  position: absolute;
  top: 0;
  left: 0;
}

.sec08_wrap .lists {
  margin-left: 6.28rem;
}

.sec08_wrap .lists li {
  width: 100%;
}

.sec08_wrap .lists li + li {
  margin-top: .5rem;
}

.sec08_wrap .lists li .step {
  display: inline-block;
  width: 1.06rem;
  margin: 0 0 .08rem;
}

.sec08_wrap .lists li .stit {
  color: #fff;
  line-height: 1.5;
}

.sec08_wrap .lists li .stit span {
  display: block;
}

.sec08_wrap .lists li .stit .small1 {
  font-size: .23rem;
  letter-spacing: .05em;
}

.sec08_wrap .lists li .stit .mark {
  color: #dcff38;
  font-size: .3rem;
  letter-spacing: .05em;
}

.sec08_wrap .lists li .stit .small2 {
  font-size: .21rem;
  font-weight: 400;
  letter-spacing: .05em;
}

@media screen and (max-width: 768px) {
  .sec08 {
    min-height: 6.25rem;
    padding: .4rem 0 0;
    background: center/cover no-repeat url(../images/sec08_bg_sp.jpg);
  }
  .sec08 .title {
    margin: 0 0 .25rem;
  }
  .sec08 .title .small {
    margin: 0 0 .1rem;
    font-size: .125rem;
  }
  .sec08 .title .mark {
    font-size: .2rem;
  }
  .sec08_wrap {
    height: 4.88rem;
    padding: .18rem 0 0;
  }
  .sec08_wrap .figure {
    width: 1.62rem;
  }
  .sec08_wrap .lists {
    margin-left: 1.76rem;
  }
  .sec08_wrap .lists li + li {
    margin-top: .26rem;
  }
  .sec08_wrap .lists li .step {
    width: .525rem;
    margin: 0 0 .05rem;
  }
  .sec08_wrap .lists li .stit {
    line-height: 1.4;
  }
  .sec08_wrap .lists li .stit .small1 {
    font-size: .125rem;
  }
  .sec08_wrap .lists li .stit .mark {
    margin: 0 0 .04rem;
    font-size: .16rem;
  }
  .sec08_wrap .lists li .stit .small2 {
    font-size: .12rem;
  }
}

/* sec09 ----------- */
.sec09 {
  padding: .75rem 0 .8rem;
  background: center top/cover no-repeat url(../images/sec09_bg@2x.jpg);
}

.sec09 .tit_en {
  width: .54rem;
  margin: 0 auto .05rem;
}

.sec09 .title {
  margin: 0 0 .6rem;
  font-size: .35rem;
  letter-spacing: .1em;
  text-align: center;
}

.sec09 .data_item + .data_item {
  margin-top: .55rem;
}

.sec09 .data_item dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 1rem;
  margin: 0 0 .1rem;
  padding-left: 1rem;
  color: #dcff38;
  font-size: .21rem;
  letter-spacing: .05em;
  background: center/100% auto no-repeat url(../images/sec09_dt_bg@2x.png);
  -webkit-box-shadow: 0.1rem 0.1rem 0.1rem rgba(0, 0, 0, 0.1);
          box-shadow: 0.1rem 0.1rem 0.1rem rgba(0, 0, 0, 0.1);
  cursor: pointer;
  position: relative;
}

.sec09 .data_item dt::before {
  content: "";
  width: .28rem;
  height: .15rem;
  background: center/100% auto no-repeat url(../images/sec09_arrow@2x.png);
  position: absolute;
  top: calc(50% - .075rem);
  right: .34rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: -webkit-transform .4s;
  transition: -webkit-transform .4s;
  transition: transform .4s;
  transition: transform .4s, -webkit-transform .4s;
}

.sec09 .data_item dt.active::before {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.sec09 .data_item dd {
  display: none;
  padding: .3rem .5rem;
  font-size: .21rem;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.9;
  background: #fff;
  -webkit-box-shadow: 0.05rem 0.05rem 0.1rem rgba(0, 0, 0, 0.05);
          box-shadow: 0.05rem 0.05rem 0.1rem rgba(0, 0, 0, 0.05);
}

@media screen and (max-width: 768px) {
  .sec09 {
    padding: .3rem 0 .4rem;
    background: center top/cover no-repeat url(../images/sec09_bg_sp.jpg);
  }
  .sec09 .tit_en {
    width: .28rem;
  }
  .sec09 .title {
    margin: 0 0 .3rem;
    font-size: .24rem;
  }
  .sec09 .data_item + .data_item {
    margin-top: .3rem;
  }
  .sec09 .data_item dt {
    height: .9rem;
    margin: 0 0 .08rem;
    padding-left: .5rem;
    font-size: .14rem;
    line-height: 1.54;
    background: center/100% auto no-repeat url(../images/sec09_dt_bg1_sp.png);
    -webkit-box-shadow: 0.025rem 0.025rem 0.025rem rgba(0, 0, 0, 0.1);
            box-shadow: 0.025rem 0.025rem 0.025rem rgba(0, 0, 0, 0.1);
  }
  .sec09 .data_item dt.bg2 {
    height: .69rem;
    background-image: url(../images/sec09_dt_bg2_sp.png);
  }
  .sec09 .data_item dt::before {
    width: .14rem;
    height: .14rem;
    top: calc(50% - .07rem);
    right: .12rem;
  }
  .sec09 .data_item dd {
    padding: .15rem .195rem;
    font-size: .13rem;
    line-height: 1.77;
    -webkit-box-shadow: 0.025rem 0.025rem 0.05rem rgba(0, 0, 0, 0.05);
            box-shadow: 0.025rem 0.025rem 0.05rem rgba(0, 0, 0, 0.05);
  }
}

/* FORM
--------------------------------------------------------------*/
.contact_cot .logo {
  width: 2.1rem;
}

@media screen and (min-width: 769px) {
  .contact_cot .logo a {
    -webkit-transition: .4s;
    transition: .4s;
  }
  .contact_cot .logo a:hover {
    opacity: .7;
  }
}

.contact_cot .title {
  color: #0075cc;
  font-size: .38rem;
  letter-spacing: .05em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .contact_cot .logo {
    width: 1.05rem;
  }
}

/* ご相談 お申し込みフォーム ----------- */
.contact_page {
  min-height: 17.6rem;
  padding: .2rem .2rem 0;
  background: center top/cover no-repeat url(../images/contact/bg@2x.jpg);
}

.contact_page .wrap {
  padding: .6rem 0 0;
}

.contact_page .wrap .title {
  margin: 0 0 .25rem;
}

.contact_page .wrap .note {
  font-size: .18rem;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.83;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .contact_page {
    min-height: auto;
    padding: .1rem 0 .29rem;
    background: center top/cover no-repeat url(../images/contact/bg_sp.jpg);
  }
  .contact_page .logo {
    margin-left: .12rem;
  }
  .contact_page .wrap {
    padding: .25rem 0 0;
  }
  .contact_page .wrap .title {
    margin: 0 0 .1rem;
    font-size: .19rem;
  }
  .contact_page .wrap .note {
    font-size: .125rem;
    line-height: 1.52;
  }
}

/* お申し込みありがとうございます ----------- */
.thanks_page {
  min-height: 9.5rem;
  padding: .6rem 0 0;
  text-align: center;
  background: center top/cover no-repeat url(../images/contact/thanks_bg@2x.jpg);
}

.thanks_page .logo {
  margin: 0 auto .45rem;
}

.thanks_page .title {
  margin: 0 0 .2rem;
}

.thanks_page .desc {
  font-size: .21rem;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.7;
}

.thanks_page .desc .mark {
  font-weight: 700;
}

.thanks_page .text_wrap {
  max-width: 9rem;
  padding: .4rem 0;
  margin: .4rem auto;
  background-color: rgba(0, 117, 204, 0.1);
}

.thanks_page .email_wrap {
  max-width: 9rem;
  margin: .2rem auto .25rem;
  padding: .2rem 0;
  border: 2px solid #0075cc;
}

.thanks_page .email_wrap a {
  display: inline-block;
  font-size: .23rem;
  font-weight: 700;
  letter-spacing: .05em;
}

@media screen and (min-width: 769px) {
  .thanks_page .email_wrap a {
    -webkit-transition: .4s;
    transition: .4s;
  }
  .thanks_page .email_wrap a:hover {
    opacity: .7;
  }
}

.thanks_page .btn {
  margin: .6rem 0 0;
  text-align: center;
}

.thanks_page .btn a {
  display: inline-block;
  width: 5.36rem;
  -webkit-box-shadow: 0 0.07rem 0.2rem rgba(0, 0, 0, 0.23);
          box-shadow: 0 0.07rem 0.2rem rgba(0, 0, 0, 0.23);
}

@media screen and (min-width: 769px) {
  .thanks_page .btn a {
    -webkit-transition: .4s;
    transition: .4s;
  }
  .thanks_page .btn a:hover {
    opacity: .7;
  }
}

@media screen and (max-width: 768px) {
  .thanks_page {
    min-height: auto;
    padding: .26rem 0 .32rem;
    background: center top/cover no-repeat url(../images/contact/thanks_bg_sp.jpg);
  }
  .thanks_page .logo {
    margin: 0 auto .2rem;
  }
  .thanks_page .title {
    margin: 0 0 .13rem;
    font-size: .16rem;
  }
  .thanks_page .desc {
    font-size: .13rem;
    line-height: 1.58;
  }
  .thanks_page .text_wrap {
    max-width: 100%;
    padding: .15rem 0 .18rem;
    margin: .3rem auto .1rem;
  }
  .thanks_page .email_wrap {
    max-width: 100%;
    margin: .15rem auto;
    padding: .1rem 0;
    border: 1px solid #0075cc;
  }
  .thanks_page .email_wrap a {
    font-size: .13rem;
  }
  .thanks_page .btn {
    margin: .27rem 0 0;
  }
  .thanks_page .btn a {
    width: 2.93rem;
  }
}

/* form ----------- */
input,
textarea,
select {
  width: 100%;
  border: none;
  font-size: .21rem;
  letter-spacing: .05em;
  background-color: #fff;
  -webkit-box-shadow: 0.05rem 0 0.12rem rgba(4, 0, 0, 0.04);
          box-shadow: 0.05rem 0 0.12rem rgba(4, 0, 0, 0.04);
  outline: none;
}

@media screen and (max-width: 768px) {
  input,
  textarea,
  select {
    font-size: .16rem;
  }
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #8e8f8f;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #8e8f8f;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #8e8f8f;
}

input::placeholder,
textarea::placeholder {
  color: #8e8f8f;
}

@media screen and (max-width: 768px) {
  input::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder {
    font-size: .14rem;
  }
  input:-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    font-size: .14rem;
  }
  input::-ms-input-placeholder,
  textarea::-ms-input-placeholder {
    font-size: .14rem;
  }
  input::placeholder,
  textarea::placeholder {
    font-size: .14rem;
  }
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #8e8f8f;
}

@media screen and (max-width: 768px) {
  input:-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    font-size: .14rem;
  }
}

input::-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #8e8f8f;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #8e8f8f;
}

input::-ms-input-placeholder,
textarea::placeholder {
  color: #8e8f8f;
}

@media screen and (max-width: 768px) {
  input::-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    font-size: .14rem;
  }
  input::-ms-input-placeholder,
  textarea::-ms-input-placeholder {
    font-size: .14rem;
  }
  input::-ms-input-placeholder,
  textarea::placeholder {
    font-size: .14rem;
  }
}

input {
  min-height: .71rem;
  padding: 0 .25rem;
}

textarea {
  height: 1.72rem;
  padding: .18rem .25rem;
  position: relative;
  resize: none;
}

@media screen and (max-width: 768px) {
  input {
    min-height: .475rem;
    padding: 0 .1rem;
  }
  textarea {
    height: 1.47rem;
    padding: .13rem .1rem;
  }
}

.form {
  padding: .75rem 0 0;
}

.form dl dt {
  width: 3rem;
  padding: .2rem 0 0;
  font-size: .1983rem;
  font-weight: 700;
  letter-spacing: .05em;
}

.form dl dt .small {
  display: block;
  margin: .05rem 0 0;
  font-size: .1586rem;
}

.form dl dt .req {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: .5rem;
  height: .28rem;
  margin-left: .1rem;
  color: #fff;
  font-size: .1586rem;
  font-weight: 400;
  letter-spacing: .05em;
  background-color: #0075cc;
}

.form dl dt.cot .cot_wrap {
  display: inline-block;
  padding-right: .65rem;
  position: relative;
}

.form dl dt.cot .cot_wrap .req {
  position: absolute;
  top: calc(50% - .14rem);
  right: 0;
}

.form dl dt.add {
  padding: .45rem 0 0;
}

.form dl dd {
  width: calc(100% - 3rem);
  padding: 0 0 .6rem;
}

.form dl dd .note2 {
  display: block;
  margin: 0 0 .07rem;
  font-size: .16rem;
  font-weight: 400;
  letter-spacing: .05em;
  text-align: right;
}

@media screen and (max-width: 768px) {
  .form {
    padding: .38rem 0 0;
  }
  .form dl dt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    padding: 0 0 .07rem;
    font-size: .14rem;
  }
  .form dl dt .small {
    display: inline-block;
    margin: 0 0 0 .03rem;
    font-size: .1rem;
  }
  .form dl dt .req {
    width: .25rem;
    height: .14rem;
    margin-left: 0;
    font-size: .0793rem;
  }
  .form dl dt.cot .cot_wrap {
    padding-right: 0;
  }
  .form dl dt.cot .cot_wrap .req {
    position: relative;
    top: -.02rem;
  }
  .form dl dt.add {
    padding: 0 0 .07rem;
  }
  .form dl dd {
    width: 100%;
    padding: 0 0 .3rem;
    position: relative;
  }
  .form dl dd .note2 {
    display: block;
    margin: 0;
    font-size: .1rem;
  }
  .form dl dd .note2.note3 {
    position: absolute;
    top: -1.8em;
    right: 0;
  }
  .form dl dd .note4 {
    display: inline-block;
    padding-left: 1em;
    text-indent: -1em;
    margin: .03rem 0 0;
    font-size: .1rem;
    font-weight: 400;
    letter-spacing: .05em;
    line-height: 1.25;
  }
}

.cot label {
  display: block;
  font-size: .21rem;
  font-weight: 400;
  letter-spacing: .05em;
  position: relative;
}

.cot label + label {
  margin-top: .15rem;
}

.cot input[type="checkbox"] {
  width: 100%;
  height: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.cot input[type="checkbox"] + .check_txt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: .71rem;
  padding-left: .25rem;
  -webkit-box-shadow: 0.05rem 0 0.12rem rgba(4, 0, 0, 0.04);
          box-shadow: 0.05rem 0 0.12rem rgba(4, 0, 0, 0.04);
  background-color: #fff;
  cursor: pointer;
  position: relative;
}

.cot input[type="checkbox"]:checked + .check_txt {
  background-color: #e9ff82;
}

@media screen and (max-width: 768px) {
  .cot label {
    margin: 0 0 .1rem;
    font-size: .14rem;
    line-height: 1.36;
  }
  .cot label + label {
    margin-top: .07rem;
  }
  .cot input[type="checkbox"] + .check_txt {
    width: 100%;
    height: .55rem;
    padding-left: .13rem;
  }
}

.privacy {
  margin: 0 0 .15rem;
  text-align: center;
  position: relative;
}

.privacy input[type="checkbox"] {
  width: 100%;
  height: 100%;
  min-height: auto;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.privacy input[type="checkbox"] + span {
  height: auto;
  padding-left: .46rem;
  font-size: .2023rem;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1;
  cursor: pointer;
  position: relative;
}

.privacy input[type="checkbox"] + span::before {
  content: "";
  width: .33rem;
  height: .25rem;
  background-image: url(../images/contact/check@2x.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: .24rem auto;
  position: absolute;
  top: calc(50% - .12rem);
  left: 0;
}

.privacy input[type="checkbox"]:checked + span::before {
  background-image: url(../images/contact/check_checked@2x.png);
  background-size: .33rem auto;
  top: calc(50% - .125rem);
}

.privacy a {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .privacy {
    margin: 0 0 .15rem;
    text-align: center;
    position: relative;
  }
  .privacy input[type="checkbox"] {
    width: 100%;
    height: 100%;
    min-height: auto;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
  }
  .privacy input[type="checkbox"] + span {
    padding-left: .22rem;
    font-size: .10115rem;
  }
  .privacy input[type="checkbox"] + span::before {
    width: .19rem;
    height: .18rem;
    background-size: .12rem auto;
    top: calc(50% - .09rem);
  }
  .privacy input[type="checkbox"]:checked + span::before {
    background-size: .17rem auto;
    top: calc(50% - .09rem);
  }
}

.form_btn {
  width: 5.36rem;
  margin: 0 auto;
}

.form_btn input {
  height: 0;
  min-height: auto;
  padding: .7rem 0 0;
  border: none;
  font-size: 0;
  color: transparent;
  background: center/cover no-repeat url(../images/contact/btn@2x.png);
  overflow: hidden;
}

.form_btn input:hover {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .form_btn {
    width: 2.68rem;
  }
  .form_btn input {
    padding: .35rem 0 0;
  }
}

/* エラー　デフォルト ----------- */
.error {
  display: block;
  font-size: .22rem;
  color: #f00;
}

@media screen and (max-width: 768px) {
  .error {
    font-size: .14rem;
  }
}
/*# sourceMappingURL=style.css.map */