@charset "utf-8";

/*=====================================
common.css
=====================================*/

.unit ul {
	padding: 0;
	overflow: hidden;
}
.unit ul li {
	position: relative;
	padding-left: 20px;
	padding-bottom: 20px;
}
.unit ul li:before {
	content: "";
	position: absolute;
	top: 15px;
	left: 0;
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #27549e;
}
.unit ol {
	padding: 0 0 0 23px;
	list-style: decimal;
	overflow: hidden;
}
.unit ol li {
	padding-bottom: 20px;
}
.unit ol li::marker {
	color: #27549e;
	font-weight: bold;
}

.unit table {
	width: 100%;
	/*margin: 0 0 30px 0;*/
}
.unit table th,
.unit table td {
	padding: 12px 10px;
	text-align: left;
	vertical-align: top;
	border: 1px solid #333;
}
.unit table th {
	width: 18%;
	font-weight: bold;
	background: #f9f9f9;
}
.unit table caption {
	padding: 0 0 5px 0;
	font-size: 14px;
	text-align: right;
}

.icnBlank {
	width: 16px;
	margin-left: 10px;
	vertical-align: baseline;
}
.icnFile {
	width: 16px;
	margin-left: 10px;
	vertical-align: baseline;
}
.icnBtn01 {
	display: inline-block;
}
.icnBtn01 a {
	position: relative;
	display: block;
	min-width: 50px;
	padding: 52px 0 0 0;
	color: #656565;
	font-size: 15px;
	text-align: center;
}
.icnBtn01 a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: url(../images/icn_book02.svg) no-repeat center center / 30px auto #f9f9f9;
}


/*-------------------------------------
 section
-------------------------------------*/
.section {
	padding: 0 0 60px 0;
}
.sectionBg01 {
	padding-top: 60px;
	background-color: #f9f9f9;
}
.sectionBg02 {
	margin-bottom: 60px;
	padding-top: 60px;
	background-color: #f9f9f9;
}

.sectionTitle01 {
	padding: 0 0 30px 0;
	text-align: center;
}
.sectionTitle01 h1,
.sectionTitle01 h2 {
	margin: 0 0 5px 0;
	color: #333;
	font-size: 32px;
	letter-spacing: 0.1em;
}
.sectionTitle01 h3,
.sectionTitle01 .subtitle {
	margin: 0 0 5px 0;
	color: #27549e;
	font-size: 22px;
	font-weight: bold;
}

.sectionTitle01 .upDate {
	text-align: right;
    color: #686868;
    font-size: 80%;
	}
.sectionTitle01 .catch {
	margin: 5px 0 0 0;
	font-size: 22px;
}

.sectionTitle01.titleSend {
	padding-top: 40px;
	background: url(../images/icn_send01.svg) no-repeat center top / 37px auto;
}
.sectionTitle01.titleCalendar {
	padding-top: 40px;
	background: url(../images/icn_calendar01.svg) no-repeat center top / 34px auto;
}
.sectionTitle01.titleCart {
	padding-top: 46px;
	background: url(../images/icn_cart03.svg) no-repeat center top / 36px auto;
}

.sectionTitle01.titlePamph {
	padding-top: 46px;
	background: url(../images/icn_pamph.svg) no-repeat center top / 36px auto;
}

.sectionTitle01.titleKouza {
	padding-top: 46px;
	background: url(../images/icn_kouza01.svg) no-repeat center top / 34px auto;
}
.sectionTitle01.titleKoushi {
	padding-top: 46px;
	background: url(../images/icn_koushi01.svg) no-repeat center top / 34px auto;
}
.sectionTitle01.titleCompass {
	padding-top: 40px;
	background: url(../images/icn_compass01.svg) no-repeat center top / 34px auto;
}
.sectionTitle01.titleVoice {
	padding-top: 40px;
	background: url(../images/icn_voice01.svg) no-repeat center top / 42px auto;
}
.sectionTitle01.titleSchool {
	padding-top: 46px;
	background: url(../images/icn_school02.svg) no-repeat center top / 42px auto;
}


.sectionLead01 {
	padding: 0 0 30px 0;
	line-height: 1.9;
	text-align: center;
}


/*-------------------------------------
 title
-------------------------------------*/
.pageTitle01 {
	padding: 30px 0;
	color: #fff;
	font-size: 38px;
	font-weight: bold;
	letter-spacing: 0.2em;
	text-align: center;
}

.cmnTitle01 {
	position: relative;
	margin: 0 0 25px 0;
	padding: 0 0 0 38px;
	color: #333;
	font-size: 28px;
	font-weight: bold;
}
.cmnTitle01:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 7px;
	background: #27549e;
}
.cmnTitle02 {
	margin: 0 0 40px 0;
	color: #27549e;
	font-size: 26px;
	font-weight: bold;
}
.cmnTitle03 {
	margin: 0 0 20px 0;
	color: #27549e;
	font-size: 22px;
	font-weight: bold;
}
.cmnTitle04 {
	margin: 0 0 15px 0;
	color: #27549e;
	font-size: 20px;
	font-weight: bold;
}
.cmnTitle05 {
	margin: 0 0 20px 0;
	color: #27549e;
	font-size: 18px;
	font-weight: bold;
}

.icnTitle01,
.icnTitle02 {
	margin: 0 0 20px 0;
	padding: 0 0 12px 34px;
	color: #333;
	font-size: 22px;
	font-weight: bold;
	border-bottom: 3px solid #27549e;
}
.icnTitle01 {
	background: url(../images/icn_clip01.svg) no-repeat 0 5px / 22px auto;
}
.icnTitle02 {
	background: url(../images/icn_kouza01.svg) no-repeat 0 6px / 24px auto;
}

.barTitle01 {
	position: relative;
	margin: 0 0 25px 0;
	padding: 5px 5px 5px 25px;
	color: #333;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.1em;
	background: #f9f9f9;
}
.barTitle01:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 7px;
	background: #27549e;
}
.barTitle01 .icnNew {
	margin: 0 0 0 5px;
	letter-spacing: 0;
}


/*-------------------------------------
 unit
-------------------------------------*/
.unit {
	padding: 0 0 30px 0;
}
.unitBlock01 {
	padding: 0 15px 15px 15px;
	color: #333;
	font-size: 18px;
	line-height: 1.8;
}
.unitBlock01:after {
	content: "";
	clear: both;
	display: block;
}
.unitBlock01 a {
	text-decoration: underline;
}
.unit p {
	padding: 0 0 30px 0;
}


/*-------------------------------------
 list
-------------------------------------*/
.anchorList01 {
	margin: 0 0 50px 0;
	background: #eef2f9;
}
.anchorList01 ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 18px 0 8px;
	font-size: 18px;
	font-weight: bold;
	list-style: none;
}
.anchorList01 ul li {
	margin: 0 19px 10px;
	padding: 0 0 0 19px;
	background: url(../images/icn_arw05.svg) no-repeat 0 10px / 11px auto;
}
.anchorList01 ul li:before {
	content: none;
}
.anchorList01 .icnNew {
	margin: 0 0 0 5px;
}

.movList01 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -53px 20px 0;
}
.movList01 .col {
	width: 33.333%;
	padding: 0 53px 50px 0;
	flex-shrink: 0;
}
.movList01 .movie {
	position: relative;
	aspect-ratio: 16 / 9;
}
.movList01 .movie iframe,
.movList01 .movie video {
	width: 100%;
	height: 100%;
}
.movList01 .title {
	padding: 7px 0 0 0;
	font-size: 16px;
	font-weight: bold;
}

.arwList01 {
	padding: 0 0 50px 0;
}
.arwList01 ul {
	margin: 0;
	padding: 0 20px;
	list-style: none;
}
.arwList01 ul li {
	margin: 0 0 15px 0;
	padding: 0 0 0 18px;
	font-size: 18px;
	font-weight: bold;
	background: url(../images/icn_arw02.svg) no-repeat 0 8px / 9px auto;
}

.arwList01 ul li.stopped a {
	color: #999;
	}
.arwList01 ul li:before {
	content: none;
}
.arwList01 ul li img {
	width: 14px;
	margin-left: 8px;
	vertical-align: middle;
}

.arwList02 {
	padding: 0 0 40px 0;
}
.arwList02 ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid #d0d0d0;
}
.arwList02 ul li {
	padding: 15px 0 15px 18px;
	font-size: 18px;
	border-top: 1px solid #d0d0d0;
	background: url(../images/icn_arw02.svg) no-repeat 0 23px / 8px auto;
}
.arwList02 ul li:before {
	content: none;
}
.arwList02 ul li .title {
	font-size: 18px;
	font-weight: bold;
}

.arwList03 {
	padding: 0 0 30px 0;
}
.arwList03 ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.arwList03 ul li {
	margin: 0 0 15px 0;
	padding: 0 0 0 18px;
	font-size: 18px;
	font-weight: bold;
	background: url(../images/icn_arw02.svg) no-repeat 0 8px / 9px auto;
}
.arwList03 ul li:before {
	content: none;
}
.arwList03 ul li img {
	width: 14px;
	margin-left: 8px;
	vertical-align: middle;
}

.arwList04 {
	padding: 0 0 30px 0;
}
.arwList04 ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.arwList04 ul li {
	margin: 0 0 15px 0;
	padding: 0 0 0 18px;
	font-weight: bold;
	line-height: 1.5;
	background: url(../images/icn_arw07.svg) no-repeat 0 7px / 7px auto;
}
.arwList04 ul li:before {
	content: none;
}
.arwList04 ul li img {
	width: 14px;
	margin-left: 8px;
	vertical-align: middle;
}

.arwList05 {
	padding: 0 0 30px 0;
}
.arwList05 ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}
.arwList05 ul li {
	width: calc(50% - 40px);
	margin: 0 20px 15px 20px;
	padding: 0 0 0 18px;
	font-size: 18px;
	font-weight: bold;
	background: url(../images/icn_arw02.svg) no-repeat 0 8px / 9px auto;
	flex-shrink: 0;
}
.arwList05 ul li:before {
	content: none;
}
.arwList05 ul li img {
	width: 14px;
	margin-left: 8px;
	vertical-align: middle;
}

.cardList01 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -25px 0 0;
}
.cardList01 .col {
	width: 20%;
	padding: 0 25px 30px 0;
	flex-shrink: 0;
}
.cardList01 .card {
	display: block;
	padding: 12px;
	cursor: pointer;
	color: #333;
	text-align: center;
	text-decoration: none;
	border: 3px solid #dcdcdc;
}
.cardList01 figure {
	margin: 0 0 12px 0;
}
.cardList01 .profile {
	font-size: 15px;
	line-height: 1.3;
}
.cardList01 .name {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.3;
}

.cardList02 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -4px 0 0;
}
.cardList02 .col {
	width: 25%;
	padding: 10px 4px 10px 0;
	flex-shrink: 0;
}
.cardList02 .card {
	display: block;
	min-height: 320px;
	height: 100%;
	color: #333;
	background: #fff;
}
.cardList02 .head a {
	position: relative;
	display: block;
	padding: 10px 10px 10px 28px;
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	background: #999;
}
.cardList02 .head a:before {
	content: "";
	display: block;
	position: absolute;
	top: 10px;
	left: 11px;
	bottom: 10px;
	width: 5px;
	background: rgba(255,255,255,0.5);
}
.cardList02 .item {
	padding: 15px;
}
.cardList02 figure {
	margin: 0 0 15px 0;
	text-align: center;
}
.cardList02 .txt {
	margin: 0 0 10px 0;
	font-size: 16px;
}
.cardList02 .link {
	margin: 0 0 10px 0;
	padding: 0 0 0 16px;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.5;
	background: url(../images/icn_arw07.svg) no-repeat 0 6px / 7px auto;
}

.cardList03 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -20px 0 0;
	padding: 0 0 50px 0;
}
.cardList03 .col {
	width: 50%;
	padding: 10px 20px 10px 0;
	flex-shrink: 0;
}
.cardList03 .card {
	display: block;
	height: 100%;
	padding: 20px;
	background: #f9f9f9;
}


