@charset "utf-8";

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,hgroup,menu,nav,section,summary,
time,mark,audio,video {
margin:0;
padding:0;
border:0;
outline:0;
background:transparent;
}

html,body {
width:100%;
font-size:15px;
font-family: 'Noto Sans JP', sans-serif;
/**font-family:"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;**/
font-weight: 400;
line-height: 1.5em;
text-size-adjust: 100%;
font-smoothing:antialiased;
-moz-osx-font-smoothing: grayscale;
background-color: white;
color: rgb(55,55,55);
overflow-x: hidden;
-webkit-text-size-adjust: 100%;
}

@media screen and (max-width:1024px) {html,body {font-size:13px;}}
@media screen and (max-width:767px) {html,body {font-size:12px;}}

a {
    outline:none;
    text-decoration: none;
    transition: all 0.2s ease 0s;
    cursor: pointer;
}

a:link { color: inherit;}
a:visited { color: inherit;}
a:hover { color: inherit; opacity: 0.7; transition: all 0.3s ease-in-out;}

img { border: 0; vertical-align: bottom;}/*画像の下にできる余白を消す*/

a img {cursor: pointer;}


p { padding-bottom:1em;}

.justify {text-align: justify;}

h1,h2,h3,h4,h5,h6 {font-size:inherit; font-family:inherit ; font-weight:inherit; line-height: 1.2em; }

ul,dl,ol { text-indent: 0;}
li { list-style: none;}

address,caption,cite,code,dfn,em,strong,th,var { }

sup { vertical-align: text-top;}
sub { vertical-align: -5%;}

input,textarea,select { font-size: inherit; font-weight:400;}
* html input,* html textarea,* html select { font-size: 100%;}
*:first-child+html+input,*:first-child html+textarea,*:first-child+html select { font-size: 100%;}

table { border-collapse: collapse; border-spacing: 0; font-size: inherit;}
th,td { text-align: left; vertical-align: top;}
caption { text-align: left;}

pre,code,kbd,samp,tt { font-family: monospace;}
* html pre,* html code,* html kbd,* html samp,* html tt {font-size: 100%; line-height: 100%;}
*:first-child+html pre,*:first-child html+code,*:first-child html+kbd,*:first-child+html+samp,*:first-child+html tt {font-size: 108%; line-height: 100%;}

input,select,textarea { font-size: 100%; }

button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}

::selection { background: rgba(155,155,155,0.5);}
::-moz-selection { background: rgba(155,155,155,0.5);} /*Firefox/

.clear { clear:both;}

/*** ===== common animation ===== ***/
.inview {
opacity: 0;
}

.inview_up {
opacity: 0;
transform: translate3d(0, 35px, 0);
}
.fadeInUp {
  animation-name: fadeInUp;
  animation-duration: 0.5s;
  animation-fill-mode: both;
}
@keyframes fadeInUp {
  0% { opacity: 0; transform: translate3d(0, 35px, 0);}
  100% { opacity: 1; transform: none;}
}

.inview_down {
opacity: 0;
transform: translate3d(0, -35px, 0);
}
.fadeInDown {
  animation-name: fadeInDown;
  animation-duration: 1s;
  animation-fill-mode: both;
}
@keyframes fadeInDown {
  0% { opacity: 0; transform: translate3d(0, -35px, 0);}
  100% { opacity: 1; transform: none;}
}

.inview_left {
opacity: 0;
transform: translate3d(-35px, 0, 0);
}
.fadeInLeft {
  animation-name: fadeInLeft;
  animation-duration: 1s;
  animation-fill-mode: both;
}
@keyframes fadeInLeft {
  0% { opacity: 0; transform: translate3d(-35px, 0, 0);}
  100% { opacity: 1; transform: none;}
}

.inview_right {
opacity: 0;
transform: translate3d(35px, 0, 0);
}
.fadeInRight {
  animation-name: fadeInRight;
  animation-duration: 1s;
  animation-fill-mode: both;
}
@keyframes fadeInRight {
  0% { opacity: 0; transform: translate3d(35px, 0, 0);}
  100% { opacity: 1; transform: none;}
}

.inview_fade {
opacity: 0;
}
.fadeInFade {
  animation-name: fadeInFade;
  animation-duration: 1s;
  animation-fill-mode: both;
}
@keyframes fadeInFade {
  0% { opacity: 0;}
  100% { opacity: 1;}
}

.delay_01 {animation-delay: 0.1s;}
.delay_02 {animation-delay: 0.2s;}
.delay_03 {animation-delay: 0.3s;}
.delay_04 {animation-delay: 0.4s;}
.delay_05 {animation-delay: 0.5s;}
.delay_06 {animation-delay: 0.6s;}
.delay_07 {animation-delay: 0.7s;}
.delay_08 {animation-delay: 0.8s;}
.delay_09 {animation-delay: 0.9s;}
.delay_10 {animation-delay: 1.0s;}

/*** ===== common spacer & line ===== ***/
.solid_line {width:100%; height:1px; margin:5px 0 15px 0;}

/*** ===== common background color ===== ***/
.bg_white {background-color: rgb(255,255,255); padding-bottom: 80px;}
.bg_blue {background-color: rgb(25,70,135); padding-bottom: 80px;}
.bg_gray {background-color: rgb(238,238,238); padding-bottom: 80px;}
.bg_dark {background-color: rgb(222,222,222); padding-bottom: 80px;}

/*** ===== common text color ===== ***/
.text_white {color: white;}
.text_blue {color: rgb(25,70,135);}

/*** ===== text align ===== ***/
.align_left {text-align: left;}
.align_center {text-align: center;}
.align_right {text-align: right;}

/*** ===== common margin ===== ***/
.margin_top_10px { margin-top:10px !important;}
.margin_top_20px { margin-top:20px !important;}
.margin_top_30px { margin-top:30px !important;}
.margin_top_40px { margin-top:40px !important;}
.margin_top_50px { margin-top:50px !important;}
.margin_top_100px { margin-top:100px !important;}
.margin_top_25vh { margin-top:25vh !important;}
.margin_bottom_20px {margin-bottom:20px !important;}
.margin_bottom_30px {margin-bottom:30px !important;}
.margin_bottom_50px {margin-bottom:50px !important;}
.margin_bottom_100px {margin-bottom:100px !important;}
.margin_bottom_25vh {margin-bottom:25vh !important;}
.padding_top_1em { padding-top:1em !important;}
.padding_top_10px { padding-top:10px !important;}
.padding_top_20px { padding-top:20px !important;}
.padding_top_30px { padding-top:30px !important;}
.padding_top_50px { padding-top:50px !important;}
.padding_bottom_20px { padding-bottom:20px !important;}
.padding_bottom_30px { padding-bottom:30px !important;}
.padding_bottom_50px { padding-bottom:50px !important;}
.padding_bottom_100px { padding-bottom:100px !important;}

/*** ===== common font ===== ***/
.font_50 {font-size:50%;}
.font_80 {font-size:80%;}
.font_90 {font-size:90%;}
.font_120 {font-size:120%;}
.font_135 {font-size:135%;}
.font_150 {font-size:150%;}
.font_200 {font-size:200%;}
.bold {font-weight:700;}
