@charset "UTF-8";
/*----------------------------------------

	Default CSS (Last Update 2020.08.27)

	- default setting
	- font-family setting
	- font setting
	- line-height setting
	- link setting
	- color setting
	- bgcolor setting
	- common setting
		- indent01
		- bold01
		- note01
		- square01
		- dot01
		- pdf
		- category
		- status
		- ofi
		- ruby
		- br
	- clear setting
	- arrow
	- animation setting
	- margin setting
	- text align setting

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

/*----------------------------------------
	default setting
-----------------------------------------*/
* {
	letter-spacing: 0.06em;
	/*letter-spacing: 0.09em;*/
}

/*_::-webkit-full-page-media, _:future, :root .sp * {
	letter-spacing: 0.12em;
}*/

html {
	max-height: 100%;
	font-size: 62.5%;
}

h1,
h2,
h3,
h4,
h5,
h6,
th {
	margin: 0;
	font-size: 100%;
	font-weight: normal;
}

p,
dl,
dd,
ol,
ul,
th,
td,
figure {
	margin: 0;
	padding: 0;
}

th {
	text-align: left;
}

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

body {
	margin: auto;
	font-family: 'Noto Serif JP', 'Noto Sans JP', 'Crimson Text', 'Hiragino Kaku Gothic ProN', Meiryo, 'Helvetica Neue', 'Verdana', Arial, sans-serif;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #373d44;
}

