@charset "UTF-8";

/* フォント指定 */
/* ルートのフォントサイズを10pxに設定 */
html {font-size: 62.5%;}

/* bodyのフォントサイズを1.6em（16px）に設定 */
body {font-size: 1.6rem;}

/* 各テキスト設定 */
h1 {font-size: 4.5rem; /* 50px */}
p {font-size: 1.2rem; /* 12px */}

body {
  font-family:'NeuzeitSLTStd-BookHeavy','Noto Sans JP', sans-serif ,"Helvetica Neue","Segoe UI","Original Yu Gothic","Yu Gothic",YuGothic,Verdana,"ヒラギノ角ゴ ProN W3",Meiryo,"M+ 1p",sans-serif;
  font-weight: bold;
  margin:0;
  padding:0;
}

p,h1,h2,h3,h4,h5,h6 {
  margin: 0px;
}

input[type="text"],textarea{
  -webkit-appearance: none;
  border-radius: 0;
  outline: none;
  box-shadow: none;
}

input[type="text"]:focus,
textarea:focus{
  box-shadow : 0 0 0 1px #91bcf9;
}




#company td,
#faq .answer p,
#workflow .box .text,
#director .profile p,
#point .size,
#contents .con .description,
.example .box .description,
button, input, select, textarea,td,
.insert,input[text] {
  font-family:'NeuzeitSLTStd-Book','Noto Sans JP', sans-serif ,"Helvetica Neue","Segoe UI","Original Yu Gothic","Yu Gothic",YuGothic,Verdana,"ヒラギノ角ゴ ProN W3",Meiryo,"M+ 1p",sans-serif;
}

ul {
  margin: 0px;
  padding: 0px;
  list-style: none;
}

a,
a:hover {
  text-decoration: none;
}

*, *::before, *::after {
  box-sizing: border-box;
}


/* 基本色など */
:root {
  --main-color: #BF1920;
  --sub-color: #E65345;
  --back-color: #F5F3F2;
}

@media screen and (min-width: 751px) {
  .sp { display: none !important; }
  .pc { display: block; }
}


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

    /* PCのhtmlは削除し、spのみ表示 */
    .pc { display: none !important; }
    .sp { display: block; }


    /* フォント */
    h1 {font-size: 8vw;}
    p {font-size: 3.4vw; }


}


/* ヘッダー-------------------------------------------------------- */

.menu .logo {
  width: 60px;
}

.menu .logo a {
  display: block;
}



/* メニュー-------------------------------------------------------- */

.menu {
  padding: 20px 60px 15px;
  border-bottom: 1px solid #BF1920;
  display: flex;
  justify-content: space-between;
}

.menu .nav {
  display: flex;
  align-items: center;
}

.menu .nav li {
  margin-left: 15px;
}

.menu .nav li a {
  color:#E65345;
  font-size: 12px;
}

.menu .nav li a:hover {
  color: #BF1920;
}


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

  .sp_menu {
    padding: 5.8vw 6.6vw 5.5vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }

  .color {
    border-bottom: none;
    background-color: #E65345;
  }

  #header {
    height: 23.5vw;
    max-width: 749px;
    width: 100%;
    z-index: 1000000000;
    position: fixed;
  }

  .headerback {
    height: 23.5vw;
    max-width: 749px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    position: fixed;
    background-color: #fff;
    z-index:1000;
    border-bottom: 1px solid #BF1920;
  }


  .sp_menu .logo {
    width: 10.5vw;
    z-index: 200000000;
  }

  .sp_nav {
    text-align: center;
    padding-top: 15vw;
    height:auto;
    position: absolute;
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    background-color: #E65345;
    padding-top: 31.5vw;
    padding-bottom: 30vw;
    z-index:100000000;
    display: none;
    height: 100%;
  }

  .sp_nav li {
    margin-bottom: 6.5%;
  }

  .sp_nav li:last-child {
    margin-bottom: 0;
  }

  .sp_nav a {
    color:#fff;
    font-size: 4.8vw;

  }


  .hamburger {
    cursor: pointer;
  }

  .hamburger,
  .hamburger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }

  .hamburger {
    position: relative;
    width: 9vw;
    height:7vw;
    z-index:200000000;
  }

  .hamburger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #BF1920;
    border-radius: 4px;
  }

  .hamburger span:nth-of-type(1) {
    top: 0;
  }
  .hamburger span:nth-of-type(2) {
    top: 47%;
  }
  .hamburger span:nth-of-type(3) {
    bottom: 0;
  }

  /* 動き */
  .hamburger.active span {
    background-color: #fff;
  }

  .hamburger.active span:nth-of-type(1) {
    transform: rotate(-45deg);
    transform-origin: 100% 50%;
    left: -2px;
    top: -2px;
  }

  .hamburger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .hamburger.active span:nth-of-type(3) {
    transform-origin: 100% -50%;
    transform: rotate(45deg);
  }
}

