@charset "UTF-8";

/* CSS Document */

html {
  overflow-y: scroll;
}
body {
  font-family: Avenir , "Helvetica Neue" , Verdana , Arial , "游ゴシック" , "Yu Gothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , sans-serif;
  color: #111;
  text-align: left;
  vertical-align: baseline;
  font-weight: inherit;
  font-style: inherit;
  list-style: none;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
.pe_none{
  pointer-events: none;
}
.mr60 {
  margin-right: 65px !important;
}
.mb20{
  margin-bottom:20px;
}
.mt20{
  margin-top:20px;
}
.fs17{
  font-size:17px;
}
.yellow{
	color:#eed67c;	
}
.fwBold{
  font-weight:bold;
}
.pd5{
  padding:5px;
}
.alert {
  color: #d40000;
  font-weight: bold;
}
#wrap {
  overflow-x: hidden;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}
h1,
h2,
h3,
h4,
h5,
div,
p,
span,
ul,
li,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
}
li {
  list-style: none;
}
a {
  color: #111;
  display: inline-block;
  transition: .3s;
  -webkit-transform: scale(1);
  transform: scale(1);
}
a:hover {
  text-decoration: none;
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

select{
  padding: 10px 5px;
  border: 1px solid #ddd;
}

/* [hack] clear fix
--------------------------------------*/

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.clearfix {
  display: inline-block;
  min-height: 1%;
  /* for IE 7*/
}

/* Hides from IE-mac \*/

* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}

/* End hide from IE-mac */


/*----------index.html------------*/




/*--------------form--------------*/

h2{
  font-size:30px;
}
header{
  display:block;
  width:100%;
  position: fixed;
  top: 0;
  z-index:10;
  opacity:0.9;
  background:#fff;
}
header nav{	
    display:flex;
  border-bottom:1px solid #ddd;
}
header nav ul{
  display:flex;
  padding-right:10px;
}
header nav h1 a>img{
  width:200px;
  height:40px;
}
header nav h1{
  margin-right: auto;
  color:#333; 
  height:49px;
  font-size:30px;
  padding-left:20px;
  padding-bottom: 20px;
}
header nav h1 a{
  color:inherit;
  height:40px;
  margin-top:15px;
}
header nav h1 a{
  text-decoration:none;
}
header nav ul li{
  margin-right:30px;
  padding:15px 0 14px;
}
header nav ul li a{
  display:block;
  color:#333; 
  letter-spacing:0.5px;
  font-size:14px;
  font-weight:bold;
  height:40px;
  line-height:40px;
  text-decoration:none;
}
header .btn_application{
  padding-left:5px;
  padding-right:5px;
  color:#fff;
  background:#ff5a5f;
}
main {
  min-height: calc(100vh - 215px);
}
footer{
  background:#f2f2f5;
}
footer>nav{
  width:940px;
  padding:15px 0;
  margin:0 auto 10px;
  border-bottom:1px solid #E6E6E6;
}
footer ul{
  display:flex;
  flex-wrap:wrap;
  width:900px;
  margin:0 auto;
}
footer ul li:first-child{
  border-left:1px solid #E6E6E6;
}
footer ul li:nth-child(6){
  border-left:1px solid #E6E6E6;
}
footer ul li{
  margin:0 auto;
  padding:5px 0;
  margin:5px 0;
  text-align:center;
  border-right:1px solid #E6E6E6;
  width:180px;
  box-sizing:border-box;
  font-size:12px;
}
footer ul li a{
  text-decoration:none;
}
footer p{
  text-align:center;
  font-size:12px;
  padding:20px 0;
}

/*form_app*/

#appForm textarea{
  /* background:#ccc; */
  border-radius: 5px;
  width:96%;
  display:block;
  margin:0 auto;
}
/* #inquiry .btn{
  margin-bottom:30px !important;
} */
#women,#insurance_n{
  margin-left:20px;
}

