@charset "UTF-8";
/* トップページ */
.header__txt {
	font-weight: normal;
}

/* contents area */
.contents {
	width: auto;
	padding: 0;
}

.lead {
	padding: 1.5em 0 2em;
	background: #fff;
	font-size: 18px;
	line-height: 48px;
}
.lead strong {
	font-size: 24px;
	font-weight: normal;
}

.indexttl {
	padding: 1.2em 0 0.4em;
	font-size: 24px;
	line-height: 1em;
	color: #3bade4;
}
.indexttl__icon {
	margin: -0.2em 0.3em 0 0;
	vertical-align: middle;
}

.outline {
	padding: 0 0 50px;
}
.outline .indexttl {
	padding: 1.2em 0 0;
}
.outline .inner {
	display: flex;
	justify-content: space-between;
}
.outline__illust {
	width: 243px;
	padding: 0 0 15px 4px;
}
.outline__work {
	width: 725px;
	padding: 75px 6px 15px 0;
	text-align: left;
}
.outline__work .acordion_switch {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 99px;
	padding: 0 30px 0 20px;
	background: #fff;
	border-radius: 30px;
	box-shadow: 0 0 9px rgba(0, 0, 0, 0.15);
	cursor: pointer;
}
.outline__work .acordion_switch strong {
	width: 7em;
	font-size: 28px;
	line-height: 33px;
	color: #3bade4;
}
.outline__work .acordion_switch .boldtttl {
	width: 7.8em;
	font-size: 28px;
	line-height: 33px;
	color: #3bade4;
}
.outline__work .acordion_switch small {
	width: 404px;
	font-size: 18px;
	font-weight: bold;
	line-height: 24px;
}
.outline__work .acordion {
	display: none;
}
.outline__work:target .acordion {
	display: block;
}
.outline__work__txt {
	padding: 1em 30px;
	font-size: 18px;
	line-height: 24px;
}
.outline__work__notice {
	padding: 0.5em 30px 1em;
	text-indent: -1em;
	font-size: 18px;
	line-height: 24px;
}
.outline__work__continue {
	padding: 10px 0 0 460px;
}
.outline__work .description {
	width: 100%;
	border-collapse: collapse;
}
.outline__work .description tr {
	background: #fff;
}
.outline__work .description tr:nth-child(2n) {
	background: #e0e2e0;
}
.outline__work .description th {
	position: relative;
	width: 363px;
	padding: 0.4em 22px 0.4em 30px;
	box-sizing: border-box;
	font-size: 18px;
	font-weight: normal;
	line-height: 20px;
}
.outline__work .description th:after {
	content: "";
	position: absolute;
	display: block;
	right: 0;
	bottom: 50%;
	transform: translateY(50%);
	width: 22px;
	height: 18px;
	background: url(../common/img/arrow01.png) no-repeat center center;
}
.outline__work .description td {
	width: 362px;
	padding: 0.4em 30px 0.4em 16px;
	box-sizing: border-box;
	font-size: 18px;
	font-weight: bold;
	line-height: 20px;
}

.faq {
	background: #3bade4;
}
.faq .indexttl {
	color: #fff;
}
.faq .inner {
	display: flex;
	justify-content: space-between;
	padding: 0 8px 48px;
	box-sizing: border-box;
}
.faq__genre {
	position: relative;
	width: 485px;
	padding: 15px 27px 73px;
	background: #fff;
	border-radius: 30px;
	box-sizing: border-box;
}
.faq__genre__ttl {
	padding: 0 0 18px;
}
.faq__genre__txt {
	margin: 0 0 0 1em;
	padding: 0 0 0.2em;
	list-style: disc outside;
	font-size: 14px;
	line-height: 1.4em;
	color: #17499d;
	text-align: left;
}
.faq__genre__txt a {
	color: #17499d;
	text-decoration: underline;
}
.faq__genre__txt a:hover {
	color: #ff7000;
}
.faq__genre__more {
	position: absolute;
	right: 27px;
	bottom: 22px;
	width: 182px;
}
.faq__genre__more .morebtn,
.outline__work__continue .morebtn {
	position: relative;
	display: block;
	padding: 0 1em 0 0;
	background: #8fc41e;
	border-radius: 18px;
	box-sizing: border-box;
	font-size: 20px;
	font-weight: bold;
	line-height: 36px;
	text-align: center;
	color: #fff;
}
.faq__genre__more .morebtn:after,
.outline__work__continue .morebtn:after {
	content: "";
	position: absolute;
	display: block;
	right: 17px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 0 9px 12px;
	border-color: transparent transparent transparent #fff;
}
.faq__genre__more .morebtn:hover,
.outline__work__continue .morebtn:hover {
	background: #ff7000;
}
.faq__genre2 {
	position: relative;
	width: 1000px;
	padding: 15px 27px 5px;
	background: #fff;
	border-radius: 30px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
}