/* for IE11 */
main {
	display: block;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

em {
	font-style: normal;
	font-weight: bold;
}

li {
	list-style: none;
	vertical-align: bottom;
}

li img {
	vertical-align: top;
}

small {
	font-size: 100%;
}

/* WebKit, Blink, Edge */
::-webkit-input-placeholder {
	color: #707f89;
}

/* IE, Edge */
:-ms-input-placeholder {
	color: #707f89;
}

::placeholder {
	color: #707f89;
}

/*----------------------------------------
	font-family setting
-----------------------------------------*/
.notoserif {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
}

.notosans {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}

.crimson {
	font-family: 'Crimson Text', serif;
	font-weight: 400;
}

/*----------------------------------------
	font setting
-----------------------------------------*/
.font9 {
	font-size: 0.9rem;
}

.font10 {
	font-size: 1rem;
}

.font11 {
	font-size: 1.1rem;
}

.font12,
.font12_10,
.font12_14 {
	font-size: 1.2rem;
}

.font13 {
	font-size: 1.3rem;
}

.font14,
.font14_10,
.font14_12 {
	font-size: 1.4rem;
}

.font16,
.font16_10,
.font16_12,
.font16_14 {
	font-size: 1.6rem;
}

.font18,
.font18_9,
.font18_10,
.font18_12,
.font18_14,
.font18_16 {
	font-size: 1.8rem;
}

.font20,
.font20_10,
.font20_12,
.font20_14,
.font20_16,
.font20_18 {
	font-size: 2rem;
}

.font22,
.font22_14 {
	font-size: 2.2rem;
}

.font24,
.font24_12,
.font24_14,
.font24_16,
.font24_20 {
	font-size: 2.4rem;
}

.font26,
.font26_14,
.font26_16,
.font26_20 {
	font-size: 2.6rem;
}

.font28,
.font28_14,
.font28_16 {
	font-size: 2.8rem;
}

.font30,
.font30_14,
.font30_16,
.font30_18,
.font30_20,
.font30_26 {
	font-size: 3rem;
}

.font32,
.font32_14,
.font32_16,
.font32_24 {
	font-size: 3.2rem;
}

.font34 {
	font-size: 3.4rem;
}

.font36,
.font36_18,
.font36_22,
.font36_24,
.font36_26 {
	font-size: 3.6rem;
}

.font38,
.font38_26 {
	font-size: 3.8rem;
}

.font40,
.font40_20 {
	font-size: 4rem;
}

.font42_26 {
	font-size: 4.2rem;
}

.font44,
.font44_22,
.font44_30 {
	font-size: 4.4rem;
}

.font46 {
	font-size: 4.6rem;
}

.font48 {
	font-size: 4.8rem;
}

.font50,
.font50_26,
.font50_28,
.font50_30,
.font50_32 {
	font-size: 5rem;
}

.font52_26 {
	font-size: 5.2rem;
}

.font54_27 {
	font-size: 5.4rem;
}

.font60,
.font60_30 {
	font-size: 6rem;
}

.font72_50 {
	font-size: 7.2rem;
}

.font80,
.font80_45 {
	font-size: 8rem;
}

.font82_46 {
	font-size: 8.2rem;
}

.font90,
.font90_50 {
	font-size: 9rem;
}

.font100 {
	font-size: 10rem;
}

.font128_64 {
	font-size: 12.8rem;
}

.font158_79 {
	font-size: 15.8rem;
}

@media screen and (max-width: 1023px) {
	.font18_9 {
		font-size: 0.9rem;
	}

	.font12_10,
	.font14_10,
	.font16_10,
	.font18_10,
	.font20_10 {
		font-size: 1.0rem;
	}

	.font12,
	.font14_12,
	.font16_12,
	.font18_12,
	.font20_12,
	.font24_12 {
		font-size: 1.2rem;
	}

	.font12_14,
	.font16_14,
	.font18_14,
	.font20_14,
	.font22_14,
	.font24_14,
	.font26_14,
	.font28_14,
	.font30_14,
	.font32_14 {
		font-size: 1.4rem;
	}

	.font18_16,
	.font20_16,
	.font24_16,
	.font26_16,
	.font28_16,
	.font30_16,
	.font32_16 {
		font-size: 1.6rem;
	}

	.font20_18,
	.font30_18,
	.font36_18 {
		font-size: 1.8rem;
	}

	.font24_20,
	.font26_20,
	.font30_20,
	.font40_20 {
		font-size: 2.0rem;
	}

	.font36_22,
	.font44_22 {
		font-size: 2.2rem;
	}

	.font36_24,
	.font32_24 {
		font-size: 2.4rem;
	}

	.font30_26,
	.font36_26,
	.font38_26,
	.font42_26,
	.font50_26,
	.font52_26 {
		font-size: 2.6rem;
	}

	.font54_27 {
		font-size: 2.7rem;
	}

	.font50_28 {
		font-size: 2.8rem;
	}

	.font44_30,
	.font50_30,
	.font60_30 {
		font-size: 3rem;
	}

	.font50_32 {
		font-size: 3.2rem;
	}

	.font80_45 {
		font-size: 4.5rem;
	}

	.font82_46 {
		font-size: 4.6rem;
	}

	.font72_50,
	.font90_50 {
		font-size: 5.0rem;
	}

	.font128_64 {
		font-size: 6.4rem;
	}

	.font158_79 {
		font-size: 7.9rem;
	}
}

/*----------------------------------------
	line-height setting
	line-height rule = Target line size / Target font size
-----------------------------------------*/
.lh1 {
	line-height: 1;
}

.lh13 {
	line-height: 1.3;
}

.lh15 {
	line-height: 1.5;
}

.lh17 {
	line-height: 1.7;
}

.lh2 {
	line-height: 2;
}

/*----------------------------------------
	font-feature-settings
-----------------------------------------*/
.ffs {
	font-feature-settings: 'palt';
}

/*----------------------------------------
	link setting
-----------------------------------------*/
a,
a:focus {
	outline: none;
	text-decoration: none;
}

/*a:link,
a:visited {
	color: #35439e;
}

.pc a:hover,
a:active {
	color: #35439e;
}*/

/* " .l_colors " は画像と背景色の等価を伴わないテキストのみの処理用 */
.l_orange {
	color: #ec4414 !important;
	cursor: pointer;
	transition: opacity .1s ease-in-out .0s;
}

.pc .l_orange:hover {
	color: #ec4414 !important;
	opacity: .5;
}

.l_black {
	color: #373d44 !important;
	cursor: pointer;
	transition: opacity .1s ease-in-out .0s;
}

.pc .l_black:hover {
	color: #373d44 !important;
	opacity: .5;
}

.l_navy {
	color: #35439e !important;
	cursor: pointer;
	transition: opacity .1s ease-in-out .0s;
}

.pc .l_navy:hover {
	color: #35439e !important;
	opacity: .5;
}

.l_blue {
	color: #4380ff !important;
	cursor: pointer;
	transition: opacity .1s ease-in-out .0s;
}

.pc .l_blue:hover {
	color: #4380ff !important;
	opacity: .5;
}

.l_bluegreen {
	color: #15b5b9 !important;
	cursor: pointer;
	transition: opacity .1s ease-in-out .0s;
}

.pc .l_bluegreen:hover {
	color: #15b5b9 !important;
	opacity: .5;
}

.l_green {
	color: #62a100 !important;
	cursor: pointer;
	transition: opacity .1s ease-in-out .0s;
}

.pc .l_green:hover {
	color: #62a100 !important;
	opacity: .5;
}

.l_brown {
	color: #cc9e00 !important;
	cursor: pointer;
	transition: opacity .1s ease-in-out .0s;
}

.pc .l_brown:hover {
	color: #cc9e00 !important;
	opacity: .5;
}

.l_purple {
	color: #be627c !important;
	cursor: pointer;
	transition: opacity .1s ease-in-out .0s;
}

.pc .l_purple:hover {
	color: #be627c !important;
	opacity: .5;
}

.l_biege {
	color: #d7d2ca !important;
	cursor: pointer;
	transition: opacity .1s ease-in-out .0s;
}

.pc .l_biege:hover {
	color: #d7d2ca !important;
	opacity: .5;
}

.l_gray {
	color: #a7a7a4 !important;
	cursor: pointer;
	transition: opacity .1s ease-in-out .0s;
}

.pc .l_gray:hover {
	color: #a7a7a4 !important;
	opacity: .5;
}

.l_red {
	color: #cc3333 !important;
	cursor: pointer;
	transition: opacity .1s ease-in-out .0s;
}

.pc .l_red:hover {
	color: #cc3333 !important;
	opacity: .5;
}

.l_white {
	color: #fff !important;
	cursor: pointer;
	transition: opacity .1s ease-in-out .0s;
}

.pc .l_white:hover {
	color: #fff !important;
	opacity: .5;
}

/* rounded（角丸） */
/* 縦横サイズ、カラーバリエーションは各ページ個別対応でお願いします */
.rounded {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 350px;
	height: 80px;
	margin: auto;
	padding: 10px;
	border-radius: 40px;
	border: 2px solid #a7a7a4;
	box-sizing: border-box;
	transition: all .1s ease-in-out .0s;
}

.pc .rounded:hover {
	background-color: #525461;
	border-color: #525461;
	color: #fff !important;
}

/* サイズ小 授与品等にて使用 */
.rounded.small {
	width: 280px;
	height: 64px;
	border-radius: 40px;
}

@media screen and (max-width: 1023px) {
	.rounded {
		width: 240px;
		height: 50px;
		padding: 10px;
		border-width: 1px;
		border-radius: 40px;
	}

	.rounded.small {
		max-width: 240px;
		width: 93%;
		height: 40px;
		border-radius: 20px;
		border: 1px solid #a7a7a4;
	}
}

/* _blank */
.blank {
	display: inline-block;
	position: relative;
	padding-right: 22px;
}

.blank::before {
	content: '';
	display: block;
	position: absolute;
	right: 3px;
	bottom: 4px;
	height: 7px;
	width: 8px;
	border: 1px solid #373d44;
	background-color: #fff;
}

.blank::after {
	content: '';
	display: block;
	position: absolute;
	right: 0;
	bottom: 7px;
	height: 7px;
	width: 8px;
	border: 1px solid #373d44;
	background-color: #fff;
	box-shadow: 0px 0px 0px 1px #fff;
}

/* PC blankのhover用 */
.pc a .blank::before,
.pc a .blank::after {
	transition: border-color .1s ease-in-out .0s;
}

.pc a:hover .blank::before,
.pc a:hover .blank::after {
	border-color: #9b9ea1;
}

/* バナーの外部リンク用 */
.pc .c_banners a .blank::before,
.pc .c_banners a .blank::after {
	transition: border-color .1s ease-in-out .0s;
}

.pc .c_banners a:hover .blank::before,
.pc .c_banners a:hover .blank::after {
	border-color: #9b9ea1;
}

.blank02 {
	display: inline-block;
	position: relative;
	padding-right: 22px;
}

.blank02::before {
	content: '';
	display: block;
	position: absolute;
	right: 3px;
	bottom: 4px;
	height: 7px;
	width: 8px;
	border: 1px solid #a7a7a4;
	background-color: #525461;
}

.blank02::after {
	content: '';
	display: block;
	position: absolute;
	right: 0;
	bottom: 7px;
	height: 7px;
	width: 8px;
	border: 1px solid #a7a7a4;
	background-color: #525461;
	box-shadow: 0px 0px 0px 1px #525461;
}

/* _blank [ footer ] */
footer .blank::before {
	background-color: #f6f4f1;
}

footer .blank::after {
	background-color: #f6f4f1;
	box-shadow: 0px 0px 0px 1px #f6f4f1;
}

/*----------------------------------------
	color setting
-----------------------------------------*/
.black01 {
	color: #373d44 !important;
}

.black02 {
	color: #000 !important;
}

.white01 {
	color: #fff !important;
}

.gray01 {
	color: #a7a7a4 !important;
}

.biege01 {
	color: #d7d2ca !important;
}

.blue01 {
	color: #39a2eb !important;
}

.bluegray01 {
	color: #d5dede !important;
}

.redbrown01 {
	color: #c35434 !important;
}

.red01 {
	color: #cc3333 !important;
}

.maccha01 {
	color: #787323 !important;
}

.navyblue01 {
	color: #58697d !important;
}

.navy01 {
	color: #35439e !important;
}

/*----------------------------------------
	bgcolor setting
-----------------------------------------*/
.coloredbg_navyblue01 {
	padding: 50px 0;
	background-color: #525461;
}

/*----------------------------------------
	common setting
-----------------------------------------*/
.indent01 {
	padding-left: 1em;
	text-indent: -1em;
}

/* 太文字 */
.bold01 {
	font-weight: bold;
}

/* 注意事項 ※ */
.note01 {
	position: relative;
	padding-left: 1em;
}

.note01::before {
	content: "\0203B";
	position: absolute;
	top: 0;
	left: 0;
}

/* 四角 ■ */
.square01 {
	position: relative;
	padding-left: 1em;
}

.square01::before {
	content: "\025A0";
	position: absolute;
	top: 0;
	left: 0;
}

/* 中黒 ・ */
.dot01 {
	position: relative;
	padding-left: 1em;
}

.dot01::before {
	content: "\030FB";
	position: absolute;
	top: 0;
	left: 0;
}

/* PDF */
.pdf01 {
	position: relative;
}

.pdf01::after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 7px;
	background: transparent url(/img/c_pdf_icon01.png) no-repeat left top;
	background-size: 12px 12px;
}

