@charset "utf-8";
@import url(https://use.fontawesome.com/releases/v5.10.0/css/all.css);
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');


/* --------------------------------------------
全画面共通のクラスを記述するcss
auther:s_taniguci
----------------------------------------------- */

html{
    min-height: 100vh;
}
body{
    height: 100%;
    font-family: 'Kosugi Maru', sans-serif;
    color: rgb(68, 61, 61);
    line-height: 1.6;
    background-color: #60ddce;
  }
  .wrapper{
    max-width: 768px;
    /* height: 989px; */
    height: 920px;
    margin: 2% auto;
    background-color: #f7fdd6;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
  }
main{
    position: relative;
    border-radius: 15px;
    height: 100%;
}
.contents{
    padding: 30px 15px;
}
/* header */
header{
    max-width: 768px;
    background-color: #ffb516;
    border-radius: 10px 10px 0 0;
    color: #fff;
    text-align: center;
    padding: 10px;
    width: 100%;
    z-index: 99;
    height: 55px;
    pointer-events: none;
}
header button{
    position: absolute;
    pointer-events: auto;
}
.header_logo{
    width: 40px;
    text-align: left;
    z-index: 1;
}
.header_logo img{
    width: 100%;
}
/* ハンバーガーメニュー */
.drawer-hamburger{
    position: absolute;
}
.drawer--right.drawer-open .drawer-hamburger{
    right: 0;
}
.drawer-toggle:hover{
    opacity: 1;
}
.drawer--right.drawer-open .drawer-nav{
        opacity: 1;

    height: calc(100% - 58px);
    margin-top: 55px;
    border-radius: 0 0 10px 0;
    transition: 0.5s;
    pointer-events: auto;
    z-index: 3;
}
.drawer--right.drawer-open .drawer-nav a{
    display: block;
}
.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before{
    background-color: #f7fdd6;
}
.drawer-nav{
    background-color: #ffb516 !important;
    position: absolute;
    opacity: 0;
    right: 0 !important;
    pointer-events: none;
}
.drawer-nav a{
    display: none;
}
.drawer-menu-item{
    color: #f7fdd6;
    border-bottom: 1px solid #ff4c16;
    transition: 0.3s all;
    pointer-events: auto;
}
.drawer-menu-item:hover{
    color: #fff;
}
.drawer-menu-inner{
  background-color: #fff;
  display:none;
}
.drawer-menu-inner li{
  border-bottom: 1px dotted #ff4c16;
  padding: 0.5rem;
}
.multiple_menu_ttl{
  cursor: pointer;
}
.multiple_menu_ttl .fa-minus-circle:before{
  content: '\f056'!important;
  font-family: "Font Awesome 5 Free";
}
.multiple_menu p i{
  margin-left: 5px;
}
/* footer */
footer{
    padding: 5px 0 10px 0;
    color: #fff;
    height: 35px;
}
footer p{
    text-align: center;
    font-size: 12px;
}

/* レスポンシブ */
.pc_only{
    display: block;
}
.sp_only{
    display: none;
}
/* ページタイトル */
.page_ttl_area{
    width: 70%;
    margin-bottom: 15px;
    background-color: #60ddce;
    border-radius: 0 30px 30px 0;
}
.page_ttl_area .page_ttl{
    padding: 10px 5% 10px 15px;
    display: block;
    font-size: 20px;
}
.page_ttl_area .page_ttl::before{
    content: "●";
    font-size: 18px;
    color: #f7fdd6;
    margin-right: 7px;
}

/* ボタン */
button,
input[type="button"],
input[type="submit"],
a{
    transition: 0.3s all;
    cursor: pointer;
}
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
a:hover{
    opacity: 0.8;
}
a{
    color: #ff4c16;
    font-weight: bold;
}
.btn_area{
    margin: 20px auto;
    text-align: center;
}
.btn_area button,
.btn_area a,
.btn_area input
{
    margin: 5px auto;
}
.btn_area_r{
    margin: 20px auto;
    text-align: right;
}
.btn_area_l{
    margin: 20px auto;
    text-align: left;
}
/* 実行、登録,ログインなどの基本ボタン */
.main_btn{
    background-color: #ff4c16;
    color: #fff;
    padding: 8px 35px;
    width: 180px;
    font-size: 18px;
    border-radius: 5px;
}
/* 戻る、キャンセルボタン */
.return_btn{
    background-color: #707070;
    color: #fff;
    width: 180px;
    padding: 8px 35px;
    font-size: 18px;
    border-radius: 5px;
}
/* 入力フォーム */
input[type="text"],
input[type="password"],
input[type="month"],
input[type="date"],
input[type="datetime-local"],
input[type="number"],
input[type="time"]
{
    border: 2px solid #ff855f;
    background-color: #FFFFCA;
    border-radius: 3px;
    text-align: left;
    padding: 3px;
    width: 100%;
    margin: 10px 0;
    min-height: 33px;

}
input[type="month"],
input[type="date"],
input[type="datetime-local"]{
    min-height: 2rem;
}
input[type="text"]::placeholder,
input[type="password"]::placeholder
{
    font-size: 12px;
    color: #ff855f;
}
input[type="month"],
input[type="date"],
input[type="datetime-local"],
input[type="number"],
input[type="time"]
{
    width: 200px;
    color: #ff855f;
    font-size: 14px;
}
textarea{
    border: 2px solid #ff855f;
    background-color: #FFFFCA;
    border-radius: 3px;
    text-align: left;
    padding: 3px;
    width: 100%;
    margin: 10px 0;
}

/* numberのスピナーカスタム */
/* デフォルト装飾消す：Chrome/Safari */
.input_spinner input[type="number"]::-webkit-outer-spin-button,
.input_spinner input[type="number"]::-webkit-inner-spin-button{
    -webkit-appearance: none;
}
.input_spinner input[type="number"]{
    -moz-appearance: textfield;
}
.input_spinner button{
    padding-top: 3px;
}
.input_spinner button i{
    font-size: 36px;
}
.input_spinner .inc_btn i{
    color: #fe0000;
}
.input_spinner .dec_btn i{
    color: #22b6a4;
}
/* range */
input[type=range] {
    /* -webkit-appearance:none; */
    background:#22b6a4;
    height:12px;
    width:240px;
    border-radius:8px;

  }
   input[type=range]::-webkit-slider-thumb{
    -webkit-appearance:none;
    background:#ff4c16;
    height:18px;
    width:18px;
    border-radius:50%;
  }
  input[type=range]::-ms-tooltip{
      display:none;

  }
  input[type=range]::-moz-range-track{
      height:0;

  }
  input[type=range]::-moz-range-thumb{
    background:#ff4c16;
    height:18px;
    width:18px;
    border:none;
    border-radius:50%;
  }
.month_scale{
    width: 240px;
    display: flex;
    justify-content: space-between;
    margin-top: -6px;
    opacity: 0.5;
}
.month_scale p{
    font-size: 12px;
    width: 20px;
    text-align: center;
    color: #ff4c16;
    line-height: 1;
}
.month_scale span{
    color: #22b6a4;
    font-size: 8px;
}
/* つまみふたつver */
.slidebar-multithumb {
    position: relative;
    width: 240px;
    height: 20px;
    display: block;
    background: #22b6a4;
    border-radius: 5px;
  }
.slidebar-multithumb input[type="range"] {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    height: 20px;
    border-radius: 3px;
    /* box-shadow: 0 0 5px rgb(0 0 0 / 20%); */
}
.slidebar-inputabled ::-webkit-slider-thumb{
    pointer-events: auto!important;
}
.slidebar-disabled ::-webkit-slider-thumb{
    pointer-events: none!important;
    background-color: #e1e6de!important;
    border: none !important;
}
.slidebar-multithumb ::-webkit-slider-thumb {
    pointer-events: auto;
    cursor: pointer;
    /* つまみ部分を長方形にする */
    -webkit-appearance: none;
    width: 10px!important;
    height: 25px!important;
    border-radius: 0px !important;
    position: relative;
    /* background: #000 !important; */
  }


  /* 最初のつまみを上にする(順番をわかりやすくするため) */
  .thumb-1 {
    z-index: 1;
  }
  .thumb-2 {
    z-index: 0;
  }
  .thumb-2::-webkit-slider-thumb{
    -webkit-appearance:none;
    background:#fff!important;
    border: 1px solid #ff4c16;
  }
  .thumb-2::-moz-range-thumb{
    background:#fff!important;
    height:18px;
    width:18px;
    border:none;
    border-radius:50%;
  }
  /* .slidebar-multithumb .thumb-2 ::-webkit-slider-thumb,
  .slidebar-multithumb .thumb-2 ::-moz-range-thumb{
      background: #000 !important;
  } */

  /* つまみの溝の背景。thumb-1をnoneにすることで後ろのthumb-2が表示される */
  .thumb-1::-webkit-slider-runnable-track {
    background: none;

  }

/* ラジオボタン */
input[type="radio"]{
    display: none;
}
.radio_btns label {
    position: relative;
    padding-left: 25px;
  }
.radio_btns input[type=radio] + label::before {
    position: absolute;
    content: '';
    display: block;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #ff855f;
    left: 0;
    top: 0;
}
.radio_btns input[type=radio] + label::after {
    position: absolute;
    content: '';
    display: block;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #ff855f;
    left: 2px;
    top: 2px;
    opacity: 0;
    transition: .3s;
}
.radio_btns input[type=radio]:checked + label::after {
    opacity: 1;
}
/* チェックボックス */
input[type="checkbox"]{
    display: none;
  }
  .check_box{
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
  }
  .check_box_br{
      display: block;
  }
  .check_box label{
    cursor: pointer;
    display: block;
    margin-bottom: 3px;
  }
  .checkbox-parts{
    padding-left: 20px;
    position:relative;
    margin-right: 20px;
    white-space:nowrap;
  }
  .checkbox-parts::before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    border: 1px solid #ff855f;
    border-radius: 4px;
  }
  .checkbox-input:checked ~ .checkbox-parts::after{
    content: "";
    display: block;
    position: absolute;
    top: -3px;
    left: 5px;
    width: 7px;
    height: 14px;
    transform: rotate(40deg);
    border-bottom: 3px solid #ff855f;
    border-right: 3px solid #ff855f;
  }

