@charset "UTF-8";
@-webkit-keyframes shine {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}
@keyframes shine {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes AniFloat {
  0% {
    -webkit-transform: translateY(3%);
            transform: translateY(3%);
  }
  50% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  100% {
    -webkit-transform: translateY(3%);
            transform: translateY(3%);
  }
}

@keyframes AniFloat {
  0% {
    -webkit-transform: translateY(3%);
            transform: translateY(3%);
  }
  50% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  100% {
    -webkit-transform: translateY(3%);
            transform: translateY(3%);
  }
}

:root {
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI",'Microsoft JhengHei',"Noto Sans TC", "微軟正黑體", "Meiryo UI", Roboto, Helvetica, Arial, sans-serif;
  --mainTitle: 22px;
  --mainTxt: 18px;
  --mainPrice: 20px;
  --mainNote: 15px;
  --font-color-dark: #fff;
  --font-color-light: #111;
}

@media (min-width: 768px) {
  :root {
    --mainTitle: 32px;
    --mainTxt: 20px;
    --mainPrice: 20px;
    --mainNote: 15px;
  }
}

:root html:lang(ja-JP) *:not(.material-icons):not(.fa):not(.buttonicons) {
  --font: -apple-system, BlinkMacSystemFont,"Meiryo UI", Arial, sans-serif;
}

img {
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.psirt {
  padding: 40px;
}

.psirt__title {
  text-align: center;
  margin-bottom: 20px;
}


.ems .linearChoiceBox label::after{
  content:"";
  display:block;
  width:12px;
  height:12px;
  outline:var(--emscol-border) 1px solid;
  border:rgba(0,0,0,0) 3px solid;
  border-radius:50%;
  margin:0 auto
}
.ems .linearChoiceBox input[type=radio]:checked+label::after,.ems-form--radio input[type=radio]:checked+label::before{
  border-color:var(--emscol-focus-opt);
  outline:var(--emscol-focus-opt) 1px solid
}
:root{
  --emscol-border: #ccc;
  --emscol-focus: #eee;
  --emscol-focus-opt: #333;
  --emscol-focus-opt-ckecked: #fff;
  --emscol-form-bkg: none;
  --emscol-note: #666;
  --emscol-error: var(--color-red-400);
  --emscol-arrow: #777;
  --emscol-a: #000;
  --emscol-font: #222
}
.ems{
  max-width:1000px;
  margin:0 auto
}
.ems-required{
  color:var(--emscol-error)
}
.ems__item{
  padding-bottom:20px
}
.ems__item__form{
  padding-top:8px
}
.ems__item__note{
  font-size:15px;
  color:var(--emscol-note);
  padding-top:5px
}
.ems__item__error{
  font-size:15px;
  color:var(--emscol-error);
  padding-top:5px
}
.ems input,.ems select,.ems textarea{
  outline:none;
  border:var(--emscol-border) 1px solid;
  border-radius:4px;
  padding:10px;
  font-size:100%;
  color:var(--emscol-font);
  width:100%;
  background:var(--emscol-form-bkg)
}
.ems input.error,.ems select.error,.ems textarea.error{
  border-color:var(--emscol-error)
}
.ems input:focus,.ems select:focus,.ems textarea:focus{
  outline:var(--emscol-focus) 1px solid;
  box-shadow:var(--emscol-focus) 0 0 5px
}
.ems textarea{
  height:100px
}
.ems a{
  color:var(--emscol-a);
  text-decoration:underline
}
.ems a:hover{
  text-decoration:none
}
.ems-form--select{
  position:relative
}
.ems-form--select .arrow{
  position:absolute;
  top:50%;
  right:12px;
  transform:translateY(-50%)
}
.ems-form--select select:focus+.arrow{
  transform:translateY(-50%) rotate(180deg)
}
.ems-form--radio input[type=radio]{
  display:none
}
.ems-form--radio label{
  display:inline-flex;
  align-items:center;
  cursor:pointer
}
.ems-form--radio label::before{
  content:"";
  display:inline-block;
  width:12px;
  height:12px;
  outline:var(--emscol-border) 1px solid;
  border:rgba(0,0,0,0) 3px solid;
  border-radius:50%;
  margin-right:8px
}
.ems-form--checkbox input[type=checkbox]{
  display:none
}
.ems-form--checkbox input[type=checkbox]:checked+label::before{
  border-color:var(--emscol-focus-opt);
  background:var(--emscol-focus-opt)
}
.ems-form--checkbox input[type=checkbox]:checked+label::after{
  content:"";
  font-family:"msi-icons" !important;
  position:absolute;
  top:3px;
  left:1px;
  color:var(--emscol-focus-opt-ckecked);
  font-weight:bold;
  font-size:16px
}
.ems-form--checkbox label{
  display:flex;
  position:relative;
  cursor:pointer
}
.ems-form--checkbox label::before{
  content:"";
  display:flex;
  width:14px;
  height:14px;
  border:var(--emscol-border) 1px solid;
  background-color:none;
  border-radius:3px;
  margin-right:8px;
  flex:0 0 14px;
  margin-top:4px
}
.ems .radioBox{
  padding-bottom:5px
}
@media(min-width: 996px){
  .ems .radioBox{
      display:flex
  }
  .ems .radioBox li{
      margin-right:35px;
      padding-bottom:0
  }
}
.ems .checkboxBox li{
  padding-bottom:5px
}
.ems .linearChoiceBox input[type=radio]{
  display:none
}
.ems .linearChoiceBox label{
  display:block;
  text-align:center;
  cursor:pointer
}
.ems .linearChoiceBox label span{
  display:block
}
.ems .linearChoiceBox label::after{
  margin-top:5px
}
.ems .linearChoiceBox__radio{
  display:flex;
  justify-content:space-between;
  width:100%;
  clear:both;
  margin-top:10px
}
.ems .linearChoiceBox__title--left{
  float:left
}
.ems .linearChoiceBox__title--right{
  float:right
}
@media(min-width: 996px){
  .ems .linearChoiceBox{
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      margin:15px auto
  }
  .ems .linearChoiceBox__title--left{
      margin-right:35px;
      float:none
  }
  .ems .linearChoiceBox__title--right{
      margin-left:35px;
      float:none;
      order:3
  }
}
.ems__tc li{
  margin-bottom:20px
}
.ems__tc a{
  display:block
}
.ems__terms__text{
  font-size:15px;
  color:var(--emscol-note);
  padding-top:5px;
  padding-left:25px
}
.ems__send{
  text-align:center;
  padding:15px 0
}
.ems__send button{
  background:var(--emscol-border);
  color:#222;
  padding:10px 25px;
  border:var(--emscol-border) 1px solid;
  border-radius:4px
}
.ems__send button:hover{
  background:none
}
@media(min-width: 996px){
  [data-layout=double-column] .ems__form{
      display:flex;
      flex-wrap:wrap
  }
  [data-layout=double-column] .ems__item{
      display:inline-flex;
      width:calc(50% - 25px);
      flex-direction:column
  }
  [data-layout=double-column] .ems__item:nth-child(even){
      margin-left:25px
  }
}