.pdf02 {
	position: relative;
}

.pdf02::after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 7px;
	background: transparent url(/img/c_pdf_icon02.png) no-repeat left top;
	background-size: 12px 12px;
}

/* お知らせの共通設定 */
/* カテゴリマーカー */
.category {
	display: inline-block;
	width: 80px;
	height: 30px;
	/*margin-top: 6px;*/
	margin-left: 20px;
	padding: 5px 0;
	border: 2px solid #d9d5cf;
	border-radius: 2px;
	background-color: #d9d5cf;
	box-sizing: border-box;
	color: #373d44;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 1.4rem;
	text-align: center;
	line-height: 1;
}

/* カテゴリマーカー・祭典 */
.saiten {
	border: 2px solid #f99677;
	background-color: #f99677;
	color: #fff;
}

/* ステータス */
.status {
	display: inline-block;
	width: 80px;
	height: 30px;
	/*margin-top: 6px;*/
	margin-left: 20px;
	padding: 5px 0;
	border: 2px solid #373d44;
	border-radius: 2px;
	background-color: #fff;
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 1.4rem;
	text-align: center;
	line-height: 1;
}

/* ステータス・近日予定 */
.upcoming {
	width: 100px;
}


@media screen and (max-width: 1023px) {
	.category {
		width: 50px;
		height: 18px;
		padding: 2px 0;
		border-width: 1px;
		font-size: 1rem;
	}

	.status {
		width: 50px;
		height: 18px;
		padding: 2px 0;
		border-width: 1px;
		font-size: 1rem;
	}

	/* ステータス・近日予定 */
	.upcoming {
		width: 60px;
	}
}