.infoList01 {
	margin: 0 0 40px 0;
	padding: 15px 0 0 0;
	border-bottom: 1px solid #d0d0d0;
}
.infoList01 .row {
	padding: 16px 0;
	border-top: 1px solid #d0d0d0;
}
.infoList01 .head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.infoList01 .date {
	margin: 0 18px 5px 0;
	color: #27549e;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.infoList02 {
	margin: 0 0 40px 0;
	padding: 15px 0 0 0;
	border-bottom: 1px solid #d0d0d0;
}
.infoList02 .row {
	display: flex;
	align-items: flex-start;
	padding: 26px 0;
	border-top: 1px solid #d0d0d0;
}
.infoList02 .head {
	display: flex;
}
.infoList02 .date {
	width: 120px;
	flex-shrink: 0;
	color: #27549e;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.infoList02 .category {
	width: 72px;
	flex-shrink: 0;
}
.infoList02 .category em {
	display: inline-block;
	width: 60px;
	margin: 4px 0 0 0;
	padding: 0 2px;
	color: #27549e;
	font-size: 12px;
	line-height: 1.3;
	text-align: center;
	vertical-align: top;
	border: 1px solid #27549e;
}
.infoList02 .txt {
	flex: 1;
	line-height: 1.5;
}
.infoList02 .txt span {
	display: inline-block;
	width: 60px;
	margin: 4px 12px 0 0;
	padding: 0 2px;
	color: #27549e;
	font-size: 12px;
	line-height: 1.3;
	text-align: center;
	vertical-align: top;
	border: 1px solid #27549e;
}


.icnCat {
	display: inline-block;
	min-width: 85px;
	margin: 0 5px 5px 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	vertical-align: middle;
	border-width: 2px;
	border-style: solid;
}
.icnNew {
	display: inline-block;
	margin: 0 5px 5px 0;
	padding: 2px 5px;
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	vertical-align: middle;
	background: #fe2635;
}
.icnType {
	display: inline-block;
	min-width: 85px;
	margin: 0 5px 5px 0;
	padding: 0 2px;
	color: #27549e;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	vertical-align: middle;
	border: 2px solid #27549e;
}

.icnList01 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -5px 0 0;
	padding: 0 0 30px 0;
	list-style: none;
}
.icnList01.icnListR {
	justify-content: flex-end;
}

.ttlList01 {
	padding: 0 20px;
}
.ttlList01 .row {
	display: flex;
	padding: 0 0 10px 0;
}
.ttlList01 .title {
	width: 25%;
	color: #27549e;
	font-weight: bold;
	flex-shrink: 0;
}

.noteList01 {
	padding: 0 0 30px 0;
}
.noteList01 ul li {
	display: flex;
	justify-content: center;
	margin: 0 0 10px 0;
	font-size: 14px;
}
.noteList01 ul li .mark {
	width: 1em;
	margin: 0 5px 0 0;
	flex-shrink: 0;
}
.noteList02 {
	padding: 0 0 30px 0;
}
.noteList02 ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.noteList02 ul li {
	display: flex;
	margin: 0 0 10px 0;
	padding: 0;
	font-size: 14px;
}
.noteList02 ul li:before {
	content: none;
}
.noteList02 ul li .mark {
	width: 1em;
	margin: 0 5px 0 0;
	flex-shrink: 0;
}
.noteList03 {
	padding: 0 0 30px 0;
}
.noteList03 ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.noteList03 ul li {
	position: relative;
	display: flex;
	margin: 0 0 10px 0;
	padding: 0 0 0 1.5em;
	font-size: 14px;
}
.noteList03 ul li:before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
}

.jukenList01 {
	padding: 0 0 30px 0;
}
.jukenList01 ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -11px 0 0;
	padding: 0;
	list-style: none;
}
.jukenList01.jukenListR ul {
	justify-content: flex-end;
}
.jukenList01 ul li {
	margin: 0 11px 16px 0;
	padding: 0;
}
.jukenList01 ul li:before {
	content: none;
}
.jukenList01 ul li a {
	display: block;
	padding: 1px 13px;
	color: #fff;
	font-size: 15px;
	text-decoration: none;
	border-radius: 3px;
	background: #27549e;
	border: 2px solid #27549e;	
}

.jukenList01 ul li.current a {
		background: #fff;
	    color: #27549e;
	border: 2px solid #27549e;
	font-weight: bold;
}

.tagList01 {
	padding: 0 0 30px 0;
}
.tagList01 ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -11px 0 0;
	padding: 0;
}
.tagList01.tagListR ul {
	justify-content: flex-end;
}
.tagList01 ul li {
	margin: 0 11px 16px 0;
	padding: 0;
}
.tagList01 ul li:before {
	content: none;
}
.tagList01 ul li a {
	display: block;
	padding: 1px 13px;
	color: #27549e;
	font-size: 15px;
	text-decoration: none;
	border-radius: 20px;
	background: #e3e3e3;
	border: 2px solid #e3e3e3;
}

.tagList01 ul li.current a {
	background: #fff;
	border: 2px solid #27549e;
	font-weight: bold;
}

.clmList01 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -20px;
}
.clmList01 .col {
	width: 50%;
	padding: 0 20px 30px;
	flex-shrink: 0;
}


/*-------------------------------------
 table
-------------------------------------*/
.cmnTable01 {
	padding: 0 0 30px 0;
}
.cmnTable01 table {
	width: 100%;
	/*margin: 0 0 30px 0;*/
}
.cmnTable01 table th,
.cmnTable01 table td {
	padding: 12px 10px;
	text-align: left;
	vertical-align: top;
	border: 1px solid #333;
}
.cmnTable01 table th {
	width: 18%;
	font-weight: bold;
	background: #f9f9f9;
}
.cmnTable01 table caption {
	padding: 0 0 5px 0;
	font-size: 14px;
	text-align: right;
}

.cmnTable02 {
	/*padding: 0 0 50px 0;*/
}
.cmnTable02 table {
	width: 100%;
	margin: 0 0 30px 0;
	font-size: 15px;
}
.cmnTable02 table th,
.cmnTable02 table td {
	padding: 9px 6px;
	text-align: left;
	vertical-align: top;
	border: 1px solid #333;
}
.cmnTable02 table th {
	width: auto;
	font-weight: bold;
	background: #f9f9f9;
}

.cmnTable03 {
	padding: 0 0 25px 0;
}
.cmnTable03 table {
	width: 100%;
	font-size: 16px;
	/*margin: 0 0 30px 0;*/
}
.cmnTable03 table th,
.cmnTable03 table td {
	padding: 10px 9px;
	text-align: left;
	vertical-align: top;
	border: 1px solid #333;
}
.cmnTable03 table th {
	width: 18%;
	font-weight: bold;
	background: #f9f9f9;
}
.cmnTable03 table caption {
	padding: 0 0 5px 0;
	font-size: 14px;
	text-align: right;
}

table.tableAlignC th,
table.tableAlignC td {
	text-align: center;
}
table.tableValignM th,
table.tableValignM td {
	vertical-align: middle;
}


/*-------------------------------------
 btn
-------------------------------------*/
.btnBlock01 {
	/*padding: 0 0 50px 0;*/
	justify-content: center;
	display: flex;
	gap: 1%;
}
.btnStyle01,
.btnStyle02 {
	margin: 0 0 32px 0;
	text-align: center;
	width: 33%;
}
.btnStyle01 a,
.btnStyle01 button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	/*max-width: 380px;*/
	min-height: 64px;
	margin: 0 auto;
	cursor: pointer;
	color: #fff;
	font-family: 'Roboto', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","BIZ UDPGothic", Meiryo, sans-serif;;
	font-size: 18px;
	font-weight: 500;
	text-decoration: none;
	border: none;
	background: url(../images/icn_arw03.svg) no-repeat right 20px center / 11px auto #333;
}

.btnStyle01.inactive a,
.btnStyle01.inactive button {
	cursor: none;
	pointer-events: none;
	opacity: 0.3;
	}

.btnStyle02 a,
.btnStyle02 button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 380px;
	min-height: 64px;
	margin: 0 auto;
	cursor: pointer;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	border: none;
	background: url(../images/icn_arw03.svg) no-repeat right 20px center / 11px auto #27549e;
}
.btnStyle01.btnFile a {
	background-image: url(../images/icn_file02.svg);
	background-size: 16px auto;
}
.btnStyle01.btnBlank a {
	background-image: url(../images/icn_blank02.svg);
	background-size: 17px auto;
}
.btnStyle01.btnBack button {
	background-image: url(../images/icn_back01.svg);
	background-size: 19px auto;
}



/*-------------------------------------
 カテゴリーTOP　バナー
-------------------------------------*/
/*-------------------------------------
 slide
-------------------------------------*/
.slideArea{
	margin-bottom: 60px;
	}
.slideArea .slick-dots {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.slideArea .slick-dots li {
	padding: 5px 10px;
	line-height: 10px;
}
.slideArea .slick-dots li button {
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	line-height: 10px;
	text-indent: 200%;
	white-space: nowrap;
	border-radius: 50%;
	border: none;
	background: #d2d2d2;
	overflow: hidden;
}
.slideArea .slick-dots li.slick-active button {
	background: #333;
}



.courseBnr {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
	}

.courseBnr a {
	display: block;
	width: 49%;
	border: 4px solid #27549e;
	color: #27549e;
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
	font-weight: bold;
	font-size: 30px;
	background: url(../images/icn_arw02.svg) no-repeat right 20px center / 11px auto #fff;
	transition: 0.3s;
	}

.courseBnr a:hover {
	opacity: 0.7;
	text-decoration: none;
	}
.courseBnr a span {
	display: block;
	font-size: 20px;
	}


/*-------------------------------------
 box
-------------------------------------*/
.frameBox01,
.frameBox02 {
	position: relative;
	min-height: 90px;
	margin: 0 0 40px 0;
	padding: 23px 23px 23px 133px;
	border-width: 3px;
	border-style: solid;
	overflow: hidden;
}
.frameBox01.nopic,
.frameBox02.nopic {
	padding-left: 23px;
}
.frameBox01 .pic,
.frameBox02 .pic {
	position: absolute;
	top: 23px;
	left: 23px;
	max-width: 90px;
}
.frameBox01 h4,
.frameBox02 h4 {
	margin: 0 0 5px 0;
	color: #333;
	font-size: 24px;
	font-weight: bold;
}
.frameBox01 .txt p,
.frameBox02 .txt p {
	padding: 0 0 10px 0;
	color: #666;
	line-height: 2;
}
.frameBox01 .name,
.frameBox02 .name {
	color: #777;
	font-size: 15px;
	text-align: right;
}
.frameBox01 {
	border-color: #27549e;
}
.frameBox02 {
	border-color: #dcdcdc;
}


/*-------------------------------------
 category
-------------------------------------*/
.categoryMenu {
	padding: 90px 0;
}
.categoryBox {
	padding: 7px;
	border: 3px solid #dcdcdc;
}
.categoryTitle {
	margin: 0 0 10px 0;
	padding: 10px;
	color: #fff;
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: center;
	background-color: #27549e;
}
.categoryList ul {
	display: flex;
	flex-wrap: wrap;
	padding: 25px 20px 0;
}
.categoryList ul li {
	width: 50%;
	padding: 0 30px 25px;
	flex-shrink: 0;
}
.categoryList ul li a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 70px;
	height: 100%;
	padding: 10px 10px 10px 29px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.3;
	background: #f9f9f9;
}
.categoryList ul li a:before {
	content: "";
	position: absolute;
	top: 9px;
	bottom: 9px;
	left: 11px;
	width: 5px;
	background: #27549e;
}


/*-------------------------------------
 flow
-------------------------------------*/
.flowBlock {
	max-width: 1000px;
	margin: 0 auto;
}
.flowTitle {
	display: flex;
	align-items: flex-start;
	margin: 0 0 20px 0;
	font-weight: bold;
}
.flowTitle .num {
	display: inline-block;
	width: 27px;
	height: 27px;
	margin: 0 10px 0 0;
	color: #fff;
	line-height: 27px;
	text-align: center;
	border-radius: 50%;
	background: #27549e;
	flex-wrap: wrap;
}
.flowBox {
	margin: 0 0 50px 0;
	padding: 35px 33px;
	text-align: center;
	border: 5px solid #f6f6f6;
	background: #fff;
}
.flowBlock select {
	width: 500px;
	height: 52px;
	margin: 0 auto;
	padding: 5px 18px;
	color: #777;
	font-size: 16px;
	border: none;
	background: url(../images/icn_arw06.svg) no-repeat right 24px center / 15px auto #f1f5fb;
}
.formList01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -20px;
}
.formList01 li {
	padding: 5px 20px;
}
.formList01 li label {
	display: block;
}
.formList01 li input[type=radio] {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}
.formList01 li span {
	position: relative;
	display: block;
	padding: 0 0 0 30px;
}
.formList01 li span:before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	display: block;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	border: 1px solid #ddd;
	background: #fff;
}
.formList01 li input[type=radio]:checked + span:after {
	content: "";
	position: absolute;
	top: 8px;
	left: 6px;
	display: block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #27549e;
}
.flowGroup01 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -50px;
	text-align: left;
}
.flowGroup01 .col {
	width: 50%;
	flex-shrink: 0;
}

