@charset "UTF-8";
body {
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",Geneva,Arial,Verdana,sans-serif;
	-webkit-font-smoothing:antialiased;
	font-size: 100%;
	color:#000;
	background-color:#FFF;
	position:relative;
}
*{
	margin:0;
	padding:0;
}
body,div,p,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,blockquote,table,tr,td {
	padding: 0;
	margin: 0;
}
a {
	color: #1a1a1a;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
a img{
	border: none;
}
.fcl { 
	zoom: 100%;
}
.fcl:after {
	content: " "; 
	clear: both; 
	height: 0; 
	display: block; 
	visibility: hidden;
}
img {
	vertical-align:middle;
	margin:0;
	padding:0;
}
ul {
	list-style:none;
}

html,body {
	width:100%;
	height:100%;
}

body {
	position:relative;
	height:100%;
}
.onlyPc { display:inline-block; }
.onlySp { display:none; }

.loader {
	position:fixed;
	display:block;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100%;
	height:100%;
	background-color:#ededed;
	z-index:100;
}
.loader > div {
	display:table;
	width:100%;
	height:100%;
}
.loader > div > div {
	display:table-cell;
	vertical-align:middle;
	text-align:center;
}
.content {
}

.navilink li a {
	position:relative;
	display:inline-block;
	text-decoration:none;
}
.navilink li a:after {
	content:"";
	position:absolute;
	bottom:-5px;
	left:0;
	width:0;
	height:2px;
	background-color:#cc0000;
	-webkit-transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.navilink li a:hover:after { width:100%;}

.hover-action-slide {
	text-decoration:none;
	border:solid #666666 2px;
	position:relative;
	display:inline-block;
	width:100%;
	height:100%;
	box-sizing:border-box;
	padding-top:26px;
	overflow:hidden;
	-webkit-transition:border-color 0.5s cubic-bezier(0.645, 0.045, 0.355, 1),color 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition:border-color 0.5s cubic-bezier(0.645, 0.045, 0.355, 1),color 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hover-action-slide .txt { position:relative; z-index:2; }
.hover-action-slide:hover { color:#FFF; text-decoration:none; }
.hover-action-slide:before {
	content:"";
	position:absolute;
	top:0;
	left:-130%;
	width: 120%;
    height: 100%;
	transform: skewX(-45deg);
	background:#5bd3ef;
	opacity:0;
	-webkit-transition:all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition:all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hover-action-slide:hover { border-color:rgba(0,0,0,0.00); }
.hover-action-slide:hover:before { left:-10%; opacity:1; }
.hover-action-slide .arrow {
	position:absolute;
	top:50%;
	right:20px;
	width:13px;
	height:21px;
	margin:-10px 0 0 0;
	z-index:2;
}
.hover-action-slide.left .arrow {
	left:20px;
	right:auto;
}
.hover-action-slide .arrow:before,
.hover-action-slide .arrow:after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	-webkit-transition:opacity 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition:opacity 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hover-action-slide .arrow:before { background-image:url(../img/bnt_icon_right_arrow_bk.png); opacity:1; }
.hover-action-slide .arrow:after { background-image:url(../img/bnt_icon_right_arrow_wh.png); opacity:0; }
.hover-action-slide .arrow.red:before { background-image:url(../img/bnt_icon_right_arrow_red.png); }
.hover-action-slide.left .arrow:before { background-image:url(../img/bnt_icon_left_arrow_bk.png); opacity:1; }
.hover-action-slide.left .arrow:after { background-image:url(../img/bnt_icon_left_arrow_wh.png); opacity:0; }
.hover-action-slide:hover .arrow:before { opacity:0; }
.hover-action-slide:hover .arrow:after { opacity:1; }
 

header {
	min-width:1024px;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:104px;
	z-index:10;
	background-color:rgba(255,255,255,0.90);
	-webkit-transition:all 0.2s ease;
	transition:all 0.2s ease;
}
header.active {
	height:65px;
}
header .inner {
	position:relative;
	width:960px;
	height:100%;
	margin:0 auto;
}
header .inner h1 {
	position:absolute;
	top:50%;
	left:0;
	margin-top:-27px;
	width:272px;
	-webkit-transition:width 0.2s ease;
	transition:width 0.2s ease;
}
header .inner h1 img { width:100%; }
header.active .inner h1 {
	width:240px;
}
header .inner .menubtn {
	display:none;
}
header .inner .menu {
	position:absolute;
	top:50%;
	right:0;
	margin-top:-8px;
	list-style:none;
}
header .inner .menu ul {
	width:100%;
}
header .inner .menu ul li {
	float:left;
}
header .inner .menu ul li + li {
	padding-left:20px;
}
header .inner .menu ul li a {
	font-size:16px;
	line-height:1em;
	-webkit-transition:all 0.2s ease;
	transition:all 0.2s ease;
}
header.active .inner .menu ul li a {
	font-size:14px;
}

header .inner .langbtn {
	display:none;
}
header .inner .lang {
	position:absolute;
	top:15px;
	right:0;
	-webkit-transition:top 0.2s ease;
	transition:top 0.2s ease;
}
header.active .inner .lang {
	top:2px;
}
header .inner .lang .btn {
	position:relative;
	font-size:12px;
	text-decoration:none;
}
header .inner .lang .btn .txt { display:inline-block; padding-right:5px; color:#808080; font-size:12px; }
header .inner .lang .btn .select-wrapper {
	display:inline-block;
	position:relative;
}
header .inner .lang .btn .select {
    height: 1rem;
    line-height: 1rem;
    display:inline-block;
}
header .inner .lang .btn .arrow {
	display:inline-block;
	padding-left: 5px;
	line-height:0;
	width:9px;
	height:6px;
	background:url(../img/header_lang_icon_arrow.png) center no-repeat;
}
header .inner .dropdown-content {
	display:none;
	background-color: #fff;
    z-index: 999;
    will-change: width, height;
	
	position:absolute;
    top: 0px;
	right: 0px;
	width: 200px;
    cursor: pointer;
    border: none;
    outline: none;
    font-size: 1rem;
    margin: 0 0 20px 0;
    padding: 0;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}
header .inner .dropdown-content li a {
	position:relative;
    color: rgba(0,0,0,0.87);
    cursor: pointer;
    line-height: 1.5rem;
	padding: 5px 10px;
    width: 100%;
    text-align: left;
    text-transform: none;
	box-sizing:border-box;
	-webkit-transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
header .inner .dropdown-content li a {
	display:block;
	width:100%;
	height:100%;
	text-decoration:none;
}
header .inner .dropdown-content li a.disabled {
	background:rgba(171,171,171,0.20);
}
header .inner .dropdown-content li a:hover {
	/*background:rgba(171,171,171,0.20);*/
}
header .inner .dropdown-content li a:before {
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:2px;
	background-color:#cc0000;
	-webkit-transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
header .inner .dropdown-content li a:hover:before { width:100%; }
header .inner .dropdown-content li a.disabled:hover:before { width:0; }
header .inner .lang select { display:none; }

footer {
	min-width:1024px;
	background-color:#e6e6e6;
}
footer .inner {
	width:960px;
	padding:60px 0;
	margin:0 auto;
}
footer .inner ul {
	list-style:none;
	text-align:center;
	width:100%;
}
footer .inner ul li {
	display:inline-block;
}
footer .inner ul li + li {
	padding-left:60px;
}
footer .inner ul li a {
	position:relative;
	display:inline-block;
	text-decoration:none;
	font-size:16px;
	line-height:1em;
}
footer .inner ul li a:before {
	content:"";
	background:url(../img/footer_navi_icon_arrow.png) center no-repeat;
	background-size:contain;
	width:0.5em;
	height:1em;
	display:inline-block;
	vertical-align: text-top;
    margin-right: 0.3em;
}
footer .inner ul li:last-child a:before { display:none; }
footer .inner .share { text-align:center; }
footer .inner .share a { display:inline-block; width:30px; }
footer .inner .share a img { width:100%; }
footer .inner .share a:hover { opacity:0.7; }
footer .inner .share a + a { margin-left:10px; }
footer .inner .copylight {
	color:#000;
	padding-top:80px;
	text-align:center;
	font-size:10px;
}


main {
	position:relative;
	padding-top:120px;
	display:block;
	min-width:1024px;
	z-index:1;
}
main section {
	position:relative;
	width:100%;
	overflow:hidden;
}
main section .inner {
	position:relative;
	width:960px;
	margin:0 auto;
	padding:100px 0;
}
main h2 {
	text-align:center;
	padding-bottom:30px;
	font-size:38px;
	line-height:1em;
	font-weight:normal;
}
main h2 p {
	color:#cc0000;
	font-size:18px;
	line-height:1em;
	padding-top:15px;
	font-weight:bold;
}
main h3 {
	margin:0 auto;
	display:inline-block;
	font-size:24px;
	line-height:1em;
	position:relative;
}
main h3:after {
	content:"";
	position:absolute;
	bottom:-7px;
	left:0;
	width:100%;
	height:3px;
	background-color:#cc0000;
}
main section .inner .table dl { display:table; width:100%; }
main section .inner .table dl dt,
main section .inner .table dl dd { display:table-cell; vertical-align:text-top; }



/*===== top =====*/



#top header .navilink li:nth-of-type(1) a:after { width:100%; }

#top #mainvisial { background-color:#41cae9; height:500px; overflow:visible; }
#top #mainvisial .inner { text-align:center; z-index:2; position:relative; }
#top #mainvisial .inner h2 { width:756px; margin:0 auto; }
#top #mainvisial .inner h2 img { width:100%; }
#top #mainvisial .inner p { font-size:16px; line-height:2em; color:#FFF; }
#top #mainvisial .bg {
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	width:100%;
	height:100%;
	background:url(../img/top_mainvisial_bg.jpg) top center repeat-x; 
	z-index:1;
	overflow:hidden;
}
#top #mainvisial .bg .view {
	position:absolute;
	top:0;
	bottom:0;
	left:50%;
	width:1720px;
	margin-left:-860px;
	z-index:1;
}
#top #mainvisial .obj {
	position:absolute;
	top:-16px;
	left:0;
	bottom:0;
	width:100%;
	height:100%;
	padding:20px 0 50px;
	overflow:hidden;
	z-index:2;
}
#top #mainvisial .obj > div {
	position:absolute;
	top:0;
	left:0;
}
#top #mainvisial .obj .cloud_bg {
	position:absolute;
	top:0;
	left:50%;
	width:3000px;
	height:138px;
	margin-left:-1500px;
	background-image:url(../img/top_mainvisial_cloud_bg.png);
	background-repeat:repeat-x;
	background-size:1720px 138px;
	background-position:0 0;
	-webkit-animation:infinitescroll_cloud_bg 200s linear infinite;
    animation:infinitescroll_cloud_bg 200s linear infinite;
	z-index:1;
}
#top #mainvisial .obj .airship {
	top:2px;
	left:16.91%;
	z-index:2;
}
#top #mainvisial .tree {
	position:absolute;
	bottom:-55px;
    left: 0;
	width:100%;
	height:170px;
	z-index:2;
	overflow:hidden;
}
#top #mainvisial .tree .wrap {
	position:absolute;
	bottom:0;
	left:50%;
	width:1720px;
	margin-left:-860px;
}
#top #mainvisial .tree .wrap .t1 {
	position:absolute;
	bottom:0;
	left:169px;
}
#top #mainvisial .tree .wrap .t2 {
	position:absolute;
	bottom:5px;
	right:65px;
}

