@charset "UTF-8";

/* ================================================================

TOP(index.php)

==================================================================*/
#top{
  overflow:hidden!important;
  width:100%;
}

/* メインビジュアル
================================================================*/
#main-visual {
	width:100%;
	position:relative;
  padding:20px;
  background-color:#f5f5f5;
  position:relative;
}

#main-visual::before{
  content:'';
  display:block;
  width:50vw;
  position:absolute;
  top:0;
  left:50%;
  height:100%;
  background-color:#f5f5f5;
  z-index:-1;
}

.swiper-wrap {
  display:flex!important;
  flex-wrap:wrap!important;
}

@media screen and (max-width: 1199px){
  #main-visual {
    padding:20px 15px;
  }
}

@media screen and (max-width: 1023px){
  #main-visual {
    padding:85px 15px 20px 15px;
  }
}

/* svg */
#main-visual .svg-wrapper{
  position:absolute;
  bottom:-280px;
  left:0;
  width:calc(100vw - 300px);
  height:280px;
}

#main-visual .svg-wrapper svg{
  width:100%;
  height:100%;
  transform:scale(-1,1);
}

@media screen and (max-width: 1439px){
  #main-visual .svg-wrapper{
    position:absolute;
    bottom:-250px;
    left:0;
    width:calc(100vw - 200px);
    height:250px;
  }
}

@media screen and (max-width: 1199px){
  #main-visual .svg-wrapper{
    bottom:-150px;
    height:150px;
  }
}

@media screen and (max-width: 1023px){
  #main-visual .svg-wrapper{
    bottom:-150px;
    height:150px;
    width:100%;
  }
}

@media screen and (max-width: 743px){
  #main-visual .svg-wrapper{
    bottom:-80px;
    height:80px;
    width:100%;
  }
}


/* メインスライダー */
.main-swiper {
  height: 600px;
  width: calc(100% - 400px);
  border-radius:20px;
  margin-right:25px!important;
  position:relative;
}

.main-swiper p{
  position:absolute;
  top:40px;
  right:60px;
  width:auto;
  display:inline-block;
  z-index:10;
  -ms-writing-mode: tb-rl; /* 縦書き */
  writing-mode: vertical-rl;
  font-weight:800;
  font-size:28px;
  line-height:70px;
  padding:15px 0px;
  color:#9c1009;
}

.main-swiper p::after,
.main-swiper p::before{
  content:'';
  display:block;
  position:absolute;
  top:0;
  background-color:#fff;
  z-index:-1;
  width:60px;
}

.main-swiper p::after{
  right:5px;
  height:100%;
}

.main-swiper p::before{
  left:5px;
  height:160px;
}

.main-wrap {
  width: 100%;
  height: 100%;
}

.swiper-slide{
  color: #ffffff;
  width: 100%;
  height: 100%;
  text-align: center;
}

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

@media screen and (max-width: 1439px){
  .main-swiper {
    height: 550px;
    width: calc(100% - 270px);
    border-radius:20px;
    margin-right:15px!important;
  }

  .main-swiper p{
    position:absolute;
    top:40px;
    right:60px;
    font-size:24px;
    line-height:65px;
    padding:15px 0px;
  }

  .main-swiper p::after,
  .main-swiper p::before{
    width:50px;
  }

  .main-swiper p::after{
    right:7px;
    height:100%;
  }

  .main-swiper p::before{
    left:7px;
    height:135px;
  }

  .main-wrap {
    width: 100%;
    height: 100%;
  }
}

@media screen and (max-width: 1199px){
  .main-swiper {
    height: 450px;
    width: calc(100% - 240px);
    border-radius:15px;
    margin-right:10px!important;
  }

  .main-swiper p{
    position:absolute;
    top:30px;
    right:20px;
    font-size:20px;
    line-height:55px;
    padding:10px 0px;
  }

  .main-swiper p::after,
  .main-swiper p::before{
    width:45px;
  }

  .main-swiper p::after{
    right:5px;
    height:100%;
  }

  .main-swiper p::before{
    left:5px;
    height:110px;
  }
}

@media screen and (max-width: 1199px){
  .main-swiper {
    height: 550px;
  }
}

