@charset "UTF-8";
/* Noto Sans Japanese (japanese) http://www.google.com/fonts/earlyaccess */

@font-face {
  font-family:'Noto Sans Japanese';
  font-style:normal;
  font-weight:400;
  src: url(../font/NotoSansJP-Regular.woff2) format('woff2'),
        url(../font/NotoSansJP-Regular.woff) format('woff'),
        url(../font/NotoSansJP-Regular.ttf) format('truetype');
}
@font-face {
  font-family:'Noto Sans Japanese';
  font-style:normal;
  font-weight:500;
  src: url(../font/NotoSansJP-Medium.woff2) format('woff2'),
        url(../font/NotoSansJP-Medium.woff) format('woff'),
        url(../font/NotoSansJP-Medium.ttf) format('truetype');
}
@font-face {
  font-family:'Noto Sans Japanese';
  font-style:normal;
  font-weight:800;
  src: url(../font/NotoSansJP-ExtraBold.woff2) format('woff2'),
        url(../font/NotoSansJP-ExtraBold.woff) format('woff'),
        url(../font/NotoSansJP-ExtraBold.ttf) format('truetype');
}

/* Resetting */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button {
	border: 0;
	font-size:100%;
	font: inherit;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, main,hgroup, menu, nav, section {
	display: block;
}

html {
	font-size:20px;
}
body {
	color:#000;
	font-family:'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', Helvetica, Arial, sans-serif;
  font-weight:400;
	line-height:1;
	background:#fff;
  margin:0;
}
body.nos {
	overflow:hidden;
}

ol,ul,li{
	list-style: none;
}

sup {
	font-size:70%;
	vertical-align:super;
}

blockquote, q {
	quotes: none;
}

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

table {
	border-collapse: inherit;
	border-spacing: 0;
}
input, textarea {
	font-family:'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', Helvetica, Arial, sans-serif;
}
input[type="submit"],
input[type="button"],
input[type="reset"] {
	appearance:button;
	border:none;
	border-radius:0;
	box-sizing:border-box;
	cursor:pointer;
	-webkit-appearance:button;
}
input[type="text"],
textarea, select, button {
	appearance:none;
	border:none;
	border-radius:0;
	box-sizing:border-box;
	-webkit-appearance:none;
	background:none;
}

a{
	color:#333;
	text-decoration: none;
	outline: none;
}
a:focus, *:focus {outline:none;}
a.tel_link {
	pointer-events:none;
}
*{
	box-sizing:border-box;
}
img {
	width:auto;
	max-width:100%;
  display:block;
}

#wrapper {
  padding-top:111px;
	overflow:hidden;
	position:relative;
}

.sp {
  display:none !important;
}
.ta-r {
	text-align:right;
}
.ibk {
	display:inline-block;
}

