@charset "UTF-8";
section {
	padding: 56px 0;
	border: none;
}
@media only screen and (max-width: 959px) {
	section {
		padding: 32px 0;
	}
}


/**
 * top mv
**/
.main-vis {
	display: block;
	width: 100%;
	max-height: 600px;
	height: calc( 100vh - 80px );
	position: relative;
}
@media only screen and (max-width: 1440px) {
	.main-vis {max-height: 600px;}
}
@media only screen and (max-width: 1280px) {
	.main-vis {max-height: 520px;}
}
@media only screen and (max-width: 1024px) {
	.main-vis {max-height: 480px;}
}
@media only screen and (max-width: 959px) {
	.main-vis {max-height: 400px;}
}
@media only screen and (max-width: 767px) {
	.main-vis {
		max-height: 600px;
		height: calc( 100vh - 50px );
	}
}

.main-vis__inner {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	max-width: 1344px;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
}
@media only screen and (max-width: 1440px) {
	.main-vis__inner {padding: 0 32px;}
}
@media only screen and (max-width: 959px) {
	.main-vis__inner {
		-webkit-align-content: center;
		-ms-flex-line-pack: center;
		align-content: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		padding-left: 24px;
		padding-right: 24px;
	}
}
@media only screen and (max-width: 767px) {
	.main-vis__inner {
		-webkit-align-content: flex-start;
		-ms-flex-line-pack: start;
		align-content: flex-start;
		-webkit-align-items: flex-start;
		-ms-flex-align: start;
		align-items: flex-start;
		padding: 0 16px 32px;
	}
}

.main-vis__txt {
	width: 100%;
	margin: 0;
	z-index: 1;
}
.main-vis__txt .copy {
	width: auto;
	font-size: 20px;
	font-weight: bold;
	line-height: 2;
	letter-spacing: 0.05ex;
}
.main-vis__txt .copy img {
	max-width: 360px;
	width: 100%;
	height: auto;
	vertical-align: bottom;
	margin-top: 5rem;
}

.main-vis__txt h1 {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	max-width: 520px;
	width: 100%;
	margin: 0 0 40px;
}
.main-vis__txt h1 img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
	margin: 0;
}
/*.main-vis__txt p {}*/

@media only screen and (max-width: 1280px) {
	.main-vis__txt .copy {font-size: 16px;}
	.main-vis__txt h1 {
		max-width: 520px;
		margin: 0 0 20px;
	}
	/*.main-vis__txt p {}*/
}
@media only screen and (max-width: 1024px) {
	.main-vis__txt .copy {font-size: 16px;}
	.main-vis__txt h1 {
		max-width: 400px;
		margin: 0 0 20px;
	}
	/*.main-vis__txt p {}*/
}
@media only screen and (max-width: 959px) {
	.main-vis__txt .copy {font-size: 16px;}
	.main-vis__txt h1 {
		max-width: 400px;
		margin: 0 0 20px;
	}
	/*.main-vis__txt p {}*/
}
@media only screen and (max-width: 767px) {
	.main-vis__txt .copy {
		font-size: 16px;
		line-height: 28px;
		text-align: center;
	}
	.main-vis__txt h1 {
		text-align: center;
		max-width: 75vw;
		margin: 0 auto 20px;
		padding-top: 16.66vw;
	}
	/*.main-vis__txt p {}*/
}

.main-vis__cta.btn {
	max-width: 428px;
	margin-top: 40px;
	position: relative;
}
.main-vis__cta.btn::before {
	/*content: '';
	display: block;
	background-image: url();
	background-repeat: no-repeat;
	background-size: contain;
	padding: 24% 56% 0 0;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%,0);*/
}
.main-vis__cta.btn::after {
	/*content: '';
	display: block;
	width: 100%;
	padding: 33.3333% 0 0;*/
}
@media only screen and (max-width: 959px) {
	.main-vis__cta.btn {
		margin: 0;
		padding: 16px 24px 16px;
		position: absolute;
		bottom: 16px;
		left: 50%;
		transform: translate(-50%,0);
	}
	.main-vis__cta.btn::before {
		padding: 16% 40% 0 0;
	}
	.main-vis__cta.btn::after {
		padding: 22% 0 0;
	}
}
@media only screen and (max-width: 767px) {
	.main-vis__cta.btn::before {
		padding: 16% 40% 0 0;
	}
	.main-vis__cta.btn::after {
		padding: 22% 0 0;
	}
}

