@charset "UTF-8";
html{color:#000;background:#FFF}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,figure,figcaption{margin:0;padding:0}
table{border-collapse:collapse;border-spacing:0}
fieldset,img{border:0}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section { display: block }
caption { text-align: left; }
img { vertical-align: top; }
html {font-size: 100%;-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;}
main {display: block;/* for IE */}
abbr,acronym{border:0;font-variant:normal}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}
input,textarea,select{font-size:100%}
input,button,textarea,select {font-size: 100%;font-family: inherit;color: inherit;}
input[type="checkbox"],input[type="radio"] {box-sizing: border-box;padding: 0;}
input[type="button"],input[type="submit"] {border-radius: 0;-webkit-appearance: none;}
textarea {overflow: auto;vertical-align: top;}
li {list-style: none;}

/*==================================================
Body_Bace
==================================================*/
html { overflow:auto; }
body {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	font-size: 14px;
	line-height: 100%;
	color: #333;
	letter-spacing: 0.03em;
	background: #eee;
	font-family: YuGothic, Yu Gothic, "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	word-wrap: break-word;
}


/*------ link ------*/
a,a:hover { color: #333; }
.tel-link a { display: inline; color: #407395 !important; text-decoration: none; }

/*------ common ------*/
#wapper { margin: 0; }
.main h1, .main h2, .main h3, .main h4 { line-height: 120%; }
.main p, .main li, .main dt, .main dd { line-height: 170%; }
sup { font-size: 0.5em; }

/*------ media ------*/
@media(min-width:1px) and (max-width: 1210px) {
	body { min-width: 100%; -webkit-text-size-adjust: none;}
	img { max-width: 100%; width : auto; height: auto; }
}
@media(min-width:1px) and (max-width: 1150px) {
	.inner {
		width: 94%;
	}
}
@media(min-width:1px) and (max-width: 480px) {
	body { min-width: 100%; -webkit-text-size-adjust: none; font-size: 13px; }
}

	@media(min-width:1px) and (max-width: 980px) {
	}
	@media(min-width:1px) and (max-width: 900px) {
	}
	@media(min-width:1px) and (max-width: 640px) {
	}
	@media(min-width:1px) and (max-width: 480px) {
	}
	
/*=================================================
 header
==================================================*/
/* home &page common  */
.gnav li {
	display: inline-block;
	padding: 0 20px;
}
.gnav a {
	position: relative;
	color: #fff;
	text-decoration: none;
}
.gnav li a::after {
	position: absolute;
	bottom: -2px;
	left: 50%;
	content: '';
	width: 0;
	height: 1px;
	background: #fff;
	transition: .3s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.gnav li a:hover::after {
	width: 100%;
}

/* home --- only */
.home #header {
	position: absolute;
	top: 65px;
	left: 0;
	width: 100%;
	z-index: 100;
}
.home #header h1 {
	width: 238px;
	padding: 0 0 30px;
	margin: 0 auto;
}
.home #header h1 img {
	width: 100%;
}
.home .gnav {
	text-align: center;
}
	@media(min-width:1px) and (max-width:640px) {
		.home #header {
			position: fixed;
			top: 0;
			left: 0;
			height: 50px;
			background: #5e318f;
		}
		.home #header h1 {
			width: 238px;
			padding: 6px 3% 0;
			margin: 0;
		}
		#header .gnav {
			display: none;
		}
	}