#top #information .inner h2 { width:218px; margin:0 auto;}
#top #information .inner h2 img { width:100%; }
#top #information .inner .news { color:#000; }
#top #information .inner .news dl dt,
#top #information .inner .news dl dd { font-size:14px; line-height:3em; }
#top #information .inner .news dl dt { width:120px; }
#top #information .inner .deco { position:absolute; bottom:0; right:-132px; width:156px; }
#top #information .inner .deco img { width:100%; }

#top #menu { background:url(../img/bg_pattern_stripe.gif) top center repeat; }
#top #menu .inner .btns { text-align:center; list-style:none; letter-spacing: -.40em; }
#top #menu .inner .btns li {
	letter-spacing: normal;
	display:inline-block;
	width:270px;
	height:325px;
}
#top #menu .inner .btns li + li { padding-left:60px; }
#top #menu .inner .btns li a {
	display:inline-block;
	position:relative;
	width:100%;
	height:100%;
}
#top #menu .inner .btns li a .txt {
	display:inline-block;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	text-align:center;
}
#top #menu .inner .btns li a .txt > span {
	position:relative;
	display:inline-block;
	margin:0 auto;
	line-height: 1em;
}
#top #menu .inner .btns li a .txt > span:after {
	content:"";
	position:absolute;
	bottom:-5px;
	left:0;
	width:0%;
	height:2px;
	background-color: #cc0000;
    -webkit-transition: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#top #menu .inner .btns li a:hover .txt > span:after { width:100%; }
#top #menu .inner .btns li a .circle {
	display:inline-block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:280px;
	border-radius:0 0 50% 50%;
	overflow:hidden;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
#top #menu .inner .btns li a .circle .circle-bg {
	display:inline-block;
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:270px;
	border-radius:50%;
	overflow:hidden;
	-webkit-transform:translate3d(0,0,0);
	transform:translate3d(0,0,0);
}
#top #menu .inner .btns li a .circle .circle-bg:before {
	content:"";
	display:inline-block;
	position:absolute;
	top:-70%;
	left:-70%;
	width:100%;
	height:270px;
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
	-webkit-transition:all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition:all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
	opacity:0;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
#top #menu .inner .btns li a:hover .circle .circle-bg:before {
	top:0;
	left:0;
	opacity:1;
}
#top #menu .inner .btns li a .circle .circle-bg.yellow { background-color:#fff45c; }
#top #menu .inner .btns li a .circle .circle-bg.yellow:before { background-color:#fcd20e; }
#top #menu .inner .btns li a .circle .circle-bg.blue { background-color:#37a3ef; }
#top #menu .inner .btns li a .circle .circle-bg.blue:before { background-color:#5bd3ef; }
#top #menu .inner .btns li a .circle .circle-bg.green { background-color:#a5e124; }
#top #menu .inner .btns li a .circle .circle-bg.green:before { background-color:#62d920; }

