@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@500&display=swap);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:wght@500&display=swap&subset=japanese);
.sp {
  display: none!important
}

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

.clearfix:before {
  content: "";
  display: block;
  clear: both
}

.clearfix {
  display: block
}

html {
  font-size: 62.5%;
  overflow: auto
}

body {
  width: 100%;
  overflow: scroll;
  -webkit-text-size-adjust: none;
  background-color: #fff;
  line-height: 1.5;
  -webkit-text-size-adjust: none;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  word-break: break-all;
  overflow: auto
}

img {
  vertical-align: bottom
}

a {
  text-decoration: none;
  color: #000
}

article {
  min-width: 1000px;
  margin: 0 auto
}

header {
  width: 100%;
  position: fixed;
  z-index: 10;
  background: #fff;
  border-bottom: 1px solid #f0f0f0
}

header>.inner {
  width: 100%;
  min-width: 1000px
}

header>.inner>.logo {
  float: left;
  width: 129px;
  margin-top: 31px;
  margin-left: 50px
}

header>.inner>.logo>img {
  width: 100%
}

header>.inner>.spMenu {
  display: none
}

header>.inner>.menu {
  float: right
}

header>.inner>.menu>ul {
  text-align: right;
  letter-spacing: -.4em;
  list-style: none
}

header>.inner>.menu>ul>li {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: middle;
  text-align: center
}

header>.inner>.menu>ul>li>a {
  display: block;
  padding: 35px 30px;
  background: #fff;
  transition: .3s
}

header>.inner>.menu>ul>li>a:hover {
  background: #fbec7a
}

footer {
  border-top: 1px solid #d5d5d5
}

footer>.inner {
  min-width: 1000px;
  text-align: center;
  padding: 30px 0 110px
}

footer>.inner p {
  font-size: 14px;
  font-size: 1.4rem
}

footer .contactBtn {
  position: fixed;
  left: 50%;
  bottom: 20px;
  z-index: 300;
  width: 700px;
  transform: translateX(-50%)
}

footer .contactBtn>a {
  display: block;
  text-align: center;
  color: #fff;
  background: #fe8814;
  padding: 15px 10px 14px;
  border-radius: 30px;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1;
  font-weight: 700;
  position: relative;
  transition: .3s;
  box-shadow: 0 5px 0 #cb6400;
  transform: translateY(-5px)
}

footer .contactBtn>a:hover {
  box-shadow: 0 0 0 #cb6400;
  transform: translateY(0)
}

footer .contactBtn>a>span {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 400;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%)
}

footer .pageTopBtn {
  display: none;
  position: fixed;
  right: 50px;
  bottom: 20px;
  z-index: 300
}

footer .pageTopBtn>a {
  transition: .3s
}

footer .pageTopBtn>a:hover {
  opacity: .7
}

.bgGray {
  background: #f8f8f8
}

.bgYellow {
  background: #fff07c
}

.bgYellow>.roundCont {
  background: #fff07c;
  width: 100%;
  padding: 80px 0 100px;
  position: relative;
  overflow: hidden
}

.bgYellow>.roundCont .round {
  display: block;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .3);
  position: absolute;
  z-index: 0
}

.bgYellow>.roundCont .round01 {
  top: -44px;
  left: -168px
}

.bgYellow>.roundCont .round02 {
  top: 69px;
  left: 175px
}

.bgYellow>.roundCont .round03 {
  top: -92px;
  right: 382px
}

.bgYellow>.roundCont .round04 {
  top: 41px;
  right: -53px
}

.bgYellow>.roundCont .round05 {
  bottom: -45px;
  left: -40px
}

.bgYellow>.roundCont .round06 {
  bottom: -50px;
  right: -76px
}

.bgYellow>.roundCont>.inner {
  max-width: 1000px;
  margin: 0 auto;
  position: relative
}

.btn {
  margin-top: 30px
}

.btn>button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: 0 0
}

.btn button, .btn>a {
  display: block;
  width: 100%;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  background: #fff07c;
  padding: 5px 10px 5px;
  border-radius: 10px;
  position: relative;
  transform: translateY(-3px);
  transition: .3s
}

.btn button:hover, .btn>a:hover {
  transform: translateY(0)
}

