@charset "UTF-8";

/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0; padding: 0; border: 0;
/*font: inherit;*/
/*vertical-align: baseline;*/
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: ''; content: none;
}
table {
border-collapse: collapse; border-spacing: 0;
}
input, select, textarea {
    color: #fff;
    }
/* css reset end */

*{
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
	word-wrap: break-word;
	-webkit-font-smoothing: antialiased;
}
body {
    font-family: 'Noto Sans JP', 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
    font-style: normal; font-weight: 500;
    color: #000000; background-color: #ffffff;
}
@media screen and (max-width:767px) { /*SP*/
    body {
        font-size: 85%; line-height: 1.6;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    body {
        font-size: 100%; line-height: 1.8;
    }
}

table , th , td{
	padding: 10px!important; border: 1px solid #ccc;
}
img {
    width: 100%;
    vertical-align: bottom;
    -webkit-backface-visibility: hidden;
    image-rendering: -webkit-optimize-contrast;
    flex-shrink: 0;
}

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

html,body{background-color: #fff!important;}
@media print { body{width: 100%!important;}}

/********** Protected **********/

.forPrint {display: none;}

.Protected {
	touch-callout:none;
	user-select:none;
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-touch-callout:none;
	-moz-user-select:none;
}

@media print {
	.Protected {display: none;}
	.forPrint {display: block;}
	.ClearFix:after {content: ".";height: 1px;overflow: hidden;visibility: hidden;}
}

/********** A **********/
@media screen and (max-width:767px) { /*SP*/
    a {
        color: #000000;
        text-decoration: none;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    a {
        color: #000000;
        text-decoration: none;
        transition: 0.3s ease;
    }
    a:hover{
        opacity: 0.5;
    }
}

/********** BR **********/
@media screen and (max-width:767px) { /*SP*/
	.pcNone{display: none;}
	.tbNone{display: inline;}
	.spNone{display: block;}
}
@media screen and (min-width:768px) and ( max-width:1023px) { /*PC&TB*/
	.pcNone{display: block;}
	.tbNone{display: inline;}
	.spNone{display: none;}
}
@media screen and (min-width:1024px) , print { /*PC*/
	.pcNone{display: block;}
	.tbNone{display: none;}
	.spNone{display: none;}
}


/********** GRID **********/
.windowWidth{
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
}

@media screen and (max-width:767px) { /*SP*/
    .contentsWidth{
        width: calc(100% - 40px);
        display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start;
    }
}
@media screen and (min-width:768px) and ( max-width:1259px) { /*TB*/
    .contentsWidth{
        width: calc(100% - 60px);
        display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start;
        min-height: 0%;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    .contentsWidth{
        width: 1200px;
        display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start;
        min-height: 0%;
    }
}


/********** LOADING **********/
#FW_loading{
    width: 100%; height: 100vh;
    display: flex; flex-wrap: nowrap;
	justify-content: center;
    align-items: center;
    background-color: #fff;
    position: fixed;
    top: 0; left: 0;
    z-index: 6000000;
}
#FW_loading svg{
    width: 40px; height: 40px;
    animation: loading 0.75s linear 0.00s infinite normal;
    opacity: 0;
}
@keyframes loading {
      0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}