.formContent label {
  border: #aaa solid 2px;
  border-radius: 5px;
  display: inline-block;
  width: 250px;
  height: 75px;
  font-size: 12px;
  font-weight: normal;
  position: relative;
}
.formContent label:nth-child(2) {
  margin-right: 20px;
}
.formContent label span {
  display: block;
}
.formContent label span.contentL {
  position: absolute;
  bottom: 0;
  right: -7px;
}
.formContent label span.contentL img {
  width: 23px;
  display: none;
}
.formContent label span.contentR {
  width: 70px;
  padding: 10px 5px;
  background: #aaa;
  color: #fff;
  float: right;
  height: 100%;
  line-height: 1.5;
  box-sizing: border-box;
}
.formContent label:hover {
  border: #d40000 solid 2px;
  color: #fff;
}
.formContent label:hover .contentR {
  background: #d40000;
}
.formContent label img {
  width: 50px;
  vertical-align: middle;
  float: right;
}
.formContent>h2{
  text-align:center;
}
.credit {
  background: url(../img/credit2.png) no-repeat 10% 50%;
}
.bank {
  background: url(../img/bank2.png) no-repeat 10% 50%;
}
.formContent input[type="radio"] {
  display: none;
}
.formContent input[type="radio"]:checked + label {
  border: #d40000 solid 2px;
  color: #fff;
}
.formContent input[type="radio"]:checked + label span.contentL img {
  display: block !important;
}
.formContent input[type="radio"]:checked + label .contentR {
  background: #d40000;
}

#info {
  width: 80%;
  border:1px solid #ccc;
  margin: 40px auto 0;
}
#info h3 {
  color:#fff;
  font-size:17px;
  background:#aaa;
  padding:20px;
  display: none;
}
#info>p {
  padding:20px;
  overflow-y:scroll;
  height:160px;
}
#info>p>span {
  font-weight:bold;
}

/* 緊急告知 */
.emergencyInfo{
  color: #d40000;
  border: 1px solid;
  margin: 30px auto;
  padding: 15px 5px;
  height: 300px;
  overflow-y: auto;
  box-sizing: border-box;
}

.emergencyInfo>h4 {
  font-size: 30px;
  text-align: center;
}

.emergencyInfo>p {
  width: 90%;
  margin: 0 auto;
  font-size: 14px;
  text-align: left;
}

.emergency_news{
  color: #CF0003;
  text-align: center;
  border: 1px solid;
  margin: 20px 0 030px;
  padding: 30px 0;
}

.cancel .emergency_news{
  width: 750px;
  margin: 30px auto;
}

.emergency_news h4{
  margin: 0 0 10px;
  font-size: 24px;
}
/* end 緊急告知 */

#contents {
  padding:50px 0 20px;
  width: 1000px;
  margin: 50px auto 0;
}
.thanks{
  padding:10px;
}
.thanks a{
  display:inline-block;
  padding:5px 0;
}
.thanks .cancellation_flow h3{
  font-size: 16px;
  margin: 10px 0;
  font-weight: bold;
}
.thanks .cancellation_flow ul{
  width: 100%;
  display: flex;
  box-sizing: border-box;
  margin: 0 0 50px;
}
.thanks .cancellation_flow ul li{
  width : calc(100%/6);
  margin-right: 3%;
  border: 2px solid #ccc;
  padding: 10px 5px;
  text-align: center;
  position: relative;
}