.news {
	padding: 0 0 30px;
	background: #fff;
}
.news__regular {
	display: flex;
	justify-content: space-between;
	padding: 12px 0;
}
.news__regular__item {
	display: flex;
	justify-content: space-between;
	width: 484px;
	border-top: 1px dotted #555453;
}
.news__item {
	border-top: 1px dashed #555453;
}
.news__anker {
	display: flex;
	justify-content: start;
	position: relative;
	padding: 12px 0;
}
.news__anker:before {
	content: "";
	position: absolute;
	display: block;
	left: 0;
	top: 0;
	width: 0;
	height: 100%;
	background: rgba(59, 173, 228, 0.1);
	transition: all .6s;
}
.news__anker:hover {
	color: #040000;
}
.news__anker:hover:before {
	width: 100%;
	transition: all .6s;
}
.news__photo {
	position: relative;
	width: 139px;
	padding: 0 20px 0 0;
}
.news__photo .fit {
	height: 139px;
	object-fit: cover;
}
.news__detail {
	position: relative;
	font-size: 14px;
	line-height: 24px;
	text-align: left;
}
.news__detail dt {
	font-weight: bold;
}
.news__detail dt small {
	font-weight: normal;
}

.profile {
	padding: 55px 0;
	background: #3bade4;
}
.profile .inner {
	padding: 0 30px 40px;
	background: #fff;
	border-radius: 30px;
	box-sizing: border-box;
	overflow: hidden;
}
.profile .indexttl {
	padding: 1.2em 0 0.8em;
}
.profile__photo {
	display: flex;
	justify-content: space-between;
	padding: 0 0 36px;
}
.profile__photo__shot {
	width: 293px;
}
.profile__map {
	width: 171px;
	padding: 0 35px 0 0;
	float: left;
}
.profile .contents__txt strong {
	color: #009944;
}
.profile__nav {
	padding: 20px 0 0;
	text-align: right;
}
.profile__nav .navbtn {
	display: inline-block;
	position: relative;
	width: 219px;
	margin: 0 9px;
	padding: 0 1em 0 0;
	background: #8fc41e;
	border-radius: 18px;
	box-sizing: border-box;
	font-size: 16px;
	font-weight: bold;
	line-height: 36px;
	color: #fff;
	text-align: center;
}
.profile__nav .navbtn + .navbtn {
	background: #ff7000;
}
.profile__nav .navbtn:after {
	content: "";
	position: absolute;
	display: block;
	right: 17px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 11px;
	border-color: transparent transparent transparent #fff;
}
.profile__nav .navbtn:hover {
	background: #3bade4;
}

