@charset "utf-8";
/* #Reset & Basics
================================================== */
* {
 margin: 0;
 padding: 0;
 outline: none;
  box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* #Base styles
================================================== */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

html,
body,
#wrapper {
  overflow-x: hidden;
}
html {
  scroll-behavior: smooth;
}

/* 基本設定
--------------------------------------------------- */
body {
 margin: 0 auto;
 padding: 0;
 text-align: center;
 font-family: 'Noto Sans JP', sans-serif;
 font-size: 18px;
 line-height: 1.8;
 color: #2E2E2E;
}

img {
 border: none;
 height: auto;
}

a:link, a:active, a:visited {
  color: #0044cc;
  text-decoration: underline;
}

a:hover {
  color: #7a8fe0;
  text-decoration: none;
}

ul, ol {
  list-style-type: none;
}


/* rollover
----------------------------------------------------*/
a:hover img.hov {
  filter: alpha(opacity=8);
  -moz-opacity:0.8;
  opacity:0.8;
}

.hov a:hover {
  filter: alpha(opacity=8);
  -moz-opacity:0.8;
  opacity:0.8;
}

a.hov:hover {
  filter: alpha(opacity=8);
  -moz-opacity:0.8;
  opacity:0.8;
}


/* clear
----------------------------------------------------*/
/* ---IE7.IE8 clearfix--- */
.clearfix:after { content: ".";display: block;clear: both;height: 0;visibility: hidden; }
.clearfix { display: inline-block; }
/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

.clear {
  clear: both;
}

.show {
  display: block !important;
}

/* 画面サイズ調整用 */
.show_pc {
  display: block;
}

.show_sp {
  display: none;
}

/* screens smaller than 1023
--------------------------------------------------- */
@media only screen and (max-width:1023px) {
.show_pc {
  display: none;
}

.show_sp {
  display: block;
}

  }
/* /screens smaller than 1023 */

/* 調整用 */
.f_min {
  font-family: "ヒラギノ明朝 Pro W3", "HiraginoMincho Pro", "游明朝","Yu Mincho", sans-serif;
}

.mb5 {
  margin-bottom: 5px!important;
}
.mb10 {
  margin-bottom: 10px!important;
}
.mb15 {
  margin-bottom: 15px!important;
}
.mb20 {
  margin-bottom: 20px!important;
}
.mb25 {
  margin-bottom: 25px!important;
}
.mb30 {
  margin-bottom: 30px!important;
}
.mb40 {
  margin-bottom: 40px!important;
}
.mb50 {
  margin-bottom: 50px!important;
}
.mb100 {
  margin-bottom: 100px!important;
}
.mt5 {
  margin-top: 5px!important;
}
.mt10 {
  margin-top: 10px!important;
}
.mt15 {
  margin-top: 15px!important;
}
.mt20 {
  margin-top: 20px!important;
}
.mt25 {
  margin-top: 25px!important;
}
.mt30 {
  margin-top: 30px!important;
}
.bold {
  font-weight: bold!important;
}

.align_lf {
  text-align: left!important;
}
.align_c {
  text-align: center!important;
}
.align_ri {
  text-align: right!important;
}
.float_lf {
  float: left!important;
}
.float_ri {
  float: right!important;
}

.max_width{
  max-width:100%;
}

/* wrapper
--------------------------------------------------- */
@media screen and (max-width: 1023px) {
  #wrapper {
    padding-bottom: 60px;
  }
}/* max-width: 1023px */

/* l_header
--------------------------------------------------- */
.l_header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  background-color: #fff;
  opacity: 0;
}

.l_header.UpMove{
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-100px);
  }
}

.l_header.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}
@media screen and (max-width: 1023px) {
  .l_header {
    display: none;
  }
}/* max-width: 1023px */

.l_header_cont {
  width: 1280px;
  height: 80px;
  margin: 0 auto;
  text-align: left;
}

@media screen and (max-width: 1280px) {
  .l_header_cont {
    width: 100%;
  }
}/* max-width: 1280px */

