@charset "UTF-8";
/* CSS Document */

/* ----------------------------------------------------------------------------------------------------
  text
* --------------------------------------------------------------------------------------------------*/
.txtStyle01 {
	font-size: 15px;
	line-height: 1.8;
}

@media screen and (max-width:750px) {
	.txtStyle01 {
		font: inherit;
	}
}

/* color
--------------------------------------------------*/
.colorBlack{
	color: #505050;
}
.colorBlue{
	color: #003557;
}
.colorRed{
	color: #b81c22;
}

/* font-family
--------------------------------------------------*/
.yuGothic {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.yuMincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* align
--------------------------------------------------*/
.taL {
	text-align: left !important;
}
.taC {
	text-align: center !important;
}
.taR {
	text-align: right !important;
}
.vaT {
	vertical-align: top !important;
}

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

/* title
--------------------------------------------------*/
.ttlStyle01 {
	margin-bottom: 20px;
	color: #003557;
	font-size: 20px;
	font-weight: bold;
}
.ttlStyle02 {
	margin-bottom: 60px;
	text-align: center;
	font-family: 'Crimson Text', serif;
	font-size: 40px;
	line-height: 1.5;
}
.ttlStyle03 {
	margin-bottom: 35px;
	text-align: center;
	color: #191919;
	font-size: 15px;
	font-weight: bold;
}
.ttlStyle04 {
	text-align: center;
	font-family: 'Crimson Text', serif;
	font-size: 20px;
	font-weight: 400;
}
.ttlStyle05 {
	text-align: center;
	font-family: 'Crimson Text', serif;
	font-size: 30px;
	line-height: 1.2;
	font-style: italic;
}

@media screen and (max-width:750px) {
	.ttlStyle01 {
		margin-bottom: 10px;
	}
	.ttlStyle02 {
		margin-bottom: 5px;
		font-size: 30px;
	}
	.ttlStyle03 {
		margin-bottom: 0;
	}
}


/* ----------------------------------------------------------------------------------------------------
  other
* --------------------------------------------------------------------------------------------------*/
.fL {
	float: left;
}
.fR {
	float: right;
}
.cB {
	clear: both;
}
.imgFull {
	width: 100%;
}

@media screen and (max-width:750px) {
	.pcOnly {
		display: none !important;
	}
}
@media print, screen and (min-width:751px) {
	.spOnly {
		display: none !important;
	}
}
.bgBlue{
	background: #003557;
}

/* button
--------------------------------------------------*/
[class*="btnStyle"] {
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	cursor: pointer;
	line-height: 1.0;
}
.btnStyle01 {
	font-size: 12px;
	font-weight: bold;
	transition: 0.6s;
}
.btnStyle01:hover {
	color: #deac00;
}
.btnStyle02{
	display: block;
	width: 100%;
	max-width: 162px;
	padding: 13px 0 12px;
	margin: auto;
	transition: 0.6s;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	background: #deac00;
}
.btnStyle02:hover{
	background: #003557;
}

.btnStyle03{
	display: block;
	max-width: 450px;
	padding: 8px;
	margin: auto;
	background: #deac00;
	transition: 0.6s;
	text-align: center;
	color: #fff;
	font-size: 30px;
	font-weight: bold;
}
.btnStyle03:hover{
	background: #003557;
}
.btnStyle03 span{
	display: block;
	padding: 25px 0 20px;
	border: solid 1px #fff;
}

@media screen and (max-width:750px) {
	.btnStyle03 {
		font-size: 25px;
		letter-spacing: -0.02em;
	}
	.btnStyle03 span {
		padding: 18px 0 16px;
	}
}

/* table
--------------------------------------------------*/
.tableStyle01 {
	width: 100%;
	max-width: 510px;
	border: solid 1px #ccc;
	margin: auto;
}
.tableStyle01 tr + tr {
	border-top: solid 1px #ccc;
}
.tableStyle01 tr > * {
	padding: 3px 1.3em 2px;
	vertical-align: top;
}
.tableStyle01 th {
	width: 105px;
	border-right: solid 1px #ccc;
	text-align: center;
}
.tableStyle01 td {
	letter-spacing: -0.03em;
}

@media screen and (max-width:750px) {
	.tableStyle01 tr > * {
		padding: 3px 1em 2px;
	}
	.tableStyle01 th {
		width: 90px;
	}
}

/* list
--------------------------------------------------*/
.imageList01 li {
	width: 29.6%;
	margin-right: 5.6%;
	float: left;
}
.imageList01 li:nth-child(3n) {
	margin-right: 0;
}

@media screen and (max-width:750px) {
	.imageList01 li {
		width: 32.8%;
		margin-right: 0.8%;
	}
}

.imageList02 {
	overflow: hidden;
}
.imageList02 li {
	max-width: 47.34%;
	margin-top: 5.32%;
	float: left;
}
.imageList02 li:nth-child(even) {
	float: right;
}

@media screen and (max-width:750px) {
	.imageList02 li {
		max-width: 49.5%;
		margin-top: 1%;
	}
}

/* dl
--------------------------------------------------*/
.dlStyle01 + .dlStyle01 {
	margin-top: 4em;
}
.dlStyle01 dt {
	color: #191919;
	font-weight: bold;
}
.dlStyle01 dd + dt {
	padding-top: 1em;
	border-top: dashed 1px #505050;
	margin-top: 1em;
}
.dlStyle01 dd > p + p {
	margin-top: 2em;
}

/* box
--------------------------------------------------*/
.leadBox{
	margin-bottom: 50px;
	text-align: center;
}

@media screen and (max-width:750px) {
	.leadBox{
		margin-bottom: 35px;
	}
}

/* フルページ アニメーション
--------------------------------------------------*/
.pcSecWrap .section .inner,
.pcSecWrap .slide .inner {
	position: relative;
	height: 100vh;
	padding-top: 50px;
}

@media screen and (max-width:750px) {
	.pcSecWrap .slide .inner {
		height: 100%;
		min-height: 640px;
		padding-top: 15px;
	}
	.pcSecWrap .slide:nth-child(2) .inner {
		min-height: 550px;
	}
	.pcSecWrap .slide:nth-child(3) .inner {
		min-height: 510px;
	}
	.pcSecWrap .slide:nth-child(4) .inner {
		min-height: 570px;
	}
	.pcSecWrap .fp-tableCell {
		position: relative;
		vertical-align: top;
	}
	.iScrollVerticalScrollbar.iScrollLoneScrollbar{
		display: none !important;
	}
}

/* lNavi */
.lNavi {
	position: fixed;
	left: 0;
	top: 55px;
	width: 100%;
	background: #fff;
	text-align: center;
	z-index: 1;
}
.lNavi ol {
	margin: 0 auto;
	font-size: 0;
}
.lNavi li {
	display: inline-block;
	width: 30px;
	height: 30px;
	padding-top: 8px;
	font-size: 12px;
	color: #deac00;
	border: 1px solid #deac00;
	line-height: 1.0;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	cursor: pointer;
}
.lNavi li + li {
	margin-left: -1px;
}
.lNavi li.active {
	background: #deac00;
	color: #fff;
	font-weight: bold;
}

/* fp-nav */
#fp-nav {
	margin: 0 !important;
	background: #ff0;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 10;
}
#fp-nav li {
	border: solid 1px #deac00;
}
#fp-nav li + li {
	border-top: none;
}
#fp-nav li .active {
	background: #deac00;
	color: #fff;
}
#fp-nav li a {
	display: block;
	width: 30px;
	height: 30px;
	background: #fff;
}
#fp-nav li a:before {
	width: 100%;
	position: absolute;
	left: -1px;
	content: "1";
	text-align: center;
	color: #deac00;
	font-weight: bold;
	line-height: 30px;
}
#fp-nav li .active:before {
	color: #fff;
}
#fp-nav li:nth-child(2) a:before {
	content: "2";
}
#fp-nav li:nth-child(3) a:before {
	content: "3";
}
#fp-nav li:nth-child(4) a:before {
	content: "4";
}
#fp-nav li:nth-child(5) a:before {
	content: "5";
}
#fp-nav li:nth-child(6) a:before {
	content: "6";
}
#fp-nav li:nth-child(7) a:before {
	content: "7";
}
#fp-nav li:nth-child(8) a:before {
	content: "8";
}
.animate {
	opacity: 0;
}

