﻿@charset "utf-8";
/*
=======================================
	Reset CSS
=======================================
*/
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, main, menu, nav, section, summary,
time, mark, audio, video{
	margin:0;
	padding:0;
}

article,aside,details,figcaption,figure,
footer,header,main,menu,nav,section{
	display:block;
}

* {
	box-sizing: border-box;
}

html{
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
}

body{
	overflow-x: hidden;
	color: #444;
	font-size: 1.4em;
	font-family:"メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS P Gothic",Helvetica,Arial,sans-serif;
	line-height: 1.85;
}

img{
	border:0;
	max-width:100%;
	height:auto;
}

ul,ol{list-style-type:none;}

table {
	border-collapse: collapse; 
	border-spacing: 0;
}

img, input, select, textarea { 
	vertical-align: middle;
}

span, small, strong, em {
	color: inherit;
}
:before,
:after {
	box-sizing: inherit;
}

a{
	text-decoration: underline;
}
a:hover{
	text-decoration: none;
}

a:hover img{
	opacity: 0.7;
	filter: alpha(opacity=70);
}
.ios a:hover img {
	opacity: 1;
}


/*
=========================================
	Base Layout
=========================================
*/

/*Container
---------------*/
.container {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
}
.container:after {
	content: "";
	display: block;
	clear: both;
}
@media screen and (min-width: 1280px) {
	.container {
		padding: 0;
	}
}

/*full width*/
@media screen and (max-width: 768px) {
	.sp-full {
		margin-left: -20px;
		margin-right: -20px;
	}	
}

/*Contents
---------------*/
.contents {
	overflow-x: hidden;
}

/*Header
---------------*/
.header {
	margin-bottom: 20px;
	padding: 15px 0 0 0;
}
@media screen and (min-width: 769px) {
	.header{
		margin-bottom: 45px;
	}
}
.idx .header {
	margin-bottom: 0;
	padding-bottom: 5px; /* org:15px; 2018/11/30 kuwana */
}
.logo {
	line-height: 1.2;
}
.logo-img {
	display: block;
	height: 50px; /* org:60px; 2018/11/30 kuwana */
}
.logo-img img {
	/*max-width: none; コメント化 2017/05/11 kuwana*/
	width: auto;
	max-height: 100%;
}
.logo-img a:hover img {
	opacity: 1;
}
.logo-txt {
	color: #444;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
}
@media screen and (max-width: 768px) {/* add 2018/01/11 kuwana */
	.logo-img img {
	    /*width: calc( 100% - 50px ); 正方形のロゴの場合おかしくなったのでコメント化 2018/02/14 kuwana */
        width: auto;
    }
}

@media screen and (min-width: 769px) {
	.logo {
		display: table;
		table-layout: fixed;
	}
	.logo-img,
	.logo-txt {
		display: table-cell;
		vertical-align: middle;
	}
	.logo-txt {
		padding-left: 20px;
	}	
}

/*menu (for SP)
---------------*/
/*function menu*/
a[class^="menu-btn"] {
	color: #444;
	text-decoration: none;
}
a[class^="menu-btn"]:hover {
	color: #444;
	opacity: 0.7;
}

/*logout btn*/
.menu-btn-logout {
	display: none;
	position: absolute;
	right: 80px;
	top: 0;
	width: 80px;
	height: 60px;
	padding: 40px 3px 3px 3px;
	background: #fff;
	text-align: center;
	font-size: 11px;
	font-size: 1.1rem;
	cursor: pointer;
}
.menu-btn-logout:before {
	content: "\e901";
	display: block;
	font-family: 'icomoon' !important;
	font-size: 30px;
	font-size: 3.0rem;
	position: absolute;
	left: 30px;
	top: 0;	
}
.menu .menu-btn-logout {
	display: block;
	top: 15px;
}

/*open btn*/
.menu-btn-open {
	position: absolute;
	right: 10px;
	top: 0;
	width: 60px;
	height: 60px;
	padding: 40px 3px 3px 3px;
	background: #fff;
	text-align: center;
	font-size: 11px;
	font-size: 1.1rem;
	cursor: pointer;
}
.menu-btn-open:before {
	content: "\e902";
	display: block;
	font-family: 'icomoon' !important;
	font-size: 30px;
	font-size: 3.0rem;
	position: absolute;
	left: 12px;
	top: 0;	
}

