@charset "UTF-8";
/* ====================================
SetUp
==================================== */
/* reset */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p,
em, small, strong,
sub, sup, mark, del, ins, strike, b, i,
abbr, dfn, blockquote, q, cite, pre,
code, var, samp, kbd,
header, hgroup, footer,
section, article, main, aside, nav, menu,
ul, ol, li, dl, dt, dd,
address, time,
details, summary,
audio, video, canvas,
img, figure, figcaption,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	padding: 0;
	margin: 0;
	border: 0;
	outline: 0;
	background: transparent;
	vertical-align: baseline;
	}
a {
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	vertical-align: baseline;
	-webkit-text-decoration-skip: objects;
	}
audio,
canvas,
progress,
video {
	display: inline-block;
	}

/* setting */
html { font-size: 62.5%; }
body {
	font-size: 1.6rem;
	line-height: 1;
	}
* {
	box-sizing: border-box;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	}
*::before,
*::after {
	box-sizing: inherit;
	}
header, hgroup, footer,
section, article, main, aside, nav {
	display: block;
	}
h1, h2, h3, h4, h5, h6 {
	font-weight: 300;
	}
ul, ol {
	list-style: none outside none;
	}
caption, th, td,
address, cite, code, dfn, em, strong, var {
	font-style: normal;
	font-weight: normal;
	}
table {
	border-collapse: collapse;
	border-spacing: 0;
	}
img {
	font-size: 0;
	line-height: 0;
	vertical-align: bottom;
	}
ins { text-decoration: none; }
del { text-decoration: line-through; }
blockquote, q { quotes: none; }
blockquote::before,
blockquote::after,
q::before,
q::after {
	content: '';
	content: none;
	}
input,
select {
	vertical-align: middle;
	}
input,
button,
select,
textarea {
	outline: 0;
	}
input::-moz-focus-inner,
button::-moz-focus-inner {
	border: 0;
	}
[hidden] {
	display: none;
	}

/* ＞767 -------------- */
@media only screen and (max-width: 767px) {

	body {
		-webkit-text-size-adjust: 100%;
		}
	button,
	[type="button"],
	[type="reset"],
	[type="submit"] {
		-webkit-appearance: button;
		}

}
/* =============================================
WEBフォント（アイコン）
============================================= */

@font-face {
	font-family: 'icon_set_v1';
	src: url('../web_fonts/icon_set_v1.eot');
	src: url('../web_fonts/icon_set_v1.eot?#iefix') format('embedded-opentype'), url('../web_fonts/icon_set_v1.woff') format('woff'), url('../web_fonts/icon_set_v1.ttf') format('truetype'), url('../web_fonts/icon_set_v1.svg#icon_set_v1') format('svg');
	font-weight: normal;
	font-style: normal;
}


/* ====================================
Base
==================================== */
html {
	height: 100%;
	opacity: 0 !important;
	}
html.wf-active,
html.loading-delay {
	opacity: 1 !important;
	transition: 0.3s;
	}
body {
	height: 100%;
	background-color: #fff;
	color: #242728;
	font-family: source-han-sans-japanese,Hiragino Sans,"ヒラギノ角ゴシック",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴ ProN W3",Meiryo,"メイリオ",Verdana,sans-serif;
	font-weight: 300;
	font-style: normal;
	}
body.gnav_expand {
	position: fixed;
	width: 100%;
	height: 100%;
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.sp {
		display: none !important;
		}

}
/* ＞767 -------------- */
@media only screen and (max-width: 767px) {

	img {
		max-width: 100%;
		}
	.pc {
		display: none !important;
		}

}