.flowGroup02 {
	margin: 0 0 50px 0;
	border-bottom: 1px solid #dcdcdc;
	background: #fff;
}
.flowGroup02 .row {
	display: flex;
	align-items: center;
	padding: 15px 0;
	border-top: 1px solid #dcdcdc;
}
.flowGroup02 .head {
	padding: 0 0 0 20px;
}
.flowGroup02 .title {
	font-size: 18px;
}
.flowGroup02 .detail {
	color: #999;
	font-size: 16px;
}
.flowGroup02 .price {
	width: 210px;
	margin-left: auto;
	padding: 0 25px;
	flex-shrink: 0;
	color: #ff3333;
	font-size: 20px;
	font-weight: bold;
	text-align: right;
}
.flowGroup02 .btn {
	width: 185px;
	flex-shrink: 0;
	text-align: center;
}


/*-------------------------------------
 store
-------------------------------------*/
.storeType {
	display: flex;
	justify-content: center;
	padding: 0 0 35px 0;
}
.storeType > div {
	padding: 10px;
}
.storeType > div > a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 360px;
	min-height: 56px;
	color: #747474;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-decoration: none;
	border-radius: 30px;
	border: 4px solid #e3e3e3;
	background-color: #e3e3e3;
}
.storeType > div > a:before {
	content: "";
	position: absolute;
	top: 50%;
	background-repeat: no-repeat;
	background-size: 100% auto;
	opacity: 0.6;
}
.storeTypeBook a:before {
	left: 28px;
	width: 18px;
	height: 24px;
	margin-top: -12px;
	background-image: url(../images/icn_book01.svg);
}
.storeTypeDvd a:before {
	left: 25px;
	width: 23px;
	height: 23px;
	margin-top: -12px;
	background-image: url(../images/icn_dvd01.svg);
}
.storeType > div.current > a {
	color: #333;
	border-color: #27549e;
	background-color: #fff;
}
.storeType > div.current > a:before {
	opacity: 1;
}

.storeCategory {
	padding: 0 0 60px 0;
}
.storeCategory ul {
	display: flex;
	align-items: flex-end;
	margin: 0 -1px;
}
.storeCategory ul li {
	width: 12.5%;
	padding: 0 1px;
	flex-shrink: 0;
}
.storeCategory ul li a {
	position: relative;
	display: block;
	padding: 14px 5px;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: center;
	text-decoration: none;
}
.storeCategory ul li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 7px;
	background-color: #cfcfcf;
}
.storeCategory ul li.current a {
	color: #fff;
	background-color: #cfcfcf;
}

.storeList01 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -20px 0 0;
}
.storeList01 .col {
	width: 25%;
	padding: 0 20px 20px 0;
	flex-shrink: 0;
}
.storeList01 .card {
	display: block;
	padding: 20px 15px 8px;
	color: #333;
	text-decoration: none;
	border: 3px solid #dcdcdc;
}
.storeList01 figure {
	margin: 0 0 20px 0;
}
.storeList01 .title {
	margin: 0 0 5px 0;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
}
.storeList01 .price {
	margin: 0 0 8px 0;
	color: #27549e;
	font-family: 'Roboto', sans-serif;
	font-size: 20px;
	font-weight: 500;
	text-align: right;
}
.storeList01 .btn {
	margin: 0 0 9px 0;
}
.storeList01 .btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 30px;
}
.storeList01 .btnDetail a {
	min-height: 36px;
	font-weight: bold;
	background: #e3e3e3;
}
.storeList01 .btnCart a {
	min-height: 46px;
	color: #27549e;
	font-weight: bold;
	border: 3px solid #27549e;
	background: url(../images/icn_cart04.svg) no-repeat 17px center / 22px auto #fff;
}



/*-------------------------------------
 pamphlet
-------------------------------------*/
.pamphTxt {
	position: absolute;
    right: 110px;
    top: 10px;
    bottom: 0;
	}

.pamphTxt p {
	text-align: center;
	color: #fff;
	font-size: 11px;
	font-weight: normal;
}

.pamphTxt a {
	color: #27549e;
	font-weight: bold;
	border-radius: 30px;
	display: inline-block;
	padding: 10px 15px;
	margin-top: 10px;
	transition: 0.2s;
	background: #fff;
	font-size: 15px;
}

.pamphTxt a:hover {
	opacity: 0.7;
	text-decoration: none;
}
.pamphCategory {
	padding: 0 0 60px 0;
}
.pamphCategory ul {
	display: flex;
	align-items: flex-end;
	margin: 0 -1px;
}
.pamphCategory ul li {
	width: 12.5%;
	padding: 0 1px;
	flex-shrink: 0;
}
.pamphCategory ul li a {
	position: relative;
	display: block;
	padding: 14px 5px;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: center;
	text-decoration: none;
}
.pamphCategory ul li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 7px;
	background-color: #cfcfcf;
}
.pamphCategory ul li.current a {
	color: #fff;
	background-color: #cfcfcf;
}

.pamphList01 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -20px 0 0;
}
.pamphList01 .col {
	width: 25%;
	padding: 0 20px 20px 0;
	flex-shrink: 0;
}
.pamphList01 .card {
	display: block;
	padding: 20px 15px 8px;
	color: #333;
	text-decoration: none;
	border: 3px solid #dcdcdc;
}
.pamphList01 figure {
	width: 130px;
	margin: 0 auto 20px auto;
}
.pamphList01 .title {
	margin: 0 0 10px 0;
	font-size: 14px;
	font-weight: bold;
	    line-height: 1;
    min-height: 2em;

}

.pamphList01 .btn {
	margin: 0 0 9px 0;
}
.pamphList01 .btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 30px;
}
.pamphList01 .btnDetail a {
	min-height: 36px;
	font-weight: bold;
	background: #e3e3e3;
}
.pamphList01 .btnSelect a {
	min-height: 46px;
	color: #27549e;
	font-weight: bold;
	border: 3px solid #27549e;
}

.pamphList01 .btnSelect.on a {
	background-color: #27549e;
	color: #fff;
	}
.pamphArea {
	position: relative;
	padding-bottom: 200px;
	}
.pamphRequest {
	position: fixed;
    width: 100%;
    bottom: 0;
    background-color: rgba(39,84,158,0.90);
    text-align: center;
    z-index: 1000;
	padding: 20px 0;
	font-weight: bold;
}
.pamphRequest .wrap {
	position: relative;
}
.pamphArea .leadTxt{
	font-size: 18px;
	text-align: center;
	margin-bottom: 60px;
	}

.pamphArea .leadTxt span{
	display: block;
	color: #ff3333;
	}

.pamphArea .confirmTxt{
	font-size: 30px;
	text-align: center;
	margin-bottom: 60px;
	font-weight: bold;
	}
.pamphArea .note {
	text-align: center;
}

.requestBtn a {
	background-color: #fff;
	font-size: 22px;
	color: #27549e;
	width: 400px;
	line-height: 60px;
	display: block;
	margin: 0 auto;
	transition: 0.3s;
	}
.requestBtn a span {
	margin: 0 10px;
	font-size: 30px;
	}

.requestBtn a:hover {
	text-decoration: none;
	opacity: 0.7;
}

.requestClear a {
	color: #fff;
	font-size: 20px;
	margin-top: 10px;
	    display: flex;
    justify-content: center;
	align-items: center;
}

.requestClear a:before {
	content:"";
	background-image: url("../images/icn_refresh.svg");
	background-size: cover;
	width: 30px;
	height: 30px;
	display: inline-block;
	margin-right: 5px;
}
.pamphArea .policyCheck {
	text-align: center;
	margin-bottom: 30px;
	}
.pamphArea .policyCheck input {
	    -webkit-appearance: auto;
    -moz-appearance: auto;
	}

.pamphArea .policyCheck a {
	color: #27549e;
	text-decoration: underline;
	}

.pamphArea .formWrap {
	max-width: 640px;
	margin: 30px auto 0;
}

.pamphArea .formWrap form {
	margin-bottom: 60px;
	}

.pamphArea .formWrap ul  {
	border-top: 1px solid #e2e2e2;
}
.pamphArea .formWrap ul li {
	border-bottom: 1px solid #e2e2e2;
	padding: 20px;
	position: relative;
}

.pamphArea .formWrap ul li:nth-child(odd) {
	background-color: #f7f8fa;
}
.pamphArea .formWrap ul li .item {
	font-weight: bold;
	font-size: 12px;
	margin-bottom: 5px;
}

.pamphArea .formWrap ul li span {
	display: block;
	background-color: #ff3333;
	color: #fff;
	width: 40px;
	line-height: 15px;
	font-size: 10px;
	text-align: center;
	position: absolute;
	right: 20px;
	top: 20px;
}

.pamphArea .formWrap ul li p {
	font-size: 12px;
	margin-bottom: 5px;
}



.pamphArea .formWrap ul li input {
	width: 100%;
	margin: 0;
	padding: 10px;
	background: #fff;
	border: 1px solid #f1f1f1;
	border-radius: 5px;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height: 40px;
	font-size:14px;	
}

.pamphArea .formWrap ul li input[type="checkbox"],
.pamphArea .formWrap ul li input[type="radio"]{
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
	width: inherit;
	padding: inherit;
	border-radius: none;
	height:inherit;
}

.pamphArea .formWrap ul li.nameClm,
.pamphArea .formWrap ul li.uniClm{
	display: flex;
	justify-content: space-between;
	}

.pamphArea .formWrap ul li.nameClm .lBox,
.pamphArea .formWrap ul li.nameClm .rBox,
.pamphArea .formWrap ul li.uniClm .lBox,
.pamphArea .formWrap ul li.uniClm .rBox{
	width: 48%;
	}

.pamphArea .formWrap ul li.zip .wrap {
	display: flex;
	}

.pamphArea .formWrap ul li.zip .lBox {
	}

.pamphArea .formWrap ul li.zip .rBox {
	display: flex;
	align-items: center;
	}

.pamphArea .formWrap ul li.zip .rBox p {
	font-size: 12px;
	margin-left: 20px;
}

.pamphArea .formWrap ul li.zip .rBox p:before {
    content: "";
    background-image: url(../images/icn_map.svg);
    background-size: cover;
    width: 15px;
    height: 21px;
    display: inline-block;
    margin-right: 5px;
	vertical-align: -3px;
}

.pamphArea .formWrap ul li.zip input,
.pamphArea .formWrap ul li.tel input{
	width: 100px;
	}

.pamphArea .formWrap ul li.zip .lBox:after {
	content: "-";
	margin: 0 15px 0 10px;
	}

.pamphArea .formWrap ul li.tel .wrap {
	display: flex;
	}
.pamphArea .formWrap ul li.tel .lBox:after,
.pamphArea .formWrap ul li.tel .mBox:after{
	content: "-";
	margin: 0 15px 0 10px;
	}

.pamphArea .formWrap ul li label {
	margin-right: 20px;
		font-size:14px;
	}

.pamphArea .formWrap ul li select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box;
}
.pamphArea .formWrap ul li .selectWrap {
	width: 100%;
    display: inline-flex;
    align-items: center;
    position: relative;
}

.pamphArea .formWrap ul li .selectWrap::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #27549e;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.pamphArea .formWrap ul li .selectWrap select {
    width: 100%;
	margin: 0;
	background: #fff;
	border: 1px solid #f1f1f1;
	border-radius: 5px;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height: 40px;
    cursor: pointer;
	padding-left: 10px;
	font-size:14px;
}
.pamphArea .formWrap ul li .jukenzumi{
	background-color: #fff9ea;
	padding: 10px 15px;
	margin-top: 5px;
	}

/*-------------------------------------
 kouza
-------------------------------------*/
.kouzaType {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -10px;
	padding: 0 0 35px 0;
}
.kouzaType > div {
	width: 25%;
	padding: 10px;
	flex-shrink: 0;
}
.kouzaType > div > a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	color: #747474;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-decoration: none;
	border-radius: 30px;
	border: 4px solid #e3e3e3;
	background-color: #e3e3e3;
}
.kouzaType > div > a:before {
	content: "";
	position: absolute;
	top: 50%;
	background-repeat: no-repeat;
	background-size: 100% auto;
	opacity: 0.6;
}
.kouzaType01 a:before {
	left: 25px;
	width: 23px;
	height: 24px;
	margin-top: -12px;
	background-image: url(../images/icn_kouza02.svg);
}
.kouzaType02 a:before {
	left: 22px;
	width: 26px;
	height: 24px;
	margin-top: -12px;
	background-image: url(../images/icn_kouza03.svg);
}
.kouzaType03 a:before {
	left: 28px;
	width: 23px;
	height: 25px;
	margin-top: -13px;
	background-image: url(../images/icn_kouza04.svg);
}
.kouzaType04 a:before {
	left: 27px;
	width: 21px;
	height: 20px;
	margin-top: -10px;
	background-image: url(../images/icn_folder01.svg);
}
.kouzaType > div.current > a {
	color: #333;
	border-color: #27549e;
	background-color: #fff;
}
.kouzaType > div.current > a:before {
	opacity: 1;
}

