@charset "UTF-8";

body{
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}


img{
	max-width:100%;
	height:auto;
}

/* アスペクト比で表示 */
.ratio-div{
	position:relative;
	padding-bottom:56.25%;/* 16:9 */
	height:0;
	overflow:hidden;
}
.ratio-div .content,
.ratio-div iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}


.pointer{	cursor:pointer;	}
.underline,
.underline-link a:link{
	text-decoration:underline;
}


/* flexbox
---------------------------------------------------------------------------------------------------- */
/*
.flex-container > *{ border:1px solid black; }
.flex-container > *:nth-child(odd){ background-color:#ffccff; }
.flex-container > *:nth-child(even){ background-color:#ffffcc; }
*/
.flex-container{
	display:mx-flex;
	display:   flex;
}
.flex-container.flex-reverse{
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
     -ms-flex-direction: row-reverse;
         flex-direction: row-reverse;
}
.flex-container.flex-align-center{
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}
.flex-container.flex-justify{
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
}
.flex-container.flex-wrap{
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}



/* ----------------------------------------------------------------------------------------------------
* フォント
---------------------------------------------------------------------------------------------------- */
.bold{	font-weight:bold;	}
/* color
---------------------------------------------------------------------------------------------------- */
.color-white{
	color:#FFFFFF;
}
.color-black{
	color:#000000;
}
.male,
.sat{
	color:#000099;
}
.female,
.sun,
.holiday{
	color:#990000;
}
.note{
	font-size:85%;
	color:#555555;
}
.notice{
	color:#DD0000;
	font-weight:bold;
	margin:.1rem;
}
/* size
---------------------------------------------------------------------------------------------------- */
.font50per {	font-size: .5rem;	}
.font60per {	font-size: .6rem;	}
.font70per {	font-size: .7rem;	}
.font80per {	font-size: .8rem;	}
.font90per {	font-size: .9rem;	}
.font110per{	font-size:1.1rem;	}
.font120per{	font-size:1.2rem;	}
.font130per{	font-size:1.3rem;	}
.font140per{	font-size:1.4rem;	}
.font150per{	font-size:1.5rem;	}
.font160per{	font-size:1.6rem;	}
.font170per{	font-size:1.7rem;	}
.font180per{	font-size:1.8rem;	}
.font190per{	font-size:1.9rem;	}
.font200per{	font-size:2.0rem;	}
/* width
---------------------------------------------------------------------------------------------------- */
.w100per{	width:100%;	}
.w90per {	width:90%;	}
.w80per {	width:80%;	}
.w75per {	width:75%;	}
.w70per {	width:70%;	}
.w60per {	width:60%;	}
.w50per {	width:50%;	}
.w40per {	width:40%;	}
.w30per {	width:30%;	}
.w25per {	width:25%;	}
.w-auto {	width:auto;	}
/* 幅100%
---------------------------------------------------------------------------------------------------- */
/* 幅100% */
.max-width,
.max-width-image img,
.max-width-item > *{
	max-width:100%;
	height:auto;
}
.stretch-width,
.stretch-width-image img,
.stretch-width-item > *{
	width:100%;
	max-width:100%;
	height:auto;
}
.stretch-textarea textarea{
	width:100%;
	max-width:100%;
}


/* ----------------------------------------------------------------------------------------------------
* 余白
---------------------------------------------------------------------------------------------------- */
/* margin
---------------------------------------------------------------------------------------------------- */
.mb05em{	margin-bottom:.5rem;	}
.mb1em{	margin-bottom:1rem;	}
.mb2em{	margin-bottom:2rem;	}
.mb3em{	margin-bottom:3rem;	}
.mt05em{	margin-top:.5rem;	}
.mt1em{	margin-top:1rem;	}
.margin05em{	margin:.5rem;	}
.margin1em{	margin:1rem;	}
/* padding
---------------------------------------------------------------------------------------------------- */
.padding05em{	padding:.5rem;	}
.padding1em{	padding:1rem;	}


