@charset "UTF-8";
/*--------------------------------------------------
	RESET
--------------------------------------------------*/
* {
  box-sizing: border-box; }

html {
  overflow-y: scroll; }

body, h1, h2, h3, h4, h5, h6, p, img, hr, li, ul, dl, dt, dd {
  padding: 0;
  margin: 0;
  border: 0;
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
  font-size: 1em; }

/*--------------------------------------------------
	COMMON
--------------------------------------------------*/
html {
  font-size: 62.5%;
  line-height: 1.6;
  background: #f5f8fc;
  color: #757575; }

body {
  font-size: 14px;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "游ゴシック  Medium", meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
  position: relative;
  word-wrap: break-word; }

html, body {
  width: 100%;
  height: 100%; }

img {
  width: 100%;
  border: 0;
  max-width: inherit;
  vertical-align: middle; }

a {
  color: #757575;
  text-decoration: none; }
  a:hover, a:active, a:focus {
    text-decoration: underline; }

body::before {
  background: url("../img/bg/background.jpg") top center no-repeat, #f5f8fc;
  background-size: cover;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-bottom: 108px;
  content: "";
  z-index: -1; }

.hover a:hover img {
  -webkit-opacity: 0.7;
  -moz-opacity: 0.7;
  -ms-opacity: 0.7;
  -o-opacity: 0.7;
  opacity: 0.7;
  -webkit-filter: alpha(opacity=70);
  -moz-filter: alpha(opacity=70);
  -ms-filter: alpha(opacity=70);
  -o-filter: alpha(opacity=70);
  filter: alpha(opacity=70); }
.hover a img {
  -webkit-transition: opacity 0.5s ease-out;
  -moz-transition: opacity 0.5s ease-out;
  -ms-transition: opacity 0.5s ease-out;
  -o-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out; }

.clearfix:after {
  display: block;
  clear: both;
  content: ""; }

::selection {
  background: #757575;
  color: #f8f5ea; }

::-moz-selection {
  background: #757575;
  color: #f8f5ea; }

.page {
  position: relative;
  height: 100%; }

.contents {
  width: 100%;
  min-height: 100%;
  padding: 2.5rem;
  text-align: center;
  background: rgba(255, 255, 255, 0.9); }

.title {
  position: relative;
  margin: 0 0 2rem;
  padding: 0 0 .2rem;
  font-size: 16px;
  font-weight: bold;
  text-align: center; }
  .title:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    border-top: 1px solid rgba(117, 117, 117, 0.3);
    border-bottom: 1px solid rgba(255, 255, 255, 0.5); }

.small_title {
  margin: 2rem 0 1rem; }

.small_title, .small_title_m0 {
  position: relative;
  width: 100%; }
  .small_title:after, .small_title_m0:after {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    margin-left: 1.5rem; }
  .small_title .st_in, .small_title_m0 .st_in {
    width: 90%;
    padding: .5rem;
    -o-transform: skew(45deg);
    -ms-transform: skew(45deg);
    -moz-transform: skew(45deg);
    -webkit-transform: skew(45deg);
    transform: skew(45deg);
    -o-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    -moz-transform-origin: 0 100%;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    margin-left: -1.5rem; }
  .small_title .st_in_text, .small_title_m0 .st_in_text {
    color: #fff;
    display: block;
    padding: 0 5.5rem 0 1.5rem;
    -o-transform: skew(-45deg);
    -ms-transform: skew(-45deg);
    -moz-transform: skew(-45deg);
    -webkit-transform: skew(-45deg);
    transform: skew(-45deg);
    -o-transform-origin: 100% 100%;
    -ms-transform-origin: 100% 100%;
    -moz-transform-origin: 100% 100%;
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%; }

.title_gray:after {
  background: #757575; }
.title_gray .st_in {
  background: #757575; }

.title_blue:after {
  background: #6da7e6; }
.title_blue .st_in {
  background: #6da7e6; }

.title_red:after {
  background: #e45353; }
.title_red .st_in {
  background: #e45353; }

.sub_title {
  font-weight: bold;
  border-left: 3px solid #757575;
  border-bottom: 1px solid #757575;
  padding: 0 0 0 .5rem;
  margin: 0 0 .5rem; }

.red_box {
  background: rgba(228, 83, 83, 0.15);
  border: 1px solid #e45353; }

.btn, .btn_none, .btnGreen, .btnOrange, .btnYellow, .btnBlue, .btnSky, .btnRed, .btnPink {
  width: 100%;
  display: block;
  cursor: pointer;
  text-decoration: none;
  line-height: normal;
  display: block;
  text-decoration: none;
  border-style: solid;
  border-width: 2px;
  -webkit-border-image: url("/img/bg/btnNomal_frame.png") 2 stretch;
  -moz-border-image: url("/img/bg/btnNomal_frame.png") 2 stretch;
  -ms-border-image: url("/img/bg/btnNomal_frame.png") 2 stretch;
  -o-border-image: url("/img/bg/btnNomal_frame.png") 2 stretch;
  border-image: url("/img/bg/btnNomal_frame.png") 2 stretch; }
  .btn a, .btn_none a, .btnGreen a, .btnOrange a, .btnYellow a, .btnBlue a, .btnSky a, .btnRed a, .btnPink a {
    display: block;
    text-decoration: none; }

.btn_none {
  background: rgba(117, 117, 117, 0.4); }

.btn {
  background-color: rgba(223, 231, 242, 0.5);
  background: -webkit-linear-gradient(top, #f5f8fc 0%, rgba(223, 231, 242, 0.5) 100%);
  background: -moz-linear-gradient(top, #f5f8fc 0%, rgba(223, 231, 242, 0.5) 100%);
  background: -ms-linear-gradient(top, #f5f8fc 0%, rgba(223, 231, 242, 0.5) 100%);
  background: -o-linear-gradient(top, #f5f8fc 0%, rgba(223, 231, 242, 0.5) 100%);
  background: linear-gradient(to bottom, #f5f8fc 0%, rgba(223, 231, 242, 0.5) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, StartColorStr='#f5f8fc', EndColorStr='rgba(223, 231, 242, 0.5)'); }

.btnGreen {
  color: #fff;
  text-shadow: 0px 0px 5px rgba(17, 17, 17, 0.5);
  background-color: #5db175;
  background: -webkit-linear-gradient(top, #5af03c 0%, #5db175 100%);
  background: -moz-linear-gradient(top, #5af03c 0%, #5db175 100%);
  background: -ms-linear-gradient(top, #5af03c 0%, #5db175 100%);
  background: -o-linear-gradient(top, #5af03c 0%, #5db175 100%);
  background: linear-gradient(to bottom, #5af03c 0%, #5db175 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, StartColorStr='#5af03c', EndColorStr='#5db175'); }
  .btnGreen a {
    color: #fff; }

.btnOrange {
  color: #fff;
  text-shadow: 0px 0px 5px rgba(17, 17, 17, 0.5);
  background-color: #e79954;
  background: -webkit-linear-gradient(top, #ff8636 0%, #e79954 100%);
  background: -moz-linear-gradient(top, #ff8636 0%, #e79954 100%);
  background: -ms-linear-gradient(top, #ff8636 0%, #e79954 100%);
  background: -o-linear-gradient(top, #ff8636 0%, #e79954 100%);
  background: linear-gradient(to bottom, #ff8636 0%, #e79954 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, StartColorStr='#ff8636', EndColorStr='#e79954'); }
  .btnOrange a {
    color: #fff; }

.btnYellow {
  color: #fff;
  text-shadow: 0px 0px 5px rgba(17, 17, 17, 0.5);
  background-color: #e4b600;
  background: -webkit-linear-gradient(top, #ffdc50 0%, #e4b600 100%);
  background: -moz-linear-gradient(top, #ffdc50 0%, #e4b600 100%);
  background: -ms-linear-gradient(top, #ffdc50 0%, #e4b600 100%);
  background: -o-linear-gradient(top, #ffdc50 0%, #e4b600 100%);
  background: linear-gradient(to bottom, #ffdc50 0%, #e4b600 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, StartColorStr='#ffdc50', EndColorStr='#e4b600'); }
  .btnYellow a {
    color: #fff; }

.btnBlue {
  color: #fff;
  text-shadow: 0px 0px 5px rgba(17, 17, 17, 0.5);
  background-color: #4182e3;
  background: -webkit-linear-gradient(top, #6da7e6 0%, #4182e3 100%);
  background: -moz-linear-gradient(top, #6da7e6 0%, #4182e3 100%);
  background: -ms-linear-gradient(top, #6da7e6 0%, #4182e3 100%);
  background: -o-linear-gradient(top, #6da7e6 0%, #4182e3 100%);
  background: linear-gradient(to bottom, #6da7e6 0%, #4182e3 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, StartColorStr='#6da7e6', EndColorStr='#4182e3'); }
  .btnBlue a {
    color: #fff; }

.btnRed {
  color: #fff;
  background-color: #e45353;
  background: -webkit-linear-gradient(top, #ff4e4e 0%, #e45353 100%);
  background: -moz-linear-gradient(top, #ff4e4e 0%, #e45353 100%);
  background: -ms-linear-gradient(top, #ff4e4e 0%, #e45353 100%);
  background: -o-linear-gradient(top, #ff4e4e 0%, #e45353 100%);
  background: linear-gradient(to bottom, #ff4e4e 0%, #e45353 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, StartColorStr='#ff4e4e', EndColorStr='#e45353'); }
  .btnRed a {
    color: #fff; }

.btn_nomal {
  padding: .8rem .5rem; }

.btn_link a {
  padding: .8rem .5rem; }
.btn_link:not(:first-child) {
  margin: .5rem 0 0; }

.btn_link_small a {
  padding: .6rem .5rem; }
.btn_link_small:not(:first-child) {
  margin: .5rem 0 0; }

.btn_small {
  padding: .6rem .5rem; }

.btn_area, .btn_area_submit {
  width: 100%;
  text-align: center;
  margin: 2rem auto; }

.btn_area {
  max-width: 300px; }

.btn_area_submit {
  max-width: 500px; }

a, input, button {
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent; }

input, textarea, select {
  width: 100%;
  display: block;
  padding: .5rem;
  font-size: 16px;
  line-height: normal;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.2);
  cursor: pointer;
  box-shadow: inset 0 1px 3px rgba(117, 117, 117, 0.5); }

textarea {
  min-height: 200px; }

select {
  -moz-appearance: menulist;
  -webkit-appearance: menulist; }

option {
  background: rgba(255, 255, 255, 0.8);
  cursor: pointer; }

.auth_in {
  max-width: 500px;
  text-align: center;
  margin: 0 auto; }
  .auth_in dl {
    margin: 2rem auto;
    padding: .8rem 1rem 1rem;
    background: rgba(223, 225, 231, 0.6);
    box-shadow: inset 0 1px 3px rgba(117, 117, 117, 0.5); }
    .auth_in dl dt, .auth_in dl dd {
      width: 50%;
      vertical-align: top;
      display: inline-block;
      *display: inline;
      zoom: 1; }
    .auth_in dl dt {
      text-align: right;
      padding: 0 1rem 0 0;
      margin: .5rem 0 0; }
    .auth_in dl dd {
      text-align: left;
      padding: 0 0 0 1rem;
      margin: .5rem 0 0; }

.auth_box {
  text-align: center;
  padding: 1rem;
  margin: 0 auto 1rem;
  background: rgba(223, 225, 231, 0.6);
  box-shadow: inset 0 1px 3px rgba(117, 117, 117, 0.5); }
