@media screen and (max-width: 767px) {
  html {
    font-size: 3.46667vw;
    letter-spacing: 0.25vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body,html,div,span,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,
big,cite,code,del,dfn,em,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,
b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,
tfoot,thead,tr,th,td,input,textarea,select,option,optgroup {
  font-family : "ヒラギノ角ゴ ProN" , "ヒラギノ角ゴ ProN W3", Helvetica , "Hiragino Kaku Gothic ProN" , "メイリオ" , Meiryo , "ＭＳ ゴシック" , "MS Gothic" , HiraKakuProN-W3 , "TakaoExゴシック" , TakaoExGothic , "MotoyaLCedar" , "Droid Sans Japanese" , sans-serif;
  line-height: 1.8;
}

div,span,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,
big,cite,code,del,dfn,em,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,
b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,
tfoot,thead,tr,th,td,input,textarea,select,option,optgroup {
  font-size: inherit;
  line-height: inherit;
}

body, html {
  height: 100%;
}

body {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

a:link, a:visited, a:hover, a:active {
  color: #0066CC;
  text-decoration: none;
}

dl {
  margin: 0;
  padding: 0;
}

dl dd, dl dt {
  margin: 0;
  padding: 0;
}

figure {
  margin: 0;
  padding: 0;
}

input[type="image"],
img {
  border: 0;
  max-width: 100%;
  vertical-align: middle;
}

input {
  vertical-align: middle;
}

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], option, select, textarea {
  box-sizing: border-box;
  width: 100%;
}

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], textarea {
  border: 1px solid #BDBDBD;
  padding: 5px;
}

input[type="number"] {
  -moz-appearance:textfield;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[maxlength="50"] { max-width: 51em; width: 100%; }
input[maxlength="20"] { max-width: 21em; width: 100%; }
input[maxlength="10"] { max-width: 11em; width: 100%; }
input[maxlength="9"] { max-width: 10em; width: 100%; }
input[maxlength="8"] { max-width: 9em; width: 100%; }
input[maxlength="7"] { max-width: 7em; width: 100%; }
input[maxlength="6"] { max-width: 7em; width: 100%; }
input[maxlength="5"] { max-width: 6em; width: 100%; }
input[maxlength="4"] { max-width: 5em; width: 100%; }
input[maxlength="3"] { max-width: 4em; width: 100%; }
input[maxlength="2"] { max-width: 3em; width: 100%; }

ol {
  margin: 0;
  padding: 0 0 0 20px;
  list-style: decimal;
}

ol > li {
  padding: 0;
}

optgroup::before {
  font-style: normal;
  padding-left: 3px;
}

optgroup > option {
  padding-left: 10px;
}

optgroup > option::before {
  content: "";
  padding: 0;
  margin: 0;
}

option {
  padding: 1px 3px;
}

p {
  margin: 0 0 1em 0;
}

p:last-child {
  margin-bottom: 0!important;
}

select {
  box-sizing: border-box;
  max-width: 100%;
  padding: 3px;
}

strong {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

textarea {
  min-height: 100px;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

ul > li {
  padding: 0;
}

ul.disc > li {
  list-style-type: disc;
}

.align_c {
  text-align: center!important;
}

.align_l {
  text-align: left!important;
}

.align_r {
  text-align: right!important;
}

.bold {
  font-weight: bold;
}

.clearfix:after,
.clear-fix:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
}

.clr, .clear {
  clear: both;
}

.flex {
  display: -ms-flexbox;
  display: -moz-box;
  display: -webkit-flex;
  display: -webkit-box;
  display: flex;
  align-items: stretch;
}

.flex.justify {
  -ms-flex-pack: justify;
  -moz-box-pack: justify;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
  justify-content: space-between;
}

.flex.start {
  -ms-flex-pack: start;
  -moz-box-pack: start;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
  justify-content: flex-start;
}

.flex.wrap {
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex > a,
.flex > div {
  box-sizing: border-box;
  width: 100%;
}

.font-size-base {
  font-size: 1rem!important;
}

.font-size-small-1 {
  font-size: 0.8em!important;
}

.font-size-small-2 {
  font-size: 0.6em!important;
}

.font-size-large-1 {
  font-size: 1.2em!important;
}

.font-size-large-2 {
  font-size: 1.4em!important;
}

.font-size-large-3 {
  font-size: 1.6em!important;
}

.font-size-large-4 {
  font-size: 1.8em!important;
}

.font-size-large-5 {
  font-size: 2em!important;
}

/* 削除候補 st > font-size-small-N, font-size-small-N */
.fs_08 {
  font-size: 0.8rem!important;
}

.fs_10 {
  font-size: 1rem!important;
}

.fs_11 {
  font-size: 1.1rem!important;
}

.fs_12 {
  font-size: 1.2rem!important;
}

.fs_13 {
  font-size: 1.3rem!important;
}

.fs_14 {
  font-size: 1.4rem!important;
}
/* 削除候補 ed */

/* 削除候補 st > is-hidden */
.hdn {
  display: none;
}
/* 削除候補 ed */

.ime-off {
  ime-mode: disabled;
}

.in-block {
  display: inline-block;
}

.mag_00 { margin: 0;!important; }
.mag_05 { margin: 5px!important; }
.mag_08 { margin: 8px!important; }
.mag_10 { margin: 10px!important; }
.mag_15 { margin: 15px!important; }
.mag_20 { margin: 20px!important; }
.mag_25 { margin: 25px!important; }
.mag_30 { margin: 30px!important; }
.mag_40 { margin: 40px!important; }
.mag_50 { margin: 50px!important; }
.mag_60 { margin: 60px!important; }
.mag_bt00 { margin-bottom: 0px!important; }
.mag_bt05 { margin-bottom: 5px!important; }
.mag_bt08 { margin-bottom: 8px!important; }
.mag_bt10 { margin-bottom: 10px!important; }
.mag_bt15 { margin-bottom: 15px!important; }
.mag_bt20 { margin-bottom: 20px!important; }
.mag_bt25 { margin-bottom: 25px!important; }
.mag_bt30 { margin-bottom: 30px!important; }
.mag_bt40 { margin-bottom: 40px!important; }
.mag_bt50 { margin-bottom: 50px!important; }
.mag_bt60 { margin-bottom: 60px!important; }
.mag_clear { margin: 0!important; }
.mag_h00 { margin-top: 0!important; margin-bottom: 0!important; }
.mag_h05 { margin-top: 5px!important; margin-bottom: 5px!important; }
.mag_h08 { margin-top: 8px!important; margin-bottom: 8px!important; }
.mag_h10 { margin-top: 10px!important; margin-bottom: 10px!important; }
.mag_h15 { margin-top: 15px!important; margin-bottom: 15px!important; }
.mag_h20 { margin-top: 20px!important; margin-bottom: 20px!important; }
.mag_h25 { margin-top: 25px!important; margin-bottom: 25px!important; }
.mag_h30 { margin-top: 30px!important; margin-bottom: 30px!important; }
.mag_h40 { margin-top: 40px!important; margin-bottom: 40px!important; }
.mag_h50 { margin-top: 50px!important; margin-bottom: 50px!important; }
.mag_h60 { margin-top: 60px!important; margin-bottom: 60px!important; }
.mag_lt00 { margin-left: 0px!important; }
.mag_lt05 { margin-left: 5px!important; }
.mag_lt08 { margin-left: 8px!important; }
.mag_lt10 { margin-left: 10px!important; }
.mag_lt15 { margin-left: 15px!important; }
.mag_lt20 { margin-left: 20px!important; }
.mag_lt25 { margin-left: 25px!important; }
.mag_lt30 { margin-left: 30px!important; }
.mag_lt40 { margin-left: 40px!important; }
.mag_lt50 { margin-left: 50px!important; }
.mag_lt60 { margin-left: 60px!important; }
.mag_rt00 { margin-right: 0px!important; }
.mag_rt05 { margin-right: 5px!important; }
.mag_rt08 { margin-right: 8px!important; }
.mag_rt10 { margin-right: 10px!important; }
.mag_rt15 { margin-right: 15px!important; }
.mag_rt20 { margin-right: 20px!important; }
.mag_rt25 { margin-right: 25px!important; }
.mag_rt30 { margin-right: 30px!important; }
.mag_rt40 { margin-right: 40px!important; }
.mag_rt50 { margin-right: 50px!important; }
.mag_rt60 { margin-right: 60px!important; }
.mag_tp00 { margin-top: 0px!important; }
.mag_tp05 { margin-top: 5px!important; }
.mag_tp08 { margin-top: 8px!important; }
.mag_tp10 { margin-top: 10px!important; }
.mag_tp15 { margin-top: 15px!important; }
.mag_tp20 { margin-top: 20px!important; }
.mag_tp25 { margin-top: 25px!important; }
.mag_tp30 { margin-top: 30px!important; }
.mag_tp40 { margin-top: 40px!important; }
.mag_tp50 { margin-top: 50px!important; }
.mag_tp60 { margin-top: 60px!important; }
.mag_w00 { margin-left: 0!important; margin-right: 0!important; }
.mag_w05 { margin-left: 5px!important; margin-right: 5px!important; }
.mag_w08 { margin-left: 8px!important; margin-right: 8px!important; }
.mag_w10 { margin-left: 10px!important; margin-right: 10px!important; }
.mag_w15 { margin-left: 15px!important; margin-right: 15px!important; }
.mag_w20 { margin-left: 20px!important; margin-right: 20px!important; }
.mag_w25 { margin-left: 25px!important; margin-right: 25px!important; }
.mag_w30 { margin-left: 30px!important; margin-right: 30px!important; }
.mag_w40 { margin-left: 40px!important; margin-right: 40px!important; }
.mag_w50 { margin-left: 50px!important; margin-right: 50px!important; }
.mag_w60 { margin-left: 60px!important; margin-right: 60px!important; }

.red { color: #b71c1c!important; }
.orange { color: #ef6c00!important; }
.navy { color: #000066!important; }
.green { color: #00acc1!important;}

.pad_00 { padding: 0!important; }
.pad_05 { padding: 5px!important; }
.pad_08 { padding: 8px!important; }
.pad_10 { padding: 10px!important; }
.pad_15 { padding: 15px!important; }
.pad_20 { padding: 20px!important; }
.pad_25 { padding: 25px!important; }
.pad_30 { padding: 30px!important; }
.pad_40 { padding: 40px!important; }
.pad_50 { padding: 50px!important; }
.pad_60 { padding: 60px!important; }
.pad_bt00 { padding-bottom: 0px!important; }
.pad_bt05 { padding-bottom: 5px!important; }
.pad_bt08 { padding-bottom: 8px!important; }
.pad_bt10 { padding-bottom: 10px!important; }
.pad_bt15 { padding-bottom: 15px!important; }
.pad_bt20 { padding-bottom: 20px!important; }
.pad_bt25 { padding-bottom: 25px!important; }
.pad_bt30 { padding-bottom: 30px!important; }
.pad_bt40 { padding-bottom: 40px!important; }
.pad_bt50 { padding-bottom: 50px!important; }
.pad_bt60 { padding-bottom: 60px!important; }
.pad_clear { padding: 0!important; }
.pad_h00 { padding-top: 0!important; padding-bottom: 0!important; }
.pad_h05 { padding-top: 5px!important; padding-bottom: 5px!important; }
.pad_h08 { padding-top: 8px!important; padding-bottom: 8px!important; }
.pad_h10 { padding-top: 10px!important; padding-bottom: 10px!important; }
.pad_h15 { padding-top: 15px!important; padding-bottom: 15px!important; }
.pad_h20 { padding-top: 20px!important; padding-bottom: 20px!important; }
.pad_h25 { padding-top: 25px!important; padding-bottom: 25px!important; }
.pad_h30 { padding-top: 30px!important; padding-bottom: 30px!important; }
.pad_h40 { padding-top: 40px!important; padding-bottom: 40px!important; }
.pad_h50 { padding-top: 50px!important; padding-bottom: 50px!important; }
.pad_h60 { padding-top: 60px!important; padding-bottom: 60px!important; }
.pad_lt00 { padding-left: 0px!important; }
.pad_lt05 { padding-left: 5px!important; }
.pad_lt08 { padding-left: 8px!important; }
.pad_lt10 { padding-left: 10px!important; }
.pad_lt15 { padding-left: 15px!important; }
.pad_lt20 { padding-left: 20px!important; }
.pad_lt25 { padding-left: 25px!important; }
.pad_lt30 { padding-left: 30px!important; }
.pad_lt40 { padding-left: 40px!important; }
.pad_lt50 { padding-left: 50px!important; }
.pad_lt60 { padding-left: 60px!important; }
.pad_rt00 { padding-right: 0px!important; }
.pad_rt05 { padding-right: 5px!important; }
.pad_rt08 { padding-right: 8px!important; }
.pad_rt10 { padding-right: 10px!important; }
.pad_rt15 { padding-right: 15px!important; }
.pad_rt20 { padding-right: 20px!important; }
.pad_rt25 { padding-right: 25px!important; }
.pad_rt30 { padding-right: 30px!important; }
.pad_rt40 { padding-right: 40px!important; }
.pad_rt50 { padding-right: 50px!important; }
.pad_rt60 { padding-right: 60px!important; }
.pad_tp00 { padding-top: 0px!important; }
.pad_tp05 { padding-top: 5px!important; }
.pad_tp08 { padding-top: 8px!important; }
.pad_tp10 { padding-top: 10px!important; }
.pad_tp15 { padding-top: 15px!important; }
.pad_tp20 { padding-top: 20px!important; }
.pad_tp25 { padding-top: 25px!important; }
.pad_tp30 { padding-top: 30px!important; }
.pad_tp40 { padding-top: 40px!important; }
.pad_tp50 { padding-top: 50px!important; }
.pad_tp60 { padding-top: 60px!important; }
.pad_w00 { padding-left: 0!important; padding-right: 0!important; }
.pad_w05 { padding-left: 5px!important; padding-right: 5px!important; }
.pad_w08 { padding-left: 8px!important; padding-right: 8px!important; }
.pad_w10 { padding-left: 10px!important; padding-right: 10px!important; }
.pad_w15 { padding-left: 15px!important; padding-right: 15px!important; }
.pad_w20 { padding-left: 20px!important; padding-right: 20px!important; }
.pad_w25 { padding-left: 25px!important; padding-right: 25px!important; }
.pad_w30 { padding-left: 30px!important; padding-right: 30px!important; }
.pad_w40 { padding-left: 40px!important; padding-right: 40px!important; }
.pad_w50 { padding-left: 50px!important; padding-right: 50px!important; }
.pad_w60 { padding-left: 60px!important; padding-right: 60px!important; }


.tbl {
  display: table;
  width: 100%;
}

.tbl-cols-2 > div {
  box-sizing: border-box;
  display: table-cell;
  padding: 15px;
  width: 50%;
}

.tbl-cols-3 > div {
  box-sizing: border-box;
  display: table-cell;
  padding: 15px;
  width: 33.333%;
}

.uline {
  text-decoration: underline;
}

.white-space-normal { white-space: normal; }
.white-space-nowrap { white-space: nowrap; }
