@charset "utf-8";
/* CSS Reset
----------------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box; 
}
main, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration:none;
}

del { text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0; 
	table-layout: fixed;
}
table th,
table td { word-wrap: break-word; }
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; 
}
input, select {vertical-align: middle; }
img { border: 0; vertical-align: top; max-width: 100%; }
button {
	border: none;
	outline: none;
	background-color: transparent;
	cursor: pointer;
	-webkit-appearance: none;
}

/* clearfix */
.clearfix:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}  

.clearfix { display: inline-table; }  
* html .clearfix { height: 1%; }
.clearfix { display: block; }  

iframe { vertical-align: bottom; }

/* Default Link Color
----------------------------------------------------------------------*/
a {
	color: #000;
	text-decoration: none;
	transition: color 0.3s ease;
}

/* Base Setting
----------------------------------------------------------------------*/
html { 
	font-size: 62.5%; 
	height: 100%;
}
body {
	color: #000000;
	font-size: 14px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
	width: 100%;
	height: 100%;
	line-height: 1.6;
	-ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
	-webkit-transition: opacity .6s ease;
	-o-transition: opacity .6s ease;
	transition: opacity .6s ease;
	opacity: 1;
}
body.is-loading { opacity: 0; }
.no-js body.is-loading { opacity: 1; }

/*--------------------------------------------------*/
#wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	background: url(../images/common/bg.png) left top repeat;
	background-size: 390px 390px;
}

/*--------------------------------------------------*/
header { 
	position: relative;
	width: 100%;
	height: 100%;
}

header .logo {
	position: absolute;
	top: 43%;
	left: 50%;
	width: 90%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%); 
	text-align: center;
}
header span { 
	display: block;
	opacity: 0;
}
.no-js header span { opacity: 1; }
header .logo_mark { margin-bottom: 30px; }
header .logo_sub-txt { margin-bottom: 10px; }