/* ====================================
Header
==================================== */
/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	#header {
		width: 100%;
		position: relative;
		}

	/* logo */
	#header .logo {
		width: 180px;
		height: 180px;
		padding: 52px 15px 0;
		z-index: 10;
		position: absolute;
		top: 0;
		left: 0;
		background-color: #242728;
		}
	#header .logo>a {
		width: 100%;
		display: block;
		visibility: visible;
		opacity: 1;
		transition: 0.3s;
		color: #fff;
		font-size: 1.35rem;
		letter-spacing: 0.09rem;
		text-decoration: none;
		text-align: center;
		}
	.gnav_expand #header .logo>a {
		visibility: hidden;
		opacity: 0;
		}
	#header .logo>a:hover {
		opacity: 0.7;
		}
	#header .logo>a img {
		width: 105px;
		margin: 0 auto 13px;
		display: block;
		}

	/* hd_nav */
	#header .hd_nav {
		width: 100%;
		height: 60px;
		padding-left: 195px;
		z-index: 6;
		position: absolute;
		top: 0;
		left: 0;
		background-color: #242728;
		}
	#header .hd_nav ul {
		width: 210px;
		max-width: 1800px;
		padding-right: 30px;
		margin-left: auto;
		display: flex;
		justify-content: space-between;
		}
	#header .hd_nav li>a {
		height: 60px;
		padding-top: 18px;
		display: block;
		color: #fff;
		font-size: 12px;
		font-family: "fot-tsukumin-pr6n", sans-serif;
		font-weight: 300;
		letter-spacing: 0.25rem;
		text-decoration: none;
		}
	#header .hd_nav li>a::after {
		width: 30px;
		height: 2px;
		margin: 10px auto 0;
		display: block;
		background-color: #b1b2b2;
		content: '';
		opacity: 0.2;
		}
	#header .hd_nav li>a:hover::after {
		opacity: 0.6;
		transition: 0.3s;
		}

}
/* ＞767 -------------- */
@media only screen and (max-width: 767px) {

	#header {
		width: 100%;
		height: 54px;
		padding-left: 66px;
		z-index: 6;
		position: fixed;
		top: 0;
		background-color: #242728;
		}

	/* logo */
	#header .logo {
		width: 100%;
		padding-top: 14px;
		padding-right: 66px
		}
	#header .logo>a {
		width: 74px;
		height: 28px;
		margin: 0 auto;
		display: block;
		overflow: hidden;
		}
	#header .logo img {
		width: 100%;
		}

	/* hd_nav */
	#header .hd_nav {
		display: none;
		}

}


/* ====================================
gnav_layer
==================================== */
#gnav_layer {
	width: 100%;
	height: 100%;
	display: none;
	z-index: 7;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0.7;
	background-color: #242728;
	}
.gnav_expand #gnav_layer {
	display: block;
	cursor: pointer;
	}


/* ====================================
gnav_trg
==================================== */
#gnav_trg {
	z-index: 9;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #242728;
	}
#gnav_trg span {
	display: block;
	position: relative;
	color: #fff;
	font-size: 11px;
	font-family: "fot-tsukumin-pr6n", sans-serif;
	font-weight: 300;
	letter-spacing: 0.25rem;
	text-align: center;
	}
#gnav_trg .wrap::before,
#gnav_trg span::before,
#gnav_trg span::after {
	height: 2px;
	margin: auto;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	background-color: #7c7d7e;
	transition: 0.6s;
	content: '';
	}