.l_header_list {
  display: flex;
  justify-content: left;
  gap: 12px;
}

@media screen and (min-width: 1024px) and (max-width:1280px) {
  .l_header_list {
    gap: 4px;
    margin-left: 40px;
    margin-right: 40px;
  }
}/* max-width: 767px */


.l_header_link,
a.l_header_link {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  color: #2E2E2E;
  text-decoration: none;
  height: 80px;
  position: relative;
  line-height: 2;
  padding-right: 16px;
  padding-left: 4px;
}
@media screen and (min-width:1024px) and (max-width:1279px) {
  .l_header_link,
  a.l_header_link {
    font-size: 13px;
    padding-right: 8px;
    padding-left: 2px;
  }
}/* max-width: 767px */
@media screen and (min-width: 1024px) and (max-width:1023px) {
  .l_header_link,
  a.l_header_link {
    font-size: 1.4vw;
  }
}/* max-width: 767px */

.l_header_link_line {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
}

a.l_header_link:hover .l_header_link_line {
  background-color: #A100FF;
}

.l_header_list_in_group .l_header_group .l_header_link_line,
.l_header_list_in_feature .l_header_feature .l_header_link_line,
.l_header_list_in_procedure .l_header_procedure .l_header_link_line,
.l_header_list_in_simulation .l_header_simulation .l_header_link_line,
.l_header_list_in_online .l_header_online .l_header_link_line,
.l_header_list_in_faq .l_header_faq .l_header_link_line,
.l_header_list_in_contact .l_header_contact .l_header_link_line {
  background-color: #A100FF;
}

.l_header_link_icon {
  display: inline-block;
  padding-left: 35px;
}




/* 追従
--------------------------------------------------- */
.l_fix_area {
  position: fixed;
  right: 0;
  width: 92px;
  z-index: 50;
}

@media screen and (min-width: 1024px) {
  .l_fix_area {
    top: 115px;
  }
}/* min-width: 1024px */

@media screen and (min-width: 1024px) and (max-width:1280px) {
  .l_fix_area {
    width: 70px;
    z-index: 50;
  }
}/* max-width: 767px */

@media screen and (max-width: 1023px) {
  .l_fix_area {
    bottom: 0;
    width: 100%;
    height: 90px;
  }
}/* max-width: 1023px */
@media screen and (max-width: 500px) {
  .l_fix_area {
    height: 60px;
  }
}/* max-width: 500px */

@media screen and (min-width: 1024px) {
  .l_fix_nav li {
    margin-bottom: 11px;
  }
}/* min-width: 1024px */

@media screen and (max-width: 1023px) {
  .l_fix_nav {
    display: flex;
  }

  .l_fix_nav li {
    width: 50%;
  }
}/* max-width: 1023px */

.l_fix_btn,
a.l_fix_btn {
  display: block;
  width: 100%;
  text-align: center;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
}

@media screen and (min-width: 1281px) {
  .l_fix_btn,
  a.l_fix_btn {
    height: 280px;
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
  }
}/* min-width:1281px */


@media screen and (min-width: 1024px) and (max-width:1280px) {
  .l_fix_btn,
  a.l_fix_btn {
    height: 220px;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    font-size: 16px;
  }
}/* max-width: 767px */
@media screen and (max-width: 1023px) {
  .l_fix_btn,
  a.l_fix_btn {
    height: 90px;
  }
}/* max-width: 1023px */

@media screen and (max-width: 500px) {
  .l_fix_btn,
  a.l_fix_btn {
    font-size: 14px;
    height: 60px;
  }
}/* max-width: 1023px */

.l_fix_btn_entry {
  background-color: #F69C00;
}

.l_fix_btn_consultation {
  background-color: #A100FF;
}

.l_fix_btn_inbox {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}

@media screen and (min-width: 1024px) {
  .l_fix_btn_inbox {
    writing-mode: vertical-rl;
  }
}/* min-width: 1024px */