/* チェックボックス ver2 */
.check_container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}

.check_container label {
  display: block;
  position: relative;
  margin: 3px;
  padding: 5px 10px 5px 32px;
  border: 3px solid #fff;
  border-radius: 100px;
  color: #fff;
  background-color: #22b6a4;
  box-shadow: 0 0 5px rgba(0, 0, 0, .2);
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  transition: background-color .2s, box-shadow .2s;
}

.check_container label::before {
  content: '';
  display: block;
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 10px;
  width: 15px;
  height: 15px;
  border: 3px solid #fff;
  border-radius: 100px;
  transition: background-color .2s;
}

.check_container input:checked ~ label {
  background-color: #ff4c16;
}

.check_container input:checked ~ label::before {
  background-color: #fff;
}

/* セレクトボックス */
.select_box {
	overflow: hidden;
    position: relative;
    width: 200px;
}
.select_box select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
    border: 2px solid #ff855f;
    background-color: #FFFFCA;
    border-radius: 3px;
    text-align: left;
    padding: 3px;
    margin: 10px 0;
    color: #ff855f;
    font-size: 14px;
}
.select_box select::-ms-expand {
    display: none;
}
.select_box::before {
	position: absolute;
	top: 1em;
	right: 1.2em;
	width: 0;
	height: 0;
	padding: 0;
	content: '\f107';
    color: #ff855f;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
	pointer-events: none;
}
/* セレクトボックス2 */
.dropholder{
    width: 240px;
    height: 40px;
    border-radius:10px;
    font:18px arial;
    color: #fff;
    box-sizing:border-box;
    position: relative;
    font-family: 'Kosugi Maru', sans-serif;
  }
  .dropholder:hover, .dropholder:hover:after{
    animation-play-state:paused;
  }
  .dropholder:after{
    content:"";
    position: absolute;
    width: 250px;
    height: 5px;
    background:rgba(0,0,0, 0);
    display: block;
    top:100px;
    left:37px;
    margin: auto;
    border-radius:50%;
  }
  .dropholder p{
    float: left;
    line-height:37px;

  }
  .dropdown > p{
    font-size:16px;
    padding-left: 15px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 490px;
  }
  .dropdown, .dropholder{
    background:linear-gradient(#7cfff0 ,#22b6a4);
    background: #22b6a4;
  }
  .dropdown{
    float: left;
    width: 240px;
    border-radius:10px;
    cursor: pointer;
    height:42px;
    position: relative;
    box-shadow: 0 0 5px rgb(0 0 0 / 20%);
    border: 3px solid #fff;
  }
  .dropdown:hover{
    background: #22b6a5c5;
  }
  .dropdown:after{
    content:"\f13a";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 16px;
    position: absolute;
    right:15px;
    top:10px;
    display: block;
  }

  .drop_menu{
    position: absolute;
    right:0;
    top: 43px;
    width: 240px;
    max-height: 350px;
    cursor: pointer;
    opacity:0;
    transform-style: preserve-3d;
    transform:rotatey(180deg) rotateX(5deg) translatey(100px);
    backface-visibility: hidden;
    background: #22b6a4;
    border:3px solid #fff;
    border-radius:10px;
    transition:all 0.8s;
    z-index:8;
	overflow-x: hidden;
    overflow-y: scroll;
    box-shadow: 0 0 5px rgb(0 0 0 / 20%);
    pointer-events: none;
  }
  .drop_menu li{
    padding: 10px 10px;
    border-bottom:1px dotted #fff;
    color:#e8f8ff;
    transition:all 0.3s;
  }
  .drop_menu li:hover{
    background:#ff4c16;
    padding-left:20px;
  }
  .drop_menu li:last-child{
    border:none;
  }

  .showMenu{
     opacity:1;
    transform:rotateX(0deg) translatey(0px);
    pointer-events: auto;
  }
  .drop_menu li > i{
    float: left;
    padding-top: 3px;
    padding-right: 8px;
  }
  .dropholder p > i{
   position: relative;
   top:2px;
  }
  .dropholder i{
    opacity: 0.8;
  }
  .dropholder_wide,
  .dropholder_wide .dropdown,
  .dropholder_wide .drop_menu
  {
    width: 100%!important;
  }
/* 範囲波線(～)、コロン(：) */
.wavy_line,.insert_cron{
    margin: 0 5px;
}
/* スクロールバー */
/* スクロールバー全体 */
.contents ::-webkit-scrollbar {
	width: 10px;
  }
/* スクロールバーの軌道 */
.contents ::-webkit-scrollbar-track {
	background: #f7fafc;
	border-radius: 10px;
  }
/* スクロールバーの動く部分 */
.contents ::-webkit-scrollbar-thumb {
	background: #ff855f;
	border-radius: 10px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
	height: 50px;
  }
/* テーブル */
.table_area{
    width: 100%;
    margin: 0 auto;
  }
.table_area table{
    width: 100%;
}
.table_area table tr th,
.table_area table tr td{
  padding: 10px 15px;
  vertical-align: middle;
  text-align: left;
}
/* エラーメッセージ */
.red_text{
    color: #fe0000;
}
.error_list{
    font-size: 13px;
    color: #fe0000;
    margin: 5px 0;
    text-align: left;
}
.error_list li{
    padding: 0 5px;
}
.error_list li i{
    margin-right: 5px;
}
/* サクセスメッセージ */
.success_list{
    font-size: 13px;
    color: #12d152;
    margin: 10px 0;
    text-align: left;
}
.success_list li{
    padding: 0 5px;
}
.success_list li i{
    margin-right: 5px;
}
/* --------------------------------------------
ローディングアニメーション
https://digipress.info/tech/css-spinner-animation-demo/
----------------------------------------------- */
.spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transform-origin: center;
            transform-origin: center;
    width: 120px;
    height: 120px;
  }

  /* Loading テキスト */
  .spinner span {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    font-size: 12px;
  }
  .spinner.type1 {
    border-radius: 50%;
    border-width: 8px;
    border-style: solid;
    border-color: #fff rgba(255, 255, 255, 0.12) rgba(255, 255, 255, 0.12);
    /* ローディング要素のアニメーションを指定 */
    -webkit-animation: spinner1_1 1.5s infinite linear forwards;
            animation: spinner1_1 1.5s infinite linear forwards;
  }
  .spinner.type1 span {
    /* Loading テキストのアニメーションを指定 */
    animation: spinner_loading_text 1.5s infinite linear forwards reverse;
  }
  _::-webkit-full-page-media, _:future, :root .spinner.type1 span {
    display: none;
}
  /* ローディング要素のアニメーション内容 */
  @-webkit-keyframes spinner1_1 {
    0% {
      -webkit-transform: translate(-50%, -50%) rotate(0);
              transform: translate(-50%, -50%) rotate(0);
    }
    100% {
      -webkit-transform: translate(-50%, -50%) rotate(360deg);
              transform: translate(-50%, -50%) rotate(360deg);
    }
  }

  @keyframes spinner1_1 {
    0% {
      -webkit-transform: translate(-50%, -50%) rotate(0);
              transform: translate(-50%, -50%) rotate(0);
    }
    100% {
      -webkit-transform: translate(-50%, -50%) rotate(360deg);
              transform: translate(-50%, -50%) rotate(360deg);
    }
  }

  /* Loading テキストのアニメーション内容 */
  @-webkit-keyframes spinner_loading_text {
    0% {
      opacity: 1;
      -webkit-transform: translate(-50%, -50%) rotate(0deg);
              transform: translate(-50%, -50%) rotate(0deg);
    }
    50% {
      opacity: 0;
      -webkit-transform: translate(-50%, -50%) rotate(180deg);
              transform: translate(-50%, -50%) rotate(180deg);
    }
    100% {
      opacity: 1;
      -webkit-transform: translate(-50%, -50%) rotate(360deg);
              transform: translate(-50%, -50%) rotate(360deg);
    }
  }
  @keyframes spinner_loading_text {
    0% {
      opacity: 1;
      -webkit-transform: translate(-50%, -50%) rotate(0deg);
              transform: translate(-50%, -50%) rotate(0deg);
    }
    50% {
      opacity: 0;
      -webkit-transform: translate(-50%, -50%) rotate(180deg);
              transform: translate(-50%, -50%) rotate(180deg);
    }
    100% {
      opacity: 1;
      -webkit-transform: translate(-50%, -50%) rotate(360deg);
              transform: translate(-50%, -50%) rotate(360deg);
    }
  }
  .box{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    -webkit-transition: all 1.2s ease; /* 1.2秒でフェードアウト */
            transition: all 1.2s ease;
    color: #fff; /* ローディングアニメーションカラー */
    background-color: #60ddce; /* 背景カラー */
  }
  .loaded{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
/* --------------------------------------------
共通:モーダルウィンドウ
*画像のみライブラリ(lity)使用
----------------------------------------------- */
/* https://www.tipdip.jp/tips_posts/production/2090/ */
.modal_bg{
    position: fixed;
    width: 100%;
    height: 120%;
    background-color: #000;
    opacity: 0.8;
    top: 0;
    left: 0;
    display: none;
    z-index: 6666;
}

.modal_box {
    position: fixed;
    z-index: 7777;
    display: none;
    width: 80%;
    max-width: 768px;
    margin: 0;
    padding: 30px 2vw;
    border-radius: 5px;
    text-align: center;
    background: #f7fdd6;
    box-sizing: border-box;
    margin: 0 auto;
    max-height: 80vh;
    min-height: 50vh;
    overflow-y: scroll;
    overflow-x: hidden;
}
.memo_modal_area{
  width: 100%;
  height: 100%;
  position: relative;
}
.modal_close{
    right: 10px;
    position: absolute;
    top: 15px;
    color: #60ddce;
    font-size: 26px;
    cursor: pointer;
}
.modal_close:hover{
    opacity: 0.8;
}
.modal_exp{
    color: #ff4c16;;
    margin: 20px 0 40px 0;
}
.modal_box .modal_table_area{
    width: 100%;
    word-break: break-all;
}

/* スクロールバー全体 */
.modal_box::-webkit-scrollbar {
	width: 10px;
  }
/* スクロールバーの軌道 */
.modal_box::-webkit-scrollbar-track {
	background: #f7fafc;
	border-radius: 10px;
  }
/* スクロールバーの動く部分 */
.modal_box::-webkit-scrollbar-thumb {
	background: #ff4c16;
	border-radius: 10px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
	height: 50px;
  }
  /*--------------------------------------
   TOPに戻るボタン
   --------------------------------------*/
#page_top{
    width: 50px;
    height: 50px;
    position: fixed;
    right: 0;
    bottom: 0;
    background: #ffb516;
    opacity: 1;
    border-radius: 50%;
    z-index: 4;
    display: none;
  }
