@charset "utf-8";
/* CSS Document */
@font-face { font-family: 'Noto Serif Japanese'; font-style: normal; font-weight: 400; src: url(../fonts/NotoSerifJP-Regular.otf) format('opentype');}
@font-face { font-family: 'Noto Serif Japanese'; font-style: normal; font-weight: 700; src: url(../fonts/NotoSerifJP-Bold.otf) format('opentype');}
.mincho { font-family: 'Noto Serif Japanese'!important; font-weight:400;}

/*----------------------------------------------------------------------------------------------
 default style clear
----------------------------------------------------------------------------------------------*/
* {	margin:0; padding:0;}
html { overflow-y: scroll; -webkit-text-size-adjust: none;}
body, div, dl, dt, dd, ul, li, ol, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	margin:0; padding:0; font-size:100%; font-style:normal; font-weight:normal;
}
img, fieldset {	border:0;}
ol, ul { margin:0;}
li { list-style-position:outside; list-style:none;}
a, a:focus { outline:none; overflow:hidden;}
a { overflow: hidden;}

/* -----------------------------------------------------------------------------------------------------
 default setting
-----------------------------------------------------------------------------------------------------*/
html {}
body {
	font-size: 14px;
	font-family:"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	color:#3e3e3e;
	line-height:1.4;
	min-width:1100px;
	-webkit-text-size-adjust:100%;/* フォントサイズ自動調整 */
}