.thanks .cancellation_flow ul li::after{
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-left: 15px solid #ccc;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  top: 50%;
  right: -15px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.thanks .cancellation_flow ul li:last-child{
  margin-right: 0;
}

.thanks .cancellation_flow ul li:last-child::after{
  display: none;
}

.thanks .cancellation_flow ul li:first-child{
  background: #39abd7;
  color: #fff;
  border: 2px solid #39abd7;
}
.thanks .cancellation_flow ul li:first-child::after{
  border-left: 15px solid #39abd7;
}
.formTable {
  width: 100%;
  vertical-align: top;
  border-collapse: collapse;
  border-spacing: 0;
}
.formTable thead th {
  padding: 20px;
  background: #aaa;
  color: #fff;
  border-right: 1px solid #aaa;
  font-size: 16px;
}
.formTable tbody tr:first-child {
  border-top: 1px solid #ccc;
}
.formTable tbody th {
  width: 30%;
  background: #ededed;
  border-bottom: 1px solid #fff;
  padding: 10px 20px;
  font-size: 14px;
  box-sizing:border-box;
  overflow: hidden;
}
.formTable tbody td {
  padding: 10px 20px;
  font-size: 14px;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
.formTable tbody tr.formTable-credit {
  border-top: 1px solid #ccc;
}
.formTable tbody tr.formTable-credit td {
  display: flex;
  align-items: center;
}
.formTable tbody td a {
  font-weight: normal;
  font-size: 14px;
  text-decoration: underline;
  color: #111;
  margin-left: 10px;
}

.formTable th span  {
  float: right;
  padding: 1px 3px 0;
  background-color: #e65a60;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  line-height: normal;
}
#inquiry td span{
  color:inherit !important;
}
#inquiry>p{
  padding:5px;
}

.formTable .small {
  font-size: 12px;
  font-weight: normal;
}
.example {
  font-size: 10px !important;
  margin: 0 2px !important;
  padding: 4px 5px !important;
  border: #d40000 1px solid !important;
  background: #fff !important;
  color: #d40000 !important;
  font-weight: bold !important;
}
.formTable tbody td a.autoInput {
  text-decoration: none;
  padding: 0 5px;
  background: #111;
  color: #fff;
  margin: 5px 0 0 0;
}
.heightL {
  line-height: 2em;
}
.formTable .bankBox ul li:first-child,
.formTable .bankBox ul li:nth-of-type(2),
.formTable .creditBox ul li{
  font-size:15px;
}
.formTable .bankBox ul li {
  margin-bottom:5px;
}

.formTable ul li {
  font-size: 10px;
  color: #af3330;
  line-height: 1.5em;
}
.formTable td input {
  border: 1px solid #ddd;
  background: #fff;
  padding: 10px 5px;
  border-radius: 3px;
}
input#agree[type="checkbox"] {
  visibility: hidden;
}
input#agree[type="checkbox"]:checked + label {
  border: #d40000 solid 2px;
}
input#agree[type="checkbox"]:checked + label img {
  display: block;
}
.agree {
  padding: 3px 10px;
  border: #aaa 2px solid;
  border-radius: 5px;
  position: relative;
  margin-left: -15px;
}
.agree:hover {
  border: #d40000 2px solid;
}
.agree img {
  position: absolute;
  bottom: 2px;
  left: 0;
  display: none;
}

input#agree2[type="checkbox"] {
  visibility: hidden;
}
input#agree2[type="checkbox"]:checked + label {
  border: #d40000 solid 2px;
}
input#agree2[type="checkbox"]:checked + label img {
  display: block;
}
.agree2 {
  padding: 3px 10px;
  border: #aaa 2px solid;
  border-radius: 5px;
  position: relative;
  margin-left: -16px;
}
.agree2:hover {
  border: #d40000 2px solid;
}
.agree2 img {
  position: absolute;
  bottom: 2px;
  left: 0;
  display: none;
}

.btn {
  margin: 50px auto;
  height: 80px;
  width: 280px;
  border: 0;
}
#areaText{
  width:550px;
  margin:20px auto 0;
  font-weight:bold;
  color:#af3330;
}
#confirmation .btn,
#payment .btn {
  width: 600px;
  margin:20px auto 100px auto !important;
  text-align: center;
}
#confirmation #submit {
  float: right;
}
.btn{
  position:relative;
}
#submit {
  background: #ff5a5f;
  color: #fff;
  font-size: 18px;
  height: 80px;
  width: 280px;
  border: 0;
  cursor:pointer;
  margin-bottom:30px;
}