/* iPhone678 */
@media screen and (max-width: 414px) {

  .hamburger span:nth-of-type(1) {
    top: 0;
  }
  .hamburger span:nth-of-type(2) {
    top: 45%;
  }
  .hamburger span:nth-of-type(3) {
    bottom: 0;
  }

  /* 動き */
  .hamburger.active span:nth-of-type(1) {
    transform: rotate(-45deg);
    transform-origin: 100% 50%;
    left: -2px;
    top: -2px;
  }
  .hamburger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .hamburger.active span:nth-of-type(3) {
    transform-origin: 100% -50%;
    transform: rotate(45deg);
  }


}





/* top---------------------------------------------- */

.top {
  max-width: 960px;
  margin: 0 auto;
  padding-top: 100px;
  position: relative;
  cursor: pointer;
}

@media screen and (max-width: 750px)  {
  .top {
    height:auto;
    padding: 138px 0 10px;
  }

}


/* slickスライダー -------------------------------------------------*/
.slideshow {
  overflow: hidden;
  position: relative;
  cursor: pointer;
}


.slider{
  /* padding-left: 5px; */
  padding-bottom: 0px;
  width: 100%;
}

.slider img{
  height: auto;
  width: 100%;
}


/* スライドボタン----------------------------------------------- */

/* slick */
.slick-prev::before,
.slick-next::before {
  visibility: hidden;
}


@media screen and (min-width: 751px) {
  .slick-prev.slick-arrow {
    width: 50%;
    height: 100%;
    z-index: 500;
  }
  .slick-next.slick-arrow {
    width: 50%;
    height: 100%;
    z-index: 500;
  }
}




/* インジケーター --------------------------------------------*/

.slide-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 70px auto 50px;
}

.btn {
  position: relative;
  width: 114px;
}

.back {
  width: 114px;
  margin: 0 auto;
  height: 5px;
  background-color: #F2A39C;
  display: none;
}

.move {
  width: 57px;
  margin: 0 auto;
  height: 5px;
  background-color: #BF1920;
  position: absolute;
  top: 0;
  left: 0;
  transition: all .3s ease-out;
  display: none;
}

.add{
  left: 57px;

}


#right,#left {
  cursor: pointer;
  position: absolute;
  top: 30%;
}

#left {
  left: 20px;
}

#right {
  right: 20px;
}



@media screen and (max-width: 750px) {
  .slide-btn {
    position: relative;
  }

  #right,#left {
    position: absolute;
    width: 2.7vw;
    top:-54px;
  }

  #left {
    left: 15px;
  }

  #right {
    right: 15px;
  }

  .btn {
    width: 160px;
  }

  .back {
    width: 160px;
    margin: 0 auto;
    height: 8px;
  }

  .move {
    width: 80px;
    height: 8px;
  }

  .slideshow-slides .first-slide img{
    height:105vw;
  }

}


@media screen and (max-width: 414px)  {
  .btn {
    width: 114px;
  }

  .back {
    width: 114px;
    margin: 0 auto;
    height: 6px;
  }

  .move {
    width: 57px;
    height: 6px;
  }

}