img { vertical-align:top;}
a { color:#337ab7;}
a:hover { text-decoration:none;}
strong { font-weight:bold;}
hr { border:0; border-top:1px solid #cbcbcb; margin:30px 0 50px;}
hr.type2 { border:0; border-top:3px double #cbcbcb; margin:30px 0 50px;}

/*----------------------------------------------------------------------------------------------
 汎用クラス
----------------------------------------------------------------------------------------------*/
/* clear */
.clear { clear:both;}
.clearfix:after { content:""; display:block; clear:both;}
.fl { float:left;}
.fr { float:right;}
.t-left{ text-align:left;}
.t-right{ text-align:right;}
.t-center{ text-align:center;}
.txLeft { text-align:left!important;}
.txRight { text-align:right!important;}
.txCenter { text-align:center!important;}
.bold { font-weight:bold!important;}

a.over img{ transition:0.3s;}
a.over:hover img{ opacity:0.6;}

.dispIb { display:inline-block;}
.dispTable { display:table;}
.alignleft{ float:left; margin:0 30px 30px 0;}
.alignright{ float:right; margin:0 0 30px 30px;}
.aligncenter{ display:block; margin:0 auto 30px;}

/* マージン*/
.mgt5{ margin-top:5px!important;}
.mgt10{ margin-top:10px!important;}
.mgt15{ margin-top:15px!important;}
.mgt20{ margin-top:20px!important;}
.mgt30{ margin-top:30px!important;}
.mgt40{ margin-top:40px!important;}
.mgt50{ margin-top:50px!important;}
.mgt60{ margin-top:60px!important;}

.mgb0 { margin-bottom:0!important;}
.mgb5 { margin-bottom:5px!important;}
.mgb10{ margin-bottom:10px!important;}
.mgb15{ margin-bottom:15px!important;}
.mgb20{ margin-bottom:20px!important;}
.mgb30{ margin-bottom:30px!important;}
.mgb40{ margin-bottom:40px!important;}
.mgb50{ margin-bottom:50px!important;}
.mgb60{ margin-bottom:60px!important;}

.mgl5{ margin-left:5px!important;}
.mgl10{ margin-left:10px!important;}
.mgl15{ margin-left:15px!important;}
.mgl20{ margin-left:20px!important;}
.mgl30{ margin-left:30px!important;}
.mgl40{ margin-left:40px!important;}

.mgr5{ margin-right:5px!important;}
.mgr10{ margin-right:10px!important;}
.mgr15{ margin-right:15px!important;}
.mgr20{ margin-right:20px!important;}
.mgr30{ margin-right:30px!important;}
.mgr40{ margin-right:40px!important;}

/* 幅*/
.w10par { width:10%;}
.w20par { width:20%;}
.w30par { width:30%;}
.w40par { width:40%;}
.w50par { width:50%;}
.w60par { width:60%;}
.w70par { width:70%;}
.w70par { width:80%;}
.w90par { width:90%;}
.w100par { width:100%;}

.w80 { width:80px;}
.w100 { width:100px;}
.w200 { width:200px;}
.w300 { width:300px;}
.w400 { width:400px;}
.w500 { width:500px;}
.w600 { width:600px;}

/* PCのみの幅*/
pc_W100par { width:100%;}

/*----------------------------------------------------------------------------------------------
 フォーム
----------------------------------------------------------------------------------------------*/
input[type="text"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="email"]{ height:30px; border:1px solid #cbcbcb; padding:0 10px; box-sizing:border-box; vertical-align:top; border-radius:3px; -webkit-appearance: none; }

textarea { border:1px solid #cbcbcb; padding:10px 10px; font-size:1em; box-sizing:border-box; vertical-align:top; border-radius:3px; -webkit-appearance: none;}
label { cursor:pointer;}
button { border:0; font-family:"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; font-size:1em; background:none;}
button:focus { outline:none;}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
textarea:focus{ box-shadow:0px 0px 3px #63c1ec;}

input::-webkit-input-placeholder{ color:#5d5d5d;}
input:-ms-input-placeholder{ color:#5d5d5d;}
input::-moz-placeholder{ color:#5d5d5d;}

ul.formList li { margin-bottom:5px;}
ul.formListInline li { display:inline-block; margin-right:20px; margin-bottom:5px;}

input[type=radio] { display: none; }
input[type=radio]:checked + .radio:before { opacity: 1; }
.radio { box-sizing:border-box; position:relative; display:inline-block; padding-left:23px; vertical-align:middle; cursor:pointer;}
.radio:after { position:absolute; top:50%; left:0; display:block; margin-top:-9px; width:16px; height:16px; border:1px solid #cbcbcb; border-radius:100%; content:'';  background:#fff; transition:0.2s;}
.radio:before { position:absolute; top:50%; left:6px; display:block; margin-top:-6px; width:4px; height:7px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg); -webkit-transform: rotate(45deg); content:''; opacity:0; z-index:1; transition:0.2s;}
input[type=radio]:checked + .radio:after{ border-color:#e94609; background:#e94609;}

input[type=checkbox] { display: none; }
input[type=checkbox]:checked + .checkbox:before { opacity:1; }
.checkbox { box-sizing:border-box; position:relative; display:inline-block; padding-left:23px; vertical-align:middle; cursor:pointer;}
.checkbox:after { position:absolute; top:50%; left:0; display:block; margin-top:-9px; width:16px; height:16px; border:1px solid #cbcbcb; border-radius:3px; content:'';  background:#fff; transition:0.2s;}
.checkbox:before { position:absolute; top:50%; left:6px; display:block; margin-top:-6px; width:4px; height:7px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg); -webkit-transform:rotate(45deg); content:''; opacity:0; z-index:1; transition:0.2s;}
input[type=checkbox]:checked + .checkbox:after{ border-color:#e94609; background:#e94609;}

select { -webkit-appearance:none; -moz-appearance:none; appearance:none; cursor:pointer; height:30px; background:transparent; position:relative; z-index:1; padding: 0 35px 0 10px; border: 1px solid #cbcbcb; background:#fff; font-size:1em; border-radius:3px; }
select::-ms-expand { display:none;}
.selectWrap { position:relative; display:inline-block;}
.selectWrap::before { content:''; position: absolute; z-index:10; border-bottom: solid 2px #333; z-index:10; right:10px; top:50%; margin-top:-5px; height:6px; width:6px; border-right:solid 2px #333; -ms-transform:rotate(45deg); -webkit-transform:rotate(45deg); transform: rotate(45deg);pointer-events: none;}

input[type="text"].form-error,
input[type="password"].form-error,
input[type="number"].form-error,
input[type="email"].form-error,
input[type="tel"].form-error,
select.form-error,
textarea.form-error { border-color:#e70012; box-shadow:0 0 3px #ff8080;}

.hissu { margin-left:10px; color:#e94609; display:inline-block;}

.inputGroup { vertical-align:middle; display:inline-block; line-height:35px;}
.inputGroup input { margin-left:8px;}
.inputAfterLink { display:inline-block; margin-top:4px; margin-left:10px;}

.alertBox { padding:20px; border:2px solid #e70012; color:#e70012; margin-bottom:40px;}
.formDesc { margin-top:5px; color:#888;}
.error-message, .error_message { color:#e94f4d; margin-top:5px;}

.inputShort { width:30%;}
.inputMiddle { width:50%;}
.inputLong { width:100%;}

.alert { padding:15px 20px; border-radius:3px; background:#eee; margin-bottom:30px;position:relative;}
.alert.yellow { background:#f6e5b5;}
.alert.red { background:#f8bebe;}
.alert.green { background:#d6efba;}



.alert.success{ background:#fdf1ee; /*border-left:5px solid #fd6327;*/ color:#fd6327;}
.alert.info{ background:#ebf6ff; /*border-left:5px solid #40a2ed;*/ color:#40a2ed;}
.alert.primary{ background:#f1f8d5; /*border-left:5px solid #a3c227;*/ color:#5F8E0B;}
.alert.warning{ background:#fff8ed; /*border-left:5px solid #ef9413;*/ color:#ef9413;}
.alert.danger{ background:#ffdada; /*border-left:5px solid #dd0000;*/ color:#dd0000;}
.alert .close{ position:absolute; right:10px; font-size:24px; top:50%; color:#444; margin-top:-10px; text-decoration:none; line-height:1;}

.alert_box{ width:998px; margin:25px auto 5px;}


/*----------------------------------------------------------------------------------------------
 テーブル
----------------------------------------------------------------------------------------------*/
/* -----------------------------------------------------------------------------------------------------
 table
-----------------------------------------------------------------------------------------------------*/
table th { vertical-align:top; text-align:left;}
table td { vertical-align:top; text-align:left;}

table.type01{ border-collapse:collapse; border-top:1px solid #d6d6d6; border-right:1px solid #d6d6d6;}
table.type01 th,table.type01 td{ border-left:1px solid #d6d6d6; border-bottom:1px solid #d6d6d6; padding:15px 20px;}
table.type01 th{ background:#f8f8f8; font-weight:bold; text-align:center;}

table.type02{ border-collapse:collapse; border-top:1px dotted #c8c8c8;}
table.type02 th{ border-bottom:1px dotted #c8c8c8; padding:20px; font-weight:bold;}
table.type02 td{ border-bottom:1px dotted #c8c8c8; padding:20px 20px 20px 0;}

.va_mid{ vertical-align:middle;}





.tableType1 { border-top:1px solid #ddd; border-right:1px solid #ddd;}
.tableType1 th, .tableType1 td { padding:15px; border-left:1px solid #ddd; border-bottom:1px solid #ddd; vertical-align:middle;}
.tableType1 th { background:#f5f5f5;}
.tableType1 td { background:#fff;}


.thBold th { font-weight:bold;}
.thLeft th { text-align:left;}

table.center { margin:0 auto;}


.table_deliver { border-top:1px solid #ddd; border-right:1px solid #ddd;}
.table_deliver th, .table_deliver td { padding:10px; border-left:1px solid #ddd; border-bottom:1px solid #ddd; vertical-align:middle;}
.table_deliver th { background:#f5f5f5; white-space: nowrap;}
.table_deliver td { background:#fff;}


/*----------------------------------------------------------------------------------------------
 テキスト装飾
----------------------------------------------------------------------------------------------*/
.txSmall { font-size:85%!important;}
.txMedium { font-size:110%!important;}
.txLarge { font-size:120%!important;}
.txXLarge { font-size:140%!important;}
.txOrange { color:#e94609!important;}
.txRed { color:#e94f4d!important;}
.txGray { color:#bbb!important;}

/*----------------------------------------------------------------------------------------------
 リスト
----------------------------------------------------------------------------------------------*/
ul.disc { margin-left:20px;}
ul.disc li { list-style: disc outside none; margin-bottom:5px;}
ul.square { margin-left:20px;}
ul.square li { list-style: square outside none;}
ul.square.blue li { color:#1b7cc0;}
ul.square.blue li p{ color:#111;}

ol { margin-left:20px;}
ol li { list-style: decimal outside none; margin-bottom: 5px;}

ul.numberList { margin-left:10px;}
ul.numberList li { margin-bottom:10px;}
ul.numberList li .number { font-weight:bold; font-style:italic; margin-right:20px; float:left; font-size:1.2em; line-height:1.4;}
ul.numberList li p { display:table;}
ul.inline {}
ul.inline li { display:inline-block; margin-right:20px; margin-bottom:8px;}

ul.pcColumn2List {}
ul.pcColumn2List li { width:48%; margin-right:2%; display:inline-block; margin-bottom:5px;}
ul.pcColumn2List li:nth-of-type(2n) { margin-right:0;}


/*----------------------------------------------------------------------------------------------
 ボタン
----------------------------------------------------------------------------------------------*/
.btn{
	border-radius:4px;
	display: inline-block;
	padding:10px 15px;
	text-decoration:none;
	vertical-align:middle;
	text-align:center;
	color:#fff;
	cursor:pointer;
	font-family:"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ",Meiryo, sans-serif;
	box-sizing:border-box;
	background:#ccc;
	transition:0.2s;
	border:0;
	font-weight:bold;
	line-height:1;
}
.btn:hover{ background:#ddd;}
.btn.btn_large{ padding:10px 20px; font-size:120%;}
.btn.btn_small{ padding:4px 15px; font-size:90%;}
.btn.btn_block{ display:block;}

.btn.blue{
	background:-webkit-gradient(linear, top, bottom, from(#6cc8f6), to(#52b5f4));
	background:linear-gradient(to bottom, #6cc8f6, #52b5f4);
	background: -webkit-linear-gradient(top, #6cc8f6 0%, #52b5f4 100%);
	}

.btn.blue:hover{
	background:-webkit-gradient(linear, top, bottom, from(#52b5f4), to(#52b5f4));
	background:linear-gradient(to bottom, #52b5f4, #52b5f4);
	background: -webkit-linear-gradient(top, #52b5f4 0%, #52b5f4 100%);
	}
.btn.brown{ background:#583730;}
.btn.brown:hover{ background:#583730;}

.btn.radius{ border-radius:50px; padding-right:35px;}
.btn.radius:hover{ opacity:0.8;}
.btn.radius .arrow{ font-size:20px; position:absolute; right:10px; top:50%; margin-top:-10px;}


.label{ padding:4px 6px; font-size:12px; 
	vertical-align:middle; 
	text-align:center; 
	color:#fff; 
	box-sizing:border-box; 
	background:#555; 
	display:inline-block; 
	line-height:1; 
	border-radius:20px;
}

/*----------------------------------------------------------------------------------------------
 アイコン
----------------------------------------------------------------------------------------------*/
.icon30{ width:30px; height:30px; display:inline-block; background:url(../images/icon30.png) 0 0 no-repeat; vertical-align:middle;}
.icon30.icon_news{ background-position:0 0;}
.icon30.icon_baby{ background-position:0 -30px;}
.icon30.icon_lock{ background-position:0 -60px;}
.icon30.icon_heart{ background-position:0 -90px;}
.icon30.icon_phone{ background-position:0 -120px;}
.icon30.icon_member{ background-position:0 -210px;}
.icon30.icon_info{ background-position:0 -240px;}
.icon30.icon_medical{ background-position:0 -270px;}
.icon30.icon_book{ background-position:0 -300px;}
.icon30.icon_user{ background-position:0 -330px;}
.icon30.icon_file{ background-position:0 -360px;}
.icon30.icon_download{ background-position:0 -390px;}

.icon30.pink{ background-image:url(../images/icon30_pink.png);}
.icon30.blue{ background-image:url(../images/icon30_blue.png);}

.file_icon{ width:25px; height:25px; display:inline-block; background:url(../images/icon_pdf.gif) 0 0 no-repeat; vertical-align:middle; background-size:auto 25px;}
.file_icon.icon_pdf{ background:url(../images/icon_pdf.gif) 0 0 no-repeat; background-size:auto 25px;}
.file_icon.icon_excel{ background:url(../images/icon_xls.gif) 0 0 no-repeat; background-size:auto 25px;}
.file_icon.icon_word{ background:url(../images/icon_doc.gif) 0 0 no-repeat; background-size:auto 25px;}
.file_icon.icon_powerpoint{ background:url(../images/icon_ppt.gif) 0 0 no-repeat; background-size:auto 25px;}


/*----------------------------------------------------------------------------------------------
 width指定
----------------------------------------------------------------------------------------------*/
.w10par{ width:10%!important;}
.w20par{ width:20%!important;}
.w30par{ width:30%!important;}
.w40par{ width:40%!important;}
.w50par{ width:50%!important;}
.w60par{ width:60%!important;}
.w70par{ width:70%!important;}
.w80par{ width:80%!important;}
.w90par{ width:90%!important;}
.w100par{width:100%!important;}
.w100px{ width:100px!important;}
.w150px{ width:150px!important;}
.w200px{ width:200px!important;}
.w300px{ width:300px!important;}
.w400px{ width:400px!important;}
.w500px{ width:500px!important;}

/*----------------------------------------------------------------------------------------------
 その他
----------------------------------------------------------------------------------------------*/
.bg_gray{ background:#f1f1f1;}
.bg_lightgray{ background:#f4f4f4;}
.disp_table{ display:table;}
.tx_indent{ text-indent:-1em; padding-left:1em;}
