/* 共通 */
html {
	font-family: "Roboto", -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
}

body {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}

main {
	flex: 1 0 auto;
}

html, body, .block {
	height: 100%;
}

a {
	text-decoration: none;
}

/* ヘッダー */
header .brand-logo.left {
	padding-left:30px;
}

header .dropdown-content.active {
	min-width: 200px;
	z-index: 10001;
}

header .pagename {
	color: #fff;
    display: inline-block;
    margin-left: 30px;
    font-size: 0.85rem;
}

header .normal-menu {
	position: absolute;
	right: 0;
	top: 0;
}

nav .brand-logo {
	font-size: 1.5rem;
	display: inline-block;
    position: unset;
}

.top-margin-sm {
	margin-top: 70px;
}

.top-margin-lg {
	margin-top: 150px;
}

.top-margin-timetable {
	margin-top: 180px;
}

.fixed-action-btn {
	bottom:0px;
    top: 0px;
    padding-top: 10px;
}

.fixed-action-btn ul {
	left: -14px;
	bottom: 0px;
	top: 64px;
}

.fixed-action-btn ul li {
	margin-bottom: 0px;
}

.fixed-header {
	position: fixed;
	z-index: 1000;
	top: 0px;
	width: 100%;
}

.humberger-btn {
    position: relative;
    top: -11px;
}