#page_top a{
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}
#page_top a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f102';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -15px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}
/*--------------------------------------
エラーページ
--------------------------------------*/
.error_page_area{
    max-width: 450px;
    margin: 10px auto;
}
.error_page_area img{
    width: 100%;
}
.error_page_text_area{
    padding: 0 10px;
}
.error_page_text{
    font-size: 16px;
}
.error_page_text i{
    margin-right: 5px;
}

/* -----------------------------------------------
タブレットサイズ以下
-------------------------------------------------- */

@media screen and (max-width:768px){
    .wrapper{
        margin: 0;
        border-radius: 0;
        box-shadow: none;
    }
    main{
        border-radius: 0;
    }
    header{
        border-radius: 0;
    }
    .drawer--right.drawer-open .drawer-nav{
        border-radius: 0;
    }
    .modal_box{
        width: 90%;
        max-height: 90vh;
    }
    .page_ttl_area{
        min-width: 40%;
    }
}
/* -----------------------------------------------
スマホサイズ以下
-------------------------------------------------- */

@media screen and (max-width:414px){
	#login{
		height: 100%;
	}
    #login main{
        min-height: 100vh;
    }
    main{
        height: 100%;
    }
    .pc_only{
        display: none;
    }
    .sp_only{
        display: block;
    }
    header{
        position: sticky;
        top: 0;
        z-index: 99;
    }
    .wrapper{
        height: auto;
        min-height: 94vh;
    }
    .contents{
        padding: 10px 5px;
    }
    .drawer-nav{
        width: 100%;

    }
    .drawer--right.drawer-open .drawer-nav{
        height: 100vh;
  		overflow: scroll;
    }
    .page_ttl_area{
        width: 80%;
    }
    #page_top{
        display: block;
    }
    .memo_modal_btn{
      bottom:1%;
      margin: 5px;
      display: block;
    }
	.dropdown > p{
		max-width:80vw;
	}
}
@media screen and (max-width:280px){
  .dropdown,.dropholder,.drop_menu,.dropholder:after{
    width: 220px;
  }

}

