@charset "UTF-8";


/* headline */
.hl02 {
	font-family : "Noto Serif JP", serif;
	font-size : 1.8em;
	font-weight : bold;
	line-height : 1.45;
	margin-bottom : 0.8em;
	color : #666666;
}
.hl02 .en {
	display : block;
	font-family : "Noto Serif JP", serif;
	font-size : 0.5em;
	font-weight : bold;
	font-style : italic;
	margin-top : 0.825em;
	color : #103e9a;
}
.hl03 {
	font-family : "Noto Serif JP", serif;
	font-size : 1.2em;
	font-weight : bold;
	line-height : 1.45;
	margin-bottom : 0.8em;
}


.hl02_l {
	position : relative;
	font-family : "Noto Serif JP", serif;
	font-size : 1.8em;
	font-weight : bold;
	line-height : 1.45;
	margin-bottom : 2em;
	text-align : center;
}
.hl02_l .en {
	display : block;
	font-family : "Noto Serif JP", serif;
	font-size : 0.5em;
	font-style : italic;
	margin-top : 1em;
	text-align : center;
	color : #103e9a;
}

.hl03_l {
	font-family : "Noto Serif JP", serif;
	font-size : 1.4em;
	font-weight : bold;
	line-height : 1.45;
	margin-bottom : 1.2em;
}

.hl03_l .en {
	display : block;
	font-family : "Noto Serif JP", serif;
	font-size : 0.785em;
	font-style : italic;
	transform : rotate(-15deg);
	transform-origin : center left;
	color : #043954;
}

.hl04_l {
	position : relative;
	font-family : "新ゴ B";
	font-size : 1em;
	font-weight : bold;
	line-height : 1.45;
	margin-bottom : 1.5em;
	padding-left : 32px;
	color : #103e9a;
}
.hl04_l::before {
	display : block;
	position : absolute;
	top : 50%;
	left : 0;
	width : 20px;
	height : 1px;
	content : "";
	transform : translateY(-50%);
	background-color : #103e9a;
}

.txtL {
	font-size : 1.4em;
}
.txtM {
	font-size : 1.2em;
}
.txtS {
	font-size : 0.8em;
}

/* button */
.linkBtn {
	display : block;
	position : relative;
	font-family : "Noto Serif JP", serif;
	font-size : 0.9em;
	padding : 16px 48px 16px 24px;
	cursor : pointer;
	transition : background-color 0.2s ease-out;
	text-decoration : none;
	letter-spacing : 0.2rem;
	color : #ffffff;
	border : 1px solid #103e9a;
	background-color : #103e9a;
}
.linkBtn:hover {
	text-decoration : none;
	color : #103e9a;
	border : 1px solid #103e9a;
	background-color : #ffffff;
}
.linkBtn::before {
	display : block;
	position : absolute;
	top : 50%;
	right : 20px;
	width : 10px;
	height : 10px;
	content : "";
	transform : translateX(-50%) translateY(-50%) rotate(45deg);
	border-top : 1px solid #ffffff;
	border-right : 1px solid #ffffff;
}
.linkBtn:hover::before {
	border-top : 1px solid #103e9a;
	border-right : 1px solid #103e9a;
}
.textlink {
	font-weight : bold;
	margin : 0 0.25em;
	text-decoration : underline;
}

.boxContainer_w {
	margin : 24px;
	padding : 60px;
	background-color : #ffffff;
}


/* table */

.hscroll {
	overflow-x : auto;
}

.hscroll .table01 {
	border-spacing : 0;
	border-collapse : collapse;
	white-space : nowrap;
}
.table01 tr th {
	font-size : 0.875em;
	padding : 1em;
	border-bottom : 1px solid #000000;
}
.table01 tr td {
	padding : 1.5em 1em;
	border-bottom : 1px solid #000000;
}



/* list */