#top #menu .inner .btns li a .circle .circle-inner {
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	width:270px;
	height:270px;
	border-radius:50%;
	display:inline-block;
	-webkit-transform:translate3d(0,0,0);
	transform:translate3d(0,0,0);
}
#top #menu .inner .btns li a .circle .circle-inner img {
	position:absolute;
	top:50%;
	left:50%;
	width:300px;
	height:283px;
	margin:-141px 0 0 -150px;
	-webkit-transform:scale(1,1) translate3d(0,0,0);
	transform:scale(1,1) translate3d(0,0,0);
	-webkit-transition:all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition:all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#top #menu .inner .btns li a:hover .circle .circle-inner img {
	-webkit-transform:scale(1.05,1.05);
	transform:scale(1.05,1.05);
}

#top #company .inner h2 { width:155px; margin:0 auto;}
#top #company .inner h2 img { width:100%; }
#top #company .inner .overview { color:#000; }
#top #company .inner .overview dl dd { font-size:14px; line-height:3em; }
#top #company .inner .overview dl dt { width:120px; }
#top #company .inner .btn {
	width:400px;
	height:80px;
	margin:0 auto;
	text-align:center;
	margin-top:95px;
}

#top #link { background:url(../img/bg_pattern_stripe.gif) top center repeat; }
#top #link .inner { text-align:center; padding:100px 0 200px; }
#top #link .inner h2 { width:74px; margin:0 auto;}
#top #link .inner h2 img { width:100%; }
#top #link .inner .btns {
	text-align:center;
	letter-spacing: -.40em;
	margin:0 auto;
}
#top #link .inner .btns li {
	display:inline-block;
	width:350px;
	height:130px;
	letter-spacing: normal;
}
#top #link .inner .btns li + li { padding-left:90px; }
#top #link .inner .btns li a {
	border:none;
	background-color:#FFF;
	padding-top:55px;
	font-size:14px;
	padding-right: 45px;
    text-align: right;
}
#top #link .inner .btns li a:before { left:-160%; width:140%; }
#top #link .inner .btns li a:hover:before { left:-20%; }
#top #link .inner .btns li a figure { position:absolute; bottom:0; left:0; z-index:2; }
#top #link .inner .deco { position:absolute; bottom:0; right:-167px; width:124px; }
#top #link .inner .deco img { width:100%; }



/*===== about =====*/



#about header .navilink li:nth-of-type(2) a:after { width:100%; }
#about section { }
#about section .inner { width:800px; padding-bottom:200px; }
#about section .inner h2 { padding-bottom:75px; }
#about section .inner .sub { text-align:center; font-size:16px; line-height:2em; font-weight:normal; }
#about section .inner .text {
	padding-top:80px;
	font-size:14px;
	line-height:2em;
}
#about section .inner .text p + p { padding-top:40px; }
#about section .inner .deco { position:absolute; bottom:0; right:-78px; width:79px; }
#about section .inner .deco img { width:100%; }


/*===== owners =====*/


#owners header .navilink li:nth-of-type(3) a:after { width:100%; }
#owners #forowners { }
#owners #forowners .inner { width:800px; }
#owners #forowners .inner h2 { padding-bottom:75px; }
#owners #forowners .inner .sub { text-align:center; font-size:16px; line-height:2em; font-weight:normal; }
#owners #forowners .inner .sub p + p { padding-top:40px; }
#owners #forowners .inner .text {
	padding-top:80px;
	font-size:14px;
	line-height:2em;
}
#owners #forowners .inner .text p + p { padding-top:40px; }

#owners #contact { background:url(../img/bg_pattern_stripe.gif) top center repeat; }
#owners #contact .inner { text-align:center; }
#owners #contact .btns {
	text-align:center;
	letter-spacing: -.40em;
	margin:0 auto;
	padding-top:52px;
}
#owners #contact .btns li {
	width:390px;
	height:100px;
	display:inline-block;
	letter-spacing: normal;
}
#owners #contact .btns li a .illust {
	position:absolute;
	display:block;
	width:44px;
	height:100%;
	top:0;
	left:20px;
}
#owners #contact .btns li a .illust:before,
#owners #contact .btns li a .illust:after {
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	-webkit-transition: opacity 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: opacity 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#owners #contact .btns li a .illust.formicon:before { background-image:url(../img/owners_contact_btn_img1_red.png); opacity:1; }
#owners #contact .btns li a .illust.formicon:after { background-image:url(../img/owners_contact_btn_img1_wh.png); opacity:0; }
#owners #contact .btns li a .illust.mailicon:before { background-image:url(../img/owners_contact_btn_img2_red.png); opacity:1; }
#owners #contact .btns li a .illust.mailicon:after { background-image:url(../img/owners_contact_btn_img2_wh.png); opacity:0; }
#owners #contact .btns li a:hover .illust:before { opacity:0; }
#owners #contact .btns li a:hover .illust:after { opacity:1; }

#owners #contact .btns li + li { margin-left:20px; }
#owners #contact .btns li a {
	border:none;
	background-color:#FFF;
	padding-top:34px;
	font-size:20px;
	padding-left: 80px;
    text-align: left;
}

#owners #contact .btns li a:before { left:-160%; width:140%; }
#owners #contact .btns li a:hover:before { left:-20%; }
#owners #contact .btns li a figure { position:absolute; top:50%; left:0; z-index:2; width:80px; text-align:center; margin-top:-22px; }
#owners #contact .tell {
	padding-top:50px;
	font-size:14px;
}
#owners #contact .tell .time { font-size:14px; }
#owners #contact .tell a {
	display:inline-block;
	margin:20px 0;
	width:365px;
}
#owners #contact .tell a img { width:100%; } 
#owners #contact .inner .deco { position:absolute; bottom:0; right:-103px; width:113px; }
#owners #contact .inner .deco img { width:100%; }


/*===== company =====*/


#company header .navilink li:nth-of-type(4) a:after { width:100%; }
#company { }
#company section .inner { width:800px; padding-bottom:200px; }
#company section .inner .table {
	width:100%;
	padding-top:40px;
}
#company section .inner .table dl {
	display:table;
	table-layout:fixed;
	width:100%;
	font-size:14px;
	line-height:1.75em;
}
#company section .inner .table dl + dl {
	padding-top:40px;
}
#company section .inner .table dl dt,
#company section .inner .table dl dd {
	display:table-cell;
	vertical-align:top;
	text-align:left;
}
#company section .inner .table dl dt { width:120px; font-weight:bold; }
#company section .inner .table dl dd { }
#company section .inner .table dl dd table th { font-weight: normal; text-align:right; }
#company section .inner .table dl dd table th + th { padding-left:10px; }
#company section .inner .table dl dd table td { padding-left:20px; text-align:left; }
#company section .inner #map_canvas { width:100%; height:400px; }
#company section .inner .deco { position:absolute; bottom:0; right:-50px; width:153px; }
#company section .inner .deco img { width:100%; }



/*===== staff =====*/