.gnav_expand #gnav_trg .wrap::before {
	opacity: 0;
	transition: 0.1s;
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	#gnav_trg {
		width: 72px;
		height: 100%;
		}
	#gnav_trg .wrap {
		width: 72px;
		height: 72px;
		padding: 18px 0 15px;
		margin: auto;
		position: absolute;
		top: 240px;
		bottom: 240px;
		cursor: pointer;
		}
	#gnav_trg span {
		padding-top: 27px;
		}
	#gnav_trg .wrap::before,
	#gnav_trg span::before,
	#gnav_trg span::after {
		width: 21px;
		}
	#gnav_trg .wrap:hover::before,
	#gnav_trg .wrap:hover span::before,
	#gnav_trg .wrap:hover span::after {
		background-color: #dedfdf;
		transition: 0.3s;
		}
	#gnav_trg .wrap::before {
		top: 24px;
		}
	#gnav_trg span::before {
		top: 0px;
		}
	#gnav_trg span::after {
		top: 12px;
		}
	.gnav_expand #gnav_trg span::before {
		top: 6px;
		transform: rotate(225deg);
		transition: 0.6s;
		}
	.gnav_expand #gnav_trg span::after {
		top: 6px;
		transform: rotate(-225deg);
		transition: 0.6s;
		}

	/* close */
	.gnav_expand #gnav_trg .wrap::after {
		width: 100%;
		padding-bottom: 6px;
		display: block;
		position: absolute;
		top: 45px;
		background-color: #242728;
		color: #fff;
		font-size: 11px;
		font-family: "fot-tsukumin-pr6n", sans-serif;
		font-weight: 300;
		content: 'CLOSE';
		letter-spacing: 0.2rem;
		text-align: center;
		}

}
/* ＞767 -------------- */
@media only screen and (max-width: 767px) {

	#gnav_trg {
		width: 66px;
		height: 66px;
		}
	#gnav_trg .wrap {
		width: 66px;
		height: 66px;
		padding: 66px 0 0;
		margin: auto;
		overflow: hidden;
		}
	#gnav_trg .wrap::before,
	#gnav_trg span::before,
	#gnav_trg span::after {
		width: 26px;
		}
	#gnav_trg .wrap::before {
		top: 33px;
		}
	#gnav_trg span::before {
		top: -38px;
		}
	#gnav_trg span::after {
		top: -28px;
		}
	.gnav_expand #gnav_trg span::before {
		width: 18px;
		top: -32px;
		transform: rotate(315deg);
		transition: 0.6s;
		}
	.gnav_expand #gnav_trg span::after {
		width: 18px;
		top: -32px;
		transform: rotate(-315deg);
		transition: 0.6s;
		}

}


/* ====================================
Gnav
==================================== */
#gnav {
	z-index: 8;
	position: fixed;
	top: 0;
	left: -100%;
	background-color: #242728;
	transition: 0.9s cubic-bezier(0.8,0,0.3,1);
	}
.gnav_expand #gnav {
	left: 0;
	}
#gnav .wrap {
	width: 100%;
	margin: 0 auto;
	}
#gnav .wrap>ul {
	padding-right: 30px;
	}
#gnav li>ul>li {
	padding-left: 30px;
	position: relative;
	}
#gnav li>ul>li::before {
	width: 9px;
	height: 2px;
	margin: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 9px;
	background-color: #505253;
	content: '';
	}
#gnav li a {
	position: relative;
	color: #fff;
	letter-spacing: 0.15rem;
	text-decoration: none;
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	#gnav {
		width: 72%;
		min-width: 720px;
		max-width: 1200px;
		height: 100%;
		padding: 180px 0 0 72px;
		}
	#gnav .logo {
		width: 100%;
		max-width: 690px;
		margin: 0 auto 24px;
		}
	#gnav .logo img {
		width: 105px;
		}
	#gnav .logo a:hover img {
		opacity: 0.7;
		transition: 0.3s;
		}
	#gnav .wrap {
		max-width: 690px;
		display: flex;
		justify-content: space-between;
		}
	#gnav li {
		margin-bottom: 6px;
		}
	#gnav li>ul {
		margin: 6px 0 0;
		}
	#gnav li a {
		padding: 12px 3px;
		display: inline-block;
		font-size: 1.4rem;
		}
	#gnav li a::after {
		width: 100%;
		height: 1px;
		display: inline-block;
		position: absolute;
		bottom: 3px;
		left: 0;
		background-color: #b1b2b2;
	 	transition: transform 0.4s cubic-bezier(0.8,0,0.2,1) 0s;
	 	transform: scale(0,1);
		transform-origin: right top;
		content: '';
		}
	#gnav li a:hover::after {
		transform-origin: left top;
		transform: scale(1,1);
		}

	/* close btn */
	#gnav .close {
		width: 46px;
		height: 46px;
		z-index: 5;
		position: absolute;
		top: 60px;
		right: 60px;
		border: 1px solid #505253;
		cursor: pointer;
		}
	#gnav .close:hover {
		background-color: rgba(255,255,255,0.06);
		transition: 0.3s;
		}
	#gnav .close::before,
	#gnav .close::after {
		width: 16px;
		height: 2px;
		margin: auto;
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background-color: #919393;
		content: '';
		}
	#gnav .close::before {
		transform: rotate(45deg);
		}
	#gnav .close::after {
		transform: rotate(-45deg);
		}
	#gnav .close:hover::before,
	#gnav .close:hover::after {
		background-color: #b1b2b2;
		transition: 0.3s;
		}

}
/* ＞767 -------------- */
@media only screen and (max-width: 767px) {

	#gnav {
		width: 84%;
		height: 100%;
		padding: 66px 0 66px 66px;
		overflow-y: scroll;
		}
	#gnav .logo {
		display: none;
		}
	#gnav .wrap>ul>li {
		padding-bottom: 3px;
		margin-bottom: 3px;
		border-bottom: 1px solid #393c3d;
		}
	#gnav li>ul {
		margin-bottom: 6px;
		}
	#gnav li a {
		padding: 13px 6px;
		display: block;
		font-size: 1.25rem;
		}

	/* close btn */
	#gnav .close {
		display: none;
		}

}


