/*
===================================================
        Reset
===================================================
*/
* {
	margin: 0px;
	padding: 0px;
}

li {
	list-style: none;
}

a {
	text-decoration: none;
	color: #555;
}

address {
	font-style: normal;
}

:root {
	--blue: #0094D7;
	--blue2: #00508D;
	--blue3: #d4f2ff;
	--blue4: #54C2F0;
	--gray: #DFDFDF;
	--yellow: #F6B000;
   }

/*
===================================================
        Base Setting
===================================================
*/
body {
	-webkit-text-size-adjust: 100%;
	line-height: 1.4em;
	letter-spacing: 0.05em;
	color: #333;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS P Gothic", "Osaka", arial, sans-serif;
	font-weight: 400;
	overflow-x: hidden;
	width: 100%;
	overflow-x: hidden;
	padding-top: 120px;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.mincho {
	font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}

.tb-visible,
.sp-visible {
	visibility: hidden;
	width: 0px;
	height: 0px;
}

.maxWidthFHD {
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto
}

.maxWidth {
	max-width: 1200px;
	padding-left: 15px;
	padding-right: 15px;
	margin-left: auto;
	margin-right: auto
}

.maxWidth2 {
	max-width: 1000px;
	padding-left: 15px;
	padding-right: 15px;
	margin-left: auto;
	margin-right: auto
}

.maxWidth3 {
	max-width: 800px;
	padding-left: 15px;
	padding-right: 15px;
	margin-left: auto;
	margin-right: auto
}

#header {
	position: fixed;
	top: 0px;
	width: 100%;
	background: #fff;
	z-index: 4;
}

#header .headerInner {
	max-width: 1800px;
	margin: 0 auto;
	position: relative;
	text-align: center;
	padding: 30px 0px 20px;
	background: #fff;
	z-index: 999;
}

#header .home a {
	position: absolute;
	left: 0;
	top: 0;
	width: 120px;
	height: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #0094d7;
	font-size: 20px;
	color: #fff;
	font-weight: 700;
}

@media screen and (min-width: 1920px) {
	#header .home a {
		left: -2em;
	}
}

#header #logo {
	position: relative;
	display: flex;
	width: calc(100% - 520px);
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	align-items: center;
	gap: 5%;

}

#header .contact {
	position: absolute;
	right: 28px;
	top: calc(50% - 18px);
}

#header .contact a {
	color: #fff;
	background: #0094D7;
	display: flex;
	align-items: center;
	padding: 5px 30px 5px 5px;
	border-radius: 30px;
	position: relative;
}

#header .contact a:before {
	display: block;
	content: "";
	border-left: solid 8px #fff;
	border-top: solid 6px transparent;
	border-bottom: solid 6px transparent;
	position: absolute;
	right: 15px;
	top: calc(50% - 5px);
}

#header .contact .icon {
	background: #fff;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 5px;
}

#header .contact svg {
	width: 1.5em;
}

#header .contact svg path {
	fill: #0094D7;
}

#nav {
	background: #0094D7;
	color: #fff;
}

#nav>ul {
	display: flex;
	justify-content: center;
}

#nav>ul>li {
	position: relative;
	min-width: 10em;
	text-align: center;
}

#nav>ul>li:before {
	display: block;
	content: "";
	width: 8px;
	height: 8px;
	background: #00508D;
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 4px);
	right: -4px;
}

#nav>ul>li:last-child:before {
	display: none;
}

#nav>ul>li>a {
	display: block;
	color: #fff;
	padding: 30px;
	cursor: pointer;
}

#nav .submenu {
	position: relative;
	text-align: center;
}

#nav .submenuIcon svg,
.menuArea .submenuIcon svg {
	width: 0.8em;
	fill: #fff;
	position: relative;
	top: 2px;
}

#nav .submenuIcon svg.off,
.menuArea .submenuIcon svg.on {
	display: none;
}

#nav .submenu .menuarea {
	opacity: 0;
	visibility: hidden;
	width: 100%;
	position: absolute;
	background: #0094D7;
	padding: 5px;
	box-sizing: border-box;
	transition: opacity 0.5s;
	z-index: 2;
}

#nav .submenu.active .menuarea {
	opacity: 1;
	visibility: visible;
}