#staff header .navilink li:nth-of-type(5) a:after { width:100%; }
#staff section .inner { width:840px; padding-bottom:200px; }
#staff section .inner .list { padding-top:60px; }
#staff section .inner .list ul li {
	display:table;
	table-layout:fixed;
	width:100%;
}
#staff section .inner .list ul li + li {
	padding-top:100px;
}
#staff section .inner .list ul li > div {
	display:table-cell;
	vertical-align:top;
}
#staff section .inner .list ul li .face {
	width:222px;
	vertical-align:middle;
	padding-right:60px;
}
#staff section .inner .list ul li .face figure {
	width:100%;
	height:222px;
	position:relative;
}
#staff section .inner .list ul li .face figure img {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
}
#staff section .inner .list ul li .info {
	font-size:14px;
	line-height:1.57em;
}
#staff section .inner .list ul li .info .name {
	font-size:24px;
	vertical-align:middle;
	line-height:1em;
	padding-bottom:25px;
}
#staff section .inner .list ul li .info .name span {
	font-size:14px;
	vertical-align: middle;
	padding-left:15px;
	color:#d70c19;
}
#staff section .inner .list ul li .info .certificate:before { content:"資格："; }
#staff section .inner .list ul li .info .language:before { content:"言語："; }
#staff section .inner .list ul li .info .hobby:before { content:"趣味："; }
#staff section .inner .list ul li .info .txt { padding-top:25px; }
#staff section .inner .deco { position:absolute; }
#staff section .inner .deco img { width:100%; }
#staff section .inner .deco.d1 { top:120px; left:-560px; width:564px; }
#staff section .inner .deco.d2 { top:659px; left:883px; width:437px; }
#staff section .inner .deco.d3 { top:1311px; left:-489px; width:334px;}
#staff section .inner .deco.d4 { top:1770px; left:923px;  width:382px; }
#staff section .inner .deco.d5 { top:2502px; left:-108px;  width:79px; }
#staff section .inner .deco.d6 { bottom:0; right:-50px; width:144px; }



/*===== privacy =====*/



#privacy section { counter-increment: section; }
#privacy section .inner { width:800px; padding-bottom:200px; }
#privacy section .inner .ttl { text-align:center; font-size:18px; padding-top:40px; }
#privacy section .inner .text { padding-top:90px; font-size:14px; line-height:2em; }
#privacy section .inner .text .chapter { color:#cc0000; font-size:14px; line-height:1.75em; font-weight:bold; padding-top:40px; }
#privacy section .inner .text p + p,
#privacy section .inner .text ul + p { padding-top:30px; }
#privacy section .inner .text strong { display:block; }
#privacy section .inner .text ul { counter-reset:chapter; }
#privacy section .inner .text ul li { padding-left:2.5em; text-indent:-2.5em; counter-increment: chapter; }
#privacy section .inner .text ul.type1 li:before { content: "（" counter(chapter) "）"; }
#privacy section .inner .text ul.type2 li:before { content: counter(chapter, decimal-leading-zero) ". "; }
#privacy section .inner .deco { position:absolute; bottom:0; right:-80px; width:146px; }
#privacy section .inner .deco img { width:100%; }



/*===== sitemap =====*/



#sitemap section .inner { width:800px; padding-bottom:200px; }
#sitemap section .inner .list { padding-top:40px; }
#sitemap section .inner .list ul { padding-top:25px; padding-left:20px; }
#sitemap section .inner .list ul + ul { padding-top:65px; }
#sitemap section .inner .list ul li + li { padding-top:25px; }
#sitemap section .inner .list a { display:inline-block; line-height:1em; font-size:16px; }
#sitemap section .inner .list a span { display:inline-block; position:relative;  }
#sitemap section .inner .list a span:before {
	content:"";
	position:absolute;
	bottom:-2px;
	left:0;
	width:100%;
	height:1px;
	background-color:#b5b5b5;
}
#sitemap section .inner .list a span:after {
	content:"";
	position:absolute;
	bottom:-2px;
	left:0;
	width:0;
	height:1px;
	background-color:#cc0000;
	-webkit-transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#sitemap section .inner .list a:hover span:after { width:100%; }
#sitemap section .inner .list a:before {
	content: "";
	display: inline-block;
	width: 1em;
    height: 1em;
	background:url(../img/sitemap_icon_page.png) center no-repeat;
	background-size: contain;
	vertical-align: top;
	margin-right:0.5em;
}
#sitemap section .inner .list a:after {
	content: "";
	display: inline-block;
    margin-left: 0.5em;
    width: 0.4em;
    height: 1em;
    -webkit-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    background: url(../img/sitemap_icon_arrow.png) center no-repeat;
    background-size: contain;
	vertical-align: middle;
}
#sitemap section .inner .list a:hover:after {
	margin-left: 0.8em;
	-webkit-transition-delay:0.15s;
	transition-delay:0.15s;
}
#sitemap section .inner .deco { position:absolute; bottom:-1px; left:527px; }



/*===== contact =====*/


#contact section .inner {
	width:100%;
	padding-bottom:0;
}
#contact section .inner h2 {
    padding-bottom: 75px;
}
#contact .tell {
	text-align:center;
	padding:50px 0;
	font-size:14px;
}
#contact .tell .inner {
	width:100%;
}
#contact .tell { background:url(../img/bg_pattern_stripe.gif) top center repeat; }
#contact .tell .inner { text-align:center; }
#contact .tell .time { font-size:14px; }
#contact .tell a {
	display:inline-block;
	margin:20px 0;
	width:365px;
}
#contact .tell a img {
	width:100%;
}
#contact .form {
	width:800px;
	padding-top:90px;
	padding-bottom:200px;
	position:relative;
	margin:0 auto;
}
#contact .form .ttl {
	font-size:18px;
	font-weight:bold;
	text-align:center;
}
#contact .form dl {
	padding-top:50px;	
}
#contact .form dl dt {
	font-size:16px;
	padding-bottom:6px;
}
#contact .form dl dt span {
	display:inline-block;
	color:#cc0000;
	padding-left:10px;
	font-size:10px;
	font-weight:bold;
}
#contact .form dl dd {
	position:relative;
}
#contact .form .error {
	display:inline-block;
	padding-top:10px;
	color:#cc0000;
}
#contact .form .error:before {
	content:"※";
}
#contact .form form > .error {
	width:100%;
	text-align:center;
}
#contact .form form input,
#contact .form form textarea {
	padding:10px;
	box-sizing:border-box;
	font-size:20px;
	line-height:1em;
	margin: 0;
	background:#fafafa;
	border: solid 1px #c0c0c0;
	border-radius: 0;
	box-shadow: inset 0.707px 0.707px 3px 0px rgba(0, 0, 0, 0.35);
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
#contact .form form input {
	width:100%;
	height:48px;
}
#contact .form form textarea {
	width:100%;
	height:192px;
	display:block;
}
#contact .form form input + .bar,
#contact .form form textarea + .bar  {
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:2px;
	background-color: #cc0000;
	-webkit-transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);	
}
#contact .form form input:focus + .bar,
#contact .form form textarea:focus + .bar { width:100%; }
#contact .form form .rdio_wrap div + div { padding-top:20px; }
#contact .form form input[type=radio] { display: none; }
#contact .form form .radio {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	padding: 0 0 0 23px;
	vertical-align: middle;
	cursor: pointer;
}
#contact .form form .radio:before {
	content:"";
	position:absolute;
	top:50%;
	left:0;
	margin-top:-7px;
	width:14px;
	height:14px;
	border-radius: 50%;
	background-color: rgb(250, 250, 250);
  	box-shadow: inset 0.707px 0.707px 3px 0px rgba(0, 0, 0, 0.35);
}
#contact .form form .radio:after {
	content:"";
	position:absolute;
	top:50%;
	left:3px;
	margin-top: -4px;
	width:8px;
	height:8px;
	border-radius: 50%;
  	background-color: #cc0000;
	-webkit-transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
	-webkit-transform:scale(0,0);
	transform:scale(0,0);
	opacity:0;
}
#contact .form form input[type=radio]:checked + .radio:after {
	opacity:1;
	-webkit-transform:scale(1,1);
	transform:scale(1,1);
}
#contact .form form input:-webkit-autofill,
#contact .form form textarea:-webkit-autofill,
#contact .form form select:-webkit-autofill {
    background-color: rgb(250, 255, 189);
    background-image: none;
    color: rgb(0, 0, 0);
}
#contact .form form .btn {
	padding-top:90px;
	text-align:center;
	letter-spacing: -.40em
}
#contact .form form .btn button {
	letter-spacing: normal; 
	display:inline-block;
	width:240px;
	height:64px;
	box-sizing:border-box;
	font-size:18px;
	background-color:#FFF;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	padding:0;
}
#contact .form form .btn button:before { width:130%; }
#contact .form form .btn button:hover:before { left:-15%; }
#contact .form form .btn button + button { margin-left:40px; }
#contact .form .deco { position:absolute; bottom:0; right:-50px; width:93px; }
#contact .form .deco img { width:100%; }

