@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap');
@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p:500&display=swap');


/*loading------------------------------------------------------*/
#loader{
    width: 100%;
    height: auto;
	display: none;
    /*display: flex;*/
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    background-color: #fff;
    position: fixed;
    z-index: 6000000;
    top: 0;
    left: 0;
}
#loader svg{
    /* opacity: 0; */
    animation: loading 0.75s linear 0.00s infinite normal;
}

@keyframes loading {
    0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes leftRightFullWidth {
    0% { opacity: 0.0; width: 0; }
  100% { opacity: 1.0; width: 100%; }
}


/*---------------------------------------------------------------------------
全体
---------------------------------------------------------------------------*/

*{margin:0;padding:0;}

html{height:100%;}

body,div,p,
h1,h2,h3,h4,h5,h6,
dl,dt,dd,ul,ol,li,
pre,form,input,textarea,select,iframe { margin:0; padding:0; }

img{border:0; vertical-align:top; max-width:100%;}

li img { vertical-align:top; }

ul,li{list-style:none;}

a{color:#4d4d4d;text-decoration:none;}
a:hover{text-decoration:none;}

body{
    color:#4d4d4d;
    margin: 0px;
    padding: 0px;
    font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-size:1.0rem;
    /*line-height:1.8rem;*/
    letter-spacing: 0.05rem;
    height:100%;
    background-color: #f7f5ef;
}

.fontYuGo{
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

.fontMPlus{
    font-family: 'M PLUS 1p', sans-serif;
}

.cl:after {
    content:"";
    display:block;
    height:0;
    clear:both;
}

.line0 { line-height:0; font-size:0; }

.clr0 {
    clear: both;
    height: 0;
    font-size: 0;
    line-height: 0;
}

a:hover img{
    filter: alpha(opacity=75); /*For IE*/
    opacity: 0.75; /*Opera・Safari*/
    -moz-opacity: 0.75; /*For FireFox*/
}

#header h1 a:hover img{
    filter: alpha(opacity=100);
    opacity: 1;
    -moz-opacity: 1;
}

/* ----- Form ----- */

form input, form textarea, form option { padding:2px; font-size:12px; }

form label {
    cursor:pointer;
}

form textarea { width:100%; }

.ip_s { width:150px; }
.ip_m { width:220px; }
.ip_l { width:99%; }


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

デフォルトマージン設定

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

.text_fwb{font-weight:bold;}

.t_indent{ text-indent:1em; }
.t_indent2{ text-indent:-1em; margin-left:1em }

.aC { text-align:center!important; }
.aL { text-align:left!important;   }
.aR { text-align:right!important;  }
.cB { clear:both!important; }

.fL { float:left;}
.fR { float:right; }

.mb0 { margin-bottom:0px!important; }
.mb03 { margin-bottom:3px!important; }
.mb05{ 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;}
.mb50{ margin-bottom:50px!important;}
.mb60{ margin-bottom:60px!important;}

.pb0 { padding-bottom:0px!important; }
.pb05{ padding-bottom:5px!important; }
.pb10{ padding-bottom:10px!important;}
.pb15{ padding-bottom:15px!important;}
.pb20{ padding-bottom:20px!important;}
.pb25{ padding-bottom:25px!important;}
.pb30{ padding-bottom:30px!important;}
.pb35{ padding-bottom:35px!important;}

.mt0 { margin-top:0px!important; }
.mt05{ margin-top:5px!important; }
.mt10{ margin-top:10px!important;}
.mt13{ margin-top:13px!important;}
.mt15{ margin-top:15px!important;}
.mt20{ margin-top:20px!important;}
.mt25{ margin-top:25px!important;}
.mt30{ margin-top:30px!important;}
.mt35{ margin-top:35px!important;}
.mt40{ margin-top:40px!important;}
.mt50{ margin-top:50px!important;}

.pt0 { padding-top:0px!important; }
.pt05{ padding-top:5px!important; }
.pt10{ padding-top:10px!important;}
.pt15{ padding-top:15px!important;}
.pt20{ padding-top:20px!important;}
.pt25{ padding-top:25px!important;}
.pt30{ padding-top:30px!important;}
.pt35{ padding-top:35px!important;}
.pt40{ padding-top:40px!important;}
.pt60{ padding-top:60px!important;}

.ml0 { margin-left:0px!important; }
.ml03{ margin-left:3px!important; }
.ml05{ margin-left:5px!important; }
.ml10{ margin-left:10px!important;}
.ml15{ margin-left:15px!important;}
.ml20{ margin-left:20px!important;}
.ml25{ margin-left:25px!important;}
.ml30{ margin-left:30px!important;}
.ml35{ margin-left:35px!important;}
.ml40{ margin-left:40px!important;}


.pl0 { padding-left:0px!important; }
.pl05{ padding-left:5px!important; }
.pl10{ padding-left:10px!important;}
.pl15{ padding-left:15px!important;}
.pl20{ padding-left:20px!important;}
.pl25{ padding-left:25px!important;}
.pl30{ padding-left:30px!important;}
.pl35{ padding-left:35px!important;}
.pl40{ padding-left:40px!important;}

.mr0 { margin-right:0px!important; }
.mr05{ margin-right:5px!important; }
.mr10{ margin-right:10px!important;}
.mr15{ margin-right:15px!important;}
.mr20{ margin-right:20px!important;}
.mr25{ margin-right:25px!important;}
.mr30{ margin-right:30px!important;}
.mr35{ margin-right:35px!important;}

.pr0 { padding-right:0px!important; }
.pr05{ padding-right:5px!important; }
.pr10{ padding-right:10px!important;}
.pr15{ padding-right:15px!important;}
.pr20{ padding-right:20px!important;}
.pr25{ padding-right:25px!important;}
.pr30{ padding-right:30px!important;}
.pr35{ padding-right:35px!important;}