/* page --- only */
.page #header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 120px;
	z-index: 1000;
	background: #eee;
}
.page #header:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.page #header h1 {
	width: 288px;
	float: left;
	padding: 40px 0 44px 35px;
}
.page #header h1 .imgSp {
	display: none;
}
.page #header .gnav {
	float: right;
	padding: 60px 30px 0 0;
}
.page #header .gnav a {
	text-decoration: none;
	color: #333;
}
.page #header .gnav li a.current {
	color: #999;
}
.page #header .gnav li a.current:before {
	position: absolute;
	bottom: -2px;
	left: -10%;
	content: '';
	width: 120%;
	height: 1px;
	background: #333;
	transition: .3s;
}
.page #header .gnav li a.current:after {
	width: 0;
}
.page .gnav li a::after {
	background: #333;
}
	@media(min-width:1px) and (max-width:768px) {
		.page #header {
			height: 50px;
		}
		.page #header h1 {
			width: 238px;
			padding: 6px 3% 0;
		}
		.page #header .gnav {
			float: right;
			padding: 22px 10px 0 0;
		}
		.page #header .gnav li {
			padding: 0 7px;
			font-size: 12px;
		}
	}
	@media(min-width:1px) and (max-width:640px) {
		.page #header {
			background: #5e318f;
		}
		.page #header h1 .imgSp {
			display: block;
		}
		.page #header h1 .imgPc {
			display: none;
		}
	}

/*=================================================
#Responsive nav
==================================================*/ 
/* .fat-nav */
.fat-nav,
.hamburger {
	display: none;
}
	@media(min-width:1px) and (max-width:640px) {
		.fat-nav,
		.hamburger {
			display: block;
		}
	}
.fat-nav,.hamburger__icon,
.hamburger__icon:after,
.hamburger__icon:before {
	-moz-transition-duration:.4s;
	-o-transition-duration:.4s;
	-webkit-transition-duration:.4s
}
.hamburger {
	width:50px;
	height:50px;
	position:fixed;
	top: 0px;
	right: 0px;
	padding: 16px 12px 12px;
	background: #5e318f;
	line-height: 100%;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-tap-highlight-color:transparent;
	-ms-touch-action:manipulation;
	touch-action:manipulation;
	z-index: 9999;
}
.hamburger__icon {
	position:relative;
	margin-top:7px;
	margin-bottom:7px
}
.hamburger__icon,
.hamburger__icon:after,
.hamburger__icon:before {
	display:block;
	width:26px;
	height:2px;
	background-color:#fff;
	-moz-transition-property:background-color,-moz-transform;
	-o-transition-property:background-color,-o-transform;
	-webkit-transition-property:background-color,-webkit-transform;
	transition-property:background-color,transform;
	transition-duration:.4s
}
.hamburger__icon:after,
.hamburger__icon:before {
	position:absolute;
	content:""
}
.hamburger__icon:before {
	top:-7px
}
.hamburger__icon:after {
	top:7px
}
.hamburger.active .hamburger__icon {
	background-color:transparent
}
.hamburger.active .hamburger__icon:after,
.hamburger.active .hamburger__icon:before {
	background-color:#fff
}
.hamburger.active .hamburger__icon:before {
	-moz-transform:translateY(7px)rotate(45deg);
	-ms-transform:translateY(7px)rotate(45deg);
	-webkit-transform:translateY(7px)rotate(45deg);
	transform:translateY(7px)rotate(45deg)
}
.hamburger.active .hamburger__icon:after {
	-moz-transform:translateY(-7px)rotate(-45deg);
	-ms-transform:translateY(-7px)rotate(-45deg);
	-webkit-transform:translateY(-7px)rotate(-45deg);
	transform:translateY(-7px)rotate(-45deg)
}
.fat-nav {
	top:0;
	left:0;
	z-index:9999;
	position:fixed;
	display:none;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.8);
	-moz-transform:scale(1.4);
	-ms-transform:scale(1.4);
	-webkit-transform:scale(1.4);
	transform:scale(1.4);
	-moz-transition-property:-moz-transform;
	-o-transition-property:-o-transform;
	-webkit-transition-property:-webkit-transform;
	transition-property:transform;
	transition-duration:.4s;
	overflow-y:auto;
	overflow-x:hidden;
	-webkit-overflow-scrolling:touch;
	background: rgba(255,255,255,0.95);
}
.fat-nav__wrapper {
	width:100%;
	height:100%;
	display:table;
	table-layout:fixed
}
.fat-nav.active {
	-moz-transform:scale(1);
	-ms-transform:scale(1);
	-webkit-transform:scale(1);
	transform:scale(1)
}
.fat-nav li {
	list-style-type: none;
	text-align: center;
	font-size: 1.5em;
}
.fat-nav li a {
	text-decoration :none
}
.fat-nav li a:hover::after {
	width: 0;
}
.fat-nav .nav {
	width: 80%;
	margin: 0 auto;
	padding: 120px 0 50px;
}
.fat-nav .nav li {
	margin: 0 0 20px;
}
.fat-nav .nav li a {
	display: block;
	padding: 25px 10px;
	border: 1px solid #5e318f;
}
.fat-nav .nav li.entry a {
	color: #fff;
	background: #f07800;
}
.fat-nav .subnav {
	text-align: center;
	padding: 0 0 50px;
}
.fat-nav .subnav li a {
	display: block;
	padding: 25px 10px;
}
.fat-nav .subnav .tel {
	padding: 0 0 20px;
	font-size: 34px;
	font-family: 'Alegreya';
}
.fat-nav .subnav .tel a {
	position: relative;
	padding: 20px 15px 20px 40px;
	display: inline-block;
	border-radius: 4px; 
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}
.fat-nav .subnav .tel a:before {
	position: absolute;
	top: 50%;
	left: 10px;
	display: block;
	width: 24px;
	height: 24px;
	content: "";
	margin-top: -12px;
	background: url(../img/mobile.png) no-repeat 0 0;
	background-size: contain;
}
.fat-nav .subnav .btn {
	display: inline-block;
	padding: 0 5px;
}
.fat-nav .subnav .btn a {
	display: block;
	padding: 10px 10px;
	text-decoration: none;
	line-height: 100%;
	text-align: center;
	font-size: 18px;
	color: #fff;
	background: #e94f6a;
	letter-spacing: 0.1em;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	transition: .3s;
}
	@media(min-width:1px) and (max-width:415px) {
		.fat-nav li {
			font-size: 16px;
		}
	}