/* ====================================
Scrollup
==================================== */
/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.scrollup {
		width: 72px;
		height: 72px;
		z-index: 9;
		visibility: visible;
		opacity: 1;
		background-color: rgba(36,39,40,0.9);
		position: fixed;
		bottom: 36px;
		left: 0;
		}
	.gnav_expand .scrollup {
		visibility: hidden;
		opacity: 0;
		transition: 0.3s;
		}
	.scrollup span {
		width: 100%;
		height: 72px;
		padding-top: 36px;
		display: block;
		position: relative;
		cursor: pointer;
		color: #919393;
		font-size: 11px;
		font-family: "fot-tsukumin-pr6n", sans-serif;
		font-weight: 300;
		letter-spacing: 0.3rem;
		line-height: 1.3;
		text-align: center;
		}
	.scrollup:hover span {
		color: #f2f2f2;
		transition: 0.3s;
		}
	.scrollup span::before {
		width :12px;
		height: 13px;
		margin: auto;
		display: block;
		opacity: 0.3;
		position: absolute;
		top: 15px;
		left: 0;
		right: 0;
		background: url(../img/arrow_01.png) no-repeat 0 0/ contain;
		transform: rotate(-90deg);
		content: '';
		}
	.scrollup:hover span::before {
		opacity: 0.8;
		transition: 0.3s;
		}
	.scrollup span::after {
		width: 30px;
		height: 1px;
		margin: auto;
		display: block;
		position: absolute;
		top: 27px;
		left: 0;
		right: 0;
		background-color: #7c7d7e;
		content: '';
		}
	.scrollup:hover span::after {
		background-color: #dedfdf;
		transition: 0.3s;
		}

}
/* ＞767 -------------- */
@media only screen and (max-width: 767px) {

	.scrollup {
		width: 52px;
		height: 48px;
		z-index: 6;
		visibility: visible;
		opacity: 1;
		position: fixed;
		bottom: 0;
		left: 0;
		}
	.gnav_expand .scrollup {
		visibility: hidden;
		opacity: 0;
		}
	.scrollup.scrollup_fixed {
		bottom: 180px;
		position: absolute;
		}
	.scrollup>span {
		width: 52px;
		height: 48px;
		padding-top: 48px;
		display: block;
		overflow: hidden;
		background-color: #242728;
		}
	.scrollup::before {
		width: 14px;
		height: 15px;
		margin: auto;
		display: block;
		opacity: 0.5;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background: url(../img/arrow_01.png) no-repeat 0 0/ contain;
		transform: rotate(-90deg);
		content: '';
		}
	.scrollup::after {
		width: 14px;
		height: 1px;
		margin: auto;
		display: block;
		opacity: 0.5;
		position: absolute;
		top: 13px;
		left: 0;
		right: 0;
		background-color: #fff;
		content: '';
		}

}