/* -----------------------------------------------
チェックボックス(スイッチタイプ)
-------------------------------------------------- */
/* 年月のメモリがずれないようにするため */
.month_scale_wrap{
	display:inline-block;
}

.switch_checkbox_label {
	display: inline-block;
	*display: inline;
	*zoom:1;
	position: relative;
	z-index: 2;
	vertical-align: top;
	width: 50px;
	height:23px;
	border-radius: 5px;
	margin: 5px 5px 5px 0;
	padding: 5px;
	cursor: pointer;
	overflow: hidden;
	background-color: #cfcfcf;
	color: white;
	-webkit-transition: background-color .4s ease;
	-moz-transition: background-color .4s ease;
	-ms-transition: background-color .4s ease;
	-o-transition: background-color .4s ease;
	transition: background-color .4s ease;
}
.switch_checkbox_label .switch_yes,
.switch_checkbox_label .switch_no {
	position: absolute;
	text-indent: -999em;
	height: 20px;
	width: 20px;
	background-repeat: no-repeat;
}
.switch_checkbox_label .switch_no {
	margin-top: -4px;
	right: 2px;
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUM1RDY0NDE2RDhGMTFFMjgxM0ZCNTVDNUM0QjlEREIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUM1RDY0NDI2RDhGMTFFMjgxM0ZCNTVDNUM0QjlEREIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxQzVENjQzRjZEOEYxMUUyODEzRkI1NUM1QzRCOUREQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxQzVENjQ0MDZEOEYxMUUyODEzRkI1NUM1QzRCOUREQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ppxje+AAAAF/SURBVHjaYvz//z8DNQETA5XB4DeQBV2AkZERRDEDMRsQgwL4FxD/Q3IASByk6DcQ/0GPAxYsloAUcwOxGJT/Gog/Q9k8QCwKNfgNEH9Esgynl0EGcty7d6/n6NGjZUC2NBDzQQ2T2r59ezZQrjs/P18MqhYVgJyMjEGKLl26ZPcfCoAG9AHF9IBYG8SGid+8eTMApBZDPxYDwWH46dOnhTDNGzdunFxeXp4L43/8+HERLLiINRAEWN+9e7cEZMDPnz+/gDCI/ePHj0t79uwRx+lDfAYmJyfrfPjw4SbMZSB2QkKCLjSmsRqIKx2Ckg3/gwcPRP/9+wdXA2I/fPgQFBmCOFII9kiBxqre/fv3D4Fc9ufPn48gDGIDg+G2m5ubHVBegNhIAblIDGjYephXnzx5Eg+KeZihwGSzAahGAuQTYgxkvHr1qi3MsDdv3uRBLWECsdGSDROxkcL0/fv36q9fv2ahJX4mYJKJAsb43HPnzoliCzLG0fKQYgAQYAAqwK1lMkf1cgAAAABJRU5ErkJggg==');
}
.switch_checkbox_label .switch_yes {
	margin-top: -3px;
	left: 4px;
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUM1RDY0M0Q2RDhGMTFFMjgxM0ZCNTVDNUM0QjlEREIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUM1RDY0M0U2RDhGMTFFMjgxM0ZCNTVDNUM0QjlEREIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxQzVENjQzQjZEOEYxMUUyODEzRkI1NUM1QzRCOUREQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxQzVENjQzQzZEOEYxMUUyODEzRkI1NUM1QzRCOUREQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrTLJacAAAGWSURBVHjaYvz//z8DCDAyMjKQAECKmYAYpPkfzAwQYGEgHTADMTcQcwHxTyD+AsS/YZJMJBrGCDVMds6cOeH+/v5qQDY7igqQc5GdTABwALHyuXPnVgD1/H/16tVOIJ8HZgbYHBIMBPlGDOiy/P9Q8PHjxy1AMVZyDAR5lQeIdb58+fIcZNifP38+Hj16VAckh89AkCvYoBg5fEF8OaABs2Cue/nyZRNMDS4D4QEOxApAzA/VAMLCOTk5ATDDvn//fhk5MnAZCA6jDRs2VG/fvr0PyNYCYl6oVzWeP39+Dmbg7du3/aEOwGsg46pVq4xhmo4cOTIbKAZKFkq7du3qgYkDY3YKevrFGYZr166V/Pv37weY5pqamkwLCwu/X79+fYZFxPLly6XQYwxfpDDeu3fPD2bg58+fXwC9dwzGv3//fiK2zEAo2TC9fv268T8a+Pr162FobDOQaiAIsALT2yaYYchpjlwDGfbs2SMONOgBNEfU4cv3ROeUJ0+eCP/48cMNl8uwGchIQsHAQGyGH2EGAgQYANGzvfuxqx8aAAAAAElFTkSuQmCC');
}

