@charset "UTF-8";
/* Scss Document */
/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
base
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
body {
  font-family: "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: 100%;
  animation-name: fadeIn;
  animation-duration: 1.5s;
  animation-timing-function: ease;
  position: relative;
  font-weight: 400;
  top: 0 !important; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
body, h1, h2, h3, h4, h5, h6, p {
  font-size: 1rem;
  color: #000;
  margin: 0;
  padding: 0;
  line-height: 1.5; }

@media screen and (max-width: 480px) {
  body, h1, h2, h3, h4, h5, h6, p {
    font-size: 0.9rem; } }
a {
  text-decoration: none; }

img {
  vertical-align: bottom; }

a img {
  border: none; }

input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  font-family: "Noto Sans JP", sans-serif;
  outline: none; }

input:focus,
button {
  outline: 0; }

table tr td [type="radio"] {
  -webkit-appearance: radio;
  appearance: radio; }

.clear {
  display: none;
  clear: both; }

img.centering {
  position: absolute; }

figure {
  margin: 0; }

::selection {
  background: #FFD7E9; }

::-moz-selection {
  background: #FFD7E9; }

.pcNone {
  display: none; }

@media (max-width: 768px) {
  /* responsive none fore SP */
  .spNone {
    display: none !important; }

  .pcNone {
    display: block; } }
@media (min-width: 641px) {
  .spNone-640 {
    display: block; }

  .pcNone-640 {
    display: none; } }
@media (max-width: 640px) {
  .spNone-640 {
    display: none; }

  .pcNone-640 {
    display: block; } }
/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
common styles
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
/* font-size */
.fz0 {
  font-size: 0rem; }

.fz10 {
  font-size: 0.625rem; }

.fz11 {
  font-size: 0.6875rem; }

.fz12 {
  font-size: 0.75rem; }

.fz13 {
  font-size: 0.8125rem; }

.fz14 {
  font-size: 0.875rem; }

.fz15 {
  font-size: 0.9375rem; }

.fz16 {
  font-size: 1rem; }

.fz17 {
  font-size: 1.0625rem; }

.fz18 {
  font-size: 1.125rem; }

.fz20 {
  font-size: 1.25rem; }

.fz22 {
  font-size: 1.375rem; }

.fz24 {
  font-size: 1.5rem; }

.fz25 {
  font-size: 1.5625rem; }

.fz26 {
  font-size: 1.625rem; }

.fz28 {
  font-size: 1.75rem; }

.fz30 {
  font-size: 1.875rem; }

.fz32 {
  font-size: 2rem; }

.fz34 {
  font-size: 2.125rem; }

.fz36 {
  font-size: 2.25rem; }

.fz38 {
  font-size: 2.375rem; }

.fz40 {
  font-size: 2.5rem; }

.fz42 {
  font-size: 2.625rem; }

.fz44 {
  font-size: 2.75rem; }

.fz45 {
  font-size: 2.8125rem; }

.fz46 {
  font-size: 2.875rem; }

.fz48 {
  font-size: 3rem; }

.fz50 {
  font-size: 3.125rem; }

.fz56 {
  font-size: 3.5rem; }

.fz60 {
  font-size: 3.75rem; }

.fz80 {
  font-size: 5rem; }

.fz90 {
  font-size: 5.625rem; }

.fz120 {
  font-size: 7.5rem; }

.fz130 {
  font-size: 8.125rem; }

/* font-family */
.default {
  font-family: "Noto Sans JP", sans-serif; }

.mincho {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

.gf01 {
  font-family: "Bree Serif", sans-serif; }

.gf02 {
  font-family: "Vast Shadow", cursive; }

.gf03 {
  font-family: "Roboto Slab", serif; }

/* font-weight */
.fwBold {
  font-weight: bold; }

.fwNormal {
  font-weight: normal; }

.fw300 {
  font-weight: 300; }

.fw400 {
  font-weight: 400; }

.fw500 {
  font-weight: 500; }

.fw600 {
  font-weight: 600; }

.fw700 {
  font-weight: 700; }

.fw800 {
  font-weight: 800; }

.fw900 {
  font-weight: 900; }

/* font-style */
.fstNormal {
  font-style: normal; }

.fstItalic {
  font-style: italic; }

/* color(文字色)
   background(背景色) */
/* 白 */
.fcWhite {
  color: #FFF; }

.bgWhite {
  background-color: #FFF; }

/* 黒 */
.fcBlack {
  color: #000; }

.bgBlack {
  background-color: #000; }

/* コンセプトカラー */
.fcBlue {
  color: #26193d; }

.bgBlue {
  background-color: #26193d; }

/* コンセプトカラー */
.fcBlue-02 {
  color: #dae3ea; }

.bgBlue-02 {
  background-color: #dae3ea; }

/* コンセプトカラー */
.fcBlue-03 {
  color: #395f7d; }

.bgBlue-03 {
  background-color: #395f7d; }

/* コンセプトカラー */
.fcBrown {
  color: #b78900; }

.bgBrown {
  background-color: #b78900; }

/* text-align */
.taCenter {
  text-align: center; }

.taLeft {
  text-align: left; }

.taRight {
  text-align: right; }

/* vertical-align */
.vaBottom {
  vertical-align: bottom; }

.vaMiddle {
  vertical-align: middle; }

.vaTop {
  vertical-align: top; }

/* line-height */
.lh10 {
  line-height: 1; }

.lh12 {
  line-height: 1.2; }

.lh13 {
  line-height: 1.3; }

.lh14 {
  line-height: 1.4; }

.lh15 {
  line-height: 1.5; }

.lh18 {
  line-height: 1.8; }

.lh20 {
  line-height: 2; }

.lh21 {
  line-height: 2.1; }

.lh22 {
  line-height: 2.2; }

/* float */
.floatLeft {
  display: inline;
  float: left; }

.floatRight {
  display: inline;
  float: right; }

.pl10 {
  padding-left: 10px; }

.mb10 {
  margin-bottom: 10px; }

.mb15 {
  margin-bottom: 15px; }

.mb20 {
  margin-bottom: 20px; }

.mb25 {
  margin-bottom: 25px; }

.mb30 {
  margin-bottom: 30px; }

.mb35 {
  margin-bottom: 35px; }

.mb40 {
  margin-bottom: 40px; }

.mb45 {
  margin-bottom: 45px; }

.mb50 {
  margin-bottom: 50px; }

.mb60 {
  margin-bottom: 60px !important; }

.mb100 {
  margin-bottom: 100px; }

.mb150 {
  margin-bottom: 150px; }

.mt100 {
  margin-top: 100px; }

.pb20 {
  padding-bottom: 20px; }

.pt30 {
  padding-top: 30px; }

@media screen and (max-width: 768px) {
  .mb60 {
    margin-bottom: 30px !important; } }
/* border-radius */
.bRadius02 {
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px; }

.bRadius03 {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px; }

.bRadius04 {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }

.bRadius05 {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px; }

.bRadius10 {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px; }

.bRadius15 {
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px; }

.bRadius20 {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px; }

.bRadius25 {
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  border-radius: 25px; }

.bRadius30 {
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px; }

/* hover時半透明 */
.opacity:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )"; }

/* text-indent */
.ti-05 {
  text-indent: -5px; }

.ti-10 {
  text-indent: -10px; }

.ti-15 {
  text-indent: -15px; }

/* letter-spacing */
.ls-005 {
  letter-spacing: -0.05em; }

.ls-002 {
  letter-spacing: -0.02em; }

.ls005 {
  letter-spacing: 0.05em; }

.ls010 {
  letter-spacing: 0.1em; }

.ls020 {
  letter-spacing: 0.2em; }

.ls030 {
  letter-spacing: 0.3em; }

.ls050 {
  letter-spacing: 0.5em; }

.ls100 {
  letter-spacing: 1em; }

.ls150 {
  letter-spacing: 1.5em; }

.ls200 {
  letter-spacing: 2.0em; }

/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
topic path
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
#tPath {
  width: 100%;
  height: 40px;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #BBB; }
  #tPath p {
    width: 1000px;
    height: 40px;
    margin: 0 auto;
    padding: 10px 0 0;
    font-size: 13px; }
    #tPath p a {
      color: #333; }

/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
フリー装飾
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
div.system-free {
  height: 100%;
  overflow: hidden; }
  div.system-free p {
    line-height: 2.0; }
  div.system-free hr {
    height: 0;
    margin: 0;
    border: none;
    border-top: 1px solid #333; }
  div.system-free table {
    border-collapse: collapse;
    width: 100%; }
    div.system-free table td {
      /*padding: 25px 30px;*/
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box; }

/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
ページ遷移
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
/*ol.transition {
	@include size(100%, 30px);
	overflow: hidden;
	margin: 80px auto 0;
	padding: 0;
	text-align: center;
	list-style: none;
	
	li {
		@include size(30px, 30px);
		overflow: hidden;
		margin: 0 1px 0 0;
		padding: 0;
		text-align: center;
		line-height: 1;
		display: inline-block;
		
		&:last-child {
			margin: 0;
		}

		a,
		&.current span,
		span.extra {
			@include size(30px, 30px);
			margin: 0;
			padding: 0;
			color: $color02;
			display: block;
			text-decoration: none;
			background-color: $color01;
			@include borderR(30px);
			@include borderBox;
		}
		
		&.current span,
		span.extra {
			padding: 7px 0 0;
		}
		
		a span {
			margin: 0;
			padding: 7px 0 0;
			display: block;
		}
		
		a:hover,
		&.current span {
			color: $color01;
			background-color: $color05;
		}
	}
}*/
/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
clearfix
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  font-size: 0; }

.clearfix {
  display: inline-block; }

/* Hides from IE-mac \*/
* html .clearfix {
  height: 1px; }

.clearfix {
  display: block; }

/* End hide from IE-mac */
.clearboth {
  clear: both; }

@media print {
  body {
    zoom: 50%; } }
