@charset "utf-8";

/*==============================
	基本設定
==============================*/
body{
	color: #005CB3;
	font-size:12px;
	font-family: 'Archivo', sans-serif;
	margin:0;
	padding:0;
	text-align:left;
	background:#FFF;
	-webkit-text-size-adjust:100%;
	position:relative;
	font-weight: 500;
}

body *, body *::before, body *::after{box-sizing:border-box;}
img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:500;}
th{
	font-weight:500;
	text-align:left;
}

/*font layout*/
.fBold{font-weight:bold;}
.fAmiko{font-family: 'Amiko', sans-serif;}

/*基本リンク設定*/
a{
	color: #005CB3;
	text-decoration: none;
}
a:focus{outline:none;}

/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover{ filter:alpha(opacity=80);opacity:0.8; }
.ro a,
a.ro,
a .ro{
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
@media only screen and (max-width:1023px){
	.ro a:hover,
	a.ro:hover,
	a .ro:hover{ filter:alpha(opacity=100);opacity:1.0; }
}

/*rollover(brightnessによる変化)*/
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.brt a,
a.brt,
a .brt{
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
@media only screen and (max-width:1023px){
	.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1);filter: brightness(1); }
}

/*ro無効化*/
.ro .no_ro a:hover,
.ro a.no_ro:hover{ filter:alpha(opacity=100);opacity:1; }

/*========================================
	レスポンシブ用(不要な場合は削除)
========================================*/
.spOnly,
.brSp,
.imgSp{
	display:none;
}
.img100{
	width: 100%;
	height: auto;
}
@media only screen and (max-width:1023px){
	.spNone,
	.brPc,
	.imgPc{
		display:none;
	}
	.spOnly{
		display:block;
	}
	.brSp,
	.imgSp{
		display:inline;
	}
	.imgR{
		width:100%;
		height:auto;
	}
}

/*-----------------------------------------------
	jsHide
-----------------------------------------------*/
.jsHide{
	opacity: 0;
	-webkit-transform: translate(0px, -15px);
	transform: translate(0px, -15px);
	-webkit-transition: opacity 2s ease, -webkit-transform 2s ease;
	transition: opacity 2s ease, -webkit-transform 2s ease;
	transition: opacity 2s ease, transform 2s ease;
	transition: opacity 2s ease, transform 2s ease, -webkit-transform 2s ease;
}
.jsHide.lazyloaded.jsShow,
#header .jsHide.jsShow,
.sec01 .jsHide.jsShow,
#footer .jsHide.jsShow{
	-webkit-transform: none;
	transform: none;
	opacity: 1;
}
.jsHide.lazyloaded.jsShow02,
#header .jsHide.jsShow02,
.sec01 .jsHide.jsShow02,
#footer .jsHide.jsShow02{
	-webkit-transform: none;
	transform: none;
	-webkit-transition: opacity 2s ease;
	transition: opacity 2s ease;
	opacity: 1;
}
@media only screen and (max-width:1023px){
	.jsHide{
		-webkit-transform: translate(0px, -7.5px);
		transform: translate(0px, -7.5px);
	}
}

/*-----------------------------------------------
	header
-----------------------------------------------*/
#header .mainLogo{
	position: fixed;
	top: 27px;
	left: calc((33 / 1280) * 100%);
	z-index: 9999;
}
#header .btnStore{
	position: fixed;
	top: 123px;
	left: calc((33 / 1280) * 100%);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#header .btnStore a{
	position: relative;
	display: inline-block;
	text-decoration: none;
	font-size: 14px;
}
#header .btnStore a::after{
	position: absolute;
	left: 50%;
	top: 0;
	content: '';
	width: 2px;
	height: 100%;
	background: #005CB3;
	transform: scale(1, 0);
	transform-origin: left bottom;
	transition: transform .3s;
	-webkit-transform: scale(1, 0);
	-webkit-transform-origin: left bottom;
	-webkit-transition: transform .3s;
}
#header .btnStore a:hover::after{
	transform-origin: left top;
	transform: scale(1, 1);
	-webkit-transform-origin: left top;
	-webkit-transform: scale(1, 1);
}
@media only screen and (max-width:1023px){
	#header .btnStore{
		position: fixed;
		top: 30px;
		left: calc((16 / 375) * 100%);
		z-index: 9999;
	}
	#header .btnStore a{
		font-size: 15px;
	}
	#header .btnStore a::after{
		display: none;
	}
}

/*-----------------------------------------------
	main
-----------------------------------------------*/
#main,
#footer{
	width: calc((1024 / 1280) * 100%);
	margin: 0 auto;
}
@media only screen and (max-width:1023px){
	#main,
	#footer{
		width: calc((355 / 375) * 100%);
	}
}