.kouzaDate {
	display: flex;
	margin: 0 0 50px 0;
	border-left: 1px solid #27549e;
}
.kouzaDate .col {
	flex: 1;
	padding: 10px;
	color: #27549e;
	font-weight: bold;
	text-align: center;
	flex-shrink: 0;
	border-top: 1px solid #27549e;
	border-bottom: 1px solid #27549e;
	border-right: 1px solid #27549e;
}
.kouzaDate .date {
	font-size: 22px;
}
.kouzaDate .date em {
	font-size: 42px;
}

.kouzaList01 .box {
	display: grid;
	grid-template-columns: 1fr 40%;
	grid-template-rows: repeat(2, 1fr);
	margin: 0 0 30px 0;
	padding: 23px 28px;
	border: 3px solid #dcdcdc;
}
.kouzaList01 .juken {
	padding: 3px 0 0;
	grid-area: 1 / 2 / 2 / 3;
}
.kouzaList01 .juken ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.kouzaList01 .juken ul li {
	margin: 0 0 16px 11px;
}
.kouzaList01 .juken ul li a {
	display: block;
	padding: 3px 13px;
	color: #fff;
	font-size: 15px;
	text-decoration: none;
	border-radius: 3px;
	background: #27549e;
}
.kouzaList01 .item {
	grid-area: 1 / 1 / 3 / 2;
}
.kouzaList01 .title {
	margin: 0 0 10px 0;
	font-size: 32px;
	font-weight: bold;
	line-height: 1.4;
}
.kouzaList01 .catch {
	margin: 0 0 8px 0;
	font-weight: bold;
}
.kouzaList01 .txt {
	margin: 0 0 5px 0;
	font-size: 16px;
}
.kouzaList01 .btn {
	grid-area: 2 / 2 / 3 / 3;
	justify-self: end;
	align-self: end;
	padding: 0 0 5px 0;
}
.kouzaList01 .btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 245px;
	min-height: 46px;
	margin-left: auto;
	color: #27549e;
	font-weight: bold;
	border-radius: 30px;
	border: 3px solid #27549e;
	background: url(../images/icn_apply01.svg) no-repeat 22px center / 16px auto #fff;
}

.kouzaBtnBlock {
	margin: 0 0 80px 0;
	padding: 70px 0;
	background: #27549e;
}
.kouzaBtn01 a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 800px;
	max-width: 80%;
	min-height: 120px;
	margin: 0 auto;
	color: #27549e;
	font-size: 26px;
	font-weight: bold;
	line-height: 1.2;
	text-decoration: none;
	background: url(../images/icn_btn01.svg) no-repeat right 31px bottom / 52px auto #fff;
}
.kouzaBtn01 a span {
	display: block;
	text-align: center;
}
.kouzaBtn01 a em {
	padding: 5px 10px 0;
	font-size: 42px;
}


/*-------------------------------------
 koushi
-------------------------------------*/
.koushiList01 {
	padding: 0 0 30px 0;
}
.koushiList01 .box {
	display: grid;
	grid-template-columns: 240px 1fr;
	grid-template-rows: repeat(2, auto);
	margin: 0 0 30px 0;
	padding: 23px 28px 18px;
	background: #f9f9f9;
}
.koushiList01 figure {
	grid-area: 1 / 1 / 3 / 2;
	padding: 0 30px 0 0;
}
.koushiList01 .item {
	grid-area: 1 / 2 / 2 / 3;
	margin: 0 0 20px 0;
}
.koushiList01 .name {
	display: flex;
	align-items: center;
	font-weight: bold;
}
.koushiList01 .name .ja {
	font-size: 32px;
}
.koushiList01 .name .en {
	margin-left: 20px;
	color: #27549e;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}
.koushiList01 .profile {
	font-size: 15px;
}
.koushiList01 .detail {
	grid-area: 2 / 2 / 3 / 3;
}
.koushiList01 .detail .txt {
	margin: 0 0 15px 0;
	line-height: 1.9;
}
.koushiList01 .detail .link {
	margin: 0 0 15px 0;
	padding: 0 0 0 18px;
	font-weight: bold;
	line-height: 1.5;
	background: url(../images/icn_arw07.svg) no-repeat 0 7px / 7px auto;
}

.koushiModalBox {
	display: grid;
	grid-template-columns: 240px 1fr;
	grid-template-rows: repeat(2, auto);
	padding: 23px 28px 18px;
}
.koushiModalBox figure {
	grid-area: 1 / 1 / 3 / 2;
	padding: 0 30px 0 0;
}
.koushiModalBox .item {
	grid-area: 1 / 2 / 2 / 3;
	margin: 0 0 20px 0;
}
.koushiModalBox .name {
	display: flex;
	align-items: center;
	font-weight: bold;
}
.koushiModalBox .name .ja {
	font-size: 32px;
}
.koushiModalBox .name .en {
	margin-left: 20px;
	color: #27549e;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}
.koushiModalBox .profile {
	font-size: 15px;
}
.koushiModalBox .detail {
	grid-area: 2 / 2 / 3 / 3;
}
.koushiModalBox .detail .txt {
	margin: 0 0 15px 0;
	line-height: 1.9;
}
.koushiModalBox .detail .link {
	margin: 0 0 15px 0;
	padding: 0 0 0 18px;
	font-weight: bold;
	line-height: 1.5;
	background: url(../images/icn_arw07.svg) no-repeat 0 7px / 7px auto;
}


/*-------------------------------------
 guidance
-------------------------------------*/
.guidanceList01 {
	margin: 0 0 40px 0;
	padding: 15px 0 0 0;
	border-bottom: 1px solid #d0d0d0;
}
.guidanceList01 .row {
	position: relative;
	display: grid;
	grid-template-columns: 100px 1fr 18% 16%;
	grid-template-rows: 1fr;
	align-items: center;
	min-height: 85px;
	padding: 16px 100px 16px 0;
	border-top: 1px solid #d0d0d0;
}
.guidanceList01 .type {
	margin: 0 0 -5px 0;
}
.guidanceList01 .type li {
	width: 100px;
	margin: 0 0 5px 0;
	padding: 1px 2px;
	color: #fff;
	font-size: 13px;
	text-align: center;
	background: #fe2635;
}
.guidanceList01 .type li:before {
	content: none;
}
.guidanceList01 .title {
	padding: 0 25px 0 30px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
}
.guidanceList01 .group {
	padding: 0 25px 0 0;
	font-size: 15px;
}
.guidanceList01 .group .item {
	padding: 2px 0;
}
.guidanceList01 .name {
	font-size: 24px;
	font-weight: bold;
}
.guidanceList01 .profile {
	margin: -2px 0 0 0;
}
.guidanceList01 .date {
	color: #656565;
}
.guidanceList01 .link {
	position: absolute;
	top: 50%;
	right: 0;
	width: 80px;
	padding: 0 15px;
	transform: translateY(-50%);
}
.guidanceList01 .link a {
	position: relative;
	display: block;
	padding: 52px 0 0 0;
	color: #656565;
	font-size: 15px;
	text-align: center;
}
.guidanceList01 .link a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: url(../images/icn_book02.svg) no-repeat center center / 30px auto #f9f9f9;
}


/*-------------------------------------
 voice
-------------------------------------*/
.voiceType {
	display: flex;
	justify-content: center;
	margin: 0 0 20px 0;
	border-bottom: 3px solid #27549e;
}
.voiceType div {
	width: 40%;
	max-width: 450px;
	margin: 0 1px;
}
.voiceType a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 53px;
	color: #747474;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-decoration: none;
	background: #e3e3e3;
}
.voiceType .current a {
	color: #fff;
	background: #27549e;
}


/*-------------------------------------
 gokaku
-------------------------------------*/
.gokakuList01 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 20px 0;
}
.gokakuList01 .box {
	position: relative;
	display: grid;
	grid-template-columns: 110px 1fr;
	grid-template-rows: repeat(2, auto);
	width: calc(50% - 10px);
	margin: 0 0 50px 0;
	padding: 22px 22px 17px 22px;
	border: 3px solid #dcdcdc;
	flex-shrink: 0;
}
.gokakuList01 .pic {
	grid-area: 1 / 1 / 2 / 2;
	max-width: 90px;
}
.gokakuList01 .cat {
	position: absolute;
	top: -17px;
	right: -5px;
	z-index: 2;
	min-width: 158px;
	padding: 3px 5px;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	background: #27549e;
}
.gokakuList01 .cat:before {
	content: "";
	position: absolute;
	top: 0;
	left: -8px;
	bottom: 0;
	z-index: -1;
	display: block;
	width: 15px;
	background: #27549e;
	transform: skew(-25deg);
}
.gokakuList01 .group {
	flex: 1;
	grid-area: 1 / 2 / 2 / 3;
}
.gokakuList01 .year {
	margin: 0 0 2px 0;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.1;
}
.gokakuList01 h4 {
	margin: 0 0 4px 0;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
}
.gokakuList01 .holder {
	display: flex;
	margin: 0 0 7px 0;
	font-size: 15px;
}
.gokakuList01 .name {
	font-weight: bold;
}
.gokakuList01 .num {
	margin-left: 20px;
	color: #777;
}
.gokakuList01 .profile {
	font-size: 16px;
}
.gokakuList01 .tag {
	grid-area: 2 / 1 / 3 / 3;
	align-self: end;
}
.gokakuList01 .tag ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
	list-style: none;
}
.gokakuList01 .tag ul li {
	margin: 7px 0 0 7px;
	padding: 0;
}
.gokakuList01 .tag ul li:before {
	content: none;
}
.gokakuList01 .tag ul li a {
	display: block;
	padding: 3px 9px;
	color: #27549e;
	font-size: 11px;
	text-decoration: none;
	border-radius: 30px;
	background: #e3e3e3;
}

.gokakuBox01 {
	position: relative;
	display: flex;
	min-height: 120px;
	margin: 0 0 50px 0;
	padding: 27px 27px 22px 172px;
	border: 3px solid #dcdcdc;
}
.gokakuBox01 .pic {
	position: absolute;
	top: 27px;
	left: 27px;
	max-width: 120px;
}
.gokakuBox01 .cat {
	position: absolute;
	top: -17px;
	right: -5px;
	min-width: 158px;
	padding: 3px 5px 3px 10px;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	background: #27549e;
}
.gokakuBox01 .cat:before {
	content: "";
	position: absolute;
	top: 0;
	left: -8px;
	bottom: 0;
	display: block;
	width: 15px;
	background: #27549e;
	transform: skew(-25deg);
}
.gokakuBox01 .group {
	flex: 1;
}
.gokakuBox01 .year {
	margin: 0 0 2px 0;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.1;
}
.gokakuBox01 h4 {
	margin: 0 0 4px 0;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
}
.gokakuBox01 .holder {
	display: flex;
	margin: 0 0 7px 0;
	font-size: 15px;
}
.gokakuBox01 .name {
	font-weight: bold;
}
.gokakuBox01 .num {
	margin-left: 20px;
	color: #777;
}
.gokakuBox01 .profile {
	font-size: 16px;
}
.gokakuBox01 .tag {
	width: 30%;
	margin-top: auto;
}
.gokakuBox01 .tag ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
	list-style: none;
}
.gokakuBox01 .tag ul li {
	margin: 7px 0 0 7px;
	padding: 0;
}
.gokakuBox01 .tag ul li:before {
	content: none;
}
.gokakuBox01 .tag ul li a {
	display: block;
	padding: 3px 9px;
	color: #27549e;
	font-size: 11px;
	text-decoration: none;
	border-radius: 30px;
	background: #e3e3e3;
}


/*-------------------------------------
 search
-------------------------------------*/
.searchTgl {
	margin: 0 0 20px 0;
	padding: 0 15px;
	text-align: right;
}
.searchTglBtn {
	position: relative;
	display: inline-block;
	padding: 15px 58px 15px 0;
	cursor: pointer;
	font-size: 13px;
}
.searchTglBtn:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: url(../images/icn_search01.svg) no-repeat center center / 20px auto #27549e;
}

.searchClearBtn {
	position: absolute;
	top: 10px;
	right: 15px;
	display: inline-block;
	padding: 15px 58px 15px 0;
	cursor: pointer;
	font-size: 13px;
}
.searchClearBtn:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: url(../images/icn_clear01.svg) no-repeat center center / 18px auto #27549e;
}
.searchClearList {
	position: relative;
	padding: 0 0 30px 0;
	text-align: right;
}
.searchClearList .searchClearBtn {
	position: relative;
	top: 0;
	right: 0;
	display: inline-block;
}