.switch_checkbox_label .switch_toggle {
	content: " ";
	width: 22px;
	height: 19px;
	border-radius: 3px;
	display: block;
	position: absolute;
	overflow: hidden;
	z-index: 3;
	left: 2px;
	top: 2px;
	background: transparent;
	transform: translateX(1px);
	-webkit-transition: -webkit-transform 0.3s ease;
	-moz-transition: -moz-transform 0.3s ease;
	-ms-transition: -ms-transform 0.3s ease;
	-o-transition: -o-transform 0.3s ease;
	transition: transform 0.3s ease;
	background-image: linear-gradient( white 0%, #e7e7e7 100% );
}
.switch_checkbox_label.switch_on {
	background-color: #22b6a4;
}
.switch_checkbox_label.switch_on .switch_toggle {
	transform: translateX(23px);
}
.switch_checkbox_label.switch_focus {
	outline: 0;
	box-shadow: 0 1px 15px rgba(0,0,0,0.1) inset, 0 1px 4px rgba(0,0,0,0.1) inset, 1px -1px 2px rgba(0,0,0,0.1), 0 0 8px rgba(82,168,236,1), 0 0 1px 1px rgba(0,0,0,.75) inset;
}

.switch_checkbox_label.switch_replaced{
	position: absolute; left: -9999em;
}

.pre_text{
	white-space:pre-wrap;
}