#categoryList {
	display : flex;
	justify-content : center;
	margin-bottom : 32px;
}
#categoryList li {
	padding : 0 8px;
	border-left : 1px solid #222222;
}
#categoryList li.selected span,
#categoryList li a {
	font-family : bold;
	font-size : 0.875em;
	padding : 0.5em 1em;
	transition : background-color 0.3s ease-out;
	text-decoration : none;
	color : inherit;
	color : inherit;
	border-radius : 4px;
}
#categoryList li.selected span {
	color : #ffffff;
	background-color : #333333;
}
#categoryList li a:hover {
	background-color : #ffffff;
}
#categoryList li:first-child {
	border-left : none;
}
#categoryList li:last-child {
	margin-right : 0;
}

ul > li.mark,
dl > dd.mark {
	padding-left : 1em;
	text-indent : -1em;
}

.gridlist {
	display : grid;
	grid-template-columns : 1fr 1fr;
	grid-gap : 32px;
}

.gridlist > li {
	padding : 24px;
	border : 1px solid #cccccc;
	border-radius : 12px;
}



.list01 {
	margin-bottom : 60px;
}
.list01 > li:not(:last-child) {
	margin-bottom : 40px;
	padding-bottom : 40px;
	border-bottom : 1px dotted #000000;
}

.list02 {
	margin-bottom : 60px;
	border-top : 2px dotted #aaaaaa;
}
.list02 > li {
	padding : 40px 0;
}
.list02 > li:not(:last-child) {
	border-bottom : 2px dotted #aaaaaa;
}

.list03 {
	font-size : 0.875em;
	margin-bottom : 24px;
	padding : 1em;
	border-radius : 8px;
	background-color : #f3f3f3;
}
.list03 > li:not(:last-child) {
	margin-bottom : 0.5em;
}

.list04 {
	font-size : 0.875em;
	margin-bottom : 24px;
	padding : 1.2em;
	border-radius : 8px;
	background-color : #f3f3f3;
}
.list04 > dt {
	font-weight : bold;
}
.list04 > *:not(:last-child) {
	margin-bottom : 0.75em;
}

.list05 > li {
	position : relative;
	padding-left : 20px;
}
.list05 > li:not(:last-child) {
	margin-bottom : 0.5em;
}
.list05 > li::before {
	display : block;
	position : absolute;
	top : 50%;
	left : 0;
	width : 8px;
	height : 1px;
	content : "";
	transform : translateY(-50%);
	background-color : #777777;
}

/* box */
.box01 {
	margin : 8px 0;
	padding : 32px;
	border-radius : 6px;
	background-color : #f3f3f3;
}

.box02 {
	margin : 8px 0;
	padding : 32px;
	border : 4px solid #f3f3f3;
	border-radius : 6px;
}

.box03 {
	margin : 8px 0;
	padding : 32px;
	color : #4a3797;
	border-radius : 6px;
	background-color : #e2e0f9;
}
.box04 {
	margin : 8px 0;
	padding : 32px;
	color : #d92900;
	border-radius : 6px;
	background-color : #fff4f1;
}

/* text */
.leadtxt {
	margin-bottom : 2em;
}
.text > p:not(:last-child) {
	margin-bottom : 1em;
}
.txt_orange {
	color : #ce6202;
}
.txt_blue {
	color : #0082b5;
}
.txt_green {
	color : #1c7b27;
}
.txt_pink {
	color : #df5ab1;
}
.em_orange {
	font-weight : bold;
	margin : 0 0.25em;
	padding : 0.1em 0.25em;
	color : #ce6202;
	border-radius : 3px;
	background-color : #ffd5c5;
}
.em_blue {
	font-weight : bold;
	margin : 0 0.25em;
	padding : 0.1em 0.25em;
	color : #0082b5;
	border-radius : 3px;
	background-color : #d5f2fb;
}
.em_green {
	font-weight : bold;
	margin : 0 0.25em;
	padding : 0.1em 0.25em;
	color : #1c7b27;
	border-radius : 3px;
	background-color : #d2f0d5;
}
.em_pink {
	font-weight : bold;
	margin : 0 0.25em;
	padding : 0.1em 0.25em;
	color : #df5ab1;
	border-radius : 3px;
	background-color : #ffe4f6;
}