a.btn,
div.form-next-button,
div.form-back-button{
  background: #df0033;
  color: #FFFFFF;
  display:block;
  height: 60px;
  width: 300px;
  line-height: 64px;
  text-align: center;
  font-size: 1.5rem;
  box-shadow: 0 8px 0 #68d8d5;
  margin: 0 auto;
  position: relative;
  cursor: pointer;
}

#backBtn {
  background: #9e9e9e;
  color: #fff;
  font-size: 18px;
  height: 80px;
  width: 280px;
  border: 0;
  float: left;
  box-sizing:border-box;
  cursor:pointer;
}

#clearBtn {
  background: #9e9e9e;
  color: #fff;
  font-size: 18px;
  height: 80px;
  width: 100px;
  border: 0;
  float: left;
  box-sizing:border-box;
  cursor:pointer;
}

#returnBtn {
  background: #9e9e9e;
  color: #fff;
  font-size: 12px;
  height: 80px;
  width: 100px;
  border: 0;
  float: left;
  box-sizing:border-box;
  cursor:pointer;
}

#submit:hover,
#backBtn:hover,
#submit:disabled {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
#submit:disabled {
  cursor: auto;
}
.kiyaku {
  margin-top: 30px;
}
.kiyaku p b {
  font-size: 16px;
}
.kiyaku_text {
  resize: none;
  width: 96%;
  height: 200px;
  overflow-y: scroll;
  padding: 2%;
  margin-bottom: 30px;
  border: 1px solid #ccc;
  font-size: 12px;
}
.kiyaku_text_terms {
  resize: none;
  width: 96%;
  height: auto;
  padding: 2%;
  margin-bottom: 30px;
  border: 1px solid #ccc;
  font-size: 13px;
  line-height: 1.5;
}
.kiyaku_text h3{
  margin-bottom: 15px;
}
.kiyaku_text h4{
  margin: 15px 0 10px;
}
.kiyaku_text ul.decimal{
  margin: 0 0 0 25px;
}
.kiyaku_text ul.decimal li{
  list-style-type: decimal;
  margin-bottom: 5px;
}
.kiyaku_text ul.decimal li span{
  font-size: 80%;
}
#bankBtn {
  display: none;
}
.overLayer {
  background: #000000;
  opacity: 0.3;
  width: 200%;
  height: 200%;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  z-index: 1000;
}
.modalBox {
  position: absolute;
  width: 750px;
  height: auto;
  margin: 1.5em auto 0;
  display: none;
  z-index: 1001;
  background: #fff;
  box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.5);
  padding: 20px 8px;
}
.nomberBox ul {
  display: table;
  width: 550px;
  margin: 30px auto;
}
.nomberBox ul li {
  display: table-cell;
  text-align: center;
}
.nomberBox dl dt {
  display: table;
  width: 70px;
  margin: 0 auto;
}
.nomberBox dl dt span {
  display: table-cell;
  vertical-align: middle;
  background: #aaa;
  color: #fff;
  border-radius: 50%;
  width: 70px;
  height: 70px;
  font-size: 36px;
  font-weight: bold;
  text-align: center;
}
.nomberBox dl dd {
  color: #aaa;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  margin-top: 10px;
}
.nomberBox li.on dl dt span {
  background: #777;
}
.nomberBox li.on dl dd {
  color: #777;
}
.modalBox .modalTitle {
  font-size: 24px;
  padding-left: 30px;
  padding-bottom: 10px;
  font-weight: bold;
  margin: 5px 0;
  background: url(../img/bank_ico.gif) 0 40% no-repeat;
  background-size: 24px;
  border-bottom: 1px solid #aaa;
}
.modalBox .bankListWrap {
  overflow-y: scroll;
  height: 300px;
  width: 100%;
}
.modalBox .bankList {
  border-top: 1px solid #dcdee2;
  border-left: 1px solid #dcdee2;
}
.modalBox .bankList li {
  border-right: 1px solid #dcdee2;
  border-bottom: 1px solid #dcdee2;
  padding: 3px;
}
.modalBox .bankList li a {
  padding: 5px 10px;
}
.modalBox .stopBtn,
.modalBox .returnBtn,
.modalBox .formBtn {
  color: #fff;
  background: #777;
  padding: 10px 0;
  width: 150px;
  text-align: center;
  display: block;
  text-decoration: none;
  float: left;
  margin-left: 20px;
}
.modalBox .returnBtn,
.btnBox1 .stopBtn {
  margin-left: 0;
}
.btnBox1 {
  width: 150px;
  margin: 50px auto 0;
}
.btnBox2 {
  width: 320px;
  margin: 50px auto 0;
}
.btnBox3 {
  width: 490px;
  margin: 50px auto 0;
}
.formBtn {
  background: #d40000 !important;
}
.formError + input,
.formError + select,
.formError + textarea {
  background: #ffe2f8 !important;
}
.modalBox .modalInnerBox2 {
  display: none;
}
.modalBox .modalInnerBox2 dl,
.modalBox .modalInnerBox4 dl {
  width: 100%;
  margin: 10px auto;
  box-sizing: border-box;
  border: 1px solid #aaa;
}
.modalBox .modalInnerBox2 dl dt,
.modalBox .modalInnerBox2 dl dd,
.modalBox .modalInnerBox4 dl dt,
.modalBox .modalInnerBox4 dl dd {
  float: left;
}
.modalBox .modalInnerBox2 dl dt,
.modalBox .modalInnerBox4 dl dt {
  background: #aaa;
  color: #fff;
  padding: 5px 20px;
  text-align: center;
}
.modalBox .modalInnerBox2 dl dd,
.modalBox .modalInnerBox4 dl dd {
  padding: 5px 20px;
  text-align: center;
}
.modalBox .modalInnerBox3 {
  display: none;
}
.modalBox .modalInnerBox4 {
  display: none;
}
.modalBox {
  width: 800px;
  margin: 0 auto;
  padding: 20px;
}
.modalBox .notes ul li {
  list-style: disc;
  margin-left: 50px;
}
.modalBox .initial {
  width: 600px;
  margin: 0 auto;
}
.modalBox .initial_sp {
  width: 100%;
  margin: 0 auto;
}
.modalBox .initial li,
.modalBox .initial_sp li {
  float: left;
  width: 47px;
  border: 1px solid #777;
  margin: 5px;
  font-size: 18px;
  font-weight: bold;
  box-sizing: border-box;
  background: linear-gradient(#ccc, #aaa);
  border-radius: 5px;
  box-shadow: 0 2px 0 0 #777;
}
.modalBox .initial li a,
.modalBox .initial_sp li a {
  display: block;
  color: #fff !important;
  text-align: center;
  padding: 5px;
  text-decoration: none;
}
.modalBox .initial li a:link,
.modalBox .initial_sp li a:link {
  color: #000;
}
.modalBox .initial li a:visited,
.modalBox .initial_sp li a:link {
  color: #000;
}
.modalBox .initial li a:hover,
.modalBox .initial_sp li a:link {
  color: #000;
}
.modalBox .initial li a:active,
.modalBox .initial_sp li a:link {
  color: #000;
}
.modalBox .alphabet {
  width: 170px !important;
}
.stripe-button-el{
  height:80px;
  margin-left:30px;
}
.stripe-button-el span{
  height:80px !important;
  line-height:80px !important;
  width:280px;
  box-sizing:border-box;
}

/*form_confirmation*/

#confirmation .formTable th {
  background: #ccc;
  padding: 10px 20px;
}
#confirmation .formTable td {
  padding: 10px 20px;
  word-break: break-all;
}