.l_fix_icon_entry {
  background: url(../img/icon/icon_entry.svg) no-repeat center 0;
  background-size: contain;
  padding-top: 45px;

}

.l_fix_icon_consultation {
  background: url(../img/icon/icon_simulate.svg) no-repeat center 0;
  background-size: contain;
  padding-top: 37px;
}

@media screen and (min-width: 1024px) and (max-width:1280px) {
  .l_fix_icon_entry {
    padding-top: 42px;
  }
  .l_fix_icon_consultation {
    padding-top: 30px;
  }
}/* max-width: 767px */

@media screen and (max-width: 1023px) {
  .l_fix_icon_entry {
    background: url(../img/icon/icon_sp_entry.svg) no-repeat 0 center;
    background-size: 24px auto;
    padding-top: 0;
    padding-left: 36px;
  }

  .l_fix_icon_consultation {
    background: url(../img/icon/icon_sp_simulate.svg) no-repeat 0 center;
    background-size: 28px auto;
    padding-top: 0;
    padding-left: 36px;
  }
}/* max-width: 1023px */
@media screen and (max-width: 500px) {
  .l_fix_icon_entry {
    background: url(../img/icon/icon_sp_entry.svg) no-repeat 0 center;
    background-size: 16px auto;
    padding-top: 0;
    padding-left: 24px;
  }

  .l_fix_icon_consultation {
    background: url(../img/icon/icon_sp_simulate.svg) no-repeat 0 center;
    background-size: 21px auto;
    padding-top: 0;
    padding-left: 27px;
  }
}/* max-width: 500px */

.l_fix_icon_other_link {
  margin-top: 10px;
}
@media screen and (max-width: 1023px) {
  .l_fix_icon_other_link {
    margin-top: 0;
    margin-left: 8px;
  }

  .l_fix_icon_other_link img {
    width: 20px;
    vertical-align: -2px;
  }
}/* max-width: 1023px */

@media screen and (max-width: 500px) {
  .l_fix_icon_other_link {
    margin-top: 0;
    margin-left: 8px;
  }

  .l_fix_icon_other_link img {
    width: 16px;
    vertical-align: -2px;
  }
}/* max-width: 500px */

/* スマホメニュー
--------------------------------------------------- */
.l_sp_menu {
  display: none;
}

@media screen and (max-width: 1023px) {
  .l_sp_menu {
    display: block;
    width: 48px;
    position: fixed;
    top: 10px;
    right: 20px;
    z-index: 80;
  }
}/* max-width: 1023px */

.l_sp_menu.UpMove{
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-100px);
  }
}

.l_sp_menu.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}

/* l_sp_menu
--------------------------------------------------- */
.overlay {
  background-color: #460073;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 90;
  display: none;
}
.open .overlay {
  display: block;
}

body.open {
  overflow-y: hidden;
}

#l_sp_menu {
  position: fixed;
  top: 0;
  right: -81.3%;
  z-index: 91;
  width: 81.3%;
  height: 100%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  text-align: left;
}

body.open #l_sp_menu {
  right: 0;
}

.l_sp_menu_cont {
  overflow-y: auto;
  height: 100%;
}

.l_sp_menu_header {
  padding: 10px 0 63px;
  text-align: right;
}

.l_sp_menu_header_btn {
  display: -inline-block;
  margin-right: 20px;
}

.l_sp_nav_link,
a.l_sp_nav_link {
  display: block;
  color: #2E2E2E;
  background-color: #fff;
  padding: 10px 20px 10px 25px;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
}

.l_sp_nav_icon {
  display: block;
  padding: 5px 0 5px 55px;
}

.l_sp_nav_group {
  background: url(../img/icon/icon_community.svg) no-repeat 0 center;
}

.l_sp_nav_feature {
  background: url(../img/icon/icon_contract.svg) no-repeat 0 center;
}

.l_sp_nav_procedure {
  background: url(../img/icon/icon_pen.svg) no-repeat 0 center;
}

.l_sp_nav_simulation {
  background: url(../img/icon/icon_benefits.svg) no-repeat 0 center;
}

