@charset "utf-8";

body {
  font-family: 'Helvetica Neue', 'Helvetica', 'Yu Gothic', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Arial', 'Meiryo', sans-serif;
}

/* 明朝指定 */

.mincho {
  font-family: 'Times New Roman', 'YuMincho', 'Hiragino Mincho ProN', 'Yu Mincho', 'MS PMincho', serif;
}

/* ゴシック指定 */
.gothic {
  font-family:  "Hiragino Kaku Gothic ProN", "Yu Gothic","Meiryo", sans-serif;
}

body {
  margin: 0;
  background-color: #FFF5DC;
  background-color: #fff;
}

/* header */
header {
  position: relative;
  width: 1400px;
  height: 740px;
  margin: 0 auto;
}

@media screen and (max-width: 1400px) {
  header {
    width: 100%;
    height: calc((740 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  header {
    height: auto;
  }
}

.logo-box {
  position: absolute;
  top: 40px;
  left: 40px;
  width: 284px;
  height: 73px;
  z-index: 100;
}
@media screen and (max-width: 1400px) {
  .logo-box {
    position: absolute;
    top: calc((40 / 1400) * 100vw);
    left: calc((40 / 1400) * 100vw);
    width: calc((284 / 1400) * 100vw);
    height: calc((73 / 1400) * 100vw);
    z-index: 100;
  }
}
@media screen and (max-width: 767px) {
  .logo-box {
    position: absolute;
    top: calc((40 / 750) * 100vw);
    left: calc((40 / 750) * 100vw);
    width: calc((284 / 750) * 100vw);
    height: calc((73 / 750) * 100vw);
    z-index: 100;
  }
}

.logo-box img{
  max-width: 100%;
}

.text-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-size: 32px;
  line-height: 2em;
  color: black;
}

/* swiper */
.swiper {
  width: 100%;
  height: 100%;
  position: relative;
  padding-bottom: 40px;
  /* ページネーション分の余白 */
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-slide img {
  display: block;
  width: 100%;
  object-fit: cover;
}

/* lead */
.lead {
  position: relative;
  width: 1400px;
  height: 750px;
  margin: 0 auto;
  background-image: url(../img/kanban-lead-back.png);
  background-size: cover;
}
@media screen and (max-width: 1400px) {
  .lead {
    width: 100%;
    height: calc((800 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .lead {
    height: calc((1200 / 750) * 100vw);
    overflow: hidden;
  }
}

.lead .box1,
.lead .box2,
.lead .box3 {
  position: absolute;
}

.lead .box1 {
  top: 70px;
  left: 200px;
  width: 521px;
  height: 242px;
}
@media screen and (max-width: 1400px) {
  .lead .box1 {
    top: calc((70 / 1400) * 100vw);
    left: calc((200 / 1400) * 100vw);
    width: calc((521 / 1400) * 100vw);
    height: calc((242 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .lead .box1 {
    top: calc((107 / 750) * 100vw);
    left: calc((41 / 750) * 100vw);
    width: calc((635 / 750) * 100vw);
  }
}

.lead .box1 img,
.lead .box2 img,
.lead .box3 img{
  max-width: 100%;
}

.lead .box2 {
  top: 305px;
  right: 162px;
  width: 439px;
  height: 184px;
}
@media screen and (max-width: 1400px) {
  .lead .box2 {
    top: calc((305 / 1400) * 100vw);
    right: calc((162 / 1400) * 100vw);
    width: calc((520 / 1400) * 100vw);
    height: calc((200 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .lead .box2 {
    top: calc((527 / 750) * 100vw);
    right: calc((0 / 750) * 100vw);
    width: calc((535 / 750) * 100vw);
  }
}

.lead .box3 {
  bottom: 62px;
  left: 532px;
  width: 369px;
  height: 180px;
}
@media screen and (max-width: 1400px) {
  .lead .box3 {
    bottom: calc((62 / 1400) * 100vw);
    left: calc((532 / 1400) * 100vw);
    width: calc((600 / 1400) * 100vw);
    height: calc((200 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .lead .box3 {
    bottom: calc((202 / 750) * 100vw);
    left: calc((174 / 750) * 100vw);
    width: calc((450 / 750) * 100vw);
  }
}

/* point */
.point {
  width: 1400px;
  margin: 0 auto;
  background-color: #fff;
}
@media screen and (max-width: 1400px) {
  .point {
    width: 100%;
  }
}

.point h2 {
  width: 1400px;
  height: 346px;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 0 0 97px;
  font-size: 40px;
  letter-spacing: 2.7px;
  background-image: url(../img/kanban-point-back.png);
  background-size: cover;
}
@media screen and (max-width: 1400px) {
  .point h2 {
    width: 100%;
    height: calc((346 / 1400) * 100vw);
    padding: 0 0 0 calc((97 / 1400) * 100vw);
    font-size: calc((40 / 1400) * 100vw);
    letter-spacing: 2.7px;
  }
}
@media screen and (max-width: 767px) {
  .point h2 {
    height: calc((350 / 750) * 100vw);
    padding: 0 0 0 calc((40 / 750) * 100vw);
    font-size: calc((42 / 750) * 100vw);
  }
}

.point p{
  padding: 33px 100px 0;
  font-size: 23px;
  line-height: 1.9;
}
@media screen and (max-width: 1400px) {
  .point p{
    padding: calc((33 / 1400) * 100vw) calc((100 / 1400) * 100vw) 0;
    font-size: calc((23 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .point p{
    height: calc((282 / 750) * 100vw);
    padding: calc((36 / 750) * 100vw) calc((37 / 750) * 100vw);
    font-size: calc((27 / 750) * 100vw);
    line-height: 1.8;
  }
}

@media screen and (max-width: 767px) {
  .mySwiper2 img{
    width: calc((533 / 750) * 100vw);
  }
}

/* strengths */
.strengths {
  position: relative;
  width: 1400px;
  margin: 0 auto;
  padding: 40px 0 90px;
  background-color: #fff;
}
@media screen and (max-width: 1400px) {
  .strengths {
    width: 100%;
    padding: calc((40 / 1400) * 100vw) 0 calc((90 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .strengths {
    padding: calc((112 / 750) * 100vw) 0 calc((100 / 750) * 100vw);
  }
}

.strengths h2 {
  position: relative;
  font-size: 31px;
  margin-bottom: 55px;
  text-align: center;
}
@media screen and (max-width: 1400px) {
  .strengths h2 {
    font-size: calc((31 / 1400) * 100vw);
    margin-bottom: calc((55 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .strengths h2 {
    font-size: calc((41 / 750) * 100vw);
    line-height: 1.6;
  }
}

.strength-block {
  position: relative;
  display: flex;
  position: relative;
  align-items: flex-start;
  margin: 40px 0 20px;
}
@media screen and (max-width: 1400px) {
  .strength-block {
    margin: calc((40 / 1400) * 100vw) 0 calc((20 / 1400) * 100vw);
  }
}

.strength-box {
  position: relative;
}

/* 左右交互配置 */
.left .strength-box {
  position: relative;
  margin-right: auto;
  padding: 28px 30px;
}
@media screen and (max-width: 767px) {
  .left .strength-box {
    margin: 0 auto;
  }
}

.right .strength-box {
  position: relative;
  margin-left: auto;
  padding: 28px 27px;
}
@media screen and (max-width: 767px) {
  .right .strength-box {
    margin: 0 auto;
  }
}

.strength-01 {
  width: 1200px;
  height: 440px;
  justify-content: end;
  margin: 0 auto 20px;
  background-image: url(../img/strengths-01-back.png);
  background-size: cover;
}
@media screen and (max-width: 1400px) {
  .strength-01 {
    width: calc((1200 / 1400) * 100vw);
    height: calc((440 / 1400) * 100vw);
    margin: 0 auto calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .strength-01 {
    width: 100%;
    height: calc((640 / 750) * 100vw);
    display: flex;
    align-items: end;
    justify-content: center;
    padding: 0 0 calc((30 / 750) * 100vw);
    margin: 0 auto calc((30 / 750) * 100vw);
    background-image: url(../img/strengths-01-back_sp.png);
  }
}

.strength-01 .strength-box {
  width: 740px;
  margin: 72px 20px 0 0;
  background-color: rgba(255, 255, 255, 0.8);
  background-size: cover;
}
@media screen and (max-width: 1400px) {
  .strength-01 .strength-box {
    width: calc((740 / 1400) * 100vw);
    margin: calc((72 / 1400) * 100vw) calc((20 / 1400) * 100vw) 0 0;
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  .strength-01 .strength-box {
    width: calc((670 / 750) * 100vw);
    margin: calc((72 / 750) * 100vw) 0 0;
    padding: calc((35 / 750) * 100vw);
  }
}

.strength-02 {
  background-image: url(../img/strengths-02-back.png);
  background-size: cover;
  width: 1200px;
  height: 440px;
  margin: 0 auto 20px;
}
@media screen and (max-width: 1400px) {
  .strength-02 {
    width: calc((1200 / 1400) * 100vw);
    height: calc((440 / 1400) * 100vw);
    margin: 0 auto calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .strength-02 {
    width: 100%;
    height: calc((590 / 750) * 100vw);
    display: flex;
    align-items: end;
    justify-content: center;
    padding: 0 0 calc((30 / 750) * 100vw);
    margin: 0 auto calc((30 / 750) * 100vw);
    background-image: url(../img/strengths-02-back_sp.png);
  }
}

.strength-02 .strength-box {
  width: 735px;
  margin: 222px 0 0 27px;
  padding: 28px 30px 18px;
  background-size: cover;
  background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 1400px) {
  .strength-02 .strength-box {
    width: calc((735 / 1400) * 100vw);
    margin: calc((222 / 1400) * 100vw) calc((27 / 1400) * 100vw) 0 0;
    padding: calc((28 / 1400) * 100vw) calc((30 / 1400) * 100vw) calc((18 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .strength-02 .strength-box {
    width: calc((670 / 750) * 100vw);
    padding: calc((35 / 750) * 100vw);
  }
}

.strength-03 {
  width: 1200px;
  height: 440px;
  justify-content: end;
  margin: 0 auto 20px;
  background-image: url(../img/strengths-03-back.png);
  background-size: cover;
}
@media screen and (max-width: 1400px) {
  .strength-03 {
    width: calc((1200 / 1400) * 100vw);
    height: calc((440 / 1400) * 100vw);
    margin: 0 auto calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .strength-03 {
    width: 100%;
    height: calc((640 / 750) * 100vw);
    display: flex;
    align-items: start;
    justify-content: center;
    margin: 0 auto calc((30 / 750) * 100vw);
    padding:calc((30 / 750) * 100vw) 0 0 ;
    background-image: url(../img/strengths-03-back_sp.png);
  }
}

.strength-03 .strength-box {
  width: 736px;
  margin: 53px 27px 0 0;
  padding: 22px 30px;
  background-color: rgba(255, 255, 255, 0.8);
  background-size: cover;
}
@media screen and (max-width: 1400px) {
  .strength-03 .strength-box {
    width: calc((736 / 1400) * 100vw);
    margin: calc((53 / 1400) * 100vw) calc((27 / 1400) * 100vw) 0 0;
    padding: calc((22 / 1400) * 100vw) calc((30 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .strength-03 .strength-box {
    width: calc((670 / 750) * 100vw);
    margin: 0;
    padding: calc((35 / 750) * 100vw);
  }
}

.strength-04 {
  background-image: url(../img/strengths-04-back.png);
  background-size: cover;
  width: 1200px;
  height: 440px;
  margin: 0 auto 20px;
}
@media screen and (max-width: 1400px) {
  .strength-04 {
    width: calc((1200 / 1400) * 100vw);
    height: calc((440 / 1400) * 100vw);
    margin: 0 auto calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .strength-04 {
    width: 100%;
    height: calc((640 / 750) * 100vw);
    display: flex;
    align-items: end;
    justify-content: center;
    padding:0 0 calc((30 / 750) * 100vw);
    margin: 0 auto calc((30 / 750) * 100vw);
    background-image: url(../img/strengths-04-back_sp.png);
  }
}

.strength-04 .strength-box {
  width: 736px;
  margin: 200px 0 0 27px;
  padding: 22px 30px;
  background-color: rgba(255, 255, 255, 0.8);
  background-size: cover;
}
@media screen and (max-width: 1400px) {
  .strength-04 .strength-box {
    width: calc((736 / 1400) * 100vw);
    margin: calc((200 / 1400) * 100vw) 0 0 calc((27 / 1400) * 100vw);
    padding: calc((22 / 1400) * 100vw) calc((30 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .strength-04 .strength-box {
    width: calc((670 / 750) * 100vw);
    padding: calc((15 / 750) * 100vw) calc((35 / 750) * 100vw);
  }
}

.strength-box h3 {
  position: relative;
  margin: 0 0 15px;
  color: #00a0e9;
  font-size: 31px;
}
@media screen and (max-width: 1400px) {
  .strength-box h3 {
    margin: 0 0 calc((15 / 1400) * 100vw);
    font-size: calc((31 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .strength-box h3 {
    font-size: calc((42 / 750) * 100vw);
    line-height: 1;
  }
}

.strength-box .number {
  position: absolute;
  display: inline-block;
  top: 0;
  right: 13px;
  color: #9fd7ea;
  line-height: 1.0;
  font-size: 70px;
  font-weight: bold;
}
@media screen and (max-width: 1400px) {
  .strength-box .number {
    top: calc((0 / 1400) * 100vw);
    right: calc((13 / 1400) * 100vw);
    font-size: calc((70 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .strength-box .number {
    top: calc((10 / 750) * 100vw);
    right: calc((13 / 750) * 100vw);
    font-size: calc((70 / 750) * 100vw);
  }
}

.strength-box p {
  position: relative;
  margin: 5px 0;
  font-size: 19px;
  line-height: 1.8;
}
@media screen and (max-width: 1400px) {
  .strength-box p {
    margin: calc((5 / 1400) * 100vw) 0;
    font-size: calc((19 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .strength-box p {
    font-size: calc((26 / 750) * 100vw);
    line-height: 1.5;
  }
}


/* example */
.example {
  width: 1400px;
  margin: 0 auto;
  padding: 115px 0 115px;
  background-image: url(../img/example-bk.png);
  background-size: cover;
}
@media screen and (max-width: 1400px) {
  .example {
    width: 100%;
    padding: calc((115 / 1400) * 100vw) 0 calc((115 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example {
    padding: calc((90 / 750) * 100vw) calc((40 / 750) * 100vw);
  }
}

.example-inner {
  width: 1200px;
  margin: 0 auto;
  padding: 35px 0 0;
  background-color: rgba(255, 255, 255, 0.5);
  text-align: center;
}
@media screen and (max-width: 1400px) {
  .example-inner {
    width: 100%;
    padding: calc((35 / 1400) * 100vw) 0 0;
  }
}
@media screen and (max-width: 767px) {
  .example-inner {
    width: 100%;
    padding: calc((35 / 750) * 100vw) 0 0;
  }
}

.example-inner.tori {
  padding: 35px 0 94px;
  margin: 0 auto 128px;
}
@media screen and (max-width: 1400px) {
  .example-inner.tori {
    padding: calc((35 / 1400) * 100vw) 0 calc((94 / 1400) * 100vw);
    margin: 0 auto calc((128 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-inner.tori {
    padding: calc((35 / 750) * 100vw) calc((30 / 750) * 100vw) calc((35 / 750) * 100vw);
  }
}

.example-inner.aska {
  margin: 0 auto;
  padding: 35px 0 87px;
}
@media screen and (max-width: 1400px) {
  .example-inner.aska {
    padding: calc((35 / 1400) * 100vw) 0 calc((87 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-inner.aska {
    padding: calc((50 / 750) * 100vw) calc((30 / 750) * 100vw) calc((70 / 750) * 100vw);
  }
}

.example-inner h2{
  margin-bottom: 33px;
}
@media screen and (max-width: 1400px) {
  .example-inner h2{
    margin-bottom: calc((33 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-inner h2{
    margin-bottom: calc((70 / 750) * 100vw);
  }
}

.example-inner h2 span {
  width: 500px;
  display: inline-block;
  padding: 15px 0;
  background-color: #333333;
  color: #fff;
  font-size: 30px;
  font-weight: normal;
  line-height: 1.0;
}
@media screen and (max-width: 1400px) {
  .example-inner h2 span {
    width: calc((500 / 1400) * 100vw);
    padding: calc((15 / 1400) * 100vw) 0;
    font-size: calc((30 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-inner h2 span {
    width: calc((560 / 750) * 100vw);
    padding: calc((15 / 750) * 100vw) 0;
    font-size: calc((45 / 750) * 100vw);
  }
}

.example-inner .example-lead {
  margin: 0 0 35px;
  font-size: 32px;
  line-height: 1.8;
}
@media screen and (max-width: 1400px) {
  .example-inner .example-lead {
    margin: 0 0 calc((35 / 1400) * 100vw);
    font-size: calc((32 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-inner .example-lead {
    font-size: calc((37 / 750) * 100vw);
    line-height: 1.2;
  }
}

@media screen and (max-width: 767px) {
  .example-inner p span.left {
    display: block;
    text-align: left;
  }
  .example-inner p span.right {
    display: block;
    text-align: right;
  }
}

.example-inner h3 {
  width: 1000px;
  margin: 0 auto 18px;
  padding: 10px 0 10px 17px;
  box-sizing: border-box;
  line-height: 1.0;
  letter-spacing: 1.9px;
  font-size: 28px;
  text-align: left;
  border-left: 3px solid #333;
}
@media screen and (max-width: 1400px) {
  .example-inner h3 {
    width: calc((1000 / 1400) * 100vw);
    margin: 0 auto calc((18 / 1400) * 100vw);
    padding: calc((10 / 1400) * 100vw) 0 calc((10 / 1400) * 100vw) calc((17 / 1400) * 100vw);
    font-size: calc((28 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-inner h3 {
    width: 100%;
    padding: calc((5 / 750) * 100vw) 0 calc((10 / 750) * 100vw) calc((17 / 750) * 100vw);
    margin: 0 0 calc((20 / 750) * 100vw);
    line-height: 1.3;
    font-size: calc((28 / 750) * 100vw);
  }
}

.example-lead-image{
  max-width: 100%;
}
@media screen and (max-width: 1400px) {
  .example-lead-image{
    width: calc((1000 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-lead-image{
    width: 100%;
  }
}

.example-inner .example-text {
  width: 1000px;
  padding: 19px 0 0;
  margin: 0 auto 70px;
  font-size: 19px;
  line-height: 2.0;
  text-align: left;
}
@media screen and (max-width: 1400px) {
  .example-inner .example-text {
    width: calc((1000 / 1400) * 100vw);
    padding: calc((19 / 1400) * 100vw) 0 0;
    margin: 0 auto calc((70 / 1400) * 100vw);
    font-size: calc((19 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-inner .example-text {
    width: 100%;
    padding: calc((35 / 750) * 100vw) 0;
    font-size: calc((28 / 750) * 100vw);
    line-height: 1.8;
  }
}

.example-card {
  width: 1000px;
  display: flex;
  margin: 0 auto;
}
@media screen and (max-width: 1400px) {
  .example-card {
    width: calc((1000 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-card {
    display: block;
    width: 100%;
  }
}

.example-card .left {
  width: 500px;
  text-align: left;
}
@media screen and (max-width: 1400px) {
  .example-card .left {
    width: calc((500 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-card .left {
    width: 100%;
  }
}

.example-card .left h4{
  margin: 0 0 20px;
}
@media screen and (max-width: 1400px) {
  .example-card .left h4{
    margin: 0 0 calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-card .left h4{
    margin: 0 0 calc((20 / 750) * 100vw);
  }
}

.example-card .left h4 span {
  display: flex;
  align-items: center;
  gap: 0.5em;
  border-bottom: 2px solid #000;
  font-size: 26px;
}
@media screen and (max-width: 1400px) {
  .example-card .left h4 span {
    font-size: calc((26 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-card .left h4 span {
    font-size: calc((36 / 750) * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .example-card .left h4 span img{
    width: calc((33 / 750) * 100vw);
  }
}

.example-card .left p {
  font-size: 19px;
  line-height: 1.8;
}
@media screen and (max-width: 1400px) {
  .example-card .left p {
    font-size: calc((19 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-card .left p {
    font-size: calc((25 / 750) * 100vw);
  }
}

.example-card .left h4 div {
  display: inline-block;
}

.example-card .right {
  width: 500px;
  text-align: right;
}
@media screen and (max-width: 1400px) {
  .example-card .right {
    width: calc((500 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-card .right {
    width: 100%;
    text-align: center;
    padding: calc((50 / 750) * 100vw) 0 calc((20 / 750) * 100vw);
  }
}
@media screen and (max-width: 1400px) {
  .example-card .right img{
    width: calc((470 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-card .right img{
    width: calc((470 / 750) * 100vw);
  }
}

.example-arrow{
  padding: 35px 0 40px;
  text-align: center;
}
@media screen and (max-width: 1400px) {
  .example-arrow{
    padding: calc((35 / 1400) * 100vw) 0 calc((40 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .example-arrow{
    padding: calc((25 / 750) * 100vw) 0 calc((40 / 750) * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .example-arrow img{
    width: calc((140 / 750) * 100vw);
  }
}

/* subsidy */
.subsidy {
  position: relative;
  width: 1400px;
  margin: 0 auto;
  padding: 0 0 60px;
  background-color: #fffcdb;
}
@media screen and (max-width: 1400px) {
  .subsidy {
    width: 100%;
    padding: 0 0 calc((60 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy {
    padding: calc((80 / 750) * 100vw) 0;
  }
}

.subsidy_inner {
  position: relative;
  width: 840px;
  margin: 0 auto;
  padding: 84px 0 0;
}
@media screen and (max-width: 1400px) {
  .subsidy_inner {
    width: calc((840 / 1400) * 100vw);
    padding: calc((84 / 1400) * 100vw) 0 0;
  }
}
@media screen and (max-width: 767px) {
  .subsidy_inner {
    width: calc((670 / 750) * 100vw);
    padding: 0 0 0;
  }
}

.subsidy_inner .deco {
  position: absolute;
  display: inline-block;
  right: -109px;
  top: 15px;
  z-index: 10;
}
@media screen and (max-width: 1400px) {
  .subsidy_inner .deco {
    right: calc((-109 / 1400) * 100vw);
    top: calc((15 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy_inner .deco {
    right: calc((-25 / 750) * 100vw);
    top: calc((135 / 750) * 100vw);
  }
}

.subsidy_inner .deco img{
  width: 186px;
}
@media screen and (max-width: 1400px) {
  .subsidy_inner .deco  img{
    width: calc((186 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy_inner .deco  img{
    width: calc((171 / 750) * 100vw);
  }
}

.subsidy_inner h2 {
  width: 670px;
  position: relative;
  margin: 0 auto 47px;
  padding: 16px 0;
  border-top: 3px solid #000;
  border-bottom: 3px solid #000;
  text-align: center;
  font-size: 36px;
  font-weight: normal;
  letter-spacing: 3px;
  line-height: 1.4;
}
@media screen and (max-width: 1400px) {
  .subsidy_inner h2 {
    width: calc((670 / 1400) * 100vw);
    margin: 0 auto calc((47 / 1400) * 100vw);
    padding: calc((16 / 1400) * 100vw) 0;
    font-size: calc((33 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy_inner h2 {
    width: calc((670 / 750) * 100vw);
    margin: 0 auto calc((47 / 750) * 100vw);
    padding: calc((16 / 750) * 100vw) 0;
    font-size: calc((36 / 750) * 100vw);
  }
}

.subsidy_inner h2 span.red {
  color: #ff0101;
  font-size: 44px;
}
@media screen and (max-width: 1400px) {
  .subsidy_inner h2 span.red {
    font-size: calc((44 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy_inner h2 span.red {
    font-size: calc((44 / 750) * 100vw);
  }
}

.subsidy_inner h2 span.black {
  color: #000000;
  font-size: 44px;
}
@media screen and (max-width: 1400px) {
  .subsidy_inner h2 span.black {
    font-size: calc((44 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy_inner h2 span.black {
    font-size: calc((44 / 750) * 100vw);
  }
}

.subsidy_inner .subsidy-lead {
  margin: 0 0 60px;
  font-size: 30px;
  text-align: center;
  letter-spacing: 3px;
  line-height: 1.5;
}
@media screen and (max-width: 1400px) {
  .subsidy_inner .subsidy-lead {
    margin: 0 0 calc((60 / 1400) * 100vw);
    font-size: calc((30 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy_inner .subsidy-lead {
    letter-spacing: 1px;
    margin: 0 0 calc((65 / 750) * 100vw);
    font-size: calc((28 / 750) * 100vw);
  }
}

.subsidy_inner .subsidy-lead span.red {
  color: #ff0101;
  font-size: 40px;
}
@media screen and (max-width: 1400px) {
  .subsidy_inner .subsidy-lead span.red {
    font-size: calc((40 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy_inner .subsidy-lead span.red {
    font-size: calc((38 / 750) * 100vw);
  }
}

.subsidy_inner .subsidy-lead span.black {
  color: #000000;
  font-size: 40px;
}
@media screen and (max-width: 1400px) {
  .subsidy_inner .subsidy-lead span.black {
    font-size: calc((40 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy_inner .subsidy-lead span.black {
    font-size: calc((38 / 750) * 100vw);
  }
}

.subsidy_inner .flow {
  text-align: center;
}

.subsidy_inner .flow img{
  max-width: 100%;
}

.subsidy_inner .arrow {
  text-align: center;
  padding: 27px 0 29px;
}

@media screen and (max-width: 767px) {
  .subsidy_inner .arrow img{
    width: calc((170 / 750) * 100vw);
  }
}

.subsidy-card1line {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 52px;
  padding: 8px;
  border: 1px solid #70c0e5;
  background-color: #fff;
}
@media screen and (max-width: 1400px) {
  .subsidy-card1line {
    margin: 0 0 calc((52 / 1400) * 100vw);
    padding: calc((8 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card1line {
    display: block;
    margin: 0 0 calc((52 / 750) * 100vw);
    padding: calc((8 / 750) * 100vw);
  }
}

.subsidy-card1line h3 {
  width: 73px;
  height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #00a0e9;
  color: #fff;
  font-size: 12px;
  line-height: 1;
}
@media screen and (max-width: 1400px) {
  .subsidy-card1line h3 {
    width: calc((73 / 1400) * 100vw);
    height: calc((27 / 1400) * 100vw);
    font-size: calc((12 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card1line h3 {
    width: calc((103 / 750) * 100vw);
    height: calc((38 / 750) * 100vw);
    font-size: calc((18 / 750) * 100vw);
  }
}

.subsidy-card1line h3 span.text{
  display: inline-block;
  height: 10px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card1line h3 span.text{
    height: calc((10 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card1line h3 span.text{
    height: calc((10 / 750) * 100vw);
  }
}

.subsidy-card1line h3 span.number{
  font-size: 17px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card1line h3 span.number{
    font-size: calc((17 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card1line h3 span.number{
    font-size: calc((30 / 750) * 100vw);
  }
}

.subsidy-card1line h4 {
  width: 100%;
  padding: 14px 0 16px 20px;
  color: #00a0e9;
  font-size: 30px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card1line h4 {
    padding: calc((14 / 1400) * 100vw) 0 calc((16 / 1400) * 100vw) calc((20 / 1400) * 100vw);
    font-size: calc((30 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card1line h4 {
    font-size: calc((37 / 750) * 100vw);
    padding: calc((14 / 750) * 100vw) 0 calc((16 / 750) * 100vw) calc((17 / 750) * 100vw);
  }
}

.subsidy-card1line .image{
  width: 100%;
  padding: 10px;
  text-align: center;
}
@media screen and (max-width: 1400px) {
  .subsidy-card1line .image{
    padding: calc((10 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card1line .image{
    padding: calc((10 / 750) * 100vw);
  }
}

.subsidy-card1line .image img{
  width: 100%;
}
@media screen and (max-width: 767px) {
  .subsidy-card1line .image img{
    width: calc((547 / 750) * 100vw);
  }
}

.subsidy-card {
  position: relative;
  display: flex;
  border: 1px solid #70c0e5;
  background-color: #fff;
  padding: 0 0 23px;
  margin: 0 0 52px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card {
    padding: 0 0 calc((23 / 1400) * 100vw);
    margin: 0 0 calc((52 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card {
    display: block;
    margin: 0 0 calc((52 / 750) * 100vw);
  }
}

.subsidy-card .left {
  padding: 8px;
  width: 510px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card .left {
    padding: calc((8 / 1400) * 100vw);
    width: calc((510 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card .left {
    padding: calc((8 / 750) * 100vw);
    width: 100%;
  }
}

.subsidy-card .left h3 {
  background-color: #00a0e9;
  color: #fff;
  display: inline-flex;
  width: 73px;
  height: 27px;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 12px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card .left h3 {
    width: calc((73 / 1400) * 100vw);
    height: calc((27 / 1400) * 100vw);
    font-size: calc((12 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card .left h3 {
    width: calc((103 / 750) * 100vw);
    height: calc((38 / 750) * 100vw);
    font-size: calc((18 / 750) * 100vw);
  }
}

.subsidy-card .left h3 span.text{
  display: inline-block;
  height: 10px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card .left h3 span.text{
    height: calc((10 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card .left h3 span.text{
    height: calc((10 / 750) * 100vw);
  }
}

.subsidy-card .left h3 span.number{
  font-size: 17px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card .left h3 span.number{
    font-size: calc((17 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card .left h3 span.number{
    font-size: calc((30 / 750) * 100vw);
  }
}

.subsidy-card .left h4 {
  color: #00a0e9;
  font-size: 30px;
  padding: 14px 0 16px 20px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card .left h4 {
    font-size: calc((30 / 1400) * 100vw);
    padding: calc((14 / 1400) * 100vw) 0 calc((16 / 1400) * 100vw) calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card .left h4 {
    font-size: calc((37 / 750) * 100vw);
    padding: calc((14 / 750) * 100vw) 0 calc((16 / 750) * 100vw) calc((17 / 750) * 100vw);
  }
}

.subsidy-card .left p {
  font-size: 25px;
  margin: 0 0 18px;
  padding: 0 0 0 20px;
  line-height: 1.5;
}
@media screen and (max-width: 1400px) {
  .subsidy-card .left p {
    font-size: calc((25 / 1400) * 100vw);
    margin: 0 0 calc((18 / 1400) * 100vw);
    padding: 0 0 0 calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card .left p {
    font-size: calc((27 / 750) * 100vw);
    margin: 0 0 calc((18 / 750) * 100vw);
    padding: 0 0 0 calc((20 / 750) * 100vw);
  }
}

.subsidy-card .left .label {
  display: flex;
  align-items: center;
  padding: 0 0 0 20px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card .left .label {
    padding: 0 0 0 calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card .left .label {
    padding: 0 0 0 calc((15 / 750) * 100vw);
  }
}

.subsidy-card .left .label div.icon span {
  background-color: #0eb3fe;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 20px;
  font-size: 12px;
  color: #fff;
}
@media screen and (max-width: 1400px) {
  .subsidy-card .left .label div.icon span {
    width: calc((40 / 1400) * 100vw);
    height: calc((40 / 1400) * 100vw);
    border-radius: calc((20 / 1400) * 100vw);
    font-size: calc((12 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card .left .label div.icon span {
    width: calc((47 / 750) * 100vw);
    height: calc((47 / 750) * 100vw);
    border-radius: calc((25 / 750) * 100vw);
    font-size: calc((16 / 750) * 100vw);
  }
}

.subsidy-card .left .label div.text {
  font-size: 16px;
  padding: 0 0 0 8px;
  line-height: 1.5;
}
@media screen and (max-width: 1400px) {
  .subsidy-card .left .label div.text {
    font-size: calc((16 / 1400) * 100vw);
    padding: 0 0 0 calc((8 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .subsidy-card .left .label div.text {
    font-size: calc((26 / 750) * 100vw);
    padding: 0 0 0 calc((8 / 750) * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .subsidy-card .right {
    text-align: center;
  }
}

.subsidy-card .right img{
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .subsidy-card .right img{
    width: calc((390 / 750) * 100vw);
  }
}

.subsidy-image {
  padding: 37px 0 0 0;
  text-align: center;
}
@media screen and (max-width: 1400px) {
  .subsidy-image {
    padding: calc((37 / 1400) * 100vw) 0 0 0;
    text-align: center;
  }
}
@media screen and (max-width: 1400px) {
  .subsidy-image {
    padding: calc((37 / 750) * 100vw) 0 0 0;
    text-align: center;
  }
}

.subsidy-image img{
  max-width: 100%;
}

.subsidy-card-01{
  text-align: left;
  padding: 30px 0 0 0;
}
@media screen and (max-width: 1400px) {
  .subsidy-card-01{
    padding: calc((30 / 1400) * 100vw) 0 0 0;
  }
}

.subsidy-card-02{
  text-align: left;
  padding: 30px 0 0 0;
}
@media screen and (max-width: 1400px) {
  .subsidy-card-02{
    padding: calc((30 / 1400) * 100vw) 0 0 0;
  }
}

.subsidy-card-03{
  text-align: left;
  padding: 50px 0 0 0;
}
@media screen and (max-width: 1400px) {
  .subsidy-card-03{
    padding: calc((50 / 1400) * 100vw) 0 0 0;
  }
}

.subsidy-card-01 img{
  width: 308px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card-01 img{
    width: calc((308 / 1400) * 100vw);
  }
}

.subsidy-card-02 img{
  width: 308px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card-02 img{
    width: calc((308 / 1400) * 100vw);
  }
}

.subsidy-card-03 img{
  width: 308px;
}
@media screen and (max-width: 1400px) {
  .subsidy-card-03 img{
    width: calc((308 / 1400) * 100vw);
  }
}

/* price */
.price {
  width: 1400px;
  position: relative;
  margin: 0 auto;
  padding: 53px 0 30px;
  background-color: #fff;
}
@media screen and (max-width: 1400px) {
  .price {
    width: 100%;
    padding: calc((53 / 1400) * 100vw) 0 calc((30 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price {
    padding: calc((53 / 750) * 100vw) 0 calc((30 / 750) * 100vw);
  }
}

.price h2 {
  text-align: center;
}

.price h2 span {
  width: 220px;
  display: inline-block;
  padding: 0 0 10px;
  border-bottom: 2px solid #000;
  font-size: 30px;
}
@media screen and (max-width: 1400px) {
  .price h2 span {
    width: calc((220 / 1400) * 100vw);
    padding: 0 0 calc((10 / 1400) * 100vw);
    font-size: calc((30 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price h2 span {
    width: calc((280 / 750) * 100vw);
    padding: 0 0 calc((10 / 750) * 100vw);
    font-size: calc((50 / 750) * 100vw);
  }
}

.price .subtitle {
  padding: 10px 0 0;
  margin: 0 0 45px;
  text-align: center;
  font-size: 20px;
}
@media screen and (max-width: 1400px) {
  .price .subtitle {
    padding: calc((10 / 1400) * 100vw) 0 0;
    margin: 0 0 calc((45 / 1400) * 100vw);
    font-size: calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price .subtitle {
    padding: calc((10 / 750) * 100vw) 0 0;
    margin: 0 0 calc((45 / 750) * 100vw);
    font-size: calc((30 / 750) * 100vw);
  }
}

.price h3 {
  margin: 0 0 30px;
  font-size: 26px;
  text-align: center;
}
@media screen and (max-width: 1400px) {
  .price h3 {
    margin: 0 0 calc((30 / 1400) * 100vw);
    font-size: calc((26 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price h3 {
    margin: 0 0 calc((40 / 750) * 100vw);
    font-size: calc((34 / 750) * 100vw);
  }
}

.price .text {
  margin: 0 0 15px;
  font-size: 22px;
  text-align: center;
  line-height: 1.7;
}
@media screen and (max-width: 1400px) {
  .price .text {
    font-size: calc((22 / 1400) * 100vw);
    margin: 0 0 calc((15 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price .text {
    font-size: calc((28 / 750) * 100vw);
    margin: 0 0 calc((40 / 750) * 100vw);
  }
}

.price .text-att {
  margin: 0 0 45px;
  font-size: 18px;
  text-align: center;
}
@media screen and (max-width: 1400px) {
  .price .text-att {
    margin: 0 0 calc((45 / 1400) * 100vw);
    font-size: calc((18 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price .text-att {
    margin: 0 0 calc((45 / 750) * 100vw);
    padding: 0 calc((38 / 750) * 100vw);
    font-size: calc((22 / 750) * 100vw);
    text-align: left;
  }
}

.price-inner {
  width: 940px;
  margin: 0 auto;
  padding: 40px 0;
  background-color: #fdf9c3;
}
@media screen and (max-width: 1400px) {
  .price-inner {
    width: calc((940 / 1400) * 100vw);
    padding: calc((40 / 1400) * 100vw) 0;
  }
}
@media screen and (max-width: 767px) {
  .price-inner {
    width: 100%;
    padding: calc((40 / 750) * 100vw) 0;
  }
}

.price-inner h3 {
  width: 680px;
  padding: 10px 0;
  margin: 0 auto 35px;
  background-color: #fff;
  font-size: 22px;
  border: 1px solid #000;
}
@media screen and (max-width: 1400px) {
  .price-inner h3 {
    width: calc((680 / 1400) * 100vw);
    margin: 0 auto calc((35 / 1400) * 100vw);
    padding: calc((10 / 1400) * 100vw) 0;
    font-size: calc((22 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price-inner h3 {
    width: calc((680 / 750) * 100vw);
    margin: 0 auto calc((35 / 750) * 100vw);
    padding: calc((10 / 750) * 100vw) 0;
    border: 2px solid #b5a603;
    font-size: calc((30 / 750) * 100vw);
  }
}

.price-inner .design table {
  width: 550px;
  margin: 0 auto;
  font-size: 22px;
}
@media screen and (max-width: 1400px) {
  .price-inner .design table {
    width: calc((550 / 1400) * 100vw);
    margin: 0 auto;
    font-size: calc((22 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price-inner .design table {
    width: calc((670 / 750) * 100vw);
    margin: 0 auto;
    font-size: calc((28 / 750) * 100vw);
  }
}

.price-inner .design{
  padding: 0 0 88px;
}
@media screen and (max-width: 1400px) {
  .price-inner .design{
    padding: 0 0 calc((88 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price-inner .design{
    padding: 0 0 calc((70 / 750) * 100vw);
  }
}

.price-inner .design table td{
  padding: 0 0 18px;
}
@media screen and (max-width: 1400px) {
  .price-inner .design table td{
    padding: 0 0 calc((18 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price-inner .design table td{
    padding: 0 0 calc((18 / 750) * 100vw);
  }
}

.price-inner .design table td.design-price{
  padding: 0 0 18px;
  text-align: right;
}
@media screen and (max-width: 1400px) {
  .price-inner .design table td.design-price{
    padding: 0 0 calc((18 / 1400) * 100vw);
    text-align: right;
  }
}
@media screen and (max-width: 767px) {
  .price-inner .design table td.design-price{
    padding: 0 0 calc((18 / 750) * 100vw);
    text-align: right;
  }
}

.price-inner .logo-design table {
  width: 420px;
  margin: 0 auto;
  font-size: 22px;
}
@media screen and (max-width: 1400px) {
  .price-inner .logo-design table {
    width: calc((420 / 1400) * 100vw);
    margin: 0 auto;
    font-size: calc((22 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price-inner .logo-design table {
    width: calc((540 / 750) * 100vw);
    margin: 0 auto;
    font-size: calc((28 / 750) * 100vw);
  }
}

.price-inner .logo-design{
  padding: 0 0 10px;
}
@media screen and (max-width: 1400px) {
  .price-inner .logo-design{
    padding: 0 0 calc((10 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price-inner .logo-design{
    padding: 0 0 calc((10 / 750) * 100vw);
  }
}

.price-inner .logo-design table td{
  padding: 0 0 18px;
}
@media screen and (max-width: 1400px) {
  .price-inner .logo-design table td{
    padding: 0 0 calc((18 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price-inner .logo-design table td{
    padding: 0 0 calc((18 / 750) * 100vw);
  }
}

.price-inner .logo-design table td.design-price{
  padding: 0 0 18px;
  text-align: right;
}
@media screen and (max-width: 1400px) {
  .price-inner .logo-design table td.design-price{
    padding: 0 0 calc((18 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price-inner .logo-design table td.design-price{
    padding: 0 0 calc((18 / 750) * 100vw);
  }
}

.price-inner .logo .text{
  margin: 0 0 88px;
  font-size: 20px;
}
@media screen and (max-width: 1400px) {
  .price-inner .logo .text{
    margin: 0 0 calc((88 / 1400) * 100vw);
    font-size: calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .price-inner .logo .text{
    margin: 0 0 calc((70 / 750) * 100vw);
    font-size: calc((22 / 750) * 100vw);
  }
}

.price-inner .total .text{
  line-height: 1.6;
}

.price-image {
  padding: 60px 0 90px;
  text-align: center;
}
@media screen and (max-width: 1400px) {
  .price-image {
    padding: calc((60 / 1400) * 100vw) 0 calc((90 / 1400) * 100vw);
  }
}
@media screen and (max-width: 750px) {
  .price-image {
    padding: calc((90 / 750) * 100vw) 0 calc((80 / 750) * 100vw);
  }
}

.price-image img{
  max-width: 100%;
}
@media screen and (max-width: 1400px) {
  .price-image img{
    width: calc((945 / 1400) * 100vw);
  }
}

@media screen and (max-width: 750px) {
  .price-image img{
    width: calc((680 / 750) * 100vw);
  } 
}

.price-deco {
  width: 1200px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
@media screen and (max-width: 1400px) {
  .price-deco {
    width: calc((1200 / 1400) * 100vw);
  }
}
@media screen and (max-width: 750px) {
  .price-deco {
    flex-wrap: wrap;
    width: calc((580 / 750) * 100vw);
  }
}

@media screen and (max-width: 1400px) {
  .price-deco img{
    width: calc((270 / 1400) * 100vw);
  }
}
@media screen and (max-width: 750px) {
  .price-deco img{
    width: calc((265 / 750) * 100vw);
    margin: 0 0 calc((37 / 750) * 100vw);
  }
}

/* point */
.omitsumori-point {
  width: 1400px;
  margin: 0 auto;
  background-color: #fff;
}
@media screen and (max-width: 1400px) {
  .omitsumori-point {
    width: 100%;
  }
}

.carousel .swiper-slide img {
  display: block;
  width: 400px;
}
@media screen and (max-width: 1400px) {
  .carousel .swiper-slide img {
    width: calc((400 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .carousel .swiper-slide img {
    width: calc((533 / 750) * 100vw)
  }
}

/* voice */
.voice {
  width: 1400px;
  margin: 0 auto;
  padding: 40px 0 60px;
  background-image: url(../img/voice-bk.png);
  background-size: cover;
}
@media screen and (max-width: 1400px) {
  .voice {
    width: 100%;
    padding: calc((40 / 1400) * 100vw) 0 calc((90 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice {
    padding: calc((100 / 750) * 100vw) 0 calc((60 / 750) * 100vw);
  }
}

.voice h2 {
  text-align: center;
}

.voice h2 span {
  width: 220px;
  display: inline-block;
  padding: 0 0 10px;
  border-bottom: 2px solid #000;
  font-size: 30px;
}
@media screen and (max-width: 1400px) {
  .voice h2 span {
    width: calc((220 / 1400) * 100vw);
    padding: 0 0 calc((10 / 1400) * 100vw);
    font-size: calc((30 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice h2 span {
    width: calc((320 / 750) * 100vw);
    padding: 0 0 calc((10 / 750) * 100vw);
    font-size: calc((50 / 750) * 100vw);
  }
}

.voice .subtitle {
  padding: 10px 0 0;
  margin: 0 0 20px;
  text-align: center;
  font-size: 20px;
}
@media screen and (max-width: 1400px) {
  .voice .subtitle {
    padding: calc((10 / 1400) * 100vw) 0 0;
    margin: 0 0 calc((20 / 1400) * 100vw);
    font-size: calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice .subtitle {
    padding: calc((10 / 750) * 100vw) 0 0;
    margin: 0 0 calc((45 / 750) * 100vw);
    font-size: calc((30 / 750) * 100vw);
  }
}

.voice-inner{
  width: 1200px;
  margin: 0 auto;
  padding: 0 0 55px;
  background-color: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 1400px) {
  .voice-inner{
    width: calc((1200 / 1400) * 100vw);
    padding: 0 0 calc((55 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice-inner{
    width: calc((670 / 750) * 100vw);
    padding: 0 0 calc((25 / 750) * 100vw);
  }
}

.voice-inner-card{
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 1400px) {
  .voice-inner-card{
    width: calc((1000 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card{
    width: calc((675 / 750) * 100vw);
  }
}

.voice-inner-card.sakae{
  margin: 0 auto 80px;
  padding: 20px 0 0;
}
@media screen and (max-width: 1400px) {
  .voice-inner-card.sakae{
    margin: 0 auto calc((80 / 1400) * 100vw);
    padding: calc((20 / 1400) * 100vw) 0 0;
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.sakae{
    padding: calc((20 / 750) * 100vw) calc((30 / 750) * 100vw) 0;
    margin: 0 auto calc((80 / 750) * 100vw);
  }
}

.voice-inner-card.sakae h3{
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin: 0 0 40px;
  border-bottom: 2px solid #000;
}
@media screen and (max-width: 1400px) {
  .voice-inner-card.sakae h3{
    margin: 0 0 calc((40 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.sakae h3{
    border-bottom: 2px solid #000;
    margin: 0 0 calc((40 / 750) * 100vw);
  }
}

.voice-inner-card.sakae h3 .name{
  height: 70px;
  display: flex;
  align-items: end;
  padding: 0 0 7px 82px;
  font-size: 26px;
  background-image: url(../img/voice-inner-card-sakae-logo.png);
  background-repeat: no-repeat;
}
@media screen and (max-width: 1400px) {
  .voice-inner-card.sakae h3 .name{
    height: calc((70 / 1400) * 100vw);
    padding: 0 0 calc((7 / 1400) * 100vw) calc((82 / 1400) * 100vw);
    font-size: calc((26 / 1400) * 100vw);
    background-size: calc((64 / 1400) * 100vw) calc((58 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.sakae h3 .name{
    height: calc((70 / 750) * 100vw);
    padding: 0 0 calc((7 / 750) * 100vw) calc((82 / 750) * 100vw);
    font-size: calc((30 / 750) * 100vw);
    background-size: calc((64 / 750) * 100vw) calc((58 / 750) * 100vw);
  }
}

.voice-inner-card.sakae h3 .label{
  width: 140px;
  height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 7px;
  background-color: #737373;
  font-size: 12px;
  color: #fff;
  line-height: 1;
}
@media screen and (max-width: 1400px) {
  .voice-inner-card.sakae h3 .label{
    width: calc((140 / 1400) * 100vw);
    height: calc((27 / 1400) * 100vw);
    margin-bottom: calc((7 / 1400) * 100vw);
    font-size: calc((12 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.sakae h3 .label{
    position: relative;
    width: calc((140 / 750) * 100vw);
    height: calc((27 / 750) * 100vw);
    bottom: calc((-40 / 750) * 100vw);
    font-size: calc((17 / 750) * 100vw);
  }
}

.voice-inner-card.sakae p{
  font-size: 18px;
  line-height: 2.2;
}
@media screen and (max-width: 1400px) {
  .voice-inner-card.sakae p{
    font-size: calc((18 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.sakae p{
    font-size: calc((26 / 750) * 100vw);
    line-height: 1.8;
  }
}

.voice-inner-card.sakae .voice-inner-card-image{
  display:flex;
  justify-content: space-between;
  padding: 45px 0 0 0;
}
@media screen and (max-width: 1400px) {
  .voice-inner-card.sakae .voice-inner-card-image{
    padding: calc((45 / 1400) * 100vw) 0 0 0;
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.sakae .voice-inner-card-image{
    display: block;
    padding: calc((45 / 750) * 100vw) 0 0 0;
    text-align: center;
  }
}

@media screen and (max-width: 1400px) {
  .voice-inner-card.sakae .voice-inner-card-image img{
    width: calc((470 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.sakae .voice-inner-card-image img{
    width: calc((470 / 750) * 100vw);
    margin: 0 0 calc((40 / 750) * 100vw);
  }
}

.voice-inner-card.tori{
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .voice-inner-card.tori{
    padding: calc((20 / 750) * 100vw) calc((30 / 750) * 100vw) 0;
  }
}

.voice-inner-card.tori h3{
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin: 0 0 40px;
  border-bottom: 2px solid #000;
}
@media screen and (max-width: 1400px) {
  .voice-inner-card.tori h3{
    margin: 0 0 calc((40 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.tori h3{
    border-bottom: 2px solid #000;
    margin: 0 0 calc((40 / 750) * 100vw);
  }
}

.voice-inner-card.tori h3 .name{
  height: 70px;
  display: flex;
  align-items: end;
  padding: 0 0 7px 82px;
  background-image: url(../img/voice-inner-card-tori-logo.png);
  background-repeat: no-repeat;
  font-size: 26px;
}
@media screen and (max-width: 1400px) {
  .voice-inner-card.tori h3 .name{
    height: calc((70 / 1400) * 100vw);
    padding: 0 0 calc((7 / 1400) * 100vw) calc((82 / 1400) * 100vw);
    font-size: calc((26 / 1400) * 100vw);
    background-size: calc((60 / 1400) * 100vw) calc((60 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.tori h3 .name{
    height: calc((70 / 750) * 100vw);
    padding: 0 0 calc((7 / 750) * 100vw) calc((82 / 750) * 100vw);
    font-size: calc((30 / 750) * 100vw);
    background-size: calc((60 / 750) * 100vw) calc((60 / 750) * 100vw);
  }
}

.voice-inner-card.tori h3 .label{
  width: 140px;
  height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 7px;
  background-color: #737373;
  font-size: 12px;
  color: #fff;
  line-height: 1;
}
@media screen and (max-width: 1400px) {
  .voice-inner-card.tori h3 .label{
    width: calc((140 / 1400) * 100vw);
    height: calc((27 / 1400) * 100vw);
    margin-bottom: calc((7 / 1400) * 100vw);
    font-size: calc((12 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.tori h3 .label{
    position: relative;
    width: calc((140 / 750) * 100vw);
    height: calc((27 / 750) * 100vw);
    bottom: calc((-40 / 750) * 100vw);
    margin-bottom: 0;
    font-size: calc((17 / 750) * 100vw);
  }
}

.voice-inner-card.tori p{
  font-size: 18px;
  line-height: 2.2;
}
@media screen and (max-width: 1400px) {
  .voice-inner-card.tori p{
    font-size: calc((18 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.tori p{
    font-size: calc((26 / 750) * 100vw);
    line-height: 1.8;
  }
}

.voice-inner-card.tori .voice-inner-card-image{
  display:flex;
  justify-content: space-between;
  padding: 45px 0 0 0;
}
@media screen and (max-width: 1400px) {
  .voice-inner-card.tori .voice-inner-card-image{
    padding: calc((45 / 1400) * 100vw) 0 0 0;
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.tori .voice-inner-card-image{
    display: block;
    padding: calc((45 / 750) * 100vw) 0 0 0;
    text-align: center;
  }
}

@media screen and (max-width: 1400px) {
  .voice-inner-card.tori .voice-inner-card-image img{
    width: calc((470 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .voice-inner-card.tori .voice-inner-card-image img{
    width: calc((470 / 750) * 100vw);
    margin: 0 0 calc((40 / 750) * 100vw);
  }
}

/* contact */
.contact {
  width: 1400px;
  margin: 0 auto;
  padding: 111px 0 60px;
}
@media screen and (max-width: 1400px) {
  .contact {
    width: 100%;
    padding: calc((111 / 1400) * 100vw) 0 calc((90 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .contact {
    padding: calc((100 / 750) * 100vw) calc((30 / 750) * 100vw);
  }
}

.contact h2 {
  text-align: center;
}

.contact h2 span {
  width: 220px;
  display: inline-block;
  padding: 0 0 10px;
  border-bottom: 2px solid #000;
  font-size: 30px;
}
@media screen and (max-width: 1400px) {
  .contact h2 span {
    width: calc((220 / 1400) * 100vw);
    padding: 0 0 calc((10 / 1400) * 100vw);
    font-size: calc((30 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .contact h2 span {
    width: calc((330 / 750) * 100vw);
    padding: 0 0 calc((10 / 750) * 100vw);
    font-size: calc((50 / 750) * 100vw);
  }
}

.contact .subtitle {
  padding: 10px 0 0;
  margin: 0 0 45px;
  text-align: center;
  font-size: 20px;
}
@media screen and (max-width: 1400px) {
  .contact .subtitle {
    padding: calc((10 / 1400) * 100vw) 0 0;
    margin: 0 0 calc((45 / 1400) * 100vw);
    font-size: calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .contact .subtitle {
    padding: calc((10 / 750) * 100vw) 0 0;
    margin: 0 0 calc((45 / 750) * 100vw);
    font-size: calc((30 / 750) * 100vw);
  }
}

.contact-text{
  width: 1000px;
  margin: 0 auto 40px;
  font-size: 18px;
  line-height: 1.8;
}
@media screen and (max-width: 1400px) {
  .contact-text{
    width: calc((1000 / 1400) * 100vw);
    margin: 0 auto calc((40 / 1400) * 100vw);
    font-size: calc((18 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .contact-text{
    width: 100%;
    font-size: calc((28 / 750) * 100vw);
  }
}

.contact-inner{
  width: 680px;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 0 0 55px;
}
@media screen and (max-width: 1400px) {
  .contact-inner{
    width: calc((680 / 1400) * 100vw);
    padding: 0 0 calc((55 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .contact-inner{
    width: 100%;
  }
}

.contact-inner .kibou {
  margin: 0 0 60px
}
@media screen and (max-width: 1400px) {
  .contact-inner .kibou {
    margin: 0 0 calc((60 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .contact-inner .kibou {
    margin: 0 0 calc((60 / 750) * 100vw);
  }
}

.contact-inner .syurui {
  margin: 0 0 60px
}
@media screen and (max-width: 1400px) {
  .contact-inner .syurui {
    margin: 0 0 calc((60 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .contact-inner .syurui {
    margin: 0 0 calc((60 / 750) * 100vw);
  }
}

.contact-inner .gyousyu {
  margin: 0 0 120px
}
@media screen and (max-width: 1400px) {
  .contact-inner .gyousyu {
    margin: 0 0 calc((120 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .contact-inner .gyousyu {
    margin: 0 0 calc((120 / 750) * 100vw);
  }
}

.contact-inner .kibou label,
.contact-inner .syurui label {
  min-width: 49.5%;
  display: inline-block;
  margin: 0 0 20px;
  font-size: 20px;
}
@media screen and (max-width: 1400px) {
  .contact-inner .kibou label,
  .contact-inner .syurui label {
    margin: 0 0 calc((20 / 1400) * 100vw);
    font-size: calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .contact-inner .kibou label,
  .contact-inner .syurui label {
    min-width: 100%;
    display: inline-block;
    margin: 0 0 calc((20 / 750) * 100vw);
    font-size: calc((24 / 750) * 100vw);
  }
}

.contact-inner .gyousyu label {
  display: inline-block;
  min-width: 24.0%;
  margin: 0 0 20px;
  font-size: 20px;
}
@media screen and (max-width: 1400px) {
  .contact-inner .gyousyu label {
    display: inline-block;
    min-width: 24.0%;
    margin: 0 0 calc((20 / 1400) * 100vw);
    font-size: calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .contact-inner .gyousyu label {
    display: inline-block;
    min-width: 49.5%;
    margin: 0 0 calc((20 / 750) * 100vw);
    font-size: calc((24 / 750) * 100vw);
  }
}

.q2_other,
.q3_other {
  width: 100%;
  height: 170px;
  padding: 10px 5px;
  border: 1px solid #000;
  border-radius: 4px;
}
@media screen and (max-width: 1400px) {
  .q2_other,
  .q3_other {
    height: calc((170 / 1400) * 100vw);
    border-radius: calc((4 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .q2_other,
  .q3_other {
    height: calc((170 / 750) * 100vw);
    border-radius: calc((4 / 750) * 100vw);
  }
}

.form-title {
  display: inline-block;
  margin: 0 0 18px;
  font-size: 18px;
}
@media screen and (max-width: 1400px) {
  .form-title {
    display: inline-block;
    margin: 0 0 calc((18 / 1400) * 100vw);
    font-size: calc((18 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .form-title {
    font-size: calc((24 / 750) * 100vw);
  }
}

.input_company {
  width: 100%;
  border: 1px solid #000;
  border-radius: 4px;
  padding: 10px 5px;
}

.input_tel {
  width: 200px;
  border: 1px solid #000;
  border-radius: 4px;
  padding: 10px 5px;
}

.input_email {
  width: 100%;
  border: 1px solid #000;
  border-radius: 4px;
  padding: 10px 5px;
}

.input_toiawase {
  width: 100%;
  border: 1px solid #000;
  border-radius: 4px;
  padding: 10px 5px;
  height: 200px;
}

.agree {
  text-align: center;
}
@media screen and (max-width: 1400px) {
  .agree {
    font-size: calc((18 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .agree {
    font-size: calc((24 / 750) * 100vw);
  }
}


.captcha {
  text-align: center;
}

.send {
  text-align: center;
}

.input_captcha {
  border: 1px solid #000;
  padding: 10px 5px;
}

.contact-inner .error {
  color: #ff0000;
  font-size: 16px;
  display: inline-block;
  padding: 5px;
}

.submit-button {
  width: 490px;
  cursor: pointer;
  transition: background-color 0.3s, transform 0.2s;
  padding: 12px 24px;
  font-size: 22px;
  border-radius: 8px;
  background-color: #737373;
  color: #fff;
  border: none;
}
@media screen and (max-width: 1400px) {
  .submit-button {
    width: calc((490 / 1400) * 100vw);
    padding: calc((12 / 1400) * 100vw) calc((24 / 1400) * 100vw);
    font-size: calc((22 / 1400) * 100vw);
    border-radius: calc((8 / 1400) * 100vw);
    transition: background-color 0.3s, transform 0.2s;
  }
}
@media screen and (max-width: 767px) {
  .submit-button {
    width: calc((490 / 750) * 100vw);
    padding: calc((12 / 750) * 100vw) calc((24 / 750) * 100vw);
    font-size: calc((26 / 750) * 100vw);
    border-radius: calc((8 / 750) * 100vw);
    transition: background-color 0.3s, transform 0.2s;
  }
}

.submit-button:hover {
  background-color: #737373;
  transform: translateY(-2px);
}

.submit-button:active {
  background-color: #737373;
  transform: translateY(1px);
}

.styled-checkbox {
  appearance: none;
  /* デフォルトの見た目を消す */
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  position: relative;
  transition: background-color 0.2s, border-color 0.2s;
  margin: 0 10px 0 0;
  border: 1px solid #000;
  background-color: #fff;
  cursor: pointer;
}
@media screen and (max-width: 1400px) {
  .styled-checkbox {
    width: calc((20 / 1400) * 100vw);
    height: calc((20 / 1400) * 100vw);
    margin: 0 calc((10 / 1400) * 100vw) 0 0;
  }
}
@media screen and (max-width: 767px) {
  .styled-checkbox {
    width: calc((20 / 750) * 100vw);
    height: calc((20 / 750) * 100vw);
    margin: 0 calc((10 / 750) * 100vw) 0 0;
  }
}

.styled-checkbox:checked {
  background-color: #007BFF;
  border-color: #007BFF;
}

.styled-checkbox:checked::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 6px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
@media screen and (max-width: 1400px) {
  .styled-checkbox:checked::after {
    content: "";
    position: absolute;
    top: calc((2 / 1400) * 100vw);
    left: calc((6 / 1400) * 100vw);
    width: calc((5 / 1400) * 100vw);
    height: calc((10 / 1400) * 100vw);
    border-width: 0 2px 2px 0;
  }
}
@media screen and (max-width: 767px) {
  .styled-checkbox:checked::after {
    content: "";
    position: absolute;
    top: calc((2 / 750) * 100vw);
    left: calc((6 / 750) * 100vw);
    width: calc((5 / 750) * 100vw);
    height: calc((10 / 750) * 100vw);
    border-width: 0 2px 2px 0;
  }
}

.tel_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.company {
  margin: 0 0 40px;
}
@media screen and (max-width: 1400px) {
  .company {
    margin: 0 0 calc((40 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .company {
    margin: 0 0 calc((40 / 750) * 100vw);
  }
}

.tanto {
  margin: 0 0 40px;
}
@media screen and (max-width: 1400px) {
  .tanto {
    margin: 0 0 calc((40 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .tanto {
    margin: 0 0 calc((40 / 750) * 100vw);
  }
}

.tel_inner {
  margin: 0 0 40px;
}
@media screen and (max-width: 1400px) {
  .tel_inner {
    margin: 0 0 calc((40 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .tel_inner {
    margin: 0 0 calc((40 / 750) * 100vw);
  }
}

.mail {
  margin: 0 0 40px;
}
@media screen and (max-width: 1400px) {
  .mail {
    margin: 0 0 calc((40 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .mail {
    margin: 0 0 calc((40 / 750) * 100vw);
  }
}

.toiawase {
  margin: 0 0 40px;
}
@media screen and (max-width: 1400px) {
  .toiawase {
    margin: 0 0 calc((40 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .toiawase {
    margin: 0 0 calc((40 / 750) * 100vw);
  }
}

.agree {
  margin: 0 0 40px;
}
@media screen and (max-width: 1400px) {
  .agree {
    margin: 0 0 calc((40 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .agree {
    margin: 0 0 calc((40 / 750) * 100vw);
  }
}

.captcha {
  margin: 0 0 40px;
  font-size: 18px;
}
@media screen and (max-width: 1400px) {
  .company {
    margin: 0 0 calc((40 / 1400) * 100vw);
    font-size: calc((18 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .captcha {
    font-size: calc((27 / 750) * 100vw);
  }
}

/* profile */
.profile {
  width: 1400px;
  height: 1250px;
  margin: 0 auto;
  padding: 40px 0 0;
  background-image: url(../img/profile-bk_01.png);
  background-size: cover;
}
@media screen and (max-width: 1400px) {
  .profile {
    width: 100%;
    padding: calc((40 / 1400) * 100vw) 0 calc((90 / 1400) * 100vw);
    height: calc((1250 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .profile {
    background-image: url(../img/profile-bk_sp_01.png);
    padding: calc((100 / 750) * 100vw) calc((40 / 750) * 100vw);
    height: calc((1950 / 750) * 100vw);
  }
}

.profile h2 {
  text-align: center;
  color: #fff;
}

.profile h2 span {
  display: inline-block;
  border-bottom: 2px solid #fff;
  padding: 0 20px 10px;
  font-size: 30px;
}
@media screen and (max-width: 1400px) {
  .profile h2 span {
    padding: 0 0 calc((10 / 1400) * 100vw);
    font-size: calc((30 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .profile h2 span {
    width: calc((670 / 750) * 100vw);
    padding: 0 0 calc((10 / 750) * 100vw);
    font-size: calc((50 / 750) * 100vw);
  }
}

.profile .subtitle {
  text-align: center;
  padding: 10px 0 0;
  margin: 0 0 45px;
  color: #fff;
  font-size: 20px;
}
@media screen and (max-width: 1400px) {
  .profile .subtitle {
    padding: calc((10 / 1400) * 100vw) 0 0;
    margin: 0 0 calc((45 / 1400) * 100vw);
    font-size: calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .profile .subtitle {
    padding: calc((10 / 750) * 100vw) 0 0;
    margin: 0 0 calc((45 / 750) * 100vw);
    font-size: calc((30 / 750) * 100vw);
  }
}

.text-top{
  width: 800px;
  margin: 0 auto 15px;
  color: #fff;
}
@media screen and (max-width: 1400px) {
  .text-top{
    width: calc((800 / 1400) * 100vw);
    margin: 0 auto calc((15 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .text-top{
    width: 100%;
    margin: 0 auto calc((60 / 750) * 100vw);
  }
}

.img-wrap {
  float: right;
  width: 239px;
  margin: 0 20px 15px 15px;
  /* 左と下に余白をつける */
}
@media screen and (max-width: 1400px) {
  .img-wrap {
    /* 左と下に余白をつける */
    width: calc((240 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .img-wrap {
    /* 左と下に余白をつける */
    width: calc((240 / 750) * 100vw);
  }
}

.text-top p{
  padding: 0 20px 0 0;
  font-size: 20px;
  line-height: 1.8;
}
@media screen and (max-width: 1400px) {
  .text-top p{
    padding: 0 calc((20 / 1400) * 100vw) 0 0;
    font-size: calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .text-top p{
    padding: 0 calc((20 / 750) * 100vw) 0 0;
    font-size: calc((27 / 750) * 100vw);
  }
}

.text-bottom{
  width: 800px;
  margin: 0 auto;
  color: #fff;
  font-size: 20px;
}
@media screen and (max-width: 1400px) {
  .text-bottom{
    width: calc((800 / 1400) * 100vw);
    font-size: calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .text-bottom{
    width: 100%;
  }
}

.text-bottom p{
  padding: 0 20px 0 0;
  margin: 0 0 40px;
  font-size: 20px;
  line-height: 1.8;
}
@media screen and (max-width: 1400px) {
  .text-bottom p{
    padding: 0 calc((20 / 1400) * 100vw) 0 0;
    margin: 0 0 calc((40 / 1400) * 100vw);
    font-size: calc((20 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .text-bottom p{
    padding: 0 calc((20 / 750) * 100vw) 0 0;
    margin: 0 0 calc((40 / 750) * 100vw);
    font-size: calc((27 / 750) * 100vw);
  }
}

.profile .link{
  width: 800px;
  padding: 20px 0 0;
  margin: 0 auto;
}
@media screen and (max-width: 1400px) {
  .profile .link{
    width: calc((800 / 1400) * 100vw);
    padding: calc((20 / 1400) * 100vw) 0 0;
  }
}
@media screen and (max-width: 767px) {
  .profile .link{
    width: 100%;
    padding: 0 0 0;
  }
}

.profile .link img{
  width: 606px;
}
@media screen and (max-width: 1400px) {
  .profile .link img{
    width: calc((606 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .profile .link img{
    width: 100%;
  }
}

/* footer */
footer{
  width: 1400px;
  margin: 0 auto;
  padding: 5px 0;
  text-align: center;
  background-color: #000;
  color: #fff;
  font-size: 14px;
}
@media screen and (max-width: 1400px) {
  footer{
    width: 100%;
    margin: 0 auto;
    font-size: calc((14 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  footer{
    padding: calc((15 / 750) * 100vw) 0;
    font-size: calc((20 / 750) * 100vw);
  }
}


/* common */
@media screen and (max-width: 767px) {
  .sp-none {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .pc-none {
    display: none !important;
  }
}

.anc-link:before {
  content: '';
  display: block;
  padding-top: 120px;
  margin-top: -120px;
  visibility: hidden;
}

.anc-link-map:before {
  content: '';
  display: block;
  padding-top: 230px;
  margin-top: -230px;
  visibility: hidden;
}

@media screen and (max-width: 767px) {
  .sp-nowrap {
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) {
  .pc-nowrap {
    white-space: nowrap;
  }
}

.carousel {
  padding: 70px 0 40px;
}
@media screen and (max-width: 1400px) {
  .carousel {
    padding: calc((70 / 1400) * 100vw) 0 calc((40 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .carousel {
    padding: 0 0 0;
  }
}

.carousel .swiper-slide img {
  display: block;
  width: 380px;
}
@media screen and (max-width: 1400px) {
  .carousel .swiper-slide img {
    width: calc((380 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .carousel .swiper-slide img {
    width: calc((533 / 750) * 100vw)
  }
}

.carousel .swiper-pagination {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  .carousel .swiper-pagination {
    display: none;
  }
}

.carousel .swiper-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 40px;
}
@media screen and (max-width: 1400px) {
  .carousel .swiper-controls {
    gap: calc((20 / 1400) * 100vw);
    margin-top: calc((40 / 1400) * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .carousel .swiper-controls {
    display: none;
  }
}

.carousel .swiper-button-prev,
.carousel .swiper-button-next {
  cursor: pointer;
  font-size: 24px;
  user-select: none;
}

@media screen and (max-width: 767px) {

  .carousel .swiper-button-prev,
  .carousel .swiper-button-next {
    display: none;
  }
}

.carousel .swiper-pagination {
  flex-shrink: 0;
}

/* デフォルト位置を無効化（中央の左右から移動） */
.carousel .swiper-button-prev,
.carousel .swiper-button-next {
  position: static;
  /* スライド内の絶対配置を解除 */
  width: auto;
  height: auto;
  color: #000;
  /* 必要に応じて色も指定 */
  font-size: 24px;
  z-index: 100;
}

.carousel .swiper-button-prev::after {
  content: '＜';
  font-size: 24px;
  color: #333;
}
@media screen and (max-width: 1400px) {
  .carousel .swiper-button-prev::after {
    font-size: calc((24 / 1400) * 100vw);
  }
}

.carousel .swiper-button-next::after {
  content: '＞';
  font-size: 24px;
  color: #333;
}
@media screen and (max-width: 1400px) {
  .carousel .swiper-button-next::after {
    font-size: calc((24 / 1400) * 100vw);
  }
}

.carousel .swiper-button-prev {
  position: absolute;
  left: 369px;
  top:-5px;
  z-index: 101;
}
@media screen and (max-width: 1400px) {
  .carousel .swiper-button-prev {
    left: calc(((369 * 0.8) / 1400) * 100vw);
    top:calc((-5 / 1400) * 100vw);
  }
}
@media screen and (max-width: 900px) {
  .carousel .swiper-button-prev {
    top:calc((-2 / 1400) * 100vw);
  }
}

.carousel .swiper-button-next {
  position: absolute;
  right: 369px;
  top:-5px;
  z-index: 101;
}
@media screen and (max-width: 1400px) {
  .carousel .swiper-button-next {
    right: calc(((369 * 0.8) / 1400) * 100vw);
    top:calc((-5 / 1400) * 100vw);
  }
}
@media screen and (max-width: 900px) {
  .carousel .swiper-button-next {
    top:calc((-2 / 1400) * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .carousel .swiper-slide{
  width: 80%;
  }
}

.omitsumori-point .carousel .swiper-button-prev {
  position: absolute;
  left: 440px;
  top:-5px;
  z-index: 101;
}
@media screen and (max-width: 1400px) {
  .omitsumori-point .carousel .swiper-button-prev {
    left: calc(((440 * 0.8) / 1400) * 100vw);
    top:calc((-5 / 1400) * 100vw);
  }
}
@media screen and (max-width: 900px) {
  .omitsumori-point .carousel .swiper-button-prev {
    top:calc((-2 / 1400) * 100vw);
  }
}

.omitsumori-point .carousel .swiper-button-next {
  position: absolute;
  right: 440px;
  top:-5px;
  z-index: 101;
}
@media screen and (max-width: 1400px) {
  .omitsumori-point .carousel .swiper-button-next {
    right: calc(((440 * 0.8) / 1400) * 100vw);
    top:calc((-5 / 1400) * 100vw);
  }
}
@media screen and (max-width: 900px) {
  .omitsumori-point .carousel .swiper-button-next {
    top:calc((-2 / 1400) * 100vw);
  }
}

/* ページネーションと矢印を並べる親要素 */
.carousel .swiper-controls {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 60px;
}
@media screen and (max-width: 1400px) {
  .carousel .swiper-controls {
    gap: calc((20 / 1400) * 100vw);
    margin-top: calc((60 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .carousel .swiper-controls {
    gap: 20px;
    margin-top: 60px;
  }
}

/* 通常のバレットの色 */
.carousel .swiper-pagination-bullet {
  margin: 0 8px !important;
}
@media screen and (max-width: 1400px) {
  .carousel .swiper-pagination-bullet {
    margin: 0 calc((8 / 1400) * 100vw) !important;
  }
}

/* アクティブなバレットの色 */
.carousel .swiper-pagination-bullet-active {
  background-color: #000;
}

/* スマートフォン（768px以下）で大きく表示 */
@media screen and (max-width: 768px) {
  .carousel .swiper-pagination-bullet {
    width: 18px;
    height: 18px;
    margin: 0 10px;
  }
}


#toTop {
  position: fixed;
  bottom: 60px;
  right: 20px;
  padding: 10px 15px;
  cursor: pointer;
  display: none; /* 最初は非表示 */
  z-index: 1000;
}

#toTop:hover {
  opacity: 0.8;
}

@media screen and (max-width: 1400px) {
  #toTop img{
    width: calc((100 / 1400) * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #toTop img{
    width: calc((100 / 750) * 100vw);
  }
}

a:hover{
  opacity: 0.8;
}

/* ボタンのベーススタイル */
.fixed-bottom-button {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: #fff; /* 任意の色 */
  color: white;
  text-align: center;
  padding: 0.7em;
  font-size: 1.1em;
  border: none;
  cursor: pointer;
  display: none; /* デフォルトでは非表示 */
}

/* スマートフォンの幅（768px以下）で表示 */
@media screen and (max-width: 768px) {
  .fixed-bottom-button {
    display: block;
  }
}

.fixed-bottom-button a{
  background-color: #737373;
  color: #fff;
  width:  calc((440 / 750) * 100vw);
  padding: 7px 0;
  display: inline-block;
  border-radius: 5px;
}

.privacy-link{
  color: #007BFF;
}

.privacy-link:hover{
  text-decoration: underline;
}