/*==================================================
page  #main
==================================================*/
.page #main {
	margin-top: 120px;/* headerの高さと連動 */
}
	@media(min-width:1px) and (max-width:768px) {
		.page #main {
			margin-top: 50px;
		}
	}

/* pageHeader */
#main header {
	position: relative;
	padding: 173px 0 90px;
}
#main header:before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 318px;
	content: "";
}
#main.strong header:before {
	background: url(../img/bg_strong.jpg) no-repeat 50% 50%;
	background-size: cover;
}
#main.profile header:before {
	background: url(../img/bg_profile.jpg) no-repeat 50% 50%;
	background-size: cover;
}
#main.privacy header:before,
#main.contact header:before {
	background: url(../img/bg_contact.jpg) no-repeat 50% 50%;
	background-size: cover;
}
#main header p,
#main header h1 {
	position: relative;
	z-index: 100;
}
#main header p img {
	width: 100%;
}
#main header h1 {
	font-size: 26px;
}
#main header h1 .en {
	display: block;
	padding: 10px 0 0;
	font-size: 12px;
	line-height: 140%;
}
	@media(min-width:1px) and (max-width:768px) {
		#main header {
			position: relative;
			padding: 26% 0 90px;
		}
		#main header:before {
			height: auto;
			padding: 40% 0 0;
		}
	}
	@media(min-width:1px) and (max-width:480px) {
		#main header h1 {
			font-size: 22px;
		}
		#main header h1 .en {
			font-size: 11px;
		}
	}