/* ofi */
img.ofi {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
	font-family: 'object-fit: cover; object-position: center;';
}

img.ofi.top {
	object-position: top;
	font-family: 'object-fit: cover; object-position: top;';
}

img.ofi.bottom {
	object-position: bottom;
	font-family: 'object-fit: cover; object-position: bottom;';
}

/* ruby */
ruby[data-ruby] {
	position: relative;
}

ruby[data-ruby]::before {
	content: attr(data-ruby);
	position: absolute;
	right: -3em;
	bottom: 90%;
	left: -3em;
	font-size: 1rem;
	font-weight: normal !important;
	letter-spacing: -0.03em;
	text-align: center;
	line-height: 100%;
	transform: scale(0.85);
	transform-origin: bottom center;
	/* デバッグ用 */
	/*background-color: rgba(255, 0, 0, 0.1);*/
}

/* 疑似要素で代替表示するので非表示に */
ruby rt {
	display: none;
}

/* 用語説明テキストカラー */
.glossary ruby[data-ruby]::before {
	color: #373d44;
}

/* 見出し高さ微調整 */
h1 ruby[data-ruby] {
	display: inline-block;
	height: inherit;
}

h1 ruby[data-ruby]::before {
	bottom: 85%;
	font-size: 1rem;
	letter-spacing: 0.3em;
}

