@charset "utf-8";
@font-face {font-family:"Helvetica Neue"; src:local("Helvetica Neue Regular"); font-weight:100; font-display:swap;}
@font-face {font-family:"Helvetica Neue"; src:local("Helvetica Neue Regular"); font-weight:200; font-display:swap;}
@font-face {
	font-family:"YakuHanJP"; 
	font-style:normal; 
	font-weight:400; 
	src:url("../fonts/YakuHanJP-Regular.eot");
	src:url("../fonts/YakuHanJP-Regular.woff2") format("woff2"), 
	    url("../fonts/YakuHanJP-Regular.woff") format("woff");
}
@font-face {
	font-family:"YakuHanMP"; 
	font-style:normal; 
	font-weight:400; 
	src:url("../fonts/YakuHanMP-Regular.eot");
	src:url("../fonts/YakuHanMP-Regular.woff2") format("woff2"), 
	    url("../fonts/YakuHanMP-Regular.woff") format("woff");
}
@font-face {
	font-family:"icons"; 
	font-weight:normal; 
	font-style:normal; 
	src:url("../fonts/icons.eot?20171122"); 
	src:url("../fonts/icons.eot?20171122#iefix") format("embedded-opentype"), 
	    url("../fonts/icons.ttf?20171122") format("truetype"), 
	    url("../fonts/icons.woff?20171122") format("woff"), 
	    url("../fonts/icons.svg?20171122#icons") format("svg");
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0; 
	padding:0; 
	border:0; 
	outline:0; 
	font-size:inherit; 
	font-style:inherit; 
	vertical-align:baseline; 
	background:transparent;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {display:block;}
i, em {font-style:normal;}
ol, ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after {content:''; content:none;}
a {margin:0; padding:0; font-size:inherit; vertical-align:baseline; background:transparent;}
table {border-collapse:collapse; border-spacing:0;}
hr {display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0;}
input, select, button, textarea, pre {font-size:inherit; font-family:inherit;}
input, select {vertical-align:middle;}
img {vertical-align:bottom;}

html {
	height:100%; 
	font-size:10px; 
	font-family:YakuHanJP,-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI","Noto Sans Japanese","ヒラギノ角ゴ ProN W3",Meiryo,sans-serif;
}

body {
	width:100%; 
	height:100%; 
	background:#fff; 
	color:#000; 
	text-align:center; 
	line-height:2; 
	hyphens:auto; 
	-webkit-text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

/* IE10以上 */
@media all and (-ms-high-contrast:none) {
body {font-family:YakuHanJP,Verdana,Meiryo,sans-serif;}
}

a, 
a img, 
a::before, 
a::after, 
button, 
button::before, 
button::after  {
	color:inherit; outline:none; 
	transition:all 0.2s ease-in-out 0s; transition-property:border-color,background-color,color,opacity;}
a {text-decoration:underline;}
a:hover {color:#999;}
a:hover img {opacity:0.7;}
button:focus, 
button::-moz-focus-inner {border:none; outline:none;}
sup {position:relative; top:-0.1em; font-size:60%; vertical-align:top;}

h1, h2, h3, h4, h5, h6 {line-height:1.5;}


/* frame */
#container_ {min-width:1040px; position:relative; margin:0 auto; overflow:hidden;}
#container_::after {display:block; content:""; clear:both; height:0;}

#header {
	display:-webkit-flex; display:-ms-flexbox; display:flex; 
	width:100%; position:relative; z-index:9998; background:#f3f3f3;}
#header > h1 {width:240px; height:77px; position:relative; z-index:2;}
#header > h1 > a {
	display:block; height:0; padding:77px 0 0; 
	background:url(../images/general.png) center -2px no-repeat; background-size:95%; overflow:hidden;}
#header > nav {
	-webkit-flex:1; -ms-flex:1; flex:1; 
	background:#cc0e19; color:#fff; font-size:1.4rem; font-weight:normal; line-height:1.4;}
#header > nav > h1 {display:none;}
#header > nav > ul {
	display:-webkit-flex; display:-ms-flexbox; display:flex; 
	position:relative; z-index:2;}
#header > nav > ul > li {
	-webkit-flex:1 1 auto; -ms-flex:1 1 auto; flex:1 1 auto; 
	margin:0 0 -1px; padding:0 9px; border:solid #b70d16; border-width:0 0 0 1px; white-space:nowrap; transition:0.2s ease-in-out; transition-property:border-color,background-color;}
#header > nav > ul > li > a {
	display:-webkit-flex; display:-ms-flexbox; display:flex; 
	-webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column; 
	-webkit-justify-content:center; -ms-flex-pack:center; justify-content:center; 
	height:77px; position:relative; margin:0 -9px; padding:0 9px; text-decoration:none;}