/*cancel*/

.cn0{
  text-align: center;
  margin: 40px 0;
}

.cn1{
  text-decoration: none;
}

.cn2{
  margin: 26px auto;
  text-align: center;
}

.cn3{
  border: 1px solid #ccc;
  width: 1000px;
  margin: 0 auto;
}

.cn4{
  height: auto;
  padding: 30px;
}

.cancel_text{
  resize: none;
  width: 96%;
  height: 90px;
  overflow-y: scroll;
  padding: 2%;
  margin-bottom: 30px;
  border: 1px solid #ccc;
  font-size: 12px;
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.other_off{
  display: none;
}

.formTable .other_td label{
  margin: 0 5px 15px;
  vertical-align: text-top;
  line-height: 18px;
}

.pt-0 {
  padding-top: 0!important;
}

.mt-12 {
  margin-top: 12rem;
}

.error-message__space {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
  padding: 10px 0;
}

@media screen and (min-width: 680px) {
  .show_sp {
      display: none !important;
  }
}
@media screen and (max-width: 680px) {
  h2{
    text-align:center;
  }
  .show_pc {
      display: none !important;
  }

  header nav{
    display:block;
  }
  header nav ul{
    display:block;
  }
  header h1{
    display:inline-block;
  }
    header nav h1 a {
        margin-top:9px;
    }
  header{
    opacity:1;
  }

  #menuList{
    display:none;
    position: absolute;
    top: 55px;
    left: 0;
    font-size: 20px;
    width: 100%;
    box-sizing:border-box;
    opacity: 1;
    z-index: 10;
    display: none;
        background:#fff;
  }
  #menuList li{
    display: block;
    width: 100%;
    padding: 0 15px;
    border-bottom: 1px solid #ccc;
    box-sizing:border-box;
  }
  #btnMenu{
    display: inline-block;
    position: relative;
    width: 70px;
    height: 49px;
    float: right;
  }
  #iconMenu{
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 4px;
    margin: -1px 0 0 -7px;
    background: #333;
    transition: .2s;
  }
  #iconMenu:before{
    margin-top: -12px;
  }
  #iconMenu:after{
    margin-top: 8px;
  }
  #iconMenu:before,#iconMenu:after{
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 32px;
    height: 4px;
    background: #333;
    transition: .3s;
  }	
  #btnMenu .close{
    background: transparent;
  }	
  #btnMenu .close:before, #btnMenu .close:after{
    margin-top: 0;
  }
  #btnMenu .close:before{
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }
  #btnMenu .close:after{
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
  }

  /*----------index.html------------*/
  #wrap {
      width: 100%;
      height: 100%;
      padding: 0;
      margin: 0 0 40px;
  }

  /* 緊急告知 */
  .emergencyInfo{
      width: 80%;
  }

  .emergencyInfo>p {
      width: 100%;
  }
  .emergency_news{
      width: 90%;
      margin: 0 auto 30px;
      padding: 10px;
  }

  .cancel .emergency_news{
      width: 90%;
      margin: 0 auto 30px;
  }

  .thanks .cancellation_flow ul {
      flex-wrap: wrap;
  }
  .thanks .cancellation_flow ul li{
      width : 24% ;
      margin: 0 5% 5% 0;
  }

  /* end 緊急告知 */

  /*footer*/
  footer>nav {
    width:100%;
    border:none;
    padding:0;
  }
  footer ul {
    width:100%;
  }
  footer ul li {
    width:50%;
    padding:0;
    margin:0;
    border-top:1px solid #E6E6E6;
    border-bottom:1px solid #E6E6E6;	
    text-align:left;
  }
  footer ul li>a{
    display:block;
    padding:10px;
  }
  footer p{
    color:#989797;
  }

  /*radioBtn*/
  #contents {
    width: 100%;
    margin: 0 auto;
    padding-top:55px;
  }
  .formContent label {
    width: 100% !important;
    box-sizing:border-box;
    line-height: 2em;
  }
  .formTable thead th {
    padding: 20px;
    background: #aaa;
    color: #fff;
    font-size: 16px;
  }
  .formTable {
    width: 100% !important;
    margin: 0 auto;
  }
  .formTable tbody td,
  .formTable tbody th {
    line-height: 2em;
    display: block;
  }
  .formTable tbody th {
    width: 100% !important;
  }
  .formTable tbody th span {
    float: none;
    margin-left: 15px;
  }
  .formTable th ul li {
    line-height: 2em;
  }
  .formTable td input {
    padding: 7px 2%;
    width: 40%;
  }
  .formTable td.nos input {
    padding: 7px 2%;
    width: 20%;
  }
  .formTable td input[type="radio"] {
    width:5%;
  }
  .formTable td label{
    width:40%;
    display:inline-block;
  }
  #women,#man,#insurance_y,#insurance_n {
    margin:0;
  }
  #areaText{
      width:100%;
  }
  .stripe-button-el{
    margin-left:0;
    margin-bottom:30px;
  }
	.btn {
    height: 60px;
  }
  .sex input{width: auto !important;}
  .address input{width: 50% !important;}
  #confirmation .btn,
  #payment .btn {
    margin: 0 auto;
    width: 280px;
    border: 0;
  }
  #confirmation #submit,
  #backBtn {
    float: none;
    display: block;
    height: 60px;
  }
  #submit {
    color: #fff;
    font-size: 18px;
    width: 280px;
    border: 0;
  }
  #submit:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
  }
  .kiyaku {
    margin: 30px auto 0;
    width: 90%;
  }
  .kiyaku_text {
    width: 94%;
  }
  .cancel_text {
    width: 94%;
  }
  /*form_confirmation*/
  #confirmation .formTable th {
    width: 100%;
    background: #ccc;
    padding: 10px 4%;
  }
  #confirmation .formTable td {
    width: 92%;
    padding: 5px 4% 20px;
  }
  #confirmation #submit{
    margin-bottom:10px;
  }

  /*cancel*/

  .cn4 img{
      width: 100%;
  }
}
@media (max-width: 680px) {
  /*popup*/
  .nomberBox ul {
    width: 100%;
  }
  .nomberBox dl dt {
    width: 60px;
  }
  .nomberBox dl dt span {
    width: 60px;
    height: 60px;
    font-size: 32px;
  }
  .nomberBox dl dd {
    font-size: 14px;
  }
  .modalBox .stopBtn,
  .modalBox .returnBtn,
  .modalBox .formBtn {
    float: none;
    margin-left: 0;
    margin-top:10px;
  }
  .btnBox1,.btnBox2,.btnBox3 {
    width: 150px;
    margin: 20px auto 0;
  }
  .modalBox {
    width: 100%;
    padding: 5%;
    height: 90%;
    overflow-y:auto;
    box-sizing: border-box;
  }
  .modalBox .modalInnerBox2 dl,
  .modalBox .modalInnerBox4 dl {
    width: 100%;
  }
  .modalBox .bankListWrap {
    height: 220px;
  }
  .modalBox .modalInnerBox4 dl dt,
  .modalBox .modalInnerBox4 dl dd {
    float: none;
  }
  .modalBox p {
    padding: 0 3px;
    font-size: 13px;
  }
  .bankList {
    margin-top: 5px;
  }
  .agreeformError {
    width:100px;
  }
  #inquiry{
    width: 100% !important;
  }

    /*cancel*/

  .cn3{
      width:90%;
  }

  .formTable .other_td input {
      width: 4%;
  }

}
a.btn,
div.form-next-button,
div.form-back-button{
  background: #df0033;
  color: #FFFFFF;
  display:block;
  height: 60px;
  width: 300px;
  line-height: 64px;
  text-align: center;
  font-size: 1.5rem;
  box-shadow: 0 8px 0 #68d8d5;
  margin: 0 auto;
  position: relative;
  cursor: pointer;
}
div.mypage-title-area {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 90px;
  margin-top: 30px;
}
p.mypage-titile-area-title {
  font-size: 3.5rem;
  font-weight: bold;
  text-align: left;
}
div.mypage-title-area-icon {
  margin: 15px 30px 15px 0;
  width: 60px;
  height: 60px;

}
div.mypage-title-area-icon img{
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  main {
    min-height: calc(100vh - 240px);
  }
  div.mypage-nav {
    padding: 0;
  }
  div.mypage-title-area {
    display: flex;
    align-items: flex-start;
    padding: 0 0 20px;
    height: auto;
  }
  div.mypage-title-area-icon {
    margin: 0 30px 0 0;
  }

  div.mypage-nav-item{
    width:calc(100% - 10px - 5%);
  }
}
@media screen and (max-width: 320px) {
  div.mypage-nav-item{
    height: 78px;
  }
}
div.mypage-content-box {
  background-color: #FFFFFF;
  box-shadow: 0px 0px 10px rgb(0 0 0 / 30%);
  width: 100%;
  height: auto;
  position: relative;
  padding : 20px;
  margin-top: 30px;
  margin-bottom: 30px;
}
#container div.mypage-container {
  margin-top: 5%;
}
footer a {
  color: #111;
}
.ret_button {
  text-align: right;
}
.ret_button a {
  padding: 10px;
  color:#fff;
  background:#ff5a5f;
}

