@charset "UTF-8";

/*default
-----------------------------------------------------------*/

html { font-size: 62.5%;  -ms-overflow-style:scrollbar!important; }
body:before, body:after {
    content: "";
    display: table;
}
body:after { clear: both; }

body {
	*zoom: 1;
	font-size: 14px;
	font-size: 1.4rem;
	line-height:0;
	font-family: "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", HiraKakuPro-W3, "メイリオ", "Meiryo", "平成角ゴシック", "ＭＳ Ｐゴシック", "Osaka", sans-serif;
	color: #222;
	font-style: normal;
	font-weight: normal;
}

body {
	line-height:171%;
}

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

:root {
	-ms-overflow-style: -ms-autohiding-scrollbar;
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
			text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: auto;
}

h1, h2, h3, h4, h5, h6, p {
	margin:0;
	padding:0;
	font-weight:normal;
}

a, a:hover { text-decoration:none; }

ul, ol, li {
	list-style:none;
	margin:0;
	padding:0;
}

table {
  border-collapse: collapse; 
  border-spacing: 0; 
}

@media screen and (min-width: 769px) {
	html { min-width:980px; }
}

@media screen and (max-width: 768px) {
	body { margin:0; padding:0; }
}

/*web fonts
-----------------------------------------------------------*/

.fqs {
	font-family: 'Quicksand', sans-serif;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.frb {
	font-family: 'Roboto', sans-serif;
	font-weight:300;
	font-style:italic;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.frt {
	font-family: 'Roboto', sans-serif;
	font-weight:500;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.frc {
	font-family: 'Roboto Condensed', sans-serif;
	font-weight:300;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.fqt {
	font-family: 'Quantico', sans-serif;
	font-weight:700;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.fa {
	display: inline-block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/*class
-----------------------------------------------------------*/

@media screen and (min-width: 769px) {
	.onlyPc { display:block; }
	.onlySp { display:none; }
}

@media screen and (max-width: 768px) {
	.onlyPc { display:none; }
	.onlySp { display:block; }
}	

.fs10 { font-size:10px; font-size: 1rem; line-height:200%; }
.fs11 { font-size:11px; font-size: 1.1rem; line-height:191%; }
.fs12 { font-size:12px; font-size: 1.2rem; line-height:183%; }
.fs13 { font-size:13px; font-size: 1.3rem; line-height:177%; }
.fs14 { font-size:14px; font-size: 1.4rem; line-height:171%; }
.fs15 { font-size:15px; font-size: 1.5rem; line-height:167%; }
.fs16 { font-size:16px; font-size: 1.6rem; line-height:163%; }
.fs18 { font-size:18px; font-size: 1.8rem; line-height:156%; }
.fs20 { font-size:20px; font-size: 2rem; line-height:150%; }
.fs22 { font-size:22px; font-size: 2.2rem; line-height:145%; }
.fs24 { font-size:24px; font-size: 2.4rem; line-height:140%; }
.fs28 { font-size:28px; font-size: 2.8rem; line-height:125%; }
.fs30 { font-size:30px; font-size: 3rem; line-height:120%; }
.fs32 { font-size:32px; font-size: 3.2rem; line-height:120%; }
.fs36 { font-size:36px; font-size: 3.6rem; line-height:110%; }
.fs40 { font-size:40px; font-size: 4rem; line-height:110%; }
.fs48 { font-size:48px; font-size: 4.8rem; line-height:110%; }

.b { font-weight:bold; }
.blue { color:#0075c2; }
.gray { color:#666; }
.black { color:#222; }
.white { color:#fff; }
.red { color:#d00; }
.gold { color:#e6b422; }
.silver { color:#999; }
.bronze { color:#c47222; }
.pink { color:#eb6ea0; }
.lsp { letter-spacing:0.5em; }

.mt01 {margin-top:1px;}
.mt02 {margin-top:2px;}
.mt03 {margin-top:3px;}
.mt04 {margin-top:4px;}
.mt05 {margin-top:5px;}
.mt06 {margin-top:6px;}
.mt07 {margin-top:7px;}
.mt08 {margin-top:8px;}
.mt09 {margin-top:9px;}
.mt10 {margin-top:10px;}
.mt15 {margin-top:15px;}
.mt20 {margin-top:20px;}
.mt25 {margin-top:25px;}
.mt30 {margin-top:30px;}
.mt35 {margin-top:35px;}
.mt40 {margin-top:40px;}
.mt45 {margin-top:45px;}
.mt50 {margin-top:50px;}
.mt55 {margin-top:55px;}
.mt60 {margin-top:60px;}
.mt65 {margin-top:65px;}
.mt70 {margin-top:70px;}
.mt75 {margin-top:75px;}
.mt80 {margin-top:80px;}
.mt85 {margin-top:85px;}
.mt90 {margin-top:90px;}
.mt95 {margin-top:95px;}
.mt100 {margin-top:100px;}
.mt110 {margin-top:110px;}
.mt120 {margin-top:120px;}
.mt130 {margin-top:130px;}
.mt140 {margin-top:140px;}
.mt150 {margin-top:150px;}
.mt160 {margin-top:160px;}
.mt170 {margin-top:170px;}
.mt180 {margin-top:180px;}
.mt190 {margin-top:190px;}
.mt200 {margin-top:200px;}
.mt210 {margin-top:210px;}
.mt220 {margin-top:220px;}
.mt230 {margin-top:230px;}
.mt240 {margin-top:240px;}
.mt250 {margin-top:250px;}
.mt260 {margin-top:260px;}
.mt270 {margin-top:270px;}
.mt280 {margin-top:280px;}
.mt290 {margin-top:290px;}
.mt300 {margin-top:300px;}
.mt310 {margin-top:310px;}
.mt320 {margin-top:320px;}
.mt330 {margin-top:330px;}
.mt340 {margin-top:340px;}
.mt350 {margin-top:350px;}
.mt360 {margin-top:360px;}
.mt370 {margin-top:370px;}
.mt380 {margin-top:380px;}
.mt390 {margin-top:390px;}
.mt400 {margin-top:400px;}
.mt410 {margin-top:410px;}
.mt420 {margin-top:420px;}
.mt430 {margin-top:430px;}
.mt440 {margin-top:440px;}
.mt450 {margin-top:450px;}

.mb20 {margin-bottom:20px;}
.mb30 {margin-bottom:30px;}
.mb40 {margin-bottom:40px;}
.mb50 {margin-bottom:50px;}

.mr5 { margin-right:5px; }
.mr10 { margin-right:10px; }

.pr15 { padding-right:15px; }

.uline { border-bottom: solid 1px #999; }
.maxImg img { width:100%; height:auto; }

@media screen and (min-width: 769px) {
	.beforeFooter:after{
        clear: both;
        content: " ";
	    display: block;
	    height: 50px;
    }
}

@media screen and (max-width: 768px) {	
	.beforeFooter:after{
        clear: both;
        content: " ";
	    display: block;
	    height: 20px;
    }
}


/*clearfix
-----------------------------------------------------------*/

.clearfix {
	*zoom: 1;
	display:inline-block;
}
.clearfix:before, .clearfix:after {
	content: " ";
	display: table;
	height:0;
	visibility:hidden;
}
.clearfix:after { clear: both; }


/*Navi PC
-----------------------------------------------------------*/

#navPc ul {
	float:right;
}

#navPc li {
	height:80px;
	background-color:#fff;
	float:left;
}

#navPc li.crt {
	border-bottom:solid 3px #0075c2;
}

#navPc li a {
	display:block;
	height:80px;
	padding:14px 25px 0 25px;
	text-align:center;
	position:relative;
}

#navPc span { position:relative; }


/*Content
-----------------------------------------------------------*/

@media screen and (max-width: 768px) {
	.content {
		width:100%
	}
}

@media screen and (min-width: 769px) and (max-width: 1279px){
	.content {
		width:100%;
		padding-left:30px;
		padding-right:30px;		
	}
}

@media screen and (min-width: 1280px){
	.content {
		width:1280px;
		padding-left:30px;
		padding-right:30px;	
		margin:0 auto;	
	}
}

/*footer
-----------------------------------------------------------*/

footer {
	width:100%;
	height:auto;
	background-color:#345;
}

#flCol ul {
	float:left;
	margin-right:40px;
}

#flCol li {
	height:30px;
}

#flCol a:hover {
	opacity:0.6;
}

footer .fa {
  color:#fff;
  margin-left:5px;	
}

#copyCol {
	clear:both;
	width:100%;
	height:auto;
	padding-top:10px;
}

@media screen and (min-width: 769px) {
	footer {
		padding:40px 40px 10px 40px;
	}
	
	footer h4 {
		float:left;
	}
	
	#flCol {
		float:right;
	}
}

@media screen and (max-width: 768px) {	
	footer {
		padding:15px 20px 10px 20px;
		overflow:hidden;
	}
	
	#flCol ul {
		margin-top:10px;
	}	
}

/*Sub Nav 
-----------------------------------------------------------*/

@media screen and (min-width: 769px) {
	#snav {
		width:350px;
		height:3000px;
		position:fixed;
		top:0;
		right:-355px;
		background-color:#0075c2;
		z-index:888;
	}

	#snavBox {
		position:absolute;
		top:100px;
		left:50px;
		color:#fff;
	}

	#snavBox li {
		margin-bottom:3px;
	}

	#snavBox a {
		padding:7px 7px 4px 6px;
		background-image:url(../img/snavbg.png);
		background-repeat:no-repeat;
		background-position:0 0;
		background-size:0 30px;
	}
}


@media screen and (max-width: 768px) {
	#snavBox {
		display:none;
		width:100%;
		height:2000px;
		position:fixed;
		top:0;
		left:0;
		background-color:#0075c2;
		z-index:888;
	}

	#snavBox h3 {
		position:absolute;
		top:60px;
		left:20px;
	}

	#snavBox ul {
        width:100%;
		position:absolute;
		top:95px;
		left:0;
		border-top:solid 1px #acd0e9;
	}

	#snavBox a {
		display:block;
		width:100%;
		border-bottom:solid 1px #acd0e9;
		padding:10px 0 10px 25px;
	}
}