/* sec01 */
.sec01{
	margin-top: calc((80 / 1024) * 100%);
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}
.sec01 .img{
	width: calc((512 / 1024) * 100%);
}
.sec01 .tit{
	width: calc((381 / 1024) * 100%);
	margin-top: 28.5%;
}
@media only screen and (max-width:1023px){
	.sec01{
		margin-top: 0;
		flex-direction: column-reverse;
		-webkit-flex-direction: column-reverse;
	}
	.sec01 .img{
		width: calc((280 / 355) * 100%);
		margin: 0 auto;
	}
	.sec01 .tit{
		width: calc((252 / 355) * 100%);
		max-width: 252px;
		padding: calc((25 / 355) * 100%) 0;
		display: flex;
		display: -webkit-flex;
		align-items: center;
		-webkit-align-items: center;
		margin: 0 auto;
	}
}

/* sec02 */
.sec02{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: center;
	-webkit-align-items: center;
	margin-top: calc((117 / 1024) * 100%);
}
.sec02 .img01{
	width: calc((512 / 1024) * 100%);
}
.sec02 .img02{
	width: calc((384 / 1024) * 100%);
}
@media only screen and (max-width:1023px){
	.sec02{
		margin-top: calc((100 / 355) * 100%);
		align-items: flex-start;
		-webkit-align-items: flex-start;
	}
	.sec02 .img01{
		width: calc((210 / 355) * 100%);
	}
	.sec02 .img02{
		width: calc((134 / 355) * 100%);
		margin-top: calc((155 / 355) * 100%);
	}
}

/* sec03 */
.sec03{
	margin-top: calc((117 / 1024) * 100%);
}
@media only screen and (max-width:1023px){
	.sec03{
		margin-top: calc((60 / 355) * 100%);
	}
}

/* sec04 */
.sec04{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: center;
	-webkit-align-items: center;
	margin-top: calc((117 / 1024) * 100%);
}
.sec04 .img01{
	width: calc((512 / 1024) * 100%);
}
.sec04 .img02{
	width: calc((448 / 1024) * 100%);
}
.sec04 .img02 img{
	width: calc((576 / 448) * 100%);
	height: auto;
}
@media only screen and (max-width:1023px){
	.sec04{
		margin-top: calc((60 / 355) * 100%);
		flex-direction: column;
		-webkit-flex-direction: column;
	}
	.sec04 .img01{
		width: calc((195 / 355) * 100%);
		margin: 0 auto 0 0;
	}
	.sec04 .img02{
		width: calc((194 / 355) * 100%);
		margin: 0 0 0 auto;
	}
	.sec04 .img02 img{
		width: 100%;
	}
}

/* sec05 */
.sec05{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: center;
	-webkit-align-items: center;
	margin-top: calc((117 / 1024) * 100%);
}
.sec05 .img01{
	width: calc((384 / 1024) * 100%);
}
.sec05 .img02{
	width: calc((512 / 1024) * 100%);
}
.sec05 .img02 img{
	width: calc((640 / 512) * 100%);
	height: auto;
}
@media only screen and (max-width:1023px){
	.sec05{
		margin-top: calc((60 / 355) * 100%);
		align-items: flex-start;
		-webkit-align-items: flex-start;
	}
	.sec05 .img01{
		width: calc((140 / 355) * 100%);
		margin-top: calc((30 / 355) * 100%);
	}
	.sec05 .img02{
		width: calc((194 / 355) * 100%);
	}
	.sec05 .img02 img{
		width: 100%;
	}
}

/* sec06 */
.sec06{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: flex-start;
	-webkit-align-items: flex-start;
	margin-top: calc((117 / 1024) * 100%);
}
.sec06 .img01{
	width: calc((322 / 1024) * 100%);
	margin-top: calc((90 / 1024) * 100%);
}
.sec06 .img02{
	width: calc((640 / 1024) * 100%);
}
.sec06 .img02 img{
	width: calc((768 / 640) * 100%);
	height: auto;
}
@media only screen and (max-width:1023px){
	.sec06{
		margin-top: calc((60 / 355) * 100%);
		flex-direction: column-reverse;
		-webkit-flex-direction: column-reverse;
	}
	.sec06 .img01{
		width: calc((170 / 355) * 100%);
		margin: 0 auto 0 calc((105 / 355) * 100%);
	}
	.sec06 .img02{
		width: calc((275 / 355) * 100%);
	}
	.sec06 .img02 img{
		width: 100%;
	}
}

/* sec07 */
.sec07{
	margin-top: calc((117 / 1024) * 100%);
}
@media only screen and (max-width:1023px){
	.sec07{
		margin-top: calc((60 / 355) * 100%);
	}
}