.searchCloseBtn {
	position: absolute;
	bottom: 10px;
	right: 15px;
	display: inline-block;
	width: 48px;
	height: 48px;
	cursor: pointer;
	text-indent: 200%;
	white-space: nowrap;
	border-radius: 50%;
	background: #fff;
	overflow: hidden;
}
.searchCloseBtn:before,
.searchCloseBtn:after {
	content: "";
	position: absolute;
	top: 11px;
	left: 50%;
	display: block;
	width: 4px;
	height: 25px;
	margin-left: -2px;
	background: #d0d0d0;
}
.searchCloseBtn:before {
	transform: rotate(-45deg);
}
.searchCloseBtn:after {
	transform: rotate(45deg);
}

.searchBox {
	position: relative;
	margin: 0 0 50px 0;
	padding: 0 45px;
	border: 3px solid #dcdcdc;
	background: #f9f9f9;
}
.searchSet {
	padding: 15px 0;
}
.searchSet:first-child {
	padding-right: 70px;
}
.searchSet + .searchSet {
	border-top: 1px solid #d0d0d0;
}
.searchCheckbox ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -42px 0 0;
}
.searchCheckbox ul li {
	position: relative;
	padding: 5px 42px 5px 0;
}
.searchCheckbox ul li input[type=checkbox] {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
}
.searchCheckbox ul li span {
	position: relative;
	display: block;
	padding: 0 0 0 25px;
}
.searchCheckbox ul li span:before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 19px;
	height: 19px;
	border: 1px solid #dcdcdc;
	background: #fff;
}
.searchCheckbox ul li input[type=checkbox]:checked + span:before {
	background: url(../images/icn_check01.svg) no-repeat center center / 10px auto #fff;
}
.searchSet .tagList01 {
	padding: 10px 0;
}

.searchList01 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -20px;
	padding: 30px 0 100px;
	overflow: hidden;
}
.searchList01 .col {
	width: 50%;
	padding: 0 20px;
	flex-shrink: 0;
}
.searchList01 .card {
	padding: 18px 0;
	border-top: 1px solid #dcdcdc;
}
.searchList01 .col:nth-last-child(-n+2) .card  {
	border-bottom: 1px solid #dcdcdc;
}
.searchList01 .head {
	margin: 0 0 3px 0;
}
.searchList01 .icnCat {
	min-width: inherit;
	padding: 0 5px;
	font-size: 12px;
	border-width: 1px;
}
.searchList01 .txt {
	font-size: 18px;
	line-height: 1.4;
}


/*-------------------------------------
 modal
-------------------------------------*/
.cmnModal01 {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,0.8);
	padding: 40px 10px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
  box-sizing: border-box;
}
.cmnModal01.active{
	opacity: 1;
	visibility: visible;
}
.cmnModal01 .modalBox {
	position: relative;
	max-width: 800px;
	margin: auto 15px;
	background: #fff;
}
.cmnModal01 .modalBody {
	max-height: 55vh;
	padding: 20px;
	color: #333;
  text-align: left;
	overflow-x: hidden;
	overflow-y: auto;
}
.cmnModal01 .modalClose {
  position: absolute;
	top: -35px;
	right: 0;
  display: block;
	width: 30px;
	height: 30px;
	cursor: pointer;
	text-indent: 200%;
	white-space: nowrap;
	overflow: hidden;
}
.cmnModal01 .modalClose:before,
.cmnModal01 .modalClose:after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	width: 2px;
	height: 30px;
	background: #f9f9f9;
}
.cmnModal01 .modalClose:before {
	transform: rotate(45deg);
}
.cmnModal01 .modalClose:after {
	transform: rotate(-45deg);
}


/*-------------------------------------
 faq
-------------------------------------*/
.faqList {
	padding: 0 0 40px 0;
}
.faqList .col {
	display: grid;
	grid-template-columns: 50px 1fr;
	grid-template-rows: repeat(2, auto);
	grid-column-gap: 0;
	grid-row-gap: 0;
	padding: 15px 0;
	border-bottom: 1px solid #d0d0d0;
}
.faqList .num {
	grid-area: 1 / 1 / 3 / 2;
	width: 50px;
	color: #27549e;
	font-size: 20px;
	font-weight: bold;
}
.faqList .title {
	grid-area: 1 / 2 / 2 / 3;
	padding: 2px 0 8px 0;
	font-size: 18px;
	font-weight: bold;
}
.faqList .txt {
	grid-area: 2 / 2 / 3 / 3;
	font-size: 16px;
}
.faqList .txt a {
	color: #27549e;
	text-decoration: underline;
}
.faqList .txt a:hover {
	text-decoration: none;
}


/*-------------------------------------
 tab
-------------------------------------*/
.tabCategoryList {
	padding: 0 0 60px 0;
}
.tabCategoryList ul {
	display: flex;
	align-items: flex-end;
	margin: 0 -1px;
}
.tabCategoryList ul li {
	width: 12.5%;
	padding: 0 1px;
	flex-shrink: 0;
}
.tabCategoryList ul li em {
	position: relative;
	display: block;
	padding: 14px 5px;
	cursor: pointer;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: center;
	text-decoration: none;
}
.tabCategoryList ul li em:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 7px;
	background-color: #cfcfcf;
}
.tabCategoryList ul li.current em {
	color: #fff;
	background-color: #cfcfcf;
}


/*-------------------------------------
 sitemap
-------------------------------------*/
.sitemapList {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px 0 0;
	padding: 30px 0 50px;
	font-size: 14px;
	overflow: hidden;
}
.sitemapList .col {
	width: 33.333%;
	padding: 0 15px 50px 0;
}
.sitemapList .title {
	position: relative;
	margin: 0 0 15px 0;
	padding: 0 0 15px 18px;
	font-size: 16px;
	border-bottom: 1px solid #dcdcdc;
}
.sitemapList .title:before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 7px;
	height: 20px;
	background: #27549e;
}
.sitemapList ul li {
	position: relative;
	margin: 0 0 8px 0;
	padding: 0 0 0 16px;
	background: url(../images/icn_arw02.svg) no-repeat 0 6px / 7px auto;
}
.sitemapList ul li ul {
	padding: 10px 0 0 0;
}
.sitemapList ul li ul li {
	padding: 0 0 0 10px;
	background: none;
}
.sitemapList ul li ul li:before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #333;
}


/*-------------------------------------
 password
-------------------------------------*/
.post-password-form {
	padding: 80px 0;
}
.post-password-form p {
	margin: 0 0 30px 0;
}
.post-password-form input[type=submit] {
	color: #fff;
	border-color: #333;
	background: #333;
}


/*-------------------------------------
 img
-------------------------------------*/
.imgC {
	display: table;
	min-width: 1%;
	margin: 0 auto;
	padding: 0 0 50px 0;
	text-align: center;
}
.imgR,
.imgL {
	max-width: 480px;
}
.imgC figcaption,
.imgR figcaption,
.imgL figcaption {
	font-size: 14px;
	text-align: left;
}
.imgL {
	float: left;
	margin: 10px 50px 30px 0;
}
.imgR {
	float: right;
	margin: 10px 0 30px 50px;
}


/*-------------------------------------
 common
-------------------------------------*/
.bold {
	font-weight: bold;
}
.color01 {
	color: #27549e;
}
.fontXXS {
	font-size: 0.7em !important;
}
.fontXS {
	font-size: 0.8em !important;
}
.fontS {
	font-size: 0.9em !important;
}
.fontM {
	font-size: 1em !important;
}
.fontL {
	font-size: 1.2em !important;
}
.fontXL {
	font-size: 1.5em !important;
}

.w5p { width: 5% !important; }
.w8p { width: 8% !important; }
.w10p { width: 10% !important; }
.w12p { width: 12% !important; }
.w15p { width: 15% !important; }
.w18p { width: 18% !important; }
.w20p { width: 20% !important; }
.w22p { width: 22% !important; }
.w25p { width: 25% !important; }
.w28p { width: 28% !important; }
.w30p { width: 30% !important; }
.w35p { width: 35% !important; }
.w40p { width: 40% !important; }
.w45p { width: 45% !important; }
.w50p { width: 50% !important; }
.w55p { width: 55% !important; }
.w60p { width: 60% !important; }
.w65p { width: 65% !important; }
.w70p { width: 70% !important; }
.w75p { width: 75% !important; }
.w80p { width: 80% !important; }
.w85p { width: 85% !important; }
.w90p { width: 90% !important; }
.w95p { width: 95% !important; }
.w100p { width: 100% !important; }










/*-------------------------------------------------------------------
 Media Queries
-------------------------------------------------------------------*/

/* SP layout
-------------------------------------------------------------------*/
@media screen and (max-width: 768px) {


.unit ul li:before {
	top: 10px;
	width: 6px;
	height: 6px;
}
.unit table {
	font-size: 12px;
}
.unit table th,
.unit table td {
	padding: 7px 4px;
}
.unit table th {
	width: 25%;
}
.unit table caption {
	font-size: 11px;
}

.icnBlank {
	width: 12px;
	margin-left: 8px;
}
.icnFile {
	width: 12px;
	margin-left: 8px;
}
.icnBtn01 a {
	min-width: 40px;
	padding: 42px 0 0 0;
	font-size: 12px;
}
.icnBtn01 a:before {
	width: 40px;
	height: 40px;
	background-size: 22px auto;
}


/*-------------------------------------
 section
-------------------------------------*/
.section {
	padding: 0 0 50px 0;
}
.sectionBg01 {
	padding-top: 50px;
}

.sectionTitle01 h1,
.sectionTitle01 h2 {
	font-size: 28px;
}
.sectionTitle01 h3,
.sectionTitle01 .subtitle {
	font-size: 16px;
}
.sectionTitle01 .catch {
	font-size: 16px;
}

.sectionTitle01.titleSend {
	padding-top: 30px;
	background-size: 28px auto;
}
.sectionTitle01.titleCalendar {
	padding-top: 30px;
	background-size: 28px auto;
}
.sectionTitle01.titleCart {
	padding-top: 30px;
	background-size: 28px auto;
}
.sectionTitle01.titlePamph {
	padding-top: 30px;
	background-size: 28px auto;
}	
.sectionTitle01.titleKouza {
	padding-top: 34px;
	background-size: 28px auto;
}
.sectionTitle01.titleKoushi {
	padding-top: 34px;
	background-size: 28px auto;
}
.sectionTitle01.titleCompass {
	padding-top: 34px;
	background-size: 28px auto;
}
.sectionTitle01.titleVoice {
	padding-top: 34px;
	background-size: 28px auto;
}
.sectionTitle01.titleSchool {
	padding-top: 34px;
	background-size: 28px auto;
}


/*-------------------------------------
 title
-------------------------------------*/
.pageTitle01 {
	padding: 20px 0;
	font-size: 30px;
}

.cmnTitle01 {
	margin: 0 0 20px 0;
	padding: 0 0 0 20px;
	font-size: 22px;
}
.cmnTitle01:before {
	width: 5px;
}
.cmnTitle02 {
	margin: 0 0 25px 0;
	font-size: 20px;
}
.cmnTitle03 {
	margin: 0 0 15px 0;
	font-size: 18px;
}
.cmnTitle04 {
	margin: 0 0 15px 0;
	font-size: 16px;
}
.cmnTitle05 {
	margin: 0 0 15px 0;
	font-size: 15px;
}

.icnTitle01 {
	padding: 0 0 8px 26px;
	font-size: 18px;
	border-bottom-width: 2px;
	background-position: 0 5px;
	background-size: 16px auto;
}

.barTitle01 {
	padding: 5px 5px 5px 18px;
	font-size: 18px;
}
.barTitle01:before {
	width: 5px;
}


/*-------------------------------------
 unit
-------------------------------------*/
.unitBlock01 {
	padding: 0 0 15px 0;
	font-size: 14px;
	line-height: 1.8;
}
.unitBlock01 p {
	padding: 0 0 15px 0;
}


/*-------------------------------------
 list
-------------------------------------*/
.anchorList01 {
	margin: 0 0 40px 0;
}
.anchorList01 ul {
	padding: 11px 0 1px;
	font-size: 14px;
}
.anchorList01 ul li {
	margin: 0 15px 10px;
	padding: 0 0 0 15px;
	background-position: 0 8px;
	background-size: 8px auto;
}

.movList01 {
	display: block;
	margin: 0 0 20px 0;
}
.movList01 .col {
	width: auto;
	padding: 0 0 30px 0;
}
.movList01 .title {
	font-size: 14px;
}

.arwList01 {
	padding: 0 0 50px 0;
}
.arwList01 ul {
	padding: 0 10px;
}
.arwList01 ul li {
	margin: 0 0 12px 0;
	padding: 0 0 0 14px;
	font-size: 14px;
	background-position: 0 6px;
	background-size: 6px auto;
}
.arwList01 ul li img {
	width: 12px;
	margin-left: 6px;
}

.arwList02 {
	padding: 0 0 40px 0;
}
.arwList02 ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid #d0d0d0;
}
.arwList02 ul li {
	padding: 12px 0 12px 16px;
	font-size: 14px;
	background-position: 0 18px;
	background-size: 6px auto;
}
.arwList02 ul li .title {
	font-size: 15px;
}