#nav .submenu.active .submenuIcon svg.off,
.menuArea .active .submenuIcon svg.on {
	display: inline-block;
}

#nav .submenu.active .submenuIcon svg.on,
.menuArea .active .submenuIcon svg.off {
	display: none;
}

#nav .submenu .menuarea li {
	border-bottom: solid 1px rgba(255, 255, 255, 0.5);
}

#nav .submenu .menuarea li:last-child {
	border: none;
}

#nav .submenu .menuarea a {
	display: block;
	padding: 10px;
	color: #fff;
}

#footer {
	border-top: solid 3px #0094D7;
}

#footer .flexInner {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	justify-content: center;
}

#footer .addressArea {
	display: flex;
	justify-content: space-around;
}

#footer .addressArea address {
	width: 30%;
	border-right: solid 1px #fff;
	padding-right: 10px;
}

#footer .addressArea address:last-child {
	border: none;
}

#footer .copyright {
	text-align: center;
	padding: 15px 30px;
	font-size: 11px;
	border-top: solid 3px #fff;
	margin-top: 40px;
}

#footer .btmBtn {
	position: fixed;
	width: 100%;
	display: flex;
	background: #fff;
	padding: 5px 15px;
	gap: 5px;
	bottom: 0px;
	left: 0px;
	box-sizing: border-box;
	z-index: 3;
}

#footer .btmBtn a {
	width: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #0094D7;
	padding: 14px 10px;
}

#footer .btmBtn a .icon {
	height: 0.9em;
	width: auto;
	margin-right: 5px;
	position: relative;
	top: -1px;
}

#pagetop {
	position: fixed;
	z-index: 2;
	bottom: 15px;
	right: 15px;
	opacity: 0;
	transform: scale(0);
	transition: 0.5s;
}

#pagetop.active {
	opacity: 1;
	transform: scale(1);
}

#pagetop a {
	position: relative;
	transition: 1s;
}

#pagetop a img {
	transform: scale(0.9);
	transition: .5s;
}

#pagetop a:hover {
	filter: brightness(1.5);
}

#pagetop a:hover>img {
	transform: scale(1);
}


/* common css */
.clearfix {
	overflow: hidden;
}

.fLeft {
	float: left;
}

.fRight {
	float: right;
}

.tLeft {
	text-align: left;
}

.tRight {
	text-align: right;
}

.tCenter {
	text-align: center;
}

.vTop {
	vertical-align: top;
}

.vMiddle {
	vertical-align: middle;
}

.vBottom {
	vertical-align: bottom;
}

.mb1em {
	margin-bottom: 1em;
}

.mb2em {
	margin-bottom: 2em;
}

.mb3em {
	margin-bottom: 3em;
}

.mb50 {
	margin-bottom: 50px;
}

.mb75 {
	margin-bottom: 75px;
}

.mb100 {
	margin-bottom: 100px;
}

.mt1em {
	margin-top: 1em;
}

.mt2em {
	margin-top: 2em;
}

.mt3em {
	margin-top: 3em;
}

.mt4 {
	margin-top: 4px;
}

.mt5 {
	margin-top: 5px;
}

.mt10 {
	margin-top: 10px;
}

.mt20 {
	margin-top: 20px;
}

.mt30 {
	margin-top: 30px;
}

.mt40 {
	margin-top: 40px;
}

.mt50 {
	margin-top: 50px;
}

.mt75 {
	margin-top: 75px;
}

.mt100 {
	margin-top: 100px;
}

.mr1em {
	margin-right: 1em;
}

.mr2em {
	margin-right: 2em;
}

.mr3em {
	margin-right: 3em;
}

.mr10 {
	margin-right: 10px;
}

.mr20 {
	margin-right: 20px;
}

.mr30 {
	margin-right: 30px;
}

.ml1em {
	margin-left: 1em;
}

.ml2em {
	margin-left: 2em;
}

.ml3em {
	margin-left: 3em;
}

.ml10 {
	margin-left: 10px;
}

.ml20 {
	margin-left: 20px;
}

.ml30 {
	margin-left: 30px;
}

.p5 {
	padding: 5px;
}

.p10 {
	padding: 10px;
}

.p20 {
	padding: 20px;
}

.p30 {
	padding: 30px;
}

.p40 {
	padding: 40px;
}