/* sec08 */
.sec08{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: center;
	-webkit-align-items: center;
	margin-top: calc((117 / 1024) * 100%);
}
.sec08 .img01{
	width: calc((451 / 1024) * 100%);
}
.sec08 .img02{
	width: calc((512 / 1024) * 100%);
}
@media only screen and (max-width:1023px){
	.sec08{
		margin-top: calc((60 / 355) * 100%);
		flex-direction: column-reverse;
		-webkit-flex-direction: column-reverse;
	}
	.sec08 .img01{
		width: calc((297 / 355) * 100%);
		margin: calc((10 / 355) * 100%) auto 0 0;
	}
	.sec08 .img02{
		width: calc((297 / 355) * 100%);
		margin: 0 0 0 auto;
	}
}

/* sec09 */
.sec09{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: flex-start;
	-webkit-align-items: flex-start;
	margin-top: calc((117 / 1024) * 100%);
}
.sec09 .img01{
	width: calc((512 / 1024) * 100%);
}
.sec09 .img02{
	width: calc((450 / 1024) * 100%);
	margin-top: calc((378 / 1024) * 100%);
}
@media only screen and (max-width:1023px){
	.sec09{
		margin-top: calc((60 / 355) * 100%);
		flex-direction: column-reverse;
		-webkit-flex-direction: column-reverse;
	}
	.sec09 .img01{
		width: calc((243 / 355) * 100%);
		margin: calc((10 / 355) * 100%) auto 0 0;
	}
	.sec09 .img02{
		width: calc((263 / 355) * 100%);
		margin: 0 0 0 auto;
	}
}

/* sec10 */
.sec10{
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	margin-top: calc((117 / 1024) * 100%);
}
.sec10 .img01,
.sec10 .img02{
	width: calc((512 / 1024) * 100%)
}
.sec10 .img02 img{
	width: calc((640 / 512) * 100%);
	height: auto;
}
@media only screen and (max-width:1023px){
	.sec10{
		margin-top: calc((60 / 355) * 100%);
		flex-direction: column-reverse;
		-webkit-flex-direction: column-reverse;
	}
	.sec10 .img01{
		width: calc((239 / 355) * 100%);
		margin: calc((10 / 355) * 100%) auto 0 calc((24 / 355) * 100%);
	}
	.sec10 .img02{
		width: calc((331 / 355) * 100%);
		margin: 0 0 0 auto;
	}
	.sec10 .img02 img{
		width: 100%;
	}
}

/* sec11 */
.sec11{
	margin-top: calc((117 / 1024) * 100%);
}
@media only screen and (max-width:1023px){
	.sec11{
		margin-top: calc((60 / 355) * 100%);
	}
}

/* sec12 */
.sec12{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: center;
	-webkit-align-items: center;
	margin-top: calc((117 / 1024) * 100%);
}
.sec12 .img01{
	width: calc((451 / 1024) * 100%);
}
.sec12 .img02{
	width: calc((512 / 1024) * 100%);
}
@media only screen and (max-width:1023px){
	.sec12{
		margin-top: calc((60 / 355) * 100%);
		flex-direction: column-reverse;
		-webkit-flex-direction: column-reverse;
	}
	.sec12 .img01{
		width: calc((296 / 355) * 100%);
		margin: calc((10 / 355) * 100%) auto 0 0;
	}
	.sec12 .img02{
		width: calc((229 / 355) * 100%);
		margin: 0 0 0 auto;
	}
}

/* btnTop */
.btnTop{
	display: none;
	position: fixed;
	bottom: calc((36 / 1280) * 100%);
	right: calc((36 / 1280) * 100%);
	z-index: 9999;
}
.btnTop a{
	display: flex;
	display: -webkit-flex;
	width: 30px;
	height: 30px;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
}
@media only screen and (max-width:1023px){
	.btnTop{
		bottom: calc((11 / 375) * 100%);
		right: calc((16 / 375) * 100%);
	}
}

/*-----------------------------------------------
	footer
-----------------------------------------------*/
#footer{
	padding: calc((67 / 1024) * 100%) 0 calc((70 / 1024) * 100%);
}
#footer .txtCopy{
	font-size: 12px;
	line-height: 21px;
	letter-spacing: 0.25px;
}
#footer .txtLink{
	margin-top: calc((22 / 1024) * 100%);
	font-size: 12px;
	letter-spacing: 0.25px;
}
#footer .txtLink a {
	position: relative;
	display: inline-block;
	text-decoration: none;
}
#footer .txtLink a::after {
	position: absolute;
	bottom: 4px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #005CB3;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
#footer .txtLink a:hover::after {
	transform-origin: left top;
	transform: scale(1, 1);
}
@media only screen and (max-width:1023px){
	#footer{
		padding: calc((80 / 355) * 100%) 0 calc((83 / 355) * 100%);
	}
	#footer .txtCopy{
		text-align: center;
	}
	#footer .txtLink{
		margin-top: calc((22 / 355) * 100%);
		text-align: center;
	}
	#footer .txtLink a::after {
		display: none;
	}
}
