#default_container{
	width: 100%;
	text-align: center;
	
}


#default_container p{
	margin: 15px 0;
}

@media screen and (min-width:581px){
	.css_mail_input{
		width: 20em;
	}
}
@media screen and (max-width:580px){
	.css_mail_input{
		width: 100%;
	}
}


.container li{
	list-style: none;
	margin-bottom: 1em;
}

.topicPathMargin{
	height: 15px;
}

/*フォーム 大枠*/
.form{
	width: 1000px;
	background-color: #e8e8e8;
	border-radius: 1em;
	margin: 0 auto;
	text-align: center;
	padding: 3em 0em 2em 0em;
	
	color: var(--fontcolor-main);
}
*, *:before, *:after {
    box-sizing: border-box;
}
.form .reminder{
	padding-top: 2rem;
	font-size: 1.2rem;
}
.form .reminder a{
	color: var(--maincolor-link);
	text-decoration: underline;
}
.col_2{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.col_2 > *{
    width: calc( 50% - 6px ) ;
    margin-right: 12px;
    margin-bottom: 12px;
}
.col_2 > *:nth-child(2n){
    margin-right: auto;
}
.col_2 > * > *{
    position: relative;
    overflow: hidden
}
.form-border-right{
	border-right: 1px solid #d6d6d6;
}
@media screen and (max-width: 960px) {
    .col_2 > *{
        width: 100%;
        margin-right: auto;
    }
}
@media screen and (max-width: 480px) {
	.form{
		width: 95%;
		border-radius: 1em;
		padding: 2rem 2rem 1rem 2rem;
	}
	.form-border-right{
		border-right:0;
		}
}


/*フローティングラベル*/
.inp {
  position: relative;
  margin: auto;
  width: 100%;
  max-width: 280px;
}
.inp .label {
  position: absolute;
  top: 0px;
  left: 0.5rem;
  font-size: 16px;
  color: #a3a3a3;
  font-weight: 500;
  transform-origin: 0 0;
  transition: all 0.2s ease;
  margin-top: -5px;
}
.inp .border {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 100%;
  background: ;
  transform: scaleX(0);
  transform-origin: 0 0;
  transition: all 0.15s ease;
}
.inp input {
  -webkit-appearance: none;
  width: 85%;
  border: 0;
  font-family: inherit;
  padding: 30px 10px;
  height: 48px;
  font-size: 16px;
  font-weight: 500;
  border: 1px solid #c5c5c5;
  background: #ffffff;
  border-radius: 0.3rem;
  color: #5a5a5a;
  transition: all 0.15s ease;
}
.inp input:not(:placeholder-shown) + span {
  color: ;
  transform: translateY(-15px) scale(0.70);
  left: 0.5rem;
}
.inp input:focus {
  background: #ffffce;
  outline: none;
}
.inp input:focus + span {
  color: ;
  transform: translateY(-15px) scale(0.70);
  left: 0.5rem;
}
.inp input:focus + span + .border {
  transform: scaleX(1);
}

/*ボタン*/
.submit{
  display: inline-block;
  border-radius : 5em;
  font-size : 1.1em;
  width: 300px;
  text-align : center;
  cursor : pointer;
  padding : 20px 38px; 
  background : #f3cf2f;
  color : #ffffff;
  line-height : 1em; 
  transition: .3s; 
  box-shadow:none;
  border: none;
  font-weight: 900;
  margin-bottom: -1em;
}
.submit:hover{
	background-color: var(--hover-color);
	transition: background-color 0.5s ease;
}
.submit .fontawasome{
	color: rgba(64, 169, 235, 0.92);
	padding-right: 10px;
}


/*新規登録誘導*/
.welcome{
}
.welcome p{
	padding-bottom: 20px;
	font-weight: bold;
	color: var(--fontcolor-main);
}

.welcome .muu img{
	height: 30px;
}

.welcome .muu {
  width: ;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 10px 20px 10px;
}

.welcome .muu .circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 10px;
}

.welcome .muu .text {
  font-size: 12px;
  font-family: sans-serif;
  position: relative;
}

.welcome .muu .text::before,
.welcome .muu .text::after {
  content: "";
  position: absolute;
  width: 40%;
  height: 1px;
  background-color: #bfbfbf;
  transform-origin: center;
}

.welcome .muu .text::before {
  top: -15px;
  transform: rotate(-15deg);
}

.welcome .muu .text::after {
  bottom: -15px;
  left: 0;
  transform: rotate(15deg);
}
@media screen and (max-width: 480px) {
	.welcome .border{
		width: 100%;
		height: 5px;
		border-radius: 5rem;
		background-color: white;
		margin: 2rem 0rem;
	}
	.welcome .muu{
		padding: 50px 10px 20px 10px;
	}
}



/* 新規登録画面 */
.container-new{
	width: 1000px;
	background-color: #e8e8e8;
	margin-left: auto;
	margin-right: auto;
	border-radius: 1.5rem;
	padding: 40px 150px;
}
.new-form{
	text-align: center;
}
.new-form .button{
	margin-bottom: 2rem;
}
.new-form .caption{
	margin-bottom: 2rem;
	font-size: 1.4rem;
	text-align: left;
	display: inline-block;
	background-color: white;
	padding: 15px 30px 18px 30px;
	border-radius: 0.5rem;
	line-height: 2.5rem;
	position: relative; /* 三角形の位置を調整するために必要 */
}
.new-form .caption::after {
    content: '';
    position: absolute;
    bottom: -10px; /* キャプションの下に表示 */
    left: 48%; /* 左からの位置を調整 */
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid white;
        }
