@charset "utf-8";
/* CSS Document */

html,body { -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; word-wrap: break-word; overflow-wrap : break-word; height: 100%; scroll-behavior: smooth; }
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,button,textarea,p,blockquote,th,td,a,img,figure,section { margin: 0; padding: 0; }
article,aside,canvas,details,figcaption,figure,header,footer,hgroup,menu,nav,section,summary,main { display: block; }
table							{ border-collapse: collapse; border-spacing: 0; }
caption,th						{ text-align: left; font-weight: normal;}
q:before,q:after				{ content: '';}
object,embed					{ vertical-align: top;}
hr								{ border: none;}
h1,h2,h3,h4,h5,h6				{ font-size: 100%; font-weight: normal;}
img,abbr,acronym,fieldset,button{ border: 0;}
img								{ vertical-align: bottom; line-height: 0; max-width: 100%; height: auto;}
ul li							{ list-style-type: none;}
a,label							{ cursor: pointer;}
body							{ _display: inline; _zoom: 1;}
a								{ text-decoration: none; color: inherit; }
a:active						{ text-decoration: none; /*color: inherit;*/ }
a:visited						{ text-decoration: none; color: inherit; }
a:hover							{ text-decoration: none; /*color: inherit;*/ }
a:focus, *:focus				{ outline:none; }
input,textarea,select,button	{ font-size: 100%; font-weight: normal; }
input,textarea,select			{ background: none; border: none; outline: none; border-radius: 0; }
del								{ text-decoration: none; }
i, em, cite, dfn, var, address	{ font-style: normal; }


/* Box-sizing (padding + border)
------------------------------ */
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

/* User-select
------------------------------ */
.us {
	-ms-user-select: none !important;
	-webkit-user-select: none !important;
	-moz-user-select: none !important;
	user-select: none !important;
	cursor: default !important;
	text-decoration: none !important;
}
.us:hover { color: inherit !important; text-decoration: none !important; cursor: default !important; }

/* Delete margin for box show
------------------------------ */
.dm { font-size: 0; }

/* Text-align
------------------------------ */
.ta-l { text-align: left; }
.ta-c { text-align: center; }
.ta-r { text-align: right; }

@media screen and (max-width: 1024px) {
	.ta-c-sd { text-align: center; }
}

/* Text-Space
------------------------------ */
.ls01 { letter-spacing: 0.01em; }
.ls02 { letter-spacing: 0.02em; }
.ls03 { letter-spacing: 0.03em; }
.ls04 { letter-spacing: 0.04em; }
.ls05 { letter-spacing: 0.05em; }
.ls06 { letter-spacing: 0.06em; }
.ls07 { letter-spacing: 0.07em; }
.ls08 { letter-spacing: 0.08em; }
.ls09 { letter-spacing: 0.09em; }
.ls10 { letter-spacing: 0.10em; }

/* Ratio Private Access % + em
------------------------------ */
.lh-1	{ line-height: 1; }
.lh-11	{ line-height: 1.13; }
.lh-s	{ line-height: 1.21; }
.lh-y	{ line-height: 1.41; }
.lh-g	{ line-height: 1.61; }
.lh-p	{ line-height: 1.73; }
.lh-t	{ line-height: 1.93; }
.lh-2	{ line-height: 2.00; }
.lh-22	{ line-height: 2.23; }
.lh-s2	{ line-height: 2.41; }
.lh-g2	{ line-height: 2.61; }
.lh-g3	{ line-height: 3.61; }

/* Text-Indentation
------------------------------ */
.ti00	{ text-indent: -1.0em; padding-left: 1.0em; }
.ti01	{ text-indent: -1.1em; padding-left: 1.1em; }
.ti02	{ text-indent: -1.2em; padding-left: 1.2em; }
.ti03	{ text-indent: -1.3em; padding-left: 1.3em; }
.ti04	{ text-indent: -1.4em; padding-left: 1.4em; }
.ti05	{ text-indent: -1.5em; padding-left: 1.5em; }
.ti06	{ text-indent: -1.6em; padding-left: 1.6em; }
.ti07	{ text-indent: -1.7em; padding-left: 1.7em; }
.ti08	{ text-indent: -1.8em; padding-left: 1.8em; }
.ti09	{ text-indent: -1.9em; padding-left: 1.9em; }

/* Text-Indentation
------------------------------ */
.l-ti00 > * { text-indent: -1.0em; padding-left: 1.0em; }
.l-ti01 > * { text-indent: -1.1em; padding-left: 1.1em; }
.l-ti02 > * { text-indent: -1.2em; padding-left: 1.2em; }
.l-ti03 > * { text-indent: -1.3em; padding-left: 1.3em; }
.l-ti04 > * { text-indent: -1.4em; padding-left: 1.4em; }
.l-ti05 > * { text-indent: -1.5em; padding-left: 1.5em; }
.l-ti06 > * { text-indent: -1.6em; padding-left: 1.6em; }
.l-ti07 > * { text-indent: -1.7em; padding-left: 1.7em; }
.l-ti08 > * { text-indent: -1.8em; padding-left: 1.8em; }
.l-ti09 > * { text-indent: -1.9em; padding-left: 1.9em; }