.btn button.blue, .btn>a.blue {
  border: 2px solid #0459a7;
  box-shadow: 0 3px 0 #0459a7
}

.btn button.blue:hover, .btn>a.blue:hover {
  box-shadow: 0 0 0 #0459a7
}

.btn button.red, .btn>a.red {
  border: 2px solid #e73b17;
  box-shadow: 0 3px 0 #e73b17
}

.btn button.red:hover, .btn>a.red:hover {
  box-shadow: 0 0 0 #e73b17
}

.btn button.orange, .btn>a.orange {
  border: 2px solid #fe8814;
  box-shadow: 0 3px 0 #fe8814
}

.btn button.orange:hover, .btn>a.orange:hover {
  box-shadow: 0 0 0 #fe8814
}

.mainVisual {
  width: 100%;
  min-height: 668px;
  overflow: hidden;
  margin-top: 94px
}

.mainVisual .pageTitleBox, .mainVisual .sliderBox {
  width: 50%;
  height: 100%;
  float: left
}

.mainVisual .pageTitleBox {
  position: relative
}

.mainVisual .pageTitleBox .roundBox {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative
}

.mainVisual .pageTitleBox .roundBox>.round {
  width: 300px;
  height: 300px;
  border-radius: 50%;
  display: none;
  position: absolute
}

.mainVisual .pageTitleBox .roundBox>.round01 {
  background: rgba(52, 157, 216, .2);
  top: -51px;
  left: -58px
}

.mainVisual .pageTitleBox .roundBox>.round01.jsActive {
  animation: roundAnime01 10s linear infinite
}

.mainVisual .pageTitleBox .roundBox>.round02 {
  background: rgba(255, 136, 20, .2);
  top: 16px;
  right: 68px
}

.mainVisual .pageTitleBox .roundBox>.round02.jsActive {
  animation: roundAnime02 10s linear infinite
}

.mainVisual .pageTitleBox .roundBox>.round03 {
  background: rgba(57, 165, 0, .2);
  bottom: -60px;
  left: 54px
}

.mainVisual .pageTitleBox .roundBox>.round03.jsActive {
  animation: roundAnime03 10s linear infinite
}

.mainVisual .pageTitleBox .roundBox>.round04 {
  background: rgba(231, 59, 23, .2);
  bottom: 50px;
  right: -82px
}

.mainVisual .pageTitleBox .roundBox>.round04.jsActive {
  animation: roundAnime04 10s linear infinite
}

.mainVisual .pageTitleBox>.inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 75%;
}

.mainVisual .pageTitleBox>.inner>.spRoundBox {
  display: none
}

.mainVisual .pageTitleBox>.inner .title {
  font-size: 20px;
  font-size: 2rem;
  position: relative
}

.mainVisual .pageTitleBox>.inner .title>.startImg {
  position: absolute;
  right: -25px;
  top: -100px
}

.mainVisual .pageTitleBox>.inner .title>.catchcopy {
  display: block;
  text-align: center;
  margin-bottom: 25px;
  margin-left: 16px;
  font-size: 25px;
  font-size: 2.5rem
}

