/* PageTitleArea */
.page_ttl_area { position:relative; top:0; left:0; width:100%; height:auto; padding-top:90px; }
.page_ttl_wrap { position:relative; width:80%; left:10%; }
.page_ttl_img { position:relative; background: #fff; width:100%; height:100%; padding-top: 90%; left:50%; transform:translateX(-50%); overflow: hidden; }
.page_ttl_img img { position:absolute; width:auto; height:100%; top:50%; left:50%; transform:translate(-50%, -50%); transform-origin:-5% -5%; animation: phFade .8s ease-in forwards; }
.page_ttl_txt { position:relative; width:100vw; left:-10vw; top:-30px; color:#5c7471; animation: fadeUp .6s ease-in forwards; }
.page_ttl_txt h1 { font-size:6rem; letter-spacing:4px; line-height:80%; text-align:center; }
.page_ttl_txt h3 { font-size:1.5rem; text-align:center; letter-spacing:2px; }
.page_ttl_txt p { font-size:1.2rem; letter-spacing:1px; line-height:200%; margin-top:20px; padding-left:10%; }



/* Contact */
.form_area { position:relative; width:100%; height:auto; margin:0; margin-top:80px; padding:60px 0 80px 0; background:#5c7471; }
.form_inner { position:relative; width:80%; left:10%; font-size:1.3rem; }

.form_txt, .form_txtarea, .form_check { display:flex; flex-wrap:wrap; margin-bottom:20px; }
.form_txt label, .form_txt input, .form_txtarea label, .form_txtarea textarea { width:100%; }
.form_txt input, .form_txtarea textarea { padding:10px; border-radius:8px; border-style: none; }
.form_txt label, .form_txtarea label { font-size:1.5rem; font-weight:bold; color:#fff; margin-bottom:5px;}
.form_txt input {height:60px; }
.form_txtarea { margin-bottom:40px; }

input[type="checkbox"] { display: none; }
input[type="checkbox"] + label {
  display: block;
  position: relative;
  padding-left: 35px;
  line-height:26px;
  margin-bottom: 20px;
  color: #fff;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
input[type="checkbox"] + label:before {
  content: '';
  display: block;
  width: 26px;
  height: 26px;
  border: 1px solid #ccc;
  background-color:#6c7f7c;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
}
input[type="checkbox"]:checked + label:before {
  width: 10px;
  top: -6px;
  left: 6px;
  background:none;
  border-radius: 0;
  border: 2px solid #ffcc00;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.form_check label { font-weight:bold; font-size:1.5rem; }

.form_caution { margin-bottom:0px; text-align:right; font-size:1rem; }
.caution { color:#ffcc00; }

.privacy_wrap { position:relative; width:80%; left:10%;}
.privacy_ttl { color:#f1f1f1; text-align:center; }
.privacy_ttl h2 { font-size:2.8rem; letter-spacing:2px; margin:0; line-height:80%; }
.privacy_ttl h3 { font-size:1.3rem; margin-top:5px; letter-spacing:2px; }
.privacy_inner { position:relative; width:100%; height:200px; padding:20px; background:#6c7f7c; color:#f1f1f1; margin-top:15px; margin-bottom:30px; overflow-y: scroll; border-radius:10px; }
.privacy_inner p { margin:0; font-size:1.2rem; line-height:180%; }
.privacy_inner h4 { margin:0; margin-top:40px; margin-bottom:10px; font-size:1.6rem; }
.privacy_inner dl { display:flex; flex-wrap:wrap; font-size:1.3rem; margin-top:15px; }
.privacy_inner dt { width:15px; margin-bottom:5px; }
.privacy_inner dd { width:calc(100% - 15px); margin-bottom:5px; }
.privacy_inner_contact { margin-top:20px; padding-top:20px; border-top:1px solid #f1f1f1; display:block; font-size:1.2rem; line-height:180%; }
.privacy_inner_contact a { color:#f4e5df; text-decoration:underline; transition:all .3s ease; }
.privacy_inner_contact a:hover { opacity:0.6; }

.confirm_btn, .submit_btn { position:relative; width:100%; height:64px; background:#fbe8e0; border:none; font-size:1.3rem; color:#5c7471; padding:0; }

.error_list { width:100%; border-bottom:1px solid #999999; padding-bottom:10px; margin-bottom:20px; color:#ffcc00;}


#cnfm, #thks { position:relative; width:100%; background:#5c7471; padding:120px 0 80px 0; }
#cnfm h3{ text-align:center; font-size:2rem; font-weight:bold; letter-spacing:2px; color:#fff; margin-bottom:30px; }
#thks h2 { text-align:center; font-size:3rem; letter-spacing: 4px; color:#fff; margin-bottom:30px; }
.thks_txt h3 { font-size:1.8rem; margin-bottom:10px; color:#5c7471; }
#cnfm p, .thks_txt p { font-size:1.3rem; color:#5c7471; }
.thks_note p { font-size:1rem; color:#bb0000; }
.cfm_inner { position:relative; width:80%; left:10%; background:#fff; padding:24px; border-radius:10px; }
.form_txt_cfm label, .form_txtarea_cfm label { width:100%; text-align:center; font-size:1.3rem; color:#787878; background-color:#f1f1f1; padding:12px; margin-top:15px; }
.form_txt_cfm p, .form_txtarea_cfm p { font-weight:bold; margin-top:5px; }
.cfm_btn_area { margin-top:20px; }
.back_btn, .index_btn , .submit_btn { position:relative; width:100%; height:64px; font-size:1.3rem; border:none; margin-top:20px; padding:0; }
.back_btn, .index_btn { background:#787878; color:#fff; transition:all .3s ease; }
.back_btn:hover, .index_btn:hover { background:#999999; }
.back_btn::after, .index_btn::after  { content:''; position:absolute; width:20px; height:1px; top:50%; left:0; background:#fff; transition:all .3s ease; }
.back_btn:hover::after, .index_btn:hover::after { width:0px; }





/* Brakepoints */
@media screen and (min-width:360px) {
    .page_ttl_txt p { margin-top:30px; }
}

@media screen and (min-width:410px) {
    .page_ttl_txt { width:100%; left:0; }
    .page_ttl_txt p { margin-top:40px; line-height:250%; padding-left:0; }
    .privacy_area { padding:80px 0 100px 0; }
    .privacy_ttl h2, #thks h2 { font-size:3.6rem; }
    .privacy_ttl h3 { font-size:1.6rem; }
    #cnfm, #thks { padding:140px 0 120px 0; }
    .cfm_inner { padding:36px; }
    #cnfm h3 { margin-bottom:50px; }
}

@media screen and (min-width:480px) {

}

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

    .page_ttl_wrap { display:flex; flex-direction: row-reverse; align-items: center; padding:60px 0; }
    .page_ttl_txt { top:0; width:50%;  }
    .page_ttl_img { width:50%; left:0; padding-top:50%; transform:none; }
    .page_ttl_txt h1 { font-size:5.2rem; text-align:left; }
    .page_ttl_txt h3 { font-size:1.6rem; text-align:left; }
    .page_ttl_txt p { font-size:1.3rem; line-height:200%; margin-top:20px; }
    .privacy_area { margin-top:120px; }
    .privacy_inner { margin-top:20px; margin-bottom:40px; padding:30px; }
    .contact_btn { width:320px; left:50%; transform:translateX(-50%); }
    #cnfm, #thks { padding:200px 0 200px 0; }
    #thks h2 { font-size:5rem; }
    #cnfm h3 { font-size:3.2rem; }
    .cfm_inner { padding:60px; }
    .error_list { font-size:1.3rem;}
    .thks_txt h3 { font-size:2.4rem;text-align:center; margin-bottom:30px; }
    .thks_txt p { font-size:1.6rem; }
    .thks_note p { font-size:1.2rem; }
    .index_btn, .confirm_btn  { width:320px; left:50%; transform:translateX(-50%); }
    .back_btn, .submit_btn { width:42%; left:50%; transform:translateX(-100%); }
    .back_btn { margin-left:-10px; }
    .submit_btn { margin-left:10px; }
    .form_area { margin-top:80px; padding:100px 0 160px 0; }
    .form_caution { margin-bottom:20px; }
    .form_txt, .form_txtarea { display:flex; flex-wrap:nowrap; }
    .form_txtarea { margin-bottom:80px; }
    .form_check { margin-bottom:40px; }
    .form_txt_cfm, .form_txtarea_cfm { display:flex; flex-wrap:nowrap; border-top:1px solid #ccc; }
    .form_txt_cfm label, .form_txtarea_cfm label { background:none; width:140px; text-align:left; margin:0; padding:24px; padding-left:0; }
    .form_txt label, .form_txtarea label { width:280px; padding-top:18px; }
    .form_txt_cfm p, .form_txtarea_cfm p { margin:0; padding:24px; }
    .cfm_txt { margin-bottom:40px; }
}

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

    .page_ttl_txt h1 { font-size:8rem; letter-spacing:8px; }
    .page_ttl_txt h3 { font-size:2rem; }
    .page_ttl_txt p { font-size:1.4rem; margin-top:40px; }

    .privacy_area { padding:120px 0 140px 0; }
    .privacy_ttl h2 { font-size:4.8rem; letter-spacing:4px; }
    .privacy_ttl h3 { font-size:1.8rem; }
    .privacy_inner { height:300px; }
    .privacy_inner p, .privacy_inner dl, .privacy_inner_contact { font-size:1.3rem; }
    .privacy_inner h4 { font-size:2rem; }
    .privacy_inner dt { width:20px; }
    .privacy_inner dd { width:calc(100% - 20px); }
    .contact_btn { width:480px; }
    #thks h2 { font-size:6.4rem; }
    .error_list { font-size:1.4rem;}
    .cfm_inner { padding:60px 100px; max-width:980px; left:50%; transform:translateX(-50%); }
    .back_btn, .index_btn, .submit_btn { width:320px; }
    .back_btn { margin-left:-20px; }
    .submit_btn { margin-left:30px; }
    .confirm_btn span { font-size:1.6rem; }
    .form_txt label, .form_txtarea label { width:340px; }
    .form_txt { margin-bottom:30px; }
    .form_txtarea { margin-bottom:60px; }
    .form_txt input { height:68px; padding:15px; }
    .form_txtarea textarea { padding: 15px; height:240px; }
    .form_check label { padding-left:45px !important; }
}

@media screen and (min-width:1280px) {
    .page_ttl_area { padding-top:100px; }
    .page_ttl_wrap { padding:50px 0; }
    .page_ttl_txt h1 { font-size:10rem; }
    .page_ttl_txt h3 { font-size:2rem; }
    .page_ttl_txt p { font-size:1.6rem; }

    .privacy_area { margin-top:140px; padding:140px 0 160px 0; }
    .privacy_ttl h2 { font-size:6rem; }
    .privacy_ttl h3 { font-size:2rem; }
    .privacy_inner { margin-top:40px; margin-bottom:40px; height:320px; padding:60px; }
    .privacy_inner p, .privacy_inner dl, .privacy_inner_contact { font-size:1.4rem; }
    .privacy_inner h4 { font-size:2.4rem; }
    .contact_btn { height:100px; }
    .error_list { font-size:1.6rem;}
    .back_btn, .index_btn, .submit_btn { height:80px; font-size:1.5rem; }
    .form_txt, .form_txtarea { font-size:1.6rem; }
    .form_txtarea { margin-bottom:100px; }
    .form_txt label, .form_txtarea label { font-size:1.6rem; width:360px; }
    .form_caution { font-size:1.2rem; }
    .form_check label { font-size:1.6rem !important; }
    .confirm_btn { height:80px; width:420px; }
    .confirm_btn span { font-size:1.8rem; }
    .form_area { padding-bottom:200px; }
    input[type="checkbox"] + label { line-height:34px; padding-left:60px !important; }
    input[type="checkbox"] + label:before { width: 36px; height: 36px; }
    input[type="checkbox"]:checked + label:before { width: 18px; top: -8px; left: 8px; }
}

@media screen and (min-width:1920px) {
    .page_ttl_wrap { padding:80px 0; }
    .page_ttl_txt h1 { font-size:12rem; }
    .page_ttl_txt h3 { font-size:2.8rem; }
    .page_ttl_txt p { font-size:2rem; margin-top:40px; }

    .privacy_area { margin-top:180px; padding:180px 0 200px 0; }
    .privacy_ttl h2 { font-size:8rem; }
    .privacy_ttl h3 { font-size:2.8rem; }
    .privacy_inner p, .privacy_inner dl, .privacy_inner_contact { font-size:1.8rem; }
    .privacy_inner h4 { font-size:2.8rem; margin-top:60px; }
    .privacy_inner { margin-top:60px; margin-bottom:40px; height:460px; padding:80px; border-radius:30px; }
    .privacy_inner dt { width:32px; }
    .privacy_inner dd { width:calc(100% - 32px); }
    .privacy_inner_contact { margin-top:40px; padding-top:40px; }

    .error_list { font-size:2rem;}
    .contact_btn span, .back_btn span, .index_btn span, .submit_btn span, .confirm_btn span { font-size:2.2rem; }
    #thks h2 { font-size:8rem; }
    .thks_txt h3 { font-size:2.8rem; }
    .thks_txt p { font-size:2rem; }
    .thks_note p { font-size:1.5rem; }
    .back_btn::after, .index_btn::after  { width:30px; }
    .form_txt_cfm label, .form_txtarea_cfm label { font-size:2rem; width:200px; padding:40px; padding-left:0; }
    .form_txt_cfm p, .form_txtarea_cfm p { padding:40px; }
    .cfm_txt { margin-bottom:60px; }
    #cnfm p { font-size:2rem; }
    #cnfm h3 { font-size:4.2rem; }
    .cfm_btn_area { margin-top:60px; }
    .back_btn { margin-left:-20px; }
    .submit_btn { margin-left:30px; }
    .cfm_inner { padding:80px 100px; }
    .form_area { padding:180px 0 280px 0; }
    .form_txt label, .form_txtarea label { font-size:2rem; width:460px; padding-top:24px; }
    .form_caution { font-size:1.6rem; }
    .form_txt input { height:84px; padding:20px; font-size:2rem; }
    .form_txtarea textarea { padding:20px; font-size:2rem; height:280px; }
    .form_txt { margin-bottom:40px; }
    .form_txtarea { margin-bottom:160px; }
    .form_check label { font-size:2rem !important; }
    input[type="checkbox"] + label { line-height:48px; padding-left:80px !important; }
    input[type="checkbox"] + label:before { width: 48px; height: 48px; }
    input[type="checkbox"]:checked + label:before { width: 20px; top: -10px; left: 10px; }
    .confirm_btn { height:100px; width:480px; }
}

@media screen and (min-width:2560px) {
    .page_ttl_wrap { padding:120px 0; }
    .page_ttl_txt h1 { font-size:20rem; }
    .page_ttl_txt h3 { font-size:4.2rem; }
    .page_ttl_txt p { font-size:2.4rem; margin-top:60px; line-height:240%; }

    .privacy_area { margin-top:240px; padding:240px 0 320px 0; }
    .privacy_ttl h2 { font-size:12rem; }
    .privacy_ttl h3 { font-size:3.6rem; }
    .privacy_inner p, .privacy_inner dl, .privacy_inner_contact { font-size:2.4rem; }
    .privacy_inner h4 { font-size:3.6rem; }
    .privacy_inner { height:480px; padding:80px; margin-bottom:60px; }
    .privacy_inner dt { width:40px; }
    .privacy_inner dd { width:calc(100% - 40px); }
    .contact_btn { width:640px; height:140px; }
    .contact_btn span { font-size:2.8rem; }
    .privacy_inner_contact { margin-top:60px; padding-top:60px; }
    #cnfm, #thks { padding:320px 0 280px 0; }
    #thks h2 { font-size:12rem; }
    .cfm_inner { padding:100px; max-width:1200px; }
    .thks_txt h3 { font-size:3.6rem; margin-bottom:80px; }
    .thks_txt p { font-size:2.4rem; margin-bottom:40px; }
    .thks_note p { font-size:2rem; }
    .cfm_btn_area { margin-top:60px; }
    .back_btn, .index_btn, .submit_btn { width:480px; height:100px; font-size:1.8rem; }
    #cnfm h3 { font-size:6rem; }
    #cnfm p { font-size:2.4rem; }
    .form_txt_cfm label, .form_txtarea_cfm label { font-size:2.4rem; width:240px; padding:40px; padding-left:0; }
    .form_txt_cfm p, .form_txtarea_cfm p { padding:40px; }
    .form_inner { width:70%; left:15%; }
    .form_area { padding:200px 0 360px 0; }
    .error_list { font-size:2.4rem;}
    .form_caution { font-size:1.8rem; margin-bottom:40px; }
    .form_txt label, .form_txtarea label { font-size:2.4rem; width:580px; padding-top:32px; }
    .form_txt input { height:100px; padding:30px; font-size:2.4rem; }
    .form_txt { margin-bottom:60px; }
    .form_txtarea { margin-bottom:180px; }
    .form_check label { font-size:2.4rem !important; }
    .form_txtarea textarea { padding:30px; font-size:2.4rem; height:360px; }
    input[type="checkbox"] + label { line-height:60px; padding-left:120px !important; }
    input[type="checkbox"] + label:before { width: 60px; height: 60px; }
    input[type="checkbox"]:checked + label:before { width: 30px; top: -15px; left: 15px; }
    .form_check { margin-bottom:80px; }
    .confirm_btn { height:140px; width:580px; }
    .confirm_btn span { font-size:2.4rem; }
}

@media screen and (min-width:3840px) {
    .page_ttl_area { padding-top:280px; }
    .page_ttl_wrap { padding:100px 0; }
    .page_ttl_txt h1 { font-size:30rem; }
    .page_ttl_txt h3 { font-size:6rem; }
    .page_ttl_txt p { font-size:3.2rem; margin-top:80px; }

    .privacy_area { margin-top:460px; padding:320px 0 480px 0; }
    .privacy_ttl h2 { font-size:20rem; }
    .privacy_ttl h3 { font-size:4.6rem; }
    .privacy_inner { height:600px; padding:120px; margin-top:120px; margin-bottom:120px; }
    .privacy_inner p, .privacy_inner dl, .privacy_inner_contact { font-size:3.2rem; }
    .privacy_inner h4 { font-size:4.2rem; }
    .contact_btn { width:860px; height:200px; }
    .contact_btn span, .back_btn span, .submit_btn span { font-size:4rem; }
    .privacy_inner_contact { margin-top:80px; padding-top:80px; border-top:2px solid #f1f1f1;}
    #cnfm, #thks { padding:560px 0 500px 0; }
    #thks h2 { font-size:24rem; }
    #cnfm h3 { font-size:8rem; }
    #cnfm p { font-size:3.2rem; }
    .form_txt_cfm label, .form_txtarea_cfm label { font-size:3.2rem; width:320px; padding:60px; padding-left:0; }
    .form_txt_cfm p, .form_txtarea_cfm p { padding:60px; }
    .cfm_inner { padding:180px; max-width:1800px; }
    .thks_txt h3 { font-size:6rem; margin-bottom:120px; }
    .thks_txt p { font-size:4.6rem; margin-bottom:80px; }
    .thks_note p { font-size:3.2rem; }
    .index_btn { width:800px; height:200px; }
    .back_btn, .submit_btn { width:640px; height:160px; }
    .back_btn::after, .index_btn::after  { width:60px; height:2px;}
    .cfm_btn_area { margin-top:120px; }
    .back_btn { margin-left:-30px; }
    .submit_btn { margin-left:70px; }
    .form_area { margin-top:240px; padding:320px 0 560px 0; }
    .error_list { font-size:3.2rem;}
    .form_txt label, .form_txtarea label { font-size:3.2rem; width:800px; padding-top:60px; }
    .form_txt input { height:160px; padding:40px; font-size:3.2rem; }
    .form_txt { margin-bottom:80px; }
    .form_txtarea textarea { padding:40px; font-size:3.2rem; height:480px; }
    .form_txtarea { margin-bottom:240px; }
    .form_caution { font-size:2.4rem; margin-bottom:80px; }
    .form_check { margin-bottom:120px; }
    .form_check label { font-size:3.2rem !important; }
    input[type="checkbox"] + label { line-height:100px; padding-left:160px !important; }
    input[type="checkbox"] + label:before { width: 100px; height: 100px; }
    input[type="checkbox"]:checked + label:before { width: 50px; top: -25px; left: 25px; }
    .confirm_btn { height:180px; width:800px; }
    .confirm_btn span { font-size:3.2rem; }
}