#header > nav > ul > li > span {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 77px;
    position: relative;
    margin: 0 -9px;
    padding: 0 9px;
    text-decoration: none;
}
#header > nav > ul > li > a::after {
	display:block; content:"\e616"; width:1em; position:absolute; left:0; right:0; bottom:0.1em; margin:auto;
	font:normal 1.2em/1 icons;}
#header > nav > ul > li > a:hover {background-color:#d34b53; color:inherit;}

#main {display:block; position:relative;}
#main::after {display:block; content:""; clear:both; height:0;}

#footer {width:940px; margin:0 0 0 -470px; padding:40px 50%; background:#f3f3f3; text-align:left;}
#footer::after {display:block; content:""; clear:both; height:0;}
#footer > h1 {float:left; width:290px; margin:-20px 0 0 -15px;}
#footer > h1 > a {
	display:block; height:0; padding:70px 0 0; 
	background:url(../images/general.png) 0 -200px no-repeat; overflow:hidden;}
#footer > .note {margin:0 0 0 300px;}
#footer > .note::before {display:block; content:""; height:0; margin:-0.5em 0 0; overflow:hidden;}
#footer > .note > li {padding:0 0 0 1em; text-indent:-1em;}
#footer > small {display:block; margin:50px 0 0; color:#9b9b9b; font-size:1.1rem; line-height:1;}
#footer > .trademark {float:left;}
#footer > .copyright {float:right;}

@media screen and (max-width:1040px) {
#footer {margin-left:0; padding-left:50px; padding-right:50px;}
}


