@charset "utf-8";

/* ================================================================================


reset


*  ================================================================================ */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	background: transparent;
	border: 0;
	font-size: 100%;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}

html {
	line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

blockquote, q {
	quotes:none;
}

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

ol, ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th, td {
	font-weight: normal;
	text-align: left;
	vertical-align: middle;
}

a {
	background: transparent;
	font-size: 100%;
	margin: 0;
	padding: 0;
	text-decoration: none;
	vertical-align: baseline;
}

a:visited {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

a:active {
	text-decoration: none;
}

input, button, textarea, select {
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

button {
	appearance: none;
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
}

*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

/* ================================================================================


html & body


*  ================================================================================ */

html {
	color: #0c133a;
	font-size: 62.5%;
	font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

/* ================================================================================


wrap


*  ================================================================================ */

.wrap {
	margin-top: 120px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

@media screen and (max-width: 1023px) {
	.wrap {
		margin-top: 72px;
	}
}

/* ================================================================================


header header-inn


*  ================================================================================ */

.header {
	background-color: #fff;
	height: 72px;
	position: fixed;
		top: 0;
		left: 0;
	width: 100%;
	z-index: 1000;
}

.header .header-inn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 72px;
	margin: 0 auto;
	max-width: 1200px;
	padding: 0 10px;
}

@media screen and (max-width: 1023px) {
	.header .header-inn {
		padding: 0;
		max-width: 96vw;
	}
}

/* ============================================================

inn-left

*  ============================================================ */

.header .header-inn .inn-left {
	display: flex;
	align-items: center;
}

/* ------------------------------------------------------------
left-logo
*  ------------------------------------------------------------ */

.header .header-inn .inn-left .left-logo {
	width: 328px;
}

@media screen and (max-width: 1023px) {
	.header .header-inn .inn-left .left-logo {
		width: clamp(64px, 40vw, 160px);
	}
}

@media screen and (max-width: 600px) {
	.header .header-inn .inn-left .left-logo {
		margin-left: 1vw;
	}
}

/* ============================================================

inn-right

*  ============================================================ */

/* ------------------------------------------------------------
right-menu
*  ------------------------------------------------------------ */

.header .header-inn .inn-right .right-menu {
	position: relative;
}

/* ----------------------------------------
ul.link-btn
*  ---------------------------------------- */

.header .header-inn .inn-right .right-menu ul.link-btn {
	display: flex;
}

.header .header-inn .inn-right .right-menu ul.link-btn li {
	margin-left: 10px;
}

.header .header-inn .inn-right .right-menu ul.link-btn li a {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #ff9d00;
	border: 1px solid #ff9d00;
	border-radius: 40px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	height: 40px;
	transition: all 0.3s;
	width: 160px;
}

.header .header-inn .inn-right .right-menu ul.link-btn li a.white {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	border: 1px solid #ff9d00;
	border-radius: 40px;
	color: #ff9300;
	font-size: 1.4rem;
	font-weight: 500;
	height: 40px;
	transition: all 0.3s;
	width: 160px;
}

.header .header-inn .inn-right .right-menu ul.link-btn li a:hover {
	opacity: 0.5;
}

@media screen and (max-width: 1023px) {
	.header .header-inn .inn-right .right-menu ul.link-btn li {
		margin-left: 1vw;
	}
	.header .header-inn .inn-right .right-menu ul.link-btn li a,
	.header .header-inn .inn-right .right-menu ul.link-btn li a.white {
		font-size: clamp(10px, 2.8vw, 14px);
		height: 40px;
		width: clamp(80px, 26vw, 200px);
	}
}

/* ================================================================================


footer


*  ================================================================================ */

.footer {
	background-color: #0380cb;
	padding-bottom: 160px;
	width: 100%;
}

@media screen and (max-width: 1023px) {
	.footer {
		padding-bottom: clamp(80px, 32vw, 120px);
	}
}

/* ============================================================

footer-ttl

*  ============================================================ */

.footer .footer-ttl {
	padding-top: 80px;
}

@media screen and (max-width: 1023px) {
	.footer .footer-ttl {
		padding-top: clamp(60px, 16vw, 80px);
	}
}

/* ------------------------------------------------------------
h2.ttl-txt
*  ------------------------------------------------------------ */

.footer .footer-ttl h2.ttl-txt {
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

@media screen and (max-width: 1023px) {
	.footer .footer-ttl h2.ttl-txt {
		font-size: clamp(10px, 4.8vw, 24px);
	}
}

/* ============================================================

footer-nav

*  ============================================================ */

.footer .footer-nav {
	margin: 60px auto 0;
}

@media screen and (max-width: 1023px) {
	.footer .footer-nav {
		margin-top: clamp(32px, 16vw, 64px);
	}
}

/* ------------------------------------------------------------
p.company-name
*  ------------------------------------------------------------ */

.footer .footer-nav p.company-name {
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
}

.footer .footer-nav p.company-name a {
	color: #fff;
}

@media screen and (max-width: 1023px) {
	.footer .footer-nav p.company-name {
		font-size: clamp(10px, 3.2vw, 14px);
	}
}

/* ------------------------------------------------------------
p.copyright
*  ------------------------------------------------------------ */

.footer .footer-nav p.copyright {
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	padding-top: 16px;
	text-align: center;
}

@media screen and (max-width: 1023px) {
	.footer .footer-nav p.copyright {
		font-size: clamp(10px, 3.2vw, 14px);
	}
}

/* ============================================================

backtotop

*  ============================================================ */

#backtotop {
	position: relative;
	z-index: 100;
}

#backtotop-inn {
	position: fixed;
	bottom: 40px;
	right: 16px;
	width: 40px;
}

#backtotop-inn a:hover {
	transition: all .5s;
}

/* ================================================================================


only


*  ================================================================================ */

.pc-only {
	display: block;
}

br.pc-only, a.pc-only, span.pc-only {
	display: inline;
}

@media screen and (max-width: 1023px) {
.pc-only {
		display: none;
	}
	br.pc-only, a.pc-only, span.pc-only {
		display: none;
	}
}

.sp-only {
	display: none;
}

br.sp-only, a.sp-only, span.sp-only {
	display: none;
}

@media screen and (max-width: 1023px) {
	.sp-only {
		display: block;
	}
	br.sp-only, a.sp-only, span.sp-only {
		display: inline;
	}
}

.sp-sml-only {
	display: none;
}

br.sp-sml-only, a.sp-sml-only, span.sp-sml-only {
	display: none;
}

@media screen and (max-width: 600px) {
	.sp-sml-only {
		display: block;
	}
	br.sp-sml-only, a.sp-sml-only, span.sp-sml-only {
		display: inline;
	}
}