@media screen and (max-width: 743px){
  .main-swiper {
    height: 400px;
    width: 100%;
    border-radius:15px;
    margin-right:0!important;
  }

  .main-swiper p{
    position:absolute;
    top:20px;
    right:10px;
    font-size:18px;
    line-height:50px;
    padding:10px 0px;
  }

  .main-swiper p::after,
  .main-swiper p::before{
    width:40px;
  }

  .main-swiper p::after{
    right:5px;
    height:100%;
  }

  .main-swiper p::before{
    left:5px;
    height:100px;
  }
}


/* サムネイルリスト */
.sub-swiper {
  width:375px;
  height:600px;
}

.thumbs-wrap{
  display:flex!important;
  flex-wrap:wrap!important;
}

.thumbs-wrap .thumbs-list {
  margin-bottom:15px;
  height:calc((100% - 45px) / 4);
  border-radius:15px;
  background-color:#fff;
  display:flex;
  flex-wrap:wrap;
	justify-content: center;
	align-items: center;
}

.thumbs-wrap .thumbs-list:last-of-type{
  margin-bottom:0;
}

.thumbs-wrap .thumbs-list:hover{
  background-color:#ffb6c1;
}

.thumbs-wrap .thumbs-list img{
  width:100px;
  height:100px;
  display:inline-block;
  vertical-align: middle;
  margin:0;
}

.thumbs-wrap .thumbs-list p{
  display:inline-block;
  vertical-align: middle;
  width:auto;
  font-weight:600;
  font-size:18px;
  padding-left:15px;
  width:210px;
  margin:0;
}

.thumbs-wrap .thumbs-list .arrow{
  display: inline-block;
  vertical-align: middle;
  width:auto;
  transform:scale(0.6,1);
  margin:0;
}

.thumbs-wrap .thumbs-list .arrow span {
  display: inline-block;
  vertical-align: middle;
  color: #3d6bad;
  line-height: 1;
  position: relative;
  width: 1.4em;
  height: 1.4em;
  transform: translateX(-25%) rotate(45deg);
}

.thumbs-wrap .thumbs-list .arrow span::before,
.thumbs-wrap .thumbs-list .arrow span::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 0.2em;
}

.thumbs-wrap .thumbs-list .arrow span::before {
  top: 0;
  left: 0;
  right: 0;
  height: 0.2em;
}

.thumbs-wrap .thumbs-list .arrow span::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 0.2em;
}

@media screen and (max-width: 1439px){
  .sub-swiper {
    width:255px;
    height:430px;
  }

  .thumbs-wrap .thumbs-list {
    margin-bottom:10px;
    height:calc((100% - 45px) / 4);
    border-radius:10px;
    height:100px;
  }

  .thumbs-wrap .thumbs-list img{
    width:60px;
    height:60px;
  }

  .thumbs-wrap .thumbs-list p{
    font-size:14.5px;
    padding-left:10px;
    width:155px;
    margin:0;
    letter-spacing:0.05em;
  }

  .thumbs-wrap .thumbs-list .arrow{
    transform:scale(0.6,0.8);
  }
}

@media screen and (max-width: 1199px){
  .sub-swiper {
    width:230px;
    height:390px;
  }

  .thumbs-wrap .thumbs-list {
    margin-bottom:10px;
    height:calc((100% - 45px) / 4);
    border-radius:10px;
    height:90px;
  }

  .thumbs-wrap .thumbs-list img{
    width:60px;
    height:60px;
  }

  .thumbs-wrap .thumbs-list p{
    font-size:13.5px;
    padding-left:7px;
    width:135px;
    margin:0;
    letter-spacing:0;
    line-height:20px;
  }

  .thumbs-wrap .thumbs-list .arrow{
    transform:scale(0.5,0.7);
  }
}