/* ====================================
Footer
==================================== */
#footer {
	width: 100%;
	background-color: #242728;
	}
#footer>.wrap {
	width: 100%;
	}

/* copy */
#footer .copy {
	width: 100%;
	color: #b1b2b2;
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	#footer {
		height: 120px;
		padding-left: 72px;
		}
	#footer>.wrap {
		max-width: 960px;
		padding: 0px 15px 0;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		}

	/* logo */
	#footer .logo {
		width: 20%;
		}
	#footer .logo a:hover {
		opacity: 0.7;
		transition: 0.3s;
		}
	#footer .logo img {
		width: 105px;
		}

	/* ft_nav */
	#footer .ft_nav {
		width: 80%;
		display: flex;
		justify-content: space-between;
		}
	#footer .ft_nav li {
		margin-bottom: 18px;
		}
	#footer .ft_nav li ul {
		margin: 18px 0 0 30px;
		}
	#footer .ft_nav a {
		color: #b1b2b2;
		font-size: 1.35rem;
		text-decoration: none;
		}
	#footer .ft_nav a:hover {
		color: #fff;
		transition: 0.3s;
		}

	/* copy */
	#footer .copy {
		margin-top: 90px;
		font-size: 1.1rem;
		letter-spacing: 0.15rem;
		text-align: right;
		}

}
/* ＞767 -------------- */
@media only screen and (max-width: 767px) {

	#footer {
		height: 180px;
		position: relative;
		padding: 54px 0 0 12px;
		}
	#footer>.wrap {
		height: 105px;
		}

	/* logo */
	#footer .logo>a {
		width: 72px;
		margin: 0 auto;
		display: block;
		}
	#footer .logo img {
		width: 100%;
		}

	/* ft_nav */
	#footer .ft_nav {
		display: none;
		}

	/* copy */
	#footer .copy {
		margin-top: 15px;
		font-size: 1rem;
		letter-spacing: 0.09rem;
		text-align: center;
		transform: scale(0.8);
		}

}


/* ====================================
Content Basic
==================================== */
main {
	background-color: #242728;
	}
main>.wrap {
	width: 100%;
	min-height: 100%;
	background-color: #fff;
	}

main h2 {
	font-family: "fot-tsukumin-pr6n", sans-serif;
	font-weight: 300;
	}
main a:link { color: #db5034; text-decoration: underline; }
main a:visited { color: #db5034; text-decoration: underline; }
main a:hover { text-decoration: none; }
main a:active { text-decoration: underline; }
main a:focus { text-decoration: underline; }

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	main {
		padding: 60px 0 0 72px;
		}
	main a:hover img {
		opacity: 0.7;
		transition: 0.3s;
		}
	main li,
	main dt,
	main dd,
	main p {
		font-size: 1.5rem;
		line-height: 1.7;
		}

}
/* ＞767 -------------- */
@media only screen and (max-width: 767px) {

	main {
		padding: 52px 0 0 12px;
		}
	main li,
	main dt,
	main dd,
	main p {
		font-size: 1.4rem;
		line-height: 1.7;
		}

}


/* ====================================
headline
==================================== */
#headline {
	width: 100%;
	position: relative;
	}
#headline h1 {
	display: flex;
	z-index: 3;
	align-items: center;
	position: absolute;
	left: 0;
	background-color: #242728;
	color: #fff;
	font-family: "fot-tsukumin-pr6n", sans-serif;
	font-weight: 300;
	}

/* type01 */
#headline.type01::before {
	width: 100%;
	display: block;
	position: relative;
	z-index: 1;
	background: url(../../assets/img/ptn_01.png) repeat 0 0;
	content: '';
	}