.arwList03 ul li {
	margin: 0 0 12px 0;
	padding: 0 0 0 14px;
	font-size: 14px;
	background-position: 0 6px;
	background-size: 6px auto;
}

.arwList04 ul li {
	margin: 0 0 8px 0;
	padding: 0 0 0 12px;
	background-position: 0 6px;
	background-size: 5px auto;
}

.arwList05 ul {
	display: block;
	padding: 0 0 0 20px;
}
.arwList05 ul li {
	width: auto;
	margin: 0 0 12px 0;
	padding: 0 0 0 14px;
	font-size: 14px;
	background-position: 0 6px;
	background-size: 6px auto;
}

.cardList01 {
	margin: 0 -15px 0 0;
}
.cardList01 .col {
	width: 50%;
	padding: 0 15px 15px 0;
}
.cardList01 .card {
	padding: 10px;
	border-width: 2px;
}
.cardList01 figure {
	margin: 0 0 10px 0;
}
.cardList01 .profile {
	font-size: 12px;
}
.cardList01 .name {
	font-size: 20px;
}

.cardList02 .col {
	width: 50%;
}
.cardList02 .card {
	min-height: 250px;
}
.cardList02 .head a {
	padding: 8px 6px 8px 20px;
	font-size: 15px;
}
.cardList02 .head a:before {
	top: 8px;
	left: 7px;
	bottom: 8px;
	width: 4px;
}
.cardList02 .item {
	padding: 8px;
	line-height: 1.5;
}
.cardList02 figure {
	margin: 0 0 8px 0;
}
.cardList02 .txt {
	margin: 0 0 8px 0;
	font-size: 14px;
}
.cardList02 .link {
	margin: 0 0 8px 0;
	padding: 0 0 0 12px;
	font-size: 13px;
	background-position: 0 5px;
	background-size: 5px auto;
}

.cardList03 {
	display: block;
	margin: 0;
	padding: 0 0 30px 0;
}
.cardList03 .col {
	width: auto;
	padding: 0 0 20px 0;
}
.cardList03 .card {
	display: block;
	height: 100%;
	padding: 12px;
	background: #f9f9f9;
}

.infoList01 {
	padding: 0;
}
.infoList01 .row {
	padding: 12px 0;
}
.infoList01 .date {
	margin: 0 12px 0 0;
}

.infoList02 {
	margin: 0 0 30px 0;
	padding: 10px 0 0 0;
}
.infoList02 .row {
	display: block;
	padding: 10px 0;
}
.infoList02 .head {
	margin: 0 0 3px 0;
}
.infoList02 .date {
	width: 95px;
}
.infoList02 .category {
	width: auto;
}
.infoList02 .category em {
	width: 60px;
	margin: 2px 0 0 0;
	padding: 0 1px;
	font-size: 10px;
}
.infoList02 .txt {
	line-height: 1.6;
}
.infoList02 .txt span {
	width: 60px;
	margin: 2px 12px 0 0;
	padding: 0 1px;
	font-size: 10px;
}

.icnCat {
	min-width: 70px;
	margin: 0 3px 3px 0;
	font-size: 11px;
	border-width: 1px;
}
.icnNew {
	margin: 0 3px 3px 0;
	padding: 1px 5px;
	font-size: 11px;
}
.icnType {
	min-width: 70px;
	margin: 0 3px 3px 0;
	font-size: 11px;
	border-width: 1px;
}

.icnList01 {
	margin: 0 -3px 0 0;
	padding: 0 0 20px 0;
}

.ttlList01 {
	padding: 0;
}
.ttlList01 .row {
	display: block;
	padding: 0 0 10px 0;
}
.ttlList01 .title {
	width: auto;
}
.ttlList01 .txt {
	padding: 0 0 0 1em;
}

.noteList01 ul li {
	font-size: 12px;
}
.noteList02 ul li {
	font-size: 12px;
}
.noteList03 ul li {
	font-size: 12px;
}
.noteList03 ul li:before {
	top: 0;
	width: auto;
	height: auto;
}

.jukenList01 {
	padding: 0 0 20px 0;
}
.jukenList01 ul {
	margin: 0 -6px 0 0;
}
.jukenList01 ul li {
	margin: 0 6px 10px 0;
}
.jukenList01 ul li a {
	padding: 2px 10px;
	font-size: 12px;
	border-radius: 2px;
}

.tagList01 {
	padding: 0 0 20px 0;
}
.tagList01 ul {
	margin: 0 -6px 0 0;
}
.tagList01 ul li {
	margin: 0 6px 10px 0;
}
.tagList01 ul li a {
	padding: 2px 13px;
	font-size: 11px;
}

.clmList01 {
	display: block;
	margin: 0;
}
.clmList01 .col {
	width: auto;
	padding: 0 0 30px 0;
}


/*-------------------------------------
 table
-------------------------------------*/
.cmnTable01 table,
.cmnTable01 thead,
.cmnTable01 tbody,
.cmnTable01 tr,
.cmnTable01 th,
.cmnTable01 td,
.cmnTable01 caption {
	display: block;
}
.cmnTable01 table th,
.cmnTable01 table td {
	padding: 8px;
	border: none
}
.cmnTable01 table th {
	width: auto;
}
.cmnTable01 table caption {
	font-size: 11px;
}

.cmnTable02 table {
	width: 300%;
	font-size: 12px;
}
.cmnTable02 table th,
.cmnTable02 table td {
	padding: 7px 4px;
}
.cmnTable02 table th {
	width: auto;
}

.cmnTable03 table {
	font-size: 12px;
}
.cmnTable03 table th,
.cmnTable03 table td {
	padding: 7px 4px;
}
.cmnTable03 table th {
	width: auto;
}

.tableScroll {
	margin: 0 0 50px 0;
	padding: 0;
	overflow-x: auto;
	overflow-y: hidden;
}


/*-------------------------------------
 btn
-------------------------------------*/
.btnBlock01 {
    gap: 1%;
    flex-wrap: wrap;
	padding: 0;
}	
.btnStyle01,
.btnStyle02 {
	margin: 0 0 20px 0;
	width: 100%;
}
	
.btnLayout00 .btnStyle01,.btnLayout3 .btnStyle01,.btnLayout2 .btnStyle01,
.btnLayout00 .btnStyle02,.btnLayout2 .btnStyle02 {
	width: 49%;
}	
.btnStyle01 a,
.btnStyle01 button,
.btnStyle02 a,
.btnStyle02 button {
	max-width: 100%;
	min-height: 45px;
	margin: 0 auto;
	font-size: 13px;
	background-position: right 15px center;
	background-size: 8px auto;
}
.btnStyle01.btnFile a {
	background-size: 12px auto;
}
.btnStyle01.btnBlank a {
	background-size: 13px auto;
}
.btnStyle01.btnBack button {
	background-size: 14px auto;
}


/*-------------------------------------
 box
-------------------------------------*/
.frameBox01,
.frameBox02 {
	margin: 0 0 30px 0;
	padding: 12px;
	border-width: 2px;
}
.frameBox01 .pic,
.frameBox02 .pic {
	top: 12px;
	left: 12px;
	max-width: 60px;
}
.frameBox01 h4,
.frameBox02 h4 {
	min-height: 65px;
	margin: 0 0 5px 0;
	padding: 0 0 0 75px;
	font-size: 18px;
}
.frameBox01.nopic h4,
.frameBox02.nopic h4 {
	padding-left: 0;
}
.frameBox01 .txt p,
.frameBox02 .txt p {
	line-height: 1.8;
}
.frameBox01 .name,
.frameBox02 .name {
	font-size: 11px;
}


/*-------------------------------------
 category
-------------------------------------*/
.categoryMenu {
	padding: 70px 0;
}
.categoryBox {
	padding: 6px;
	border-width: 2px;
}
.categoryTitle {
	padding: 10px;
	font-size: 24px;
}
.categoryList ul {
	display: block;
	padding: 15px 0 0;
}
.categoryList ul li {
	width: auto;
	padding: 0 0 15px 0;
}

.categoryList ul li a {
	min-height: 50px;
	padding: 7px 7px 7px 20px;
	font-size: 18px;
}
.categoryList ul li a:before {
	top: 6px;
	bottom: 6px;
	left: 8px;
	width: 4px;
}


/*-------------------------------------
 flow
-------------------------------------*/
.flowTitle {
	font-size: 16px;
}
.flowBox {
	margin: 0 0 30px 0;
	padding: 20px;
	border: 3px solid #f6f6f6;
}

.flowBlock select {
	max-width: 500px;
	width: 100%;
	height: 45px;
	margin: 0 auto;
	padding: 5px 18px;
	color: #777;
	background-position: right 15px center;
	background-size: 10px auto;
}
.formList01 {
	margin: 0 -15px;
}
.formList01 li {
	width: 50%;
	padding: 5px 15px;
	font-size: 14px;
	text-align: left;
	flex-shrink: 0;
}
.formList01 li span {
	padding: 0 0 0 25px;
}
.formList01 li span:before {
	top: 2px;
	left: 0;
	width: 18px;
	height: 18px;
}
.formList01 li input[type=radio]:checked + span:after {
	top: 7px;
	left: 5px;
	display: block;
	width: 8px;
	height: 8px;
}
.flowGroup01 {
	display: block;
	margin-bottom: -20px;
}
.flowGroup01 .col {
	width: auto;
}
.flowGroup01 .col .arwList01 {
	padding-bottom: 25px;
}

.flowGroup02 .row {
	display: block;
	padding: 15px;
}
.flowGroup02 .head {
	padding: 0 0 10px 0;
}
.flowGroup02 .title {
	font-size: 16px;
}
.flowGroup02 .detail {
	font-size: 14px;
}
.flowGroup02 .price {
	width: auto;
	margin-left: 0;
	padding: 0 0 10px 0;
	font-size: 18px;
}
.flowGroup02 .btn {
	width: auto;
	text-align: right;
}








/*-------------------------------------
 store
-------------------------------------*/
.storeType {
	margin: 0 -5px;
}
.storeType > div {
	width: 50%;
	padding: 5px;
}
.storeType > div > a {
	min-width: inherit;
	min-height: 42px;
	font-size: 16px;
	border-width: 3px;
}
.storeTypeBook a:before {
	left: 18px;
	width: 14px;
	height: 20px;
	margin-top: -10px;
}
.storeTypeDvd a:before {
	left: 16px;
	width: 18px;
	height: 18px;
	margin-top: -9px;
}

.storeCategory {
	padding: 0 0 40px 0;
}
.storeCategory ul {
	flex-wrap: wrap;
}
.storeCategory ul li {
	width: 25%;
}
.storeCategory ul li a {
	padding: 10px 2px;
	font-size: 12px;
}
.storeCategory ul li a:before {
	height: 5px;
}

.storeList01 {
	margin: 0 -10px 0 0;
}
.storeList01 .col {
	width: 50%;
	padding: 0 10px 10px 0;
}
.storeList01 .card {
	padding: 15px 10px 8px;
	border-width: 2px;
}
.storeList01 .title {
	font-size: 14px;
}
.storeList01 .price {
	font-size: 16px;
}
.storeList01 .btnDetail a {
	min-height: 30px;
}
.storeList01 .btnCart a {
	min-height: 38px;
	border-width: 2px;
	background-position: 12px center;
	background-size: 18px auto;
}

/*-------------------------------------
 pamphlet
-------------------------------------*/
.pamphTxt {
    margin-bottom: 0px;
	margin-top: 20px;
	position: inherit;
	right: inherit;
    top: inherit;
    bottom: inherit;
}
	
.pamphTxt a {
    margin-top: 10px;
    font-size: 13px;
    width: 100%;
}	

.pamphCategory {
	padding: 0 0 40px 0;
}
.pamphCategory ul {
	flex-wrap: wrap;
}
.pamphCategory ul li {
	width: 25%;
}
.pamphCategory ul li a {
	padding: 10px 2px;
	font-size: 12px;
}
.pamphCategory ul li a:before {
	height: 5px;
}

