@charset "UTF-8";

*, *::before, *::after {
	box-sizing: border-box;
	color: #000000;
}
html {
	height: 100%;
	font-size: 62.5%;
}
body {
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	margin: auto;
	font-size: 14px;
	font-size: 1.4rem;
	position: relative;
	color: #000;
	background-color: #fff;
	font-family: 'Noto Sans JP', helvetica, arial, YuGothic, 'Yu Gothic', 'メイリオ', sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
	word-break: break-word;
	font-feature-settings: "palt";
	letter-spacing: 0.06em;
	z-index: 0;
	line-height: 1;
}
body * {
	z-index: 0;
}
img {
	width: 100%;
	height: auto;
}
a {
    text-decoration: none;    
}
a:hover {
    opacity: 0.5;
    transition: 0.5s;
}
header, footer, main {
    width: 100%;
}
article {
    width: 100%;
    height: auto;
    position: relative;
}
article>section {
    max-width: 1400px;
    width: 90%;
    margin: 0 auto;
	position: relative;
}

.left {
    float: left;
}
.right {
    float: right;
}
.flex {
    display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
}
.flex-center {
	display: flex;
	justify-content: center;
	align-items: center;	
}
.round {
    border-radius: 10px;
}
.number {
	font-family: "Oswald", sans-serif;
}
.yellow {
	color: #ffff00 !important;
}
.red {
    color: #e50012 !important;
}
.red-bg {
    background: #e50012;
}
.cleam-bg {
	background: #ffffa1;
}
.turq-bg {
    background: #65cfe1;
}
.white-bg {
    background: #fff;
}
.ygreen-bg {
	background: #a2e8c4;
}
.green-bg {
	background: #65b68c;
}
.blue-bg {
	background: #a1d3f2;	
}
.dblue-bg {
	background: #3382b2;	
}
.sky-bg {
	background: #99e2e6;	
}
.dsky-bg {
	background: #42adb4;	
}
.beige-bg {
	background: #f2dea1;	
}
.khaki-bg {
	background: #cdb468;	
}
.sky2-bg {
	background: #65cfe1;
}
.turq2-bg {
	background: #35c0d8;
}
.gray-bg {
	background: #efefef;	
}
.dblue2-bg {
	background: #178dc8;
}
.yellow-marker {
	background: #ffff00;
}

.big {
	color: inherit;
	font-size: 1.5em;
}
.small {
	color: inherit;
	font-size: 0.75em;
}
.thin {
	font-weight: 400;
}

img[alt*="矢印"] {
	position: absolute;
	right: 50px;
	width: 1.5em;
}
@media all and (-ms-high-contrast: none) {
	img[alt*="矢印"] {
		top: 50%;
		trasnform: translateY(-50%);
	}
}
br.pc {
	display: inherit;
}
br.sp, br.tab {
	display: none;
}

/* header --------------------------------------- */
header {
    height: 125px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
header div.flex {
    height: 125px;
    max-width: 1400px;
    width: 90%;
    margin: 0 auto;
	position: relative;
    align-items: center;
}
header div a img {
    width: 295px;
}
header nav ul li {
    font-size: 14px;
    font-size: 1.4rem;
    display: inline-block;
    margin-left: 2em;
}
header nav ul li.red-bg {
    padding: 1em;
    color: #fff;
    font-weight: bold;
}
p.btn-gnavi {
	display: none;
}

/* footer --------------------------------------- */
footer {
    background: url(../img/sec1-bg.jpg) center center;
	background-size: 10%;
    height: 280px;
	padding: 80px 0;
}
footer>div {
	width: 60%;
	margin: 0 auto;
	justify-content: space-around;
	align-items: flex-end;
}
footer>div.flex div {
	width: auto;
	margin: 1em auto 0;
}
footer #logo-ft img {
	width: 90%;
}
p#copyright {
    font-size: 12px;
    font-size: 1.2rem;
	margin-top: 80px;
	text-align: center;
}

@media screen and (max-width: 1024px){
	img[alt*="矢印"] {
		right: 1.5vw;
		width: 2vw;	
	}

	header div.flex {
		flex-direction: column;
		justify-content: space-around;
	}
	
	footer {
		height: 230px;
		padding: 45px 0;
	}
	footer>div {
		width: 90%;
	}
	footer #logo-ft img {
		width: 100%;
	}
	p#copyright {
		margin-top: 70px;
	}	
}
@media screen and (max-width: 768px){
	br.pc {
		display: none;
	}
	br.tab {
		display: inherit;
	}
	header {
		height: 50px;
	}
	header div.flex {
		display: block;
		position: relative;
		z-index: 3;
	}
	header div#logo-hd {
		margin: 0 auto;
	}
	header div.flex>div:nth-of-type(1) {
		height: 50px;
	}
	header div.flex>div:nth-of-type(1) a {
	    line-height: 30px;
	    vertical-align: middle;
		display: block;
	}
	header div a img {
	    width: 50%;
	}
	header div.flex>div:nth-of-type(2) {
	}
	header p.btn-gnavi {
		display: inherit;
	    position: fixed;
	    top: 0;
	    right: 0;
	    width: 50px;
	    height: 50px;
	    z-index: 3;
	    cursor: pointer;
	    -webkit-transition: all 200ms;
	    transition: all 200ms;
	}
	header p.btn-gnavi span {
	    position: absolute;
		left: 10px; /* (50-30)/2 */
		width: 30px;
	    height: 4px;
	    background: #fff;
	    border-radius: 10px;
	    -webkit-transition: all 200ms;
	    transition: all 200ms;
	}
	header p.btn-gnavi.open span {
	}
	header p.btn-gnavi span:nth-child(1) {
	    top: 11px;
	}
	header p.btn-gnavi span:nth-child(2) {
	    top: 23px;
	}
	header p.btn-gnavi span:nth-child(3) {
	    top: 35px;
	}
	header p.btn-gnavi.open span:nth-child(1) {
	    transform: rotate(45deg);
	    top: 22px;
	}
	header p.btn-gnavi.open span:nth-child(2) {
	    display: none;
	}
	header p.btn-gnavi.open span:nth-child(3) {
	    transform: rotate(-45deg);
	    top: 22px;
	}
	header nav {
		position: fixed;
	    top: -400px;
		left: 0;
	    width: 100%;
	    height: 400px;
	    padding-top: 50px;
	    background: #e50012;
	    font-size: 16px;
	    box-sizing: border-box;
	    z-index: 2;
	}
	header nav ul {
		width:90%;
		margin: 0 auto;
		position: relative;
	}
	header nav ul li {
		color: #fff;
		display: list-item;
	    margin-left: 0;
	    padding: 1em;
	    border-top: 0.5px solid #fff;
	}
	header nav ul a:nth-of-type(5) li {
	    border-bottom: 0.5px solid #fff;
	}
	header nav ul li:after {
		content: "▲";
		transform: rotate(90deg);
		color: #fff;
		position: absolute;
	    right: 1em;
	    font-size: 12px;
	}
	header nav ul li.red-bg {
	    padding: 1em;
	    color: #e50012;
		background: #fff;
		border-radius: 0;
		margin-top: 2em;
	}
	header nav ul li.red-bg:after {
		color: #e50012;
	}	

	
	footer {
		height: 200px;
		padding: 25px 0;
	}
	footer address {
	}
	p#copyright {
		margin-top: 25px;
	}	
}
@media screen and (max-width: 499px){
	br.tab {
		display: none;
	}
	br.sp {
		display: inherit;
	}
}