.marker {
	background : linear-gradient(transparent 70%, #e9a90070 70%);
}



.xo-event-calendar {
	padding : 40px;
	border : 1px solid #cccccc;
	border-radius : 12px;
}
.xo-event-calendar table.xo-month caption {
	margin-bottom : 12px;
}
.xo-event-calendar a {
	text-decoration : none;
}
.xo-event-calendar table.xo-month .month-header {
	font-size : 0.75em !important;
	margin-bottom : 0.5em;
}
.xo-event-calendar table.xo-month {
	padding : 0.5em;
	border : none !important;
	border-radius : 0.25em;
	border-spacing : 6px;
	background-color : #ffffff;
}
.xo-event-calendar table.xo-month th {
	font-size : 0.725em !important;
	font-weight : normal;
	line-height : 1;
	padding : 0.5em 0.25em;
	padding-bottom : 1em;
	text-align : center;
	letter-spacing : 1px;
	color : #222222;
	border : none !important;
	border-collapse : collapse;
	vertical-align : middle;
}
.xo-event-calendar table.xo-month td {
	font-size : 0.875em !important;
	line-height : 1;
	text-align : center;
	letter-spacing : 1px;
	color : #222222;
	border : none !important;
	border-collapse : collapse;
	vertical-align : middle;
}
.xo-event-calendar table.xo-month > thead th.sunday {
	color : #d54242 !important;
}
.xo-event-calendar table.xo-month > thead th.saturday {
	color : #043954 !important;
}
.xo-event-calendar table tbody td {
	position : relative;
	font-weight : bold;
	line-height : 1;
	text-align : center;
	vertical-align : middle;
}
.xo-event-calendar table.xo-month .month-dayname-space {
	display : none;
}
.xo-event-calendar table.xo-month .month-week {
	overflow : visible !important;
}
.xo-event-calendar table.xo-month .month-week .month-dayname td div {
	display : flex;
	font-size : 1.2em !important;
	justify-content : center;
	width : 100%;
	height : auto !important;
	padding : 0.5em 0.25em;
	border-radius : 4px;
}
.xo-event-calendar table.xo-month .month-dayname {
	position : unset !important;
}
.xo-event-calendar table.xo-month .month-dayname td div.today {
	color : #222222 !important;
}
.xo-event-calendar table tbody td .holiday-close {
	color : #ffffff !important;
}
.xo-event-calendar table tbody td .month-dayname td div.holiday-close.today {
	color : #ffffff !important;
}
.xo-event-calendar table.xo-month .month-event-title {
	padding : 0.25em !important;
}

.xo-event-calendar table.month-event {
	border-collapse : collapse;
}
.xo-event-calendar table.xo-month .month-event td {
	padding : 0 !important;
}
.xo-event-calendar table.xo-month .month-event-space {
	display : none;
	height : 0.75em !important;
}
.xo-event-calendar table.xo-month .month-event a {
	display : block;
	margin-top : 6px;
}


/* --- for 2K or more pc --- */
@media screen and (min-width: 1980px) {
}

/* --- for HD pc --- */
@media screen and (min-width: 1440px) and (max-width: 1979px) {
}

/* --- for normal pc --- */
@media screen and (min-width: 1024px) and (max-width: 1439px) {
}

/* --- for tablet --- */
@media screen and (min-width: 768px) and (max-width: 1023px) {
}

/* --- for mobile --- */
@media screen and (max-width: 767px) {
	.boxContainer_w {
		margin-right : 0;
		margin-left : 0;
		padding : 32px;
	}
}