.p50 {
	padding: 50px;
}

.pb1em {
	padding-bottom: 1em;
}

.pb2em {
	padding-bottom: 2em;
}

.pb3em {
	padding-bottom: 3em;
}

.pb50 {
	padding-bottom: 50px;
}

.pb75 {
	padding-bottom: 75px;
}

.pb100 {
	padding-bottom: 100px;
}

.pt1em {
	padding-top: 1em;
}

.pt2em {
	padding-top: 2em;
}

.pt3em {
	padding-top: 3em;
}

.pt10 {
	padding-top: 10px;
}

.pt20 {
	padding-top: 20px;
}

.pt30 {
	padding-top: 30px;
}

.pt40 {
	padding-top: 40px;
}

.pt50 {
	padding-top: 50px;
}

.pt75 {
	padding-top: 75px;
}

.pt100 {
	padding-top: 100px;
}

.pr1em {
	padding-right: 1em;
}

.pr2em {
	padding-right: 2em;
}

.pr3em {
	padding-right: 3em;
}

.pl1em {
	padding-left: 1em;
}

.pl2em {
	padding-left: 2em;
}

.pl3em {
	padding-left: 3em;
}

.font-s {
	font-size: 80%;
}

.font-ss {
	font-size: 60%;
}

.font-ms {
	font-size: 90%;
}

.font-ml {
	font-size: 125%;
}

.font-l {
	font-size: 150%;
}

.font-l2 {
	font-size: 175%;
}

.font-ll {
	font-size: 200%;
}

.font-lll {
	font-size: 300%;
}

.flex {
	display: flex;
	justify-content: center;
}

.flex.fs {
	justify-content: flex-start;
}

.flex.sa {
	justify-content: space-around;
}

.flex.sb {
	justify-content: space-between;
}

.flex.wrap {
	flex-wrap: wrap;
}

.flex.reverse {
	flex-direction: row-reverse;
}

.flex .asCenter {
	align-self: center;
}

.w10,
.w20,
.w25,
.w30,
.w33,
.w40,
.w45,
.w50,
.w60,
.w70,
.w80,
.w90,
.w100 {
	box-sizing: border-box;
}

.w10 {
	width: 10% !important;
}

.w20 {
	width: 20% !important;
}

.w25 {
	width: 25% !important;
}

.w30 {
	width: 30% !important;
}

.w33 {
	width: 33% !important;
}

.w40 {
	width: 40% !important;
}

.w45 {
	width: 45% !important;
}

.w50 {
	width: 50% !important;
}

.w60 {
	width: 60% !important;
}

.w70 {
	width: 70% !important;
}

.w80 {
	width: 80% !important;
}

.w90 {
	width: 90% !important;
}

.w100 {
	width: 100% !important;
}

.wAuto {
	width: auto;
}

.lh1em {
	line-height: 1em;
}

.lh1_2em {
	line-height: 1.2em;
}

.lh1_5em {
	line-height: 1.5em;
}

.lh2em {
	line-height: 2em;
}

.menuArea {
	display: none;
}

.b {
	font-weight: 700;
}

.dNone {
	display: none;
}

.dIb {
	display: inline-block;
}

.dBlock {
	display: block;
}

a.mouseHover:hover,
.mouseHover a:hover {
	opacity: 0.5;
	transition: .5s;
}

.br10 {
	border-radius: 10px;
}

.bgWhite {
	background: #fff;
}

.bgBlue {
	background: #0094D7;
}

.bgBlue2 {
	background: #00508D;
}

.bgBlue3 {
	background: #d4f2ff;
}

.bgGray {
	background: #DFDFDF;
}

.red,
.red a {
	color: #ee0000;
}

.white,
.white a {
	color: #fff;
}

.pink,
.pink a {
	color: #ffccd4;
}

.blue,
.blue a {
	color: #00508D;
}

.blue2,
.blue2 a {
	color: #0094D7;
}

.blue3,
.blue3 a {
	color: #54C2F0;
}

.yellow,
.yellow a {
	color: #F6B000;
}

.underline {
	text-decoration: underline;
}

.styleTtl {
	line-height: 1.2em;
}

.styleTtl>span {
	position: relative;
}