/* wrap------------------------------------------------- */

.wrap {
  padding: 140px 75px;
  margin: 0 auto;
}


h1 {
  margin-bottom: 70px;
  color: #BF1920;
  text-align: center;
}

@media screen and (max-width: 750px) {
  h1 {
    margin-bottom: 10.5vw;
  }

  .wrap {
    padding: 26.5vw 10vw 20vw;
  }

}



/* service--------------------------------------------------- */

#service {
  text-align: center;
  background-color:#E65345;
  color: #fff;
}

#service .wrap {
  max-width: 800px;
  margin: 0 auto;
}

#service .textbox {
  background: url(../img/fb_background.png) no-repeat top 30px center;
  background-size: 83%;
}


#service h1 {
  color:#fff;
}

#service .line {
  padding: 40px 0 20px;
  border-top:1px solid #fff;
  border-bottom:1px solid #fff;
}

#service .line h2 {
  font-size: 24px;
  margin-bottom: 10px;
}

#service .text {
  margin-top: 50px;
}

#service .text p {
  margin-bottom: 33px;
  font-size: 16px;
}

#service .text p:last-child {
  margin-bottom: 0;
}


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

  .blind {
    background-color:#fff;
    height: 19vw;
    visibility: hidden;
  }

  #service .wrap {
  padding-top: 150px;
   margin-top: -50px;
  }

  #service .textbox {
    background: url(../img/fb_background.png) no-repeat top 6.5vw center;
    background-size: 83%;
  }

  #service .line {
    padding: 8.6vw 0 7vw;
  }

  #service .line h2 {
    font-size: 5.1vw;
  }

  #service .text {
    max-width: 600px;
    margin: 0 auto;
    margin-top: 12vw;
  }

  #service .text p {
    font-size: 4vw;
  }
}


/* solve--------------------------------------------------- */

.solve {
  text-align: center;
}

.solve .wrap {
  padding: 130px 85px 150px;
}

.solve h1 {
  color: #BF1920;
  margin-bottom: 0;
}

.solve .img {
  margin: 0 auto;
  max-width: 570px;
  margin-bottom: 92px;
}

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

  .solve .wrap {
    padding: 20vw 10vw;
  }

  .solve h1 {
    font-size: 6vw;
  }

  .solve .img {
    max-width: 570px;
    margin: 0 auto;
    margin-bottom: 11.3vw;
  }
}



/* example--------------------------------------------------- */

.example {
  background-color: #F5F3F2;
}

.example .wrap {
  max-width: 980px;
  margin: 0 auto;
}

.example .box .title {
  display: flex;
  align-content: center;
  align-items: center;
  margin-bottom: 42px;
}

.example .box .title p {
  padding: 3px 25px;
  border: 1px solid #111;
}

.example .box .title h3 {
  color: #BF1920;
  padding: 11px 25px 5px;
  font-size: 22px;
}

.example .box .description {
  margin-bottom: 65px;
  font-weight: normal;
  line-height: 1.8;
}


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

  .example  .wrap {
    text-align: justify;
  }

  .example .box .title {
    text-align: left;
    display: block;
    margin-bottom: 8vw;
  }

  .example .box .title p {
    font-size: 2.5vw;
    display: inline;
    color: #111;
    padding: 1.75vw 5.3vw 1.2vw; 
  }

  .example .box .title h3 {
    padding: 11px 25px 5px;
    font-size: 5vw;
    padding: 0;
    padding-top: 4.6vw;

  }

}



/* contents--------------------------------------------------- */


#contents .wrap {
  padding: 140px 70px;
}

#contents h1 {
  text-align: center;
  color:#BF1920
}

#contents .con {
  max-width: 750px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

#contents .con .box {
  width: 182px;
}

#contents .con .box.middle {
  margin: 0 30px;
}

#contents .con .circle {
  background-color: #E65345;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  height: 100%;
  height: 182px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 35px;
}