/* PC時の見出しのルビの文字サイズを10px相当に */
.pc h1 ruby[data-ruby]::before {
	letter-spacing: 0;
	transform: scale(1);
}

/* SP時の見出しのルビの文字サイズを9px相当に */
.sp h1 ruby[data-ruby]::before {
	bottom: 80%;
	letter-spacing: 0;
	transform: scale(0.9);
}

/* isFirefox なら */
.isFirefox ruby[data-ruby]::before {
	bottom: 95%;
}

.isFirefox h1 ruby[data-ruby]::before {
	bottom: 85%;
}

/* isSafari なら */
.isSafari ruby[data-ruby] {
	display: inline-block;
}

/* ルビ文字間隔調整 */
ruby.ltr_space01 rb,
ruby.ltr_space01 rb span {
	margin-left: 0.1em;
	letter-spacing: 0.1em;
}

ruby.ltr_space02 rb,
ruby.ltr_space02 rb span {
	margin-left: 0.2em;
	letter-spacing: 0.2em;
}

ruby.ltr_space03 rb,
ruby.ltr_space03 rb span {
	margin-left: 0.3em;
	letter-spacing: 0.3em;
}

ruby.ltr_space04 rb,
ruby.ltr_space04 rb span {
	margin-left: 0.4em;
	letter-spacing: 0.4em;
}

ruby.ltr_space05 rb,
ruby.ltr_space05 rb span {
	margin-left: 0.5em;
	letter-spacing: 0.5em;
}

@media screen and (max-width: 1023px) {
	ruby[data-ruby]::before {
		bottom: 85%;
	}
}

/* br */
br.pc {
	display: inline;
}

br.sp {
	display: none;
}

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

	br.sp {
		display: inline;
	}
}

/*----------------------------------------
	clear setting
-----------------------------------------*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.clearfsize {
	font-size: 0;
	line-height: 0;
}

/*----------------------------------------
	arrow
-----------------------------------------*/
/* 矢印大 */
.simplearrow.large {
	display: inline-block;
	position: relative;
	width: 20px;
	height: 20px;
	transition: all .1s ease-in-out .0s;
}

.simplearrow.large::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 20px;
	height: 1px;
	margin: auto;
	background-color: #373d44;
}

.simplearrow.large::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 1px solid #373d44;
	border-right: 1px solid #373d44;
	transform: rotate(45deg);
}

.pc a:hover .simplearrow.large::before {
	background-color: #fff;
}

.pc a:hover .simplearrow.large::after {
	border-top-color: #fff;
	border-right-color: #fff;
}

/* 矢印大 バリエーション 右寄せ */
.simplearrow.large.rightjustify {
	margin-right: auto;
	margin-left: auto;
	margin-right: 0;
}

/* 矢印大 バリエーション 下向き */
.simplearrow.large.downwards {
	transform: rotate(90deg);
}

/* 矢印小 */
.simplearrow.small {
	display: inline-block;
	position: relative;
	width: 15px;
	height: 15px;
	transition: all .1s ease-in-out .0s;
}