.l_sp_nav_online {
  background: url(../img/icon/icon_contract.svg) no-repeat 0 center;
}

.l_sp_nav_faq {
  background: url(../img/icon/icon_question.svg) no-repeat 0 center;
}

.l_sp_nav_contact {
  background: url(../img/icon/icon_inbox.svg) no-repeat 0 center;
}

/* l_pagelink
--------------------------------------------------- */
.l_pagelink_block {
  position: relative;
}

.l_pagelink {
  position: absolute;
  top: -90px;
  left: 0;
}

@media screen and (max-width: 1023px) {
  .l_pagelink {
    top: -20px;
  }
}/* max-width: 1023px */

/* l_area_block
--------------------------------------------------- */
.l_area_block {
  position: relative;
}

.l_area_box {
  position: absolute;
  top: -100px;
  left: 0;
  width: 1px;
  height: calc(100% + 30px);
  overflow: hidden;
}

/* l_form
--------------------------------------------------- */
.l_form{
  width: 798px;
  max-width: 100%;
  margin: 0 auto;
}

.l_form_item_ttl{
  display: inline-block;
  padding-left: 1em;
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 700;
  color: #2E2E2E;
}

.l_form_item_must .l_form_item_ttl{
  position: relative;
}
.l_form_item_must .l_form_item_ttl::after{
  color: #DA1414;
  font-size: 14px;
  font-weight: normal;
  content: "*";
}
.soudan_form .l_form_item,
.l_form_item + .l_form_item{
  margin-top: 30px;
}

.l_form_col2,
.l_form_col3,
.l_form_col7{
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  gap: 10px;
}
.l_form_col2 > *:nth-child(n+3),
.l_form_col3 > *:nth-child(n+4),
.l_form_col7 > *:nth-child(n+4){
  margin-top: 14px;
}

.l_form_col2 > *{
  width: 390px;
}
.l_form_col3 > *{
  width: 255px;
}
.l_form_col7 > *:nth-child(1),
.l_form_col7 > *:nth-child(2),
.l_form_col7 > *:nth-child(3){
  width: 255px;
}
.l_form_col7 > *:nth-child(4),
.l_form_col7 > *:nth-child(5),
.l_form_col7 > *:nth-child(6),
.l_form_col7 > *:nth-child(7){
  width: 187px;
}

@media screen and (max-width: 1023px) {
  .l_form_col2_sp > *{
    width: 48% !important;
  }
  .l_form_col1_sp > *{
    width: 100% !important;
  }
  .l_form_col2_sp > *:nth-child(n+3),
  .l_form_col1_sp > *:nth-child(n+2){
    margin-top: 14px;
  }
}

.l_form_select{
  position:relative;
  z-index:1;
}
.l_form_select_inr{
  position:relative;
  z-index:1;
}
.l_form_select select{
  -webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
  -moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
  appearance: none; /* 標準のスタイルを無効にする */
  width: 100%;
  padding: 1em;
  border-radius: 16px;
  background: #FAFAFA;
  border: #FAFAFA solid 1px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 18px;
  color: #2e2e2e;
  cursor: pointer;
  white-space:normal;
  line-height: 1.6;
}
.l_form_select select option{
  white-space:normal;
}
.l_form_select select:focus{
  border: #D5D5D5 solid 1px;
}
@media screen and (max-width: 1023px) {
  .l_form_select select{
    padding: .75em;
    padding-right: 50px;
  }
}
.l_form_select select:focus{
  border: #D5D5D5 solid 1px;
}
.l_form_select option{
  padding: .5em;
}
.l_form_select .arrow{
  position: absolute;
  z-index: 2;
  right: 1px;
  top: 50%;
  width: 2em;
  height: calc(100% - 1.2em);
  pointer-events: none;
  transform: translateY(-50%);
}
.l_form_select .arrow:after{
  display: block;
  position: absolute;
  z-index: 3;
  right: 26px;
  top: 50%;
  background: url("../img/icon/arrow.svg")no-repeat 0 0 / contain;
  width: 22px;
  height: 12px;
  pointer-events: none;
  transform: translateY(-50%);
  content: "";
}
@media screen and (max-width: 1023px) {
  .l_form_select .arrow:after{
    width: 13px;
    height: 7px;
  }
}