#contents .con .circle h2 {
  font-size: 15px;
  font-weight: bold;
}

#contents .con .sub_title {
  font-size: 13px;
}

#contents .con .sub_title {
  color:#BF1920;
  margin-bottom: 25px;
  line-height: 1.75;
}

#contents .con .description {
  text-align: justify;
  font-weight: normal;
  line-height: 1.8;
}




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

  #contents {
    margin-top:-60px;
    padding-top:60px;
  }

  #contents .wrap {
    padding: 26.6vw 0 0;
    text-align: justify;
  }

  #contents .con {
    display: block;
  }

  #contents .con .box {
    width: auto;
    padding: 11vw 11vw 12.6vw;
    border-bottom: 1px solid #BF1920;
  }

  #contents .con .box:last-child {
    border-bottom:none;

  }

  #contents .text {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4.2vw;
  }

  #contents .con .circle {
    width: 33.7vw;
    height: 33.7vw;
    margin-bottom: 0;
  }

  #contents .con .circle h2 {
    font-size: 3.4vw;
  }

  #contents .con .sub_title {
    font-size: 4vw;
    margin-bottom: 0;
    width: 37vw;
  }

  #contents .con .description {
    text-align: left;
  }

  #contents .con .box.middle {
    margin: 0px;
  }


}





/* plan--------------------------------------------------- */

#plan {
  text-align: center;
}

#plan .wrap {
  border-top: 1px solid #BF1920;
}

#plan h1,
#plan .text_box {
  margin-bottom: 50px;
}

#plan p {
  font-size: 16px;
  line-height: 1.75;
}

#plan .table {
  max-width: 730px;
  margin: 0 auto;
  margin-bottom: 40px;
}



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


  #plan {
    margin-top:-60px;
    padding-top:60px;
  }

  #plan .wrap {
    padding: 26.6vw 0 20vw;
  }

  #plan p {
    font-size: 3.2vw;
    letter-spacing:0.25vw;
  }

  #plan .text_box p {
    font-size: 4.15vw;
  }

  #plan h1{
  margin-bottom: 9vw;
  }

  #plan .text_box {
    margin-bottom: 10vw;
  }

  #plan .table {
    max-width: 750px;
    margin-bottom: 7vw;
  }
}


/* point--------------------------------------------------- */

#point {
  text-align: center;
}

#point .wrap {
  border-top: 1px solid #BF1920;
}

#point h1 {
  margin-bottom: 50px;
}

#point .sub_title {
  margin-bottom: 10px;
}

#point .sub_title p {
  font-size: 16px;
}

#point .sub_title p:first-child {
  margin-bottom: 6px;
}

#point .sub_title .caution {
  font-size: 11px;
  font-weight: normal;
}

#point .work_name {
  color:#BF1920;
  font-size: 12px;
  margin-bottom: 4px;
  line-height: 1.4;
}

#point .size {
  font-weight: normal;
  line-height: 1.2;
}

#point .contain {
  max-width: 700px;
  margin: 20px auto 0;
}

#point .contain.bottom {
  margin-top: 50px;
}

#point .contain.bottom .category {
  margin-left: 60px;
}

#point .graphic .line,
#point .web {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#point .graphic .line.first,
#point .web {
  align-items: flex-end;
}

#point .box {
  width: 21%;
  margin-bottom: 40px;
}

#point .box p:first-child {
  margin-bottom: 18px;
  color: #BF1920;
}

#point .size span {
  font-size: 11px;
}


.hidden {
  visibility: hidden;
}

#point h4 {
  margin-top: 50px;
}