/* ----------------------------------------------------------------------------------------------------
* レイアウト
---------------------------------------------------------------------------------------------------- */
/* text-align
---------------------------------------------------------------------------------------------------- */
.al{	text-align:left;	}
.ac{	text-align:center;	}
.ar{	text-align:right;	}
/* vercical-align
---------------------------------------------------------------------------------------------------- */
.valign-top{	vertical-align:top;	}
.valign-middle{	vertical-align:middle;	}
.valign-bottom{	vertical-align:bottom;	}
/* float
---------------------------------------------------------------------------------------------------- */
.fl{	float:left;	}
.fr{	float:right;	}
.clear{	clear:both;	}
/* display
---------------------------------------------------------------------------------------------------- */
.hidden{	visibility:hidden;	}
.overflow-hidden{	overflow:hidden;	}
.none{	display:none;	}
.inline-list li,
.inline{	display:inline;	}
.block{	display:block;	}
.inline-block-list li,
.inline-block{	display:inline-block;	}
/* position
---------------------------------------------------------------------------------------------------- */
.static{	position:static;	}
.relative{	position:relative;	}
.absolute{	position:absolute;	}
.fixed{	position:fixed;	}



/* 横並びリスト */
.cell-list-wrap{
	/*width:100%;*/
}
.cell-list-wrap .cell-box{
	float:left;
}
.cell-list2 > .cell-box{	width:50%;	}
.cell-list3 > .cell-box{	width:33.3%;	}
.cell-list4 > .cell-box{	width:25%;	}
.cell-list5 > .cell-box{	width:20%;	}
.cell-list6 > .cell-box{	width:16.66%;	}
.cell-list12 > .cell-box{	width:8.33%;	}
.cell-list2 > .cell-box:nth-of-type(2n+1),
.cell-list3 > .cell-box:nth-of-type(3n+1),
.cell-list4 > .cell-box:nth-of-type(4n+1),
.cell-list5 > .cell-box:nth-of-type(5n+1),
.cell-list6 > .cell-box:nth-of-type(6n+1),
.cell-list12 > .cell-box:nth-of-type(12n+1){
	clear:both;
}



.radius{
	border-radius:3em;
}

/* ----------------------------------------------------------------------------------------------------
* ボタン
---------------------------------------------------------------------------------------------------- */
.btn{
	border:none;
	padding:1rem;
	line-height:1;
	cursor:pointer;
	text-align:center;
	display:inline-block;
	font-weight:bold;
}
.btn.default{
	cursor:default;
}
.btn.block{
	display:block;
}
.btn.btn-small{
	font-size:90%;
	padding:.5rem;
}
.btn.btn-large{
	font-size:120%;
	padding:1.25rem 3rem;
}
.btn:not(.current):not(.default):hover{
	opacity:.85;
}
.btn.btn-2x{padding-right:2.0rem;padding-left:2.0rem;}
.btn.btn-3x{padding-right:3.0rem;padding-left:3.0rem;}
.btn.btn-4x{padding-right:4.0rem;padding-left:4.0rem;}
.btn.btn-2y{padding-top:2.0rem;padding-bottom:2.0rem;}
.btn.btn-3y{padding-top:3.0rem;padding-bottom:3.0rem;}



.cell-list-wrap.toggle-bt-wrap{
	border:1px solid #DEDEDE;
	background-color:#FFF;
	overflow:hidden;
}
.cell-list-wrap.toggle-bt-wrap .cell-box.btn{
	border-right:1px solid #DEDEDE;
}
.cell-list-wrap.toggle-bt-wrap .cell-box.btn:last-child{
	border-right:none;
}

/* pagination */
.pagination{
	_text-align:center;
	letter-spacing:-.40rem; /* 文字間を詰めて隙間を削除する */
}
.pagination a,
.pagination span{
	letter-spacing:normal; /* 文字間を通常に戻す */
	display:inline-block;
	border:1px solid #EEE;
	margin:0 .25rem;
	padding:.25rem;
	border-radius:.2rem;
}
.pagination a{
	text-decoration:none;
}
.pagination .disabled{
	color:#DDD;
}
.pagination .current{
	font-weight:bold;
	border-color:#999;
}