.mainVisual .pageTitleBox>.inner .title>.catchcopy span.line {
  background: linear-gradient(transparent 80%, #edb90b 80%)
}

.mainVisual .pageTitleBox>.inner .title .lazy{
  width: 100%;
}

.mainVisual .pageTitleBox>.inner .title+p {
  max-width:450px;
  margin: 35px auto 0;
  line-height: 1.8
}

.mainVisual .sliderBox {
  position: relative;
  overflow: hidden
}

.mainVisual .sliderBox .bgImg {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  animation: bgImgAnime 30s infinite;
  width: 100%;
  height: 100%
}

.mainVisual .sliderBox .bgImg.slide01 {
  background: url(../img/img_main_01.jpg) no-repeat center center/cover
}

.mainVisual .sliderBox .bgImg.slide02 {
  background: url(../img/img_main_02.jpg) no-repeat center center/cover;
  animation-delay: 5s
}

.mainVisual .sliderBox .bgImg.slide03 {
  background: url(../img/img_main_03.jpg) no-repeat center center/cover;
  animation-delay: 10s
}

.mainVisual .sliderBox .bgImg.slide04 {
  background: url(../img/img_main_04.jpg) no-repeat center center/cover;
  animation-delay: 15s
}

.mainVisual .sliderBox .bgImg.slide05 {
  background: url(../img/img_main_05.jpg) no-repeat center center/cover;
  animation-delay: 20s
}

.mainVisual .sliderBox .bgImg.slide06 {
  background: url(../img/img_main_06.jpg) no-repeat center center/cover;
  animation-delay: 25s
}

@keyframes bgImgAnime {
  0% {
    opacity: 0
  }
  9% {
    opacity: 1
  }
  25% {
    opacity: 1
  }
  34% {
    opacity: 0
  }
  100% {
    opacity: 0
  }
}

@keyframes roundAnime01 {
  0% {
    transform: translateY(25px)
  }
  25% {
    transform: translateY(-25px)
  }
  50% {
    transform: translateY(25px)
  }
  75% {
    transform: translateY(-25px)
  }
  100% {
    transform: translateY(25px)
  }
}

@keyframes roundAnime02 {
  0% {
    transform: translateY(25px)
  }
  25% {
    transform: translateY(-25px)
  }
  50% {
    transform: translateY(25px)
  }
  75% {
    transform: translateY(-25px)
  }
  100% {
    transform: translateY(25px)
  }
}

@keyframes roundAnime03 {
  0% {
    transform: translateY(25px)
  }
  25% {
    transform: translateY(-25px)
  }
  50% {
    transform: translateY(25px)
  }
  75% {
    transform: translateY(-25px)
  }
  100% {
    transform: translateY(25px)
  }
}

@keyframes roundAnime04 {
  0% {
    transform: translateY(25px)
  }
  25% {
    transform: translateY(-25px)
  }
  50% {
    transform: translateY(25px)
  }
  75% {
    transform: translateY(-25px)
  }
  100% {
    transform: translateY(25px)
  }
}

main>section h2 {
  font-size: 60px;
  font-size: 6rem;
  text-align: center;
  margin-bottom: 20px;
  line-height: 1.4
}

main>section h2>span {
  font-size: 40px;
  font-size: 4rem
}

main>section h2+p {
  text-align: center
}

#worries>.inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 80px 0 100px
}

#worries>.inner .worriesCont {
  margin-top: 60px;
  padding: 50px;
  display: flex;
  justify-content: space-between;
  border: 2px solid #d5d5d5;
  border-radius: 20px;
  position: relative
}

#worries>.inner .worriesCont>.item {
  margin-left: 50px
}

#worries>.inner .worriesCont>.item:first-child {
  margin-left: 0
}

#worries>.inner .worriesCont>.item p {
  font-weight: 700;
  text-align: center;
  font-size: 20px;
  font-size: 2rem
}

#worries>.inner .worriesCont>.item:first-child p {
  position: absolute;
  top: 104px;
  left: 92px
}

#worries>.inner .worriesCont>.item:nth-child(2) p {
  position: absolute;
  top: 89px;
  left: 398px
}

#worries>.inner .worriesCont>.item:nth-child(3) p {
  position: absolute;
  top: 89px;
  left: 700px
}

#worries>.inner .worriesCont>.item>div.img {
  width: 264px
}

#worries>.inner .worriesCont>.item>div.img img {
  width: 100%
}

#solve {
  position: relative
}

#solve>.img {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%)
}

#solve>.roundCont>.inner {
  max-width: 1000px;
  margin: 0 auto;
  position: relative
}

#solve>.roundCont>.inner .colBox {
  margin-top: 50px;
  display: flex;
  justify-content: space-between
}

#solve>.roundCont>.inner .colBox>.col {
  width: 300px;
  text-align: center;
  border: 2px solid #d5d5d5;
  border-radius: 10px;
  background: #fff;
  overflow: hidden
}

#solve>.roundCont>.inner .colBox>.col .tag {
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  font-size: 1.6rem;
  padding: 10px
}

#solve>.roundCont>.inner .colBox>.col .tag.blue {
  background: #0459a7
}

#solve>.roundCont>.inner .colBox>.col .tag.red {
  background: #e73b17
}

