@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',"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-style: normal; font-weight: 400;
    color: #000;
}
@media screen and (max-width:767px) { /*SP*/
    body { font-size: 100%; }
    html { font-size: 10px; line-height: 1.8; }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    body { font-size: 100%; }
    html { font-size: 10px; line-height: 2.0; }
}


table , th , td{
	padding: 20px 10px!important; border: 1px solid #000;
}
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: #000;
        text-decoration: none;
    }
    button{
        color: #000;
        background-color: transparent;
        border: none;
        padding: 0; margin: 0;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    a {
        color: #000;
        text-decoration: none;
        transition: 0.3s ease;
    }
    a:hover{
        opacity: 0.6;
    }
    button{
        color: #000;
        background-color: transparent;
        border: none;
        padding: 0; margin: 0;
        transition: 0.3s ease;
    }
    button:hover{
        cursor: pointer;
    }
}

/********** 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: nowrap; justify-content: center; align-items: center;
        flex-direction: column;
    }
}
@media screen and (min-width:768px) , print { /*PC&TB*/
    .contentsWidth{
        width: calc(100% - 100px); max-width: 1280px;
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;
        flex-direction: column;
    }
}

/********** LOADING **********/
#FW_loading{
    width: 100%; height: 100%;
    display: flex; flex-wrap: nowrap;
	justify-content: center;
    align-items: center;
    background-color: #fff;
    position: fixed;
    top: 0; left: 0;
    z-index: 6000000;
}

/* Three Dots */
.three-dots .stage {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 50px 0;
    margin: 0 -50px;
    overflow: hidden;
}
.dot-falling {
    position: relative;
    left: -9999px;
    width: 8px;
    height: 8px;
    border-radius: 5px;
    background-color: #3c6b32;
    color: #3c6b32;
    box-shadow: 9999px 0 0 0 #3c6b32;
    animation: dot-falling 1s infinite linear;
    animation-delay: 0.1s;
}
.dot-falling::before, .dot-falling::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
}
.dot-falling::before {
    width: 8px;
    height: 8px;
    border-radius: 5px;
    background-color: #3c6b32;
    color: #3c6b32;
    animation: dot-falling-before 1s infinite linear;
    animation-delay: 0s;
}
.dot-falling::after {
    width: 8px;
    height: 8px;
    border-radius: 5px;
    background-color: #3c6b32;
    color: #3c6b32;
    animation: dot-falling-after 1s infinite linear;
    animation-delay: 0.2s;
}

@keyframes dot-falling {
    0% { box-shadow: 9999px -15px 0 0 rgba(152, 128, 255, 0); }
    25%, 50% { box-shadow: 9999px 0 0 0 #3c6b32; }
    100% { box-shadow: 9999px 15px 0 0 rgba(152, 128, 255, 0); }
}
@keyframes dot-falling-before {
    0% { box-shadow: 9984px -15px 0 0 rgba(152, 128, 255, 0); }
    25%, 50% { box-shadow: 9984px 0 0 0 #3c6b32; }
    100% { box-shadow: 9984px 15px 0 0 rgba(152, 128, 255, 0); }
}
@keyframes dot-falling-after {
    0% { box-shadow: 10014px -15px 0 0 rgba(152, 128, 255, 0); }
    25%, 50% { box-shadow: 10014px 0 0 0 #3c6b32; }
    100% { box-shadow: 10014px 15px 0 0 rgba(152, 128, 255, 0); }
}