.styleTtl>span:before {
	position: absolute;
	display: block;
	content: "";
	top: calc(50% - 12px);
	left: -100px;
	background: url(../img/sttl_img.png) no-repeat center center;
	width: 100px;
	height: 20px;
}

.styleTtl>span:after {
	position: absolute;
	display: block;
	content: "";
	top: calc(50% - 12px);
	right: -100px;
	background: url(../img/sttl_img.png) no-repeat center center;
	width: 100px;
	height: 20px;
}

.styleBtn {
	text-align: center;
}

.styleBtn.tLeft {
	text-align: left;
}

.styleBtn a {
	background: linear-gradient(#0092D5, #006AB9);
	display: inline-block;
	color: #fff;
	padding: 10px 15px;
	border-radius: 30px;
	min-width: 15em;
	text-align: center;
	position: relative;
	border: solid 2px #fff;
}

.styleBtn a:before {
	display: block;
	content: "";
	position: absolute;
	border-left: 10px solid #fff;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	right: 20px;
	top: calc(50% - 6px);
}

.styleBtn2 {
	text-align: center;
}

.styleBtn2 a {
	display: inline-block;
	background: linear-gradient(-180deg, #fff 2%, #E51621 20%);
	min-width: 15em;
	padding: 15px;
	color: #fff;
	font-weight: bold;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
	border: solid 3px #000;
	border-radius: 5px;
	position: relative;
}

.styleBtn2 a:before {
	display: block;
	content: "";
	position: absolute;
	border-left: 11px solid rgba(0, 0, 0, 0.1);
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	right: 18px;
	top: calc(50% - 5px);
}

.styleBtn2 a:after {
	display: block;
	content: "";
	position: absolute;
	border-left: 10px solid #fff;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	right: 20px;
	top: calc(50% - 6px);
}

.page_qa #nav>ul>li.qa>a,
.page_flow #nav>ul>li.flow>a,
.page_location #nav>ul>li.location>a,
.page_excellent #nav>ul>li.excellent>a,
.page_price #nav>ul>li.price>a,
.page_beginner #nav>ul>li.beginner>a {
	color: #DFAD14;
}

.page_location #nav .submenu .submenuIcon svg {
	fill: #DFAD14;
}

.pagettl {
	text-align: center;
	padding: 120px 0px;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
	color: #fff;
	margin-bottom: 50px;
}

.gmap iframe {
	width: 100%;
}