#solve>.roundCont>.inner .colBox>.col .tag.orange {
  background: #fe8814
}

#solve>.roundCont>.inner .colBox>.col .detail {
  padding: 30px
}

#solve>.roundCont>.inner .colBox>.col .detail p {
  padding-top: 25px;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700
}

#set>.inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 80px 0 100px;
  position: relative
}

#set>.inner .setContent {
  border-radius: 10px;
  margin-top: 80px;
  position: relative
}

#set>.inner .setContent>.setDetail {
  position: relative
}

#set>.inner .setContent>.setDetail {
  padding: 50px 50px 40px;
  border-radius: 10px;
  border: 2px solid #d5d5d5
}

#set>.inner .setContent>.setDetail>.heading {
  position: absolute;
  width: 300px;
  top: -22px;
  left: 50px;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  padding: 6px 10px;
  border-radius: 30px
}

#set>.inner .setContent>.setBox>.heading {
  background: #fff07c;
  border: 2px solid #d5d5d5
}

#set>.inner .setContent>.setDetail:first-child .colBox {
  display: flex;
  justify-content: space-between
}

#set>.inner .setContent>.setDetail:first-child .colBox>p {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400
}

#set>.inner .setContent>.setDetail:first-child .colBox>.img {
  margin-left: 60px
}

#set>.inner .setContent>.setDetail:first-child .colBox>.img img {
  width: 295px
}

#set>.inner .setContent>.setDetail:nth-child(2) {
  margin-top: 70px
}

#set>.inner .setContent>.setDetail:nth-child(2) .promoBox {
  margin-top: 30px;
  display: flex;
  justify-content: space-between
}

#set>.inner .setContent>.setDetail:nth-child(2) .promoBox>.promoCont {
  width: 280px;
  margin-left: 30px;
  border: 2px solid #d5d5ca;
  border-radius: 10px;
  text-align: center
}

#set>.inner .setContent>.setDetail:nth-child(2) .promoBox>.promoCont:first-child {
  margin-left: 0
}

#set>.inner .setContent>.setDetail:nth-child(2) .promoBox>.promoCont>p {
  padding: 20px 20px 15px;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  color: #0659a7;
  text-align: center
}

#set>.inner .setContent>.setDetail:nth-child(2) .promoBox>.promoCont>.img {
  padding: 0 30px 25px
}

#set>.inner .setContent>.setDetail:nth-child(2) .promoBox>.promoCont>.img img {
  width: 220px
}

#set>.inner .setContent>.setDetail:nth-child(3) {
  margin-top: 70px
}

#set>.inner .setContent>.setDetail:nth-child(3) .productionBox {
  margin-top: 30px;
  display: flex;
  justify-content: space-between
}

#set>.inner .setContent>.setDetail:nth-child(3) .productionBox>.productionCont {
  display: flex;
  align-items: center
}

#set>.inner .setContent>.setDetail:nth-child(3) .productionBox>.productionCont>p {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700
}

#set>.inner .setContent>.setDetail:nth-child(3) .productionBox>.productionCont>p span {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400
}

#set>.inner .setContent>.setDetail:nth-child(3) .productionBox>.productionCont>p.tex {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 280px;
  height: 90px;
  border-radius: 10px
}

#set>.inner .setContent>.setDetail:nth-child(3) .productionBox>.productionCont>p.bgOrange {
  color: #fff;
  background: #fe8814
}

#set>.inner .setContent>.setDetail:nth-child(3) .productionBox>.productionCont>p.bgWhite {
  color: #0659a7;
  background: #fff;
  border: 2px solid #d5d5d5
}

#set>.inner .setContent>.setDetail:nth-child(3) .productionBox>.productionCont>.arrow {
  margin-left: 6px
}

#set>.inner .setContent>.setDetail:nth-child(3) .annotation {
  margin-top: 4px;
  margin-right: 64px;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  text-align: right
}

#set>.inner .setArrow {
  margin: 30px 0;
  text-align: center
}

#set>.inner .setArrow img {
  width: 50px
}