#point img {
  width: 62%;
}


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

  #point {
    margin-top:-60px;
    padding-top:60px;
  }

  #point .wrap {
    padding: 26.6vw 0vw 20vw;
  }

  #point h1 {
    margin-bottom: 8vw;
  }

  #point .graphic,
  #point .web {
    padding: 0 2vw;
  }

  #point .web {
    justify-content: start;
    white-space: nowrap;
  }

  #point .box,
  #point h4 {
    font-size: 3.2vw;
  }

  #point .box p {
    line-height: 1.4;
  }

  #point .sub_title {
    margin-bottom: 18vw;
  }

  #point .sub_title p:first-child {
    margin-bottom: 2vw;
  }

  #point .sub_title p {
    font-size: 4vw;
  }

  #point .sub_title .caution {
    font-size: 3.4vw;
  }

  #point .category {
    margin: 0 0 10vw 6.5vw;
  }

  #point .work_name {
    font-size: 3.2vw;
    margin-top: 2vw;
  }

  #point .contain.bottom {
    margin-top: 8.8vw;
  }

  #point .contain.bottom .category {
    margin: 0 0 10vw 12.5vw;
  }

  #point .box span {
    font-size: 3.2vw;
    display: inline-block;
  }

  /* #point .box .small {
    font-size: 3.2vw;
    display: inline-block;
    font-weight: normal;
  } */

  #point .box .bottom  {
    top: -100px;

  }
  

  #point .box {
    width:33%;
    margin-bottom: 12.5vw;
  }

  .graphic-title {
    color: #BF1920;
    font-size: 4vw;
  }


  #point .box p:first-child {
    color: #BF1920;
    font-size: 4vw;
    margin-bottom: 9vw;
  }

}



/* director--------------------------------------------------- */

#director {
  text-align: center;
}

#director .wrap {
  border-top: 1px solid #BF1920;
  padding: 140px;

}

#director .con {
  max-width: 658px;
  margin: 0 auto;
  font-weight: normal;

}

#director .profile {
  margin-left: auto;
  margin-right: 2.4vw;
  margin-top: -50px;
  width: 318px;
  text-align: justify;
}

#director .profile p {
  margin-bottom: 30px;
  text-align: left;
}

#director .works {
  max-width: 640px;
  margin: 75px auto 0;
}

#director .works img {
  margin-bottom: 45px;
}


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

  #director {
    margin-top:-60px;
    padding-top:60px;
  }

  #director .wrap {
    padding: 26.6vw 10vw 20vw;
  }

  #director .profile {
    margin: 0;
    margin-top: 12vw;
    width: auto;
  }

  #director .profile p {
    margin-bottom: 8vw;
  }

  #director .profile p:last-child {
    margin-bottom: 13.3vw;
  }

}



/* quality--------------------------------------------------- */

#quality {
  text-align: center;
}

#quality .wrap {
  border-top: 1px solid #BF1920;
}

#quality .img {
  max-width: 400px;
  margin: 0 auto;
  margin-bottom: 60px;
}

#quality .text {
  max-width: 400px;
  margin: 0 auto;
  text-align: left;

}

#quality .text p {
  line-height: 1.75;
  font-size: 14px;
}

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

  #quality {
    margin-top:-60px;
    padding-top:60px;
  }

  #quality .wrap {
    padding: 26.6vw 10vw 20vw;
  }

  #quality .text p {
    font-size: 4.25vw;
    letter-spacing: 0.2vw;
    text-align: justify;

  }

  #quality .img,
  #quality .text {
    max-width: 570px;
  }

  #quality .img {
    margin-bottom: 7vw;
  }


}

/* workflow--------------------------------------------------- */

#workflow .wrap {
  border-top: 1px solid #BF1920;
}

#workflow .number {
  margin-bottom: 7px;
  text-align: left;
  font-size: 50px;

}

#workflow .title {
  color: #BF1920;
  font-size: 13px;
  margin-bottom: 7px;

}

#workflow .con {
  max-width: 480px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#workflow .box {
  width: 42.4%;
  margin-bottom: 50px;
}

#workflow .box .text {
  font-weight: normal;
  line-height: 1.8;
  /* text-align: justify; */
}


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

  #workflow {
    margin-top:-60px;
    padding-top:60px;
  }

  #workflow .number {
    font-size: 9.3vw;
    margin-bottom: .6vw;
  }

  #workflow .title {
    font-size: 3.45vw;
    height: 10vw;
    margin-bottom: 5.3vw;
  }

  #workflow .con {
    max-width: 565px;
  }
  #workflow .box {
    width: 44%;
  }



}