.simplearrow.small::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 2px;
	width: 13px;
	height: 1px;
	margin: auto;
	background-color: #373d44;
	transition: all .1s ease-in-out .0s;
}

.simplearrow.small::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 6px;
	height: 6px;
	margin: auto;
	border-top: 1px solid #373d44;
	border-right: 1px solid #373d44;
	transform: rotate(45deg);
	transition: all .1s ease-in-out .0s;
}

.pc a:hover .simplearrow.small::before {
	background-color: #fff;
}

.pc a:hover .simplearrow.small::after {
	border-top-color: #fff;
	border-right-color: #fff;
}

/* top qa, topics用 */
/* 矢印大 */
.qa .simplearrow.large,
.topics .simplearrow.large {
	margin: auto;
	margin-right: 9px;
}

.qa .simplearrow.large::before,
.topics .simplearrow.large::before {
	width: 27px;
}

.qa .simplearrow.large::after,
.topics .simplearrow.large::after {
	left: calc(50% + 3px);
	width: 10px;
	height: 10px;
}

@media screen and (max-width: 1023px) {
	/* 矢印大( card、汎用) */
	.simplearrow.large,
	.simplearrow.small {
		width: 15px;
		height: 15px;
	}

	.simplearrow.large::before,
	.simplearrow.small::before {
		width: 14px;
		height: 1px;
	}

	.simplearrow.large::after,
	.simplearrow.small::after {
		width: 6px;
		height: 6px;
		border-width: 1px;
	}

	/* 矢印大 */
	.qa .simplearrow.large,
	.topics .simplearrow.large {
		width: 15px;
		height: 15px;
	}

	.qa .simplearrow.large::before,
	.topics .simplearrow.large::before {
		width: 14px;
		height: 1px;
	}

	.qa .simplearrow.large::after,
	.topics .simplearrow.large::after {
		left: 50%;
		width: 6px;
		height: 6px;
		border-top: 1px solid #373d44;
		border-right: 1px solid #373d44;
	}
}

/* simplearrow カラーバリエーション */
.simplearrow.orange::before {
	background-color: #ec4414;
}

.simplearrow.orange::after {
	border-top-color: #ec4414;
	border-right-color: #ec4414;
}

.simplearrow.blue::before {
	background-color: #4380ff;
}

.simplearrow.blue::after {
	border-top-color: #4380ff;
	border-right-color: #4380ff;
}

.simplearrow.bluegreen::before {
	background-color: #15b5b9;
}

.simplearrow.bluegreen::after {
	border-top-color: #15b5b9;
	border-right-color: #15b5b9;
}

.simplearrow.green::before {
	background-color: #62a100;
}

.simplearrow.green::after {
	border-top-color: #62a100;
	border-right-color: #62a100;
}

.simplearrow.brown::before {
	background-color: #cc9e00;
}

.simplearrow.brown::after {
	border-top-color: #cc9e00;
	border-right-color: #cc9e00;
}

.simplearrow.purple::before {
	background-color: #be627c;
}

.simplearrow.purple::after {
	border-top-color: #be627c;
	border-right-color: #be627c;
}

/* 丸矢印大 */
.roundarrow01 {
	display: inline-block;
	position: relative;
	width: 80px;
	height: 80px;
	margin: 1px 0 0 23px;
	box-sizing: border-box;
	border-radius: 50%;
	background-color: #fff;
	border: 2px solid #d7d2ca;
	cursor: pointer;
	transition: all .1s ease-in-out .0s;
}

.roundarrow01::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: -6px;
	width: 40px;
	height: 4px;
	margin: auto;
	background-color: #d7d2ca;
	transition: all .1s ease-in-out .0s;
}

.roundarrow01::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(50% - 4px);
	width: 16px;
	height: 16px;
	margin: auto;
	border-top: 4px solid #d7d2ca;
	border-right: 4px solid #d7d2ca;
	transform: rotate(45deg);
	transition: all .1s ease-in-out .0s;
}

.pc a:hover .roundarrow01 {
	border-color: #696b76;
	background: #696b76;
}

.pc a:hover .roundarrow01::before {
	background-color: #fff;
}

.pc a:hover .roundarrow01::after {
	border-top-color: #fff;
	border-right-color: #fff;
}