/* Image-size
------------------------------ */
.mw	{ max-width: 100%; }	/* Parent Attention */
.iw	{ width: 100%; }		/* infin-width */

/*
*:has(.mw){ text-align: center; }
:has(.mw){ margin: auto; }
*/

.c2-c1-10 > * { gap: 10px; width: calc(50% - 5px); }

@media screen and (max-width: 1024px) {
	.c2-c1-10 > * { gap: 10px; width: 100%; }
}

/* Media
----------------------------------*/
.pc 		{ display: inherit; }
.pc.inline	{ display: inline; }
.lap 		{ display: inherit; }
.lap.inline	{ display: inline; }
.tb 		{ display: inherit; }
.tb.inline	{ display: inline; }
.sd			{ display: none; }
.sd.inline	{ display: none; }
.tab		{ display: none; }
.tab.inline	{ display: none; }
.sp			{ display: none; }
.sp.inline	{ display: none; }
.i47		{ display: none; }
.i47.inline	{ display: none; }
.i40		{ display: none; }
.i40.inline	{ display: none; }
/*
@media screen and (min-width: 769px) and (max-width: 959px) { .tab { display: inherit; } }
*/
@media screen and (min-width: 1025px) and (max-width: 1279px) {
.lap		{ display: inherit; }
.lap.inline { display: inline; }
}
@media screen and (max-width: 1024px) {
.pc 		{ display: none; }
.pc.inline	{ display: none; }
.lap 		{ display: none; }
.lap.inline	{ display: none; }
.sd			{ display: inherit; }
.sd.inline	{ display: inline; }
.fl, .fr	{ float: none; width: 100%; }
}
@media screen and (min-width: 600px) and (max-width: 1024px) {
.tab		{ display: inherit; }
.tab.inline	{ display: inline; }
}
@media screen and (max-width: 600px) {
.tb 		{ display: none; }
.tb.inline	{ display: none; }
.sp			{ display: inherit; }
.sp.inline	{ display: inline; }
}
@media screen and (max-width: 375px) {
.i47		{ display: inherit; }
.i47.inline	{ display: inline; }
}
@media screen and (max-width: 320px) {
.i40		{ display: inherit; }
.i40.inline	{ display: inline; }
}

/* Aspect Ratio
----------------------------------*/
/*
.ar			{ position: relative; width: 100%; }
.ar-1609	{ padding: 56.25% 0 0 0; }
.ar iframe	{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
*/

/* Absolute Position
----------------------------------*/
.acc { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
.act { position: absolute; top: 0%; left: 50%; -webkit-transform: translate(0%, -50%); transform: translate(0%, -50%); }
.acb { position: absolute; bottom: 0%; left: 50%; -webkit-transform: translate(-50%, 0%); transform: translate(-50%, 0%); }
.acr { position: absolute; top: 50%; right: 0%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.ah { position: absolute; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.av { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }

/* Flexbox
------------------------------ */
/* 基本設定 */
.f		{ display: flex; }
.f-n	{ display: flex; flex-wrap: nowrap; }
.f-w	{ display: flex; flex-wrap: wrap; }

/* 方向 */
.f-c	{ flex-direction: column; }
.f-r	{ flex-direction: row; }

/* 垂直 */
.f-as	{ align-items: flex-start; }
.f-ac	{ align-items: center; }
.f-ae   { align-items: flex-end; }

/* 水平 */
.f-jc	{ justify-content: center; }
.f-js	{ justify-content: flex-start; }
.f-je	{ justify-content: flex-end; }
.f-jb	{ justify-content: space-between; }
.f-ja	{ justify-content: space-around; }

/* Underline
------------------------------ */
.lined {
	text-decoration-color: inherit;
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: calc(100% / (2*10) + 0.2em);
}
.edged {
	display: inline-block;
	background-image: linear-gradient(to right, #053c82 2px, #053c82 2px);
	background-size: 100% 1px;
	background-repeat: repeat-x;
	background-position: left bottom;
}
.dashed {
	display: inline-block;
	background-image: linear-gradient(to right, rgba(255,255,255,1.0) 4px, transparent 4px);
	background-size: 8px 1px;
	background-repeat: repeat-x;
	background-position: left bottom;
}
.dotted {
	display: inline-block;
	background-image: linear-gradient(to right, rgba(255,0,0,0.5) 4px, transparent 4px);
	background-size: 8px 4px; /*セットの幅と高　幅を上記で振り分ける*/
	background-repeat: repeat-x;
	background-position: left bottom;
}