/*Humberger PC
-----------------------------------------------------------*/

#hgbtn {
	position:fixed;
	top:-60px;
	right:35px;
	z-index:999;
}

.tcon {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 59px;
  transition: 0.3s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 40px;
  background: transparent;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent;
  background-color:#0075c2;
  padding:0 17px;
  border-radius: 5px;
  -webkit-border-radius: 5px;	
  -moz-border-radius: 5px;  
}
  .tcon > * {
    display: block; }
  .tcon:hover, .tcon:focus {
    outline: none; }
  .tcon::-moz-focus-inner {
    border: 0; }

.tcon-menu__lines {
  display: inline-block;
  height: 3px;
  width: 25px;
  border-radius: 2px;
  transition: 0.3s;
  background-color:#fff;
  position: relative; }
  .tcon-menu__lines::before, .tcon-menu__lines::after {
    display: inline-block;
    height:3px;
    width: 25px;
    border-radius: 2px;
    transition: 0.3s;
  background-color:#fff;
    content: '';
    position: absolute;
    left: 0;
    -webkit-transform-origin: 2px center;
    transform-origin: 2px center;
    width: 100%; }
  .tcon-menu__lines::before {
    top: 10px; }
  .tcon-menu__lines::after {
    top: -10px; }
  .tcon-transform .tcon-menu__lines {
    -webkit-transform: scale3d(0.8, 0.8, 0.8);
    transform: scale3d(0.8, 0.8, 0.8); }