@media screen and (max-width: 743px){
  .sub-swiper {
    width:100%;
    height:auto;
    margin-top:10px;
  }

  .thumbs-wrap .thumbs-list {
    width:calc((100% - 10px)/2)!important;
    margin-bottom:10px!important;
    border-radius:10px;
    height:auto;
    display:block;
  }

  .thumbs-wrap .thumbs-list:nth-of-type(odd){
    margin-right:10px;
  }

  .thumbs-wrap .thumbs-list img{
    width:50px;
    height:50px;
    display:inline-block;
    vertical-align:middle;
    margin:10px 0 5px 0;
  }

  .thumbs-wrap .thumbs-list p{
    font-size:13px;
    padding-left:5px;
    width:100%;
    letter-spacing:0;
    line-height:18px;
    display:inline-block;
    vertical-align:middle;
    text-align:center;
  }

  .thumbs-wrap .thumbs-list .arrow{
    transform:scale(0.7,0.5) rotate(90deg);
    display:block;
    width:0em;
    margin: 0 auto 10px auto;
  }
}



/* ミニキャッチ */
#main-visual .subtitle-txt{
  background-color:#E55C7B;;
  padding:10px 35px;
  border-radius:50px;
  margin-top:15px;
  display:inline-block;
  width:auto;
  color:#fff;
  font-weight:600;
  font-size:18px;
  letter-spacing: 2px;
}

#main-visual .subtitle-txt br{
  display:none;
}

@media screen and (max-width: 1439px){
  #main-visual .subtitle-txt{
    padding:8px 35px;
    font-size:14.5px;
    letter-spacing: 3px;
  }
}

@media screen and (max-width: 1199px){
  #main-visual .subtitle-txt{
    padding:8px 30px;
    font-size:13px;
    letter-spacing: 2px;
  }
}

@media screen and (max-width: 1023px){
  #main-visual .subtitle-txt{
    padding:8px 20px;
    font-size:13px;
    letter-spacing: 0.1em;
    width:100%;
    text-align: center;
  }
}

@media screen and (max-width: 743px){
  #main-visual .subtitle-txt{
    padding:15px 20px;
    font-size:13px;
    width:110%;
    margin-left:-5%;
    border-radius:0;
    text-align: center;
  }

  #main-visual .subtitle-txt br{
    display:inline-block;
  }
}



/* OUR SERVICE
================================================================*/
#service{
  position:relative;
}

#service::after{
  content:'';
  display:block;
  position:absolute;
  bottom:0;
  width:100%;
  height:500px;
  background-color:#f2efdf;
  z-index:-1;
}

#service .about-wrap{
  position:relative;
  text-align: center;
}

#service .about-wrap h2{
  color:#9c1009;
  font-size:40px;
  line-height:60px;
  font-weight:800;
  letter-spacing: 8px;
  margin-bottom:15px;
}

#service .about-wrap h2 + p{
  font-weight:600;
  line-height:26px;
}

@media screen and (max-width: 1439px){
  #service .about-wrap h2{
    font-size:34px;
    line-height:45px;
    letter-spacing: 7px;
    margin-bottom:10px;
  }
}

@media screen and (max-width: 1199px){
  #service{
    margin-top:-30px;
  }

  #service .about-wrap h2{
    font-size:30px;
    line-height:40px;
    letter-spacing: 5px;
    margin-bottom:10px;
  }

  #service .about-wrap h2 + p{
    font-size:14px;
    line-height:24px;
  }

  #service::after{
    height:410px;
  }
}

@media screen and (max-width: 743px){
  #service{
    margin-top:-40px;
  }

  #service .about-wrap h2{
    font-size:24px;
    line-height:30px;
    letter-spacing: 5px;
  }

  #service .about-wrap h2 + p{
    font-size:13px;
    line-height:22px;
  }

  #service::after{
    height:850px;
  }
}

/* 英字タイトル(共通) */
#service .section-ttl{
  -ms-writing-mode: tb-rl; /* 縦書き */
  writing-mode: vertical-rl;
  position:absolute;
  top:-30px;
  left:-1.5em;
  width:1em;
}

@media screen and (max-width: 743px){
  #service .section-ttl{
    -ms-writing-mode: inherit;
    writing-mode: inherit;
    position:inherit;
    top:-10px;
    left:-5px;
    width:100%;
  }
}


/* サービス内容
======================================*/
#service .service-wrap{
  display:flex;
  flex-wrap:wrap;
  margin-top:20px;
}