#set>.inner .goalCont {
  padding: 30px 30px 0;
  background: url(../img/bg_confetti.svg) no-repeat center top 5px #fff;
  border: 2px solid #d5d5d5;
  border-radius: 10px;
  text-align: center
}

#set>.inner .goalCont p {
  width: 420px;
  margin: 0 auto;
  padding: 7px;
  font-size: 25px;
  font-size: 2.5rem;
  font-weight: 700;
  color: #fff;
  background: #0459a7;
  text-align: center;
  border-radius: 25px
}

#efficacy>.roundCont>.inner {
  max-width: 1000px;
  margin: 0 auto
}

#efficacy>.roundCont>.inner .efficacyCont {
  margin-top: 60px;
  padding: 50px;
  display: flex;
  justify-content: space-between;
  background: #fff;
  border: 2px solid #d5d5d5;
  border-radius: 20px;
  position: relative
}

#efficacy>.roundCont>.inner .efficacyCont>.item {
  margin-left: 50px
}

#efficacy>.roundCont>.inner .efficacyCont>.item:first-child {
  margin-left: 0
}

#efficacy>.roundCont>.inner .efficacyCont>.item p {
  font-weight: 700;
  text-align: center;
  font-size: 20px;
  font-size: 2rem
}

#efficacy>.roundCont>.inner .efficacyCont>.item:first-child p {
  position: absolute;
  top: 104px;
  left: 92px
}

#efficacy>.roundCont>.inner .efficacyCont>.item:nth-child(2) p {
  position: absolute;
  top: 89px;
  left: 398px
}

#efficacy>.roundCont>.inner .efficacyCont>.item:nth-child(3) p {
  position: absolute;
  top: 89px;
  left: 700px
}

#efficacy>.roundCont>.inner .efficacyCont>.item>div.img {
  width: 266px
}

#efficacy>.roundCont>.inner .efficacyCont>.item>div.img img {
  width: 100%
}

#pricePlan {
  background: #f8f8f8
}

#pricePlan .pricePlanTop>.inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 90px 0 100px
}

#pricePlan .pricePlanTop>.inner .planDetail {
  margin-top: 50px;
  padding-top: 0;
  padding-bottom: 0
}

