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

/*  Reset

/* ------------------------------------------------------------------------ */

html {
	overflow-y	: scroll;
	height		: 100%;
	font-size	: 62.5%;
	-webkit-text-size-adjust: 100%;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,form,fieldset,p,blockquote {
	margin 	: 0;
	padding : 0;
}

fieldset {
	display	: inline;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style : normal;
}

body/**/table {
	line-height	: 1.5;
}

q:before,
q:after {
	content : '';
}

object,embed {
	vertical-align : top;
}

hr,legend	{
	display : none;
}

h1,h2,h3,h4,h5,h6 {
	font-size : 100%;
}

img,abbr,acronym,fieldset {
	border : 0;
}

li {
	list-style-type : none;
}

img[usemap] {
	border		: none;
	height		: auto;
	max-width	: 100%;
	width		: auto;
}

img {
	border		: 0;
	max-width	: 100%;
}

i {
	padding	: 5px 5px 2px 0;
}

p {
	word-break	: break-all;
}

/* Flexible Images */
img{
    max-width	: 100%;
    height		: auto;
    width /***/	: auto;
}

submit	{ -webkit-appearance : none;}

/* ------------------------------------------------------------------------ */

/*  Basic Style

/* ------------------------------------------------------------------------ */

body {
	margin		: 0;
	padding		: 0;
	height		: 100%;
	font-family: 'Shin Go Regular',
	serif,'ヒラギノ角ゴ W3',
	"メイリオ",
	Meiryo,
	MS PGothic,
	arial,
	sans-serif;
	font-size	: 2.0rem;
	font-size	: 20px;
	font-weight: 500;
	line-height	: 1.75;
	text-align	: center;
	letter-spacing: 0.07em;
	color		: #333;
	-webkit-text-size-adjust	: 100%;
	font-smoothing	: auto;
	background: transparent url('/common/img/bg_main.jpg') repeat center top;
	background-size: 500px auto;
}

body * {
	box-sizing: border-box;
}

#wrap{
	margin		: 0 auto;
	text-align	: center;
}

body > #wrap { height : auto;}

body p {
	margin: 0 0 1.0em;
}

body strong {
	font-family: 'Shin Go Bold',
	serif,
	'ヒラギノ角ゴ W3',
	"メイリオ",
	Meiryo,
	MS PGothic,
	arial,
	sans-serif;
}

.container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

img {
	backface-visibility: hidden;
	max-width: 100%;
}

.animation {
	transition: 0.5s all ease;
}

.animation[data-emergence="hidden"] {
	opacity: 0;
	transform: translateY(20px);
}

.animation[data-emergence="visible"] {
	opacity: 1;
	transform: none;
}

/*---------------------- responsive styles -----------------------*/
@media screen and (max-width:1200px) {
	.container {
		padding: 0 20px;
	}
}

/*---------------------- responsive styles -----------------------*/
@media screen and (max-width:767px) {
	body {
		background-size: 250px auto;
	}
}

/*---------------------- responsive styles -----------------------*/
@media screen and (max-width:640px) {
	body {
		font-size: 16px;
		font-size: 1.6rem;
	}
}


/* Link
--------------------------------------------------------------------------- */

.opacity a:hover img{
	opacity: 0.85;
}

a:link	{
	text-decoration	: none;
	color			: #222;
}

a:visited	{
	text-decoration	: none;
	color			: #222;
}

a:hover	{
	text-decoration	: underline;
}


/* ------------------------------------------------------------------------ */

/* Hedaer

/* ------------------------------------------------------------------------ */

header {
	font-weight: 700;
	width: 100%;
	background: rgba(255,255,255,0.8);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
}

/*---------------------- responsive styles -----------------------*/
@media screen and (min-width:641px) {
	header .spLogo,
	header .spMenu {
		display: none;
	}
}
@media screen and (max-width:640px) {
	header {
		background: none;
	}

	header .spLogo {
		position: fixed;
		top: 6px;
		left: 10px;
		width: calc(100% - 180px);
		max-width: 220px;
	}
	
	body.b_top header .spLogo {
		display: none !important;
	}

	header .spMenu {
		width: 84px;
		height: 78px;
		font-size: 14px;
		font-size: 1.4rem;
		position: fixed;
		padding: 10px;
		background: rgba(255,255,255,0.7);
		right: 0;
		top: 0;
		z-index: 9999;
	}

	header .spMenu .fas {
		font-size: 40px;
		padding: 0 0 0 0;
	}

	header .spMenu span {
		display: block;
		line-height: 1;
	}
}


/* ------------------------------------------------------------------------ */

/* Navigation

/* ------------------------------------------------------------------------ */

nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

nav p.logo {
	width: 240px;
	margin: 0 0 0 0;
	padding: 0 20px;
}

nav ul {
	width: calc(100% - 240px);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

nav ul li {
	width: calc(100% / 4);
}

nav ul li a {
	display: block;
	padding: 20px 0;
	transition: 0.2s all ease;
}

nav ul li a:hover {
	background: rgba(136, 20, 121, 0.8);
	text-decoration: none;
	color: #fff;
}

/*---------------------- responsive styles -----------------------*/
@media screen and (max-width:640px) {
	nav {
		display: none;
		padding: 80px 0 0;
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: #fff;
	}

	nav p.logo {
		display: none;
	}

	nav ul {
		width: 100%;
		display: block;
		border-top: 1px solid #000;
	}

	nav ul li {
		width: 100%;
		border-bottom: 1px solid #000;
	}
}


/* ------------------------------------------------------------------------ */

/* Contents

/* ------------------------------------------------------------------------ */

#mainBlock {
	padding: 100px 0 0;
}

/*---------------------- responsive styles -----------------------*/
@media screen and (max-width:640px) {
	#mainBlock {
		padding: 64px 0 0
	}
}


/* ------------------------------------------------------------------------ */

/* Footer

/* ------------------------------------------------------------------------ */

footer {
	margin: 120px 0 0;
	padding: 10px 0;
	background: #8600b0;
}

footer p.copyright {
	margin: 0 0 0 0;
	font-size: 0.7em;
	color: #fff;
}

/*---------------------- responsive styles -----------------------*/
@media screen and (max-width:640px) {
	footer p.copyright {
		font-size: 2.5vw;
		letter-spacing: 0;
	}
}