@media screen and (max-width:750px) {
	#fp-nav {
		display: none;
	}
	.animate {
		opacity: 1;
	}
}


/* 共通部分以外のアニメーション
--------------------------------------------------*/
.animated {
	animation-duration: 1s;
	animation-fill-mode: both;
	opacity: 0;
}
.second {
	-webkit-animation-delay: .1s;
	animation-delay: .1s;
}
.third {
	-webkit-animation-delay: .2s;
	animation-delay: .2s;
}
.fourth {
	-webkit-animation-delay: .3s;
	animation-delay: .3s;
}
.fifth {
	-webkit-animation-delay: .4s;
	animation-delay: .4s;
}
.sixth {
	-webkit-animation-delay: .5s;
	animation-delay: .5s;
}
.seventh {
	-webkit-animation-delay: .6s;
	animation-delay: .6s;
}
.eighth {
	-webkit-animation-delay: .7s;
	animation-delay: .7s;
}
.ninth {
	-webkit-animation-delay: .8s;
	animation-delay: .8s;
}
.tenth {
	-webkit-animation-delay: .9s;
	animation-delay: .9s;
}
.eleventh {
	-webkit-animation-delay: 1.0s;
	animation-delay: 1.0s;
}

@keyframes fadeInLeft {
	from {
		opacity: 0;
		transform: translate3d(-30%, 0, 0);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.fadeInLeft.anmOn {
	animation-name: fadeInLeft;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translate3d(0, 30%, 0);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.fadeInUp.anmOn {
	animation-name: fadeInUp;
}

@media screen and (max-width:750px) {
	.animated {
		opacity: 1.0;
	}
}


/* radio button
--------------------------------------------------*/
input[type="radio"] , input[type="checkbox"]{
   -webkit-transform: scale(1.5);
   transform: scale(1.5);
   margin-right: 0.5em;
   margin-bottom: 0.5em;
   margin-left: 25px;
}