.main-vis__cta.btn > a {
	border: none;
	box-shadow: 0 4px 0 0 #cb536f;
}
.main-vis__cta.btn > a > em {
	display: block;
	color: #ff9900;
	font-size: 22px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.05ex;
	width: 100%;
}
.main-vis__cta.btn > a > span {
	display: block;
	color: #000;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.05ex;
	width: 100%;
	margin-top: 8px;
}
@media only screen and (max-width: 767px) {
	.main-vis__cta.btn > a > em {
		font-size: 20px;
		letter-spacing: 0.05ex;
	}
	.main-vis__cta.btn > a > span {
		font-size: 14px;
		letter-spacing: 0.05ex;
		margin-top: 8px;
	}
}


.main-vis__form {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	width: 100%;
	max-width: 950px;
	margin: 5% auto 0;
	z-index: 1;
}
@media only screen and (max-width: 959px) {
	.main-vis__form {
		width: calc( 100% + 8px * 2 );
		margin-left: -8px;
		margin-right: -8px;
	}
}
@media only screen and (max-width: 767px) {
	.main-vis__form {
		width: calc( 100% + 8px * 2 );
		margin: 5% -8px 0;
	}
}

.main-vis__select {
	display: block;
	width: calc( ( 100% - 8px * 8 ) / 4 );/* NTOE:4均等幅 */
	height: 80px;
	margin: 0 8px;
	cursor: pointer;
}
.main-vis__select > select {
	border-radius: 10px;
	border: none;
	background: #fff;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1ex;
	width: 100%;
	height: 100%;
	padding: 0 28px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.main-vis__select > select::-ms-expand {display: none}

@media only screen and (max-width: 959px) {
	.main-vis__select {
		width: calc( ( 100% - 8px * 6 ) / 3 );/* NTOE:2均等幅 */
		margin: 16px 8px 0;
		height: 60px;
	}
}
@media only screen and (max-width: 767px) {
	.main-vis__select {
		width: calc( 100% - 8px * 2 );/* NTOE:2均等幅 */
		height: 56px;
		margin: 16px 8px 0;
	}
	.main-vis__select > select {
		font-size: 16px;
		font-weight: 500;
	}
}

.main-vis__btn {
	display: block;
	width: calc( ( 100% - 8px * 8 ) / 4 );/* NTOE:4均等幅 */
	height: 80px;
	margin: 0 8px;
	cursor: pointer;
}
.main-vis__btn > a,
.main-vis__btn > button {
	border-radius: 10px;
	background: linear-gradient(to bottom,#ffc400,#fe7c49);
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1ex;
	width: 100%;
	height: 100%;
	padding: 0 28px;
}

@media only screen and (max-width: 959px) {
	.main-vis__btn {
		width: calc( ( 100% - 8px * 6 ) / 3 );/* NTOE:2均等幅 */
		margin: 16px 8px 0;
		height: 60px;
	}
}
@media only screen and (max-width: 767px) {
	.main-vis__btn {
		width: calc( 100% - 8px * 2 );/* NTOE:2均等幅 */
		height: 56px;
		margin: 16px 8px 0;
	}
	.main-vis__btn > a,
	.main-vis__btn > button {
		font-size: 16px;
		font-weight: 700;
	}
}

.main-vis__slider {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
}

/* NOTE: main-vis 背景の位置 */
.main-vis__background {
	--main-vis--offset: calc( ( 100vw - 1344px ) / 2 - 25% );
	height: 100%;
}
@media only screen and (max-width: 1440px) {
	.main-vis__background {--main-vis--offset: calc( ( 100vw - 1344px ) / 2 );}
}
@media only screen and (max-width: 1280px) {
	.main-vis__background {--main-vis--offset: -6.666vw;}
}
@media only screen and (max-width: 1024px) {
	.main-vis__background {--main-vis--offset: -8.333vw;}
}

/* NOTE: main-vis 背景 */
.main-vis__background.type--01 {
	background: no-repeat #fff;
	background-image: url(../images/main-vis__img.png), url(../images/main-vis__bg.jpg);
	background-position: right var(--main-vis--offset) bottom 0%, center center;
	background-size: auto 100%, cover;
}
.main-vis__background.type--02 {
	background: no-repeat #fff;
	background-image: url(../images/main-vis__img.png), url(../images/main-vis__bg.jpg);
	background-position: right var(--main-vis--offset) bottom 0%, center center;
	background-size: auto 100%, cover;
	opacity: 0.8;
}
.main-vis__background.type--03 {
	background: no-repeat #fff;
	background-image: url(../images/main-vis__img.png), url(../images/main-vis__bg.jpg);
	background-position: right var(--main-vis--offset) bottom 0%, center center;
	background-size: auto 100%, cover;
	opacity: 0.5;
}
@media only screen and (max-width: 1440px) {
	.main-vis__background.type--01 {background-size: auto 90%, cover;}
	.main-vis__background.type--02 {background-size: auto 90%, cover;}
	.main-vis__background.type--03 {background-size: auto 90%, cover;}
}
@media only screen and (max-width: 1280px) {
	.main-vis__background.type--01 {background-size: 66vw auto, cover;}
	.main-vis__background.type--02 {background-size: 66vw auto, cover;}
	.main-vis__background.type--03 {background-size: 66vw auto, cover;}
}
@media only screen and (max-width: 1024px) {
	.main-vis__background.type--01 {background-size: 66vw auto, cover;}
	.main-vis__background.type--02 {background-size: 66vw auto, cover;}
	.main-vis__background.type--03 {background-size: 66vw auto, cover;}
}
@media only screen and (max-width: 767px) {
	.main-vis__background.type--01 {
		background-position: left 50% bottom 0%, center center;
		background-size: auto 280px, cover;
	}
	.main-vis__background.type--02 {
		background-position: left 50% bottom 0%, center center;
		background-size: auto 280px, cover;
	}
	.main-vis__background.type--03 {
		background-position: left 50% bottom 0%, center center;
		background-size: auto 280px, cover;
	}
}

.main-vis__slider .slick-prev {
	left: 10px;
}
.main-vis__slider .slick-next {
	right: 10px;
}


/**
 * top PR
**/
.top__pr {
	background: #77cbfc;
	color: #fff;
	padding: 24px 0;
}
.top__pr--ttl {
	font-size: 30px;
	font-weight: 700;
	line-height: 44px;
	text-align: center;
	margin: 0;
}
.top__pr--txt {
	font-size: 16px;
	line-height: 36px;
	text-align: center;
}
* + .top__pr--txt {margin-top: 0.75em;}
@media only screen and (max-width: 767px) {
	.top__pr {
		padding: 24px 0;
	}
	.top__pr--ttl {
		font-size: 22px;
		line-height: 28px;
		margin: 0;
	}
	.top__pr--txt {
		font-size: 14px;
		line-height: 28px;
	}
	* + .top__pr--txt {margin-top: 0.5em;}
}


/**
 * top PR
**/
.top__related {}

.top__related--bnr {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 -14px;
}
.top__related--bnr > li {
	width: calc( ( 100% - 14px * 6 ) / 3 );
	margin: 28px 14px 0;
}
.top__related--bnr > li > a {
	display: block;
	position: relative;
}
.top__related--bnr > li > a > img {
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
}
.top__related--bnr > li > a > span {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	background: #70c5f6;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 24px;
	width: 33.33%;
	padding: 0 0 0 1em;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: 5;
}
.top__related--bnr > li:nth-child(-n+3) {margin-top: 0;}
@media only screen and (max-width: 1024px) {
	.top__related--bnr {margin: 0 -8px;}
	.top__related--bnr > li {
		width: calc( ( 100% - 8px * 6 ) / 3 );
		margin: 16px 8px 0;
	}
}
@media only screen and (max-width: 767px) {
	.top__related--bnr {margin: 0 -4px;}
	.top__related--bnr > li {
		width: calc( ( 100% - 4px * 4 ) / 2 );
		margin: 8px 4px 0;
	}
}

/**
 * top search
**/
.top__search {
	background: #f5f5f5;
}
.top__search .l-container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	/*background-image: url("../images/top-search__img.png");
	background-repeat: no-repeat;
	background-position: right 48px bottom 128px;
	background-size: 33.33% auto;*/
}
@media (min-width: 960px) {
	.top__search .l-container {margin-top: -40px;}
	.top__search--item {
		width: calc( ( 100% - 64px ) / 2 );
		margin: 40px 0 0;
	}
	.top__search--item.item--wide {width: 100%;}
}
@media only screen and (max-width: 959px) {
	.top__search .l-container {margin-top: -40px;}
	.top__search--item {
		width: calc( ( 100% - 40px ) / 2 );
		margin: 40px 0 0;
	}
	.top__search--item.item--wide {width: 100%;}
}
@media only screen and (max-width: 767px) {
	.top__search .l-container {margin-top: -24px;
    background-image: none;}
	.top__search--item {
		width: 100%;
		margin: 24px 0 0;
	}
	.top__search--item.item--wide {width: 100%;}
}

.top__search--list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
@media (min-width: 960px) {
	.top__search--list {margin: -24px -12px 0;}
	.top__search--list > li {
		width: calc( ( 100% - 12px * 6 ) / 3 );/* 3col */
		margin: 24px 12px 0;
	}
	.top__search--list.col--4 > li {
		width: calc( ( 100% - 12px * 8 ) / 4 );/* 4col */
		margin: 24px 12px 0;
	}
}
@media only screen and (max-width: 959px) {
	.top__search--list {margin: -16px -8px 0;}
	.top__search--list > li {
		width: calc( ( 100% - 8px * 6 ) / 3 );
		margin: 16px 8px 0;
	}
}
@media only screen and (max-width: 767px) {
	.top__search--list {margin: -12px -4px 0;}
	.top__search--list > li {
		width: calc( ( 100% - 4px * 4 ) / 2 );/* 2col */
		margin: 12px 4px 0;
	}
}

.top__search--list > li > .btn {
	max-width: none;
	margin-top: 0;
}
.top__search--list > li > .btn > a:focus,
.top__search--list > li > .btn > a:hover {
	/*border-color: #ffc400;
	background: linear-gradient(to bottom,#ffc400,#fe7c49);
	color: #fff;*/
	font-feature-settings: 'palt';
}


.top__search--map {}
.top__search--map svg {width: 100%;}
@media (min-width: 960px) {
	.top__search--map {margin-top: -80px;}
}
@media only screen and (max-width: 959px) {
	.top__search--map {margin-top: -48px;}
}
@media only screen and (max-width: 767px) {
	.top__search--map {margin-top: -32px;}
}


.top__search--form {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
@media (min-width: 960px) {
	.top__search--form {margin: -46px -18px 0;}
	.top__search--form_item {
		width: calc( ( 100% - 18px * 6 ) / 3 );
		margin: 46px 18px 0;
	}
	.top__search--form_item.item--wide {width: calc( 100% - 18px * 2 );}
}
@media only screen and (max-width: 959px) {
	.top__search--form {margin: -46px -18px 0;}
	.top__search--form_item {
		width: calc( ( 100% - 18px * 6 ) / 3 );
		margin: 46px 18px 0;
	}
	.top__search--form_item.item--wide {width: calc( 100% - 18px * 2 );}
}
@media only screen and (max-width: 767px) {
	.top__search--form {margin: 0;}
	.top__search--form_item {
		width: 100%;
		margin: 0;
	}
	.top__search--form_item + .top__search--form_item {margin-top: 24px;}
	.top__search--form_item.item--wide {width: 100%;}
}

.top__search--form_item {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: flex-end;
	-ms-flex-line-pack: end;
	align-content: flex-end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
}
.top__search--form_item > * {width: 100%;}

.top__search--form_item_title {
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	margin: 0 0 24px;
}
.top__search--form_item_title > em {color: #1ad0d0;}
@media only screen and (max-width: 959px) {
	.top__search--form_item_title {
		font-size: 14px;
		margin: 0 0 14px;
	}
}
@media only screen and (max-width: 767px) {
	.top__search--form_item_title {
		font-size: 14px;
		margin: 0 0 14px;
	}
}

.top__search .select {
	display: block;
	max-width: 640px;
}
.top__search .select > select {
	border-color: #fff;
	background-color: #fff;
	color: inherit;
	font-weight: 600;
	width: 100%;
	height: 100px;
	padding-left: 1.5em;
}
@media only screen and (max-width: 959px) {
	.top__search .select {max-width: 440px;}
	.top__search .select > select {}
}
@media only screen and (max-width: 767px) {
	.top__search .select {max-width: none;}
	.top__search .select > select {height: 56px;}
}


/**
 * top result
**/
.top__result {}

/* NOTE: 不使用要素は以下の要領でコメントアウトしてください。 */
/*.top__result .result__name {display: none;}*/
/*.top__result .result__rate {display: none;}*/
/*.top__result .result__eval {display: none;}*/
/*.top__result .result__txt  {display: none;}*/

/* NOTE: スライド表示にて必要です。 */
.top__result .slick-list {z-index: 2;}


/**
 * top service, top strength
**/

.top__service,
.top__strength {}

.top__service--list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 -14px;
}
.top__service--list > li {
	width: calc( ( 100% - 14px * 6 ) / 3 );
	margin: 28px 14px 0;
}
.top__service--list > li > a {display: block;}
.top__service--list > li > a > img {
	width: 100%;
	height: auto;
}
.top__service--list > li:nth-child(-n+3) {margin-top: 0;}
@media only screen and (max-width: 1024px) {
	.top__service--list {margin: 0 -8px;}
	.top__service--list > li {
		width: calc( ( 100% - 8px * 6 ) / 3 );
		margin: 16px 8px 0;
	}
}
@media only screen and (max-width: 767px) {
	.top__service--list {margin: 0 -4px;}
	.top__service--list > li {
		width: calc( ( 100% - 4px * 4 ) / 2 );
		margin: 8px 4px 0;
	}
}

.top__service--item {
	display: block;
	position: relative;
}
.top__service--desc {
	background-color: rgba(11,17,29,0.4);
	color: #fff;
	padding: 16px;
	position: absolute;
	top: auto;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 5;
}

.top__service--ttl {
	font-size: 24px;
	font-weight: 700;
	line-height: 30px;
}
.top__service--txt {
	font-size: 14px;
	line-height: 22px;
}
* + .top__service--txt {margin-top: 1em;}
@media only screen and (max-width: 767px) {
	.top__service--ttl {
		font-size: 16px;
		line-height: 24px;
	}
	.top__service--txt {
		font-size: 12px;
		line-height: 18px;
	}
}


.top__service--bg {
	position: relative;
	z-index: 1;
}
.top__service--bg::before {
	content: '';
	display: block;
	padding: 126.31% 0 0;
	position: relative;
	z-index: 1;
}
.top__service--bg > img {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	object-fit: cover;
	object-position: center top;
	font-family: 'object-fit: cover; object-position: center top;';
}


/**
 * top knowledge
**/
.top__knowledge {}
.top__knowledge--list.knowledge__list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin: -40px -20px 0;
}
@media (min-width: 960px) {
	
	.top__knowledge--list.knowledge__list {margin: -40px -20px 0;}
	
	/* 1st 2nd list item size */
	.top__knowledge--list .knowledge__item:nth-child(1),
	.top__knowledge--list .knowledge__item:nth-child(2) {
		width: calc( ( 100% - 20px * 4 ) / 2 );
		margin: 40px 20px 0;
	}
	
	/* other list item size */
	.top__knowledge--list .knowledge__item {
		width: calc( ( 100% - 20px * 8 ) / 4 );
		margin: 40px 20px 0;
	}
	
	/* 1st 2nd image aspect ratio */
	.top__knowledge--list .knowledge__item:nth-child(1) .knowledge__img::before {padding: 75% 0 0;}
	.top__knowledge--list .knowledge__item:nth-child(2) .knowledge__img::before {padding: 75% 0 0;}
}
@media (min-width: 768px) and (max-width: 959px) {
	.top__knowledge--list.knowledge__list {margin: -24px -8px 0;}
	
	/* 1st list item size */
	.top__knowledge--list .knowledge__item:nth-child(1) {
		width: calc( 100% - 8px * 2 );
		margin: 24px 8px 0;
	}
	
	/* other list item size */
	.top__knowledge--list .knowledge__item {
		width: calc( ( 100% - 8px * 6 ) / 3 );
		margin: 24px 8px 0;
	}
	
	/* 1st 2nd image aspect ratio */
	.top__knowledge--list .knowledge__item:nth-child(1) .knowledge__img::before {padding: 75% 0 0;}
}
@media only screen and (max-width: 767px) {
	.top__knowledge--list.knowledge__list {margin: -16px -8px 0;}
	.top__knowledge--list .knowledge__item {
		width: calc( ( 100% - 8px * 4 ) / 2 );
		margin: 16px 8px 0;
	}
}





/**
 * top news
**/
.top__news {}
.top__news--list {}

.top__news--list > li > a,
.top__news--list > li {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.top__news--list > * + li {margin-top: 20px;}
.top__news--list > li > a {width: 100%;}
.top__news--list > li > a:hover {
	text-decoration: underline;
}

.top__news--list > li time {
	display: block;
	font-size: 16px;
	line-height: 2;
	width: 120px;
}
.top__news--list > li p {
	display: block;
	font-size: 16px;
	line-height: 2;
	width: calc( 100% - 120px );
}
@media only screen and (max-width: 959px) {
	.top__news--list > li time {
		font-size: 14px;
		width: 96px;
	}
	.top__news--list > li p {
		font-size: 14px;
		width: calc( 100% - 96px );
	}
}
@media only screen and (max-width: 767px) {
	.top__news--list > li time {
		font-size: 12px;
		width: 96px;
	}
	.top__news--list > li p {
		font-size: 12px;
		width: calc( 100% - 96px );
	}
}


/**
 * top banner
**/
.top__bnr {
	padding: 0 0 160px;
}
@media only screen and (max-width: 767px) {
	.top__bnr {
		padding: 0 0 80px;
	}
}
.top__bnr-box {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
.top__bnr-box > * {width: 100%;}
.top__bnr-box > * + * {margin-top: 16px;}

.top__bnr-box a {
	display: block;
	max-width: 970px;
}

/**
 * top feature
**/
.feature {}
.feature__list {}
.feature__item {
	width: 18.4%;
	margin-right: 2%;
}
@media screen and (min-width: 768px) {
	.feature__item:nth-child(5n) {
		margin-right: 0;
	}
}
.feature__img {}
.feature__img img {
	height: 16rem;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	border-radius: .5rem;
}
.feature__desc {
	margin-top: 1rem;
}
.feature__ttl {
	font-weight: 700
}
.feature__txt {
	margin-top: .5rem;
}
@media screen and (max-width: 767px) {
	.feature__item {
		width: 48%;
		margin-right: 4%;
		margin-bottom: 2rem;
	}
	.feature__item:nth-child(2n) {
		margin-right: 0;
	}
}
