@charset "utf-8";

  *{
      box-sizing: border-box;
      margin: 0;
      padding: 0;
  }

  a.back_b:link { color: #FFFFFF; }
  a.back_b:visited { color: #EEEEEE; }
  a.back_b:hover { color: #EEEEEE; }

  #wrapper {
  	width: 100%;
  	max-width: 800px;
    min-height: 100vh;
    height: 100%;
  	margin: 0 auto;
  	background: #cccccc;
  }

  #header {
  	width: 100%;
  	margin: 0 auto;

  }

  /** タブ切り替え **/

  .tab_area .tab_btn_parent{
      box-sizing: border-box;
      display: table;
      table-layout: fixed;
      width: 100%;
      border-bottom: 2px solid #262626;
  }

  .tab_area .tab_btn_parent .tab_btn_children{
      box-sizing: border-box;
      display: table-cell;
      vertical-align:middle;
      text-align: center;
      padding: 5px;
      background-color: #919191;
      color: #FFF;
      font-weight: bold;
      cursor: pointer;
  }

  .tab_area .tab_btn_parent .tab_btn_children.radius{
      border-radius: 10px 10px 0 0;
  }

  .tab_area .tab_btn_parent .tab_btn_children.selected{
      position: relative;
      background-color: #262626;
  }

  .tab_area .tab_btn_parent .tab_btn_children.rolling.selected:before{
      position: absolute;
      left: 0;
      right: 0;
      top: -25px;
      content: '▼';
      font-size: 20px;
      color: #262626;
      animation: roll 2s linear infinite;
  }

  .tab_area .tab_show_parent{
      padding: 10px;
      background-color: #fff;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  }

  .tab_area .tab_show_parent > div{
      display: none;
  }

  @keyframes roll{
      from {
          transform: perspective(500px) rotateY(0deg);
      }
      50%{
          transform: perspective(500px) rotateY(180deg);
      }
      to{
          transform: perspective(500px) rotateY(360deg);
      }
  }

  input.form_text {
      border-radius: 5px;
      -webkit-appearance: none;
      border: 1px solid #ccc;
      padding: 10px;
      margin: 5px 10px;
      height: 40px;
      width: 90%;
      font-size: 1.2em;

  }

  select.form_select {
      border-radius: 5px;
      padding: 8px;
      margin: 5px 10px;
      height: 45px;
      width: 90%;
      font-size: 1em;
  }

  input.submit_button {
      border-radius: 10px;
      padding: 15px;
      margin: 30px 10px;
      height: 60px;
      width: 90%;
      font-size: 1.2em;
      background-color: #262626;
      color: #fff;
      border-style: none;
      cursor: pointer;
  }

  input.submit_edit_button {
      border-radius: 10px;
      padding: 15px;
      margin: 30px 0px;
      height: 60px;
      width: 100%;
      font-size: 1.2em;
      background-color: #eb5252;
      color: #fff;
      border-style: none;
      cursor:pointer;
  }

  /** タブ切り替え　ここまで **/


  /** カレンダーの表示関係 **/

  #Calendar_frame {
  	width: 100%;
  	margin: 0 auto;
    background: #cccccc;
  }

  #Calendar_head {
  	padding : 2%;
  	float: left;
  	width: 100%;
  	height: 90px;
  }
  #Calendar_body {
  	padding : 2%;
    background-color: #cccccc;
    float: left;
  	width: 100%;
  }

  #Profile_status {
    margin : 0px 0px 50px;
  	width: 100%;
    float: left;
    padding: 2%;
    background-color: #262626;
    color: #fff;
  }

  #Main_contents {
  	padding : 2%;
    float: left;
  	width: 100%;
  }

  #Main_footer {
    background-color: #cccccc;
  	padding : 2%;
    float: left;
  	width: 100%;
  }

  #Calendar_head_today{
  	text-align: center;
  	float: left;
  	margin-top: 5px;
  	width: 71%;
  	height: 70px;
  }

  /*モーダル内のdiv*/
  #Cal_schedule{
  	width: 80vw;
  	max-width: 600px;
    height: 73vh;
    max-height: 520px;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  #Cal_schedule::-webkit-scrollbar {  /* Chrome, Safari 対応 */
      display:none;
  }



  .Cal_edit_button {
    height: 60px;
  	width: 100px;
    line-height: 55px;
    text-align: center;
  }

  .Cal_edit_button :hover {
  	border-color: #eb5252;
    background: #eb5252;
    color: #ffffff;
  }

  .Cal_edit_button a {
  	height:100%;
  	width: 100%;
    border-radius: 10px;
    border-style: solid;
    border-color: #ffaaaa;
    color: #ffaaaa;
  	display:block;
    font-size: 125%;
  	text-decoration: none;
  	border-radius: 10px;
  }

  .Return_button {
    height: 50px;
  	width: 100px;
    line-height: 45px;
    text-align: center;
  }

  .Return_button :hover {
  	border-color: #262626;
    background: #262626;
    color: #ffffff;
  }

  .Return_button a {
  	height:100%;
  	width: 100%;
    border-radius: 10px;
    border-style: solid;
    border-color: #262626;
    color: #262626;
  	display:block;
    font-size: 125%;
  	text-decoration: none;
  	border-radius: 10px;
  }

  select.sub_select {
      border-radius: 5px;
      padding: 2px;
      /*margin: 5px 10px;*/
      height: 30px;
      width: 40%;
      max-width: 80%;
      font-size: 1em;
      text-align: center;

  }


  .Calendar_date {
  	position: relative;
  	width: 13.35%;
    border-radius: 10px;
    text-align: center;
    height: 110px;
    margin: 0.46%;
    float:  left;
  	background: #dddddd;
  }

  .Calendar_date a {
  		position: absolute;
  		top: 0;
  		left: 0;
  		height:100%;
  		width: 100%;
  		display:block;
  		text-decoration: none;
  		border-radius: 10px;
  }

  .Calendar_date a:hover {
  		background-color: #ffffff;
  		opacity: 0.5;
  		transition:0.2s;
  }

  .Calendar_empty {
  	position: relative;
  	width: 13.35%;
    border-radius: 10px;
    text-align: center;
    height: 110px;
    margin: 0.46%;
    float:  left;
  	background: #cccccc;
  }

  .article {
  	float:  left;
  	line-height: 60px;
  	text-align: center;
  	border-radius: 10%;
  	width: 13.35%; /* 横幅 */
  	height: 70px;
  	margin: 0.46%;
  }

  .article a {
  		-moz-box-sizing: border-box;
  		box-sizing: border-box;
  		display:block;
  		text-decoration: none;
  		border-radius: 10px;
  		color: #000000;


  }
  .article a:hover {
  		background-color: #262626;
  		color:#ffffff;
  		transition:0.5s;
  }

  /** カレンダーの表示関係　ここまで **/

  .fade {
    border: 1px solid transparent;
    border-top: 1px dashed #bbb;
    height: 1px;
  }

  #msg_block {
  	width: 100%;
  	max-width: 500px;
  	margin: 0 auto;
    border-radius: 10px;
    border-style: solid;
    border-color: #262626;
    background: #ffffff;
    text-align: center;
  }

  /*期間指定*/

  input[type="date"] {
    position: relative;
    padding: 0 10px;
    margin : 10px 10px 10px 0px;
    border: 2px solid #ffffff;
    border-radius: 15px;
    width: 40%;
    max-width: 200px;
    height: 36px;
    background: #ffffff;
    box-sizing: border-box;
    font-size: 14px;
    color: #262626;
  }

  input.submit_button_term {
      border-radius: 10px;
      margin : 10px 0px 10px 10px;
      padding: 5px;
      height: 36px;
      width: 150px;
      font-size: 1.0em;
      background-color: #262626;
      color: #fff;
      float: right;
      border-style: none;
      cursor: pointer;
  }

  .submit_button_term :hover {
    border-color: #787878;
    color: #ffffff;
  }

  input[type="date"]::-webkit-inner-spin-button{
    -webkit-appearance: none;
  }

  input[type="date"]::-webkit-clear-button{
      -webkit-appearance: none;
  }
  /*期間指定　ここまで*/

  /** モーダルウィンドウ表示関係 **/
  .content{
      margin: 0 auto;
      padding: 4%;
  }
  .modal{
      display: none;
      height: 100vh;
      position: fixed;
      top: 0;
      width: 100%;
  }
  .modal__bg{
      background: rgba(0,0,0,0.5);
      height: 100vh;
      position: absolute;
      width: 100%;
  }
  .modal__content{
      background: #fff;
      left: 50%;
      padding: 4%;
      position: absolute;
      top: 50%;
      transform: translate(-50%,-50%);

  /** モーダルウィンドウ表示関係　ここまで **/
