@charset "utf-8";

* { margin: 0; padding: 0; box-sizing: border-box; vertical-align: middle; }
h1, h2, h3, h4, h5, h6, p, ul, ol, dl { font-size: 1.0em; font-weight: normal; line-height: 1.5; color: #000000; }
body, textarea { font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
img { border: none; max-width: 100%; height: auto; }
table { border-collapse: collapse; }
th, td { text-align: left; vertical-align: top; font-weight: normal; line-height: 1.5; }
ul, ol { list-style-type: none; }
a { text-decoration: none; color: #000000; }
button { cursor: pointer; border: none; background: transparent; }
button img { width: 100%; }
input[type="button"] { cursor: pointer; border: none; background: transparent; }

.clearfix:after { content: ""; display: block; clear: both; }
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.hidden { display: none; }

a:hover img { opacity: 0.7; }
a[name]:hover img { opacity: 1; }
button:hover img { opacity: 0.7; }

#page { overflow: hidden; }

#header { position: fixed; left: 0; right: 0; top: 0; z-index: 100; background: #000; transition: margin 1s linear; }
#header .content { padding: 10px; }
#header .menu .active:before { content: url(images/menu_icon01.png); margin-right: 5px; }

#footer { background: #000; }
#footer .content { position: relative; }
#footer .pagetop { position: absolute; right: 20px; top: 0; margin-top: -41px; }
#footer .text { padding: 10px 20px; overflow: hidden; }
#footer .text p { color: #ffffff; }
#footer .text a { color: #ffffff; text-decoration: underline; }
#footer .info .name { margin-right: 20px; }
#footer .copyright .copy { margin-left: 20px; }


/**
 * SP
 */
@media screen and (max-width: 640px) {

.visible-pc { display: none; }

#header .logo { max-width: 50%; }
#header .menu { position: fixed; left: 0; right: 0; top: 0; bottom: 0; background: rgba(0,0,0,0.9); z-index: 1000; display: none; }
#header .menu ul { text-align: center; padding-top: 10%; }
#header .menu ul li { margin-bottom: 3%; }
#header .menu-open img { position: absolute; right: 20px; top: 0; bottom: 0; margin: auto 0; }
#header .menu-close { position: fixed; top: 20px; right: 20px; }

#footer .pagetop { width: 100px; margin-top: -27px; }
#footer .info { font-size: 2.0vw; margin-bottom: 3%; }
#footer .copyright { font-size: 2.0vw; text-align: center; }

}

/**
 * PC・タブレット
 */
@media screen and (min-width: 641px) {

.visible-sp { display: none; }

#header .logo { float: left; max-width: 20%; }
#header .menu { text-align: center; padding: 5px 0; }
#header .menu ul > li { display: inline-block; margin: 0 1%; }
#header .menu-open { display: none; }
#header .menu-close { display: none; }

#footer .info { float: left; font-size: 1.25vw; }
#footer .copyright { float: right; font-size: 1.25vw; }

}

/**
 * PC
 */
@media screen and (min-width: 960px) {

#main { margin: 0; }

#footer .info { font-size: 14px; }
#footer .copyright { font-size: 12px; }

}

 .policy_txt span {
  text-align: right;
  display: block;
  margin-right: 100rem;
}