/* ----------------------------------------------------------------------------------------------------
* テーブル
---------------------------------------------------------------------------------------------------- */
/* テーブル */
.table th,
.table td{
	border:1px solid #DEDEDE;
}
.table2 th,
.table2 td{
	border-top:1px solid #DEDEDE;
	border-bottom:1px solid #DEDEDE;
}
.table th{
	background-color:#EDEDED;
}
.table.table-block{
	border:1px solid #DEDEDE;
	border-top:none;
}
table.table-block th,
table.table-block td{
	width:100%;
	display:block;
}
table.table-block th{
	background-color:#F9F9F9;
	text-align:left;
	border-left:none;
	border-right:none;
}
table.table-block td{
	background-color:#FFF;
	border:none;
}
table.table-block input[type="text"]{
	max-width:100%;
}
.table.table-border th,
.table.table-border td{
	border:1px solid #DEDEDE;
}
.table.th30per th{
	width:30%;
}

/* zebra
---------------------------------------------------------------------------------------------------- */
.table-zebra tbody tr:nth-of-type(odd),
.zebra-list .zebra-item:nth-of-type(odd),
.odd,
.odd td,
.odd td.even{
	background-color:#FFFFFF;
}
.table-zebra tbody tr:nth-of-type(even),
.zebra-list .zebra-item:nth-of-type(even),
.even,
.even td{
	background-color:#F9F9F9;
}


/* ----------------------------------------------------------------------------------------------------
* box
---------------------------------------------------------------------------------------------------- */
.box{
	_box-sizing:border-box;
	overflow:hidden;
	padding:1rem;
	margin-bottom:1rem;
	margin-top:1rem;
}
/*.box:not(.mb0){
	margin-bottom:1rem;
}*/
.box.small{
	padding:.5rem;
	margin-top:.5rem;
	margin-bottom:.5rem;
}
/*.box.small:not(.mb0){
	margin-bottom:.5rem;
}*/
.box.border{
}
/* border-box
---------------------------------------------------------------------------------------------------- */
.box.border{
	background-color:#FFFFFF;
	_border:1px solid #DEDEDE;
}
/* login-box
---------------------------------------------------------------------------------------------------- */
.box.login{
	text-align:center;
	padding:3rem;
	_padding-top:5rem;
	max-width:800px;
	_margin:0 auto 5rem;
	margin:5rem auto;
	/*width:60%;
	max-width:80%;
	margin:7rem auto 3rem;*/
	background-color:#FFFFFF;
}
/*.box.login .logo{
	display:block;
	margin:3rem;
}
.box.login .logo img{
	max-width:70%;
}*/
.box.login input{
	margin-bottom:1.5rem;
	width:100%;
	max-width:100%;
}
.box.login .logo img{
	width:50%;
}
.box.login .auto-login{
}
.box.login .auto-login input[type="checkbox"]{
	width:auto;
	margin-bottom:0;
	margin-right:.5em;
}
.box.login .btn{
	/*padding:1rem;
	margin-bottom:1.5rem;
	font-size:100%;
	width:100%;
	width:60%;
	max-width:80%;*/
}

/* title
---------------------------------------------------------------------------------------------------- */
.box-header{
	_border-bottom:1px solid #DEDEDE;
	padding:1rem;
	margin:-1rem -1rem 1rem;
}
.box.small .box-header{
	padding:.5rem;
	margin:-.5rem -.5rem .5rem;
}
.box-header .title{
	font-weight: bold;
}
.box .box-header .title{
	_font-size:120%;
}
.box.small .box-header .title{
	font-size:110%;
}
.box .box-header:first-child{
	_padding-top:.2rem;
}
.box .box-header:not(:first-child){
	margin-top:3rem;
	border-top:1px solid #DEDEDE;
}
/* 
---------------------------------------------------------------------------------------------------- */
/*.box-header .title{
	font-size:110%;
	font-weight:normal;
}
.box-header{
	border-bottom:none;
}
*/
.box-header{
	position:relative;
}
.box-header .moreinfo{
	position:absolute;
	right:.7rem;
	bottom:.6rem;
}
a.moreinfo{
	padding:.3rem;
	font-size:120%;
	color:#999;
	display:inline-block;
}

hr.space1em{
	margin:1rem 0;
}
hr.space2em{
	margin:2rem 0;
}







.acd-check:checked + .acd-label + .acd-content{
	padding:0 .5rem 1rem;
	display:block;
	height:auto;
}
.acd-content{
	_transition:.5s;
}
.acd-check{
	display:none;
}
.acd-label{
	display:inline-block;
	position:relative;
}
.acd-check:checked + .acd-label .fa{
	-webkit-transform:rotate(45deg);
	   -moz-transform:rotate(45deg);
	    -ms-transform:rotate(45deg);
	     -o-transform:rotate(45deg);
	        transform:rotate(45deg);
}
.acd-content{
	overflow:hidden;
}
.acd-content{
	height:0;
}