/*
===================================================
 tb タブレット解像度
===================================================
*/
@media screen and (max-width: 1100px) {
	body {
		padding-top: 80px;
	}

	#header .headerInner {
		height: 80px;
		padding: 0px;
		box-sizing: border-box;
	}

	#header .home {
		display: none;
	}

	#header #logo {
		width: calc(100% - 350px);
		height: 80px;
	}

	.tb-visible {
		visibility: visible;
		width: auto;
		height: auto;
	}

	.tb-hidden {
		visibility: hidden;
		width: 0px;
		height: 0px;
	}

	.tb-dBlock {
		display: block;
	}

	.tb-dIb {
		display: inline-block;
	}

	.tb-dNone {
		display: none;
	}

	.tb-fLeft {
		float: left;
	}

	.tb-fRight {
		float: right;
	}

	.tb-tLeft {
		text-align: left;
	}

	.tb-tRight {
		text-align: right;
	}

	.tb-tCenter {
		text-align: center;
	}

	.tb-vTop {
		vertical-align: top;
	}

	.tb-vMiddle {
		vertical-align: middle;
	}

	.tb-vBottom {
		vertical-align: bottom;
	}

	.tb-mb0 {
		margin-bottom: 0px;
	}

	.tb-mb1em {
		margin-bottom: 1em;
	}

	.tb-mb2em {
		margin-bottom: 2em;
	}

	.tb-mb3em {
		margin-bottom: 3em;
	}

	.tb-mb10 {
		margin-bottom: 10px;
	}

	.tb-mb25 {
		margin-bottom: 25px;
	}

	.tb-mb50 {
		margin-bottom: 50px;
	}

	.tb-mt0 {
		margin-top: 0px;
	}

	.tb-mt1em {
		margin-top: 1em;
	}

	.tb-mt2em {
		margin-top: 2em;
	}

	.tb-mt3em {
		margin-top: 3em;
	}

	.tb-mt10 {
		margin-top: 10px;
	}

	.tb-mt25 {
		margin-top: 25px;
	}

	.tb-mt50 {
		margin-top: 50px;
	}

	.tb-mr0 {
		margin-right: 0px;
	}

	.tb-mr10 {
		margin-right: 10px;
	}

	.tb-ml0 {
		margin-left: 0px;
	}

	.tb-ml10 {
		margin-left: 10px;
	}

	.tb-pb0 {
		padding-bottom: 0px;
	}

	.tb-pb1em {
		padding-bottom: 1em;
	}

	.tb-pb2em {
		padding-bottom: 2em;
	}

	.tb-pb3em {
		padding-bottom: 3em;
	}

	.tb-pb25 {
		padding-bottom: 25px;
	}

	.tb-pb50 {
		padding-bottom: 50px;
	}

	.tb-pt0 {
		padding-top: 0px;
	}

	.tb-pt1em {
		padding-top: 1em;
	}

	.tb-pt2em {
		padding-top: 2em;
	}

	.tb-pt3em {
		padding-top: 3em;
	}

	.tb-pt10 {
		padding-top: 10px;
	}

	.tb-pt25 {
		padding-top: 25px;
	}

	.tb-pt50 {
		padding-top: 50px;
	}

	.tb-pr0 {
		padding-right: 0px;
	}

	.tb-pl0 {
		padding-left: 0px;
	}

	.tb-w10,
	.tb-w20,
	.tb-w25,
	.tb-w30,
	.tb-w33,
	.tb-w40,
	.tb-w50,
	.tb-w60,
	.tb-w70,
	.tb-w80,
	.tb-w90,
	.tb-w100 {
		box-sizing: border-box;
	}

	.tb-w10 {
		width: 10% !important;
	}

	.tb-w20 {
		width: 20% !important;
	}

	.tb-w30 {
		width: 30% !important;
	}

	.tb-w40 {
		width: 40% !important;
	}

	.tb-w50 {
		width: 50% !important;
	}

	.tb-w60 {
		width: 60% !important;
	}

	.tb-w70 {
		width: 70% !important;
	}

	.tb-w80 {
		width: 80% !important;
	}

	.tb-w90 {
		width: 90% !important;
	}

	.tb-w100 {
		width: 100% !important;
	}

	.tb-p0 {
		padding: 0px;
	}

	.tb-p10 {
		padding: 10px;
	}

	.tb-p20 {
		padding: 20px;
	}

	.tb-wAuto {
		width: auto;
	}

	#footer .flexInner {
		display: block;
	}

	#footer .flexInner li {
		border-bottom: solid 1px #0094D7;
		padding: 10px 0px;
	}

	#footer .flexInner li:last-child {
		border: none;
	}

	#footer .flexInner li a {
		display: block;
	}
}