.pamphList01 {
	margin: 0 -10px 0 0;
}
.pamphList01 .col {
	width: 50%;
	padding: 0 10px 10px 0;
}
.pamphList01 .card {
	padding: 15px 10px 8px;
	border-width: 2px;
}
.pamphList01 .title {
	font-size: 14px;
}
.pamphList01 .price {
	font-size: 16px;
}
.pamphList01 .btnDetail a {
	min-height: 30px;
}
.pamphList01 .btnSelect a {
	min-height: 38px;
	border-width: 2px;
	background-position: 12px center;
	background-size: 18px auto;
}
.pamphArea {
	position: relative;
	padding-bottom: 200px;
	}
.pamphRequest {
    bottom: 0;
	padding: 15px;
}

.requestBtn a {
	font-size: 16px;
	width: 100%;
	line-height: 50px;
	}
.requestBtn a span {
	font-size: 20px;
	}



.requestClear a {
	font-size: 16px;
}

.requestClear a:before {
	width: 20px;
	height: 20px;
	margin-right: 5px;
}
	
.pamphArea .leadTxt{
	font-size: 14px;
	margin-bottom: 30px;
	}
	
.pamphArea .confirmTxt {
    font-size: 20px;
    margin-bottom: 40px;
}	

/*-------------------------------------
 kouza
-------------------------------------*/
.kouzaType {
	margin: 0 -5px;
	padding: 0 0 25px 0;
}
.kouzaType > div {
	width: 50%;
	padding: 5px;
}
.kouzaType > div > a {
	min-width: inherit;
	min-height: 42px;
	font-size: 14px;
	letter-spacing: 0.05em;
	border-width: 3px;
}
.kouzaType01 a:before {
	left: 12px;
	width: 16px;
	height: 18px;
	margin-top: -9px;
}
.kouzaType02 a:before {
	left: 10px;
	width: 18px;
	height: 19px;
	margin-top: -9px;
}
.kouzaType03 a:before {
	left: 12px;
	width: 17px;
	height: 19px;
	margin-top: -9px;
}
.kouzaType04 a:before {
	left: 12px;
	width: 16px;
	height: 14px;
	margin-top: -7px;
}

.kouzaDate .col {
	padding: 8px 5px;
}
.kouzaDate .date {
	font-size: 14px;
}
.kouzaDate .date em {
	font-size: 22px;
}

.kouzaList01 .box {
	display: block;
	margin: 0 0 20px 0;
	padding: 15px 20px;
	border-width: 2px;
}
.kouzaList01 .juken {
	padding: 0 0 5px 0;
}
.kouzaList01 .juken ul {
	margin: 0 -6px 0 0;
	justify-content: flex-start;
}
.kouzaList01 .juken ul li {
	margin: 0 6px 10px 0;
}
.kouzaList01 .juken ul li a {
	padding: 2px 10px;
	font-size: 12px;
	border-radius: 2px;
}
.kouzaList01 .item {
	padding: 0 0 10px 0;
}
.kouzaList01 .title {
	margin: 0 0 10px 0;
	font-size: 24px;
	line-height: 1.2;
}
.kouzaList01 .catch {
	margin: 0 0 6px 0;
	font-size: 15px;
}
.kouzaList01 .txt {
	margin: 0 0 6px 0;
	font-size: 14px;
}
.kouzaList01 .btn {
	padding: 0;
}
.kouzaList01 .btn a {
	min-height: 38px;
	margin: 0 auto;
	border-width: 2px;
	background-position: 12px center;
	background-size: 18px auto;
}

.kouzaBtnBlock {
	margin: 0 0 60px 0;
	padding: 30px 0;
}
.kouzaBtn01 a {
	max-width: 100%;
	min-height: 80px;
	font-size: 16px;
	text-align: center;
	background-position: right 10px bottom;
	background-size: 26px auto;
}
.kouzaBtn01 a span {
	display: block;
}
.kouzaBtn01 a em {
	display: block;
	padding: 5px 0 0 0;
	font-size: 24px;
}


/*-------------------------------------
 koushi
-------------------------------------*/
.koushiList01 {
	padding: 0 0 20px 0;
}
.koushiList01 .box {
	display: grid;
	grid-template-columns: 40% 1fr;
	grid-template-rows: repeat(2, auto);
	margin: 0 0 30px 0;
	padding: 15px 20px 7px;
	background: #f9f9f9;
}
.koushiList01 figure {
	grid-area: 1 / 1 / 2 / 2;
	padding: 0 15px 0 0;
}
.koushiList01 .item {
	grid-area: 1 / 2 / 2 / 3;
}
.koushiList01 .name {
	display: block;
}
.koushiList01 .name .ja {
	font-size: 20px;
}
.koushiList01 .name .en {
	margin-left: 0;
}
.koushiList01 .profile {
	padding: 5px 0 0 0;
	font-size: 13px;
}
.koushiList01 .detail {
	padding: 15px 0 0 0;
	grid-area: 2 / 1 / 3 / 3;
}
.koushiList01 .detail .txt {
	margin: 0 0 12px 0;
	line-height: 1.7;
}
.koushiList01 .detail .link {
	margin: 0 0 8px 0;
	padding: 0 0 0 12px;
	background-position: 0 6px;
	background-size: 5px auto;
}

.koushiModalBox {
	display: grid;
	grid-template-columns: 40% 1fr;
	grid-template-rows: repeat(2, auto);
	padding: 15px 20px 7px;
}
.koushiModalBox figure {
	grid-area: 1 / 1 / 2 / 2;
	padding: 0 15px 0 0;
}
.koushiModalBox .item {
	grid-area: 1 / 2 / 2 / 3;
}
.koushiModalBox .name {
	display: block;
}
.koushiModalBox .name .ja {
	font-size: 20px;
}
.koushiModalBox .name .en {
	margin-left: 0;
}
.koushiModalBox .profile {
	padding: 5px 0 0 0;
	font-size: 13px;
}
.koushiModalBox .detail {
	padding: 15px 0 0 0;
	grid-area: 2 / 1 / 3 / 3;
}
.koushiModalBox .detail .txt {
	margin: 0 0 12px 0;
	line-height: 1.7;
}
.koushiModalBox .detail .link {
	margin: 0 0 8px 0;
	padding: 0 0 0 12px;
	background-position: 0 6px;
	background-size: 5px auto;
}


/*-------------------------------------
 guidance
-------------------------------------*/
.guidanceList01 .row {
	display: grid;
	grid-template-columns: 1fr 65px;
	grid-template-rows: repeat(4, auto);
	padding: 12px 0;
}
.guidanceList01 .type {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -5px 3px 0;
	grid-area: 1 / 1 / 2 / 3;
}
.guidanceList01 .type li {
	margin: 0 5px 5px 0;
	font-size: 12px;
}
.guidanceList01 .title {
	padding: 0 0 10px 0;
	font-size: 16px;
	grid-area: 2 / 1 / 3 / 3;
}
.guidanceList01 .group {
	width: auto;
	margin: 0;
	font-size: 12px;
	grid-area: 3 / 1 / 4 / 2;
}
.guidanceList01 .group .item {
	display: flex;
	align-items: center;
}
.guidanceList01 .name {
	font-size: 20px;
	white-space: nowrap;
}
.guidanceList01 .profile {
	margin: 0 0 0 10px;
}
.guidanceList01 .date {
	width: auto;
	margin: 5px 0 0 0;
	grid-area: 4 / 1 / 5 / 2;
}
.guidanceList01 .link {
	position: relative;
	top: auto;
	right: auto;
	width: 55px;
	padding: 0 0 0 15px;
	grid-area: 3 / 2 / 5 / 3;
	align-self: flex-end;
	transform: none;
}
.guidanceList01 .link a {
	padding: 42px 0 0 0;
	font-size: 12px;
}
.guidanceList01 .link a:before {
	width: 40px;
	height: 40px;
	background-size: 22px auto;
}


/*-------------------------------------
 voice
-------------------------------------*/
.voiceType {
	border-bottom-width: 2px;
}
.voiceType div {
	width: 48%;
}
.voiceType a {
	min-height: 45px;
	font-size: 15px;
}


/*-------------------------------------
 gokaku
-------------------------------------*/
.gokakuList01 {
	display: block;
}
.gokakuList01 .box {
	grid-template-columns: 72px 1fr;
	width: auto;
	margin: 0 0 30px 0;
	padding: 12px;
	border-width: 2px;
}
.gokakuList01 .pic {
	max-width: 60px;
}
.gokakuList01 .cat {
	top: -11px;
	right: -5px;
	min-width: 100px;
	padding: 2px 5px;
	font-size: 12px;
}
.gokakuList01 .year {
	font-size: 12px;
}
.gokakuList01 h4 {
	font-size: 16px;
}
.gokakuList01 .holder {
	font-size: 12px;
}
.gokakuList01 .num {
	margin-left: 15px;
}
.gokakuList01 .profile {
	font-size: 13px;
}
.gokakuList01 .tag ul li a {
	padding: 2px 7px;
	font-size: 10px;
}

.gokakuBox01 {
	display: block;
	margin: 0 0 30px 0;
	padding: 12px 12px 12px 87px;
	border-width: 2px;
}
.gokakuBox01 .pic {
	top: 12px;
	left: 12px;
	max-width: 60px;
}
.gokakuBox01 .cat {
	top: -11px;
	right: -5px;
	min-width: 100px;
	padding: 2px 5px 2px 10px;
	font-size: 12px;
}
.gokakuBox01 .year {
	font-size: 12px;
}
.gokakuBox01 h4 {
	font-size: 16px;
}
.gokakuBox01 .holder {
	font-size: 12px;
}
.gokakuBox01 .num {
	margin-left: 15px;
}
.gokakuBox01 .profile {
	font-size: 13px;
}
.gokakuBox01 .tag {
	width: auto;
	margin: 0 0 0 -87px;
}
.gokakuBox01 .tag ul {
	justify-content: flex-start;
	margin: 0 -7px 0 0;
}
.gokakuBox01 .tag ul li {
	margin: 7px 0 0 7px;
	padding: 0;
}
.gokakuBox01 .tag ul li a {
	padding: 2px 7px;
	font-size: 10px;
}
	
	

/*-------------------------------------
 カテゴリーTOP　バナー
-------------------------------------*/
/*-------------------------------------
 slide
-------------------------------------*/
.slideArea{
	margin-bottom: 30px;
	}	
	
.courseBnr {
    display: block;
    margin-bottom: 30px;
}
.courseBnr a {
    width: 100%;
    border: 2px solid #27549e;
    padding: 20px;
    font-size: 15px;
    margin-bottom: 10px;
}	


/*-------------------------------------
 search
-------------------------------------*/
.searchTgl {
	margin: 0 0 10px 0;
	padding: 0 10px;
}
.searchTglBtn {
	padding: 10px 38px 10px 0;
	font-size: 11px;
}
.searchTglBtn:before {
	width: 32px;
	height: 32px;
	background-size: 16px auto;
}

.searchClearBtn {
	top: 10px;
	right: 10px;
	padding: 10px 38px 10px 0;
	font-size: 11px;
}
.searchClearBtn:before {
	width: 32px;
	height: 32px;
	background-size: 14px auto;
}

.searchCloseBtn {
	bottom: 10px;
	right: 10px;
	width: 32px;
	height: 32px;
}
.searchCloseBtn:before,
.searchCloseBtn:after {
	top: 7px;
	width: 3px;
	height: 18px;
	margin-left: -1px;
}

.searchBox {
	margin: 0 0 30px 0;
	padding: 30px 20px;
	border-width: 2px;
}
.searchSet {
	padding: 12px 0;
}
.searchSet:first-child {
	padding-right: 0;
}
.searchCheckbox ul {
	margin: 0 -25px 0 0;
}
.searchCheckbox ul li {
	padding: 5px 25px 5px 0;
}
.searchCheckbox ul li span {
	position: relative;
	display: block;
	padding: 0 0 0 23px;
}
.searchCheckbox ul li span:before {
	top: 2px;
	width: 17px;
	height: 17px;
}

.searchList01 {
	display: block;
	margin: 0;
	padding: 0 0 50px;
}
.searchList01 .col {
	width: auto;
	padding: 0;
}
.searchList01 .card {
	padding: 15px 0;
}
.searchList01 .col:nth-last-child(-n+2) .card  {
	border-bottom: none;
}
.searchList01 .col:last-child .card  {
	border-bottom: 1px solid #dcdcdc;
}
.searchList01 .icnCat {
	font-size: 11px;
}
.searchList01 .txt {
	font-size: 16px;
}


/*-------------------------------------
 modal
-------------------------------------*/
.cmnModal01 .modalBox {
	margin: auto;
}
.cmnModal01 .modalBody {
	max-height: 65vh;
	padding: 10px;
}