/*close btn*/
.menu-btn-close {
	position: absolute;
	right: 10px;
	top: 20px;
	width: 60px;
	height: 60px;
	padding: 40px 3px 3px 3px;
	background: #fff;
	text-align: center;
	font-size: 11px;
	font-size: 1.1rem;
	cursor: pointer;
}
.menu-btn-close:before{
	content: "\e900";
	display: block;
	font-family: 'icomoon' !important;
	font-size: 30px;
	font-size: 3.0rem;
	position: absolute;
	left: 12px;
	top: 0;	
}

/*menu list*/
.menu {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
	width: 100%;
	height: 100%;
	padding-top: 70px;
	background: rgba(255,255,255,0.9);
    overflow:scroll;/* add 2017/02/28 kuwana */
}
.menu-list a,
.menu-list .cntnsBanner a, /* add 2017/02/08 kuwana */
.menu-list .cntnsImgBanner a /* add 2017/02/16 kuwana */{
	display: block;
	padding: 15px 20px;
	color: #444;
	text-decoration: none;
	text-align: center;
	font-size: 19px;
	font-size: 1.9rem;
}
.menu-list {
	margin: 10px 20px 0;
	padding-top: 10px;
	border-top: 1px solid #ccc;
}

@media screen and (min-width: 900px) {
	.header .logo {
		float: left;
		margin-right: 30px;
	}
	.header .menu {
		float: left;
		display: block;
		position: static;
		width: auto;
		height: auto;
		padding-top: 0;
		border-left: 1px solid #ccc;
        overflow:hidden;/* add 2017/02/28 kuwana */
	}
	.menu-list {
		margin: 0;
		padding: 0;
		border-top: 0;
	}
	.menu-list li {
		display: inline-block;
		border-right: 1px solid #ccc;
	}
	.menu-list li.is-current a {
		font-weight: bold;
	}
	.menu-list a {
		padding: 10px 30px;
		font-size: 14px;
		font-size: 1.4rem;
	}	
	.menu-btn-logout {
		right: 20px;
	}
	.menu-btn-close {
		display: none !important;
	}
}



/*Main / Side
---------------*/
@media screen and (min-width: 769px) {
	.contents:after {
		content: "";
		display: block;
		clear: both;
	}
	.main {
		float: right;
		width: 74.21875%;
		padding-bottom: 80px;
	}
	.side {
		float: left;
		width: 20.3125%;
	}
}