#spmenu,
#spnavi {
	display:none;
}
header {
	width:100%;
	padding:0 40px;
	position:fixed;
  top:0;
	z-index:9;
	background:#fff;
  transition:ease .3s;
}
header.hd_hide {
  transform:translateY(-150%);
}
header .inner {
	width:100%;
  max-width:1500px;
	height:100%;
	margin:0 auto;
	padding:60px 0 23px;
	position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  transition:ease .3s;
}
header .logo {
  width:129px;
  position:absolute;
  top:30px;
  left:0;
  z-index:9;
  transition:ease .3s;
}
header .logo a {
	display:block;
  box-shadow:0px 0px 20px 0px rgba(33, 24, 21, 0.2);
}
.totop header {
  box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);
}
.totop header .inner {
  padding:30px 0 23px;
}
.totop header .logo {
  width:95px;
  top:0 !important;
}
header .pcmenu {
  width:100%;
  display:flex;
  justify-content:flex-end;
  position: relative;
  z-index:8;
}
header .pcmenu li {
  margin:0 0 0 60px;
  position:relative;
}
header .pcmenu li:nth-child(1) {
  margin:0 !important;
}
header .pcmenu li.acc {
  padding:0 0 0 22px;
  background:url(../images/ico_link_b.svg) no-repeat 0 8px;
  background-size:14px auto;
}
header .pcmenu li a {
  color:#0f3164;
  font-size:20px;
  font-weight:800;
  line-height:1;
  padding:0 0 8px;
  position: relative;
  display:block;
}
header .pcmenu li a::after {
  content:"";
  width:0%;
  height:2px;
  display:block;
  background:#0f3164;
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  transition:ease .3s;
}
header .pcmenu li .accbox {
  width:300px;
  padding:25px 30px;
  position:absolute;
  bottom:-23px;
  left:50%;
  transform:translateX(-50%) translateY(100%);
  background:#0f3164;
  display:none;
}
header .pcmenu li .accbox::before {
  content:"";
  width:15px;
  height:13px;
  display: block;
  background:url(../images/acc_arrow.svg) no-repeat center 0;
  background-size:100% auto;
  position: absolute;
  top:-11px;
  left:50%;
  transform: translateX(-50%);
  opacity:0;
  transition:ease .3s;
}
header .pcmenu li.acc:hover .accbox::before {
  opacity:1;
}
header .pcmenu li .accbox p {
  margin:7px 0 0;
}
header .pcmenu li .accbox p:nth-child(1) {
  margin:0 !important;
}
header .pcmenu li .accbox p a {
  color:#fff;
  font-size:18px;
  font-weight:400;
  line-height:1.33;
}

header.open #spmenu a::after {
  opacity:1;
}
header.open #spmenu a img {
	opacity:0;
}
header.open::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(60, 60, 60, .8);
  position: fixed;
  top: 0;
  left: 0;
}

footer {
	position:relative;
	z-index:8;
	background:#fff;
}
footer .inner {
	padding:60px 40px 65px;
}
footer .logo {
  width:129px;
  margin:0 auto 60px;
}
footer .logo a {
  display: block;
  transition: ease .3s;
  box-shadow:0px 0px 20px 0px rgba(33, 24, 21, 0.3);
}
footer ul {
  width:100%;
  max-width:1000px;
  margin:0 auto;
  display:flex;
  justify-content: space-between;
}
footer ul li h3 {
  margin:0 0 17px;
}
footer ul li h3 a {
  color:#211815;
	font-size:20px;
  font-weight:800;
	line-height:1;
}
footer ul li p {
  margin:2px 0 0;
}
footer ul li p a {
  color:#211815;
	font-size:16px;
  font-weight:500;
	line-height:1.875;
}
.ftbt {
  background:#000;
}
footer .ftbt .inner {
  width:100%;
  padding:65px 40px 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ftbt .ftlogo {
  width:268px;
}
.ftbt p.copyright {
  color:#fff;
  font-size:16px;
  line-height:1;
  margin:0;
}

#pageTop {
	width:100%;
	height:0;
  margin: 0 auto;
  z-index:900;
  clear:both;
  position: relative;
	visibility: visible;
	overflow:visible;
	position:fixed;
	bottom:28px;
	right:0;
}
#pageTop.ftposi {
  position: absolute;
  top:-20px;
}
#totopLink {
  max-width:1540px;
  height:0;
  margin:0 auto;
	position:relative;
  top:130px;
  transition:ease .5s;
}
.totop #totopLink {
  top:0;
}
#totopLink a {
  width:90px;
  height:90px;
	background:#0f3164;
	display:block;
	position:absolute;
	bottom:0;
	right:20px;
	transition:all ease 0.3s;
  border-radius:50%;
  opacity:1;
}
#totopLink a img {
  width:100%;
  display:block;
}