/* 支払い方法登録 */
#payment div.white-content-box-form {
  padding: 0;
  margin: 0;
}
#payment .formTable tbody th {
  background: #ccc;
}
#payment .formTable tbody td p {
  margin-top: 2px;
}
#payment .formTable tbody td a {
  margin: 0;
  font-size: 1.1rem;
  color: #006ae3;
}
#payment .formTable td input:focus,
#payment .formTable td select:focus {
  outline: 2px solid #000;
  box-shadow: none;
  border-radius: 3px;
}
#payment .btn .row {
  justify-content: space-between;
  align-items: flex-start;
}
.contact .btn .row {
  justify-content: space-between;
  align-items: flex-start;
}
#payment #submit.disabled {
  opacity: 0.7;
  pointer-events: none;
}
#payment #submit label {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #payment .formTable td input {
    width: 100%;
  }
  #payment div.row  {
    margin-top: 0;
  }
  #payment #submit {
    height: 60px;
    margin-bottom: 10px;
  }
}
/* 申し込み完了 */
#contents.complete {
  padding: 50px 0;
}
#contents.complete div.mypage-content-box {
  max-width: 500px;
  margin: 50px auto;
}
#contents.complete div.mypage-content-box div.mypage-content-box-inner {
  font-size: 1.6rem;
  font-weight: bold;
}
#contents.complete .complete-bottom {
  text-align: center;
}
#contents.complete .complete-bottom a.complete-button {
  padding: 15px 30px;
  color: #000;
  background: #ccc;
  font-size: 1.4rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #contents.complete div.mypage-content-box {
    width: 80%;
  }
}