.new-form .caption .font-deco{
	font-weight: ;
	text-decoration: underline;
}
.new-form .caption .fontawasome{
	color: var(--maincolor-link);
	font-size: 1.3rem;
}
.new-form-mail{
	margin-bottom: 10px;
}
@media screen and (max-width: 480px) {
	.container-new{
		width: auto;
                margin-left: 1rem;
                margin-right: 1rem;
	}
	.new-form .caption{
		width: 100%;
		padding: 10px 20px;
	}
}

.cpform-input {
  color:var(--fontcolor-main);
  font-family: Helvetica, Arial, sans-serif;
  font-weight:500;
  font-size: 18px;
  border-radius: 5px;
  line-height: 22px;
  background: #ffffce;
  border:2px solid var(--maincolor);
  transition: all 0.3s;
  padding: 15px;
  margin-bottom: 0px;
  width:80%;
  box-sizing: border-box;
  outline:0;
}
.new-form-width{
	width: 60%;
}
@media screen and (max-width: 480px) {
	.container-new{
		padding: 30px 20px 40px 20px;
	}
	.new-form .caption{
		width: 80%;
	}
	.new-form-width{
		width: 100%;
	}
}
.cpform-input:focus { border:2px solid #15ca00; }

.cpform-input textarea {
  height: 150px;
  line-height: 150%;
  resize:vertical;
}
@media screen and (max-width: 480px) {
	.cpform-input{
		width: 95%;
	}
}


/*ログイン*/
.login-label{
	color: var(--fontcolor-main);
	width: 80%;
	font-size: 1.2rem;
	margin-bottom: 0.5rem;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 480px) {
	.login-label{
		width: 95%;
	}
}


/* 個人情報入力フォーム */
.new-form .selectbox {
    display: inline-flex;
    align-items: center;
    position: relative;
}
.new-form .selectbox::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}
.new-form .selectbox select {
    appearance: none;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid  var(--maincolor);
    border-radius: 25px;
    background-color: #fff;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
    margin-left: 5px;
}


table.tb01 {
  border-collapse: collapse;
  width: 100%;
}
.tb01 th,
.tb01 td{
  padding: 20px 0px;
  border-bottom: solid 1px #b4b4b4;
  box-sizing:border-box;
}
.tb01 th {
  width: 250px;
  font-weight: normal;
  font-size: 1.5rem;
  text-align: left;
}
.tb01 td{
	text-align: right;
}
.tb01 .mail{
	font-size: 1.7rem;
	font-weight: bold;
}
.tb01 .must{
	margin-left: 10px;
	font-size: 10px;
	padding: 1px 5px;
	background-color: #ff5b94;
	background-color: #5cc0ff;
	color: white;
	border-radius: 0.3rem;
	display: inline-block;
}
.tb01 .optional{
	margin-left: 10px;
	font-size: 10px;
	padding: 1px 5px;
	background-color: #27d654;
	color: white;
	border-radius: 0.3rem;
	display: inline-block;
}
.tb01 .name{
	padding-bottom: 5px;
}
.tb01 .small{
	font-size: 12px;
	display: inline-block;
}
.cpform-input-entry{
	font-size: 1.6rem;
	padding: 10px 10px;
	width: 80%
	}
@media screen and (max-width: 480px) {
  .tb01 {
    width: 100%;
    margin-top: 20px;
    margin-bottom: -30px;
  }
  table.tb01 th,
  table.tb01 td {
    display: block;
    width: 100%;
    border-bottom:none;
    text-align: left;
  }
  table.tb01 th{
	  padding: 0px 0px 5px 0px;
	  font-weight: normal;
  }
  table.tb01 td{
	  padding: 0px 0px 25px 0px;
  }

  .cpform-input-entry{
		font-size: 1.4rem;
		padding: 5px 10px;
		width: 100%;
	}
}


.new-form .entry .selectbox {
    display: inline-flex;
    align-items: center;
    position: relative;
}
.new-form .entry .selectbox::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}
.new-form .entry .selectbox select {
    appearance: none;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid  var(--maincolor);
    border-radius: 25px;
    background-color: #fff;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
    margin-left: 5px;
}


/* 登録完了 */
.new-form .thanks img{
	height: 200px;
	padding: 15px 0px;
}
.new-form .thanks-btn{
	margin-bottom: 10px;
}
.new-form .caption-thanks{
	margin-bottom: 2rem;
	font-size: 1.4rem;
	text-align: left;
	display: inline-block;
	background-color: #ff8ab3;
	padding: 15px 35px 15px 35px;
	border-radius: 5rem;
	line-height: 2.5rem;
	position: relative; /* 三角形の位置を調整するために必要 */
}
.new-form .caption-thanks::after {
    content: '';
    position: absolute;
    bottom: -10px; /* キャプションの下に表示 */
    left: 48%; /* 左からの位置を調整 */
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #ff8ab3;
        }
 
@media screen and (max-width: 480px) {
	.new-form .thanks img{
		padding: 10px 0;
	}
	.new-form .thanks-btn{
		padding-bottom: 0px;
	}
}       
        