/* メイン */
#service .main-service{
  width:100%;
  margin: 20px 0;
  display:flex;
  flex-wrap:wrap;
  align-items: center;
}

#service .main-service .img{
  background-color:darkgray;
  border-radius:15px;
  height:250px;
  width:45%;
  overflow: hidden;
}

#service .service-wrap .img img{
  width:100%;
  height:100%;
  object-fit: cover;
}

#service .main-service p{
  width:55%;
  padding-left:30px;
  margin-top:-30px;
}

#service .main-service p span{
  display:block;
  font-weight:600;
  font-size:22px;
  margin-bottom:15px;
}

@media screen and (max-width: 1439px){
  #service .main-service .img{
    border-radius:10px;
    height:200px;
  }

  #service .main-service p{
    font-size:15px;
  }
}

@media screen and (max-width: 1199px){
  #service .service-wrap{
    margin-top:10px;
  }

  #service .main-service{
    margin: 20px 0;
  }

  #service .main-service .img{
    width:45%;
    border-radius:10px;
    height:180px;
  }

  #service .main-service p{
    width:55%;
    padding-left:20px;
    margin-top:-20px;
    font-size:13px;
    line-height:20px;
  }

  #service .main-service p span{
    font-size:19px;
    margin-bottom:10px;
  }
}

@media screen and (max-width: 743px){
  #service .service-wrap{
    margin-top:10px;
  }

  #service .main-service{
    margin: 20px 0;
  }

  #service .main-service .img{
    width:100%;
    border-radius:10px;
    height:180px;
  }

  #service .main-service p{
    width:100%;
    padding-left:0;
    margin-top:10px;
    font-size:12px;
    line-height:18px;
  }

  #service .main-service p span{
    font-size:16px;
    margin-bottom:5px;
    text-align: center;
    display:block;
  }
}

/* サブ */
#service .sub-service{
  width:calc((100% - 40px) / 3);
  margin-right:20px;
}

#service .sub-service:last-of-type{
  margin-right:0;
}

#service .sub-service .img{
  background-color:darkgray;
  border-radius:10px;
  height:230px;
  overflow: hidden;
}

#service .sub-service p{
  font-size:15px;
}

#service .sub-service p span{
  display:block;
  text-align: center;
  margin:20px 0 15px 0;
  font-weight:600;
  font-size:18px;
}

@media screen and (max-width: 1439px){
  #service .sub-service .img{
    height:180px;
  }

  #service .sub-service p{
    font-size:14px;
  }
}

@media screen and (max-width: 1199px){
  #service .sub-service .img{
    height:130px;
  }

  #service .sub-service p{
    font-size:13px;
    line-height:20px;
  }

  #service .sub-service p span{
    margin:15px 0 5px 0;
    font-size:16px;
  }
}

@media screen and (max-width: 743px){
  #service .sub-service{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    margin-right:0;
    margin-bottom:20px;
  }

  #service .sub-service:last-of-type{
    margin-right:0;
  }

  #service .sub-service .img{
    height:auto;
    width:130px;
  }

  #service .sub-service p{
    font-size:12px;
    line-height:18px;
    width:calc(100% - 130px);
    padding-left:10px;
  }

  #service .sub-service p span{
    margin:5px 0 5px 0;
    font-size:15px;
    text-align: left;
  }

  #service .sub-service:nth-of-type(3) p{
    order:-1;
    padding-left:0;
    padding-right:10px;
  }
}

/* リンク(共通) */
#service .link-btn{
  background-color:#ffb6c1;
  color:#fff;
  margin-top:50px;
}


/* 対応エリア
================================================================*/
#area .area-wrap{
  background-color:#f2efdf;
  border-radius:20px;
  display:flex;
  flex-wrap:wrap;
}

#area .area-wrap img{
  width:35%;
}

#area .area-wrap .area-txt{
  width:65%;
  text-align: right;
  padding: 70px 30px 50px 30px;
}

#area .area-wrap .area-txt span{
  color:#45945b;
  display:block;
  font-weight:800;
  font-size:18px;
  margin-bottom:10px;
}