/*問い合わせフォーム*/
.contact .btn .row{
  column-gap: 10px;
}
select#contact_type{
  width: 50%;
}

@media screen and (max-width: 767px) {
  .contact .btn{
    height: auto;
    margin: 30px auto;
  }
  .contact .btn .row{
    width: 280px;
    align-items: center;
  }
  .contact .btn #submit{
    margin-bottom: 20px;
  }
  #clearBtn {
    height: 60px;
    width: 200px;
  }
  select#contact_type{
    width: 90%;
  }
}

/*解約申請フォーム*/
@media screen and (max-width: 767px) {
  .cn4{
    padding: 30px;
  }
  select#reason{
    width: 100%;
  }
  #returnBtn {
    height: 60px;
    width: 200px;
  }
}

/*お支払い方法変更*/
.payment-update header nav h1{
  height: 60px;
}
.payment-update #payment .btn .row{
  justify-content: center;
}
@media screen and (max-width: 767px) {
  header nav h1.payment-update{
    height: 60px;
  }  
}

/* 3Dセキュア注釈エリア */
.attention-3d-secure {
  margin: 30px auto;
  padding: 0 4%;
}
.attention-3d-secure .attention-hdg {
  font-size: 1.6rem;
}
.attention-3d-secure .attention-text {
  margin-top: 10px;
}