@charset "utf-8";

/***------------------------------------------
*
*　header
*
------------------------------------------***/
header {}
.header_container {
	position: sticky;
	top: 0;
	padding: 0.75rem 1rem;
	background-color: #fff;
    border-top: 10px solid #018a01;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	z-index: 1000;
}
.header_inner {
	display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 auto;
	width: 100%;
	max-width: 128rem;
}
.header_logo {
    display: flex;
    align-items: center;
    text-decoration: none;
    width: 180px;
}
@media screen and (max-width: 750px) {
    .header_container {
        padding: 0.5rem 0.75rem;
    }
	.header_logo img {
		width: 80%;
	}
}

/***------------------------------------------
*
*　footer
*
------------------------------------------***/
footer {}
.footer_container {
	position: relative;
	background-color: #018a01;
	width: 100%;
}
.footer_inner {
	 margin: 0 auto;
	 max-width: 128rem;
	 text-align: center;
}
.footer_nav ul {
	display: flex;
	justify-content: center;
	gap: 8rem;
	padding: 24px;
	font-size: 100%;
}
.footer_nav ul li a {
	color: #fff;
}
.footer_container p.footer_copy {
	padding-bottom: 12px;
	font-size: 85%;
	color: #fff;
	text-align: center;
}
@media screen and (max-width: 750px) {
	.footer_nav ul {
		flex-direction: column;
		gap: .5rem;
		padding: 12px;
	}
	.footer_container p.footer_copy {
		/*margin-bottom: 6rem;*/
	}
}


/* --------------------------------------- *

	contents

 * --------------------------------------- */
#contents {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.contents_inner {
	margin: 24px auto;
	width: 100%;
}
@media screen and (max-width: 750px) {
	.contents_inner {
		margin: 12px auto;
	}
}


/* --------------------------------------- *

	各エリア共通

 * --------------------------------------- */
section {
	position: relative;
	margin: 0 auto;
}
section .sec {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 1280px;
	text-align: left;
}


/* ----------------------------------------
 *   pageTop
 * ---------------------------------------- */
#pageTop a {
	display: block;
	position: fixed;
	z-index: 9999;
	/*top: 90%;*/
	bottom: -60px;
	right: 10px;
}
#pageTop a span{
    /*描画位置*/
	position: absolute;
	left: -20px;
	top: 0;
    /*テキストの形状*/
	color: #000;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 矢印の描写 */
#pageTop a:before {
    content: "";
    /*描画位置*/
    position: absolute;
    top: 0;
    right: -6px;
    /*矢印の形状*/
    width: 1px;
    height: 20px;
    background: #000;
    transform: skewX(31deg);
}

#pageTop a:after{
	content:"";
    /*描画位置*/
	position: absolute;
	top: 0;
	right:0;
    /*矢印の形状*/
	width:1px;
	height: 70px;
	background: #000;
}