#area .area-wrap .area-txt strong{
  color:#45945b;
  display:block;
  font-size:45px;
  font-weight:800;
  line-height:50px;
}

#area .area-wrap .area-txt p{
  font-weight:600;
  margin-top:20px;
  line-height:30px;
}

#area .area-wrap .area-txt a{
  background-color:#ffb6c1;
  padding:15px 30px;
  border-radius:100px;
  display:inline-block;
  width:auto;
  margin-top:30px;
  font-weight:600;
  color:#fff;
}

@media screen and (max-width: 1439px){
  #area .area-wrap img{
    width:35%;
  }

  #area .area-wrap .area-txt{
    width:65%;
    text-align: right;
    padding: 60px 30px 40px 50px;
  }

  #area .area-wrap .area-txt span{
    font-size:17px;
    margin-bottom:5px;
  }

  #area .area-wrap .area-txt strong{
    font-size:36px;
    line-height:40px;
  }

  #area .area-wrap .area-txt p{
    margin-top:15px;
    line-height:25px;
    font-size:15px;
  }

  #area .area-wrap .area-txt a{
    padding:13px 30px;
    margin-top:20px;
    font-size:15px;
  }
}

@media screen and (max-width: 1199px){
  #area .area-wrap img{
    width:35%;
  }

  #area .area-wrap .area-txt{
    width:65%;
    text-align: right;
    padding: 35px 30px 20px 50px;
  }

  #area .area-wrap .area-txt span{
    font-size:15px;
    margin-bottom:3px;
  }

  #area .area-wrap .area-txt strong{
    font-size:28px;
    line-height:35px;
  }

  #area .area-wrap .area-txt p{
    margin-top:15px;
    line-height:23px;
    font-size:13.5px;
  }

  #area .area-wrap .area-txt a{
    padding:12px 30px;
    margin-top:20px;
    font-size:13px;
  }
}

@media screen and (max-width: 743px){
  #area .area-wrap img{
    width:100%;
    opacity:0.6;
  }

  #area .area-wrap .area-txt{
    width:100%;
    text-align: right;
    padding: 0 20px;
    margin-top:-350px;
    position:relative;
    z-index:10;
    text-align:center;
  }

  #area .area-wrap .area-txt span{
    font-size:15px;
    margin-bottom:3px;
  }

  #area .area-wrap .area-txt strong{
    font-size:25px;
    line-height:35px;
  }

  #area .area-wrap .area-txt p{
    margin-top:10px;
    line-height:22px;
    font-size:12px;
    letter-spacing:0.05em;
  }

  #area .area-wrap .area-txt p br:first-of-type{
    display:none;
  }

  #area .area-wrap .area-txt a{
    padding:10px 30px;
    margin-top:20px;
    font-size:12.5px;
    margin-top:140px;
  }
}


/* ご依頼の流れ
================================================================*/
#request{
  background-color:#f2efdf;
}

#request .request-wrap{
  display:flex;
  flex-wrap:wrap;
  position:relative;
}

/* 英字タイトル */
#request .section-ttl{
  margin-bottom:20px;
  left:-55px;
}

@media screen and (max-width: 743px){
  #request .section-ttl{
    left:0;
    text-align: center;
    display:block;
    margin-top:-80px;
    padding-left:5px;
    margin-bottom:70px;
  }
}

/* サイドタイトル */
#request .ttl-wrap{
  -ms-writing-mode: tb-rl; /* 縦書き */
  writing-mode: vertical-rl;
  width:250px;
  order:1;
}

#request .ttl-wrap h2{
  width:1em;
  font-size:30px;
  font-weight:800;
  margin-left:30px;
}

#request .ttl-wrap p{
  font-weight:700;
  padding-top:3px;
}

/* STEP枠 */
#request .step-wrap{
  width:calc(100% - 250px);
}

@media screen and (max-width: 1439px){
  #request .ttl-wrap{
    width:200px;
  }

  #request .step-wrap{
    width:calc(100% - 200px);
  }
}