/*
===================================================
 sp スマホ解像度
===================================================
*/
@media screen and (max-width: 640px) {
	body {
		padding-top: 60px;
	}

	#header .headerInner {
		height: 60px;
		padding: 0px;
		box-sizing: border-box;
	}

	#header #logo {
		width: calc(100% - 100px);
		margin: 0px;
		height: 60px;
		gap: 15px;
		padding-left: 10px;
		justify-content: flex-start;
	}

	#footer .addressArea {
		display: block;
		justify-content: space-around;
	}

	#footer .addressArea address {
		width: 100%;
		border-right: none;
		border-bottom: solid 1px #fff;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	#footer .copyright {
		margin-top: 0px;
		padding-bottom: 70px;
	}

	#pagetop {
		bottom: 64px;
		right: 5px;
		width: 50px;
	}

	.pagettl {
		padding: 25px 0px;
	}

	.font-l {
		font-size: 125%;
	}

	.font-l2 {
		font-size: 140%;
	}

	.font-ll {
		font-size: 150%;
	}

	.font-lll {
		font-size: 180%;
	}

	.sp-visible {
		visibility: visible;
		width: auto;
		height: auto;
	}

	.sp-hidden {
		visibility: hidden;
		width: 0px;
		height: 0px;
	}

	.sp-dBlock {
		display: block;
	}

	.sp-dIb {
		display: inline-block;
	}

	.sp-dNone {
		display: none;
	}

	.sp-font-l {
		font-size: 140%;
	}

	.sp-font-m {
		font-size: 100%;
	}

	.sp-font-s {
		font-size: 60%;
	}

	.sp-fLeft {
		float: left;
	}

	.sp-fRight {
		float: right;
	}

	.sp-tLeft {
		text-align: left;
	}

	.sp-tRight {
		text-align: right;
	}

	.sp-tCenter {
		text-align: center;
	}

	.sp-vTop {
		vertical-align: top;
	}

	.sp-vMiddle {
		vertical-align: middle;
	}

	.sp-vBottom {
		vertical-align: bottom;
	}

	.sp-mb0 {
		margin-bottom: 0px;
	}

	.sp-mb1em {
		margin-bottom: 1em;
	}

	.sp-mb2em {
		margin-bottom: 2em;
	}

	.sp-mb3em {
		margin-bottom: 3em;
	}

	.sp-mb10 {
		margin-bottom: 10px;
	}

	.sp-mb25 {
		margin-bottom: 25px;
	}

	.sp-mb50 {
		margin-bottom: 50px;
	}

	.sp-mt0 {
		margin-top: 0px;
	}

	.sp-mt1em {
		margin-top: 1em;
	}

	.sp-mt2em {
		margin-top: 2em;
	}

	.sp-mt3em {
		margin-top: 3em;
	}

	.sp-mt10 {
		margin-top: 10px;
	}

	.sp-mt25 {
		margin-top: 25px;
	}

	.sp-mt50 {
		margin-top: 50px;
	}

	.sp-mr0 {
		margin-right: 0px;
	}

	.sp-mr5 {
		margin-right: 5px;
	}

	.sp-mr10 {
		margin-right: 10px;
	}

	.sp-ml0 {
		margin-left: 0px;
	}

	.sp-ml10 {
		margin-left: 10px;
	}

	.sp-pb0 {
		padding-bottom: 0px;
	}

	.sp-pb1em {
		padding-bottom: 1em;
	}

	.sp-pb2em {
		padding-bottom: 2em;
	}

	.sp-pb3em {
		padding-bottom: 3em;
	}

	.sp-pb25 {
		padding-bottom: 25px;
	}

	.sp-pb50 {
		padding-bottom: 50px;
	}

	.sp-pt0 {
		padding-top: 0px;
	}

	.sp-pt1em {
		padding-top: 1em;
	}

	.sp-pt2em {
		padding-top: 2em;
	}

	.sp-pt3em {
		padding-top: 3em;
	}

	.sp-pt10 {
		padding-top: 10px;
	}

	.sp-pt25 {
		padding-top: 25px;
	}

	.sp-pt50 {
		padding-top: 50px;
	}

	.sp-pr0 {
		padding-right: 0px;
	}

	.sp-pl0 {
		padding-left: 0px;
	}

	.sp-w10,
	.sp-w20,
	.sp-w25,
	.sp-w30,
	.sp-w33,
	.sp-w40,
	.sp-w50,
	.sp-w60,
	.sp-w70,
	.sp-w80,
	.sp-w90,
	.sp-w100 {
		box-sizing: border-box;
	}

	.sp-w10 {
		width: 10% !important;
	}

	.sp-w20 {
		width: 20% !important;
	}

	.sp-w30 {
		width: 30% !important;
	}

	.sp-w40 {
		width: 40% !important;
	}

	.sp-w50 {
		width: 50% !important;
	}

	.sp-w60 {
		width: 60% !important;
	}

	.sp-w70 {
		width: 70% !important;
	}

	.sp-w80 {
		width: 80% !important;
	}

	.sp-w90 {
		width: 90% !important;
	}

	.sp-w100 {
		width: 100% !important;
	}

	.sp-p0 {
		padding: 0px;
	}

	.sp-p10 {
		padding: 10px;
	}

	.sp-p20 {
		padding: 20px;
	}

	.sp-wAuto {
		width: auto;
	}
}



/*
===================================================
 開閉メニュー
===================================================
*/
.menuBtn {
	cursor: pointer;
	position: fixed;
	z-index: 999;
	top: 0px;
	right: 0px;
	width: 80px;
	height: 80px;
	background: #0094D7;
}

.menuBtn .menuBtn__inner {
	transition: transform 0.5s;
	position: relative;
	top: 30px;
	left: 20px;
	width: 40px;
	height: 2px;
	background: #fff;
	transition: .5s;
}