/* faq--------------------------------------------------- */

#faq {
  text-align: justify;
}

#faq .wrap {
  border-top: 1px solid #BF1920;
  padding: 140px 85px 80px;
}

#faq .con {
  max-width: 590px;
  margin: 0 auto;
}

#faq .con .box {
  padding-bottom: 65px;
}

#faq .faq-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 25px;
  cursor: pointer;
}

#faq .faq-title .question {
  font-size: 18px;
  color: #BF1920;
}

#faq .answer {
  display: none;
  max-width: 500px;
}

#faq .box p {
  color: #111;
}
#faq .answer p {
  font-weight: normal;
  font-size: 12px;
}

.faq_btn {
  transition:all 0.3s;
}

.open {
  transform:rotate(180deg);
}


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

  #faq {
    margin-top:-60px;
    padding-top:60px;
  }

  #faq .wrap {
    padding: 26.6vw 10vw 20vw;
  }

  #faq .faq-title .question,
  #faq .answer p {
    font-size: 3.4vw;
  }

  #faq .answer {
    max-width: 475px;
    margin-right: 18vw;
  }

  #faq img {
    width: 8.5vw;
  }

  #faq .con .box {
    padding-bottom: 13.3vw;
  }

  #faq .con .box:last-child {
    padding-bottom: 0;
  }



}

/* contact--------------------------------------------------- */

.contact h1 {
  margin-bottom: 35px;
}

.contact .wrap {
  text-align: center;
  border-top: 1px solid #BF1920;
  padding: 200px 85px;
}

.contact .wrap p {
  font-size: 16px;
}

.contact_btn {
  display: block;
  width: 270px;
  margin: 80px  auto 0;
  padding: 15px 0;
  border-radius: 135px;
  color: #fff;
  font-size: 12px;
  background-color: #E65345;
}

.contact_btn:hover {
  background-color: #BF1920;
}

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

  .contact .wrap {
    padding: 26.6vw 10vw 20vw;
  }

  .contact .wrap p {
    font-size: 4vw;
  }

  .contact_btn {
    width: 210px;
    font-size: 3.2vw;
    margin-top: 8.2vw;

  }

  .contact h1 {
    margin-bottom: 11vw;
  }

}
/* company--------------------------------------------------- */


#company .wrap {
  border-top: 1px solid #BF1920;
  text-align: left;
  padding: 200px 85px 225px;
}

#company table {
  margin: 0 auto;
  font-size: 12px;
}

#company th,
#company td {
  padding-bottom: 15px;
  vertical-align: top;
}

#company th {
  color: #BF1920;
  padding-right: 120px;
  padding-left: 20px;
}

#company td a {
  color: #111;
}

#company td {
  font-weight: normal;
}

#company .url {
  vertical-align: middle;
}


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

  #company .wrap {
    padding: 26.6vw 10vw 20vw;
  }

  #company {
    margin-top:-60px;
    padding-top:60px;
  }

  #company table {
    max-width: 570px;
    margin: 0 auto;
  }

  #company th {
    padding: 0;
    width: 24vw;
  }

  #company th, #company td {
    font-size: 3.4vw;
    padding-bottom: 4vw;
  }

}
/* terms--------------------------------------------------- */


#terms .wrap {
  border-top: 1px solid #BF1920;
  text-align: center;
  padding: 100px 85px;
}

#terms .wrap a {
  font-size: 1.1rem;
  color: #E65345;
  border-bottom: 1px solid #E65345;
  padding-bottom: 5px;
}

#terms .wrap a:hover {
  color: #BF1920;
  border-bottom: 1px solid #BF1920;
}

@media screen and (max-width: 750px) {
  #terms .wrap {
    padding: 45px 10vw;
  }
}



/* footer--------------------------------------------------- */