@media screen and (max-width: 1199px){
  #request .ttl-wrap{
    margin-top:-50px;
  }

  #request .ttl-wrap h2{
    font-size:26px;
    margin-left:20px;
  }

  #request .ttl-wrap p{
    font-weight:700;
    padding-top:3px;
    font-size:14.5px;
  }
}

@media screen and (max-width: 743px){
  #request .ttl-wrap{
    width:100%;
    order:-1;
    margin-top:0px;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
  }

  #request .ttl-wrap h2{
    width:100%;
    font-size:22px;
    margin-left:0;
    text-align:center;
  }

  #request .ttl-wrap p{
    font-weight:500;
    padding-top:3px;
    font-size:13px;
    text-align: center;
  }

  #request .step-wrap{
    width:95%;
  }
}

/* step１〜５
=======================================*/
/* 枠 */
#request .step-wrap .step-box{
  background-color:#fff;
  border-radius: 5px;
  position:relative;
  display:flex;
  flex-wrap:wrap;
  margin-bottom:10px;
  min-height:130px;
}

@media screen and (max-width: 1439px){
  #request .step-wrap .step-box{
    min-height:90px;
  }
}

@media screen and (max-width: 743px){
  #request .step-wrap .step-box{
    overflow: hidden;
  }
}

/* 点線 */
#request .step-wrap .step-box::after{
  content:'';
  display:block;
  width: 4px;
  height: 35px;
  border-left:dotted 4px #45945b;
  position:absolute;
  bottom:-23px;
  left:40px;
  z-index:10;
}

#request .step-wrap .step-box:last-of-type::after{
  display:none;
}

@media screen and (max-width: 1439px){
  #request .step-wrap .step-box::after{
    width: 3px;
    height: 35px;
    border-left:dotted 3px #45945b;
    position:absolute;
    bottom:-23px;
    left:30px;
  }
}

@media screen and (max-width: 1199px){
  #request .step-wrap .step-box::after{
    width: 3px;
    height: 35px;
    border-left:dotted 3px #45945b;
    position:absolute;
    bottom:-23px;
    left:25px;
  }
}

@media screen and (max-width: 743px){
  #request .step-wrap .step-box::after{
    display:none;
  }
}


/* STEP */
#request .step-wrap .step-box .step-num{
  font-family: 'Roboto Condensed', sans-serif;
  font-weight:900;
  letter-spacing: 2.5px;
  font-size:16px;
  color:#45945b;
  text-align: center;
  padding-left:3px;
  border-bottom:solid 5px #45945b;
  width:45px;
  height:70px;
  position:absolute;
  top:0;
  left:20px;
  bottom:0;
  margin:auto;
  text-shadow:
    2px 2px 10px rgba(255, 255, 255, 0.7) ,
    -2px 2px 10px rgba(255, 255, 255, 0.7) ,
    2px -2px 10px rgba(255, 255, 255, 0.7) ,
    -2px -2px 10px rgba(255, 255, 255, 0.7);
}

#request .step-wrap .step-box .step-num em{
  display:block;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight:900;
  letter-spacing: 0;
  font-size:45px;
  line-height:40px;
  color:#45945b;
  text-align: center;
  font-style:normal;
  margin-left:-3px;
  padding-bottom:2px;
  text-shadow:
    2px 2px 10px rgba(255, 255, 255, 0.7) ,
    -2px 2px 10px rgba(255, 255, 255, 0.7) ,
    2px -2px 10px rgba(255, 255, 255, 0.7) ,
    -2px -2px 10px rgba(255, 255, 255, 0.7);
}

@media screen and (max-width: 1439px){
  #request .step-wrap .step-box .step-num{
    letter-spacing: 2px;
    font-size:14px;
    padding-left:3px;
    border-bottom:solid 4px #45945b;
    width:44px;
    height:62px;
    left:10px;
  }

  #request .step-wrap .step-box .step-num em{
    font-size:38px;
    line-height:30px;
    margin-left:-2px;
    padding-bottom:2px;
  }
}

@media screen and (max-width: 1199px){
  #request .step-wrap .step-box .step-num{
    letter-spacing: 1.5px;
    font-size:13px;
    padding-left:1px;
    border-bottom:solid 4px #45945b;
    width:36px;
    height:55px;
    left:10px;
  }

  #request .step-wrap .step-box .step-num em{
    font-size:32px;
    line-height:26px;
    margin-left:-1px;
    padding-bottom:2px;
  }
}