.menuBtn .menuBtn__inner::after {
	transition: transform 0.5s;
	position: absolute;
	top: -10px;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
	transition: .5s;
}

.menuBtn .menuBtn__inner::before {
	transition: transform 0.5s;
	position: absolute;
	top: 10px;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
	transition: .5s;
}

.menuBtn.active .menuBtn__inner {
	background: transparent;
}

.menuBtn.active .menuBtn__inner::after {
	top: 0px;
	animation: 1s animeCloseMenu1 forwards;
}

.menuBtn.active .menuBtn__inner::before {
	top: 0px;
	animation: 1s animeCloseMenu2 forwards;
}

@keyframes animeCloseMenu1 {
	0% {
		transform: rotate(0deg);
	}

	50% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(45deg);
	}
}

@keyframes animeCloseMenu2 {
	0% {
		transform: rotate(0deg);
	}

	50% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(-45deg);
	}
}

.menuBtn span {
	color: #fff;
	font-size: 13px;
	position: fixed;
	z-index: 999;
	top: 45px;
	right: 0px;
	display: block;
	width: 80px;
	text-align: center;
}

.menuArea {
	display: block;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 0px;
	height: 0px;
	width: 100%;
	height: 100%;
	background: #0094D7;
	overflow-y: auto;
	transition: opacity 0.5s;
}

.menuArea.active {
	opacity: 1;
	pointer-events: auto;
	z-index: 998;
}

.menuArea .menu {
	padding: 120px 10px 10px;
	max-width: 700px;
	box-sizing: border-box;
}

.menuArea .menu li {
	border-bottom: solid 1px #54c2f0;
}

.menuArea .menu li a {
	position: relative;
	display: block;
	padding: 18px 5px 18px 12px;
	color: #fff;
}

.menuArea .menu li>a::before {
	position: absolute;
	left: 0px;
	top: calc(50% - 1px);
	vertical-align: middle;
	display: block;
	content: "";
	width: 6px;
	height: 6px;
	background: #00508D;
	transform: rotate(45deg);
}

.menuArea .menu li .toggleArea a {
	padding: 10px;
}

.menuArea .menu li .toggleArea {
	padding-bottom: 15px;
}

@media screen and (max-width: 640px) {
	.menuBtn {
		width: 60px;
		height: 60px;
	}

	.menuBtn .menuBtn__inner {
		transition: transform 0.5s;
		position: relative;
		top: 22px;
		left: 13px;
		width: 34px;
	}

	.menuBtn .menuBtn__inner::after {
		top: -8px;
	}

	.menuBtn .menuBtn__inner::before {
		top: 8px;
	}

	.menuBtn span {
		font-size: 11px;
		top: 34px;
		right: 0px;
		width: 60px;
	}

	.menuArea .menu {
		padding: 65px 10px 10px;
	}
}

/*
===================================================
        animate.css用
===================================================
*/
.wow-box {
	animation-fill-mode: forwards;
}

@keyframes fadeInUp {

	from {
		opacity: 0;
		transform: translate3d(0, 15%, 0);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes fadeInDown {

	from {
		transform: translate3d(0, -15%, 0);
		opacity: 0;
	}

	to {
		transform: translateZ(0);
		opacity: 1;
	}
}


.lineBlue{
	background: linear-gradient(transparent 65%,var(--blue3) 65%);
}

#sec_notice .border_box{
	border: solid 2px var(--blue2);
	box-shadow: 5px 5px 0px var(--blue3);
}

#sec_notice .ttl span{
	position: relative;
	display: inline-block;
}

#sec_notice .ttl span:before,
#sec_notice .ttl span:after{
	width: 2.5em;
	height: 1em;
	display: flex;
	content: "";
	position: absolute;
	background: radial-gradient(var(--blue2) 15%, transparent 30%), radial-gradient(var(--blue2) 15%, transparent 30%);
	background-repeat: repeat-x;
	background-size: .8em .8em;
	border-radius: 50%;
	top: calc( 50% - 0.5em );
}

#sec_notice .ttl span:before{
	left: -3em;
	background-position: left;
}

#sec_notice .ttl span:after{
	right: -3em;
	background-position: right;
}