/* .c-button */
.c-button {
	display:-webkit-inline-flex; display:inline-flex; 
	-webkit-justify-content:center; justify-content:center; 
	-webkit-align-items:center; align-items:center; 
	min-width:300px; min-height:60px; padding:1em; border:1px solid #cc0e19; box-sizing:border-box;
	background:#cc0e19; color:#fff; font-weight:bold; text-decoration:none;}
.c-button:hover {background-color:#d34b53; border-color:#d34b53; color:#fff;}

.c-button.c-button--reverse {background-color:#fff; color:#cc0e19;}
.c-button.c-button--reverse:hover {background-color:#fff; border-color:#e5868c; color:#e5868c;}

/* .c-images-loop */
.c-images-loop {
	display:-webkit-flex; display:flex; 
	-webkit-flex-wrap:wrap; flex-wrap:wrap;}
.c-images-loop > * {
	-webkit-flex:0 1 100%; flex:0 1 100%;}
.c-images-loop > * img {display:block; width:100%; height:auto;}
html.fac-js-enabled .c-images-loop {}
html.fac-js-enabled .c-images-loop > * {
	-webkit-flex:0 1 auto; flex:0 1 auto; 
	box-sizing:border-box;}
html.fac-js-enabled .c-images-loop.c-images-loop--loaded {
	-webkit-flex-wrap:nowrap; flex-wrap:nowrap;
	backface-visibility:hidden; 
	position:relative; animation:c-images-loop 80s linear 0s infinite;}
html.fac-js-enabled .c-images-loop.c-images-loop--loaded > * {-webkit-flex:1 1 100%; flex:1 1 100%;}
.c-images-loop.c-images-loop--vary {}
.c-images-loop.c-images-loop--vary > * {-webkit-flex:0 1 auto; flex:0 1 auto;}
@keyframes c-images-loop {
0%   {transform:translate3d(0,0,0);}
100% {transform:translate3d(-33.3333%,0,0);}
}
@keyframes c-images-loop--reverse {
0%   {transform:translate3d(0,0,0);}
100% {transform:translate3d(33.3333%,0,0);}
}

/* fac.Galley */
.fac-gallery {position:relative; margin:0 auto; pointer-events:none; -webkit-tap-highlight-color:rgba(0,0,0,0);}
.fac-gallery .fac-gallery-slider {}
.fac-gallery .fac-gallery-list {position:relative; pointer-events:auto;}
.fac-gallery .fac-gallery-item {}
.fac-gallery .fac-gallery-item img {display:block; width:100%; height:auto;}
.fac-gallery-transition-none .fac-gallery-list {}
.fac-gallery-transition-none .fac-gallery-item {}
.fac-gallery-transition-slide .fac-gallery-list {
	display:-webkit-flex; display:flex; 
	-webkit-flex-wrap:nowrap; flex-wrap:nowrap;}
.fac-gallery-transition-slide .fac-gallery-item {-webkit-flex:1 1 100%; flex:1 1 100%;}
.fac-gallery-direction-vertical .fac-gallery-slider {height:100%;}
.fac-gallery-direction-vertical .fac-gallery-list {-webkit-flex-direction:column; flex-direction:column;}
.fac-gallery-direction-vertical .fac-gallery-item img {width:auto; height:100%;}
.fac-gallery .fac-gallery-nav {}
.fac-gallery .fac-gallery-nav > button {
	display:block; width:80px; position:absolute; top:0; bottom:0; z-index:3; padding:0; border:none; outline:none; 
	background:transparent; color:#7f7f7f; font-size:1.2rem; text-decoration:none; text-indent:110%; white-space:nowrap; overflow:hidden; cursor:pointer; pointer-events:auto; 
	-webkit-appearance:none; appearance:none;}
.fac-gallery .fac-gallery-nav > button::after {
	display:block; position:absolute; left:50%; top:50%; margin:auto; padding:0.5em; transform:translate(-50%,-50%); border:1px solid #7f7f7f; border-radius:2em; 
	color:inherit; font-size:1em; font-family:icons; font-weight:normal; text-indent:0; line-height:1; transition:none;}
.fac-gallery .fac-gallery-nav > button:focus, 
.fac-gallery .fac-gallery-nav > button::-moz-focus-inner {border:none; outline:none;}
.fac-gallery .fac-gallery-nav > button:hover {opacity:0.5;}
.fac-gallery .fac-gallery-previous {left:-40px;}
.fac-gallery .fac-gallery-next {right:-40px;}
.fac-gallery .fac-gallery-previous::after {content:"\e607";}
.fac-gallery .fac-gallery-next::after {content:"\e605";}
.fac-gallery .fac-gallery-nav > ol {
	display:-webkit-flex; display:flex; 
	-webkit-justify-content:center; justify-content:center; 
	-webkit-align-items:center; align-items:center; 
	position:absolute; left:0; right:0; bottom:0; z-index:3;}
.fac-gallery .fac-gallery-nav > ol > li {display:inline-block; width:20px; height:0; position:relative; padding:20px 0 0; overflow:hidden; cursor:pointer; pointer-events:auto;}
.fac-gallery .fac-gallery-nav > ol > li::after {
	display:block; content:""; width:8px; height:8px; position:absolute; left:0; right:0; top:0; bottom:0; margin:auto; border-radius:100%; 
	background:#000; text-indent:0; opacity:0.1; transition:opacity 0.2s ease-in-out 0s;}
.fac-gallery .fac-gallery-nav > ol > li:hover::after, 
.fac-gallery .fac-gallery-nav > ol > li.fac-gallery-selected::after {opacity:1;}
.fac-gallery-less .fac-gallery-nav {display:none;}
.fac-gallery:not(.fac-gallery-loop).fac-gallery-first .fac-gallery-nav > .fac-gallery-previous, 
.fac-gallery:not(.fac-gallery-loop).fac-gallery-last .fac-gallery-nav > .fac-gallery-next {opacity:0.2; pointer-events:none;}