.aform-content .aform-name-ul li,
.aform-content .aform-kana-ul li {
	float: left;
	width: 50%;
}
.aform-content .aform-name-ul li input,
.aform-content .aform-kana-ul li input {
    width: 80% !important;
}
/*=================================================
contact
==================================================*/
.contact header p {
	width: 200px;
	padding: 0 0 25px;
	margin: 0 auto;
}
.contact header h1 {
	text-align: center;
}
.contact .cont {
	width: 600px;
	margin: 0 auto;
}
.contact .cont p.txt_read {
	padding: 0 0 40px;
	text-align: center;
	line-height: 170%;
}
	@media(min-width:1px) and (max-width:768px) {
		.contact header p {
			width: 25%;
		}
	}
	@media(min-width:1px) and (max-width:640px) {
		.contact .cont {
			width: 90%;
		}
		.contact .cont p.txt_read {
			text-align: left;
		}
	}

/* form table */
.contact table {
	width: 100%;
}
.contact th {
	width: 205px;
	font-weight: normal;
	vertical-align: middle;
}
.contact td {
	padding: 15px 0;
}
.contact td input,
.contact td textarea {
	width: 100%;
	border: none;
	padding: 8px;
	box-sizing: border-box;
}
.contact td textarea {
	height: 150px;
}
.contact td input:focus,
.contact td textarea:focus {
	outline: 1px #5e318f solid;
}
.contact .btn {
	padding: 50px 0 0;
	text-align: center;
}
.contact .btn input {
	display: inline-block;
	width: 230px;
	padding: 18px 0;
	margin: 0 5px 5px;
	font-size: 14px;
	color: #fff;
	text-align: center;
	border: none;
	background: #000;
	border-radius: 6px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	transition: all .3s;
}
.contact .btn input:hover {
	background: #5e318f;
}
	@media(min-width:1px) and (max-width:640px) {
		.contact .cont th,
		.contact .cont td {
			display: block;
			width: 100%;
			float: none;
		}
		.contact .cont td {
			padding: 5px 0 25px;
		}
	}










/*==================================================
Footer
==================================================*/
#footer {
	text-align: center;
}
.home #footer {
	position: absolute;
	bottom: 25px;
	left: 0;
	width: 100%;
	z-index: 100;
	color: #fff;
}
.page #footer {
	padding: 100px 0 30px;
}

#footer li {
	padding: 0 0 15px;
}
#footer li:first-child a {
	transition: all .3s;
}
#footer li:first-child svg {
	width: 30px;
	height: 30px;
	transition: all .3s;
}
#footer li:first-child a:hover svg {
	fill: #5e318f;
}
#footer li:last-child a {
	position: relative;
	text-decoration: none;
	color: #fff;
}
#footer li:last-child a::after {
	position: absolute;
	bottom: -4px;
	left: 50%;
	content: '';
	width: 0;
	height: 1px;
	background: #fff;
	transition: .3s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
#footer li:last-child a:hover::after {
	width: 100%;
}

.page #footer li:first-child svg {
	fill: #333;
}
.page #footer li:last-child a {
	color: #333;
}
.page #footer li:last-child a::after {
	background: #333;
}

	@media(min-width:1px) and (max-width: 768px) {
		.page #footer {
			padding: 70px 0 30px;
		}
	}


/*==================================================
Slider 
==================================================*/
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	    user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}
.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.slick-list:focus {
	outline: none;
}
.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
}
.slick-track:before,
.slick-track:after {
	display: table;
	content: '';
}
.slick-track:after {
clear: both;
}
.slick-loading .slick-track {
	visibility: hidden;
}
.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}
[dir='rtl'] .slick-slide {
	float: right;
}
.slick-slide img {
	display: block;
}
.slick-slide.slick-loading img {
	display: none;
}
.slick-slide.dragging img {
	pointer-events: none;
}
.slick-initialized .slick-slide {
	display: block;
}
.slick-loading .slick-slide {
	visibility: hidden;
}
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
	display: none;
}

/*==================================================
clearfix
==================================================*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
@media(min-width:1px) and (max-width: 648px) {
	a:hover,
	a:hover img,
	a:active,
	a:focus{
		opacity: 1 !important;
	}
	a::after,
	a:hover::before,
	a:active::before,
	a:focus::before,
	a:hover::after,
	a:active::after,
	a:focus:after{
		display: none !important;
	}
}