#contact .complete {
	width:800px;
	margin:0 auto;
	text-align:center;
	padding-bottom:100px;
}
#contact .complete .ttl {
	font-size:18px;
	font-weight:bold;
	padding-bottom:90px;
}
#contact .complete p + p {
	padding-top:30px;
}
#contact .complete .btn {
	padding-top:90px;
}
#contact .complete .btn a {
	width:240px;
	height:64px;
    padding-top: 18px;
}
#contact .complete .btn a:before { width:130%; }
#contact .complete .btn a:hover:before { left:-15%; }


.en header .inner .menu ul li a { font-size:13px; }
.en#top #mainvisial .inner h2 { width:567px; }
.en#top #company .inner h2 { width:295px; }
.en#top #mainvisial .inner p { line-height: 1.8em; }
.en#top #company .inner .overview dl dt { width: 180px; }
.en#top #link .inner .btns li a { padding-top: 44px; }
.en#company section .inner .table dl dt { width: 140px; }
.en#company section .inner .table dl dd table th { text-align:left; }
.en#contact .tell a ,
.en#owners #contact .tell a { width:424px; }

.zh-tw#top #mainvisial .inner h2 { width:544px; }
.zh-tw#top #company .inner h2 { width:139px; }
.zh-tw#top #link .inner h2 { width:72px; }
.zh-tw#staff section .inner .list ul li .info .certificate:before { content: "資格證照："; }
.zh-tw#staff section .inner .list ul li .info .language:before { content: "語　　文："; }
.zh-tw#staff section .inner .list ul li .info .hobby:before { content: "興　　趣："; }
.zh-tw#contact .tell a ,
.zh-tw#owners #contact .tell a { width:424px; }