@media screen and (max-width: 1023px) {
	.roundarrow01 {
		width: 50px;
		height: 50px;
		margin: 2px 0 0 11px;
		background-color: #fff;
		border: 1px solid #d7d2ca;
	}

	.roundarrow01::before {
		left: -4px;
		width: 25px;
		height: 2px;
	}

	.roundarrow01::after {
		left: calc(50% - 2px);
		width: 10px;
		height: 10px;
		border-top: 2px solid #d7d2ca;
		border-right: 2px solid #d7d2ca;
	}
}

/* 丸矢印小 */
.roundarrow02 {
	display: inline-block;
	position: relative;
	width: 30px;
	height: 30px;
	margin: 1px 0 0 10px;
	box-sizing: border-box;
	border-radius: 50%;
	background-color: #fff;
	border: 1px solid #a7a7a4;
	cursor: pointer;
	transition: all .1s ease-in-out .0s;
}

.roundarrow02::before {
	content: "";
	position: absolute;
	top: 0;
	right: 2px;
	bottom: 0;
	left: 0;
	width: 14px;
	height: 1px;
	margin: auto;
	background-color: #373d44;
	transition: all .1s ease-in-out .0s;
}

.roundarrow02::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(50% - 2px);
	width: 6px;
	height: 6px;
	margin: auto;
	border-top: 1px solid #373d44;
	border-right: 1px solid #373d44;
	transform: rotate(45deg);
	transition: all .1s ease-in-out .0s;
}

.pc a:hover .roundarrow02 {
	border-color: #696b76;
	background: #696b76;
}

.pc a:hover .roundarrow02::before {
	background-color: #fff;
}

.pc a:hover .roundarrow02::after {
	border-top-color: #fff;
	border-right-color: #fff;
}

@media screen and (max-width: 1023px) {
	.roundarrow02 {
		width: 25px;
		height: 25px;
		margin: 1px 0 0 13px;
	}

	.roundarrow02::before {
		top: 0;
		right: 2px;
		bottom: 0;
		left: 0;
		width: 12px;
		height: 1px;
	}

	.roundarrow02::after {
		left: calc(50% - 1px);
		width: 4px;
		height: 4px;
		border-top: 1px solid #373d44;
		border-right: 1px solid #373d44;
	}
}

/*----------------------------------------
	animation setting
	ベジェのサンプルはこちらから https://easings.net/
-----------------------------------------*/
/* 動きの初期設定（終点の座標、遅延、アニメーションの秒数等） */
.initAnm01 {
	transform: translate(0, 0) rotate(0) scale(1.0);
	opacity: 1;
	/* 以下以下遅延設定等 */
	/* easeOutQuart */
	transition-property: all;
	transition-duration: 1s;
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-delay: 0s;
}

.initAnm01delay1 {
	transform: translate(0, 0) rotate(0) scale(1.0);
	opacity: 1;
	/* 以下以下遅延設定等 */
	/* easeOutQuart */
	transition-property: all;
	transition-duration: 1s;
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-delay: .5s;
}

.initAnm01delay2 {
	transform: translate(0, 0) rotate(0) scale(1.0);
	opacity: 1;
	/* 以下以下遅延設定等 */
	/* easeOutQuart */
	transition-property: all;
	transition-duration: 1s;
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-delay: 1s;
}

.initAnm02 {
	transform: translate(0, 0) rotate(0) scale(1.0);
	opacity: 1;
	/* 以下以下遅延設定等 */
	/* easeInOutQuart */
	transition-property: all;
	transition-duration: 2s;
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-delay: 0s;
}

.initAnm02delay1 {
	transform: translate(0, 0) rotate(0) scale(1.0);
	opacity: 1;
	/* 以下以下遅延設定等 */
	/* easeInOutQuart */
	transition-property: all;
	transition-duration: 2s;
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-delay: .5s;
}

.initAnm02delay2 {
	transform: translate(0, 0) rotate(0) scale(1.0);
	opacity: 1;
	/* 以下以下遅延設定等 */
	/* easeInOutQuart */
	transition-property: all;
	transition-duration: 2s;
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-delay: 1s;
}

.initAnm03 {
	transform: translate(0, 0) rotate(0) scale(1.0);
	opacity: 1;
	transition-property: all;
	transition-duration: 3s;
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-delay: 0s;
}