@media screen and (max-width: 743px){
  #request .step-wrap .step-box .step-num{
    display:none;
  }
}

/* 画像 */
#request .step-wrap .step-box .step-img{
  width:250px;
  background-color:gray;
}

#request .step-wrap .step-box .step-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

@media screen and (max-width: 1439px){
  #request .step-wrap .step-box .step-img{
    width:200px;
  }
}

@media screen and (max-width: 1199px){
  #request .step-wrap .step-box .step-img{
    width:150px;
  }
}

@media screen and (max-width: 743px){
  #request .step-wrap .step-box .step-img{
    width:80px;
  }
}

/* タイトル・テキスト */
#request .step-wrap .step-box .step-txt{
  width:calc(100% - 250px);
  margin:0;
  padding:15px 20px;
  display: flex;
	flex-direction: column;
	justify-content: center;
}

#request .step-wrap .step-txt strong{
  display:block;
  font-weight:900;
  font-size:18px;
  letter-spacing: 2.5px;
  margin:0;
  margin-bottom:10px;
}

#request .step-wrap .step-txt p{
  font-size:15px;
  margin:0;
  letter-spacing: 0;
}

#request .step-wrap .step-txt p a{
  font-size:15px;
  color:#29abe2;
  border-bottom:solid 2px #29abe2;
  padding-bottom:3px;
  margin:0 3px;
}

@media screen and (max-width: 1439px){
  #request .step-wrap .step-box .step-txt{
    width:calc(100% - 200px);
    padding:10px 20px;
  }

  #request .step-wrap .step-txt strong{
    font-size:17px;
    letter-spacing: 2px;
    margin-bottom:5px;
  }

  #request .step-wrap .step-txt p{
    font-size:13px;
    line-height:18px;
  }

  #request .step-wrap .step-txt p a{
    font-size:13px;
    margin:0 2px;
  }
}

@media screen and (max-width: 1199px){
  #request .step-wrap .step-box .step-txt{
    width:calc(100% - 150px);
    padding:10px 15px;
  }

  #request .step-wrap .step-txt strong{
    font-size:14px;
    letter-spacing: 1.5px;
    margin-bottom:3px;
  }

  #request .step-wrap .step-txt p{
    font-size:12px;
    line-height:16px;
  }

  #request .step-wrap .step-txt p a{
    font-size:12px;
    margin:0 2px;
  }
}

@media screen and (max-width: 743px){
  #request .step-wrap .step-box .step-txt{
    width:calc(100% - 80px);
    padding:10px 15px;
  }

  #request .step-wrap .step-txt strong{
    font-size:13px;
    letter-spacing: 1.5px;
    margin-bottom:3px;
  }

  #request .step-wrap .step-txt p{
    font-size:11px;
    line-height:16px;
  }

  #request .step-wrap .step-txt p a{
    font-size:11px;
    margin:0 2px;
  }
}

/* リンク */
#request .link-wrap{
  position:absolute;
  bottom:0;
  right:0;
  width:250px;
  padding-left:20px;
}

#request .link-wrap a{
  display:block;
  text-align: center;
  padding:25px 30px;
  margin-bottom:10px;
  background-color:#ffb6c1!important;
  border-radius:5px;
  font-weight:600;
  color:#fff;
}

@media screen and (max-width: 1439px){
  #request .link-wrap{
    width:190px;
    padding-left:10px;
  }

  #request .link-wrap a{
    font-size:14px;
    padding:20px 20px;
  }

}
@media screen and (max-width: 743px){
  #request .link-wrap{
    width:95%;
    padding-left:0;
    max-width:500px;
    display:flex;
    margin: 15px auto 0 auto;
    position:inherit;
  }

  #request .link-wrap a{
    width:calc((100% - 10px)/2);
    display:inline-block;
    font-size:13px;
    padding:13px 10px;
  }

  #request .link-wrap a:first-of-type{
    margin-right:10px;
  }
}