/* ------------------ */
/* スマートフォン */
/* ------------------ */
@media screen and (max-width: 767px) {
  /* contents area */
.lead {
	padding: 1.5em 5% 2em;
	font-size: 4vw;
	line-height: 2em;
	text-align: left;
}
.lead strong {
	display: inline-block;
	margin: 0 0 1em;
	font-size: 4.3vw;
	text-align: center;
}

.indexttl {
	font-size: 6vw;
}
.indexttl__icon {
	width: 10vw;
}

.outline {
	padding: 0 0 8vw;
}
.outline .indexttl {
	padding: 1.2em 0 1em;
}
.outline .inner {
	display: block;
	justify-content: unset;
	padding: 0 5% 5vw;
}
.outline__illust {
	width: 50%;
	margin: 0 0 -7vw;
	padding: 0 25%;
}
.outline__work {
	position: relative;
	width: auto;
	padding: 0;
}
.outline__work .acordion_switch {
	flex-wrap: wrap;
	align-items: flex-start;
	height: auto;
	padding: 3vw 5vw;
	background: #fff;
	border-radius: 3vw;
	box-shadow: 0 0 2vw rgba(0, 0, 0, 0.15);
	cursor: pointer;
}
.outline__work .acordion_switch .arrow {
	width: 8vw;
}
.outline__work .acordion_switch strong {
	width: 86%;
	margin-top: 0.1em;
	font-size: 6vw;
	line-height: 1.2em;
}
.outline__work .acordion_switch small {
	display: inline-block;
	width: 100%;
	margin-top: 0.5em;
	font-size: 4vw;
	font-weight: normal;
	line-height: 1.4em;
}
.outline__work__txt {
	padding: 1em 5%;
	font-size: 4vw;
	line-height: 1.6em;
}
.outline__work__notice {
	padding: 1em 5% 0;
	font-size: 3.8vw;
	line-height: 1.4em;
}
.outline__work__continue {
	padding: 3vw 0 0;
}
.outline__work .description {
	text-align: center;
}
.outline__work .description tr {
	display: block;
}
.outline__work .description th {
	display: block;
	width: 100%;
	padding: 0.5em 0 1.2em;
	font-size: 4vw;
	line-height: 1.4em;
}
.outline__work .description th:after {
	right: 50%;
	bottom: 0;
	transform: translateX(50%) rotate(90deg);
	width: 4.4vw;
	height: 3.6vw;
	background-size: contain;
}
.outline__work .description td {
	display: block;
	width: 100%;
	padding: 0.4em 0 0.5em;
	font-size: 4vw;
	line-height: 1.4em;
}
.outline .contents__apply {
	padding: 5vw 5% 0;
}

.faq .inner {
	display: block;
	justify-content: unset;
	padding: 0 5% 5vw;
}
.faq__genre {
	width: auto;
	margin: 0 0 5vw;
	padding: 5vw 5%;
	border-radius: 4vw;
}
.faq__genre__ttl {
	padding: 0 0 5vw;
}
.faq__genre__txt {
	padding: 0 0 0.6em;
	font-size: 4vw;
	line-height: 1.6em;
}
.faq__genre__more {
	position: relative;
	right: auto;
	bottom: auto;
	width: auto;
	padding: 3vw 10vw 0;
}
.faq__genre__more .morebtn,
.outline__work__continue .morebtn {
	border-radius: 5vw;
	font-size: 4.2vw;
	line-height: 10vw;
}
.faq__genre__more .morebtn:after,
.outline__work__continue .morebtn:after {
	content: "";
	position: absolute;
	display: block;
	right: 1em;
	border-width: 1.8vw 0 1.8vw 2.4vw;
}
.faq__genre2 {
	width: auto;
	margin: 0 0 5vw;
	padding: 5vw 5%;
	border-radius: 4vw;
	display: block;
}

.news {
	padding: 0 0 3vw;
}
.news__regular {
	display: block;
	justify-content: unset;
}
.news__regular__item {
	width: auto;
	border-top: 0.4vw dotted #555453;
}
.news__item {
	border-top: 0.4vw dashed #555453;
}
.news__anker {
	padding: 3vw 3%;
}
.news__photo {
	width: 28vw;
	padding: 0 3vw 0 0;
}
.news__photo .fit {
	height: 28vw;
}
.news__detail {
	width: 65vw;
	font-size: 3.8vw;
	line-height: 1.53em;
}
.news__detail dd {
	font-size: 3.3vw;
}

.profile {
	padding: 5vw 5%;
}
.profile .inner {
	padding: 0 5% 5vw;
	border-radius: 4vw;
}
.profile__photo {
	display: block;
	justify-content: unset;
	padding: 0 0 3vw;
}
.profile__photo__shot {
	width: auto;
	margin: 0 15% -5vw;
}
.profile__photo__shot:nth-child(2n) {
	margin: 0 30% -12vw 0;
}
.profile__photo__shot:last-child {
	margin: 0 0 0 30%;
}
.profile__map {
	width: 35%;
	margin: -10vw 0 -3vw 0;
	padding: 0 3% 2vw 0;
}
.profile__nav {
	padding: 2vw 0 0;
	text-align: center;
}
.profile__nav .navbtn {
	display: block;
	width: auto;
	margin: 0 10vw;
	border-radius: 5vw;
	font-size: 4.2vw;
	line-height: 10vw;
}
.profile__nav .navbtn + .navbtn {
	margin: 3vw 10vw 0;
}
.profile__nav .navbtn:after {
	content: "";
	position: absolute;
	display: block;
	right: 1em;
	border-width: 1.8vw 0 1.8vw 2.4vw;
}
}