/* ----------------------------------------------------------------------------------------------------
* メッセージ窓
---------------------------------------------------------------------------------------------------- */
.info-window{
	padding:1rem;
	border:1px solid #FFFFFF;
}
.info-window:not(.mb0){
	margin-bottom:1rem;
}
.info-window.red,
.info-window.annotation{
	background-color:#FCECEC;
	border-color:#C54444;
}
.info-window.red,
.info-window.red .underline-link{
	color:#C54444;
}
.info-window.yellow{
	background-color:#F5F3BA;
	border-color:#C7A20D;
}
.info-window.yellow,
.info-window.yellow .underline-link{
	color:#796616;
}
.info-window.green{
	background-color:#E8F7D3;
	border-color:#64A307;
}
.info-window.green,
.info-window.green .underline-link{
	color:#64A307;
}
.info-window.blue{
	background-color:#DEF4F9;
	border-color:#5290A3;
}
.info-window.blue,
.info-window.blue .underline-link{
	color:#5290A3;
}

/* ----------------------------------------------------------------------------------------------------
* フォーム
---------------------------------------------------------------------------------------------------- */
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="mail"],
textarea,
select{
	padding:.5rem;
	border:1px solid #DEDEDE;
	outline:0;
}
/* label-item
---------------------------------------------------------------------------------------------------- */
.form-label-item{
	padding:.75rem 1rem;
	margin-right:.5rem;
	margin-bottom:.5rem;
	display:inline-block;
	border:1px solid #DEDEDE;
	cursor:pointer;
}
.form-label-item{
	cursor:pointer;
}
.form-label-item:hover,
.form-label-item.checked{
  background-color:#E2EDD7;
}
.form-label-item input[type="radio"],
.form-label-item input[type="checkbox"]{
	vertical-align:middle;
	cursor:pointer;
	margin-right:.2rem;
}

/* select-field
---------------------------------------------------------------------------------------------------- */
.select-field{
	position:relative;
	border:none;
	margin:0;
	padding:0;
}
.select-field:after{
	display:block;
	content:"▼";
	position:absolute;
	pointer-events:none;
	font-size:80%;
	width:2rem;
	height:2rem;
	top:.8rem;
	right:-.2rem;
}
.select-field select{
	position:relative;
	width:100%;
	max-width:100%;
	min-height:1px;
	-webkit-appearance:none;
	   -moz-appearance:none;
	        appearance:none;
	cursor:pointer;
	outline:0;
	border:1px solid #DEDEDE;
	background-color:#FFF;
	padding-right:1.5rem;
/*
	height:24px;
	height:34px;
	padding:0 2rem 0 0.5rem
*/
}



/* ----------------------------------------------------------------------------------------------------
* CSS3
---------------------------------------------------------------------------------------------------- */
/* border-radius
---------------------------------------------------------------------------------------------------- */
/*.box.border,
.box.login,
.info-window{
	box-shadow:0px 6px 3px -3px rgba(0, 0, 0, 0.1);
	border-radius:.3rem;
}*/

/* ----------------------------------------------------------------------------------------------------
* 
---------------------------------------------------------------------------------------------------- */
/* 
---------------------------------------------------------------------------------------------------- */



/* ----------------------------------------------------------------------------------------------------
* レスポンシブ対応
---------------------------------------------------------------------------------------------------- */
/* 768px未満：スマホ
---------------------------------------------------------------------------------------------------- */
@media screen and (max-width:767px) { 
	.table.sp-table th,
	.table.sp-table td{
		display:block;
		width:100%;
	}
	.sp-stretch-width-form input,
	.sp-stretch-width-form textarea{
		width:100%;
		max-height:100%;
		margin-bottom:.5rem;
	}
	.sp-w100per{
		width:100%;
	}
	.sp-hidden{
		display:none;
	}
}
/* 768px以上：PC・タブレット
---------------------------------------------------------------------------------------------------- */
@media screen and (min-width:768px) {
	.pc-hidden{
		display:none;
	}
}

