@charset "UTF-8";

html, body, div, input, select, tr, td, p, ul, li, h1, h2, h3, h4, h5, h6, h7, dl, dt, dd {
  margin: 0;
  padding: 0;
}

li {
  list-style-type: none;
}

body, html {
  height: 100%;
  font-size: 62.5%;
}

body {
  line-height: 1.0;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "游ゴシック Medium", YuGothic, YuGothicM, sans-serif;
  color: #333333;
  font-size: 1.4rem;
  background-color: #f1f1f1;
}

div {
  box-sizing: border-box;
}

.wrap {
  min-height: 100%;
  height: 100%;
  position: relative;
}

.content {
  position: relative;
}

header {
  position: relative;
  height: 58px;
  background-color: #ffffff;
  border-bottom: 1px solid #cccccc;
  margin-bottom: -58px;
  z-index: 50;
  box-sizing: border-box;
  box-shadow: 0px 2px 4px 2px rgba(80, 80, 80, 0.3);
}

header .content {
  width: 100%;
  height: 100%;
}

header h2 {
  position: relative;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2.2rem;
}

header .content.grid {
  display: grid;
  grid-template-columns: 88px 1fr 88px
}

header .content.grid > div:nth-child(1) {
  grid-row: 1 / 2;
  grid-column: 1 / 2;
  text-align: left;
  padding-left: 15px;
}

header .content.grid > div:nth-child(2) {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
  text-align: center;
  padding: 0 15px;
}

header .content.grid > div:nth-child(3) {
  grid-row: 1 / 2;
  grid-column: 3 / 4;
  text-align: right;
  padding-right: 15px;
}

header .content.grid > div > * {
  display: inline-block;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

header + .content {
  padding-top: 58px;
}

.hamburger {
  position: absolute;
  display: block;
  width: 250px;
  background-color: #f0f0f0;
  right: 0px;
  top: 8px;
  z-index: 70;
  box-shadow: 0 2px 5px 2px rgba(0, 0, 0, 0.5);
  border-radius: 2px;
  transition: height 0.3s ease-in;
}

.hamburger > div {
  height: 38px;
  padding: 8px;
  position: relative;
  overflow: hidden;
  line-height: 22px;
}

.hamburger > div > p {
  float: left;
  color: #ff0000;
  font-size: 2.4rem;
  font-weight: bold;
}

.hamburger > div > div {
  float: right;
}

.hamburger li {
  border-top: 1px solid #333333;
  height: 56px;
}

.hamburger li:last-child {
  border-bottom: 1px solid #333333;
}

.hamburger .menu-label {
  font-size: 1.2rem;
  line-height: 1.0em;
    background-color: #bfbfbf;
    padding: 3px 8px;
    margin-bottom: 4px;
}

.hamburger .menu-value {
  font-size: 1.8rem;
    line-height: 34px;
    text-indent: 8px;
}

.hamburger .menu-value .material-icons {
  vertical-align: text-top;
  text-indent: 0;
}

.hamburger li a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 8px;
    line-height: 40px;
    box-sizing: border-box;
    text-decoration: none;
    color: #333333;
}

.user-menu-back {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 100%;
	height: auto;
	z-index: 60;
	background-color: rgba(0, 0, 0, 0.2);
}

.wrap>.content {
  position: relative;
  width: 100%;
  min-height: 100%;
  height: auto;
}

/*
 * マテリアルアイコン
 */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: local('Material Icons'), local('MaterialIcons-Regular'), url(/css/MaterialIcons-Regular.ttf) format('truetype');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px; /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  vertical-align: middle;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.material-icons.md-dark {
  color: rgba(0, 0, 0, 0.54);
}

.material-icons.md-dark.md-inactive {
  color: rgba(0, 0, 0, 0.26);
}

.material-icons.md-light {
  color: rgba(255, 255, 255, 1);
}

.material-icons.md-light.md-inactive {
  color: rgba(255, 255, 255, 0.3);
}

/*
 * ローディング表示
 */
.loading_wrap {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 50000;
}

.loading_back {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

.loading {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -33px;
  margin-top: -33px;
  z-index: 1;
}

/*
 * モーダル
 */
.modal-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 20000;
	overflow: hidden;
}

/*.modal-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 20000;
}*/

.modal-wrap .modal-back {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3);
}

.modal-wrap .modal-wnd-wrap {
	position: fixed;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-width: 90%;
	max-height: 90%;
	box-shadow: 0px 2px 4px 2px rgba(80, 80, 80, 0.5);
}

.modal-wrap .modal-wnd {
	background-color: #ffffff;
	width: 100%;
	height: 100%;
	-webkit-overflow-scrolling: touch;
	overflow: auto;
}

.modal-wrap .modal-wnd iframe {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	border-style: none;
}

.modal-wrap .modal-wnd-wrap .modal-close {
	position: absolute;
	width: 30px;
	height: 30px;
	text-align: center;
	line-height: 30px;
	border-radius: 15px;
	color: #ffffff;
	background-color: #333333;
	top: -15px;
	right: -15px;
	cursor: pointer;
	z-index: 20100;
}

/*
 * ボタン
 */
.button {
  width: 110px;
  height: 44px;
  border: 1px solid #333333;
  border-radius: 2px;
  background-color: #ffffff;
  font-size: 1.4rem;
  line-height: 24px;
  color: #333333;
  vertical-align: middle;
  cursor: pointer;
  box-shadow: 0px 2px 1px rgba(51, 51, 51, 0.6);
  overflow: hidden;
}

.button:active {
  position: relative;
  top: 2px;
  box-shadow: none;
}

.button>span {
  position: relative;
}

.button i.material-icons {
  vertical-align: bottom;
  margin-right: 3px;
}

.button.orange {
  border-color: #d56600;
  background-color: #f55509;
  color: #ffffff;
}

.button.red {
  border-color: #990000;
  background-color: #ff0000;
  color: #ffffff;
}

.button.green {
  border-color: #205766;
  background-color: #31859c;
  color: #ffffff;
}

.button.blue {
  border-color: #243c67;
  background-color: #4472c4;
  color: #ffffff;
}

@media screen and (max-width: 479px) {
  body {
    min-width: 320px;
    font-size: 1.8rem;
  }
  header .header-title h1 {
    font-size: 20px;
  }
  header .header-menu {
    padding-right: 10px;
  }
  input {
    font-size: 1.6rem
  }
  select {
    font-size: 1.6rem;
  }
  textarea {
    font-size: 1.6rem;
    line-height: 1.2;
  }
  .button {
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 480px) {
  body {
    font-size: 1.4rem;
    min-width: 960px;
  }
  .content {
    width: 100%;
  }
  .wrap>.content {
    width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
  header .content {
    width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
  header .header-title br {
    display: none;
  }
  .user-name-nav .user-menu ul {
    width: 180px;
  }
  .login-user.mobile {
    display: none;
  }
  .user-menu .user-name {
    display: none;
  }
  button {
    height: 38px;
  }
}