header .fb {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	padding: 15px;
	text-align: right;
	z-index: 9999;
}
header .fb svg {
	width: 75px;
	height: 15px;
	margin: 15px;
	-webkit-transition: .3s ease;
	-o-transition: .3s ease; 
	transition: .3s ease;
}
.midnightHeader.default svg,
.midnightHeader.black svg { fill: #4D4D4D; }
.midnightHeader.white svg { fill: #FFF; }
header .fb svg:hover { fill: #3B5998; }

@keyframes scroll {
	0% {
		-webkit-transform: translateY(0);
		-moz-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0)
	}
	50% {
		-webkit-transform: translateY(10px);
		-moz-transform: translateY(10px);
		-ms-transform: translateY(10px);
		-o-transform: translateY(10px);
		transform: translateY(10px);
	}
	100% {
		-webkit-transform: translateY(0);
		-moz-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0)
	}
}
header .scroll {
	position: absolute;
	left: 50%;
	bottom: 2%;
	width: 65px;
	margin-left: -32.5px;
	-webkit-animation: scroll 2s ease infinite;
    -moz-animation: scroll 2s ease infinite;
    animation: scroll 2s ease infinite;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    animation-fill-mode: both;
	z-index: 999;
}

/* SP */
@media only screen and (max-width: 767px) {
	header .logo_mark,
	header .logo_sub-txt {
		margin-left: auto;
		margin-right: auto;
	}
	header .logo_mark { 
		max-width: 90px;
		margin-bottom: 15px;
	}
	header .logo_sub-txt { max-width: 145px; }
	header .fb svg { margin: 10px; }
	header .scroll { 
		width: 50px; 
		margin-left: -25px;
	}
}

/*--------------------------------------------------*/
main {
	position: relative;
	width: 100%;
}

/*--------------------------------------------------*/
footer { width: 100%; }
footer a { color: #FFF; }
footer .contact dl { 
	background: #FFF;
	margin-bottom: 40px;
	border-radius: 6px;
	text-align: center;
}
footer .contact dt {
	font-weight: bold;
	margin-bottom: 20px;
}
footer .ft_bottom {
	background: url(../images/footer/bg.png) left top repeat;
	padding: 35px 3% 25px;
	text-align: center;
}
footer .banner{
	margin: 10px 20px 50px 20px;
	transition: opacity .3s ease;
}
footer .banner:hover{
	opacity: .7;
}
footer .logo { margin-bottom: 25px; }
footer .copyright {
	color: #FFF;
	font-family: 'Lato', sans-serif;
}
footer .pageTop {
	display: none;
	position: fixed;
	right: 10px;
	bottom: 10px;
	width: 65px;
	z-index: 999;
}
footer .download-btns {
	display: flex;
	flex-wrap : wrap;
	justify-content: center;
	align-items: center;
}
footer .download-btns li {
	width: 32%;
	max-width: 300px;
	margin-right : 2%;
}
footer .download-btns li:last-child {
	margin-right : 0;
}
footer .download-btns a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
footer .download-btns a::before {
	position: absolute;
	top: 0;
	left: 0;
	content: " ";
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);
	transition: opacity .3s ease;
	opacity: 0;
}

footer .download-btns a:hover::before { opacity: 1; }

/* PC */
@media print, screen and (min-width: 768px) {
	footer .contact { padding: 60px 0; }
	footer .contact dl { padding: 40px; }
	footer .contact dt { font-size: 25px; }
}
/* SP */
@media only screen and (max-width: 767px) {
	footer .contact { padding: 35px 0; }
	footer .contact dl { padding: 25px; }
	footer .contact dt { font-size: 18px; }	
	footer .contact dt span { display: block; }
	footer .pageTop { width: 50px; }
	footer .download-btns li {width : 49%;margin-right : 2%;}
	footer .download-btns li:nth-child(n+2) {margin:0;}
	footer .download-btns li:last-child {margin-top : 2%;}
}

/* Common
----------------------------------------------------------------------*/
/* 背景 */
.bg_red {
	background: url(../images/common/bg_red.png) left top repeat;
	background-size: 390px 390px;
}

/* 共通幅 */
.column { margin: 0 auto; }
/* PC */
@media print, screen and (min-width: 768px) {
	.column { max-width: 700px; }
}
/* SP */
@media only screen and (max-width: 767px) {
	.column { max-width: 94%; }
}

/* ボタン */
.button {
	display: inline-block;
	color: #FFF;
	font-size: 16px;
	font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	width: 100%;
	max-width: 320px;
	background: #68377C;
	line-height: 1;
	text-decoration: none;
	text-align: center;
	-webkit-transition: background .3s ease;
	-o-transition: background .3s ease;
	transition: background .3s ease;
}
.button:hover { background: #C1A5CE; }
.button svg {
	display: inline-block;
	width: 15px;
	height: 11px;
	vertical-align: middle;
}
/* PC */
@media print, screen and (min-width: 768px) {
	.button { padding: 30px 35px; }
}
/* SP */
@media only screen and (max-width: 767px) {
	.button { padding: 20px 25px; }
}

/* Animation */
@keyframes fadeIn {
	0% { opacity: 0 }
	100% { opacity: 1 }
}

@-webkit-keyframes fadeIn {
	0% { opacity: 0 }
	100% { opacity: 1 }
}
.fadeIn {
	-webkit-animation: fadeIn 1.5s forwards;
	-o-animation: fadeIn 1.5s forwards;
	animation: fadeIn 1.5s forwards;
}
.ie .fadeIn { opacity: 1; }

/* Style
----------------------------------------------------------------------*/
h1 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

/* ABOUT */
.about { padding: 45px 0; }
.about_txt {
	margin: 0 auto;
	text-align: left;
}
.about_txt .inner {
	position: relative;
	width: 100%;
	height: 100%;
}
.about_txt h2 { opacity: 0; }
.no-js .about_txt h2 { opacity: 1; }
.about_txt p {
	font-size: 21px;
	line-height: 2.2;
	padding-top: 1em;
	-webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.about_txt span { 
	display: block;
	opacity: 0;
}
.no-js .about_txt span { opacity: 1; }
.about_txt strong {
	color: #E84C46;
	font-weight: normal;
}

/* PC */
@media print, screen and (min-width: 1080px) {
	.about_txt {
		width: 1026px;
		height: 367px;
		background: url(../images/main/bg_fuji.png) left bottom no-repeat, url(../images/main/bg_about.png) left top no-repeat;
		background-size: 1026px 222px, 100% 100%;
		padding: 55px 200px 45px 290px
	}
	.about_txt h2 { 
		position: absolute;
		top: 0;
		right: 0;
		width: 78px;
	}
}
/* SP */
@media only screen and (max-width: 1079px) {
	.about_txt {
		width: 96%;
		background: url(../images/main/bg_fuji.png) left bottom no-repeat, url(../images/common/bg.png) left top repeat;
		background-size: 1026px 222px, 390px 390px;
		margin: 0 auto;
		padding: 45px 0;
		border-radius: 20px;
	}
	.about_txt h2 {
		margin-bottom: 45px;
		text-align: center;
	}
	.about_txt .inner {
		width: 100%;
		vertical-align: middle;
	}
	.about_txt p {
		margin: 0 auto 60px;
		padding: 0;
	}
}
@media only screen and (max-width: 480px) {
	.about_txt { background-size: 150% auto, 390px 390px; }
	.about_txt h2 img { width: 50px; }
	.about_txt p {
		font-size: 16px;
		line-height: 1.8;
	}
}

/* MEMBER */
.member { background: url(../images/main/bg_member.png) center center no-repeat; }
.member_main {
	position: relative;
	width: 100%;
	height: 100%;
	margin-bottom: 60px;
}
.member .column {
	position: relative;
	max-width: 920px;
}
.member h2 { 
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(120%, 0);
	width: 78px;
 }
.member_main .txt_name {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-flow: row-reverse;
	flex-flow: row-reverse;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
}
.ie .member_main .txt_name  { -js-display: flex; }
.member_main .txt_name p { 
	padding: 30px 45px;
	opacity: 0;
}
.member_main .txt_name p:first-child { border-left: 1px solid #E84C46; }

.no-js .member_main h2,
.no-js .member_main .txt_name p { opacity: 1; }

.member_main .txt_name span {
	display: block;
	width: 114px;
	height: 270px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: contain;
}
.member_main .txt_name .kondo { background-image: url(../images/main/txt_name-kondo.png); }
.member_main .txt_name .watanabe { background-image: url(../images/main/txt_name-watanabe.png); }

/* Retina */
@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {
	.member_main .txt_name .kondo { background-image: url(../images/main/txt_name-kondo@2x.png); }
	.member_main .txt_name .watanabe { background-image: url(../images/main/txt_name-watanabe@2x.png); }
}

.member_all li {
	font-size: 0;
	width: 100%;
	border-bottom: 1px solid #E84C46;
	opacity: 0;
}
.no-js .member_all li { opacity: 1; }
.member_all li div {
	display: inline-block;
	font-size: 12px;
	vertical-align: middle;
}
.member_all li .sect { 
	width: 25%; 
	padding: 10px;
	line-height: 2.0;
}
.member_all li .name { 
	font-size: 17px;
	width: 25%;
	padding: 0 10px;
}
.member_all li .co {
	width: 7%;
	font-size: 12px;
	text-align: right;
	padding: 0 0 0 10px;
}
.member_all li .address { 
	width: 40%;
	padding: 10px;
	line-height: 2.0;
}
.member_all ruby rt { font-size: 9px; }

/* PC */
@media print, screen and (min-width: 1080px) {
	.member {
		min-height: 971px;
		padding: 100px 0;
	}
	.member_main h2 {
		position: absolute;
		top: 0;
		right: 35px;
		width: 78px;
	}
}
/* SP */
@media only screen and (max-width: 1079px) {
	.member {
		padding: 60px 0;
		background-position: center 40%;
		background-size: 100% auto;
	}
	.member_main h2 {
		margin-bottom: 45px;
		text-align: center;
	}
	.member h2 { 
		position: static;
		top: initial;
		right: initial;
		transform: translate(0, 0);
		margin-bottom: 45px;
		margin-right: auto;
		margin-left: auto;
	}
}
/* SP */
@media only screen and (max-width: 640px) {
	.member_all li .sect,
	.member_all li .co,
	.member_all li .name,
	.member_all li .address {
		display: block;
		width: 100%;
	}
	.member_all li .co {
		text-align: initial;
	}
	.member h2 {
		width: 50px;
	}
}
/* SP */
@media only screen and (max-width: 480px) {
	.member_main h2 img { width: 50px; }
	.member_main .txt_name p { padding: 30px 20px; }
	.member_main .txt_name span {
		width: 100px;
		height: 236px;
	}
}

@media only screen and (max-width: 640px) {
	.sm\:mb-xs {
		margin-bottom: 5px;
	}
}