.footer {
  margin-bottom: 40px;
}

.footer .wrap {
  border-top: 1px solid #BF1920;
  border-bottom: 1px solid #BF1920;
  text-align: left;
  padding: 55px 85px;
}

.footer .wrap p {
  text-align: left;
}

.copy {
  width: 140px;
}


.footer .box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color:#BF1920;
}

.footer .box a{
  display: block;
}

.footer .box a img{
  width: 190px;
  height: 18px;
}

.footer img {
  vertical-align: bottom;
}

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

  .footer .wrap {
    padding: 13.3vw 11vw;
  }

  .footer img {
    width: 32vw;
  }

  .footer .box a{
   margin-right: auto;
  }

  .footer .box a img{
    width: 32vw;
    height: 100%;
  }

  .footer .box p {
    font-size: 2.6vw;
  }

  .footer .wrap p {
    text-align: left;
  }

  .footer {
    margin-bottom: 10vw;
  }

  .footer img {
    vertical-align: middle;
  }

  .copy {
    width:  32vw;
  }


}

/* back_to_top--------------------------------------------------- */

.back_to_top {
  position: fixed;
  bottom:106px;
  right:5%;
}

.back_to_top a img{
  width: 70px;
  height: 77.77px;
}


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

  .back_to_top {
    width: 4vw;
    bottom:8vw;
    right: 10vw;
  }
}


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

  .back_to_top {
    width: 4vw;
    bottom:6vw;
    right: 17vw;

  }

}



/* コンタクトフォーム */
.contact_btn.fix {
  background-color: #fff;
  border:1px solid #BF1920;
  color: #BF1920;
}

.contactform {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}

.contactform .wrap {
  padding: 195px 0 280px;
}

.contactform  p {
  font-size: 16px;
}

.contactform form {
  margin-top: 100px;
}

.contactform h1,
.contactform .text_box {
  margin-bottom: 50px;
}

.contactform .contact_btn {
  width: 270px;
  border: none;
}

.contactform .wrapper {
  display: flex;
  margin-bottom: 35px;
  justify-content: space-between;
  align-items: center;
}

.contactform .wrapper .title {
  font-size: 12px;
  font-weight: bold;
  color: #BF1920;
}

input,textarea {
  border:1px solid #BF1920;
  width: 453px;
  padding: 23px;
  font-weight: normal;
  font-size: 12px;
  margin: 0;
  resize:vertical;
}

.contactform textarea {
  height: 112px;
}

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

  .contactform {
    max-width: 84vw;
  }

  .contactform form {
    margin-top: 14.5vw;
  }

  .contactform .wrap {
   padding:45vw 0 26.5vw;
  }

  .contactform p {
    font-size: 4.5vw;
  }

  input,textarea {
    width: 100%;
    font-size: 3.4vw;
    padding: 3vw;
  }

  .contactform .wrapper {
    display: block;
  }

  .contactform textarea {
    height: 31vw;
  }

  .contactform .wrapper .title {
    font-size: 3vw;
    text-align: left;
    margin-bottom: 1vw;
  }

  .submit {
    padding-left: 10vw;
    padding-right: 10vw;
  }

  .contactform .contact_btn {
    margin: 6.5vw auto 0;
    display: block;
    width: 62.5vw;
    padding: 3.5vw 0;
  }

}

/* 確認画面---------------------------------------------------------- */

.contactform.confirm .wrap {
  padding: 177px 0 770px;
}

.contactform.confirm form {
  margin: 0;
}

table {
  margin: 0 auto;
}

.btnarea {
  display: flex;
  justify-content: space-between;
}

.btnarea .contact_btn,
.btnarea .contact_btn.fix {
  margin: 80px 0 0;
}

.contact_btn.fix {
   background-color: #fff;
   border:1px solid #BF1920;
   color: #BF1920;
}

.contact_btn.fix:hover {
   border:1px solid #717071;
   color: #717071;
}