@media only screen and (min-width: 1279px) {
  .row .col.ll1 {
    width: 8.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.ll2 {
    width: 16.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.ll3 {
    width: 25%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.ll4 {
    width: 33.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.ll5 {
    width: 41.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.ll6 {
    width: 50%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.ll7 {
    width: 58.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.ll8 {
    width: 66.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.ll9 {
    width: 75%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.ll10 {
    width: 83.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.ll11 {
    width: 91.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.ll12 {
    width: 100%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
}

/* フッター */
footer.page-footer {
	margin-top: 20px;
	padding: 15px;
	background-color: #ee6e73;
	text-align: right;
	color: #fff;
}

/* 汎用 */
.margin-left-lg {
	margin-left: 30px;
}

.margin-left-md {
	margin-left: 20px;
}

.margin-left-sm {
	margin-left: 10px;
}

.margin-left-xs {
	margin-left: 5px;
}

.margin-right-lg {
	margin-right: 30px;
}

.margin-right-md {
	margin-right: 20px;
}

.margin-right-sm {
	margin-right: 10px;
}

.margin-right-xs {
	margin-right: 5px;
}

.margin-top-lg {
	margin-top: 30px;
}

.margin-top-md {
	margin-top: 20px;
}

.margin-top-sm {
	margin-top: 10px;
}

.margin-top-xs {
	margin-top: 5px;
}

.margin-bottom-lg {
	margin-bottom: 30px;
}

.margin-bottom-md {
	margin-bottom: 20px;
}

.margin-bottom-sm {
	margin-bottom: 10px;
}

.margin-bottom-xs {
	margin-bottom: 5px;
}

.font-small {
	font-size: 12px;
}

.list-contents {
	margin-top: -60px;
}

.hidden {
	display:none;
}

.decorate-text {
	font-weight:bold;
	cursor:pointer;
}

.decorate-text:hover {
	text-decoration: underline;
}

.alert {
	color: #ee6e73;
}

.return-btn {
	margin-left:18px;
	margin-top:5px;
}

.btn-cancel {
	padding: 10px;
	color: rgba(0,0,0,0.87);
}

/* ツールチップ */
.material-tooltip {
	z-index:10000;
}

/* モーダル */
.modal-cancel {
    position: absolute;
    right: 0;
    top: 0;
}

/* 上部固定検索フォーム */
.searchbar {
	z-index: 1000;
	width: 100%;
}

.pin-top {
  position: relative;
}

.pin-bottom {
  position: relative;
}

.pinned {
  position: fixed !important;
}

.searchfield {
	margin-top: -20px;
}

.container.user_list {
	width: auto;
}

/* 一覧タイルデザイン用 */
.card-panel.search-field {
	margin-top: 0px;
    border-radius: 0px;
    height: 75px;
    padding: 0;
}

.card.x-small {
	height: 230px;
}

.card .card-contents-group {
	padding: 10px;
}

.card .card-contents-group .contents-group-img {
	width: auto;
	height: 60px;
}

.card .card-contents .contents-img {
	width: 100%;
	height: auto;
}

.card .contents-group-menu {
	margin-top:63px;
}

.card .reso {
	margin-bottom: 10px;
}

.card .reso-blank {
	margin-bottom: 32px;
}

/* sortable */
.sortable {
	cursor: move;
}

/* 登録・編集画面 */
.edit-container-lg {
	width: 90%;
	margin: 0 auto;
}

.edit-container-md {
	width: 70%;
	margin: 0 auto;
}

.edit-container-sm {
	width: 50%;
	margin: 0 auto;
}

.edit-container-xs {
	width: 40%;
	margin: 0 auto;
}

.error p {
	margin-bottom: 0px;
	color: #ee6e73;
}
/* ログイン画面注意文 */
.attention p {
	position: relative;
	margin: 0 0.75rem 0.5rem;
}
.attention p.attention_label {
	font-weight: bold;
}
.attention p.caution,
.attention span.caution {
	color: #ee6e73;
	font-weight: bold;
}
.attention p.caution::before ,
.attention p.current_login_id::before {
	content: none;
}
.attention p::before {
	content:"*";
	color: #ee6e73;
	position: absolute;
	right: 100%;
}
form .row {
	margin-bottom: 10px;
}

.checkbox-area .input-field {
	margin-bottom: 0;
}
.checkbox-area .input-field.col label{
	position: relative;
}

/* dataTables */
.dataTables_scrollHeadInner {
	width:100%;
}

.dataTables_scrollBody {
	background-color: #ffffff;
}

.dataTable thead {
	background-color: #fafafa;
	font-size: 12px;
}

.dataTable tbody {
	font-size: 12px;
}

.dataTable tbody tr.selected {
	background-color: #acbad4;
}

.dataTable caption {
	text-align: left;
    margin-bottom: 20px;
}

.dataTable .th-style {
	overflow:hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

table.dataTable {
	border-collapse: collapse;
}

table thead {
	border: none;
}

table td,th {
	border-radius: 0px;
}
table.dataTable.row-border tbody td.left {
	border-top: none;
}

table input[type=text] {
	margin: 0 0 0 0;
	font-size: 12px;
	height: 18px;
}

/* Material icons */
.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  text-transform: none;

  /* WebKit */
  -webkit-font-smoothing: antialiased;
  /* Chrome */
  text-rendering: optimizeLegibility;

  /* Firefox */
  -moz-osx-font-smoothing: grayscale;

  /* IE */
  font-feature-settings: 'liga';
}

/* Material Icon 拡張 */
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }

.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); }

.material-icons.hover:hover {
	color: #aaaaaa;
	cursor: pointer;
}

.material-icons.delete {
	color: #fe6363;
}

.material-icons.delete:hover {
	color: #fe9696;
	cursor: pointer;
}

/* ここから下が新規 */

#top-img-drop, #menu-top-img-drop {
	border:2px dotted #0B85A1;
	color:#92AAB0;
	display: table-cell;
	text-align:center;
	vertical-align:middle;
	padding:10px 10px 10 10px;
	font-size:150%;
	height: 200px;
}

#top-img-drop.drop_zone_type1 {
	height: 300px;
}

#bg_img_drop, #title_img_drop, #main_title_img_drop, #main_img1_drop, #main_img2_drop, .dropzone-custom {
    border: 2px dotted #0B85A1;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    padding: 25px;
    text-align: center;
    font: 20pt bold 'Vollkorn';
    color: #0B85A1;
}

.thumb-img {
	margin-top: 10px;
	text-align: center;
}

.thumb-img .thumb {
	max-width: 400px;
}

#edit_portal.modal, .edit_mainpage.modal, #edit_menu.modal, #edit_menulink.modal {
	width: 80%;
	min-height: 85%;

}

.modal-index {
	font-size: 1rem;
}

.portal_required {
	margin-left: 8px;
	color: #ee6e73;
}

.portal_thumb_bg {
	width:120px;
	position:relative;
}

.portal_thumb {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

/* ポータル作成/編集  */
.colorbox {
	width:80px;
	height:50px;
}

/* ポータル一覧 削除ボタン */
.del_file {
	position: relative;
	cursor: pointer;
	color: #ff5722;
}

.del_file:hover {
	text-decoration: underline;
}

/* 画像推奨サイズ */
.recommended_size {
	color: #6f6f77;
}

.recommended_size_top {
	color: #6f6f77;
	font-size: 14px;
}

/* 下層ページ登録 */
#add_menu_item.modal {
}

.grid figure, .main-img figure {
    position: relative;
    float: left;
    overflow: hidden;
    margin: 0 0;
    width: 100%;
    text-align: center;
    cursor: pointer;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}

.grid figure img, .main-img figure img {
    position: relative;
    display: block;
	height:auto;
    opacity: 0.8;
	margin: 0 auto;
}

.grid figure figcaption, .grid figure figcaption > a, .main-img figure figcaption, .main-img figure figcaption > a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.grid figure figcaption, .main-img figure figcaption {
    padding: 2em;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.25em;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

figure.mainimg figcaption::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: -webkit-linear-gradient(top, rgba(72,76,97,0) 0%, rgba(72,76,97,0.8) 75%);
	background: linear-gradient(to bottom, rgba(72,76,97,0) 0%, rgba(72,76,97,0.8) 75%);
	content: '';
	opacity: 0;
	-webkit-transform: translate3d(0,50%,0);
	transform: translate3d(0,50%,0);
}

figure.mainimg h5 {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	color: #484c61;
	-webkit-transition: -webkit-transform 0.35s, color 0.35s;
	transition: transform 0.35s, color 0.35s;
	-webkit-transform: translate3d(0,-50%,0);
	transform: translate3d(0,-50%,0);
	font-size:20px;
}

figure.mainimg figcaption::before,
figure.mainimg p {
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
}

figure.mainimg p {
	position: absolute;
	bottom: -30px;
	left: 0;
	padding: 2em;
	width: 100%;
	opacity: 0;
	-webkit-transform: translate3d(0,10px,0);
	transform: translate3d(0,10px,0);
}

figure.mainimg:hover h5 {
	color: #fff;
	-webkit-transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
	transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
}

figure.mainimg:hover figcaption::before ,
figure.mainimg:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

.menu-item-img-lg {
	border: solid 30px;
}

.menu-item-img-lg.green-color {
	border-color: #E5F4E6;
}
.menu-item-img-lg.orange-color {
	border-color: #FDEDDC;
}
.menu-item-img-lg.red-color {
	border-color: #F8D5D6;
}
.menu-item-img-lg.blue-color {
	border-color: #ADCFF0;
}
.menu-item-img-lg.purple-color {
	border-color: #FBD6FA;
}

.menu-item-img-lg .menu-item-content {
	font-size:30px;
	padding: 15px;
}

.menu-item-img-sm {
	padding: 15px 20%;
}

.menu-item-img-sm .menu-item-content {
	text-align: center;
	border: solid 20px #ccc;
	font-size: 25px;
	padding: 10px;
}

.menu-item-text-main {
	padding: 10px 10%;
}

.menu-item-text-main .menu-item-content {
	border-left:solid 15px;
	font-size: 30px;
	text-align: left;
	padding: 15px;
}

.menu-item-text-main .menu-item-content.green-color {
	border-color: #59923E;
}
.menu-item-text-main .menu-item-content.orange-color {
	border-color: #f39800;
}
.menu-item-text-main .menu-item-content.red-color {
	border-color: #c30d23;
}
.menu-item-text-main .menu-item-content.blue-color {
	border-color: #2ea7e0;
}
.menu-item-text-main .menu-item-content.purple-color {
	border-color: #b46daa;
}

.menu-item-text-sub {
	padding: 10px 10%;
}

.menu-item-text-sub .menu-item-content {
	font-size:20px;
	text-align: left;
	padding: 15px;
}

.menu-item-text-sub .menu-item-content.green-color {
	color: #105E17;
}
.menu-item-text-sub .menu-item-content.orange-color {
	color: #E36200;
}
.menu-item-text-sub .menu-item-content.red-color {
	color: #c30d23;
}
.menu-item-text-sub .menu-item-content.blue-color{
	color: #0a6abc;
}
.menu-item-text-sub .menu-item-content.purple-color {
	color: #9A4394;
}

.menu-item-textarea {
	padding: 10px 10%;
	height: 150px;
}

.menu-item-textarea .menu-item-content {
	font-size: 20px;
	text-align: left;
	padding: 15px;
}

.menu-item-table {
	padding: 10px 10%;
}

.menu-item-table .table-th {
	border-top:dotted 2px #ccc;
}
.menu-item-table .table-th.green-color {
	background-color: #E0F1E0;
}
.menu-item-table .table-th.orange-color {
	background-color: #FBF2E9;
}
.menu-item-table .table-th.red-color {
	background-color: #FDE9E9;
}
.menu-item-table .table-th.blue-color {
	background-color: #e8f6fc;
}
.menu-item-table .table-th.purple-color {
	background-color: #F5E3F9;
}

.menu-item-table .table-td {
	border-top:dotted 2px #ccc;
}

/* Muuri関連 */
.grid {
  position: relative;
}

.item {
  position: absolute;
  width: 200px;
  z-index: 1;
}

.item.muuri-dragging,
.item.muuri-releasing {
  z-index: 2;
}

.item.muuri-hidden {
  z-index: 0;
}

.item-content {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.item.muuri-dragging .item-content,
.item.muuri-releasing .item-content {
	opacity: 0.6;
}

.lang_name {
	color: #0000c1;
	font-size: 144%;
}

.dataTables_filter input[type=search] { width: 240px }

.portal_select {
	cursor: pointer;
}

#menu_link_form .card {
	border: 4px solid #fff;
}

.selected_portal {
	border: 4px solid #00bcd4 !important;
}

.nav-long-round-button{
	color:#fff;
	border-radius:25px;
	border:2px solid #fff;
	height:40px;
	padding:0 15px;
	margin-right:0 !important;
}

.notes {
	margin-left: 32px;
	color: #616161;
	font-size: small;
}

.user_notes {
	margin-left: 32px;
	color: #ee6e73;
	font-size: small;
}

.select-area {
	display: inline;
	border: 1px solid #9e9e9e;
}

.ratio-text {
	max-width: 100px;
}

/* Tab */
.tabs-nav li {
    background-color: rgb(255, 255, 255);
}

.tabs-nav li .selected {
    padding-bottom: 10px;
    padding: 10px 15px;
    border-radius: 3px 3px 0 0 ;
}

.portal-area {
    border-radius: 10px
}

/* Grid */
.carousel_banner_area_grid {
    position: relative;
    display: grid;
}
.carousel_banner_area_grid [class*="carousel_banner_area"] {
    position: absolute;
    width: 98%;
    height: 120px;
    z-index: 1;
}

.menu_banner_area_grid {
    position: relative;
    display: grid;
}
.menu_banner_area_grid [class*="menu_banner_area"] {
    position: absolute;
    width: 49%;
    height: 440px;
    z-index: 1;
}
.menu_banner_drop {
    width: 400px;
    height: 400px;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    font-size: 150%;
}

.link_banner_area_grid {
    position: relative;
}
.link_banner_area_grid [class*="link_banner_area"] {
    position: absolute;
    width: 98%;
    height: 300px;
    z-index: 1;
}
.link_banner_drop {
    width: 800px;
    height: 260px;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    font-size: 150%;
}

.img_area {
    height: 100px !important;
    object-fit: cover;
}
.thumb_area {
    max-width: 100%;
    max-height: 100px
}

.btn.white-text.btn-large.service_link {
	width: 100%;
	height: 95px;
	padding-top: 35px;
	padding-bottom: 35px;
	text-transform: none;
	line-height: 1.5rem;
	position: relative;
}
.btn.waves-effect.waves-light.white-text.btn-large.service_link.service_link:hover {
	opacity: 0.8;
}
.btn.white-text.btn-large.service_link .img_box {
	width: 100%;
	height: 100%;
	margin: 0;
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	text-align: center;
}
.btn.white-text.btn-large.service_link .img_box img{
	width: auto;
	height: auto;
	margin: auto;
	max-height: 80%;
	max-width: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

ul.user_list{
	margin: 15px 1rem 30px;
}
ul.user_list li{
	margin: 1rem 0 1.5rem;
	line-height: 1.7rem
}
ul.user_list li::before{
	content:"■";
	margin-right: 0.5em;
}
ul.user_list li p{
	margin: 7px 0 10px 1.5em;
}
p.label-text{
	font-size: 0.8rem;
	position: absolute;
	top: -1rem;
	color: #9e9e9e;
	margin: 0;
}
input.radio{
	opacity: 1!important;
	display: inline;
}
.radio-col div{
	display: block;
	height: 3rem;
	margin: 0;
	padding: 0;
	width: auto;
	height: 3rem;
}
.radio-col input[type="radio"]{
	display: inline-block;
	position: static;
	margin: 1rem 0;
}
.radio-col label{
	display: inline-block;
	font-size: 1rem;
	color: #000;
	height: 3rem;
	padding: 1rem 0;
}

/* 初回パスワード変更モーダル */
#security_caution {
	border: 3px solid #ff0000;
}
#security_caution .title {
	font-weight: bold;
	color: #ff0000;
}
#security_caution.modal .modal-footer {
	text-align: center;
}

/* ログインID・パスワード入力必須 */
input.required {
	background-color: #fffacd!important;
}