/* フェードイン */
.fadein {
  opacity : 0;
  transform : translate(0, 0);
  transition : all ease 0.5s;
}
.fadein1 {
  opacity : 0;
  transform : translate(0, 50px);
  transition : all ease 0.5s;
}
.fadein2 {
  opacity : 0;
  transform : translate(-50px, 0);
  transition : all ease 0.5s;
}
.fadein3 {
  opacity : 0;
  transform : translate(50px, 0);
  transition : all ease 0.5s;
}
.fadein4 {
  opacity : 0;
  transform : translate(0, 0);
  transition : all ease 1.2s;
}
.fadein.scrollin, .fadein1.scrollin, .fadein2.scrollin, .fadein3.scrollin, .fadein4.scrollin {
  opacity : 1;
  transform : translate(0, 0);
}

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


@media only screen and (max-width:1200px) {
#wrapper {
  padding-top:9.25vw;
}
header {
	padding:0 3.33vw;
}
header .inner {
	padding:5vw 0 1.916vw;
}
header .logo {
  width:10.75vw;
  top:2.5vw;
}
header .logo a {
  box-shadow:0px 0px 1.66vw 0px rgba(33, 24, 21, 0.3);
}
.totop header .inner {
  padding:2.5vw 0 1.916vw;
}
.totop header .logo {
  width:7.916vw;
}
header .pcmenu li {
  margin:0 0 0 5vw;
}
header .pcmenu li.acc {
  padding:0 0 0 1.83vw;
  background:url(../images/ico_link_b.svg) no-repeat 0 0.66vw;
  background-size:1.166vw auto;
}
header .pcmenu li a {
  font-size:1.66vw;
  padding:0 0 0.66vw;
}
header .pcmenu li a::after {
  height:0.166vw;
}
header .pcmenu li .accbox {
  width:25vw;
  padding:2.083vw 2.5vw;
  bottom:-1.9166vw;
}
header .pcmenu li .accbox::before {
  width:1.25vw;
  height:1.083vw;
  top:-0.916vw;
}
header .pcmenu li .accbox p {
  margin:0.583vw 0 0;
}
header .pcmenu li .accbox p a {
  font-size:1.5vw;
}

footer .inner {
	padding:5vw 3.33vw 5.416vw;
}
footer .logo {
  width:10.75vw;
  margin:0 auto 5vw;
}
footer .logo a {
  box-shadow:0px 0px 1.66vw 0px rgba(33, 24, 21, 0.3);
}
footer ul li h3 {
  margin:0 0 1.416vw;
}
footer ul li h3 a {
	font-size:1.66vw;
}
footer ul li p {
  margin:0.166vw 0 0;
}
footer ul li p a {
	font-size:1.33vw;
}
footer .ftbt .inner {
  padding:5.416vw 3.33vw 6.66vw;
}
.ftbt .ftlogo {
  width:22.33vw;
}
.ftbt p.copyright {
  font-size:1.33vw;
}

#pageTop {
	bottom:3.73vw;
}
#pageTop.ftposi {
  bottom:auto;
  top:-3.73vw;
}
#totopLink {
  top:11.833vw;
}
#totopLink a {
  width:7.5vw;
  height:7.5vw;
  right:4vw;
}

}


@media only screen and (max-width:1000px) {
#totopLink {
  top:calc(11.833vw + 30px);
}

}


@media only screen and (max-width:768px) {
.pc {
  display:none !important;
}
.sp {
  display:block !important;
}

#wrapper {
  padding-top:13.33vw;
}
header {
  padding:0;
}
header .inner {
  height:13.33vw;
  padding:0;
}
header .logo {
  width:17.2vw;
  top:4vw;
  left:4vw;
}
header .logo a {
  box-shadow:0px 0px 1.66vw 0px rgba(33, 24, 21, 0.3);
}
.totop header .inner {
  padding:0;
}
.totop header .logo {
  width:17.2vw;
}

