@charset "utf-8";

@media print,screen and (min-width:641px) {
  .s-cont {
    padding-top:60px;
    padding-bottom:100px;
  }
  
  .message {
    padding-bottom:60px;
  }
}

@media screen and (max-width:640px) {
  .s-cont {
    padding-top:2em;
    padding-bottom:3em;
  }
  
  .message {
    text-align:left;
    padding-bottom:2.5em;
  }
}


/*----------------------------------------------------------------------------------------------------

  登録フォーム
  
----------------------------------------------------------------------------------------------------*/

.regifm {
  text-align:left;
}

.regifm-group {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

.regifm-group dt {
  font-weight:bold;
  font-size:1.1em;
  position:relative;
}

.regifm-btn {
  text-align:center;
}

.regifm-btn .p-btn {
  padding-left:3em;
  padding-right:3em;
}

@media print,screen and (min-width:641px) {
  .regifm {
    max-width:920px;
    margin-left:auto;
    margin-right:auto;
  }
  
  .regifm-group dt {
    width:22%;
  }
  
  .regifm-group dd {
    width:78%;
    padding-left:1.5em;
  }
  
  .regifm-group dt:not(:first-child),
  .regifm-group dt:not(:first-child) + dd {
    margin-top:2em;
  }
  
  .regifm-group dt:not(:first-child) + dd .m-input,
  .regifm-group dt:not(:first-child) + dd .m-select {
    margin-top:0.2em;
  }
  
  .regifm-group dt .pc-kai,
  .regifm-group dt .sp-dot {
    display:block;
  }

  .regifm-btn {
    text-align:center;
    padding-top:60px;
  }
  
  .regifm-btn .p-btn {
    font-size:1.1em;
    min-width:300px;
  }
}

@media screen and (max-width:640px) {
  .regifm-group {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
  }
  
  .regifm-group dt:not(:first-child) {
    margin-top:1.5em;
  }
  
  .regifm-group dd {
    padding-top:0.5em;
  }
  
  .regifm-group dt .pc-kai,
  .regifm-group dt .sp-dot {
    display:inline-block;
  }
  
  .regifm-group dt .sp-dot:before {
    content:"・";
  }

  .regifm-btn {
    padding-top:2.5em;
  }

  .regifm-btn .p-btn {
    min-width:50%;
  }
}


/*-----------------------------------------------------------------------------------
  必須・任意　ラベル
-----------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .fm-label {
    position:absolute;
    right:0;
    top:0.4em;
  }
}

@media screen and (max-width:640px) {
  .fm-label {
    margin-left:1em;
    vertical-align:middle;
  }
}

.fm-label {
  display:inline-block;
  color:#fff;
  padding:0.5em 0.8em;
  font-size:0.66em;
  font-weight:normal;
  line-height:1.2;
  border-radius:3px;
}

.fm-label--req { background-color:#faa01e; }
.fm-label--opt { background-color:#b4b4b4; }


/*-----------------------------------------------------------------------------------
  地図座標
-----------------------------------------------------------------------------------*/

.regifm-gmap {
  padding-top:1.5em;
}

.regifm-gmap__title {
  font-size:1.1em;
  padding-bottom:0.5em;
}

.regifm-gmap__address {
  width:100%;
  background-color:#f0f0f0;
  margin-top:1.5em;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
}
  
.regifm-gmap__address dt {
  width:100%;
}

@media print,screen and (min-width:641px) {
  .regifm-gmap__address {
    padding:1em;
  }
  
  .regifm-gmap__address dt {
    padding-right:1em;
  }
}

@media screen and (max-width:640px) {
  .regifm-gmap__address {
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    padding:1.5em 1em;
  }
  
  .regifm-gmap__address dd {
    width:100%;
    padding-top:1.5em;
    text-align:center;
  }
}

.regifm-gmap #map-canvas {
  width:100%;
  height:70vh;
  max-height:600px;
  min-height:400px;
}

.regifm-gmap__get {
  text-align:center;
}

.regifm-gmap__get dl {
  width:100%;
  margin-top:1.75em;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-align:stretch;
  -ms-flex-align:stretch;
  align-items:stretch;
  border-top:1px solid #d2d2d2;
  border-bottom:1px solid #d2d2d2;
}

.regifm-gmap__get dt {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  width:5em;
  white-space:nowrap;
  text-align:center;
  font-weight:bold;
  background-color:#f0f0f0;
  padding:0.75em 1.5em;
}

.regifm-gmap__get dd {
  width:100%;
  text-align:left;
  padding:0.75em;
}

@media screen and (max-width:640px) {
  .regifm-gmap__get dl {
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    border-left:1px solid #d2d2d2;
    border-right:1px solid #d2d2d2;
  }
  
  .regifm-gmap__get .ido {
    border-bottom:1px solid #d2d2d2;
  }
  
  .regifm-gmap__get dd {
    width:-webkit-calc(100% - 5em);
    width:calc(100% - 5em);
  }
}