.l_form_radio label{
  position: relative;
  display: block;
  width: 100%;
  padding: 1em;
  padding-left: 72px;
  box-sizing: border-box;
  border-radius: 16px;
  background: #FAFAFA;
  border: #FAFAFA solid 1px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 18px;
  cursor: pointer;
}
.l_form_radio label:focus{
  border: #D5D5D5 solid 1px;
}
@media screen and (max-width: 1023px) {
  .l_form_radio label{
    padding: .75em;
    padding-left: 56px;
  }
}

.l_form_radio label::before,
.l_form_radio label::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}

.l_form_radio label::before {
  background-color: #fff;
  border: 3px solid #585858;
  border-radius: 50%;
  width: 29px;
  height: 29px;
  left: 25px;
  box-sizing: border-box;
}
@media screen and (max-width: 1023px) {
  .l_form_radio label::before {
    width: 22px;
    height: 22px;
    left: 20px;
    border: 2px solid #585858;
  }
}
.l_form_radio.error label::before {
  border-color: #E53935;
}

.l_form_radio label::after {
  background-color: #fff;
  border-radius: 50%;
  opacity: 0;
  width: 10px;
  height: 10px;
  left: 34px;
}
@media screen and (max-width: 1023px) {
  .l_form_radio label::after {
    width: 10px;
    height: 10px;
    left: 26px;
  }
}

.l_form_radio input:checked + label::before {
  background-color: #A100FF;
  border: 3px solid #A100FF;
}
.l_form_radio input:checked + label::after {
  opacity: 1;
}

.l_form_radio input{
 position: absolute;
 white-space: nowrap;
 border: 0;
 clip: rect(0 0 0 0);
 clip-path: inset(50%);
 overflow: hidden;
 height: 1px;
 width: 1px;
 margin: -1px;
 padding: 0;
  color: #2e2e2e;
}

.l_form_item_input input{
  -webkit-appearance: none;
  position: relative;
  display: block;
  width: 100%;
  padding: 1em;
  box-sizing: border-box;
  border-radius: 16px;
  background: #FAFAFA;
  border: #FAFAFA solid 1px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 18px;
  color: #2e2e2e;
  height: min(auto, 58px);
}
.l_form_item_input input:focus{
  border: #D5D5D5 solid 1px;
}

@media screen and (max-width: 1023px) {
  .l_form_item_input {
    width: 100%;
  }
  .l_form_item_input input{
    padding: .75em;
  }
}
.l_form_item_input.success input,
.l_form_select.success select{
  border-color: #17AA52;
}
.l_form_item_input.warning input,
.l_form_select.warning select{
  border-color: #F69C00;
}
.l_form_item_input.error input,
.l_form_select.error select{
  border-color: #E53935;
}
.l_form_item_input.information input,
.l_form_select.information select{
  border-color: #0F92C4;
}

.l_form_item_input_caution{
  position: relative;
  display: inline-block;
  margin-top: 0.5em;
  padding: .1em 16px .1em 40px;
  font-weight: 700;
  font-size: 12px;
  border-radius: 20px;
}
.l_form_item_input_caution .close{
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}
.l_form_item_input_caution::before{
  display: block;
  position: absolute;
  top: 50%;
  left: 12px;
  width: 16px;
  height: 16px;
  content: "";
  transform: translateY(-50%);
}

