@charset "utf-8";
/* CSS Document -----------------------------

 2019.06.25

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

 * タグの設定

---------------------------------------------- */
a {
	display: block;
	outline:none;
	color: #fff;
	cursor: pointer;
	text-decoration: none;
	-webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
}
input[type="submit"],
input[type="button"] {
	font-family: lato, sans-serif;
	font-weight: 300;
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	cursor: pointer;
	outline: none;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
select {
    -webkit-appearance: button;
    appearance: button;
}
select::-ms-expand{
	display: none;
}
/*------------------------------------------------*/
body {
	font-family: 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	background-position: center;
	font-weight: 300;
	color: #000;
	font-size: 16px;
	line-height: 1.8;
	margin: 0;
	padding: 0;
	height: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
p,table,th,td,ul,li {
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
}
section {
	z-index: 1;
	padding: 50px 0;
	margin: 0;
}
h2 {
	font-size: 40px;
	font-weight: 500;
	text-align: center;
}
h2 span {
	font-family: lato, sans-serif;
	font-weight: 700;
	display: block;
	font-size: 16px;
	text-align: center;
}
.inner {
	max-width: 816px;
	margin: 0 auto;
	padding: 0 10px;
}
.sp {
	display: none;
}
.pc {
	display: block;
}
@media only screen and ( max-width : 768px ) {
	p,table,th,td,ul,li {
		font-size: 15px;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
}
@media only screen and ( max-width : 480px ) {
	body,p,table,th,td,ul,li {
		font-size: 13px;
	}
	h2 {
		font-size: 30px;
	}
	h2 span {
		font-size: 14px;
	}
}
@media only screen and ( max-width : 400px ) {
	body,p,table,th,td,ul,li {
		font-size: 3.8vw;
	}
}
/*--------------------------------------------------------

    header

---------------------------------------------------------*/
header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 999;
	background: #000;
}
header .header_box {
	max-width: 1200px;
	margin: 0 auto;
	padding: 16px 10px 20px 10px;
	position: relative;
}
header h1 {
	position: absolute;
	top: 12px;
	left: 10px;
	max-width: 214px;
}
header ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
header ul li {
	font-family: 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-weight: 300;
	font-size: 13px;
	text-align: center;
	width: 14%;
	padding: 27px 0;
	border-right:solid 1px #bdbdbd;
	cursor: pointer;
}
header ul li:nth-child(1){
	border-left:solid 1px #bdbdbd;
}
header ul li span {
	font-family: lato, sans-serif;
	display: block;
	text-align: center;
	font-size: 10px;
	line-height: 1;
}
header ul li a {
	text-align: center;
	display: block;
}
header .li1 a:hover {color: #ce8737;}
header .li2 a:hover {color: #7baf33;}
header .li3 a:hover {color: #d0a9e0;}
header .li4 a:hover {color: #32acd2;}
header .li5 a:hover {color: #97314c;}
#sp-menu p {
	display: none;
}
/* 共通SNSアイコンエリア */
header .sns-area {
    display: flex;
    gap: 15px;
    align-items: center;
}
header .sns-icon img {
    width: 24px;
    height: 24px;
}

/* PC表示：メニュー内でSNSを横並びに、右端に追加 */
@media only screen and (min-width: 769px) {
    .sns-area {
        margin-left: 15px;
    }

    header nav {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    header nav ul {
        margin-right: 10px;
        width: 100%;
    }
}

/* SP表示：下部にSNSアイコンを横並び表示 */
@media only screen and (max-width: 768px) {
    .sns-area {
        justify-content: center;
        margin-top: 30px;
    }

    header nav.clicked .sns-area {
        position: absolute;
        bottom: 170px;
        left: 50%;
        transform: translateX(-50%);
    }

    .sns-icon img {
        width: 30px;
        height: 30px;
    }
}
@media only screen and ( max-width : 768px ) {
	header h1 {
		position: inherit;
		top: inherit;
		left: inherit;
		max-width: 150px;
	}
	header .header_box {
		padding: 10px;
	}
	header .box {
		background: #fff;
		width: 60px;
		height: 60px;
		position: absolute;
		top: 10px;
		right: 10px;
		z-index: 999999;
	}
	header nav {
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.8);
		z-index: 999;
		transition: .3s all;
	}
	header nav.clicked {
		right: 0%;
	}
	header ul {
		display: block;
		position: absolute;
		left: 50%;
		bottom: 50%;
		transform: translate(-50%,50%);
		width: 90%;
	}
	header ul li {
		margin: 0 auto 10px auto;
		letter-spacing: 1px;
		max-width: 322px;
		width: 100%;
		background: #000;
		border: 1px solid #fff;
		padding: 15px 0;
		position: relative;
		transition: .5s;
	}
	header ul li:after {
		border-top: 10px solid transparent;
		border-bottom: 10px solid transparent;
		border-left: 10px solid #AA1434;
		width: 0;
		content: "";
		display: block;
		position: absolute;
		right: 15px;
		bottom: 50%;
		transform: translate(-50%,50%);
		transition: .5s;
	}
	header ul li:hover {
		border: 1px solid #AA1434;
		background: #AA1434;
	}
	header ul li a:hover:nth-child(1) {
		color: #fff;
	}
	header ul li:hover::after {
		border-left: 10px solid #fff;
	}
	#sp-menu {
		width: 25px;
		height: 18px;
		position: absolute;
		left: 50%;
		bottom: 55%;
		transform: translate(-50%,50%);
		cursor: pointer;
	}
	#sp-menu span {
		position: absolute;
		width: 100%;
		height: 2px;
		border-radius: 10px;
		background-size: 100% 100%;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		-o-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
		left: 0;
		background: #000;
	}
	#sp-menu span.top-border {
		top: -2px;
	}
	#sp-menu span.middle-border {
		top: 50%;
		margin: -2px 0 0;
	}
	#sp-menu span.bottom-border {
		bottom: 0;
	}
	#sp-menu.clicked span.top-border {
		transform: rotate(-45deg);
		top: 8px;
	}
	#sp-menu.clicked span.middle-border {
		width: 0;
	}
	#sp-menu.clicked span.bottom-border {
		transform: rotate(45deg);
		bottom: 8px;
	}
	#sp-menu p {
		display: block;
		color: #000;
		font-size: 12px;
		position: absolute;
		left: 50%;
		bottom: -10px;
		transform: translate(-50%,50%);
	}
}
/*---------------------------------------------------

　   footer

----------------------------------------------------*/
footer {
	background: #3A3A3A;
	padding: 80px 0;
}
footer .inner {
	overflow: hidden;
}
footer .flexbox {
	display: flex;
	justify-content: space-between;
}
footer img {
	max-width: 215px;
}
footer .box {
	width: 60%;
}
footer ul {
	display: flex;
	justify-content: space-between;
	margin-bottom: 125px;
}
footer ul:last-child {
	margin-bottom: 60px;
}
footer p {
	font-family: lato, sans-serif;
	font-size: 12px;
	font-weight: 400;
	font-style: normal;
	text-align: center;
	color: #fff;
}
@media only screen and ( max-width : 768px ) {
	footer p {
		font-size: 10px;
	}
}
/*---------------------------------------------------

　   back top

----------------------------------------------------*/
.wrapper {
	position: relative;
}
p.page_top {
    display: block;
    z-index: 9;
    position: fixed;
    right:20px;
}
p.page_top a {
    display: block;
	background: #AA1434;
	width: 40px;
	height: 40px;
	text-align: center;
}
p.page_top a::before {
	font-family: 'Material Icons';
	content: "expand_less";
	font-size: 20px;
	line-height: 40px;
	color: #fff;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'liga';
}
@media only screen and (max-width: 768px) {
	p.page_top a {
		width: 30px;
		height: 30px;
	}
	p.page_top a::before {
		line-height: 30px;
		font-size: 20px;
	}
}