/* type02 */
#headline.type02 {
	background-color: #393c3d;
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	#headline h1 {
		width: 50%;
		padding-right: 60px;
		justify-content: flex-end;
		bottom: 0;
		text-align: right;
		}
	#headline h1>span {
		position: relative;
		}
	#headline h1>span::before {
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		background-color: #242728;
		content: '';
		transition: transform 0.5s cubic-bezier(0.8,0,0.2,1);
		transform: scale(1,1);
		transform-origin: right top;
		}
	.wf-active #headline h1>span::before,
	.loading-delay #headline h1>span::before {
		transform-origin: right top;
		transform:scale(0,1);
		}
	#headline h1>span::after {
		padding-right: 6px;
		margin-top: 12px;
		display: block;
		font-size: 1.3rem;
		letter-spacing: 0.6rem;
		text-align: right;
		}

	/* type01 */
	#headline.type01 {
		height: 720px;
		}
	#headline.type01::before {
		height: 720px;
		}
	#headline.type01 h1 {
		height: 270px;
		padding-left: 30px;
		font-size: 4.5rem;
		letter-spacing: 0.45rem;
		}

	/* type02 */
	#headline.type02 {
		height: 240px;
		}
	#headline.type02 h1 {
		height: 240px;
		padding-left: 108px;
		font-size: 3.6rem;
		letter-spacing: 0.3rem;
		}

}
/* ＞767 -------------- */
@media only screen and (max-width: 767px) {

	#headline {
		margin-bottom: 60px;
		}
	#headline h1 {
		width: 81%;
		height: 135px;
		margin: auto;
		justify-content: center;
		bottom: -15px;
		right: 0;
		font-size: 2.1rem;
		letter-spacing: 0.3rem;
		text-align: center;
		}
	#headline h1>span::after {
		margin-top: 6px;
		display: block;
		font-size: 1rem;
		letter-spacing: 0.45rem;
		}

	/* type01 */
	#headline.type01 {
		height: 45vh;
		}
	#headline.type01::before {
		height: 45vh;
		}

	/* type02 */
	#headline.type02 {
		height: 152px;
		padding-top: 152px;
		}

}


/* ====================================
pannav
==================================== */
#headline .pannav ul {
	display: flex;
	flex-wrap: wrap;
	}
#headline .pannav li {
	line-height: 1;
	margin-top: 3px;
	}
#headline .pannav li.home>a {
	position: relative;
	display: block;
	overflow: hidden;
	}
#headline .pannav li:not(.home)::before {
	margin: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	border-top: 1px solid #7c7d7e;
	border-left: 1px solid #7c7d7e;
	transform: rotate(135deg);
	content: '';
	}
#headline .pannav li:not(.home)>a {
	display: block;
	color: #242728;
	}

/* type01 */
#headline .pannav.type01 {
	background-color: #fff;
	}
#headline .pannav.type01 li.home>a {
	background: url(../img/icn_home_01.png) no-repeat 0 0/contain;
	}

/* type02 */
#headline .pannav.type02 {
	background-color: #393c3d;
	}
#headline .pannav.type02 li:not(.home),
#headline .pannav.type02 li:not(.home)>a {
	color: #dedfdf;
	}
#headline .pannav.type02 li.home>a {
	background: url(../img/icn_home_02.png) no-repeat 0 0/contain;
	}
#headline .pannav.type02 li:not(.home)::before {
	border-top-color: #919393;
	border-left-color: #919393;
	}

/* type03 */
#headline .pannav.type03 {
	background-color: #dedfdf;
	}
#headline .pannav.type03 li.home>a {
	background: url(../img/icn_home_01.png) no-repeat 0 0/contain;
	}
