@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------------------------------------
　 　reset等
----------------------------------------------------------------------------------------------------------------------------------*/
*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
body {line-height:1;}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { display:block;}
nav ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
del { text-decoration: line-through;}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
/*--------------------------------------------------------------------------------------------------------------------------
　　基本スタイル
--------------------------------------------------------------------------------------------------------------------------*/
html {height: 100%;}
body {
	text-align: center;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

img {
  max-width: 100%;
  height: auto;
}
ul,ol{list-style: none;}

/*--------------------------------------------------------------------------------------------------------------------------
　　フォント
--------------------------------------------------------------------------------------------------------------------------*/
body {
font-family: heisei-mincho-std, serif;
font-weight: 300;
font-style: normal;
	color: #000;
	font-size: 16px;
  line-height:160%;
	letter-spacing: .05em;
    text-align: center;
    position: relative;
	background: #fff;
}

.g_font{
font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}

/*--------------------------------------------------------------------------------------------------------------------------
　　共通
--------------------------------------------------------------------------------------------------------------------------*/
.wrapper{
    width: 100%;
    min-height: 100vh;
    position: relative;
    padding-bottom: 45px;
    box-sizing: border-box;
}
.flex{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
}

.flex_wrap{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.bold{font-weight: bold;}

.a_center{text-align: center;}
.a_left{text-align: left;}
.a_right{text-align: right;}

.relative{position: relative;}

a{
    text-decoration: none;
    cursor: pointer;
}
a.anchor {
    display: block;
    padding-top: 70px;
    margin-top: -70px;
    cursor: none;
}
.indent {
    padding-left: 1em;
    text-indent: -1em;
}
.indent_check {
	padding-left: 1.7em;
    text-indent: -1.7em;
}
.mt60{margin-top: 60px!important;}
.mt30{margin-top: 30px!important;}
.mt15{margin-top: 15px!important;}
.pc_on{display: inline-block!important;}
.sp_on{display: none!important;}
.sp550{display: none!important;}

/*---------- background text shadow color -------------*/
.gold_bk{background: #C39415;}
.blue_bk{background: #032853;}
.gry_bk{background: #f8f8f8;}
.d_gry_bk{background: #505050;}
.menu_bk {background: #596977;}
.yellow_bk{background: #eab400;}
.green_bk{background: #6D9563;}
.light_blue_bk{background: #517290;}
.blue_gry_bk{background: #849bb0;}
.red_bk{background: #B55938;}
.pink_bk{background: #e88282;}
.purple_bk{background: #806aa9;}
.ad_bk{
	background-size: auto auto;
	background-color: #527390;
	background-image: repeating-linear-gradient(90deg, transparent, transparent 35px, #849BB0 35px, #849BB0 38px );
}
.dev_bk{
	background-size: auto auto;
	background-color: #EBE192;
	background-image: repeating-linear-gradient(90deg, transparent, transparent 35px, #F1EAB3 35px, #F1EAB3 38px );
}


.blue_shadow{box-shadow: 0 0 32px #032853;}
.yellow_shadow{box-shadow: 0 0 32px #C39415;}


.gry_text{color: #666;}
.blue_text{color: #0cacb3;}
.red_text{color: #a73a3a;font-size: 88%;font-weight: bold;}
.white_text{color: #fff;}


/*---------- background text end -------------*/

.display_none{display: none!important;}

.err_mess{margin: 15px 0 0;
    padding: 10px;
    border-radius: 3px;
    background: #ffdcdc;
    font-size: 100%;
}
.err_mess:empty{
	margin: 0;
    padding: 0px;
    background: none;
	
}
@media print, screen and (max-width: 999px) { 
.pc_on{display: none!important;}
.sp_on{display: inline-block!important;}
}
@media print, screen and (max-width: 750px) {}
@media print, screen and (max-width: 550px) {
.indent_check {
    padding-left: 2em;
    text-indent: -2em;
}
.sp550{display: inline-block!important;}
}
/*----------------------------------------------------------------------------------------------------------------------------------
	page お客様
----------------------------------------------------------------------------------------------------------------------------------*/
.h1{
	height: 115px;
	justify-content: center;
	align-items: center;
	font-size: 125%;
}
.h1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #032853;
}
.content{
	width: 90%;
	max-width: 550px;
	padding: 80px 0;
	margin: 0 auto;
}
.h2{
	display: inline-block;
	padding: 8px 20px;
	font-size: 110%;
	border-radius: 30px;
}
p.h2{font-size: 120%;}
.hope_list {width: 100%;}
.address_list{padding: 0 0 0 25px;}

.hope_list li,
.address_list li{margin: 0 0 10px;}

.address_list::before{
	content: "〒";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
	padding: 10px 0;
}
.p_p_box{
	width: 100%;
	display: inline-block;
	border-radius: 10px;
	padding: 30px;
	font-size: 100%;
}
.p_p_box ul{margin: 0 0 35px;}
.logo{
    width: 100%;
    max-width: 180px;
    margin: 20px auto 10px;
}
.exp{
	margin: 20px 0 0 0;
/*	font-size: 117%;*/
    font-size: 100%;
    padding: 10px;
    background: #f1eab3;
    border-radius: 5px;
}
.exit{
	padding: 15px;
	font-size: 120%;
	border-radius: 10px;
	line-height: 180%;
	text-align: center;
}
.exit span{
	display: inline-block;
	border: dashed 2px #fff;
	padding: 20px;
	border-radius: 5px;
	width: 100%;
}
.notice_user span{
	padding: 10px;
    border-radius: 5px;
/*	background: #dfeffd;*/
    background: #f1eab3;
}
.notice_daytime{
/*
	    border: solid 6px #032853;
    padding: 20px 0;
    margin: 15px auto;
	color: #032853;
    background: linear-gradient(140deg,#032853 0%,#032853 5%,#C39415 5%,#C39415 95%,#032853 95%,#032853 100%);
*/
    margin: 10px 0 0 0;
    padding: 25px 15px;
    background: #607d8b;
    border-radius: 5px;
    color: #fff;
    border: dashed 2px #fff;
}
.notice_user span,
.notice_daytime span{
	display: inline-block;
	margin: 0 10px;
	font-size: 120%;
}

.logo_text{
	color: #032853;
    padding: 10px;
    border: solid 2px #032853;
    width: 300px;
    margin: 0 auto;
	position: relative;
	z-index: 1;
}
.logo_text::before{ 
    content: "";
    width: 75%;
    display: inline-block;
    background: #c39416;
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: auto;
    height: 8px;
    z-index: -1;
}
.logo_text img{max-width: 100px;}

@media print, screen and (max-width: 750px) {
.p_p_box{font-size: 88%;}
}
@media print, screen and (max-width: 550px) {
	.exit{text-align: left;    padding: 8px;}
.exit,
.h1{font-size: 110%;}
.h2{font-size: 100%;}
.h1:before {
    margin-left: -11px;
    border: 11px solid transparent;
    border-top: 12px solid #032853;
}
	.p_p_box{padding:30px 20px;}
}
/*----------------------------------------------------------------------------------------------------------------------------------
	page 管理画面
----------------------------------------------------------------------------------------------------------------------------------*/
.control_wrapper{
	justify-content: center;
	align-items: center;
}
.control_box{
	width: 90%;
	max-width: 1200px;
	margin: 50px auto;
	background: #fff;
	display: inline-block;
	padding: 70px 0px;
	border-radius: 15px;
	position: relative;
}
.edit_inner,
.control_inner{
	width: 95%;
	max-width: 1050px;
	margin: 0 auto;
	padding: 65px 0 120px;
}
.edit_inner{
	max-width:900px;
	padding: 65px 0;
}
.gry_border{
	border-top: 2px #d9d9d9 dashed;
	border-bottom: 2px #d9d9d9 dashed;
}
.login_box{
	max-width: 660px;
	padding: 90px 0;
	margin: 50px auto;
}

.title{
	width: 100%;
	display: inline-block;
	font-size: 188%;
	padding: 0 0 45px;
    line-height: 150%;
}

.login_box .title {padding: 0 0 65px;}

.line_y{position: relative;}


.line_y::before{
	content: "";
	position: absolute;
	bottom:15px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	max-width: 300px;
	height: 15px;
	border-radius: 10px;
	display: inline-block;
	background: #e4cc0b;}

.login_list{margin: 0 auto 50px;}
.login_list li{margin: 0 auto 20px;}
.btn_list{
	width: 100%;
	justify-content: flex-end;
	margin: 10px 0;
	vertical-align: middle;
}
.btn_list select{border: 1px solid #a0a0a0;}
.space{justify-content: space-between!important;}
.btn_list li{
	display: inline-block;
margin: 0 0 0 1%;
}
.space li{margin:0;}
.space li .select{min-width: 130px;}
.time_list{
	padding: 0 0 0 30px;
	counter-reset: item;
  list-style-type:decimal;
    margin: 20px 0 0 0;
}
.time_list li{
	margin: 10px 0 0 0;
  counter-increment: item;
  content: counter(item)'.';
    color: #517290;
}
.time_list li:empty,
.time_list:empty{display: none;}
.edit_check_list li:first-child .checkitem{margin: 0;}

.sort,
.course{
	align-items: center;
	justify-content: space-between;
/*
	padding: 10px;
    background-color: #f8f8f8;
    background-image: repeating-linear-gradient(-45deg,#fff, #fff 7px,transparent 0, transparent 14px);
	border-radius: 5px;max-width: 500px;    
*/
/*	max-width: 235px;*/
    min-width: 240px;
    max-width: 240px;
}
.sort p,
.course p{
	padding: 10px;
    background: #5badc1;
    border-radius: 3px;
    color: #fff;
}
.sort p{background: #86c15b;}

.sort .select{width: calc(100% - 80px);}
.course .select{width: calc(100% - 115px);}

@media print, screen and (max-width: 750px) {
	.title {
		font-size: 150%;
    padding: 0 0 30px;
	}
	.login_form input[type="text"], .login_form input[type="password"] {
    padding: 15px;
		border-radius: 5px;
	}
	.line_y::before {
		height: 10px;
		bottom: 10px;
	}
	.btn_list {}
}
@media print, screen and (max-width: 550px) {
	.space li{margin: 10px 0 0 0;}
	.space li ul li{margin: 0;}
	 .title {font-size: 125%;}
	.login_box .title {font-size: 150%;}
}

/*----------------------------------------------------------------------------------------------------------------------------------
　 　tab
----------------------------------------------------------------------------------------------------------------------------------*/
.tabs {
  margin-top: 20px;
  background-color: #fff;
  width: 100%;
}
.tab_item {
  width: calc(100%/2);
  height: 50px;
  background: #d9d9d9;
  line-height: 50px;
  text-align: center;
  color: #565656;
	border-bottom: 3px solid #032853;
  display: block;
  float: left;
  font-weight: bold;
  transition: all 0.2s ease;
}
.yellow_shadow .tab_item{ border-bottom: 3px solid #c39416;}

.tab_item:hover {
/*	opacity: 0.75;*/
	cursor: pointer;
}

input[name="tab_item"] {display: none;}

.tab_content {
  display: none;
  clear: both;
  overflow: hidden;
    padding: 20px 20px;
	border-left: solid 3px #032853;
	border-right: solid 3px #032853;
	border-bottom: solid 3px #032853;
}

#tab_list:checked ~ #list_content,
#tab_calendar:checked ~ #calendar_content {display: block;}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
	color: #fff;
	background: #032853;
}

.yellow_shadow .tabs input:checked + .tab_item{    background: #c39416;}
.yellow_shadow .tab_content{
	border-left: solid 3px #c39416;
	border-right: solid 3px #c39416;
	border-bottom: solid 3px #c39416;
}
@media print, screen and (max-width: 750px) {.tab_item {font-size: 88%;}}
/*----------------------------------------------------------------------------------------------------------------------------------
　 　table
----------------------------------------------------------------------------------------------------------------------------------*/
.base_tbl{
	font-size: 100%;
	margin: 0 0 50px;
}
.base_tbl tbody,
.base_tbl td,
.base_tbl th,
.base_tbl tr,
.base_tbl{
	width: 100%;
	display: inline-block;
}
.base_tbl th::before{content:"■";}
.base_tbl th{
	margin: 25px 0 8px;
	font-size: 110%;
}
.base_tbl th span{
	display: inline-block;
	padding: 0 0 0 10px;
	font-size: 78%;
}
.table th,
.table td{
	padding: 10px 15px;
	justify-content: space-between;
	align-items: center;
	vertical-align: middle;
}
.table th{background: #ebebeb;}

.control_tbl{
	width: 100%;
	border: solid 2px #a0a0a0;
	font-size: 100%;
}

.control_tbl thead{border-bottom: solid 2px #a0a0a0;}
.control_tbl tbody tr{border-bottom: solid 1px #d3d3d3;}
.control_tbl tbody td{border-right: solid 1px #d3d3d3;}
.control_tbl tbody td:last-child{border: none;}

.edit_tbl{
    border-collapse: separate;
    border-spacing: 0px 10px;
	margin: 45px 0 ; 
	vertical-align: middle;
}
hr{border: dashed 1px #DEE0DF;}
.edit_tbl th{
	width: 250px;
	vertical-align: middle;
}
.edit_tbl td{width:calc(100% - 250px);}
@-moz-document url-prefix() {
.edit_tbl td{
	max-width:calc(100% - 260px);
}
}
.edit_tbl tr,
.edit_tbl ,
.edit_tbl .select{width:100%;}

.simple_tbl .half,
.edit_tbl .half{
    width: 100%;
    justify-content: space-between;
    align-items: center;
/*    display: inline-block;*/
}
.simple_tbl .half input,
.edit_tbl .half input{
	display:inline-block;
	width: calc(100% - 180px);
}
.simple_tbl .half .select,
.edit_tbl .half .select{
	display:inline-block;
	width: 170px;
}

.simple_tbl{
    width: 100%;
	margin: 45px 0;
	border: solid 2px #b5b5b5;
}
.simple_tbl tr{border-bottom: 1px solid #b5b5b5;}
.simple_tbl th{
	width: 250px;
/*	display: inline-block;*/
    line-height: 40px;
	border-right: solid 2px #b5b5b5;
}
.simple_tbl td{
    width: 100%;
	max-width:calc(100% - 250px);
	display: inline-block;
	text-align: left;
    padding: 15px 20px;
}

.tbl_icon{
	justify-content:flex-end;
	align-items: center;
	width: 100%;
/*	max-width: 350px;*/
	margin: 0 auto;
}
.tbl_icon li{
	display: inline-block;
/*
	width: 30%;
	min-width: 75px;
*/
/*	margin: 0 1.5%; */
    font-size: 88%;
}
.tbl_icon li:last-child{margin: 0;}



.arrow{
	position: relative;
	padding: 10px 35px 10px 15px!important;
}
.arrow::before{
  font-family: "Font Awesome 5 Free";
  content: '\f054';
  font-weight: 900;
	color: #393939;
    font-size: 88%;
	position: absolute;
	right: 5px;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.table_scroll {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

.calendar {
    width: 100%!important;
    margin: 0px auto;
    table-layout: fixed;
	border: solid 2px #a0a0a0;
}
.calendar thead{
    background: #ebebeb;
	border-bottom: solid 2px #a0a0a0; 
    line-height: 35px;
}

.calendar thead tr th,
.calendar tbody tr td{
	border-right: solid 1px #d3d3d3;
	width: 120px;
}
.calendar tbody tr { border-bottom: solid 1px #d3d3d3;}

.calendar tbody tr td{
    text-align: right;
    padding:4px!important;
    vertical-align: top;
}

.calendar thead tr th:last-child,
.calendar tbody tr td:last-child{
        background-color: #D0EAF5;
        color: #0050B4;
}
/*
.calendar thead tr th:first-child,
.calendar tbody tr td:first-child{
*/
.calendar thead tr th:nth-child(2),
.calendar tbody tr td:nth-child(2){
    background-color: #F4D3E1;
    color: #B41F30;
}
.calendar td ul li{
    display: block;
    padding: 0 5px;
    margin: 5px 0;
    background: #ffe9a6;
    border-radius: 3px;
    font-size: 88%;
    height: 25px;
}

.calendar td ul li:empty{background: #f8f8f8;}

.calendar tbody tr td:last-child ul li:empty{background: #def2fb;}
.calendar tbody tr td:nth-child(2) ul li:empty{background: #ffe7f1;}

.calendar tbody tr td:first-child ul li{
    background: #032853;
    font-weight: bold;
    color: #fff;
}
.calendar tbody tr td:first-child ul li:empty{background: #fff;}

.tool {margin: 10px 0;}
.t_btn{
    width: 100%;
    justify-content: space-between;
	align-items: center;
}
.month_text{
    font-size: 200%;
    padding: 0 20px;
    display: inline-block;
}
.prev_button,
.next_button{
    width: 100%;
	color: #fff;
	background: #032853;
	border: #151e27;
	border-radius: 5px;
	max-width: 70px;
	display: inline-block;
	font-weight: bold;
}
.yellow_shadow .prev_button,
.yellow_shadow .next_button{ background: #c39416;}
@media print, screen and (max-width: 750px) {
	.control_tbl{font-size: 88%;}
	.edit_tbl th,
	.edit_tbl td,
	.simple_tbl th,
	.simple_tbl td{
		width: 100%;
		max-width: 100%;
		display: block;
	}
	
	.edit_tbl td{padding: 10px 0;}
	.simple_tbl td{text-align: center;}
	.simple_tbl th {border-right: none;}
}
@media print, screen and (max-width: 550px) {
.base_tbl td{font-size: 88%;}
.base_tbl th{font-size: 100%;}
.edit_tbl .half input,
.edit_tbl .half .select{width: 100%;}
	.edit_tbl .half .select{margin: 10px 0 0;}
}
/*----------------------------------------------------------------------------------------------------------------------------------
　 　form
----------------------------------------------------------------------------------------------------------------------------------*/
.login_form{
	width: 80%;
	max-width: 430px;
	margin: 0 auto;
}
textarea{
	resize: vertical;
	min-height: 200px;}
.resize{
	resize: none;
	min-height: 150px;
	
}

input[type="text"], button, input[type="radio"], select, textarea, input[type="submit"], input[type="file"], input[type="password"], input[type="date"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
    border-radius: 0;
    height: 100%;
    width: 100%;
    padding: 10px;
    border: 2px solid #efefef;
    font-size: 100%!important;
}

.table input[type="text"]{border:solid 2px #ebebeb!important;}

.login_form input[type="text"],
.login_form input[type="password"]{
	padding:20px 15px ;
	border-radius: 10px;
	border: none;
}
.select {
    position: relative;
    display: inline-block;
    width: 100%;
}
.select::after {
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 100%;
    position: absolute;
    color: #000;
    right: 10px;
    top: 12px;
    content: "\f0d7";
}
.login_form::placeholder{font-weight: bold;}
::placeholder{color:#aaa;}
.btn{
	width: 100%;
	border: none;
	border-radius: 5px;
	font-size: 110%;
	font-family: heisei-mincho-std, serif;
	display: inline-block;
	cursor: pointer;
}

.submit_btn{
	margin: 50px auto;
	padding: 20px 0;
}
.han_btn,
.tebiki_btn{
	border: solid 6px #032853;
	padding: 20px 0;
    margin: 0px auto 50px;
	background:linear-gradient(140deg,#C39415 0%,#C39415 5%,#032853 5%,#032853 95%,#C39415 95%,#C39415 100%);
}
.tebiki_btn{margin: 0px auto 20px;}

.login_btn{
	max-width: 270px;
	margin: 0 auto;
	border-radius: 80px;
	padding: 20px 0;
}
.back_btn{
	width: 100%;
	max-width: 60px;
	font-size: 88%!important;
	position: absolute;
	top: 20px;
	left: 20px;
	padding:15px 10px;
	border-radius: 5px;
    height: 45px;
}
.logout_btn{
	width: 100%;
	max-width: 125px;
	font-size: 88%!important;
	position: absolute;
	top: 20px;
	right: 20px;
	padding:15px 10px;
	border-radius: 30px;
    height: 45px;
}
.gold_btn{
	width: 90%;
	max-width: 900px;
	border-radius: 20px;
	padding: 10px;
	margin:  75px auto;
	font-size: 188%;
}
.account_btn,
.developer_btn,
.apartment_btn,
.schedule_down_btn{
	border:solid 2px #fff;
	border-radius: 10px;
	padding: 25px 0;
}
.schedule_down_btn::before{
	  font-family: "Font Awesome 5 Free";
  content: '\f073';
  font-weight: 300;
	padding: 0 10px 0;
}
.add_btn{
	width: 100%;
	max-width: 55px;
	padding: 10px 20px;
}
.delete_btn{
	max-width: 55px;
	margin: 0 0 0 1.5%;
}
.save_btn{
	border-radius: 30px;
	max-width: 200px;
	padding:15px 20px;
}
.check_on{
	height: 0;
	padding: 0px 0px 0px 25px;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}


/* check ーーーー*/
.checkitem{margin: 15px 0 0;}
input[type='checkbox']{ display: none; }
input[type='checkbox'] + label{
  line-height:29px;
  position: relative;
    display: inline-block;
  align-items: center;
  color: #000;
  transition: color 250ms cubic-bezier(.4,.0,.23,1);
    font-size: 100%;
}
input[type='checkbox'] + label > span{
  display: inline-block;
  justify-content: center;
  align-items: center;
  margin:0 6px 0 0;
  width: 22px;
  height: 22px;
  vertical-align: middle;
  background: #fff;
  border: 2px solid #ddd;
  border-radius: 2px;
  cursor: pointer;  
  transition: all 250ms cubic-bezier(.4,.0,.23,1);
 position: relative;
}
input[type='checkbox'] + label > .checkitem{
  border-radius: 5px;
  margin:-14px 10px 2px 0;
}
input[type='checkbox']:checked + label > span{border: 2px solid #a73a3a;}

input[type='checkbox']:checked + label > span:before{
  content: "";
  position: absolute;
    top: 0px;
    left: 0px;
  border-right: 4px solid #a73a3a;
  border-bottom: 4px solid #a73a3a;
  transform: rotate(45deg);
  transform-origin: 0% 100%;
  animation: checkbox-check 125ms 250ms cubic-bezier(.4,.0,.23,1) forwards;
}
input[type='checkbox'] + label > .checkitem{border: 2px solid #000;}

.checkitem #question3:checked ~ .question3,
.checkitem #question5:checked ~ .question5 {
	padding: 10px 0px 10px 25px;
    height: auto;
    opacity: 1;
}
@keyframes checkbox-check{
  0%{
    width: 0;
    height: 0;
    border-color: #a73a3a;
    transform: translate3d(0,0,0) rotate(45deg);
  }
  33%{
    width: .35em;
    height: 0;
    transform: translate3d(0,0,0) rotate(45deg);
  }
  100%{    
    width: .35em;
    height: .65em;    
    border-color: #a73a3a;
    transform: translate3d(0,-.4em,0) rotate(45deg);
  }
}
/* radio ーーーー*/
.search_list li,
.auth_list li{
	display: inline-block;
	vertical-align: middle;
}

.circle_radio{
    font-size: 100%;
    border:none;
    padding: 0px 5px;
    display: inline-block;
    cursor: pointer;
}
.circle_radio input[type=radio]{
	position: relative;
	right: 0;
	bottom: 0;
	left: 0;
	height: 20px!important;
	width: 20px!important;
	vertical-align: -0.7rem;
	transition: all .15s ease-out 0s;
	color: #fff;
	display: inline-block;
	outline: none;
	border-radius: 50%;
    padding: 3px!important;
	margin: .4rem .2rem;
    border: 2px solid #e2e2e2!important;
    background: #fff;
}
.circle_radio input[type=radio]:checked:before{
	transform: scale(1);
	background: #000;
}

.circle_radio input[type=radio]:before{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	transform: scale(0);
	transition: all ease-out 250ms;
    background: #000;
}

.long{max-width: 550px!important;}
.medium{max-width: 250px!important;}
.mini,
.small{max-width: 150px!important;}
.minimini{max-width: 100px!important;}
@media print, screen and (max-width: 999px) {
	.minimini{max-width: 60px!important;}
}
@media print, screen and (max-width: 750px) {
	.search_list {font-size: 88%;}
	.login_btn {padding: 15px 0;}
	.gold_btn{
		font-size: 140%;
    margin: 45px auto;
	}
	.add_btn {padding: 8px 15px;}
}
@media print, screen and (max-width: 550px) {
	.minimini{max-width: 45px!important;}
.mini{max-width: 100px!important;}
.btn{font-size: 88%!important;}
	.gold_btn{
    font-size: 117%;
    line-height: 160%;
    padding: 8px;
    margin: 30px auto;
	}
	.schedule_down_btn::before {
    padding: 0;
    display: block;
    margin: 0 0 15px;
    font-size: 150%;
}
.account_btn,
	.developer_btn,
.apartment_btn,
	.schedule_down_btn{padding: 20px 0;}
	
	.logout_btn {
    max-width: 100px;
    right: 10px;
    padding: 10px;
    height: 40px;
}
	.back_btn {
    max-width: 50px;
    left: 10px;
    padding: 10px;
    height: 40px;
}
	.checkitem{margin: 20px 0 0!important;}
	.checkitem{margin: 20px 0 0!important;}
}

/*----------------------------------------------------------------------------------------------------------------------------------
　 　footer
----------------------------------------------------------------------------------------------------------------------------------*/
.footer{
	width: 100%;
	display: block;
    padding: 10px 0;
    font-size: 100%;
	position: absolute;
    bottom: 0; 
}
/*----------------------------------------------------------------------------------------------------------------------------------
　 　page_top
----------------------------------------------------------------------------------------------------------------------------------*/
.page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10px;
  bottom:55px;
	background: rgba(3, 40, 83, .8);
    transition-duration: 0.3s;
}
.page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
.page_top a::before{
  font-family: "Font Awesome 5 Free";
  content: '\f102';
  font-weight: 900;
  font-size: 140%;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
.page_top:hover {transform: scale(1.1);}

@media print, screen and (max-width: 550px){
	.page_top{
  width: 40px;
  height: 40px;
}
.page_top a{
  width: 40px;
  height: 40px;
}
.page_top a::before{
  font-size: 20px;
  width: 20px;
  height: 20px;
  top: -5px;
}
}

.no_disp{
	display: none;
}