.contactform td {
  text-align: left;
  width: 500px;
  padding: 23px;
  padding-left: 100px;
  padding-right: 0px;
  font-weight: normal;
  font-size: 12px;
  margin: 0;
  font-weight: normal;
}

.contactform th {
  text-align: left;
  font-size: 12px;
  color: #BF1920;
}


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

  .contactform.confirm .wrap {
    padding: 26vw 0 26.5vw;
  }


  .contactform th,
  .contactform td {
    display: block;
    text-align: left;
    width: 100%;
    box-shadow: none;
    border-radius: 0;
  }

  table {
    width: 100%;
  }

  .contactform th {
    font-size: 3vw;
    margin-bottom: 5vw;
  }

  .contactform td {
    padding: 0;
    font-size: 3.5vw;
    margin-bottom: 13.8vw;
  }

  .btnarea .contact_btn,
  .btnarea .contact_btn.fix {
    margin-top: 5vw;
  }

  .btnarea {
    display: block;
    padding-left: 10vw;
    padding-right: 10vw;
  }


}

/* 完了 */
.contactform.send .wrap {
  padding: 180px 0 790px;
}

.contactform.send .wrap .message p {
  text-align: left;
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 16px ;
}

.contactform.send .wrap .message p:last-child {
  margin-bottom: 0;
}

.contactform.send .wrap .greeting {
  margin-top: 3em;
  margin-bottom: 0;
}

.message {
  border: 1px solid #BF1920;
  padding: 60px 98px;
  color: #BF1920;
  font-weight: normal;
}

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

  .message {
    padding: 7.3vw;
  }

  .contactform.send .contact_btn {
    margin: 20.5vw auto 0;
  }

 .contactform.send .wrap {
   padding:0;
  }

 .contactform.send .wrap {
   padding: 45vw 0 26.5vw;

  }

 .contactform.send .wrap .message p {
   font-size: 3.4vw;
   margin-bottom: 1.2vw ;
 }


}
/* terms詳細--------------------------------------------------- */
.terms {
  max-width: 538px;
  margin: 0 auto;
}

.terms .wrap {
  padding: 150px 0;
}

.terms .wrap h1 {
  font-size: 14px;
  margin-bottom: 50px;
  text-align: left;
}

.terms__block:not(:last-child) {
  margin-bottom: 30px;
}

.terms__block h2 {
  color: #BF1920;
  font-size: 12px;
  font-weight: normal;
  line-height: 2;
  font-family: 'NeuzeitSLTStd-Book','Noto Sans JP', sans-serif ,"Helvetica Neue","Segoe UI","Original Yu Gothic","Yu Gothic",YuGothic,Verdana,"ヒラギノ角ゴ ProN W3",Meiryo,"M+ 1p",sans-serif;
}

.terms__block p {
  font-size: 12px;
  font-weight: normal;
  line-height: 2;
  font-family: 'NeuzeitSLTStd-Book','Noto Sans JP', sans-serif ,"Helvetica Neue","Segoe UI","Original Yu Gothic","Yu Gothic",YuGothic,Verdana,"ヒラギノ角ゴ ProN W3",Meiryo,"M+ 1p",sans-serif;
}

.terms__block table {
  width: 100%;
  margin: 30px 0 80px;
}

.terms__block table th,
.terms__block table td {
  border: 1px solid #E65345;
  color: #BF1920;
  font-weight: bold;
  text-align: center;
  padding: 20px 10px;
  font-size: 1.1rem;
}

.terms__block table th {
  background: #F6C1BD;
}

.terms__block table th:not(:first-child) {
  font-size: 1.8rem;
}

.terms__block table tr:nth-child(2) td:first-child span {
  font-size: 9px;
}

.terms__block table td.price span {
  font-size: 16px;
}

.terms__block table td.point span {
  font-size: 14px;
}

.terms__block table td.period span {
  font-size: 16px;
}

@media screen and (max-width: 750px) {
  .terms .wrap h1,
  .terms__block h2,
  .terms__block p {
    padding-right: 50px;
    padding-left: 50px;
  }
}