.regifm-gmap__setBtn {
  text-align:center;
  padding-top:2em;
  padding-bottom:2em;
}

.regifm-gmap__setBtn .p-btn {
  margin-top:0.75em;
}

.regifm-gmap__set {
  width:100%;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}

.regifm-gmap__set dt {
  font-weight:bold;
  white-space:nowrap;
}

.regifm-gmap__set dd {
  padding-left:1em;
  width:100%;
}

@media print,screen and (min-width:641px) {
  .regifm-gmap__set dt {
    width:5em;
  }
  
  .regifm-gmap__set dd.ido {
    padding-right:1em;
  }
  
  .regifm-gmap__set dt.kdo {
    padding-left:1em;
  }
}

@media screen and (max-width:640px) {
  .regifm-gmap__set {
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
  }
  
  .regifm-gmap__set dt {
    width:2em;
  }
  
  .regifm-gmap__set dd {
    width:-webkit-calc(100% - 2em);
    width:calc(100% - 2em);
  }
  
  .regifm-gmap__set .kdo {
    padding-top:1em;
  }
}


/*----------------------------------------------------------------------------------------------------

  input
  
----------------------------------------------------------------------------------------------------*/

.m-input {
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  border:none;
  margin:0;
  outline:none;
  padding:0.2em 0.4em;
  text-decoration:none;
  line-height:inherit;
  font-size:inherit;
  border-radius:3px;
  -moz-border-radius:3px;
  -webkit-border-radius:3px;
  -webkit-transition:border-color ease-in-out .05s, -webkit-box-shadow ease-in-out .05s;
  -o-transition:border-color ease-in-out .05s, box-shadow ease-in-out .05s;
  transition:border-color ease-in-out .05s, box-shadow ease-in-out .05s;
}


/* サイズ（長さ） /--------------------------------------------------------------------*/

.m-input--min  { width:10%; }
.m-input--s    { width:25%; }
.m-input--m    { width:50%; }
.m-input--l    { width:75%; }
textarea.m-input,
.m-input--full { width:100%; }

@media screen and (max-width:640px) {
  .m-input--min { width:25%; }
  .m-input--s   { width:50%; }
  .m-input--m   { width:75%; }
  .m-input--l   { width:100%; }
}


/* カラー /--------------------------------------------------------------------*/

.m-input            { border:1px solid #c8c8c8; }
.m-input:focus      { border-color:#3c3c3c; }


/*----------------------------------------------------------------------------------------------------

  Select
  
----------------------------------------------------------------------------------------------------*/

.m-select {
  cursor:pointer;
  box-sizing:border-box;
  border:none;
  margin:0;
  outline:none;
  padding:0.2em 0.4em;
  border-radius:3px;
  -webkit-transition:border-color ease-in-out .05s, -webkit-box-shadow ease-in-out .05s;
  -o-transition:border-color ease-in-out .05s, box-shadow ease-in-out .05s;
  transition:border-color ease-in-out .05s, box-shadow ease-in-out .05s;
}

.m-select > option {
  padding:0.3em;
}


/* カラー /--------------------------------------------------------------------*/

.m-select       { border:1px solid #c8c8c8; }
.m-select:focus { border-color:#3c3c3c; }


/*----------------------------------------------------------------------------------------------------

  checkbox
  
----------------------------------------------------------------------------------------------------*/

.m-ckbox+label {
  display:inline-block;
  cursor:pointer;
  font-family:inherit;
}


/* グループ /--------------------------------------------------------------------*/

.m-ckbox-group {
  list-style:none;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  margin-top:-0.4em;
}

.m-ckbox-group li {
  padding-right:10px;
  padding-top:10px;
}

.m-ckbox-group li label {
  cursor:pointer;
  text-align:center;
  display:block;
  position:relative;
  background-color:#f0f0f0;
  border-radius:3px;
  padding:0.25em 1.25em 0.25em 1em;
  position:relative;
}

.m-ckbox-group li label input[type="checkbox"] {
  margin-right:0.5em;
}

.m-ckbox-group li label.is-checked {
  color:#fff;
  background-color:#646464;
}


/*-----------------------------------------------------------------------------------
  ファイルプレビュー
-----------------------------------------------------------------------------------*/

.filePv_thumb img {
  max-width:200px;
  margin-bottom:0.75em;
}

@media print,screen and (min-width:641px) {
  .filePv {
    padding-top:0.4em;
  }
}


/*----------------------------------------------------------------------------------------------------

  エラー
  
----------------------------------------------------------------------------------------------------*/

input[type=text].m-input--err,
select.m-input--err,
textarea.m-input--err,
.m-input--err:focus {
  border-color:#d72323;
  background-color:#feeeee;
}

.m-err {
  color:#d72323;
  padding-bottom:0.5em;
  padding-top:0.2em;
}