/* 利用者の声
================================================================*/
#voice{
  text-align: center;
}

#voice h2{
  text-align: center;
}

#voice h2 + p{
  text-align: center;
  font-weight:800;
  font-size:30px;
  margin-top:10px;
  margin-bottom:20px;
}

#voice .voice-wrap{
  display:flex;
  flex-wrap:wrap;
}

#voice .voice-wrap .voice-box{
  padding:30px;
  border-radius:10px;
  width:calc((100% - 20px)/2);
  margin-top:60px;
  display:flex;
  flex-wrap:wrap;
}

#voice .voice-wrap .voice-box:nth-of-type(odd){
  background-color:#f2efdf;
  margin-right:20px;
}

#voice .voice-wrap .voice-box:nth-of-type(even){
  background-color:#f3f3f3;
}

#voice .voice-box .person{
  width:140px;
}

#voice .voice-box .person img{
  width:90%;
  border-radius:200px;
  height:auto;
  margin-top:-60px;
}

#voice .voice-box .person strong{
  font-weight:700;
  font-size:14px;
  letter-spacing: 0;
  display:block;
  text-align:center;
  margin-top:5px;
}

#voice .voice-box .person small{
  display:block;
  font-weight:700;
  text-align:center;
  margin-top:5px;
  font-size:22px;
}

#voice .voice-box .person small span{
  font-size:13px;
  font-weight:700;
  margin-left:3px;
}

#voice .voice-box p{
  width:calc(100% - 140px);
  font-size:14px;
  letter-spacing: 0;
  padding-left:15px;
  line-height:25px;
}

@media screen and (max-width: 1439px){
  #voice h2 + p{
    font-size:24px;
    margin-top:5px;
    margin-bottom:10px;
  }

  #voice .voice-wrap .voice-box{
    padding:20px 20px 20px 15px;
    border-radius:10px;
    width:calc((100% - 15px)/2);
    margin-top:50px;
  }

  #voice .voice-wrap .voice-box:nth-of-type(odd){
    margin-right:15px;
  }

  #voice .voice-box .person{
    width:125px;
    text-align: center;
  }

  #voice .voice-box .person img{
    width:75%;
    border-radius:200px;
    height:auto;
    margin-top:-60px;
  }

  #voice .voice-box .person strong{
    font-size:12px;
    margin-top:3px;
  }

  #voice .voice-box .person small{
    margin-top:0px;
    font-size:20px;
  }

  #voice .voice-box .person small span{
    font-size:12px;
    margin-left:2px;
  }

  #voice .voice-box p{
    width:calc(100% - 125px);
    font-size:13px;
    padding-left:10px;
    line-height:20px;
  }
}

@media screen and (max-width: 1199px){
  #voice h2 + p{
    font-size:22px;
    margin-top:5px;
    margin-bottom:10px;
  }

  #voice .voice-wrap .voice-box{
    padding:20px 15px;
    border-radius:10px;
    width:calc((100% - 15px)/2);
    margin-top:50px;
    display:block;
  }

  #voice .voice-wrap .voice-box:nth-of-type(odd){
    margin-right:15px;
  }

  #voice .voice-box .person{
    width:100%;
  }

  #voice .voice-box .person img{
    width:80px;
    margin-top:-60px;
  }

  #voice .voice-box p{
    width:100%;
    font-size:12px;
    padding-left:0;
    line-height:18px;
    margin-top:10px;
  }
}

@media screen and (max-width: 743px){
  #voice h2 + p{
    font-size:22px;
    margin-top:5px;
    margin-bottom:10px;
  }

  #voice .voice-wrap .voice-box{
    padding:20px 15px;
    border-radius:10px;
    width:90%;
    margin: 50px auto 0 auto!important;
    display:block;
  }

  #voice .voice-wrap .voice-box:nth-of-type(odd){
    margin-right:0;
  }

  #voice .voice-box .person{
    width:100%;
  }

  #voice .voice-box .person img{
    width:75px;
    margin-top:-60px;
  }

  #voice .voice-box p{
    width:100%;
    font-size:12px;
    padding-left:0;
    line-height:18px;
    margin-top:10px;
  }
}







































































































/**/