.success .l_form_item_input_caution{
  background: #D1EEDC;
}
.success .l_form_item_input_caution::before{
  background: url("../img/icon/ico-caution01.svg")no-repeat 0 0 / contain;
}
.warning .l_form_item_input_caution{
  background: #FDEBCC;
}
.warning .l_form_item_input_caution::before{
  background: url("../img/icon/ico-caution02.svg")no-repeat 0 0 / contain;
}
.error .l_form_item_input_caution{
  background: #FAD7D7;
}
.error .l_form_item_input_caution::before{
  background: url("../img/icon/ico-caution03.svg")no-repeat 0 0 / contain;
}
.information .l_form_item_input_caution{
  background: #CFE9F3;
}
.information .l_form_item_input_caution::before{
  background: url("../img/icon/ico-caution04.svg")no-repeat 0 0 / contain;
}

.l_form_item_schedule{
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 1023px) {
  .l_form_item_schedule{
    display: block;
  }
}
.l_form_item_schedule + .l_form_item_schedule{
  margin-top: 17px;
}
@media screen and (max-width: 1023px) {
  .l_form_item_schedule + .l_form_item_schedule{
    margin-top: 20px;
  }
}
.l_form_item_schedule_text{
  display: flex;
  align-items: baseline;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .l_form_item_schedule_text{
    width: 100%;
  }
}
.l_form_item_schedule_text input{
  width: 358px;
}
.l_form_item_schedule_time{
  display: flex;
  align-items: center;
  margin-left: 27px;
}
@media screen and (max-width: 1023px) {
  .l_form_item_schedule_text input{
    width: 100%;
  }
  .l_form_item_schedule_time{
    margin-top: 13px;
    margin-left: 0;
  }
}
.l_form_item_schedule_icon{
  margin-left: 27px;
}
.l_form_item_schedule .l_form_select{
  width: 358px;
}
@media screen and (max-width: 1023px) {
  .l_form_item_schedule_icon{
    margin-left: 27px;
  }
    .l_form_item_schedule .l_form_select{
    width: 100%;
  }
}

.l_form_textarea{
  position: relative;
  display: block;
  width: 100%;
  height: 127px;
  padding: 1em;
  box-sizing: border-box;
  border-radius: 16px;
  background: #FAFAFA;
  border: #FAFAFA solid 1px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 18px;
  color: #585858;
}
.l_form_textarea:focus{
  border: #D5D5D5 solid 1px;
}
.l_form_item_cont.error .l_form_textarea{
  border: #E53935 solid 1px;
}
@media screen and (max-width: 1023px) {
  .l_form_textarea{
    padding: .75em;
  }
}

.l_form_privacy{
  position: relative;
  padding-left: 50px;
  margin-top: 50px;
  padding-top: 70px;
  border-top: solid 1px #D5D5D5;
}
@media screen and (max-width: 1023px) {
  .l_form_privacy{
    margin-top: 30px;
    padding-top: 30px;
  }
}
.l_form_privacy input[type="checkbox"] {
    position: absolute;
    top: 76%;
    left: 0;
    transform: translateY(-50%);
    cursor: pointer;
  }

@media screen and (max-width: 1023px) {
  .l_form_privacy input[type="checkbox"] {
    position: absolute;
    top: 47px;
    left: 0;
    transform: translateY(0);
    cursor: pointer;
  }
}

  .l_form_privacy input[type="checkbox"]::before,
  .l_form_privacy input[type="checkbox"]::after {
    content: "";
    display: block;
    position: absolute;
  }

  .l_form_privacy input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 7px;
    border: 3px solid #585858;
    width: 29px;
    height: 29px;
    transform: translateY(-50%);
    top: 50%;
    left: 0;
  }

  .l_form_privacy.error input[type="checkbox"]{
    top: 64%;
  }
  @media screen and (max-width: 1023px) {
    .l_form_privacy.error input[type="checkbox"]{
      top: 47px;
    }
  }
  .l_form_privacy.error input[type="checkbox"]::before {
    border: 3px solid #E53935;
  }
  .l_form_privacy.error label{
    display: block;
  }

  .l_form_privacy.error .l_form_item_input_caution {
    margin-left: -50px;
  }

  .l_form_privacy input[type="checkbox"]::after {
    opacity: 0;
    height: 15px;
    width: 19px;
    background: url("../img/icon/icon_check.svg")no-repeat 0 0 / contain;
    top: 0px;
    left: 8px;
  }

  .l_form_privacy input[type="checkbox"]:checked::before {
    background-color: #A100FF;
    border: 3px solid #A100FF;
  }
  .l_form_privacy input[type="checkbox"]:checked::after {
    opacity: 1;
  }