#pricePlan .pricePlanTop>.inner .planDetail>.box.border .priceTable {
  border: 2px solid #d5d5d5;
  border-radius: 15px;
  background: #fff;
  overflow: hidden
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable .swipeInfo {
  display: none
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table {
  width: 100%;
  border-collapse: collapse
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr.bgYellow {
  background: #fff4a3
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr.bgYellow th {
  border-bottom-width: 2px
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr.bgYellow th.plan {
  border-left-width: 2px
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr.con th.heading {
  width: 60px;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr.con th.heading p {
  margin: 0 auto;
  -webkit-writing-mode: vertical-rl
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr.con th.lineB {
  border-bottom-width: 2px
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr.con td.lineB {
  border-bottom-width: 2px
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr.con td.lineL {
  border-left-width: 2px
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr th.tRed {
  height: 320px;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 3px;
  color: #fff;
  background: #e73b19
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr th.tBlue {
  height: 240px;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 3px;
  color: #fff;
  background: #0659a7
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr th.tOrange {
  height: 398px;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 3px;
  color: #fff;
  background: #fe8814
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr td.bgRed {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  background: #fff0ed;
  text-align: left
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr td.bgBlue {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  background: #e5eef6;
  text-align: left
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr td.bgOrange {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  background: #fff3e8;
  text-align: left
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr th {
  padding: 15px
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr td {
  padding: 25px 20px;
  text-align: center
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr td, #pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr th {
  border: 1px solid #d5d5d5;
  vertical-align: middle
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr th {
  font-size: 20px;
  font-size: 2rem
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr th.plan .tex {
  font-size: 16px;
  font-size: 1.6rem
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr th.plan .big {
  margin-left: -2px;
  margin-right: 5px;
  font-size: 25px;
  font-size: 2.5rem;
  letter-spacing: -8px
}

#pricePlan .pricePlanTop>.inner .planDetail>.box .priceTable table tr th.plan .small {
  margin-left: -4px;
  margin-right: -4px;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400
}

#pricePlan .pricePlanTop>.inner p.annotation {
  margin-top: 15px;
  font-size: 16px;
  font-size: 1.6rem
}

#flow>.inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 80px 0
}

#flow>.inner .flowList {
  margin-top: 60px
}

#flow>.inner .flowList>.item {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin-top: 50px
}

#flow>.inner .flowList>.item:first-child {
  margin-top: 0
}

#flow>.inner .flowList>.item>div {
  display: table-cell;
  vertical-align: top
}

#flow>.inner .flowList>.item>div.img {
  width: 130px
}

#flow>.inner .flowList>.item>div.txt {
  padding-left: 30px
}

#flow>.inner .flowList>.item>div.txt>.heading {
  font-size: 30px;
  font-size: 3rem;
  font-weight: 700;
  padding-bottom: 5px;
  border-bottom: 1px solid #d5d5d5
}

#flow>.inner .flowList>.item>div.txt>.heading+p {
  margin-top: 20px;
  line-height: 2
}

.contact {
  padding-bottom: 100px;
  margin-top: 94px
}

.contact h1 {
  text-align: center;
  font-size: 60px;
  font-size: 6rem;
  font-weight: 700;
  padding: 60px 0
}

.contact>.inner {
  max-width: 1000px;
  margin: 0 auto
}

.contact>.inner .form .btn {
  width: 415px;
  margin: 50px auto 0
}

.contact>.inner .form table {
  width: 100%
}

.contact>.inner .form table tr:first-child td, .contact>.inner .form table tr:first-child th {
  border-top: 1px solid #ededed
}

.contact>.inner .form table tr.required th {
  position: relative
}

.contact>.inner .form table tr.required th:after {
  content: "\203B\5FC5\9808";
  display: inline-block;
  position: absolute;
  top: 27px;
  right: 20px;
  color: red;
  font-size: 14px;
  font-size: 1.4rem
}

.contact>.inner .form table tr td, .contact>.inner .form table tr th {
  vertical-align: top;
  font-weight: 400;
  text-align: left;
  border-bottom: 1px solid #ededed
}

.contact>.inner .form table tr th {
  padding: 25px 70px 25px 0;
  width: 240px
}

.contact>.inner .form table tr th>span {
  font-size: 14px;
  font-size: 1.4rem
}

.contact>.inner .form table tr td {
  padding: 20px 0
}

.contact>.inner .form table tr td .input input[type=email], .contact>.inner .form table tr td .input input[type=number], .contact>.inner .form table tr td .input input[type=tel], .contact>.inner .form table tr td .input input[type=text], .contact>.inner .form table tr td .input textarea {
  display: block;
  width: 300px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 10px;
  background: #f5f5f5;
  border: 1px solid #d5d5d5;
  border-radius: 5px
}

.contact>.inner .form table tr td .input input[type=text]#email {
  width: 500px
}

.contact>.inner .form table tr td .input textarea#content {
  width: 100%;
  min-height: 300px;
  resize: vertical
}

.contact>.inner .form table tr td .input>span {
  display: none;
  margin-top: 5px;
  color: red;
  font-size: 14px;
  font-size: 1.4rem
}

.contact>.inner .form table tr td .input>ul {
  list-style: none;
  letter-spacing: -.4em
}

.contact>.inner .form table tr td .input>ul>li {
  display: inline-block;
  vertical-align: top;
  letter-spacing: normal;
  margin-right: 20px;
  margin-top: 5px
}

.contact>.inner .form table tr td .input>ul>li input[type=checkbox] {
  display: inline-block;
  margin-right: 5px
}

.contact>.inner .form table tr td.hasError span {
  display: block
}

.contact.confirm>.inner .form table tr td {
  padding: 25px 0
}

.contact.complete>.inner .completeContents {
  border-top: 1px solid #ededed;
  padding-top: 80px
}

.contact.complete>.inner .completeContents h2 {
  font-size: 30px;
  font-size: 3rem
}

.contact.complete>.inner .completeContents h2+p {
  margin-top: 20px
}

.contact.complete>.inner .completeContents .btn {
  margin: 50px auto 0;
  width: 415px
}

.notice {
  margin-top: 20px;
  font-size: 14px;
  font-size: 1.4rem;
  color: #707070
}