/*
Version: 1.4
*/

/* Reset & Base
-------------------------------------------------------------- */
* { border: 0; font-family: inherit; font-size: 100%; font-style: inherit; font-weight: inherit; margin: 0; outline: 0; padding: 0; box-sizing: border-box; word-wrap: break-word; }
ol, ul { list-style: none; }
table { border-collapse: separate; border-spacing: 0; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
a { display: inline-block; }
input[type="submit"] { -webkit-appearance: none; }

p { text-align: left; }
strong { font-weight: bold; }
em { font-style: italic; }
blockquote { display: block; padding: 2em; }
img, video { max-width: 100%; height: auto; vertical-align: bottom; }
iframe { max-width: 100%; }

/* 
* common
-------------------------------------------------------------- */
.sp { display: none; }

a { text-decoration: none; }
a:link, a:visited { color: inherit; }
a:hover { text-decoration: none; }
a:hover { opacity: .5; }

.t_left { text-align: left; }
.t_right { text-align: right; }
.t_center { text-align: center; }

.flex { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
small, .small {font-size: 77%;}

.mb5 {margin-bottom: 5rem;}

html {
  -webkit-text-size-adjust:100%;
  text-align: center;
  line-height: 1.5;
  font-size: 16px;
  font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  background: #FFDBB4;
}
@media screen and (max-width: 1200px) {
  html {
    font-size: 1.33vw;
  }
}

.container {
  width: 95%;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  background: #FFF;
}

.cta01 {
  background-image: -moz-linear-gradient( -90deg, rgb(255,255,255) 0%, rgb(255,248,229) 100%);
  background-image: -webkit-linear-gradient( -90deg, rgb(255,255,255) 0%, rgb(255,248,229) 100%);
  background-image: -ms-linear-gradient( -90deg, rgb(255,255,255) 0%, rgb(255,248,229) 100%);
  position: relative;
  padding: 5.56rem 0 4.38rem;
}
.cta01 .img {
  position: absolute;
  width: 19.54%;
  top: 50%;
  transform: translateY(-50%);
  left: 4.88rem;
}
.cta01 .txt01 img {
  width: 44.44%;
}
.cta01 .price {
  font-size: 2rem;
  text-align: center;
  color: #D68849;
  font-weight: bold;
  margin: .3em 0;
}
.cta01 .txt02 {
  font-size: 1rem;
  text-align: center;
  color: #D68849;
  font-weight: bold;
}
.cta01 .txt02 strong {
  font-size: 2rem;
}
.cta01 .btn {
  width: 44.44%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 1.44rem auto 0;
}
.cta01 .btn li:not(:first-of-type){
  width: 48.33%;
  margin-top: 1.81rem;
}
.cta01 .btn .card {
  width: 100% !important;
}
.cta01 .btn .card img {
  width: 67.01%;
}
.cta01 .btn_main {
  animation: yureru-s 2s infinite;
}
@keyframes yureru-s {
  0% {
    transform: translate(2px, 0px);
  }
  5% {
    transform: translate(-2px, 0px);
  }
  10% {
    transform: translate(2px, 0px);
  }
  15% {
    transform: translate(-2px, 0px);
  }
  20% {
    transform: translate(2px, 0px);
  }
  25% {
    transform: translate(-2px, 0px);
  }
  30% {
    transform: translate(0px, 0px);
  }
}

.sec_detail {
  padding: 2rem 0 5rem;
}
.sec_detail table {
  width: 80%;
  margin: auto;
  font-size: 1.3rem;
  color: #f2680e;
  text-align: left;
}
.sec_detail tr > * {
  padding: 1em;
}
.sec_detail th {
  white-space: nowrap;
  font-weight: bold;
  text-align: center;
  vertical-align: top;
}

.wrap_checkout {
  padding: 5rem 0 0;
}

.container.law {
  padding: 5rem 1rem;
}
.law h1 {
  font-size: 1.2rem;
  font-weight: bold;
  margin: 2rem 0;
}
.law h2 {
  font-weight: bold;
  margin: 3rem 0 .5rem;
}


.box_thanks {
  width: 70%;
  max-width: 800px;
  margin: auto;
}
.txt_thanks {
  line-height: 1.8;
  margin-top: 5rem;
}

.tbl_thanks {
  width: 100%;
  margin: 2rem auto 0;
  text-align: left;
  border-collapse: collapse;
}
.tbl_thanks tr > * {
  padding: .5em 1em;
  border: 1px solid #f2680e;
}
.tbl_thanks th {
  background: #f2680e;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
}

footer {
  background: #f2680e;
  padding: 1.5rem 0;
}
footer .copy {
  text-align: center;
  font-size: 1.5rem;
  color: #FFF;
}
footer .law {
  text-align: center;
  font-size: .8rem;
  color: #d1d1d1;
}


/* 
* for SP
-------------------------------------------------------------- */
@media screen and (max-width: 640px) {
  .pc { display: none; }
  .sp { display: block; }

  html {
    font-size: 3.75vw;
  }
  
  .cta01 {
    padding: 5rem 0;
  }
  .cta01 .img {
    position: static;
    width: 50%;
    transform: translateX(25%);
  }
  .cta01 .price {
    font-size: 1.5rem;
  }
  .cta01 .btn {
    width: 80%;
/*    margin-right: 3rem;*/
  }
  .cta01 .btn .card {
    margin-top: .5rem !important;
  }
  
  .sec_detail table {
    width: 100%;
  }
  .sec_detail tr > * {
    display: block;
  }
  .sec_detail th {
    padding: 0;
  }
  .sec_detail td {
    margin-bottom: 3rem;
  }
  
  .box_thanks {
    width: 100%;
  }
  .tbl_thanks tr > * {
    display: block;
  }
  
  footer .copy {
    font-size: .9rem;
  }
}