/*-------------------------------------
 faq
-------------------------------------*/
.faqList .col {
	grid-template-columns: 45px 1fr;
}
.faqList .num {
	width: 45px;
	font-size: 17px;
}
.faqList .title {
	padding: 1px 0 8px 0;
	font-size: 15px;
	font-weight: bold;
}
.faqList .txt {
	font-size: 14px;
}


/*-------------------------------------
 tab
-------------------------------------*/
.tabCategoryList {
	padding: 0 0 40px 0;
}
.tabCategoryList ul {
	flex-wrap: wrap;
}
.tabCategoryList ul li {
	width: 25%;
}
.tabCategoryList ul li em {
	padding: 10px 2px;
	font-size: 12px;
}
.tabCategoryList ul li em:before {
	height: 5px;
}


/*-------------------------------------
 sitemap
-------------------------------------*/
.sitemapList {
	display: block;
	margin: 0;
	padding: 0 0 50px;
	font-size: 14px;
}
.sitemapList .col {
	width: auto;
	padding: 0 0 50px 0;
}




/*-------------------------------------
 img
-------------------------------------*/
.imgC {
	padding: 0 0 20px 0;
}
.imgR,
.imgL {
	max-width: inherit;
	float: none;
	margin: 10px 0 20px 0;
}
.imgR figure,
.imgL figure {
	text-align: center;
}
.imgC figcaption,
.imgR figcaption,
.imgL figcaption {
	padding: 3px 0 0 0;
	font-size: 11px;
}

.imgScroll {
	display: block;
	margin: 0 0 50px 0;
	padding: 0 0 10px 0;
	overflow-x: auto;
	overflow-y: hidden;
}
.imgScroll img {
	max-width: inherit;
}




}



/* PC layout
-------------------------------------------------------------------*/

@media screen and (min-width: 769px) {


.cardList01 a,
.cardList01 .card,
.storeType > div > a,
.kouzaBtn01 a {
	text-decoration: none;
	transition: all 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	backface-visibility: hidden;
}
.cardList01 a:hover,
.cardList01 .card:hover,
.storeType > div > a:hover,
.kouzaBtn01 a:hover {
	opacity: 0.8;
}
.unitBlock01 a {
	transition: all 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	backface-visibility: hidden;
}
.unitBlock01 a:hover {
	opacity: 0.7;
}



}









/*-------------------------------------
 color
-------------------------------------*/
.pageTitle01.catShin,
.catShin .categoryTitle,
.catShin .categoryList ul li a:before,
.barTitle01.catShin:before,
.cardList02.catShin .head a,
.storeCategory ul li.catShin a:before,
.storeCategory ul li.catShin.current a,
.pamphCategory ul li.catShin a:before,
.pamphCategory ul li.catShin.current a,
.tabCategoryList ul li.catShin em:before,
.tabCategoryList ul li.catShin.current em {
	background-color: #009dae;
}
.pageTitle01.catYobishiken,
.catYobishiken .categoryTitle,
.catYobishiken .categoryList ul li a:before,
.barTitle01.catYobishiken:before,
.cardList02.catYobishiken .head a,
.storeCategory ul li.catYobishiken a:before,
.storeCategory ul li.catYobishiken.current a,
.pamphCategory ul li.catYobishiken a:before,
.pamphCategory ul li.catYobishiken.current a,
.tabCategoryList ul li.catYobishiken em:before,
.tabCategoryList ul li.catYobishiken.current em {
	background-color: #27549e;
}
.pageTitle01.catHouka,
.catHouka .categoryTitle,
.catHouka .categoryList ul li a:before,
.barTitle01.catHouka:before,
.cardList02.catHouka .head a,
.storeCategory ul li.catHouka a:before,
.storeCategory ul li.catHouka.current a,
.pamphCategory ul li.catHouka a:before,
.pamphCategory ul li.catHouka.current a,
.tabCategoryList ul li.catHouka em:before,
.tabCategoryList ul li.catHouka.current em {
	background-color: #8ec63f;
}
.pageTitle01.catShihoushosi,
.catShihoushosi .categoryTitle,
.catShihoushosi .categoryList ul li a:before,
.barTitle01.catShihoushosi:before,
.cardList02.catShihoushosi .head a,
.storeCategory ul li.catShihoushosi a:before,
.storeCategory ul li.catShihoushosi.current a,
.pamphCategory ul li.catShihoushosi a:before,
.pamphCategory ul li.catShihoushosi.current a,
.tabCategoryList ul li.catShihoushosi em:before,
.tabCategoryList ul li.catShihoushosi.current em {
	background-color: #f78701;
}
.pageTitle01.catSyaroushi,
.catSyaroushi .categoryTitle,
.catSyaroushi .categoryList ul li a:before,
.barTitle01.catSyaroushi:before,
.cardList02.catSyaroushi .head a,
.storeCategory ul li.catSyaroushi a:before,
.storeCategory ul li.catSyaroushi.current a,
.pamphCategory ul li.catSyaroushi a:before,
.pamphCategory ul li.catSyaroushi.current a,
.tabCategoryList ul li.catSyaroushi em:before,
.tabCategoryList ul li.catSyaroushi.current em {
	background-color: #a32e75;
}
.pageTitle01.catGyousho,
.catGyousho .categoryTitle,
.catGyousho .categoryList ul li a:before,
.barTitle01.catGyousho:before,
.cardList02.catGyousho .head a,
.storeCategory ul li.catGyousho a:before,
.storeCategory ul li.catGyousho.current a,
.pamphCategory ul li.catGyousho a:before,
.pamphCategory ul li.catGyousho.current a,
.tabCategoryList ul li.catGyousho em:before,
.tabCategoryList ul li.catGyousho.current em {
	background-color: #53498e;
}
.pageTitle01.catTakken,
.catTakken .categoryTitle,
.catTakken .categoryList ul li a:before,
.barTitle01.catTakken:before,
.cardList02.catTakken .head a,
.storeCategory ul li.catTakken a:before,
.storeCategory ul li.catTakken.current a,
.pamphCategory ul li.catTakken a:before,
.pamphCategory ul li.catTakken.current a,
.tabCategoryList ul li.catTakken em:before,
.tabCategoryList ul li.catTakken.current em {
	background-color: #264d6c;
}
.pageTitle01.catAiit,
.catAiit .categoryTitle,
.catAiit .categoryList ul li a:before,
.barTitle01.catAiit:before,
.cardList02.catAiit .head a,
.storeCategory ul li.catAiit a:before,
.storeCategory ul li.catAiit.current a,
.pamphCategory ul li.catAiit a:before,
.pamphCategory ul li.catAiit.current a,
.tabCategoryList ul li.catAiit em:before,
.tabCategoryList ul li.catAiit.current em {
	background-color: #326031;
}


.icnCatShin {
	color: #009dae;
	border-color: #009dae;
}
.icnCatYobishiken {
	color: #27549e;
	border-color: #27549e;
}
.icnCatHouka {
	color: #8ec63f;
	border-color: #8ec63f;
}
.icnCatShihoushosi {
	color: #f78701;
	border-color: #f78701;
}
.icnCatSyaroushi {
	color: #a32e75;
	border-color: #a32e75;
}
.icnCatGyousho {
	color: #53498e;
	border-color: #53498e;
}
.icnCatTakken {
	color: #264d6c;
	border-color: #264d6c;
}
.icnCatAiit {
	color: #326031;
	border-color: #326031;
}

/*-------------------------------------
 form
-------------------------------------*/

#formInner {
  max-width: 800px;	
	}
#formInner .sectionTitle01 {
	padding: 0;
	margin: 40px 0;
	}
#formInner h1 {
	margin-bottom: 40px;
	}
#formInner .leadTxt {
	font-size: 18px;
	text-align: left;}
.c-form {
  --main: #27549e;
  --border: #d4dae3;
  --radius: 0px;
  width:100%;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
}

/* 各項目 */
.c-form .form-item{display:flex;flex-direction:column;gap:8px;margin-bottom:40px;}
.c-form label{font-weight:600;font-size:.95rem;color:#1a1a1a;display:block;}
.c-form .form-item .note {font-size: 14px;color: #999;font-weight: 500;}
/* 必須バッジ */
.c-form .req{
  display:inline-block;
  margin-left:.5em;
  padding:.05em .45em;
  font-size:.8em;
  line-height:1.6;
  color: var(--main);
  border:1px solid var(--main);
  border-radius: 999px;
}

/* 2分割・3分割の横並び（SPで縦積み） */
.c-form .inline-2,
.c-form .inline-3{
  display:grid;
  gap:12px;
}
.c-form .inline-2{ grid-template-columns: 1fr 1fr; }
.c-form .inline-3{ grid-template-columns: 1fr 1fr 1fr; }

@media (max-width: 520px){
  .c-form .inline-2,
  .c-form .inline-3{ grid-template-columns: 1fr; }
}

/* 入力・セレクト・テキストエリア */
.c-form input[type="text"],
.c-form input[type="email"],
.c-form input[type="tel"],
.c-form input[type="file"],
.c-form input[type="date"],
.c-form select,
.c-form textarea{
  width:100%;padding:12px 14px;font-size:15px;
  border:1px solid var(--border);border-radius:var(--radius);
  background:#fff;box-sizing:border-box;
  transition:border-color .2s;-webkit-appearance:auto;appearance:auto;
}
.c-form input:focus,.c-form select:focus,.c-form textarea:focus{outline:none;border-color:var(--main);}
.c-form textarea{resize:vertical;}

/* ▼ セレクト矢印（位置合わせ） */
.c-form select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg fill='%2327549e' height='14' viewBox='0 0 24 24' width='14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px;
  padding-right:40px;
}

/* ラジオ・チェック（カスタム） */
.c-form .radio-group,.c-form .checkbox-group{display:flex;flex-wrap:wrap;gap:12px 20px;}
.c-form .radio-group label,.c-form .checkbox-group label{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none;}

.c-form .radio-group input[type="radio"]{
  -webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;
  border:2px solid var(--border);background:#fff;position:relative;transition:border-color .2s;
}
.c-form .radio-group input[type="radio"]:checked{border-color:var(--main);}
.c-form .radio-group input[type="radio"]:checked::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--main);}

.c-form .checkbox-group input[type="checkbox"],
.c-form .form-item.agree input[type="checkbox"]{
  -webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:6px;
  border:2px solid var(--border);background:#fff;position:relative;transition:border-color .2s,background .2s;
}
.c-form .checkbox-group input[type="checkbox"]:checked,
.c-form .form-item.agree input[type="checkbox"]:checked{border-color:var(--main);background:var(--main);}
.c-form .checkbox-group input[type="checkbox"]:checked::after,
.c-form .form-item.agree input[type="checkbox"]:checked::after{
  content:"";position:absolute;left:4px;top:0;width:6px;height:12px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg);
}

/* 同意エリア */
.c-form .form-item.agree{align-items:flex-start;}
.c-form .form-item.agree label{font-weight:500;font-size:.9rem;display:flex;align-items:center;gap:8px;}

.c-form .form-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;}
.c-form button{flex:1;min-width:140px;padding:12px;font-weight:700;border:none;border-radius:var(--radius);cursor:pointer;color:#fff;transition:opacity .2s;}
.c-form .btn-confirm{background:#888;}
.c-form .btn-submit{background:var(--main);}
.c-form .btn-back{background:#888;}
.c-form button:hover{opacity:.7;}

/* --- 見出し（フォームセクションタイトル） --- */
.c-form .formHd {
  position: relative;
  margin: 40px 0 25px 0;
  padding: 5px 5px 5px 25px;
  color: #333;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  background: #f9f9f9;
  border-radius: 4px;
}
.c-form .formHd::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 7px;
  background: var(--main); /* #27549e と同義 */
}
/* --- フォーム説明テキスト --- */
.c-form .formTxt {
  font-size: 16px;
  line-height: 1.7;
  color: #333;
  margin: 0 0 25px 0;
}
.c-form .alertTxt {
  font-size: 14px;
	color: #FF0000;
}
.closeTxt {
  text-align: center;
  margin-top: 5vw;
  font-size: 16px;
  color: #FF0000;
    padding: 10px;
    border: 1px solid #FF0000;	
	}

.addressSet{
	padding: 20px;
	margin: 40px 0;
	background-color: #F7FAFF;
	border-radius: 20px;
	display: flex;
    flex-direction: column;
    gap: 20px;
}

.addressSet .form-item {
    margin-bottom: 0;
}
.addressSet .form-item #zip {
	width: 40%;
}

@media (max-width:480px){
  .c-form .form-buttons{flex-direction:column;}
  .c-form .form-buttons button{width:100%;}
}