@media screen and (max-width: 767px){
	
	.en header .inner .menu ul li a { font-size:1rem; }
	.en#top #mainvisial .inner h2 { width: 78.2%; }
	.en#top #company .inner .overview dl dt { width: 35%; }
	.en#top #company .inner h2 { width: 58.2%; }
	.en#top #link .inner .btns li a { padding-top: 8.8%; }
	.en main h2 { line-height:1.3em; }
	
	.zh-tw#top #mainvisial .inner h2 { width: 54.37%; }
	.zh-tw#top #company .inner h2 { width: 21.7%; }
	.zh-tw#top #link .inner h2 { width: 11.2%; }
	
	.en#contact .tell > div
	.zh-tw#contact .tell > div,
	.en#owners #contact .tell a,
	.zh-tw#owners #contact .tell a { width:66.2%; }
	.en#contact .tell a,
	.zh-tw#contact .tell a { width:100%; }
	
	
	.onlyPc { display:none; }
	.onlySp { display:inline-block; }
	
	html {
		font-size: 100%;
		font-size: 5vw;
	}
	html img { width:100%; }
	
	.hover-action-slide {
		-webkit-transition:none;
		transition:none;
		 border: solid #666666 1px;
	}
	.hover-action-slide:hover { color:#000; border: solid #666666 1px; }
	.hover-action-slide:hover .arrow:before { opacity:1; }
	.hover-action-slide:hover .arrow:after { opacity:0; }
	.hover-action-slide:before {
		width:100%;
		height:0;
		left:auto;
		top:auto;
		-webkit-transform:none;
		transform:none;
		background:none;
		position:relative;
		opacity:0;
	}
	.hover-action-slide .arrow {
		position: absolute;
		top: 0;
		right: 5.3%;
		width: 2.8%;
		height: 100%;
		margin: 0;
		z-index: 2;
	}
	.hover-action-slide .arrow:before { background-image: url(../img/sp/bnt_icon_right_arrow_bk.png); }
	.hover-action-slide.left .arrow:before { background-image: url(../img/sp/bnt_icon_left_arrow_bk.png); }
	.hover-action-slide.sm .arrow { right: 9%; width: 6.1%; }
	.hover-action-slide.left .arrow { left: 9%; right:auto; }
	.hover-action-slide .txt { line-height:1em; vertical-align: top; }
	
	.navilink li a:hover:after { width:0; }
	
	.loader > div > div img { width:24.06% !important; }
	
	header { min-width:100%; height:auto; }
	header.active { height:auto; }
	header:before {
		content:"";
		display:block;
		padding-top:18.75%;
	}
	header .inner {
		position:absolute;
		width:100%;
		height:100%;
		top:0;
		left:0;
	}
	header .inner h1 {
		width:22.96%;
		left:3.12%;
		margin-top: -8.3%;
		-webkit-transition:none;
		transition:none;
	}
	header.active .inner h1 { width:22.96%; }
	
	header .inner .lang { display:none; }
	header .inner .menubtn {
		position:absolute;
		top:23.33%;
		right:3.12%;
		display:block;
		width:8.43%;
		height:10.46vw;
	}
	header .inner .menubtn .txt {
		position:absolute;
		bottom:0;
		left:50%;
		width:9.37vw;
		height:2.34vw;
		margin-left:-4.68vw;
	}
	header .inner .menubtn .txt:before,
	header .inner .menubtn .txt:after {
		content:"";
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		background-repeat:no-repeat;
		background-size:cover;
		transition: opacity .25s .25s;
	}
	.menubtn .txt:before { background-image:url(../img/sp/header_btn_menu_txt1.png); opacity:1; }
	.menubtn .txt:after { background-image:url(../img/sp/header_btn_menu_txt2.png); opacity:0; }
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: transform .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width: 100%;
		height:6.25vw;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1.25vw;
		background-color: #cc0000;
	}
	.menu-trigger span:nth-of-type(1) { top: 0px; }
	.menu-trigger span:nth-of-type(2) { top: 8px; top: 2.5vw; }
	.menu-trigger span:nth-of-type(3) { bottom: 0px; }
	.menu-trigger span:nth-of-type(1) {
		-webkit-animation: menu-bar01 .75s forwards;
		animation: menu-bar01 .75s forwards;
	}
	.menu-trigger span:nth-of-type(2) {
		transition: opacity .25s .25s;
		opacity: 1;
	}
	.menu-trigger span:nth-of-type(3) {
		-webkit-animation: menu-bar02 .75s forwards;
		animation: menu-bar02 .75s forwards;
	}
	.menubtn.active .menu-trigger span:nth-of-type(1) {
		-webkit-animation: active-menu-bar01 .75s forwards;
		animation: active-menu-bar01 .75s forwards;
	}
	.menubtn.active .menu-trigger span:nth-of-type(2) { opacity: 0; }
	.menubtn.active .menu-trigger span:nth-of-type(3) {
		-webkit-animation: active-menu-bar03 .75s forwards;
		animation: active-menu-bar03 .75s forwards;
	}
	.menubtn.active .txt:before { opacity:0; }
	.menubtn.active .txt:after { opacity:1; }
	
	.hover-action-slide .txt { font-size:0.62rem; }
	.hover-action-slide:before { display:none; }
	
	header .inner .menu {
		display:block;
		position: absolute;
		top: 100%;
		left:0;
		margin-top: 0;
		height:0;
		overflow:hidden;
		transition: all .4s;
		opacity:0;
	}
	header .inner .menu.active {
		height:125vw;
		opacity:1;
	}
	header .inner .menu:before {
		content:"";
		display:block;
		padding-top:125%;
	}
	header .inner .menu ul {
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		background-color:rgba(255,255,255,0.90);
		padding-top:19.68%;
	}
	header .inner .menu ul li {
		float:none;
		text-align:center;
	}
	header .inner .menu ul li + li {
		padding-top:15.31%;
		padding-left:0;
	}
	header .inner .menu ul li a,
	header.active .inner .menu ul li a { font-size:1rem; }
	
	header .inner .lang {
		display:block;
		position: absolute;
		top: 100%;
		left:0;
		width:100%;
		height:0%;
		margin-top: 0;
		overflow:hidden;
		transition: all .4s;
		opacity:0;
	}
	header .inner .lang.active {
		opacity:1;
		height:66.66%;
	}
	header .inner .langbtn {
		position:absolute;
		top: 23.33%;
		right:17.96%;
		display:block;
	}
	header .inner .langbtn a {
		font-size:0.75rem;
		text-decoration:none;
	}
	header .inner .langbtn a .arrow {
		vertical-align: text-top;
		position:relative;
		display:inline-block;
		width:0.7em;
		height:1em;
		background:url(../img/sp/header_lang_icon_arrow.png) center no-repeat;
		background-size:contain;
		margin-left: 0.5em;
		transition: all .4s;
	}
	header .inner .langbtn.active a .arrow {
		transform:rotateX(180deg);
	} 
	header.active .inner .lang { top:100%; }
	header .inner .lang .btn { display:none; }
	header .inner .select-wrapper {
		width:100%;
		height:100%;
	}
	header .inner .dropdown-content {
		display:block;
		width:100%;
		height: 100%;
		background-color:rgba(255,255,255,0.90);
		margin:0;
		padding:0;
		box-shadow:none;
	}
	header .inner .dropdown-content li {
		display: block;
		vertical-align: middle;
		float: left;
		height: 100%;
		width : 33.33333% ;
		width : -webkit-calc(100% / 3) ;
		width : calc(100% / 3) ;
	}
	header .inner .dropdown-content li a {
		display:block;
		height:100%;
		font-size:0.75rem;
		text-align:center;
		text-decoration:none;
		line-height:1em;
		padding: 12.1% 0;
		-webkit-transition:none;
		transition:none;
	}
	header .inner .dropdown-content li a:hover:before { width:0; }
	
	footer {
		min-width:100%;
		position:relative;
	}
	footer:before {
		content:"";
		display:block;
		padding-top:53.12%;
	}
	footer .inner {
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		box-sizing:border-box;
		padding: 7.65% 0 5.15%;
	}
	footer .inner ul li { line-height:0; }
	footer .inner ul li + li { padding-left: 1em; }
	footer .inner ul li:last-child { padding-left:0; display:block; }
	footer .inner ul li a { font-size:0.62rem; }
	footer .inner ul li a:before {
		background: url(../img/sp/footer_navi_icon_arrow.png) center no-repeat;
		background-size: contain;
		width: 0.6em;
		vertical-align:middle;
	}
	footer .inner .share { padding-top:9.68%; }
	footer .inner .share a { width:9.06%; }
	footer .inner .copylight {
		font-size:0.62rem;
		padding-top:9.68%;
	}
	
	main {
		padding-top:21.87%;
		min-width:100%;
	}
	main section .inner {
		width:100%;
		padding:12.03% 0;
	}
	main h2 {  margin:0 auto; padding-bottom:9.84%; font-size:1.31rem; line-height: 1em; }
	main h2 p { padding-top:9px; line-height:1rem; font-size:0.75rem; }
	main h3 { font-size:0.87rem; }
	main h3:after { height:2px; }
	
	#top .deco { display:none; }
	#top #mainvisial {
		height:auto;
	}
	
	#top #mainvisial:before {
		content:"";
		display:block;
		padding-top:118.58%;
	}
	#top #mainvisial .inner {
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		box-sizing:border-box;
		padding:18.59% 0 0;
	}

	
	#top #mainvisial .inner h2 { width: 72.34%; }
	#top #mainvisial .inner p {
		width:90.62%;
		font-size:0.75rem;
		line-height:2em;
		margin:0 auto;
	}
	#top #mainvisial .bg .view {
		width:100%;
		left:0;
		margin-left:0px;
	}
	#top #mainvisial .obj { top:-3.1%; padding:3.4% 0 0; }
	#top #mainvisial .obj .airship {
		width:26%;
		left:0;
		-webkit-animation:infinitescroll 20s linear infinite;
		animation:infinitescroll 20s linear infinite;
	}
	#top #mainvisial .obj .cloud { display:none; }
	#top #mainvisial .obj .cloud_bg { display:none; }
	#top #mainvisial .tree { bottom:-16.02%; height:23.61%; }
	#top #mainvisial .tree .wrap { left:0; width:100%; margin-left:0; }
	#top #mainvisial .tree .wrap .t1 { left:0; width:20.6%; }
	#top #mainvisial .tree .wrap .t2 { right:0; width:21.0%; }
	
	
	#top #information .inner h2 {
		width:42.18%;
		margin:0 auto;
	}
	#top #information .inner .news {
		width:90.62%;
		margin:0 auto;
	}
	#top #information .inner .news dl + dl {
		padding-top:6.25%;
	}
	#top #information .inner .news dl dt {
		width:25.68%;
	}
	#top #information .inner .news dl dt,
	#top #information .inner .news dl dd {
		font-size:0.62rem;
		line-height:1.5em;
	}
	
	
	#top #menu .inner .btns li { width:100%; height: auto; }
	#top #menu .inner .btns li + li { padding-top:7.81%; padding-left:0; }
	#top #menu .inner .btns li a {
		width:64.53%;
		height:auto;
		margin:0 auto;
	}
	#top #menu .inner .btns li a .circle {
		position:relative;
		width:100%;
		height:100%;
		background:url(../img/sp/top_menu_btn_img1.png) center no-repeat;
		background-repeat:no-repeat;
		background-size:contain;
		background-position:center;
	}
	#top #menu .inner .btns li:nth-child(1) a .circle { background-image:url(../img/sp/top_menu_btn_img1.png); }
	#top #menu .inner .btns li:nth-child(2) a .circle { background-image:url(../img/sp/top_menu_btn_img2.png); }
	#top #menu .inner .btns li:nth-child(3) a .circle { background-image:url(../img/sp/top_menu_btn_img3.png); }
	
	#top #menu .inner .btns li a .circle:before {
		content:"";
		display:block;
		padding-top:100%;
	}
	#top #menu .inner .btns li a .circle .circle-bg { display:none; }
	#top #menu .inner .btns li a .circle .circle-inner { display:none; }
	#top #menu .inner .btns li a .circle .circle-inner img {
		width:206px !important;
		height:203px;
		margin: -110px 0 0 -103px;
	}
	#top #menu .inner .btns li a .txt { position:relative; font-size:0.75rem; }
	#top #menu .inner .btns li a:hover .txt > span:after { width: 0; }
	
	#top #company .inner h2 { width:30.31%; }
	#top #company .inner .table {
		width:90.62%;
		margin:0 auto;
	}
	#top #company .inner .table dl {
		padding-top:4.68%;
	}
	#top #company .inner .table dl dt {
		font-weight:bold;
		width:25%;
		font-size:0.62rem;
	}
	#top #company .inner .table dl dd {
		font-size:0.75rem;
		line-height:1.37em;
	}
	#top #company .inner .btn {
		width:78.12%;
		height:auto;
		position:relative;
		margin-top: 9.37%;
	}
	#top #company .inner .btn:before {
		content:"";
		display:block;
		padding-top:18%;
	}
	#top #company .inner .btn a {
		position:absolute;
		top:0;
		left:0;
		padding-top: 6.9%;
	}
	#top #link .inner { padding: 12.03% 0 24.06%; }
	#top #link .inner h2 { width:14.37%; }
	#top #link .inner .btns li { width:90.62%; height:auto; position:relative; vertical-align: bottom; }
	#top #link .inner .btns li:before {
		content:"";
		display:block;
		padding-top:28.12%;
	}
	#top #link .inner .btns li a {
		position:absolute;
		top:0;
		left:0;
		padding-top: 11.8%;
		padding-right:13.7%;
	}
	#top #link .inner .btns li + li { padding-left:0; margin-top:2%; }
	#top #link .inner .btns figure { width: 32.2%; }
	#top #link .inner .btns li a .txt { font-size:0.75rem; }
	
	
	#about section .inner {
		width:90.62%;
		margin:0 auto;
		padding-bottom:39.06%;
	}
	#about section .inner h2 { padding-bottom:9.37%; }
	#about section .inner .sub { font-size:0.87rem; }
	#about section .inner .text { padding-top:9.37%; }
	#about section .inner .text p { font-size: 0.71rem; }
	#about section .inner .text p + p { padding-top:9.37%; }
	#about section .inner .deco { right:0; width:12.18%; }
	
	#owners #forowners .inner {
		width:90.62%;
		margin:0 auto;
		padding-bottom:12.18%;
	}
	#owners #forowners .inner h2 { padding-bottom:9.37%; }
	#owners #forowners .inner .sub { font-size:0.87rem; }
	#owners #forowners .inner .text { padding-top:9.37%; }
	#owners #forowners .inner .text p { font-size: 0.71rem; }
	#owners #forowners .inner .text p + p { padding-top:9.37%; font-size:0.71rem; }
	#owners #forowners .inner .deco { right:0; width:12.18%; }
	
	#owners #contact .inner {
		padding: 12.03% 0 38.9%;
	}
	#owners #contact .btns { width:90.62%; margin:0 auto; }
	#owners #contact .btns li { width:100%; height:auto; position:relative; vertical-align: bottom; }
	#owners #contact .btns li:before {
		content:"";
		display:block;
		padding-top:28.12%;
	}
	#owners #contact .btns li + li { margin-left:0; margin-top:2%; }
	#owners #contact .btns li a figure {
		width:5.51%;
		left:7%;
		margin-top: 0;
		top: 34%;
		line-height:0;
		vertical-align:middle;
	}
	#owners #contact .btns li:nth-child(2) a figure {
		top: 38%;
	}
	#owners #contact .btns li a {
		position:absolute;
		top:0;
		left:0;
		padding-top: 12.2%;
		padding-left: 16.8%;
	}
	#owners #contact .btns li a .illust {
		width: 10%;
		left: 3.6%;
		-webkit-transition: none;
		transition: none;
	}
	#owners #contact .btns li a:hover .illust:before { opacity:1; }
	#owners #contact .btns li a:hover .illust:after { opacity:0; }
	
	#owners #contact .tell { padding: 6.25% 0 0; }
	#owners #contact .tell p { font-size:0.75rem; }
	#owners #contact .tell a { width:66.95%; margin:4.37% auto; }
	#owners #contact .tell .time { font-size:0.62rem; }
	#owners #contact .inner .deco { width:17.65%; right:4.84%; }
	
	#company section .inner { width:90.62%; margin:0 auto; padding-bottom:39.06%; }
	#company section .inner .table { padding-top:0; }
	#company section .inner .table dl { font-size:0.75rem; }
	#company section .inner .table dl dt,
	#company section .inner .table dl dd { display:block; }
	#company section .inner .table dl + dl { padding-top:4.68%; }
	#company section .inner .table dl dd table tr { display:block; }
	#company section .inner .table dl dd table tr + tr { padding-top:3.12%; }
	#company section .inner .table dl dd table th { display:inline-block; }
	#company section .inner .table dl dd table th + th { padding-left:1em; }
	#company section .inner .table dl dd table td { padding-left:0; }
	#company section .inner #map_canvas { height:auto; position:relative; }
	#company section .inner #map_canvas:before {
		content:"";
		display:block;
		padding-top:106.89%;
	}
	#company section .inner .deco { width:26.46%; right:0; }
	
	#staff section .inner { width:100%; }
	#staff section .inner .list {
		position:relative;
		width:90.62%;
		margin:0 auto;
		padding-top: 0;
		z-index:2;
	}
	#staff section .inner .list ul li {
		display:block;
		position:relative;
	}
	#staff section .inner .list ul li + li {
		padding-top:0;
		margin-top:17.24%;
	}
	#staff section .inner .list ul li > div {
		display:block;
	}
	#staff section .inner .list ul li .face {
		padding-right:0;
	}
	#staff section .inner .list ul li .face {
		width:38.27%;
		position:absolute;
		top:0;
		left:0;
	}
	#staff section .inner .list ul li .face figure {
		width:100%;
		height:auto;
	}
	#staff section .inner .list ul li .face:before {
		content:"";
		display:block;
		padding-top:100%;
	}
	#staff section .inner .list ul li .info {
		font-size:0.62rem;
	}
	#staff section .inner .list ul li .info .name {
		position:relative;
		padding-bottom: 2.93%;
		font-size:0.93rem;
	}
	#staff section .inner .list ul li .info .name:before {
		content:"";
		display:block;
		padding-top: 38.6%;
	}
	#staff section .inner .list ul li .info .name span {
		display:block;
		font-size:0.68rem;
		padding-left:0;
		padding-top:1.89%;
	}
	#staff section .inner .list ul li .info .name > div {
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		padding-top: 13.3%;
		padding-left: 42%;
		box-sizing: border-box;
	}
	#staff section .inner .list ul li .info .txt { padding-top:2.58%; }
	#staff section .inner .deco { z-index:1; }
	#staff section .inner .deco.d1 { top:3.08%; left:0; right:auto; width:30.93%; }
	#staff section .inner .deco.d2 { top:12.88%; right:0; left:auto; width:40%; }
	#staff section .inner .deco.d3 { top:28.48%; right:0; left:auto; width:27.34%; }
	#staff section .inner .deco.d4 { top:39.96%; left:0; right:auto; width:21.4%; }
	#staff section .inner .deco.d5 { top:61.01%; right:5.31%; left:auto; width:14.06%; }
	#staff section .inner .deco.d6 { bottom:0; right:4.68%; width:24.06%; }
	
	
	#privacy section .inner { width:90.62%; padding-bottom:39.06%; }
	#privacy section .inner .ttl { padding-top:0; font-size:0.87rem; }
	#privacy section .inner .text { font-size:0.75rem; padding-top:17.24%; line-height: 1.79em; }
	#privacy section .inner .text .chapter { padding-top:9.48%; }
	#privacy section .inner .deco { right:0; width:21.72%; }
	
	#sitemap section .inner { width:90.62%; padding-bottom:39.06%; }
	#sitemap section .inner .list { padding-top:0; }
	#sitemap section .inner .list a { font-size:0.75rem; }
	#sitemap section .inner .deco { left:9.13%; width: 240%; }
	#sitemap section .inner .list a:hover span:after { width:0; }
	#sitemap section .inner .list a:hover:after { transition-delay:0; -webkit-transition-delay:0; margin-left: 0.5em; }
	
	#contact section .inner { width:100%; }
	#contact section .inner h2 { padding-bottom: 9.84%; }
	#contact .tell { padding: 9.37% 0; }
	#contact .tell > div { width:66.95%; margin:0 auto; }
	#contact .tell a { margin:7.78% 0 4.37%; width:100%; }
	#contact .tell .time { font-size:0.62rem; }
	#contact .form { width:90.62%; padding-bottom:39.06%; padding-top:9.21%; }
	#contact .form .ttl { font-size:0.75rem; font-weight: normal; }
	#contact .form dl { padding-top:9.37%; }
	#contact .form dl dt { font-size:0.87rem; padding-bottom: 2%; font-weight:bold; }
	#contact .form dl dt span { font-size:0.62rem; }
	#contact .form dl dd { font-size:0.75rem; }
	#contact .form .error { font-size:0.62rem; }
	#contact .form form input { height:40px; }
	#contact .form form input,
	#contact .form form textarea { box-shadow: inset 0.3px 0.3px 1.5px 0px rgba(0, 0, 0, 0.35); }
	#contact .form form .radio { font-size:0.75rem; }
	#contact .form form .rdio_wrap div + div { padding-top:3.46%; }
	#contact .form form .btn button { width:39.06%; height:auto; border: solid #666666 1px; }
	#contact .form form .btn button:before {
		width:100%;
		content:"";
		display:block;
		padding-top:30%;
	}
	#contact .form form .btn .txt {
		font-size: 0.62rem;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
	    padding-top: 10.6%;
	}
	#contact .form form .btn button + button { margin-left:6.25%; }
	#contact .form .deco { right:0; width:25.93%; }
	
	#contact .complete { width:90.62%; padding-bottom:28.12%; }
	#contact .complete .ttl { font-size:0.87rem; line-height:1.7em; padding-bottom: 9.84%; }
	#contact .complete p { font-size:0.75rem; }
	#contact .complete p + p {
		padding-top:9.65%;
	}
	#contact .complete .btn {
		padding-top:16.37%;
	}
	#contact .complete .btn a {
		width:86.2%;
		height: auto;
		padding-top: 0;
	}
	#contact .complete .btn a:before {
		width:100%;
		content:"";
		display:block;
		padding-top:13.79%;
	}
	#contact .complete .btn a .txt {
		font-size: 0.62rem;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
		padding-top: 4%;
	}

}
@-webkit-keyframes menu-bar01 {
	0% {-webkit-transform: translateY(2.5vw) rotate(45deg);}
	50% {-webkit-transform: translateY(2.5vw) rotate(0);}
	100% {-webkit-transform: translateY(0) rotate(0);}
}
@keyframes menu-bar01 {
	0% {transform: translateY(2.5vw) rotate(45deg);}
	50% {transform: translateY(2.5vw) rotate(0);}
	100% {transform: translateY(0) rotate(0);}
}
@-webkit-keyframes menu-bar02 {
	0% {-webkit-transform: translateY(-2.5vw) rotate(-45deg);}
	50% {-webkit-transform: translateY(-2.5vw) rotate(0);}
	100% {-webkit-transform: translateY(0) rotate(0);}
}
@keyframes menu-bar02 {
	0% {transform: translateY(-2.5vw) rotate(-45deg);}
	50% {transform: translateY(-2.5vw) rotate(0);}
	100% {transform: translateY(0) rotate(0);}
}
.menu-trigger.active span:nth-of-type(1) {
	-webkit-animation: active-menu-bar01 .75s forwards;
	animation: active-menu-bar01 .75s forwards;
}
@-webkit-keyframes active-menu-bar01 {
	0% {-webkit-transform: translateY(0) rotate(0);}
	50% {-webkit-transform: translateY(2.5vw) rotate(0);}
	100% {-webkit-transform: translateY(2.5vw) rotate(45deg);}
}
@keyframes active-menu-bar01 {
	0% {transform: translateY(0) rotate(0);}
	50% {transform: translateY(2.5vw) rotate(0);}
	100% {transform: translateY(2.5vw) rotate(45deg);}
}
@-webkit-keyframes active-menu-bar03 {
	0% {-webkit-transform: translateY(0) rotate(0);}
	50% {-webkit-transform: translateY(-2.5vw) rotate(0);}
	100% {-webkit-transform: translateY(-2.5vw) rotate(-45deg);}
}
@keyframes active-menu-bar03 {
	0% {transform: translateY(0) rotate(0);}
	50% {transform: translateY(-2.5vw) rotate(0);}
	100% { transform: translateY(-2.5vw) rotate(-45deg);}
}
@-webkit-keyframes infinitescroll {
	0% {left:-26%; opacity:1;}
	99% {left:100%; opacity:1;}
	100% {left:100%; opacity:0;}
}
@keyframes infinitescroll {
	0% {left:-26%; opacity:1;}
	99% {left:100%; opacity:1;}
	100% {left:100%; opacity:0;}
}
@-webkit-keyframes infinitescroll_cloud_bg {
	0% { background-position:650px 0; }
	100% {background-position:2370px 0; }
}
@keyframes infinitescroll_cloud_bg {
	0% { background-position:650px 0; }
	100% {background-position:2370px 0; }
}