.tcon-menu--xbutterfly {
  width: auto; }
  .tcon-menu--xbutterfly .tcon-menu__lines::before, .tcon-menu--xbutterfly .tcon-menu__lines::after {
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    transition: top .3s .6s ease, -webkit-transform .3s ease;
    transition: top .3s .6s ease, transform .3s ease; }
  .tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines {
    background: transparent; }
    .tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines::before, .tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines::after {
      top: 0;
      transition: top .3s ease, -webkit-transform .3s .5s ease;
      transition: top .3s ease, transform .3s .5s ease;
      width: 25px; }
    .tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines::before {
      -webkit-transform: rotate3d(0, 0, 1, 45deg);
      transform: rotate3d(0, 0, 1, 45deg); }
    .tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines::after {
      -webkit-transform: rotate3d(0, 0, 1, -45deg);
      transform: rotate3d(0, 0, 1, -45deg); }

.tcon-visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }
  .tcon-visuallyhidden:active, .tcon-visuallyhidden:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto; }

	
/*Humberger SP 
-----------------------------------------------------------*/

#hgsp {
	width:63px;
	height:63px;
	position:fixed;
	top:3px;
	right:6px;
	background-color:#fff;
	border-radius: 5px;
	-webkit-border-radius: 5px;	
	-moz-border-radius: 5px; 
	z-index:777;
}

#hgsp div {
	width:32px;
	height:3px;
	background-color:#0075c2;
	position:absolute;
	left:16px;
}

#l01 { top:19px; }
#l02 { top:30px; }
#l03 { top:41px; }

#close {
	display:none;
	width:63px;
	height:63px;
	position:fixed;
	top:3px;
	right:6px;
	z-index:999;
}

#close div {
	width:32px;
	height:3px;
	background-color:#fff;
	position:absolute;
	top:30px;
	left:16px;
}

#l04 {
	-webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
}

#l05 {
	-webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
}

/*SNS SP 
-----------------------------------------------------------*/

#snsSp {
	width:120%;
	border-top:solid 1px #999;
	border-bottom:solid 1px #999;
	position: relative;
	top:15px;
	left:-20px;
	overflow: hidden;
	margin-bottom:10px;
	padding-top:10px;
	padding-bottom:3px;
}

#snsSp ul {
	float:left;
	left:40%;
	position:relative;
}

#snsSp li {
	float:left;
	left:-40%;
	position:relative;
	margin:0 5px;
}

#snsSp li img {
	width:40px;
	height:40px;
}