.l_form_notes{
  counter-reset: li;
  word-wrap:break-word;
}
.l_form_notes li{
  list-style: none;
}
.l_form_notes li::before{
	counter-increment: li;
	content: '※'counter(li)' ';
}


/* l_btn
--------------------------------------------------- */

.l_btn{
  text-align: center;
}
.l_btn > *{
  -webkit-appearance: none;
  position: relative;
  width: 277px;
  padding: 1em;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  border: #A100FF solid 3px;
  border-radius: 24px !important;
  background: #A100FF;
  box-sizing: border-box;
  cursor: pointer;
}
@media screen and (max-width: 1023px) {
  .l_btn > *{
    width: 100%;
    height: 62px;
  }
  .complete.l_btn > * {
    width: 240px;
  }
}
.l_btn > *:hover{
  color: #A100FF;
  background: #D999FF;
}

.l_btn > *.disabled{
  color: #939393;
  background: #D5D5D5;
  border-color: #D5D5D5;
  pointer-events: none;
}

/* l_footer
--------------------------------------------------- */

.l_footer{
  background: #E6DCFF;
}
.l_footer_obj{
  padding-top: 80px;
  text-align: center;
}
.complete.l_btn + .l_footer {
  margin-top: 80px;
}
@media screen and (max-width: 1023px) {
  .l_footer_obj{
    padding-top: 50px;
  }
}
.l_footer_obj img{
  vertical-align: bottom;
}
.l_footer_obj .sp{
  display: none;
}
@media screen and (max-width: 1023px) {
  .l_footer_obj .sp{
    width: 309px;
    display: block;
    margin: 0 auto;
  }
  .l_footer_obj .pc{
    display: none;
  }
}

#totop a{
  display: block;
  padding: 16px 0;
  background: #A100FF;
  font-size: 16px;
  color: #fff !important;
  text-decoration: none !important;
}
@media screen and (max-width: 1023px) {
  #totop a{
    padding: 11px 0;
  }
    #totop a::after {
    content: url(/assets/img/icon/icon_pagetop.svg);
    vertical-align: text-top;
    padding-left: 16px;
    display: inline-block;
    margin-top: 2px;
    margin-bottom: -3px;
  }
}
.l_footer_copy{
  padding: 40px 0;
  background: #460073;
  font-size: 14px;
  font-weight: normal;
  color: #fff;
}
.l_footer_copy .content{
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1023px) {
  .l_footer_copy .content{
    display: block;
  }
  .l_footer_copy .content small{
    display: block;
    text-align: center;
  }
  .l_footer_copy .content small + small{
    margin-top: 30px;
  }
}

/* l_modal
--------------------------------------------------- */

.modal-video-close-btn{
  width: 32px !important;
  height: 32px !important;
  top: -45px !important;
  right: 0 !important;
  background: url("../img/icon/icon_modal_close.svg")no-repeat 0 0 / contain !important;
  cursor: pointer;
}
.modal-video-close-btn::before,
.modal-video-close-btn::after{
  display: none !important;
}

.modal-video-movie-wrap iframe{
  top: 50% !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(-50%) !important;
  width: calc(100% - 80px) !important;
  height: calc(100% - 80px) !important;
}
@media screen and (max-width: 1023px) {
  .modal-video-movie-wrap iframe{
    width: calc(100% - 20px) !important;
    height: calc(100% - 20px) !important;
  }
}

.modal-video-movie-wrap{
  background: #fff !important;
}
@media screen and (max-width: 1023px) {
  .modal-video-movie-wrap{
    width: 88.6% !important;
    margin: 0 auto !important;
  }
}