/*Footer
---------------*/
.footer {
	margin-top: 80px;
	padding: 40px 0 20px;
	border-top: 1px solid #ccc;
}
.footer .container{
	position: relative;
}
/*privacy policy*/
.privacy-link a {
	color: #000;
}
/*pagetop btn*/
.pagetop {
	position: absolute;
	left: 0;
	right: 0;
	top: -90px;
}
.pagetop a {
	display: block;
	overflow: hidden;
	margin: auto;
	width: 45px;
	height: 0;
	padding-top: 45px;
}
.pagetop a:before {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	border-top: 1px solid #444;
	border-left: 1px solid #444;
	position: absolute;
	left: 0;
	right: 0;
	top: 40%;
	margin: 0 auto;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
/*footer copyright*/

@media screen and (min-width: 769px){
	.footer {
        margin-top: 30px;/* add 2017/01/30 kuwana */
		padding: 40px 0;
	}
	.footer-inner {
		display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
	}

	.pagetop {
		left: auto;
		right: 20px;
	}
	.pagetop a {
		width: 90px;
		padding-top: 90px;
	}
	.pagetop a:before {
		width: 40px;
		height: 40px;
		top: 0;
	}
}

/*
==========================================
	Modules
==========================================
*/
/*grids
---------------*/
.row {
	margin-bottom: 10px;
}
.row:after {
	content: "";
	display: block;
	clear: both;
}
@media screen and (min-width: 769px) {
	/*2columns*/
	.col-half {
		float: left;
		width: 49%;
		margin-right: 2%;
	}
	.col-half:nth-child(2n){
		margin-right: 0;
	}
	/*3columns*/
	.col-third {
		float: left;
		width: 32%;
		margin-right: 2%;
	}
	.col-third:nth-child(3n){
		margin-right: 0;
	}
}

/*arrow icon
---------------*/
.ico-arw-r:after {
	content: "";
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	margin: 0 5px;
	border-top: 3px solid #000;
	border-right: 3px solid #000;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*button
---------------*/
.btn {
	-webkit-appearance: none;
	appearance: none;
	border: none;
	display: block;
	width: 100%;
	padding: 10px;
	background: #444;
	color: #fff;
	text-align: center;
	font-size: 16px;
	font-size: 1.6rem;
	cursor: pointer;
}
.btn:link,
.btn:visited,
.btn:hover,
.btn:active {
	color: #fff;
	text-decoration: none;
}

/*1 column center button layout*/
@media screen and (min-width: 769px) {
	.btn-center .btn,
    .btn-center .active_btn /* add 2017/01/30 kuwana */{
		max-width: 320px;
		margin: 0 auto;
	}	
}

/*user-box
---------------*/
.user-box {
	margin: 0 0 20px 0;
	padding: 5px;
	background: #f5f5f5;
}
.main .user-box {
	margin: 0 0 45px 0;
}
@media screen and (min-width: 769px) {
	.user-box {
		padding: 20px;
	}
}

/*user-menu
---------------*/
.user-menu {
	margin-top: 10%;
	background: #f5f5f5;
	border-width: 1px;
	border-style: solid;
}
.user-menu li+li {
	border-top-width: 1px;
	border-top-style: solid;
}
.user-menu a {
	display: block;
	padding: 10px 20px;
	text-decoration: none;
}
@media screen and (min-width: 769px) {
	.user-menu {
		min-height: 200px;
		margin-top: 0;
		padding: 20px;
		border: 0;
	}
	.user-menu li+li {
		border-top: 0;
	}
	.user-menu a {
		padding: 30px 0 10px 0;
		border-bottom-width: 1px;
		border-bottom-style: solid;
	}
}

/*page-title
---------------*/
.page-title {
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: normal;
}

/*page-lead
---------------*/
.page-lead {
	margin-bottom: 50px;
}

/*sub-title
---------------*/
.sub-title {
	margin-bottom: 10px;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: normal;
}

/*form-list
---------------*/
.form-list dt {
	clear: left;
	float: left;
	min-width: 5em;
	width: 17.8%;
	padding-top: 15px;
}
.form-list dd {
	overflow: hidden;
	margin-bottom: 10px;
}
.form-list dd:last-child {
	margin-bottom: 0;
}

/*
==========================================
	for Login 
==========================================
*/

/*Login・Reissue
---------------*/
.login {
	padding: 15px 30px ; /* org: 30px 40px;2018/11/30 */
	background: #ddd;
}
.login-form dt {
	clear: left;
	float: left;
	width: 4em;
}
.login-form dd {
	overflow: hidden;
}
.login-form dd.login-btn {
	margin: 15px 0 0 0; /* org:20px 0 0 4em; 2018/11/30 kuwana */
}
.login .login-form dt {
	padding-top: 1em;
}

/*Reissue
---------------*/
.reissue {
	padding: 15px 30px; /* org:30px 40px; 2016/10/24 kuwana */
	background: #f2f2f2;
}

/*Entry 2016/12/27 kuwana
---------------*/
.entry {
	padding: 15px 30px; /* org:20px 20px; 2018/11/30 kuwana */
	background: #eaeddc;
}

/*Message
---------------*/
.msg-box {
	padding: 30px 20px;
	background: #fff;
}

/*section
---------------*/
.section {
	padding: 30px 0; /* org: 60px 0; 2018/11/30 kuwana */
}

@media screen and (min-width:769px) {
    .section {
	    padding: 20px 0;/* add 2017/01/30 kuwana */
    }
}

/*information
---------------*/
.tp-info {
	background: #f5f5f5;
}
.tp-info-title {
	margin-bottom: 20px; /*org:40px; 2018/11/30 kuwana */
	text-align: center;
	font-weight: normal;
	font-size: 24px;
	font-size: 2.4rem;
}
.tp-info-list dd{
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid #ccc;
}

@media screen and (min-width:769px) {
    .tp-info-title {
	    margin-bottom: 20px;/* add 2017/01/30 kuwana */
    }
}

/*contact
---------------*/
.tp-contact address {
	font-style: normal;
}

@media screen and (min-width:900px) {/* org:769px; 2017/01/30 kuwana*/
	.mv-box {
		display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	}
	.mv-box .mv {
		width: 68.75%;
	}
	.mv-box .mv-box-right {
		display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
		-webkit-box-pack: space-between;
		  -webkit-justify-content: space-between;
		      -ms-flex-pack: space-between;
		          justify-content: space-between;            
		width: 31.25%;
	}
	.login,
	.reissue,
    .entry /* 「entry」 add 2016/12/27 kuwana */ {
		-webkit-box-flex: 1.0;
		-webkit-flex: 1 0 auto;
		-ms-flex: 1 0 auto;
		flex: 1 0 auto;
	}
	
	.mv-box .mv{
		position: relative;
		overflow: hidden;
		height: 380px; /* org;460px; 2018/11/30 kuwana */
	}
	.mv-box .mv .mv-ph{
		position: absolute;
		left:0;
		top:0;
		width:100%;
		height:100%;
		z-index:-1;
	}
	.mv-box .mv .mv-ph img{
		position: absolute;
		top:0;
		left:50%;
		max-width:none;
		width:auto;
		height: 100%;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	.msg-box {
		padding: 20px 0;/* org: 50px 0; 2017/01/30 kuwana */
	}
}

/*
==========================================
	for Home 
==========================================
*/

/*Home Main
---------------*/
.home-main {
	margin-bottom: 40px;
}
.home-main-txt {
	width: 60%;
	margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
	.home-main:after {
		content: "";
		display: block;
		clear: both;
	}
	.home-main-txt {
		float: left;
		width: 42.1052%;
	}
	.home-main-ph {
		float: right;
		width: 43.6842%;
	}
}

/*Home Message
---------------*/
.home-msg p {
	margin-bottom: 20px;
}
/*.home-msg strong { コメント化 2019/10/28 kuwana
	color: #f00;
}*/
.home-msg-title {
	margin-bottom: 30px;
	font-size: 16px;
	font-size: 1.6rem;
}




/*
==========================================
	for Mail 
==========================================
*/

/*Mail Icons
---------------*/
[class^="icon-"]:before{
	content: "";
	display: block;
	width: 32px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: contain;
}
.icon-receive:before { background-image: url(../img/icon_mail_recieve.png);}
.icon-send:before { background-image: url(../img/icon_mail_send.png);}
.icon-create:before { background-image: url(../img/icon_mail_create.png);}

/*How to use
---------------*/
.howto {
	margin-bottom: 50px;
}
.howto-list li {
	position: relative;
	min-height: 60px;
	padding: 10px 0 10px 50px;
	border-bottom: 1px solid #bbb;
}
.howto-list li:before {
	position: absolute;
	left: 0;
}


/*Tab List
---------------*/
.tab {
	overflow: hidden;
	margin: 0 -10px 10px;
}
.tab:after {
	content: "";
	display: block;
	width: calc(100% - 20px);
	height: 5px;
	background: #eaeddc;
	margin: 0 auto;
}
.tab-list {
	display: table;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 10px 0;
	width: 100%;
}
.tab-list li {
	display: table-cell;
}
.tab-list a {
	display: block;
	position: relative;
	padding: 60px 10px 10px 10px;
	text-align: center;
	vertical-align: middle;
	background-color: #f3f5ec;
}
.tab-list a:link,
.tab-list a:visited,
.tab-list a:hover,
.tab-list a:active {
	color: #444;
	text-decoration: none;
}
.tab-list li.is-current a{
	background-color: #eaeddc;
}
.tab-list a:after {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	background-color: #fff;
	border-radius: 50%;
	position: absolute;
	left: 0;
	right: 0;
	top: 10px;
	margin: auto;
}
.tab-list a:before {
	position: absolute;
	left: 0;
	right: 0;
	top: 22px;
	z-index: 1;
	width: 25px;
	height: 25px;
	margin: auto;
}

/*Tab Body
---------------*/
.tab-body .form-list{
	margin-bottom: 40px;
}
.mailbox-table {
	width: 100%;
	border: 1px solid #bbb;
}
.mailbox-table tr {
	border-top: 1px solid #bbb;
}
.mailbox-table th {
	padding: 10px;
	background: #f5f5f5;
	text-align: left;
	font-weight: normal;
}
.mailbox-table td {
	padding: 10px;
}
.mailbox-table .left {
	width: 33%;
	border-right: 1px solid #bbb;
}


@media screen and (min-width: 769px) {
	.howto-list li {
		min-height: 40px;
		padding: 0 0 0 50px;
		border-bottom: none;	
	}
	
	.tab:after {
		height: 10px;
	}
	.tab-list {
		width: auto;
	}
	.tab-list li {
		width: 200px;
	}
	.tab-list a {
		padding: 20px 10px;
	}
	.tab-list a:after {
		left: 10px;
		right: auto;
		top: 8px;
	}
	.tab-list a:before {
		left: 18px;
		right: auto;
		top: 20px;
	}
	.tab-body .btn-center .btn{
		margin: 0 0 0 50%;
	}
	.mailbox-table .left {
		width: 200px;
	}
}
@media screen and (min-width: 769px) and (max-width: 900px) {
	.tab-list li {
		width: 180px;
	}
	.tab-body .btn-center .btn{
		margin: 0 0 0 40%;
	}	
}




/*
==========================================
	for User Info 
==========================================
*/

/*userinfo table*/
.userinfo {
    width: 100%;
    margin-bottom: 40px;
    border-bottom: 1px solid #bbb;
    table-layout: fixed; /* IE11で幅が反映されたかったため追加 2020/10/09 kuwana */
}
.userinfo tr {
	border-top: 1px solid #bbb;
}
.userinfo th {
	width: 18%; /* org：21% ; 2016/10/20 kuwana */
	padding: 20px 10px; /* org:40px 20px; 2016/10/20 kuwana */
	background: #f5f5f5;
	vertical-align: top;
	text-align: left;
	font-weight: normal;
}
.userinfo td {
	padding: 7px;/* org:20px; 2016/10/20 kuwana */
}

/*userinfo list*/
.form-list.name dt {
	padding-top: 0;
}

.change-pw {
	margin-top: 40px;
	padding-top: 25px;
	border-top: 1px solid #bbb;
}
/*for PC*/
@media screen and (min-width: 900px) {
	.change-pw {
		position: relative;
	}
	.change-pw .sub-title {
		position: absolute;
		left: 0;
		top: 50%;
	}
}

/*for SP*/
@media screen and (max-width: 768px) {
	.userinfo {
		margin-bottom: 25px;
	}
	.userinfo th,
	.userinfo td {
		display: block;
		width: 100%;
		padding: 10px;
	}
	.userinfo td {
		padding: 5px 5px 15px 5px;/* org:10px 10px 30px 10px; 2016/10/20 kuwana */
	}
}


/*
==========================================
	Form 
==========================================
*/

/* Form Parts
--------------------------------------------*/
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="number"],
textarea {
	appearance: none;
	width: 100%;
	padding: 12px 10px;
	border: 1px solid #bfbfbf;
	border-radius: 0;
	vertical-align: middle;
	font-size: 1em;
}
input[type="submit"],
input[type="clear"]{
	appearance: none;
	border-radius: 0;
}
input[type="file"]{
	/*display: none; コメント化 2017/01/04 kuwana */
    width: 100%; /* add 2017/01/04 kuwana */
}
label[for="file"] {
	display: inline-block;
	padding: 12px 10px;
	border: 1px solid #bfbfbf;
	border-radius: 0;
	background: #fff;
	vertical-align: middle;
	cursor: pointer;
    width:100%; /* add 2017/01/04kuwana */
}

 /* !Checkbox / RaditButton
---------------------------------------------*/
input[type="checkbox"],
input[type="radio"] {
	display: inline-block;
	margin: 0 6px 0 0;
}
input[type="checkbox"]+label,
input[type="radio"] + label {
	position: relative;
	display: inline-block;
	margin: 0 12px 0 0;
	cursor: pointer;
}
@media screen and (min-width: 1px) {
	input[type="checkbox"],
	input[type="radio"] {
		display: none;
		margin: 0;
	}
	input[type="checkbox"]+label,
	input[type="radio"] + label {
		padding: 0 0 0 24px;
	}
	
	/*checkbox*/
	input[type="checkbox"]+label::before{
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 18px;
		height: 18px;
		margin: -9px 0 0 0;
		border: 1px solid #bfbfbf;
		background: #ffffff;
	}
	input[type="checkbox"]:checked+label::after{
		content: "";
		position: absolute;
		top: 50%;
		left: 3px;
		width: 14px;
		height: 8px;
		margin: -5px 0 0 0;
		border-left: 4px solid #847869;
		border-bottom: 4px solid #847869;
		transform: rotate(-45deg);
	}
	/*radio*/
	input[type="radio"] + label::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        display: block;
        width: 18px;
        height: 18px;
        margin-top: -9px;
        background: #FFF;
        border: 1px solid #bfbfbf;
        border-radius: 30px;
    }
    input[type="radio"]:checked + label::after {
        content: "";
        position: absolute;
        top: 50%;
        display: block;
        left: 5px;
        width: 8px;
        height: 8px;
        margin-top: -4px;
        background: #847869;
        border-radius: 8px;
    }
}

/* !Select
--------------------------------------------*/
.select_wrap {
	position: relative;
	z-index: 1;
	overflow: hidden;
	display: inline-block;
	width: 100%;
	border: 1px solid #bfbfbf;
	background: #fff;
	vertical-align: middle;
}
.select_wrap select {
	-webkit-appearance: none;
	appearance: none;
	position: relative;
	z-index: 3;
	display: block;
	width: 120%;
	margin: 0 0 0 0;
	padding: 12px 30px 12px 10px;
	border: none;
	background: none;
	color: #303030;
	line-height: 1;
	font-size: 1em;
}
.select_wrap select:focus {
	outline: none;
}
.select_wrap:after {
	content: "";
	position: absolute;
	right: 12px;
	top: 50%;
	z-index: 1;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 5px 0 5px;
	border-color: #303030 transparent transparent transparent;
	margin-top: -3px;
}
/*for IE10+*/
.select_wrap select::-ms-expand {
    display: none;
}




/*
==========================================
	Icon Fonts
==========================================
*/
@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?q2ii3n');
  src:  url('../fonts/icomoon.eot?q2ii3n#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?q2ii3n') format('truetype'),
    url('../fonts/icomoon.woff?q2ii3n') format('woff'),
    url('../fonts/icomoon.svg?q2ii3n#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-icon-close:before {
    content: "\e900";
}
.icon-icon-logout:before {
    content: "\e901";
}
.icon-icon-menu:before {
    content: "\e902";
}

/* 2017/02/08 kuwana */
.icon-file:before {
    content: "\e924";
}
.icon-laptop:before {
    content: "\e957";
}

/* 2019/02/14 kuwana */
.icon-info:before {
    content: "\ea0c";
}


/*
==========================================
	Utilities
==========================================
*/

/* マージン
---------------------------------*/
.mb0{ margin-bottom: 0 !important;}
.mb5{ margin-bottom: 5px !important;}
.mb10{ margin-bottom: 10px !important;}
.mb15{ margin-bottom: 15px !important;}
.mb20{ margin-bottom: 20px !important;}
.mb25{ margin-bottom: 25px !important;}
.mb30{ margin-bottom: 30px !important;}
.mb35{ margin-bottom: 35px !important;}
.mb40{ margin-bottom: 40px !important;}
.mb45{ margin-bottom: 45px !important;}
.mb50{ margin-bottom: 50px !important;}

/* 左右行揃え
---------------------------------*/
.ta-l{ text-align: left; }
.ta-r{ text-align: right; }
.ta-c{ text-align: center; }

/* フロート／フロート解除
---------------------------------*/
.fl{ float:left; }
.fr{ float:right; }
.fl-img{ float: left; margin-right: 15px; margin-bottom: 15px;}
.fr-img{ float: right; margin-left: 15px; margin-bottom: 15px;}
.clear{ clear:both; }

/* clearfix */
.clearfix:after {
	content: ""; 
	display: block; 
	clear: both; 
}

/* 文字スタイル
---------------------------------*/
.c-alert { color: #e63939;}

/* 表示切り替え
---------------------------------*/
.sp {display: block;}
.pc {display: none;}
.hidden {
	visibility: hidden;
	height: 0;	
}

/*SP*/
@media screen and (min-width:769px){
	.sp {display: none;}
	.pc {display: block;}
	.header .sp {display: block;}
	.header .pc {display: none;}
}
@media screen and (min-width: 900px){
	.header .sp {display: none;}
	.header .pc {display: block;}
}