.initAnm03delay1 {
	transform: translate(0, 0) rotate(0) scale(1.0);
	opacity: 1;
	transition-property: all;
	transition-duration: 3s;
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-delay: .5s;
}

/* アニメーションの種類 */
.fadeIn {
	opacity: 0;
}

.slideInUp {
	transform: translate(0, 50px) rotate(0) scale(1.0);
	opacity: 0;
}

.slideInUp2 {
	transform: translate(0, 100px) rotate(0) scale(1.0);
	opacity: 0;
}

.slideInDown {
	transform: translate(0, -100px) rotate(0) scale(1.0);
	opacity: 0;
}

.slideInLeft {
	transform: translate(-100px, 0) rotate(0) scale(1.0);
	opacity: 0;
}

.slideInLeft2 {
	transform: translate(-50px, 0) rotate(0) scale(1.0);
	opacity: 0;
}

.slideInRight {
	transform: translate(100px, 0) rotate(0) scale(1.0);
	opacity: 0;
}

.slideInRight2 {
	transform: translate(50px, 0) rotate(0) scale(1.0);
	opacity: 0;
}

.slideInScale {
	transform: translate(0, 0) rotate(0) scale(0.5);
	opacity: 0;
}

.slideInScale2 {
	transform: translate(0, 50px) rotate(0) scale(0.8);
	opacity: 0;
}

.zoomUp {
	transform: translate(0, 0) rotate(0) scale(0.8);
	opacity: 0;
}

/*----------------------------------------
	margin setting
-----------------------------------------*/
.mr1em {
	margin-right: 1em !important;
}

.mt30,
.mt30_15 {
	margin-top: 30px !important;
}

.mt40_20 {
	margin-top: 40px !important;
}

.mt50_25 {
	margin-top: 50px !important;
}

.mt60_30 {
	margin-top: 60px !important;
}

.mt70_35 {
	margin-top: 70px !important;
}

.mt80_40 {
	margin-top: 80px !important;
}

.mt90_45 {
	margin-top: 90px !important;
}

.mt100_50 {
	margin-top: 100px !important;
}

.mt120_60 {
	margin-top: 120px !important;
}

.mt130_65 {
	margin-top: 130px !important;
}

.mt140_70 {
	margin-top: 140px !important;
}

.mt150_75 {
	margin-top: 150px !important;
}

.mt200_100 {
	margin-top: 200px !important;
}

@media screen and (max-width: 1023px) {
	.mt30_15 {
		margin-top: 15px !important;
	}

	.mt40_20 {
		margin-top: 20px !important;
	}

	.mt50_25 {
		margin-top: 25px !important;
	}

	.mt60_30 {
		margin-top: 30px !important;
	}

	.mt70_35 {
		margin-top: 35px !important;
	}

	.mt80_40 {
		margin-top: 40px !important;
	}

	.mt90_45 {
		margin-top: 45px !important;
	}

	.mt100_50 {
		margin-top: 50px !important;
	}

	.mt120_60 {
		margin-top: 60px !important;
	}

	.mt130_65 {
		margin-top: 65px !important;
	}

	.mt140_70 {
		margin-top: 70px !important;
	}

	.mt150_75 {
		margin-top: 75px !important;
	}

	.mt200_100 {
		margin-top: 100px !important;
	}
}

/*----------------------------------------
	centering setting
-----------------------------------------*/
.ctr1240_80 {
	max-width: 1240px;
	width: calc(100% - 80px);
	margin: auto;
}

.ctr1000_80 {
	max-width: 1000px;
	width: calc(100% - 80px);
	margin: auto;
}

.ctr1000_60 {
	max-width: 1000px;
	width: calc(100% - 60px);
	margin: auto;
}

@media screen and (max-width: 1023px) {
	.ctr-40 {
		width: calc(100% - 40px) !important;
	}

	.ctr-60 {
		width: calc(100% - 60px) !important;
	}

	.ctr100per {
		width: 100% !important;
	}
}

/*----------------------------------------
	text align setting
-----------------------------------------*/
.ta_right {
	text-align: right !important;
}

/*----------------------------------------
	time-change
-----------------------------------------*/

#time-change a.l_red {
	text-decoration: underline;
}