@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  outline: none;
  font-family: sans-serif;
}

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

  #contents {
    position: relative;
    width: 100%;
    padding-top: 15vw;
  }

  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 15vw;
    background: #FF9D9D;
    z-index: 10000;
  }
  .header_pc,.pc {
    display: none;
  }
  .header_sp,.sp {
    display: block;
    text-align: center;
  }

  h1 {
    width: 100%;
    text-align: center;
    padding-top: 43px;
    font-size: 10.5px;
    letter-spacing: 1px;
    font-weight: normal;
    color: #fff;
  }

  .logo {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    padding: 1.2vw 0;
  }
  .logo img {
    width: 38vw;
    height: auto;
  }

  .btn {
    position: relative;
    opacity: 1;
    transition:  all 0.3s;
  }
  .btn:hover {
    opacity: 0.8;
  }
  .btn:nth-child(2) {
    margin-left: 30px;
  }
  .btn a {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .btn img {
    width: 180px;
  }

  .menu_btn {
    position: fixed;
    top: 5vw;
    right: 5vw;
  }
  .menu_btn img  {
    width: 5vw;
    height: auto;
  }

  .menu_sp {
    position: fixed;
    left: 100%;
    display: block;
    width: 100%;
    height: 100vh;
    background: #FF9D9D;
    background-size: cover;
    transition: all 0.3s;
    z-index: 15000;
  }
  .menu_sp.open {
    left: 0;
  }
  .menu_sp ul {
    position: absolute;
    top: 20vw;
    left: 50%;
    transform: translateX(-50%);
    list-style: none;
  }
  .menu_sp ul li {
    margin-bottom: 10vw;
  }
  .menu_sp ul li a {
    font-size: 6vw;
    letter-spacing: 1vw;
    text-decoration: none;
    white-space: nowrap;
    color: #fff;
  }
  .close_btn {
    position: absolute;
    top: 5vw;
    right: 5vw;
    width: 6%;
  }
  .close_btn img {
    width: 100%;
    height: auto;
  }
  .copyright {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    margin: auto;
    font-size: 14px;
    letter-spacing: 2px;
    color: #fff;
    text-align: center;
  }

  .index {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 30px 0;
    text-align: center;
  }
  .index_cont {
    position: relative;
    width: 100%;
    margin:  0 auto;
  }
  .index_cont_box {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
            justify-content: center;
  }
  .index_cont_box_left {
    margin-right: 0;
    text-align: center;
  }
  .index_headline {
    margin-bottom: 30px;
    font-size: 18px;
    letter-spacing: 1px;
    color: #fff;
  }
  .index_copy {
    margin-top: 50px;
    font-size: 35px;
    line-height: 55px;
    letter-spacing: 8px;
    color: #fff;
  }
  .index_phone {
    padding: 50px 0 0;
  }
  .index_phone img {
    width: 60%;
  }

  .index_btn {
    position: relative;
    margin-top: 60px;
  }
  .index_btn_headline {
    margin-bottom: 10px;
    font-size: 20px;
    letter-spacing: 2px;
    color: #fff;
  }
  .index_btn_box {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
    width: 90%;
    margin: 0 auto;
  }
  .index_btn_box img {
    width: 90%;
  }
  .index_btn_sub {
    margin-top: 10px;
    font-size: 13px;
    letter-spacing: 1px;
    color: #fff;
  }

  .osae {
    padding: 50px 0;
    background: #fff;
    text-align: center;
  }
  .osae_text {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 1px;
    color: #FF6A76;
  }
  .osae_logo {
    width: 80%;
  }

  .osae_logo {
    padding: 30px 0 50px;
  }

  .osae_box {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
            align-items: center;
    width:80%;
    margin: 40px auto 0;
  }
  .osae_box img {
    width: 40%;
  }
  .osae_box p {
    text-align: left;
  }
  .osae_box p span {
    margin-left: 0;
    border-bottom: 3px solid #FF6A76;
  }

  .spec {
    position: relative;
    width: 100%;
    padding: 50px 0;
    background: #FF6A76;
  }
  .spec_box {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
            align-items: center;
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
           flex-direction: column;
    width: 100%;
    margin: 0 auto;
  }
  .spec_box_left {
    margin-bottom: 50px;
    text-align: center;
  }
  .spec_box_left img {
    width: 60%;
  }
  .spec_box_right {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    -webkit-box-pack: justify;
            justify-content: space-between;
    height: 250px;
  }
  .spec_box_right p {
    position: relative;
    font-size: 18px;
    line-height: 30px;
    color: #fff;
  }
  .spec_box_right p:before {
    content: "■";
    position: absolute;
    top: 0;
    left: -1em;
  }

  .bottom_cont {
    position: relative;
    padding: 50px 0;
    background: #fff;
    text-align: center;
  }
  .bottom_logo {
    width: 80%;
  }
  .bottom_btn_box {
    display: flex;
    width: 90%;
    margin: 50px auto 10px;  }
  .bottom_btn_box img {
    width: 90%;
    height: auto;
  }
  .bottom_btn_sub {
    font-size: 13px;
    letter-spacing: 1px;
    color: #FF6A76;
  }

  .footer {
    position: relative;
    width: 100%;
  }
  .footer ul {
    width: 100%;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
            justify-content: center;
    margin: 0 auto;
    padding: 20px 0;
    list-style: none;
  }
  .footer ul li {
    font-size: 14px;
    letter-spacing: 2px;
    color: #fff;
  }
  .footer ul li a {
    font-size: 16px;
    letter-spacing: 8px;
    text-decoration: none;
    color: #fff;
  }

  /* company ---------------- */
  .company {
    padding: 50px 0 120px;
    background: #FF9D9D;
  }
  .cont_title {
    position: relative;
    left:  10.5vw;
    margin-bottom: 1em;
    font-size: 4vw;
    color: #fff;
  }
  .comp_info {
    position: relative;
    left:  10.5vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 10vw 0 0;
  }
  .cont1,.cont2 {
    font-size: 3vw;
    line-height: 7vw;
  }
  .cont1 {
    width: 25vw;
  }
  .cont2 {
    width: 54vw;
    margin-left: 0vw;
  }
  .cont1 ul,.cont2 ul {
    list-style: none;
  }
  .cont1 ul li,.cont2 ul li {
    margin-bottom: 0;
    line-height: 1.8em;
    color: #fff;
  }

  /* privacy ------------- */
  .privacy {
    width: 90%;
    margin: 0 auto;
    padding:  0;
    background: #FF9D9D;
  }
  .privacy .cont_title {
    position: relative;
    left:  0;
    margin-bottom: 1em;
    padding-top: 30px;
    font-size: 4vw;
    color: #fff;
  }
  .privacy_box {
    width: 100%;
    margin: 0 auto 30px;
  }
  .privacy_hedline {
    font-size: 4vw;
    color: #fff;
  }
  .privacy_text {
    font-size: 3vw;
    text-align: justify;
    text-justify: inter-ideograph;
    color: #fff;
  }

  .right_text{
    text-align: right;
    color: #fff;
  }


  /* faq ----------------- */
  .faq {
    padding: 50px 0;
    background: #FF9D9D;
  }
  .faq .cont_title {
    width: 100%;
    margin: 0 auto 2em;
    font-size: 6vw;
    color: #fff;
  }
  .faq_box {
    width: 90%;
    margin: 0 auto 10vw;
  }
  .faq_btn {
    position: relative;
    margin-bottom: 3vw;
    font-size: 4vw;
    letter-spacing: 0.1vw;
    color: #fff;
    cursor: pointer;
  }
  .faq_btn:after {
    content: "+";
    position: absolute;
    top: 0;
    right: 0;
  }
  .faq_answer {
    display: none;
    padding-left: 1.5em;
    font-size: 3vw;
    line-height: 5vw;
    letter-spacing: 0.1vw;
    color: #fff;
    text-align: justify;
    text-justify: inter-ideograph;
  }
  .faq_answer span {
    font-size: 2.5vw;
    line-height: 20px;
    letter-spacing: 2px;
    color: #fff;
    text-align: justify;
    text-justify: inter-ideograph;
  }
  .faq_btn_box {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    flex-direction: column;
  }
  .faq_btn_box:first-child {
    margin-bottom: 5vw;
  }
  .faq_btn_box p {
    width: 90%;
    margin-bottom: 2vw;
    font-size: 3vw;
    letter-spacing: 2px;
    color: #fff;
    text-align: center;
  }
  .contact {
    padding: 50px 0;
    text-align: center;
    background: #fff;
  }
  .cont_img1 img {
    width: 70%;
  }
  .cont_img2 {
    margin: 30px;
  }
  .contact a {
    font-size: 6vw;
    letter-spacing: 0.5vw;
    text-decoration: none;
    color: #FF6A76
  }

  /* manual -------------*/
  .manual {
    position: relative;
    width: 100%;
    padding: 50px 0;
    background: #FF9D9D;
  }
  .manual_box {
    display: -webkit-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  .manual_box:not(:last-child) {
    margin-bottom: 100px;
  }
  .manual_box_left:after {
    content: "";
  }
  .manual_box_left {
    margin-bottom: 0;
    text-align: center;
  }
  .manual_box_left img {
    width: 60%;
  }
  .manual_box_right {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    justify-content: flex-start;
    width: 90%;
    margin: 30px auto 0;
    height: auto;
  }
  .manual_box_right p {
    position: relative;
    font-size: 18px;
    line-height: 30px;
    color: #fff;
  }
  .manual_box_right p:first-child {
    padding-left:2em;
    text-indent:-2em;
  }
  .manual_box_right p:not(:first-child) {
    padding-left:2em;
  }
  .manual_box_right p:not(:last-child) {
    margin-bottom: 30px;
  }

  /* lp ---------------------- */
  #contents.lp {
    padding-top: 0;
  }

  .lp_pc {display: none;}
  .lp_sp {display: block;}

  .lp_header {
    background: #FF9D9D !important;
  }

  .lp_index {
    padding: 50px 0 0;
  }
  .lp_index_box1 p {
    margin: 50px 0;
    font-size: 23px;
    letter-spacing: 5px;
    line-height: 60px;
  }
  .lp_index_box1 img {
    width: 291px;
    height: auto;
  }

  .lp_index_box2 {
    width: 80%;
    margin: 0 auto;
    padding: 20px;
    border: 1px solid #fff;
  }
  .lp_index_box2 p {
    font-size: 13px;
    letter-spacing: 5px;
    line-height: 23px;
    text-align: justify;
    text-justify: inter-ideograph;
  }

  .lp_index_box3 {
    margin: 50px 0;
    text-align: center;
  }
  .lp_index_box3 p {
    margin-bottom: 50px;
    font-size: 24px;
    letter-spacing: 5px;
  }
  .lp_index_box3 img {
    width: 90%;
    margin: auto;
  }

  .spec_box.lp {
    width: 75%;
  }
  .spec_box.lp p {
    margin-bottom: 1em;
  }
  .spec_box_right.lp p {
    letter-spacing: 5px;
  }
  .bottom_btn_box.lp {
    margin: 0 auto 10px;
  }
  .lp_copy1 {
    margin-bottom: 30px;
    font-size: 19px;
    letter-spacing: 2px;
  }
  .lp_copy2 {
    margin: 30px 0 10px;
    font-size: 22px;
    letter-spacing: 3px;
  }

  .lp_footer {
    padding: 30px;
    font-size: 14px;
    letter-spacing: 1px;
    color: #fff;
    background: #000;
    text-align: center;
  }
}