footer .inner {
  width:100%;
	padding:8vw 6.66vw;
  display:flex;
}
footer .logo {
  width:17.2vw;
  min-width:17.2vw;
  margin:0 6.66vw 0 0;
}
footer ul {
  padding:0 26.26vw 0 0;
  position: relative;
  display: block;
}
footer ul li {
  margin:6.66vw 0 0;
}
footer ul li:nth-child(1) {
  margin:0;
}
footer ul li:nth-child(4) {
  margin:0;
  position: absolute;
  top:0;
  left:42.13vw;
}
footer ul li:nth-child(5) {
  margin:0;
  position: absolute;
  top:10.66vw;
  left:42.13vw;
}
footer ul li h3 {
  margin:0 0 2.66vw;
}
footer ul li h3 a {
	font-size:4vw;
}
footer ul li p {
  margin:1.33vw 0 0;
}
footer ul li p a {
	font-size:2.66vw;
  line-height:1.2;
  display:block;
  width:fit-content;
}
footer .ftbt .inner {
  padding:5.06vw 3.33vw 4.8vw;
  display: block;
}
.ftbt .ftlogo {
  width:35.73vw;
  margin:0 auto;
}
.ftbt p.copyright {
  font-size:2.133vw;
  text-align: center;
  margin:3.733vw 0 0;
}

#totopLink {
  top:calc(13.33vw + 30px);
}
#totopLink a {
  width:12vw;
  height:12vw;
  bottom:0;
}

#spmenu {
	width:13.33vw;
	height:13.33vw;
	position:absolute;
	top:0;
	right:0;
	z-index:11;
  overflow:visible;
  display:block;
}
#spmenu a {
	width:13.33vw;
	height:13.33vw;
	display:block;
	position:absolute;
  top:0;
  right:0;
  background:#000;
}
#spmenu a img {
	width:100%;
	height:auto;
	display:block;
  transition:ease .3s;
}
#spmenu a::after {
  content:"";
  width:13.33vw;
	height:13.33vw;
  display:block;
  position:absolute;
  top:50%;
  left:50%;
  transform:translateX(-50%) translateY(-50%);
  opacity:0;
  transition:ease .3s;
  z-index:2;
  background:url(../images/spclose.png) no-repeat 0 0;
  background-size:100% auto;
}

#spnavi {
	clear:both;
  width:100%;
  padding:0;
	z-index:9;
	margin:0;
	background:#fff;
	position:fixed;
	top:0;
	left:0;
	overflow:auto;
}
#spnavi .logo {
  top:0;
}
#spnavi .inner {
  height:auto !important;
	margin:0 auto;
  padding:0 6.66vw;
	position:relative;
}
#spnavi ul {
	width:100%;
  padding:20vw 0 7.16vw;
  position:relative;
}
#spnavi ul li {
  font-size:5.33vw;
  margin:5.33vw 0 0;
}
#spnavi ul li a {
  padding:0 0 0 5.33vw;
  display: block;
  position:relative;
}
#spnavi ul li a::before {
  content:"";
  width:3.733vw;
  height:2.2088vw;
  display:block;
  background:url(../images/ico_link.svg) no-repeat 0 0;
  background-size:100% auto;
  position: absolute;
  top:1.65vw;
  left:0;
  transform:rotate(-90deg);
}
#spnavi .closebtn {
  color:#fff;
  font-size:5.93vw;
  font-weight:500;
  line-height:1;
  text-align:center;
  background:#000;
  padding:4vw 0;
  cursor:pointer;
}
#spnavi .closebtn .icon {
  padding:0.15vw 6.66vw 0.15vw 0;
  background:url(../images/spclose.png) no-repeat right -4vw top -2.8vw;
  background-size:auto 200%;
  display:inline-block;
}

}


@media only screen and (max-width:640px) {

}


@media only screen and (max-width:480px) {

}


@media only screen and (max-width:360px) {

}


@media only screen and (min-width:769px) {
header.open::before,
#spnavi {
  display:none !important;
}
header .pcmenu li:hover a::after {
  width:100%;
}
#totopLink a:hover {
  background:#576e92;
}
footer ul li h3 a:hover,
footer ul li p a:hover {
  text-decoration: underline;
}
footer .logo a:hover {
  opacity:.8;
}

}


@media print{
.fadein, .fadein1, .fadein2, .fadein3, .fadein4 {
  opacity:1 !important;
  transform:translate(0, 0) !important;
}

}
