@charset "UTF-8";

/*----------------------------------------------------
	Reset CSS
----------------------------------------------------*/
/*
Modification:Qurion
Base:
OZ RESET CSS
Author: ONZE
Author URI: http://on-ze.com
Version: 1.1
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

*, *:before, *:after {
	border:0;
	margin:0;
	outline:0;
	padding:0;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		-ms-box-sizing:border-box;
		-o-box-sizing:border-box;
		box-sizing:border-box;
	font:inherit;
	font-family:inherit;
	font-size:100%;
	font-style:inherit;
	font-weight:inherit;
	text-decoration:none;
	vertical-align:baseline;
}

html {	/* スクロールバー常時表示・スマホ調整 */
	overflow-y: scroll;
	font-size: 62.5%;
}

body {
	line-height:1;
	position:relative;
		-webkit-text-size-adjust:100%;
		-moz-text-size-adjust:100%;
		-ms-text-size-adjust:100%;
		-o-text-size-adjust:100%;
		text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	width:100%;
	height:100%;
}

article, aside, dialog, figure, footer, header, main, menu, nav, section {display:block;}
audio, canvas, video {display:inline-block;}

br,hr {display:inline-block;}
ol,ul {list-style:none;}

blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;}

input,
select {vertical-align:middle;}

table {border-collapse:collapse; border-spacing:0; empty-cells:show;}


/*----------------------------------------------------
　基本設定
----------------------------------------------------*/
html {
	scroll-behavior: smooth;
}

body {
	min-width: 1120px;
	font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Arial, Helvetica,sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	color: #000000;
	margin: 0;
	padding: 0;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.04em;
}

strong { font-weight: 700; }
img { vertical-align: bottom; }

/* clearfix */
.clearfix:after {
	content: " ";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
}

/* 画像プロテクト */
.protect {
	pointer-events: none;
}

/* 上付き・下付き */
sub,
sup {
	line-height: 0;
	position: relative;
	vertical-align: baseline
}
sup {
	font-size: 70%;
	top: -.5em;
}
sub {
	font-size: 75%;
	bottom: 0;
}

/* インデントテキスト */
p.indent {
	text-indent: 1em;
}

/* 注意書き */
.caution {
	padding-left: 1em;
	text-indent: -1em;
}
.caution a {
	padding-left: 0;
	text-indent: 0;
}
h1,h2,h3,h4,h5,h6 {
	font-weight: 700;
}
a {
	word-wrap:break-word;
	overflow-wrap:break-word;
}

/*----------------------------------------------------
　基本カラー設定
----------------------------------------------------*/
:root {
	--color-blue: #3691ca;
	--color-blue2: #549ecd;
	--color-l_gray: #f2f2f2;
	--color-d_gray: #3d3d3d;
}


/*----------------------------------------------------
 リンク書式
----------------------------------------------------*/
/* テキストリンク */
.linkArrow a {
	display: inline-block;
}
.linkArrow a::before {
	content: "";
	width: 10px;
	height: 10px;
	transform: rotateZ(45deg) translateY(-2px);
	border-top: 2px solid var(--color-blue);
	border-right: 2px solid var(--color-blue);
	display: inline-block;
	margin-right: 10px;
}

/* ボタンデザイン */
.linkBtn {
	display: block;
	padding: 12px 0;
}
.linkBtn a {
	padding: 20px 20px;
	min-width: 320px;
	background-color: var(--color-blue2);
	display: inline-block;
	color: #ffffff !important;
	position: relative;
	text-align: center;
	position: relative;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.18em;
}
.linkBtn a::before {
	content: "";
	width: 14px;
	height: 14px;
	transform: rotateZ(45deg);
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	display: inline-block;
	margin-right: 14px;
}
@media screen and (max-width: 640px) {
	.linkBtn {
		padding: 6px 0;
	}
	.linkBtn a {
		max-width: 320px;
		width: 100%;
		min-width: inherit;
		padding: 17px 14px;
	}
}

/*----------------------------------------------------
　動画表示
----------------------------------------------------*/
.movie {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}
.movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*----------------------------------------------------
　表示切り替え
----------------------------------------------------*/
.pcNone {
	display: none !important;
}
@media screen and (max-width: 640px) {
	.spNone {
		display: none !important;
	}
	.pcNone {
		display: inline-block !important;
	}
}

/*----------------------------------------------------
　配置設定
----------------------------------------------------*/
.right {text-align: right !important;}
.left {text-align: left !important;}
.center {text-align: center !important;}
.justify {text-align: justify !important;}

/*----------------------------------------------------
　マージン・パディング設定
----------------------------------------------------*/
.mT0 { margin-top: 0 !important; }
.mT10 { margin-top: 10px !important; }
.mT20 { margin-top: 20px !important; }
.mT30 { margin-top: 30px !important; }
.mT40 { margin-top: 40px !important; }

.mB0 { margin-bottom: 0 !important; }
.mB10 { margin-bottom: 10px !important; }
.mB20 { margin-bottom: 20px !important; }
.mB30 { margin-bottom: 30px !important; }
.mB40 { margin-bottom: 40px !important; }
.mB100 { margin-bottom: 100px !important; }

.pT0 { padding-top: 0 !important; }
.pT10 { padding-top: 10px !important; }
.pT20 { padding-top: 20px !important; }
.pT30 { padding-top: 30px !important; }
.pT40 { padding-top: 40px !important; }

.pB0 { padding-bottom: 0 !important; }
.pB10 { padding-bottom: 10px !important; }
.pB20 { padding-bottom: 20px !important; }
.pB30 { padding-bottom: 30px !important; }
.pB40 { padding-bottom: 40px !important; }

@media screen and (max-width: 640px) {
	.mT20 { margin-top: 15px !important; }
	.mT30 { margin-top: 25px !important; }
	.mT40 { margin-top: 35px !important; }

	.mB20 { margin-bottom: 15px !important; }
	.mB30 { margin-bottom: 25px !important; }
	.mB40 { margin-bottom: 35px !important; }
	.mB100 { margin-bottom: 60px !important; }

	.pT20 { padding-top: 15px !important; }
	.pT30 { padding-top: 25px !important; }
	.pT40 { padding-top: 35px !important; }

	.pB20 { padding-bottom: 15px !important; }
	.pB30 { padding-bottom: 25px !important; }
	.pB40 { padding-bottom: 35px !important; }
}