/* breadcrumb-navxt 文字数制限 */
#headline .pannav li span.bc_title{
    display: inline-block;
    vertical-align: middle;
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	padding-bottom: 2px;
}
/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	#headline .pannav {
		width: 96%;
		min-width: calc(50% + 330px);
		height: 60px;
		padding: 6px 8px 0 50%;
		z-index: 2;
		position: absolute;
		bottom: 0;
		left: 0;
		display: flex;
		justify-content: flex-end;
		}
	#headline .pannav ul {
		padding-left: 30px;
		margin-top: 18px;
		}
	#headline .pannav li.home>a {
		width: 18px;
		height: 15px;
		padding: 15px 40px 0 0;
		}
	#headline .pannav li.home>a:hover {
		transition: 0.3s;
		}
	#headline .pannav li:not(.home) {
		padding: 0 22px 0 26px;
		position: relative;
		font-size: 1.3rem;
		margin-bottom: 10px;
		}
	#headline .pannav li:not(.home)::before {
		width: 6px;
		height: 6px;
		left: 0;
		margin: 5px 0;
		}

	/* type01 */
	#headline .pannav.type01 li.home>a {
		opacity: 0.4;
		}
	#headline .pannav.type01 li.home>a:hover {
		opacity: 1;
		}

	/* type02 */
	#headline .pannav.type02 li.home>a {
		opacity: 0.6;
		}
	#headline .pannav.type02 li.home>a:hover {
		opacity: 1;
		}

	/* type03 */
	#headline .pannav.type03 li.home>a {
		opacity: 1;
		}
	#headline .pannav.type03 li.home>a:hover {
		opacity: 0.4;
		}

}
/* ＞767 -------------- */
@media only screen and (max-width: 767px) {

	#headline .pannav {
		width: 100%;
		padding: 32px 6% 0;
		}
	#headline .pannav li {
		margin: 3px 0;
		}
	#headline .pannav li.home{
		margin-right: 8px;
		}
	#headline .pannav li.home>a {
		width: 14px;
		height: 12px;
		padding: 12px 10px 0 0;
		}
	#headline .pannav li:not(.home) {
		padding: 0 10px 0 20px;
		position: relative;
		font-size: 1.1rem;
		}
	#headline .pannav li:not(.home)::before {
		width: 4px;
		height: 4px;
		left: 2px;
		}

}


/* ====================================
btn.type01
==================================== */
.btn.type01>a {
	display: block;
	position: relative;
	background-color: #393c3d;
	color: #fff;
	font-family: "fot-tsukumin-pr6n", sans-serif;
	font-weight: 300;
	text-decoration: none;
	text-align: center;
	}
.btn.type01>a::after {
	width: 13px;
	height: 14px;
	margin: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10%;
	background: url(../../assets/img/arrow_01.png) no-repeat 0 0/ contain;
	content: '';
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.btn.type01>a::before {
		width: 100%;
		height: 100%;
		display: block;
		z-index: 1;
		position: absolute;
		top: 0;
		right: 0;
		background-color: #db5034;
		content: '';
	 	transition: transform 0.6s cubic-bezier(0.8,0,0.2,1) 0s;
	 	transform: scale(0,1);
		transform-origin: right top;
		}
	.btn.type01>a:hover::before {
		transform-origin: left top;
		transform: scale(1,1);
		}
	.btn.type01>a::after {
		z-index: 2;
		}
	.btn.type01>a span {
		z-index: 2;
		position: relative;
		}

}


/* ====================================
LIST系
==================================== */
/* list01 */
main ul.list01>li {
	padding-left: 2.1rem;
	position: relative;
	}
main ul.list01>li:not(:first-of-type) {
	margin-top: 9px;
	}
main ul.list01>li::before {
	width: 4px;
	height: 4px;
	display: block;
	position: absolute;
	top: 1.1rem;
	left: 0.4rem;
	background-color: #7c7d7e;
	border-radius: 50%;
	content: '';
	}

/* note01 */
main ul.note01>li {
	padding-left: 2.1rem;
	position: relative;
	}
main ul.note01>li:not(:first-of-type) {
	margin-top: 9px;
	}
main ul.note01>li::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	content: '※';
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	/* list01 */
	main ul.list01>li::before {
		top: 1.1rem;
		left: 0.4rem;
		}

}
/* ＞767 -------------- */
@media only screen and (max-width: 767px) {

	/* list01 */
	main ul.list01>li::before {
		top: 1rem;
		left: 0.4rem;
		}

}
